Skip to contentSkip to conversation

LED/MIPS: Move SEAD3 LED driver to where it belongs.

PATCH In review Ralf Baechle 6 participants 7 messages Aug 3, 2015 – Sep 21, 2015

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 LED/MIPS: Move SEAD3 LED driver to where it belongs.

Fixes the following randconfig problem

leds-sead3.c:(.text+0x7dc): undefined reference to led_classdev_unregister' leds-sead3.c:(.text+0x7e8): undefined reference to led_classdev_unregister'

Cc Bryan Wu <[email protected]>
Cc Richard Purdie <[email protected]>
Cc Jacek Anaszewski <[email protected]>
Cc Markos Chandras <[email protected]>
---
 arch/mips/mti-sead3/Makefile                       |  2 --
 drivers/leds/Kconfig                               | 10 ++++++++++
 drivers/leds/Makefile                              |  1 +
 {arch/mips/mti-sead3 => drivers/leds}/leds-sead3.c |  1 +
 4 files changed, 12 insertions(+), 2 deletions(-)
arch/mips/mti-sead3/Makefile +0 -2
index 2e52cbd..7a584e0 100644
@@ -12,6 +12,4 @@ obj-y				:= sead3-lcd.o sead3-display.o sead3-init.o \
 				   sead3-int.o sead3-platform.o sead3-reset.o \
 				   sead3-setup.o sead3-time.o
 
-obj-y				+= leds-sead3.o
-
 obj-$(CONFIG_EARLY_PRINTK)	+= sead3-console.o
drivers/leds/Kconfig +10 -0
index 9ad35f7..531729c 100644
@@ -550,6 +550,16 @@ config LEDS_KTD2692
 
 	  Say Y to enable this driver.
 
+config LEDS_SEAD3
+	tristate "LED support for the MIPS SEAD 3 board"
+	depends on LEDS_CLASS && MIPS_SEAD3
+	help
+	  Say Y here to include support for the FLED and PLED LEDs on SEAD3 eval
+	  boards.
+
+	  This driver can also be built as a module. If so the module
+	  will be called leds-sead3.
+
 comment "LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)"
 
 config LEDS_BLINKM
drivers/leds/Makefile +1 -0
index 8d6a24a..a976161 100644
@@ -65,6 +65,7 @@ obj-$(CONFIG_LEDS_VERSATILE)		+= leds-versatile.o
 obj-$(CONFIG_LEDS_MENF21BMC)		+= leds-menf21bmc.o
 obj-$(CONFIG_LEDS_PM8941_WLED)		+= leds-pm8941-wled.o
 obj-$(CONFIG_LEDS_KTD2692)		+= leds-ktd2692.o
+obj-$(CONFIG_LEDS_SEAD3)		+= leds-sead3.o
 
 # LED SPI Drivers
 obj-$(CONFIG_LEDS_DAC124S085)		+= leds-dac124s085.o
drivers/leds/leds-sead3.c renamed from arch/mips/mti-sead3/leds-sead3.c +1 -0
similarity index 99%
rename from arch/mips/mti-sead3/leds-sead3.c
rename to drivers/leds/leds-sead3.c
index c938cee..eb97a32 100644
@@ -59,6 +59,7 @@ static int sead3_led_remove(struct platform_device *pdev)
 {
 	led_classdev_unregister(&sead3_pled);
 	led_classdev_unregister(&sead3_fled);
+
 	return 0;
 }
 
#1 lore raw

Hello.

Quoted 12 lines · Ralf Baechle

Fixes the following randconfig problem

leds-sead3.c:(.text+0x7dc): undefined reference to led_classdev_unregister' leds-sead3.c:(.text+0x7e8): undefined reference to led_classdev_unregister'

Cc Bryan Wu <[email protected]>
Cc Richard Purdie <[email protected]>
Cc Jacek Anaszewski <[email protected]>
Cc Markos Chandras <[email protected]>

[...]

drivers/leds/leds-sead3.c

Quoted 7 lines
drivers/leds/leds-sead3.c renamed from arch/mips/mti-sead3/leds-sead3.c +0 -0
similarity index 99%
rename from arch/mips/mti-sead3/leds-sead3.c
rename to drivers/leds/leds-sead3.c
index c938cee..eb97a32 100644

Oh, so you started to use -M finally. :-)

drivers/leds/leds-sead3.c static int sead3_led_remove(struct platform_device *pdev) · line 62

Quoted 5 lines
drivers/leds/leds-sead3.c renamed from arch/mips/mti-sead3/leds-sead3.c +1 -0
@@ -59,6 +59,7 @@ static int sead3_led_remove(struct platform_device *pdev)
  {
  	led_classdev_unregister(&sead3_pled);
  	led_classdev_unregister(&sead3_fled);
+

Unrelated white space change?

drivers/leds/leds-sead3.c static int sead3_led_remove(struct platform_device *pdev) · line 64

Quoted 2 lines
drivers/leds/leds-sead3.c renamed from arch/mips/mti-sead3/leds-sead3.c +0 -0
  	return 0;
  }

MBR, Sergei

#2 lore raw

Hi Ralf, Sergei,

Quoted 31 lines · Sergei Shtylyov

Hello.

Quoted 14 lines · Ralf Baechle

Fixes the following randconfig problem

leds-sead3.c:(.text+0x7dc): undefined reference to led_classdev_unregister' leds-sead3.c:(.text+0x7e8): undefined reference to led_classdev_unregister'

Cc Bryan Wu <[email protected]>
Cc Richard Purdie <[email protected]>
Cc Jacek Anaszewski <[email protected]>
Cc Markos Chandras <[email protected]>

[...]

drivers/leds/leds-sead3.c

Quoted 7 lines
drivers/leds/leds-sead3.c renamed from arch/mips/mti-sead3/leds-sead3.c +0 -0
similarity index 99%
rename from arch/mips/mti-sead3/leds-sead3.c
rename to drivers/leds/leds-sead3.c
index c938cee..eb97a32 100644

Oh, so you started to use -M finally. :-)

Quoted 8 lines

drivers/leds/leds-sead3.c static int sead3_led_remove(struct platform_device · line 63

Quoted 6 lines
drivers/leds/leds-sead3.c renamed from arch/mips/mti-sead3/leds-sead3.c +1 -0
@@ -59,6 +59,7 @@ static int sead3_led_remove(struct platform_device
 *pdev)
  {
      led_classdev_unregister(&sead3_pled);
      led_classdev_unregister(&sead3_fled);
+

Unrelated white space change?

Ralf, please split this change to the separate patch. You could also reorder include directives to be arranged in an alphabetical order.

Quoted 10 lines

drivers/leds/leds-sead3.c static int sead3_led_remove(struct platform_device *pdev) · line 64

Quoted 2 lines
drivers/leds/leds-sead3.c renamed from arch/mips/mti-sead3/leds-sead3.c +0 -0
      return 0;
  }

MBR, Sergei

--
To unsubscribe from this list: send the line "unsubscribe linux-leds" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

Signature · 2 lines
Best Regards,
Jacek Anaszewski
#3 lore raw
In reply to Ralf Baechle

Hi Ralf,

This patch got stuck somewhere in my mailbox and just
recently showed up to my eyes again, so I applied it to v4.3-rc1, but when tried to compile-test it, I got following errors:

arch/mips/kernel/signal.c: In function 'sc_to_extcontext':
arch/mips/kernel/signal.c:143:12: error: 'struct ucontext' has no member named 'uc_extcontext'

  return &uc->uc_extcontext;
            ^

In file included from include/linux/poll.h:11:0,
from include/linux/ring_buffer.h:7,
from include/linux/trace_events.h:5,
from include/trace/syscall.h:6,
from include/linux/syscalls.h:81,
from arch/mips/kernel/signal.c:26:
arch/mips/kernel/signal.c: In function 'save_msa_extcontext':
arch/mips/kernel/signal.c:171:40: error: dereferencing pointer to incomplete type

   err = __put_user(read_msa_csr(), &msa->csr);
                                        ^
./arch/mips/include/asm/uaccess.h:441:15: note: in definition of macro '__put_user_nocheck'
  __typeof__(*(ptr)) __pu_val;     \
               ^
arch/mips/kernel/signal.c:171:9: note: in expansion of macro '__put_user'
   err = __put_user(read_msa_csr(), &msa->csr);
         ^
arch/mips/kernel/signal.c:171:40: error: dereferencing pointer to incomplete type
   err = __put_user(read_msa_csr(), &msa->csr);
                                        ^
./arch/mips/include/asm/uaccess.h:430:10: note: in definition of macro '__put_user_common'
  switch (size) {       \
          ^

./arch/mips/include/asm/uaccess.h:446:3: note: in expansion of macro '__put_kernel_common'
__put_kernel_common(ptr, size); \
^
./arch/mips/include/asm/uaccess.h:214:2: note: in expansion of macro '__put_user_nocheck'
__put_user_nocheck((x), (ptr), sizeof(*(ptr)))
^
arch/mips/kernel/signal.c:171:9: note: in expansion of macro '__put_user'

   err = __put_user(read_msa_csr(), &msa->csr);
         ^
arch/mips/kernel/signal.c:171:40: error: dereferencing pointer to incomplete type
   err = __put_user(read_msa_csr(), &msa->csr);
                                        ^
./arch/mips/include/asm/uaccess.h:241:51: note: in definition of macro '__m'
 #define __m(x) (*(struct __large_struct __user *)(x))
                                                   ^

-- cut listing here - it is much longer --

Compilation succeeds with v4.2-rc8.
Is it a known issue?

Signature · 2 lines
Best Regards,
Jacek Anaszewski
Quoted 83 lines · Ralf Baechle

Fixes the following randconfig problem

leds-sead3.c:(.text+0x7dc): undefined reference to led_classdev_unregister' leds-sead3.c:(.text+0x7e8): undefined reference to led_classdev_unregister'

Cc Bryan Wu <[email protected]>
Cc Richard Purdie <[email protected]>
Cc Jacek Anaszewski <[email protected]>
Cc Markos Chandras <[email protected]>
---
  arch/mips/mti-sead3/Makefile                       |  2 --
  drivers/leds/Kconfig                               | 10 ++++++++++
  drivers/leds/Makefile                              |  1 +
  {arch/mips/mti-sead3 => drivers/leds}/leds-sead3.c |  1 +
  4 files changed, 12 insertions(+), 2 deletions(-)
arch/mips/mti-sead3/Makefile +0 -2
index 2e52cbd..7a584e0 100644
@@ -12,6 +12,4 @@ obj-y				:= sead3-lcd.o sead3-display.o sead3-init.o \
  				   sead3-int.o sead3-platform.o sead3-reset.o \
  				   sead3-setup.o sead3-time.o
 
-obj-y				+= leds-sead3.o
-
  obj-$(CONFIG_EARLY_PRINTK)	+= sead3-console.o
drivers/leds/Kconfig +10 -0
index 9ad35f7..531729c 100644
@@ -550,6 +550,16 @@ config LEDS_KTD2692
 
  	  Say Y to enable this driver.
 
+config LEDS_SEAD3
+	tristate "LED support for the MIPS SEAD 3 board"
+	depends on LEDS_CLASS && MIPS_SEAD3
+	help
+	  Say Y here to include support for the FLED and PLED LEDs on SEAD3 eval
+	  boards.
+
+	  This driver can also be built as a module. If so the module
+	  will be called leds-sead3.
+
  comment "LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)"
 
  config LEDS_BLINKM
drivers/leds/Makefile +1 -0
index 8d6a24a..a976161 100644
@@ -65,6 +65,7 @@ obj-$(CONFIG_LEDS_VERSATILE)		+= leds-versatile.o
  obj-$(CONFIG_LEDS_MENF21BMC)		+= leds-menf21bmc.o
  obj-$(CONFIG_LEDS_PM8941_WLED)		+= leds-pm8941-wled.o
  obj-$(CONFIG_LEDS_KTD2692)		+= leds-ktd2692.o
+obj-$(CONFIG_LEDS_SEAD3)		+= leds-sead3.o
 
  # LED SPI Drivers
  obj-$(CONFIG_LEDS_DAC124S085)		+= leds-dac124s085.o
drivers/leds/leds-sead3.c renamed from arch/mips/mti-sead3/leds-sead3.c +1 -1
similarity index 99%
rename from arch/mips/mti-sead3/leds-sead3.c
rename to drivers/leds/leds-sead3.c
index c938cee..eb97a32 100644
@@ -59,6 +59,7 @@ static int sead3_led_remove(struct platform_device *pdev)
  {
  	led_classdev_unregister(&sead3_pled);
  	led_classdev_unregister(&sead3_fled);
+
  	return 0;
  }
 
--

To unsubscribe from this list: send the line "unsubscribe linux-leds" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

#4 lore raw
Quoted 11 lines · Jacek Anaszewski

Hi Ralf,

This patch got stuck somewhere in my mailbox and just
recently showed up to my eyes again, so I applied it to v4.3-rc1, but when tried to compile-test it, I got following errors:

arch/mips/kernel/signal.c: In function 'sc_to_extcontext':
arch/mips/kernel/signal.c:143:12: error: 'struct ucontext' has no member named 'uc_extcontext'

  return &uc->uc_extcontext;
            ^

<snip...>

Quoted 2 lines

Compilation succeeds with v4.2-rc8.
Is it a known issue?

Hi Jacek,

The patches adding the MSA extended context added a MIPS-specific ucontext.h, where we were previously were using the generic one. Kbuild doesn't automatically remove the old generated header that includes the generic version, so could you try either cleaning your working tree or removing arch/mips/include/generated and trying again?

Thanks,
Paul

#5 lore raw
Quoted 18 lines · Paul Burton
Quoted 11 lines · Jacek Anaszewski

Hi Ralf,

This patch got stuck somewhere in my mailbox and just
recently showed up to my eyes again, so I applied it to v4.3-rc1, but when tried to compile-test it, I got following errors:

arch/mips/kernel/signal.c: In function 'sc_to_extcontext':
arch/mips/kernel/signal.c:143:12: error: 'struct ucontext' has no member named 'uc_extcontext'

  return &uc->uc_extcontext;
            ^

<snip...>

Quoted 2 lines

Compilation succeeds with v4.2-rc8.
Is it a known issue?

Quoted 7 lines

Hi Jacek,

The patches adding the MSA extended context added a MIPS-specific ucontext.h, where we were previously were using the generic one. Kbuild doesn't automatically remove the old generated header that includes the generic version, so could you try either cleaning your working tree or removing arch/mips/include/generated and trying again?

I stumbled on that problem as well before, do you think there is anything that could be done to track down the dependency here and re-generate arch/mips/include/generated/ucontext.h? This build error is not that easy to correlate with changes in ucontext.h.

Thanks!

Signature · 1 line
Florian
#6 lore raw
In reply to Paul Burton

Hi Paul,

Quoted 18 lines · Paul Burton
Quoted 11 lines · Jacek Anaszewski

Hi Ralf,

This patch got stuck somewhere in my mailbox and just
recently showed up to my eyes again, so I applied it to v4.3-rc1, but when tried to compile-test it, I got following errors:

arch/mips/kernel/signal.c: In function 'sc_to_extcontext':
arch/mips/kernel/signal.c:143:12: error: 'struct ucontext' has no member named 'uc_extcontext'

   return &uc->uc_extcontext;
             ^

<snip...>

Quoted 2 lines

Compilation succeeds with v4.2-rc8.
Is it a known issue?

Quoted 7 lines

Hi Jacek,

The patches adding the MSA extended context added a MIPS-specific ucontext.h, where we were previously were using the generic one. Kbuild doesn't automatically remove the old generated header that includes the generic version, so could you try either cleaning your working tree or removing arch/mips/include/generated and trying again?

Thanks for the hint. It works.

I've applied the patch to the for-next branch of linux-leds.git

Signature · 2 lines
Best Regards,
Jacek Anaszewski