2010-11-16 14:20:32

by Michal Hocko

[permalink] [raw]
Subject: 5ada28bf76752 causes compilation error if !CONFIG_LEDS_CLASS

Hi Johannes,
it seems that your patch (5ada28bf76752e33dce3d807bf0dfbe6d1b943ad)
causes the following compilatation error:
LD .tmp_vmlinux1
drivers/built-in.o: In function `led_trigger_set':
drivers/leds/led-triggers.c:116: undefined reference to `led_brightness_set'
make[1]: *** [.tmp_vmlinux1] Error 1

AFAICS, led_brightness_set is defined in drivers/leds/led-class.c which
is compiled only if CONFIG_LEDS_CLASS is configured which is not my case
(after make oldconfig with all default values from 37-rc1).

I am not sure what is the right solution whether CONFIG_LEDS_TRIGGERS
should depend on CONFIG_LEDS_CLASS or the patch should be reverted.

My config is attached, if somebody need it.

Thanks
--
Michal Hocko
L3 team
SUSE LINUX s.r.o.
Lihovarska 1060/12
190 00 Praha 9
Czech Republic


Attachments:
(No filename) (807.00 B)
.config (66.06 kB)
Download all attachments

2010-11-16 17:41:43

by Berg, Johannes

[permalink] [raw]
Subject: RE: 5ada28bf76752 causes compilation error if !CONFIG_LEDS_CLASS

> it seems that your patch (5ada28bf76752e33dce3d807bf0dfbe6d1b943ad)
> causes the following compilatation error:
> LD .tmp_vmlinux1
> drivers/built-in.o: In function `led_trigger_set':
> drivers/leds/led-triggers.c:116: undefined reference to
> `led_brightness_set'
> make[1]: *** [.tmp_vmlinux1] Error 1
>
> AFAICS, led_brightness_set is defined in drivers/leds/led-class.c which
> is compiled only if CONFIG_LEDS_CLASS is configured which is not my
> case (after make oldconfig with all default values from 37-rc1).
>
> I am not sure what is the right solution whether CONFIG_LEDS_TRIGGERS
> should depend on CONFIG_LEDS_CLASS or the patch should be reverted.
>
> My config is attached, if somebody need it.

Hmm, we did find that, and I made a patch to fix up the Kconfig, that apparently hasn't made it in? Bit confused now.

johannes
--------------------------------------------------------------------------------------
Intel GmbH
Dornacher Strasse 1
85622 Feldkirchen/Muenchen, Deutschland
Sitz der Gesellschaft: Feldkirchen bei Muenchen
Geschaeftsfuehrer: Douglas Lusk, Peter Gleissner, Hannes Schwaderer
Registergericht: Muenchen HRB 47456
Ust.-IdNr./VAT Registration No.: DE129385895
Citibank Frankfurt a.M. (BLZ 502 109 00) 600119052

2010-11-18 08:24:56

by Michal Hocko

[permalink] [raw]
Subject: Re: 5ada28bf76752 causes compilation error if !CONFIG_LEDS_CLASS

On Tue 16-11-10 17:41:33, Berg, Johannes wrote:
> > it seems that your patch (5ada28bf76752e33dce3d807bf0dfbe6d1b943ad)
> > causes the following compilatation error:
> > LD .tmp_vmlinux1
> > drivers/built-in.o: In function `led_trigger_set':
> > drivers/leds/led-triggers.c:116: undefined reference to
> > `led_brightness_set'
> > make[1]: *** [.tmp_vmlinux1] Error 1
> >
> > AFAICS, led_brightness_set is defined in drivers/leds/led-class.c which
> > is compiled only if CONFIG_LEDS_CLASS is configured which is not my
> > case (after make oldconfig with all default values from 37-rc1).
> >
> > I am not sure what is the right solution whether CONFIG_LEDS_TRIGGERS
> > should depend on CONFIG_LEDS_CLASS or the patch should be reverted.
> >
> > My config is attached, if somebody need it.
>
> Hmm, we did find that, and I made a patch to fix up the Kconfig, that apparently hasn't made it in? Bit confused now.

Does this mean that I should enable CONFIG_LEDS_CLASS to work around the
issue for this moment?

>
> johannes
> --------------------------------------------------------------------------------------
> Intel GmbH
> Dornacher Strasse 1
> 85622 Feldkirchen/Muenchen, Deutschland
> Sitz der Gesellschaft: Feldkirchen bei Muenchen
> Geschaeftsfuehrer: Douglas Lusk, Peter Gleissner, Hannes Schwaderer
> Registergericht: Muenchen HRB 47456
> Ust.-IdNr./VAT Registration No.: DE129385895
> Citibank Frankfurt a.M. (BLZ 502 109 00) 600119052
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/

--
Michal Hocko
L3 team
SUSE LINUX s.r.o.
Lihovarska 1060/12
190 00 Praha 9
Czech Republic

2010-11-18 16:53:37

by Berg, Johannes

[permalink] [raw]
Subject: RE: 5ada28bf76752 causes compilation error if !CONFIG_LEDS_CLASS

> > > it seems that your patch (5ada28bf76752e33dce3d807bf0dfbe6d1b943ad)
> > > causes the following compilatation error:
> > > LD .tmp_vmlinux1
> > > drivers/built-in.o: In function `led_trigger_set':
> > > drivers/leds/led-triggers.c:116: undefined reference to
> > > `led_brightness_set'
> > > make[1]: *** [.tmp_vmlinux1] Error 1
> > >
> > > AFAICS, led_brightness_set is defined in drivers/leds/led-class.c
> which
> > > is compiled only if CONFIG_LEDS_CLASS is configured which is not my
> > > case (after make oldconfig with all default values from 37-rc1).
> > >
> > > I am not sure what is the right solution whether
> CONFIG_LEDS_TRIGGERS
> > > should depend on CONFIG_LEDS_CLASS or the patch should be reverted.
> > >
> > > My config is attached, if somebody need it.
> >
> > Hmm, we did find that, and I made a patch to fix up the Kconfig, that
> apparently hasn't made it in? Bit confused now.
>
> Does this mean that I should enable CONFIG_LEDS_CLASS to work around
> the issue for this moment?

I think that'd be easiest, yes.

johannes
--------------------------------------------------------------------------------------
Intel GmbH
Dornacher Strasse 1
85622 Feldkirchen/Muenchen, Deutschland
Sitz der Gesellschaft: Feldkirchen bei Muenchen
Geschaeftsfuehrer: Douglas Lusk, Peter Gleissner, Hannes Schwaderer
Registergericht: Muenchen HRB 47456
Ust.-IdNr./VAT Registration No.: DE129385895
Citibank Frankfurt a.M. (BLZ 502 109 00) 600119052

2010-11-22 16:59:01

by Arnd Hannemann

[permalink] [raw]
Subject: Re: 5ada28bf76752 causes compilation error if !CONFIG_LEDS_CLASS

Am 18.11.2010 17:52, schrieb Berg, Johannes:
>>>> it seems that your patch (5ada28bf76752e33dce3d807bf0dfbe6d1b943ad)
>>>> causes the following compilatation error:
>>>> LD .tmp_vmlinux1
>>>> drivers/built-in.o: In function `led_trigger_set':
>>>> drivers/leds/led-triggers.c:116: undefined reference to
>>>> `led_brightness_set'
>>>> make[1]: *** [.tmp_vmlinux1] Error 1
>>>>
>>>> AFAICS, led_brightness_set is defined in drivers/leds/led-class.c
>> which
>>>> is compiled only if CONFIG_LEDS_CLASS is configured which is not my
>>>> case (after make oldconfig with all default values from 37-rc1).
>>>>
>>>> I am not sure what is the right solution whether
>> CONFIG_LEDS_TRIGGERS
>>>> should depend on CONFIG_LEDS_CLASS or the patch should be reverted.
>>>>
>>>> My config is attached, if somebody need it.
>>>
>>> Hmm, we did find that, and I made a patch to fix up the Kconfig, that
>> apparently hasn't made it in? Bit confused now.
>>
>> Does this mean that I should enable CONFIG_LEDS_CLASS to work around
>> the issue for this moment?
>
> I think that'd be easiest, yes.

I also ran into this today.
Any updates or pointer to the patch?

Regards,
Arnd

2010-11-23 06:32:21

by Ingo Molnar

[permalink] [raw]
Subject: Re: 5ada28bf76752 causes compilation error if !CONFIG_LEDS_CLASS


* Arnd Hannemann <[email protected]> wrote:

> Am 18.11.2010 17:52, schrieb Berg, Johannes:
> >>>> it seems that your patch (5ada28bf76752e33dce3d807bf0dfbe6d1b943ad)
> >>>> causes the following compilatation error:
> >>>> LD .tmp_vmlinux1
> >>>> drivers/built-in.o: In function `led_trigger_set':
> >>>> drivers/leds/led-triggers.c:116: undefined reference to
> >>>> `led_brightness_set'
> >>>> make[1]: *** [.tmp_vmlinux1] Error 1
> >>>>
> >>>> AFAICS, led_brightness_set is defined in drivers/leds/led-class.c
> >> which
> >>>> is compiled only if CONFIG_LEDS_CLASS is configured which is not my
> >>>> case (after make oldconfig with all default values from 37-rc1).
> >>>>
> >>>> I am not sure what is the right solution whether
> >> CONFIG_LEDS_TRIGGERS
> >>>> should depend on CONFIG_LEDS_CLASS or the patch should be reverted.
> >>>>
> >>>> My config is attached, if somebody need it.
> >>>
> >>> Hmm, we did find that, and I made a patch to fix up the Kconfig, that
> >> apparently hasn't made it in? Bit confused now.
> >>
> >> Does this mean that I should enable CONFIG_LEDS_CLASS to work around
> >> the issue for this moment?
> >
> > I think that'd be easiest, yes.
>
> I also ran into this today.
> Any updates or pointer to the patch?

Same here - i'm running into this build bug frequently as well, as of 2.6.37-rc3.
Please guys at minimum post the pending fix for this.

Thanks,

Ingo

2010-11-23 07:32:34

by Berg, Johannes

[permalink] [raw]
Subject: RE: 5ada28bf76752 causes compilation error if !CONFIG_LEDS_CLASS


> > I also ran into this today.
> > Any updates or pointer to the patch?
>
> Same here - i'm running into this build bug frequently as well, as of
> 2.6.37-rc3.
> Please guys at minimum post the pending fix for this.

Hmm. For some reason I thought this patch had made it into -mm,
but I never double-checked and then went travelling ...

http://lkml.org/lkml/2010/10/26/79

johannes
--------------------------------------------------------------------------------------
Intel GmbH
Dornacher Strasse 1
85622 Feldkirchen/Muenchen, Deutschland
Sitz der Gesellschaft: Feldkirchen bei Muenchen
Geschaeftsfuehrer: Douglas Lusk, Peter Gleissner, Hannes Schwaderer
Registergericht: Muenchen HRB 47456
Ust.-IdNr./VAT Registration No.: DE129385895
Citibank Frankfurt a.M. (BLZ 502 109 00) 600119052

2010-11-23 07:41:19

by Andrew Morton

[permalink] [raw]
Subject: Re: 5ada28bf76752 causes compilation error if !CONFIG_LEDS_CLASS

On Tue, 23 Nov 2010 07:32:19 +0000 "Berg, Johannes" <[email protected]> wrote:

>
> > > I also ran into this today.
> > > Any updates or pointer to the patch?
> >
> > Same here - i'm running into this build bug frequently as well, as of
> > 2.6.37-rc3.
> > Please guys at minimum post the pending fix for this.
>
> Hmm. For some reason I thought this patch had made it into -mm,
> but I never double-checked and then went travelling ...
>
> http://lkml.org/lkml/2010/10/26/79

oops, I filed it in the wrong drawer, under "non-urgent". It then got
buried in new paperwork. But not lost!

Gee it's big. Could you please double-check that it is still complete?

2010-11-23 07:42:36

by Berg, Johannes

[permalink] [raw]
Subject: RE: 5ada28bf76752 causes compilation error if !CONFIG_LEDS_CLASS

> > Hmm. For some reason I thought this patch had made it into -mm,
> > but I never double-checked and then went travelling ...
> >
> > http://lkml.org/lkml/2010/10/26/79
>
> oops, I filed it in the wrong drawer, under "non-urgent". It then got
> buried in new paperwork. But not lost!
>
> Gee it's big. Could you please double-check that it is still complete?

Will do. I suspect it should, unless you took new LED drivers? But then
again you will now probably want a patch against -rc, not -mm?

johannes
--------------------------------------------------------------------------------------
Intel GmbH
Dornacher Strasse 1
85622 Feldkirchen/Muenchen, Deutschland
Sitz der Gesellschaft: Feldkirchen bei Muenchen
Geschaeftsfuehrer: Douglas Lusk, Peter Gleissner, Hannes Schwaderer
Registergericht: Muenchen HRB 47456
Ust.-IdNr./VAT Registration No.: DE129385895
Citibank Frankfurt a.M. (BLZ 502 109 00) 600119052

2010-11-23 07:43:01

by Ingo Molnar

[permalink] [raw]
Subject: Re: 5ada28bf76752 causes compilation error if !CONFIG_LEDS_CLASS


* Berg, Johannes <[email protected]> wrote:

>
> > > I also ran into this today.
> > > Any updates or pointer to the patch?
> >
> > Same here - i'm running into this build bug frequently as well, as of
> > 2.6.37-rc3.
> > Please guys at minimum post the pending fix for this.
>
> Hmm. For some reason I thought this patch had made it into -mm,
> but I never double-checked and then went travelling ...
>
> http://lkml.org/lkml/2010/10/26/79

Sigh, guys, this build bug has been known for 1.5 months and it's been upstream for
weeks!

Ingo

2010-11-23 07:44:39

by Ingo Molnar

[permalink] [raw]
Subject: Re: 5ada28bf76752 causes compilation error if !CONFIG_LEDS_CLASS


* Andrew Morton <[email protected]> wrote:

> On Tue, 23 Nov 2010 07:32:19 +0000 "Berg, Johannes" <[email protected]> wrote:
>
> >
> > > > I also ran into this today.
> > > > Any updates or pointer to the patch?
> > >
> > > Same here - i'm running into this build bug frequently as well, as of
> > > 2.6.37-rc3.
> > > Please guys at minimum post the pending fix for this.
> >
> > Hmm. For some reason I thought this patch had made it into -mm,
> > but I never double-checked and then went travelling ...
> >
> > http://lkml.org/lkml/2010/10/26/79
>
> oops, I filed it in the wrong drawer, under "non-urgent". It then got
> buried in new paperwork. But not lost!
>
> Gee it's big. Could you please double-check that it is still complete?

It applied with fuzz. I've added it to tip:out-of-tree and will let you know if
there's any other build failure left in this area, within an hour or two.

Thanks,

Ingo

2010-11-23 07:49:04

by Andrew Morton

[permalink] [raw]
Subject: Re: 5ada28bf76752 causes compilation error if !CONFIG_LEDS_CLASS

On Tue, 23 Nov 2010 07:41:58 +0000 "Berg, Johannes" <[email protected]> wrote:

> > > Hmm. For some reason I thought this patch had made it into -mm,
> > > but I never double-checked and then went travelling ...
> > >
> > > http://lkml.org/lkml/2010/10/26/79
> >
> > oops, I filed it in the wrong drawer, under "non-urgent". It then got
> > buried in new paperwork. But not lost!
> >
> > Gee it's big. Could you please double-check that it is still complete?
>
> Will do. I suspect it should, unless you took new LED drivers? But then
> again you will now probably want a patch against -rc, not -mm?
>

It applied OK(ish) to current mainline.

2010-11-23 07:57:43

by Berg, Johannes

[permalink] [raw]
Subject: RE: 5ada28bf76752 causes compilation error if !CONFIG_LEDS_CLASS


> > Will do. I suspect it should, unless you took new LED drivers? But
> then
> > again you will now probably want a patch against -rc, not -mm?
> >
>
> It applied OK(ish) to current mainline.

It seems to need a "depends on LEDS_CLASS" to the new driver
"config LEDS_NETXBIG" in drivers/leds/. Other than that, it
still seems to be complete against current mainline (-rc3).

Do you just want to add the single line to it yourself?

johannes

--------------------------------------------------------------------------------------
Intel GmbH
Dornacher Strasse 1
85622 Feldkirchen/Muenchen, Deutschland
Sitz der Gesellschaft: Feldkirchen bei Muenchen
Geschaeftsfuehrer: Douglas Lusk, Peter Gleissner, Hannes Schwaderer
Registergericht: Muenchen HRB 47456
Ust.-IdNr./VAT Registration No.: DE129385895
Citibank Frankfurt a.M. (BLZ 502 109 00) 600119052

2010-11-23 07:57:56

by Ingo Molnar

[permalink] [raw]
Subject: Re: 5ada28bf76752 causes compilation error if !CONFIG_LEDS_CLASS


* Berg, Johannes <[email protected]> wrote:

> > > Hmm. For some reason I thought this patch had made it into -mm,
> > > but I never double-checked and then went travelling ...
> > >
> > > http://lkml.org/lkml/2010/10/26/79
> >
> > oops, I filed it in the wrong drawer, under "non-urgent". It then got
> > buried in new paperwork. But not lost!
> >
> > Gee it's big. Could you please double-check that it is still complete?
>
> Will do. I suspect it should, unless you took new LED drivers? But then
> again you will now probably want a patch against -rc, not -mm?

It applied with a fuzz here so something changed in that file since you made the
patch. I did a quick review of drivers/leds/Kconfig and your patch seems complete to
me.

Thanks,

Ingo

2010-11-23 08:03:00

by Ingo Molnar

[permalink] [raw]
Subject: Re: 5ada28bf76752 causes compilation error if !CONFIG_LEDS_CLASS


* Berg, Johannes <[email protected]> wrote:

>
> > > Will do. I suspect it should, unless you took new LED drivers? But
> > then
> > > again you will now probably want a patch against -rc, not -mm?
> > >
> >
> > It applied OK(ish) to current mainline.
>
> It seems to need a "depends on LEDS_CLASS" to the new driver
> "config LEDS_NETXBIG" in drivers/leds/. Other than that, it
> still seems to be complete against current mainline (-rc3).
>
> Do you just want to add the single line to it yourself?

Hm, when I applied your patch to rc3 it added that line to LEDS_NETXBIG. Fortunate
side-effect of diff fuzz? Below is how it applied here.

Thanks,

Ingo

----------------------->
>From ce47463f65a460832aec359ddc9ab3c5b9bfff8a Mon Sep 17 00:00:00 2001
From: Johannes Berg <[email protected]>
Date: Tue, 26 Oct 2010 12:14:41 +0200
Subject: [PATCH] leds: Fix build bug

It's not useful to build LED triggers when
there's no LEDs that can be triggered by
them. Therefore, fix up the dependencies
so that this cannot happen, and fix a few
users that select triggers to depend on
LEDS_CLASS as well (there is also one user
that also selects LEDS_CLASS, which is OK).

As a result, we can now make everything a
module again if desired (including the LED
triggers, which previously could only be
built in) -- and add back the warning in
rt2x00's Kconfig I previously removed.

Reported-by: Randy Dunlap <[email protected]>
Signed-off-by: Johannes Berg <[email protected]>
Cc: [email protected]
LKML-Reference: <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
---
drivers/leds/Kconfig | 57 ++++++++++++++++++++++++++++-------
drivers/macintosh/Kconfig | 1 +
drivers/net/wireless/rt2x00/Kconfig | 3 ++
net/mac80211/Kconfig | 2 +-
4 files changed, 51 insertions(+), 12 deletions(-)

diff --git a/drivers/leds/Kconfig b/drivers/leds/Kconfig
index 115cc9f..6f2dd05 100644
--- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig
@@ -7,20 +7,20 @@ menuconfig NEW_LEDS
This is not related to standard keyboard LEDs which are controlled
via the input system.

-if NEW_LEDS
-
config LEDS_CLASS
- bool "LED Class Support"
+ tristate "LED Class Support"
+ depends on NEW_LEDS
help
This option enables the led sysfs class in /sys/class/leds. You'll
need this to do anything useful with LEDs. If unsure, say N.

-if LEDS_CLASS
+if NEW_LEDS

comment "LED drivers"

config LEDS_88PM860X
tristate "LED Support for Marvell 88PM860x PMIC"
+ depends on LEDS_CLASS
depends on MFD_88PM860X
help
This option enables support for on-chip LED drivers found on Marvell
@@ -28,6 +28,7 @@ config LEDS_88PM860X

config LEDS_ATMEL_PWM
tristate "LED Support using Atmel PWM outputs"
+ depends on LEDS_CLASS
depends on ATMEL_PWM
help
This option enables support for LEDs driven using outputs
@@ -35,6 +36,7 @@ config LEDS_ATMEL_PWM

config LEDS_LOCOMO
tristate "LED Support for Locomo device"
+ depends on LEDS_CLASS
depends on SHARP_LOCOMO
help
This option enables support for the LEDs on Sharp Locomo.
@@ -42,6 +44,7 @@ config LEDS_LOCOMO

config LEDS_MIKROTIK_RB532
tristate "LED Support for Mikrotik Routerboard 532"
+ depends on LEDS_CLASS
depends on MIKROTIK_RB532
help
This option enables support for the so called "User LED" of
@@ -49,6 +52,7 @@ config LEDS_MIKROTIK_RB532

config LEDS_S3C24XX
tristate "LED Support for Samsung S3C24XX GPIO LEDs"
+ depends on LEDS_CLASS
depends on ARCH_S3C2410
help
This option enables support for LEDs connected to GPIO lines
@@ -56,12 +60,14 @@ config LEDS_S3C24XX

config LEDS_AMS_DELTA
tristate "LED Support for the Amstrad Delta (E3)"
+ depends on LEDS_CLASS
depends on MACH_AMS_DELTA
help
This option enables support for the LEDs on Amstrad Delta (E3).

config LEDS_NET48XX
tristate "LED Support for Soekris net48xx series Error LED"
+ depends on LEDS_CLASS
depends on SCx200_GPIO
help
This option enables support for the Soekris net4801 and net4826 error
@@ -79,18 +85,21 @@ config LEDS_NET5501

config LEDS_FSG
tristate "LED Support for the Freecom FSG-3"
+ depends on LEDS_CLASS
depends on MACH_FSG
help
This option enables support for the LEDs on the Freecom FSG-3.

config LEDS_WRAP
tristate "LED Support for the WRAP series LEDs"
+ depends on LEDS_CLASS
depends on SCx200_GPIO
help
This option enables support for the PCEngines WRAP programmable LEDs.

config LEDS_ALIX2
tristate "LED Support for ALIX.2 and ALIX.3 series"
+ depends on LEDS_CLASS
depends on X86 && !GPIO_CS5535 && !CS5535_GPIO
help
This option enables support for the PCEngines ALIX.2 and ALIX.3 LEDs.
@@ -98,12 +107,14 @@ config LEDS_ALIX2

config LEDS_H1940
tristate "LED Support for iPAQ H1940 device"
+ depends on LEDS_CLASS
depends on ARCH_H1940
help
This option enables support for the LEDs on the h1940.

config LEDS_COBALT_QUBE
tristate "LED Support for the Cobalt Qube series front LED"
+ depends on LEDS_CLASS
depends on MIPS_COBALT
help
This option enables support for the front LED on Cobalt Qube series
@@ -117,6 +128,7 @@ config LEDS_COBALT_RAQ

config LEDS_SUNFIRE
tristate "LED support for SunFire servers."
+ depends on LEDS_CLASS
depends on SPARC64
select LEDS_TRIGGERS
help
@@ -125,6 +137,7 @@ config LEDS_SUNFIRE

config LEDS_HP6XX
tristate "LED Support for the HP Jornada 6xx"
+ depends on LEDS_CLASS
depends on SH_HP6XX
help
This option enables LED support for the handheld
@@ -132,6 +145,7 @@ config LEDS_HP6XX

config LEDS_PCA9532
tristate "LED driver for PCA9532 dimmer"
+ depends on LEDS_CLASS
depends on I2C && INPUT && EXPERIMENTAL
help
This option enables support for NXP pca9532
@@ -140,6 +154,7 @@ config LEDS_PCA9532

config LEDS_GPIO
tristate "LED Support for GPIO connected LEDs"
+ depends on LEDS_CLASS
depends on GENERIC_GPIO
help
This option enables support for the LEDs connected to GPIO
@@ -150,6 +165,7 @@ config LEDS_GPIO

config LEDS_GPIO_PLATFORM
bool "Platform device bindings for GPIO LEDs"
+ depends on LEDS_CLASS
depends on LEDS_GPIO
default y
help
@@ -158,6 +174,7 @@ config LEDS_GPIO_PLATFORM

config LEDS_GPIO_OF
bool "OpenFirmware platform device bindings for GPIO LEDs"
+ depends on LEDS_CLASS
depends on LEDS_GPIO && OF_DEVICE
default y
help
@@ -167,6 +184,7 @@ config LEDS_GPIO_OF

config LEDS_LP3944
tristate "LED Support for N.S. LP3944 (Fun Light) I2C chip"
+ depends on LEDS_CLASS
depends on I2C
help
This option enables support for LEDs connected to the National
@@ -196,6 +214,7 @@ config LEDS_LP5523

config LEDS_CLEVO_MAIL
tristate "Mail LED on Clevo notebook"
+ depends on LEDS_CLASS
depends on X86 && SERIO_I8042 && DMI
help
This driver makes the mail LED accessible from userspace
@@ -226,6 +245,7 @@ config LEDS_CLEVO_MAIL

config LEDS_PCA955X
tristate "LED Support for PCA955x I2C chips"
+ depends on LEDS_CLASS
depends on I2C
help
This option enables support for LEDs connected to PCA955x
@@ -234,6 +254,7 @@ config LEDS_PCA955X

config LEDS_WM831X_STATUS
tristate "LED support for status LEDs on WM831x PMICs"
+ depends on LEDS_CLASS
depends on MFD_WM831X
help
This option enables support for the status LEDs of the WM831x
@@ -241,6 +262,7 @@ config LEDS_WM831X_STATUS

config LEDS_WM8350
tristate "LED Support for WM8350 AudioPlus PMIC"
+ depends on LEDS_CLASS
depends on MFD_WM8350
help
This option enables support for LEDs driven by the Wolfson
@@ -248,6 +270,7 @@ config LEDS_WM8350

config LEDS_DA903X
tristate "LED Support for DA9030/DA9034 PMIC"
+ depends on LEDS_CLASS
depends on PMIC_DA903X
help
This option enables support for on-chip LED drivers found
@@ -255,6 +278,7 @@ config LEDS_DA903X

config LEDS_DAC124S085
tristate "LED Support for DAC124S085 SPI DAC"
+ depends on LEDS_CLASS
depends on SPI
help
This option enables support for DAC124S085 SPI DAC from NatSemi,
@@ -262,18 +286,21 @@ config LEDS_DAC124S085

config LEDS_PWM
tristate "PWM driven LED Support"
+ depends on LEDS_CLASS
depends on HAVE_PWM
help
This option enables support for pwm driven LEDs

config LEDS_REGULATOR
tristate "REGULATOR driven LED support"
+ depends on LEDS_CLASS
depends on REGULATOR
help
This option enables support for regulator driven LEDs.

config LEDS_BD2802
tristate "LED driver for BD2802 RGB LED"
+ depends on LEDS_CLASS
depends on I2C
help
This option enables support for BD2802GU RGB LED driver chips
@@ -281,6 +308,7 @@ config LEDS_BD2802

config LEDS_INTEL_SS4200
tristate "LED driver for Intel NAS SS4200 series"
+ depends on LEDS_CLASS
depends on PCI && DMI
depends on 0
help
@@ -291,6 +319,7 @@ config LEDS_INTEL_SS4200

config LEDS_LT3593
tristate "LED driver for LT3593 controllers"
+ depends on LEDS_CLASS
depends on GENERIC_GPIO
help
This option enables support for LEDs driven by a Linear Technology
@@ -299,6 +328,7 @@ config LEDS_LT3593

config LEDS_ADP5520
tristate "LED Support for ADP5520/ADP5501 PMIC"
+ depends on LEDS_CLASS
depends on PMIC_ADP5520
help
This option enables support for on-chip LED drivers found
@@ -309,6 +339,7 @@ config LEDS_ADP5520

config LEDS_DELL_NETBOOKS
tristate "External LED on Dell Business Netbooks"
+ depends on LEDS_CLASS
depends on X86 && ACPI_WMI
help
This adds support for the Latitude 2100 and similar
@@ -316,6 +347,7 @@ config LEDS_DELL_NETBOOKS

config LEDS_MC13783
tristate "LED Support for MC13783 PMIC"
+ depends on LEDS_CLASS
depends on MFD_MC13783
help
This option enable support for on-chip LED drivers found
@@ -323,6 +355,7 @@ config LEDS_MC13783

config LEDS_NS2
tristate "LED support for Network Space v2 GPIO LEDs"
+ depends on LEDS_CLASS
depends on MACH_NETSPACE_V2 || MACH_INETSPACE_V2 || MACH_NETSPACE_MAX_V2 || D2NET_V2
default y
help
@@ -332,6 +365,7 @@ config LEDS_NS2

config LEDS_NETXBIG
tristate "LED support for Big Network series LEDs"
+ depends on LEDS_CLASS
depends on MACH_NET2BIG_V2 || MACH_NET5BIG_V2
default y
help
@@ -340,18 +374,18 @@ config LEDS_NETXBIG
controlled through a GPIO extension bus.

config LEDS_TRIGGERS
- bool "LED Trigger support"
+ tristate "LED Trigger support"
+ depends on LEDS_CLASS
help
This option enables trigger support for the leds class.
These triggers allow kernel events to drive the LEDs and can
be configured via sysfs. If unsure, say Y.

-if LEDS_TRIGGERS
-
comment "LED Triggers"

config LEDS_TRIGGER_TIMER
tristate "LED Timer Trigger"
+ depends on LEDS_TRIGGERS
help
This allows LEDs to be controlled by a programmable timer
via sysfs. Some LED hardware can be programmed to start
@@ -363,12 +397,14 @@ config LEDS_TRIGGER_TIMER
config LEDS_TRIGGER_IDE_DISK
bool "LED IDE Disk Trigger"
depends on IDE_GD_ATA
+ depends on LEDS_TRIGGERS
help
This allows LEDs to be controlled by IDE disk activity.
If unsure, say Y.

config LEDS_TRIGGER_HEARTBEAT
tristate "LED Heartbeat Trigger"
+ depends on LEDS_TRIGGERS
help
This allows LEDs to be controlled by a CPU load average.
The flash frequency is a hyperbolic function of the 1-minute
@@ -377,6 +413,7 @@ config LEDS_TRIGGER_HEARTBEAT

config LEDS_TRIGGER_BACKLIGHT
tristate "LED backlight Trigger"
+ depends on LEDS_TRIGGERS
help
This allows LEDs to be controlled as a backlight device: they
turn off and on when the display is blanked and unblanked.
@@ -385,6 +422,7 @@ config LEDS_TRIGGER_BACKLIGHT

config LEDS_TRIGGER_GPIO
tristate "LED GPIO Trigger"
+ depends on LEDS_TRIGGERS
depends on GPIOLIB
help
This allows LEDs to be controlled by gpio events. It's good
@@ -397,6 +435,7 @@ config LEDS_TRIGGER_GPIO

config LEDS_TRIGGER_DEFAULT_ON
tristate "LED Default ON Trigger"
+ depends on LEDS_TRIGGERS
help
This allows LEDs to be initialised in the ON state.
If unsure, say Y.
@@ -404,8 +443,4 @@ config LEDS_TRIGGER_DEFAULT_ON
comment "iptables trigger is under Netfilter config (LED target)"
depends on LEDS_TRIGGERS

-endif # LEDS_TRIGGERS
-
-endif # LEDS_CLASS
-
endif # NEW_LEDS
diff --git a/drivers/macintosh/Kconfig b/drivers/macintosh/Kconfig
index 3d7355f..646a3e8 100644
--- a/drivers/macintosh/Kconfig
+++ b/drivers/macintosh/Kconfig
@@ -102,6 +102,7 @@ config ADB_PMU_LED
config ADB_PMU_LED_IDE
bool "Use front LED as IDE LED by default"
depends on ADB_PMU_LED
+ depends on LEDS_CLASS=y
select LEDS_TRIGGERS
select LEDS_TRIGGER_IDE_DISK
help
diff --git a/drivers/net/wireless/rt2x00/Kconfig b/drivers/net/wireless/rt2x00/Kconfig
index c088be3..21a632b 100644
--- a/drivers/net/wireless/rt2x00/Kconfig
+++ b/drivers/net/wireless/rt2x00/Kconfig
@@ -222,6 +222,9 @@ config RT2X00_LIB_LEDS
boolean
default y if (RT2X00_LIB=y && LEDS_CLASS=y) || (RT2X00_LIB=m && LEDS_CLASS!=n)

+comment "rt2x00 leds support disabled due to modularized LEDS_CLASS and built-in rt2x00"
+ depends on RT2X00_LIB=y && LEDS_CLASS=m
+
config RT2X00_LIB_DEBUGFS
bool "Ralink debugfs support"
depends on RT2X00_LIB && MAC80211_DEBUGFS
diff --git a/net/mac80211/Kconfig b/net/mac80211/Kconfig
index 4d6f865..aca4f7f 100644
--- a/net/mac80211/Kconfig
+++ b/net/mac80211/Kconfig
@@ -92,7 +92,7 @@ config MAC80211_MESH
config MAC80211_LEDS
bool "Enable LED triggers"
depends on MAC80211
- select NEW_LEDS
+ depends on LEDS_CLASS=y || LEDS_CLASS=MAC80211
select LEDS_TRIGGERS
---help---
This option enables a few LED triggers for different

2010-11-23 08:07:00

by Andrew Morton

[permalink] [raw]
Subject: Re: 5ada28bf76752 causes compilation error if !CONFIG_LEDS_CLASS

On Tue, 23 Nov 2010 08:57:42 +0100 Ingo Molnar <[email protected]> wrote:

>
> * Berg, Johannes <[email protected]> wrote:
>
> > > > Hmm. For some reason I thought this patch had made it into -mm,
> > > > but I never double-checked and then went travelling ...
> > > >
> > > > http://lkml.org/lkml/2010/10/26/79
> > >
> > > oops, I filed it in the wrong drawer, under "non-urgent". It then got
> > > buried in new paperwork. But not lost!
> > >
> > > Gee it's big. Could you please double-check that it is still complete?
> >
> > Will do. I suspect it should, unless you took new LED drivers? But then
> > again you will now probably want a patch against -rc, not -mm?
>
> It applied with a fuzz here so something changed in that file since you made the
> patch. I did a quick review of drivers/leds/Kconfig and your patch seems complete to
> me.

It looks complete to me as well. It already fixes LEDS_NETXBIG.

2010-11-23 08:10:04

by Berg, Johannes

[permalink] [raw]
Subject: RE: 5ada28bf76752 causes compilation error if !CONFIG_LEDS_CLASS


> > It applied with a fuzz here so something changed in that file since
> you made the
> > patch. I did a quick review of drivers/leds/Kconfig and your patch
> seems complete to
> > me.
>
> It looks complete to me as well. It already fixes LEDS_NETXBIG.

Yeah, looks like I got confused -- or more likely my local version
didn't quite match the one I'd posted for some reason.

Thanks for checking.

johannes

--------------------------------------------------------------------------------------
Intel GmbH
Dornacher Strasse 1
85622 Feldkirchen/Muenchen, Deutschland
Sitz der Gesellschaft: Feldkirchen bei Muenchen
Geschaeftsfuehrer: Douglas Lusk, Peter Gleissner, Hannes Schwaderer
Registergericht: Muenchen HRB 47456
Ust.-IdNr./VAT Registration No.: DE129385895
Citibank Frankfurt a.M. (BLZ 502 109 00) 600119052

2010-11-23 09:18:14

by Ingo Molnar

[permalink] [raw]
Subject: Re: 5ada28bf76752 causes compilation error if !CONFIG_LEDS_CLASS


* Andrew Morton <[email protected]> wrote:

> On Tue, 23 Nov 2010 08:57:42 +0100 Ingo Molnar <[email protected]> wrote:
>
> >
> > * Berg, Johannes <[email protected]> wrote:
> >
> > > > > Hmm. For some reason I thought this patch had made it into -mm,
> > > > > but I never double-checked and then went travelling ...
> > > > >
> > > > > http://lkml.org/lkml/2010/10/26/79
> > > >
> > > > oops, I filed it in the wrong drawer, under "non-urgent". It then got
> > > > buried in new paperwork. But not lost!
> > > >
> > > > Gee it's big. Could you please double-check that it is still complete?
> > >
> > > Will do. I suspect it should, unless you took new LED drivers? But then
> > > again you will now probably want a patch against -rc, not -mm?
> >
> > It applied with a fuzz here so something changed in that file since you made the
> > patch. I did a quick review of drivers/leds/Kconfig and your patch seems complete to
> > me.
>
> It looks complete to me as well. It already fixes LEDS_NETXBIG.

It fails to build on x86 64-bit allmodconfig:

drivers/leds/led-triggers.c:39:20: error: ‘TRIG_NAME_MAX’ undeclared (first use in this function)
drivers/leds/led-triggers.c:56:2: error: dereferencing pointer to incomplete type
drivers/leds/led-triggers.c:56:2: error: request for member ‘next_trig’ in something not a structure or union
drivers/leds/led-triggers.c:56:2: error: dereferencing pointer to incomplete type
drivers/leds/led-triggers.c:56:2: error: dereferencing pointer to incomplete type
drivers/leds/led-triggers.c:56:2: error: request for member ‘next_trig’ in something not a structure or union
drivers/leds/led-triggers.c:56:2: error: dereferencing pointer to incomplete type
drivers/leds/led-triggers.c:56:2: error: dereferencing pointer to incomplete type
drivers/leds/led-triggers.c:56:2: error: dereferencing pointer to incomplete type
drivers/leds/led-triggers.c:56:2: error: request for member ‘next_trig’ in something not a structure or union
drivers/leds/led-triggers.c:56:2: error: dereferencing pointer to incomplete type
drivers/leds/led-triggers.c:56:2: error: dereferencing pointer to incomplete type
drivers/leds/led-triggers.c:56:2: error: dereferencing pointer to incomplete type
drivers/leds/led-triggers.c:56:2: error: request for member ‘next_trig’ in something not a structure or union
drivers/leds/led-triggers.c:57:33: error: dereferencing pointer to incomplete type
drivers/leds/led-triggers.c:58:24: error: ‘struct led_classdev’ has no member named ‘trigger_lock’
drivers/leds/led-triggers.c:60:22: error: ‘struct led_classdev’ has no member named ‘trigger_lock’
drivers/leds/led-triggers.c:80:21: error: ‘struct led_classdev’ has no member named ‘trigger_lock’
drivers/leds/led-triggers.c:82:15: error: ‘struct led_classdev’ has no member named ‘trigger’
drivers/leds/led-triggers.c:87:2: error: dereferencing pointer to incomplete type
drivers/leds/led-triggers.c:87:2: error: request for member ‘next_trig’ in something not a structure or union
drivers/leds/led-triggers.c:87:2: error: dereferencing pointer to incomplete type
drivers/leds/led-triggers.c:87:2: error: dereferencing pointer to incomplete type
drivers/leds/led-triggers.c:87:2: error: request for member ‘next_trig’ in something not a structure or union
drivers/leds/led-triggers.c:87:2: error: dereferencing pointer to incomplete type
drivers/leds/led-triggers.c:87:2: error: dereferencing pointer to incomplete type
drivers/leds/led-triggers.c:87:2: error: dereferencing pointer to incomplete type
drivers/leds/led-triggers.c:87:2: error: request for member ‘next_trig’ in something not a structure or union
drivers/leds/led-triggers.c:87:2: error: dereferencing pointer to incomplete type
drivers/leds/led-triggers.c:87:2: error: dereferencing pointer to incomplete type
drivers/leds/led-triggers.c:87:2: error: dereferencing pointer to incomplete type
drivers/leds/led-triggers.c:87:2: error: request for member ‘next_trig’ in something not a structure or union
drivers/leds/led-triggers.c:88:15: error: ‘struct led_classdev’ has no member named ‘trigger’
drivers/leds/led-triggers.c:88:44: error: ‘struct led_classdev’ has no member named ‘trigger’
drivers/leds/led-triggers.c:89:12: error: dereferencing pointer to incomplete type
drivers/leds/led-triggers.c:90:41: error: dereferencing pointer to incomplete type
drivers/leds/led-triggers.c:92:39: error: dereferencing pointer to incomplete type
drivers/leds/led-triggers.c:94:19: error: ‘struct led_classdev’ has no member named ‘trigger_lock’
drivers/leds/led-triggers.c:103:6: error: expected identifier or ‘(’ before ‘do’
drivers/leds/led-triggers.c:103:6: error: expected identifier or ‘(’ before ‘while’
drivers/leds/led-triggers.c:127:19: error: ‘led_trigger_set’ undeclared here (not in a function)
drivers/leds/led-triggers.c:129:6: error: expected identifier or ‘(’ before ‘do’
drivers/leds/led-triggers.c:129:6: error: expected identifier or ‘(’ before ‘while’
drivers/leds/led-triggers.c:135:19: error: ‘led_trigger_remove’ undeclared here (not in a function)
drivers/leds/led-triggers.c:137:6: error: expected identifier or ‘(’ before ‘do’
drivers/leds/led-triggers.c:137:6: error: expected identifier or ‘(’ before ‘while’
drivers/leds/led-triggers.c:153:19: error: ‘led_trigger_set_default’ undeclared here (not in a function)
drivers/leds/led-triggers.c:162:2: error: dereferencing pointer to incomplete type
drivers/leds/led-triggers.c:163:25: error: dereferencing pointer to incomplete type
drivers/leds/led-triggers.c:167:2: error: dereferencing pointer to incomplete type
drivers/leds/led-triggers.c:167:2: error: request for member ‘next_trig’ in something not a structure or union
drivers/leds/led-triggers.c:167:2: error: dereferencing pointer to incomplete type
drivers/leds/led-triggers.c:167:2: error: dereferencing pointer to incomplete type
drivers/leds/led-triggers.c:167:2: error: request for member ‘next_trig’ in something not a structure or union
drivers/leds/led-triggers.c:167:2: error: dereferencing pointer to incomplete type
drivers/leds/led-triggers.c:167:2: error: dereferencing pointer to incomplete type
drivers/leds/led-triggers.c:167:2: error: dereferencing pointer to incomplete type
drivers/leds/led-triggers.c:167:2: error: request for member ‘next_trig’ in something not a structure or union
drivers/leds/led-triggers.c:167:2: error: dereferencing pointer to incomplete type
drivers/leds/led-triggers.c:167:2: error: dereferencing pointer to incomplete type
drivers/leds/led-triggers.c:167:2: error: dereferencing pointer to incomplete type
drivers/leds/led-triggers.c:167:2: error: request for member ‘next_trig’ in something not a structure or union
drivers/leds/led-triggers.c:168:19: error: dereferencing pointer to incomplete type
drivers/leds/led-triggers.c:168:34: error: dereferencing pointer to incomplete type
drivers/leds/led-triggers.c:174:24: error: dereferencing pointer to incomplete type
drivers/leds/led-triggers.c:180:23: error: ‘struct led_classdev’ has no member named ‘trigger_lock’
drivers/leds/led-triggers.c:181:16: error: ‘struct led_classdev’ has no member named ‘trigger’
drivers/leds/led-triggers.c:182:50: error: dereferencing pointer to incomplete type
drivers/leds/led-triggers.c:184:21: error: ‘struct led_classdev’ has no member named ‘trigger_lock’
drivers/leds/led-triggers.c:198:19: error: dereferencing pointer to incomplete type
drivers/leds/led-triggers.c:204:23: error: ‘struct led_classdev’ has no member named ‘trigger_lock’
drivers/leds/led-triggers.c:205:15: error: ‘struct led_classdev’ has no member named ‘trigger’
drivers/leds/led-triggers.c:207:21: error: ‘struct led_classdev’ has no member named ‘trigger_lock’
drivers/leds/led-triggers.c:215:6: error: expected identifier or ‘(’ before ‘do’
drivers/leds/led-triggers.c:215:6: error: expected identifier or ‘(’ before ‘while’
drivers/leds/led-triggers.c:232:19: error: ‘led_trigger_event’ undeclared here (not in a function)
drivers/leds/led-triggers.c:234:6: error: expected identifier or ‘(’ before ‘do’
drivers/leds/led-triggers.c:234:6: error: expected identifier or ‘(’ before ‘while’
drivers/leds/led-triggers.c:253:19: error: ‘led_trigger_register_simple’ undeclared here (not in a function)
drivers/leds/led-triggers.c:255:6: error: expected identifier or ‘(’ before ‘do’
drivers/leds/led-triggers.c:255:6: error: expected identifier or ‘(’ before ‘while’
drivers/leds/led-triggers.c:261:19: error: ‘led_trigger_unregister_simple’ undeclared here (not in a function)
net/rfkill/core.c:67:21: error: field ‘led_trigger’ has incomplete type
net/rfkill/core.c:147:11: error: ‘struct led_classdev’ has no member named ‘trigger’
net/rfkill/core.c:171:2: error: implicit declaration of function ‘led_trigger_register’
net/rfkill/core.c:176:2: error: implicit declaration of function ‘led_trigger_unregister’
net/mac80211/led.c:59:33: error: invalid application of ‘sizeof’ to incomplete type ‘struct led_trigger’
net/mac80211/led.c:63:16: error: dereferencing pointer to incomplete type
net/mac80211/led.c:64:3: error: implicit declaration of function ‘led_trigger_register’
net/mac80211/led.c:70:33: error: invalid application of ‘sizeof’ to incomplete type ‘struct led_trigger’
net/mac80211/led.c:74:16: error: dereferencing pointer to incomplete type
net/mac80211/led.c:81:36: error: invalid application of ‘sizeof’ to incomplete type ‘struct led_trigger’
net/mac80211/led.c:85:19: error: dereferencing pointer to incomplete type
net/mac80211/led.c:92:36: error: invalid application of ‘sizeof’ to incomplete type ‘struct led_trigger’
net/mac80211/led.c:96:19: error: dereferencing pointer to incomplete type
net/mac80211/led.c:107:3: error: implicit declaration of function ‘led_trigger_unregister’
net/netfilter/xt_LED.c:47:21: error: field ‘netfilter_led_trigger’ has incomplete type
net/netfilter/xt_LED.c:132:2: error: implicit declaration of function ‘led_trigger_register’
net/netfilter/xt_LED.c:183:2: error: implicit declaration of function ‘led_trigger_unregister’

Thanks,

Ingo

2010-11-23 09:35:30

by Berg, Johannes

[permalink] [raw]
Subject: RE: 5ada28bf76752 causes compilation error if !CONFIG_LEDS_CLASS

> It fails to build on x86 64-bit allmodconfig:
>
> drivers/leds/led-triggers.c:39:20: error: ‘TRIG_NAME_MAX’ undeclared
> (first use in this function)

Grr. I give up on the modular thing ...

There are a whole bunch of ifdefs on TRIGGERS, which need to be
|| modular, but the easier thing is to remove the bool->tristate
changes from my patch.

johannes

--------------------------------------------------------------------------------------
Intel GmbH
Dornacher Strasse 1
85622 Feldkirchen/Muenchen, Deutschland
Sitz der Gesellschaft: Feldkirchen bei Muenchen
Geschaeftsfuehrer: Douglas Lusk, Peter Gleissner, Hannes Schwaderer
Registergericht: Muenchen HRB 47456
Ust.-IdNr./VAT Registration No.: DE129385895
Citibank Frankfurt a.M. (BLZ 502 109 00) 600119052
????{.n?+???????+%?????ݶ??w??{.n?+????{??G?????{ay?ʇڙ?,j??f???h?????????z_??(?階?ݢj"???m??????G????????????&???~???iO???z??v?^?m???? ????????I?

2010-11-23 09:41:41

by Johannes Berg

[permalink] [raw]
Subject: Re: 5ada28bf76752 causes compilation error if !CONFIG_LEDS_CLASS

On Tue, 2010-11-23 at 09:17 +0000, Ingo Molnar wrote:

> It fails to build on x86 64-bit allmodconfig:

Let's not modify them to tristate then, too many ifdefs.

johannes


Subject: leds: fix up dependencies
From: Johannes Berg <[email protected]>

It's not useful to build LED triggers when
there's no LEDs that can be triggered by
them. Therefore, fix up the dependencies
so that this cannot happen, and fix a few
users that select triggers to depend on
LEDS_CLASS as well (there is also one user
that also selects LEDS_CLASS, which is OK).

Reported-by: Randy Dunlap <[email protected]>
Signed-off-by: Johannes Berg <[email protected]>
---
drivers/leds/Kconfig | 50 +++++++++++++++++++++++++++++++++++++---------
drivers/macintosh/Kconfig | 1
net/mac80211/Kconfig | 2 -
3 files changed, 43 insertions(+), 10 deletions(-)

--- wireless-testing.orig/drivers/leds/Kconfig 2010-11-23 10:36:39.000000000 +0100
+++ wireless-testing/drivers/leds/Kconfig 2010-11-23 10:36:52.000000000 +0100
@@ -7,20 +7,20 @@ menuconfig NEW_LEDS
This is not related to standard keyboard LEDs which are controlled
via the input system.

-if NEW_LEDS
-
config LEDS_CLASS
bool "LED Class Support"
+ depends on NEW_LEDS
help
This option enables the led sysfs class in /sys/class/leds. You'll
need this to do anything useful with LEDs. If unsure, say N.

-if LEDS_CLASS
+if NEW_LEDS

comment "LED drivers"

config LEDS_88PM860X
tristate "LED Support for Marvell 88PM860x PMIC"
+ depends on LEDS_CLASS
depends on MFD_88PM860X
help
This option enables support for on-chip LED drivers found on Marvell
@@ -28,6 +28,7 @@ config LEDS_88PM860X

config LEDS_ATMEL_PWM
tristate "LED Support using Atmel PWM outputs"
+ depends on LEDS_CLASS
depends on ATMEL_PWM
help
This option enables support for LEDs driven using outputs
@@ -35,6 +36,7 @@ config LEDS_ATMEL_PWM

config LEDS_LOCOMO
tristate "LED Support for Locomo device"
+ depends on LEDS_CLASS
depends on SHARP_LOCOMO
help
This option enables support for the LEDs on Sharp Locomo.
@@ -42,6 +44,7 @@ config LEDS_LOCOMO

config LEDS_MIKROTIK_RB532
tristate "LED Support for Mikrotik Routerboard 532"
+ depends on LEDS_CLASS
depends on MIKROTIK_RB532
help
This option enables support for the so called "User LED" of
@@ -49,6 +52,7 @@ config LEDS_MIKROTIK_RB532

config LEDS_S3C24XX
tristate "LED Support for Samsung S3C24XX GPIO LEDs"
+ depends on LEDS_CLASS
depends on ARCH_S3C2410
help
This option enables support for LEDs connected to GPIO lines
@@ -56,12 +60,14 @@ config LEDS_S3C24XX

config LEDS_AMS_DELTA
tristate "LED Support for the Amstrad Delta (E3)"
+ depends on LEDS_CLASS
depends on MACH_AMS_DELTA
help
This option enables support for the LEDs on Amstrad Delta (E3).

config LEDS_NET48XX
tristate "LED Support for Soekris net48xx series Error LED"
+ depends on LEDS_CLASS
depends on SCx200_GPIO
help
This option enables support for the Soekris net4801 and net4826 error
@@ -79,18 +85,21 @@ config LEDS_NET5501

config LEDS_FSG
tristate "LED Support for the Freecom FSG-3"
+ depends on LEDS_CLASS
depends on MACH_FSG
help
This option enables support for the LEDs on the Freecom FSG-3.

config LEDS_WRAP
tristate "LED Support for the WRAP series LEDs"
+ depends on LEDS_CLASS
depends on SCx200_GPIO
help
This option enables support for the PCEngines WRAP programmable LEDs.

config LEDS_ALIX2
tristate "LED Support for ALIX.2 and ALIX.3 series"
+ depends on LEDS_CLASS
depends on X86 && !GPIO_CS5535 && !CS5535_GPIO
help
This option enables support for the PCEngines ALIX.2 and ALIX.3 LEDs.
@@ -98,12 +107,14 @@ config LEDS_ALIX2

config LEDS_H1940
tristate "LED Support for iPAQ H1940 device"
+ depends on LEDS_CLASS
depends on ARCH_H1940
help
This option enables support for the LEDs on the h1940.

config LEDS_COBALT_QUBE
tristate "LED Support for the Cobalt Qube series front LED"
+ depends on LEDS_CLASS
depends on MIPS_COBALT
help
This option enables support for the front LED on Cobalt Qube series
@@ -117,6 +128,7 @@ config LEDS_COBALT_RAQ

config LEDS_SUNFIRE
tristate "LED support for SunFire servers."
+ depends on LEDS_CLASS
depends on SPARC64
select LEDS_TRIGGERS
help
@@ -125,6 +137,7 @@ config LEDS_SUNFIRE

config LEDS_HP6XX
tristate "LED Support for the HP Jornada 6xx"
+ depends on LEDS_CLASS
depends on SH_HP6XX
help
This option enables LED support for the handheld
@@ -132,6 +145,7 @@ config LEDS_HP6XX

config LEDS_PCA9532
tristate "LED driver for PCA9532 dimmer"
+ depends on LEDS_CLASS
depends on I2C && INPUT && EXPERIMENTAL
help
This option enables support for NXP pca9532
@@ -140,6 +154,7 @@ config LEDS_PCA9532

config LEDS_GPIO
tristate "LED Support for GPIO connected LEDs"
+ depends on LEDS_CLASS
depends on GENERIC_GPIO
help
This option enables support for the LEDs connected to GPIO
@@ -167,6 +182,7 @@ config LEDS_GPIO_OF

config LEDS_LP3944
tristate "LED Support for N.S. LP3944 (Fun Light) I2C chip"
+ depends on LEDS_CLASS
depends on I2C
help
This option enables support for LEDs connected to the National
@@ -196,6 +212,7 @@ config LEDS_LP5523

config LEDS_CLEVO_MAIL
tristate "Mail LED on Clevo notebook"
+ depends on LEDS_CLASS
depends on X86 && SERIO_I8042 && DMI
help
This driver makes the mail LED accessible from userspace
@@ -226,6 +243,7 @@ config LEDS_CLEVO_MAIL

config LEDS_PCA955X
tristate "LED Support for PCA955x I2C chips"
+ depends on LEDS_CLASS
depends on I2C
help
This option enables support for LEDs connected to PCA955x
@@ -234,6 +252,7 @@ config LEDS_PCA955X

config LEDS_WM831X_STATUS
tristate "LED support for status LEDs on WM831x PMICs"
+ depends on LEDS_CLASS
depends on MFD_WM831X
help
This option enables support for the status LEDs of the WM831x
@@ -241,6 +260,7 @@ config LEDS_WM831X_STATUS

config LEDS_WM8350
tristate "LED Support for WM8350 AudioPlus PMIC"
+ depends on LEDS_CLASS
depends on MFD_WM8350
help
This option enables support for LEDs driven by the Wolfson
@@ -248,6 +268,7 @@ config LEDS_WM8350

config LEDS_DA903X
tristate "LED Support for DA9030/DA9034 PMIC"
+ depends on LEDS_CLASS
depends on PMIC_DA903X
help
This option enables support for on-chip LED drivers found
@@ -255,6 +276,7 @@ config LEDS_DA903X

config LEDS_DAC124S085
tristate "LED Support for DAC124S085 SPI DAC"
+ depends on LEDS_CLASS
depends on SPI
help
This option enables support for DAC124S085 SPI DAC from NatSemi,
@@ -262,18 +284,21 @@ config LEDS_DAC124S085

config LEDS_PWM
tristate "PWM driven LED Support"
+ depends on LEDS_CLASS
depends on HAVE_PWM
help
This option enables support for pwm driven LEDs

config LEDS_REGULATOR
tristate "REGULATOR driven LED support"
+ depends on LEDS_CLASS
depends on REGULATOR
help
This option enables support for regulator driven LEDs.

config LEDS_BD2802
tristate "LED driver for BD2802 RGB LED"
+ depends on LEDS_CLASS
depends on I2C
help
This option enables support for BD2802GU RGB LED driver chips
@@ -281,6 +306,7 @@ config LEDS_BD2802

config LEDS_INTEL_SS4200
tristate "LED driver for Intel NAS SS4200 series"
+ depends on LEDS_CLASS
depends on PCI && DMI
help
This option enables support for the Intel SS4200 series of
@@ -290,6 +316,7 @@ config LEDS_INTEL_SS4200

config LEDS_LT3593
tristate "LED driver for LT3593 controllers"
+ depends on LEDS_CLASS
depends on GENERIC_GPIO
help
This option enables support for LEDs driven by a Linear Technology
@@ -298,6 +325,7 @@ config LEDS_LT3593

config LEDS_ADP5520
tristate "LED Support for ADP5520/ADP5501 PMIC"
+ depends on LEDS_CLASS
depends on PMIC_ADP5520
help
This option enables support for on-chip LED drivers found
@@ -308,6 +336,7 @@ config LEDS_ADP5520

config LEDS_DELL_NETBOOKS
tristate "External LED on Dell Business Netbooks"
+ depends on LEDS_CLASS
depends on X86 && ACPI_WMI
help
This adds support for the Latitude 2100 and similar
@@ -315,6 +344,7 @@ config LEDS_DELL_NETBOOKS

config LEDS_MC13783
tristate "LED Support for MC13783 PMIC"
+ depends on LEDS_CLASS
depends on MFD_MC13783
help
This option enable support for on-chip LED drivers found
@@ -322,6 +352,7 @@ config LEDS_MC13783

config LEDS_NS2
tristate "LED support for Network Space v2 GPIO LEDs"
+ depends on LEDS_CLASS
depends on MACH_NETSPACE_V2 || MACH_INETSPACE_V2 || MACH_NETSPACE_MAX_V2 || D2NET_V2
default y
help
@@ -340,17 +371,17 @@ config LEDS_NETXBIG

config LEDS_TRIGGERS
bool "LED Trigger support"
+ depends on LEDS_CLASS
help
This option enables trigger support for the leds class.
These triggers allow kernel events to drive the LEDs and can
be configured via sysfs. If unsure, say Y.

-if LEDS_TRIGGERS
-
comment "LED Triggers"

config LEDS_TRIGGER_TIMER
tristate "LED Timer Trigger"
+ depends on LEDS_TRIGGERS
help
This allows LEDs to be controlled by a programmable timer
via sysfs. Some LED hardware can be programmed to start
@@ -362,12 +393,14 @@ config LEDS_TRIGGER_TIMER
config LEDS_TRIGGER_IDE_DISK
bool "LED IDE Disk Trigger"
depends on IDE_GD_ATA
+ depends on LEDS_TRIGGERS
help
This allows LEDs to be controlled by IDE disk activity.
If unsure, say Y.

config LEDS_TRIGGER_HEARTBEAT
tristate "LED Heartbeat Trigger"
+ depends on LEDS_TRIGGERS
help
This allows LEDs to be controlled by a CPU load average.
The flash frequency is a hyperbolic function of the 1-minute
@@ -376,6 +409,7 @@ config LEDS_TRIGGER_HEARTBEAT

config LEDS_TRIGGER_BACKLIGHT
tristate "LED backlight Trigger"
+ depends on LEDS_TRIGGERS
help
This allows LEDs to be controlled as a backlight device: they
turn off and on when the display is blanked and unblanked.
@@ -384,6 +418,7 @@ config LEDS_TRIGGER_BACKLIGHT

config LEDS_TRIGGER_GPIO
tristate "LED GPIO Trigger"
+ depends on LEDS_TRIGGERS
depends on GPIOLIB
help
This allows LEDs to be controlled by gpio events. It's good
@@ -396,6 +431,7 @@ config LEDS_TRIGGER_GPIO

config LEDS_TRIGGER_DEFAULT_ON
tristate "LED Default ON Trigger"
+ depends on LEDS_TRIGGERS
help
This allows LEDs to be initialised in the ON state.
If unsure, say Y.
@@ -403,8 +439,4 @@ config LEDS_TRIGGER_DEFAULT_ON
comment "iptables trigger is under Netfilter config (LED target)"
depends on LEDS_TRIGGERS

-endif # LEDS_TRIGGERS
-
-endif # LEDS_CLASS
-
endif # NEW_LEDS
--- wireless-testing.orig/drivers/macintosh/Kconfig 2010-11-23 10:36:39.000000000 +0100
+++ wireless-testing/drivers/macintosh/Kconfig 2010-11-23 10:37:38.000000000 +0100
@@ -102,6 +102,7 @@ config ADB_PMU_LED
config ADB_PMU_LED_IDE
bool "Use front LED as IDE LED by default"
depends on ADB_PMU_LED
+ depends on LEDS_CLASS
select LEDS_TRIGGERS
select LEDS_TRIGGER_IDE_DISK
help
--- wireless-testing.orig/net/mac80211/Kconfig 2010-11-23 10:36:39.000000000 +0100
+++ wireless-testing/net/mac80211/Kconfig 2010-11-23 10:37:41.000000000 +0100
@@ -93,7 +93,7 @@ config MAC80211_MESH
config MAC80211_LEDS
bool "Enable LED triggers"
depends on MAC80211
- select NEW_LEDS
+ depends on LEDS_CLASS
select LEDS_TRIGGERS
---help---
This option enables a few LED triggers for different


2010-11-23 09:59:34

by Ingo Molnar

[permalink] [raw]
Subject: Re: 5ada28bf76752 causes compilation error if !CONFIG_LEDS_CLASS


* Berg, Johannes <[email protected]> wrote:

> > It fails to build on x86 64-bit allmodconfig:
> >
> > drivers/leds/led-triggers.c:39:20: error: ‘TRIG_NAME_MAX’ undeclared
> > (first use in this function)
>
> Grr. I give up on the modular thing ...
>
> There are a whole bunch of ifdefs on TRIGGERS, which need to be
> || modular, but the easier thing is to remove the bool->tristate
> changes from my patch.

Please post a patch that does so.

Thanks,

Ingo

2010-11-29 23:04:10

by Andrew Morton

[permalink] [raw]
Subject: Re: 5ada28bf76752 causes compilation error if !CONFIG_LEDS_CLASS

On Tue, 23 Nov 2010 10:41:30 +0100
Johannes Berg <[email protected]> wrote:

> On Tue, 2010-11-23 at 09:17 +0000, Ingo Molnar wrote:
>
> > It fails to build on x86 64-bit allmodconfig:
>
> Let's not modify them to tristate then, too many ifdefs.
>
> johannes
>
>
> Subject: leds: fix up dependencies
> From: Johannes Berg <[email protected]>
>
> It's not useful to build LED triggers when
> there's no LEDs that can be triggered by
> them. Therefore, fix up the dependencies
> so that this cannot happen, and fix a few
> users that select triggers to depend on
> LEDS_CLASS as well (there is also one user
> that also selects LEDS_CLASS, which is OK).

Ingo, Randy: does this work for you?


From: Johannes Berg <[email protected]>

It's not useful to build LED triggers when there's no LEDs that can be
triggered by them. Therefore, fix up the dependencies so that this cannot
happen, and fix a few users that select triggers to depend on LEDS_CLASS
as well (there is also one user that also selects LEDS_CLASS, which is
OK).

Signed-off-by: Johannes Berg <[email protected]>
Reported-by: Randy Dunlap <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Arnd Hannemann <[email protected]>
Cc: Michal Hocko <[email protected]>
Cc: Richard Purdie <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
---

drivers/leds/Kconfig | 50 +++++++++++++++++++++++++++++-------
drivers/macintosh/Kconfig | 1
net/mac80211/Kconfig | 2 -
3 files changed, 43 insertions(+), 10 deletions(-)

diff -puN drivers/leds/Kconfig~leds-fix-up-dependencies drivers/leds/Kconfig
--- a/drivers/leds/Kconfig~leds-fix-up-dependencies
+++ a/drivers/leds/Kconfig
@@ -7,20 +7,20 @@ menuconfig NEW_LEDS
This is not related to standard keyboard LEDs which are controlled
via the input system.

-if NEW_LEDS
-
config LEDS_CLASS
bool "LED Class Support"
+ depends on NEW_LEDS
help
This option enables the led sysfs class in /sys/class/leds. You'll
need this to do anything useful with LEDs. If unsure, say N.

-if LEDS_CLASS
+if NEW_LEDS

comment "LED drivers"

config LEDS_88PM860X
tristate "LED Support for Marvell 88PM860x PMIC"
+ depends on LEDS_CLASS
depends on MFD_88PM860X
help
This option enables support for on-chip LED drivers found on Marvell
@@ -28,6 +28,7 @@ config LEDS_88PM860X

config LEDS_ATMEL_PWM
tristate "LED Support using Atmel PWM outputs"
+ depends on LEDS_CLASS
depends on ATMEL_PWM
help
This option enables support for LEDs driven using outputs
@@ -35,6 +36,7 @@ config LEDS_ATMEL_PWM

config LEDS_LOCOMO
tristate "LED Support for Locomo device"
+ depends on LEDS_CLASS
depends on SHARP_LOCOMO
help
This option enables support for the LEDs on Sharp Locomo.
@@ -42,6 +44,7 @@ config LEDS_LOCOMO

config LEDS_MIKROTIK_RB532
tristate "LED Support for Mikrotik Routerboard 532"
+ depends on LEDS_CLASS
depends on MIKROTIK_RB532
help
This option enables support for the so called "User LED" of
@@ -49,6 +52,7 @@ config LEDS_MIKROTIK_RB532

config LEDS_S3C24XX
tristate "LED Support for Samsung S3C24XX GPIO LEDs"
+ depends on LEDS_CLASS
depends on ARCH_S3C2410
help
This option enables support for LEDs connected to GPIO lines
@@ -56,12 +60,14 @@ config LEDS_S3C24XX

config LEDS_AMS_DELTA
tristate "LED Support for the Amstrad Delta (E3)"
+ depends on LEDS_CLASS
depends on MACH_AMS_DELTA
help
This option enables support for the LEDs on Amstrad Delta (E3).

config LEDS_NET48XX
tristate "LED Support for Soekris net48xx series Error LED"
+ depends on LEDS_CLASS
depends on SCx200_GPIO
help
This option enables support for the Soekris net4801 and net4826 error
@@ -79,18 +85,21 @@ config LEDS_NET5501

config LEDS_FSG
tristate "LED Support for the Freecom FSG-3"
+ depends on LEDS_CLASS
depends on MACH_FSG
help
This option enables support for the LEDs on the Freecom FSG-3.

config LEDS_WRAP
tristate "LED Support for the WRAP series LEDs"
+ depends on LEDS_CLASS
depends on SCx200_GPIO
help
This option enables support for the PCEngines WRAP programmable LEDs.

config LEDS_ALIX2
tristate "LED Support for ALIX.2 and ALIX.3 series"
+ depends on LEDS_CLASS
depends on X86 && !GPIO_CS5535 && !CS5535_GPIO
help
This option enables support for the PCEngines ALIX.2 and ALIX.3 LEDs.
@@ -98,12 +107,14 @@ config LEDS_ALIX2

config LEDS_H1940
tristate "LED Support for iPAQ H1940 device"
+ depends on LEDS_CLASS
depends on ARCH_H1940
help
This option enables support for the LEDs on the h1940.

config LEDS_COBALT_QUBE
tristate "LED Support for the Cobalt Qube series front LED"
+ depends on LEDS_CLASS
depends on MIPS_COBALT
help
This option enables support for the front LED on Cobalt Qube series
@@ -117,6 +128,7 @@ config LEDS_COBALT_RAQ

config LEDS_SUNFIRE
tristate "LED support for SunFire servers."
+ depends on LEDS_CLASS
depends on SPARC64
select LEDS_TRIGGERS
help
@@ -125,6 +137,7 @@ config LEDS_SUNFIRE

config LEDS_HP6XX
tristate "LED Support for the HP Jornada 6xx"
+ depends on LEDS_CLASS
depends on SH_HP6XX
help
This option enables LED support for the handheld
@@ -132,6 +145,7 @@ config LEDS_HP6XX

config LEDS_PCA9532
tristate "LED driver for PCA9532 dimmer"
+ depends on LEDS_CLASS
depends on I2C && INPUT && EXPERIMENTAL
help
This option enables support for NXP pca9532
@@ -140,6 +154,7 @@ config LEDS_PCA9532

config LEDS_GPIO
tristate "LED Support for GPIO connected LEDs"
+ depends on LEDS_CLASS
depends on GENERIC_GPIO
help
This option enables support for the LEDs connected to GPIO
@@ -167,6 +182,7 @@ config LEDS_GPIO_OF

config LEDS_LP3944
tristate "LED Support for N.S. LP3944 (Fun Light) I2C chip"
+ depends on LEDS_CLASS
depends on I2C
help
This option enables support for LEDs connected to the National
@@ -196,6 +212,7 @@ config LEDS_LP5523

config LEDS_CLEVO_MAIL
tristate "Mail LED on Clevo notebook"
+ depends on LEDS_CLASS
depends on X86 && SERIO_I8042 && DMI
help
This driver makes the mail LED accessible from userspace
@@ -226,6 +243,7 @@ config LEDS_CLEVO_MAIL

config LEDS_PCA955X
tristate "LED Support for PCA955x I2C chips"
+ depends on LEDS_CLASS
depends on I2C
help
This option enables support for LEDs connected to PCA955x
@@ -234,6 +252,7 @@ config LEDS_PCA955X

config LEDS_WM831X_STATUS
tristate "LED support for status LEDs on WM831x PMICs"
+ depends on LEDS_CLASS
depends on MFD_WM831X
help
This option enables support for the status LEDs of the WM831x
@@ -241,6 +260,7 @@ config LEDS_WM831X_STATUS

config LEDS_WM8350
tristate "LED Support for WM8350 AudioPlus PMIC"
+ depends on LEDS_CLASS
depends on MFD_WM8350
help
This option enables support for LEDs driven by the Wolfson
@@ -248,6 +268,7 @@ config LEDS_WM8350

config LEDS_DA903X
tristate "LED Support for DA9030/DA9034 PMIC"
+ depends on LEDS_CLASS
depends on PMIC_DA903X
help
This option enables support for on-chip LED drivers found
@@ -255,6 +276,7 @@ config LEDS_DA903X

config LEDS_DAC124S085
tristate "LED Support for DAC124S085 SPI DAC"
+ depends on LEDS_CLASS
depends on SPI
help
This option enables support for DAC124S085 SPI DAC from NatSemi,
@@ -262,18 +284,21 @@ config LEDS_DAC124S085

config LEDS_PWM
tristate "PWM driven LED Support"
+ depends on LEDS_CLASS
depends on HAVE_PWM
help
This option enables support for pwm driven LEDs

config LEDS_REGULATOR
tristate "REGULATOR driven LED support"
+ depends on LEDS_CLASS
depends on REGULATOR
help
This option enables support for regulator driven LEDs.

config LEDS_BD2802
tristate "LED driver for BD2802 RGB LED"
+ depends on LEDS_CLASS
depends on I2C
help
This option enables support for BD2802GU RGB LED driver chips
@@ -281,6 +306,7 @@ config LEDS_BD2802

config LEDS_INTEL_SS4200
tristate "LED driver for Intel NAS SS4200 series"
+ depends on LEDS_CLASS
depends on PCI && DMI
help
This option enables support for the Intel SS4200 series of
@@ -290,6 +316,7 @@ config LEDS_INTEL_SS4200

config LEDS_LT3593
tristate "LED driver for LT3593 controllers"
+ depends on LEDS_CLASS
depends on GENERIC_GPIO
help
This option enables support for LEDs driven by a Linear Technology
@@ -298,6 +325,7 @@ config LEDS_LT3593

config LEDS_ADP5520
tristate "LED Support for ADP5520/ADP5501 PMIC"
+ depends on LEDS_CLASS
depends on PMIC_ADP5520
help
This option enables support for on-chip LED drivers found
@@ -308,6 +336,7 @@ config LEDS_ADP5520

config LEDS_DELL_NETBOOKS
tristate "External LED on Dell Business Netbooks"
+ depends on LEDS_CLASS
depends on X86 && ACPI_WMI
help
This adds support for the Latitude 2100 and similar
@@ -315,6 +344,7 @@ config LEDS_DELL_NETBOOKS

config LEDS_MC13783
tristate "LED Support for MC13783 PMIC"
+ depends on LEDS_CLASS
depends on MFD_MC13783
help
This option enable support for on-chip LED drivers found
@@ -322,6 +352,7 @@ config LEDS_MC13783

config LEDS_NS2
tristate "LED support for Network Space v2 GPIO LEDs"
+ depends on LEDS_CLASS
depends on MACH_NETSPACE_V2 || MACH_INETSPACE_V2 || MACH_NETSPACE_MAX_V2 || D2NET_V2
default y
help
@@ -340,17 +371,17 @@ config LEDS_NETXBIG

config LEDS_TRIGGERS
bool "LED Trigger support"
+ depends on LEDS_CLASS
help
This option enables trigger support for the leds class.
These triggers allow kernel events to drive the LEDs and can
be configured via sysfs. If unsure, say Y.

-if LEDS_TRIGGERS
-
comment "LED Triggers"

config LEDS_TRIGGER_TIMER
tristate "LED Timer Trigger"
+ depends on LEDS_TRIGGERS
help
This allows LEDs to be controlled by a programmable timer
via sysfs. Some LED hardware can be programmed to start
@@ -362,12 +393,14 @@ config LEDS_TRIGGER_TIMER
config LEDS_TRIGGER_IDE_DISK
bool "LED IDE Disk Trigger"
depends on IDE_GD_ATA
+ depends on LEDS_TRIGGERS
help
This allows LEDs to be controlled by IDE disk activity.
If unsure, say Y.

config LEDS_TRIGGER_HEARTBEAT
tristate "LED Heartbeat Trigger"
+ depends on LEDS_TRIGGERS
help
This allows LEDs to be controlled by a CPU load average.
The flash frequency is a hyperbolic function of the 1-minute
@@ -376,6 +409,7 @@ config LEDS_TRIGGER_HEARTBEAT

config LEDS_TRIGGER_BACKLIGHT
tristate "LED backlight Trigger"
+ depends on LEDS_TRIGGERS
help
This allows LEDs to be controlled as a backlight device: they
turn off and on when the display is blanked and unblanked.
@@ -384,6 +418,7 @@ config LEDS_TRIGGER_BACKLIGHT

config LEDS_TRIGGER_GPIO
tristate "LED GPIO Trigger"
+ depends on LEDS_TRIGGERS
depends on GPIOLIB
help
This allows LEDs to be controlled by gpio events. It's good
@@ -396,6 +431,7 @@ config LEDS_TRIGGER_GPIO

config LEDS_TRIGGER_DEFAULT_ON
tristate "LED Default ON Trigger"
+ depends on LEDS_TRIGGERS
help
This allows LEDs to be initialised in the ON state.
If unsure, say Y.
@@ -403,8 +439,4 @@ config LEDS_TRIGGER_DEFAULT_ON
comment "iptables trigger is under Netfilter config (LED target)"
depends on LEDS_TRIGGERS

-endif # LEDS_TRIGGERS
-
-endif # LEDS_CLASS
-
endif # NEW_LEDS
diff -puN drivers/macintosh/Kconfig~leds-fix-up-dependencies drivers/macintosh/Kconfig
--- a/drivers/macintosh/Kconfig~leds-fix-up-dependencies
+++ a/drivers/macintosh/Kconfig
@@ -102,6 +102,7 @@ config ADB_PMU_LED
config ADB_PMU_LED_IDE
bool "Use front LED as IDE LED by default"
depends on ADB_PMU_LED
+ depends on LEDS_CLASS
select LEDS_TRIGGERS
select LEDS_TRIGGER_IDE_DISK
help
diff -puN net/mac80211/Kconfig~leds-fix-up-dependencies net/mac80211/Kconfig
--- a/net/mac80211/Kconfig~leds-fix-up-dependencies
+++ a/net/mac80211/Kconfig
@@ -92,7 +92,7 @@ config MAC80211_MESH
config MAC80211_LEDS
bool "Enable LED triggers"
depends on MAC80211
- select NEW_LEDS
+ depends on LEDS_CLASS
select LEDS_TRIGGERS
---help---
This option enables a few LED triggers for different
_

2010-11-30 00:25:11

by Randy Dunlap

[permalink] [raw]
Subject: Re: 5ada28bf76752 causes compilation error if !CONFIG_LEDS_CLASS

On 11/29/10 15:03, Andrew Morton wrote:
> On Tue, 23 Nov 2010 10:41:30 +0100
> Johannes Berg <[email protected]> wrote:
>
>> On Tue, 2010-11-23 at 09:17 +0000, Ingo Molnar wrote:
>>
>>> It fails to build on x86 64-bit allmodconfig:
>>
>> Let's not modify them to tristate then, too many ifdefs.
>>
>> johannes
>>
>>
>> Subject: leds: fix up dependencies
>> From: Johannes Berg <[email protected]>
>>
>> It's not useful to build LED triggers when
>> there's no LEDs that can be triggered by
>> them. Therefore, fix up the dependencies
>> so that this cannot happen, and fix a few
>> users that select triggers to depend on
>> LEDS_CLASS as well (there is also one user
>> that also selects LEDS_CLASS, which is OK).
>
> Ingo, Randy: does this work for you?
>

Yes, it passes all of my saved build failure cases.

Acked-by: Randy Dunlap <[email protected]>


>
> From: Johannes Berg <[email protected]>
>
> It's not useful to build LED triggers when there's no LEDs that can be
> triggered by them. Therefore, fix up the dependencies so that this cannot
> happen, and fix a few users that select triggers to depend on LEDS_CLASS
> as well (there is also one user that also selects LEDS_CLASS, which is
> OK).
>
> Signed-off-by: Johannes Berg <[email protected]>
> Reported-by: Randy Dunlap <[email protected]>
> Cc: Ingo Molnar <[email protected]>
> Cc: Arnd Hannemann <[email protected]>
> Cc: Michal Hocko <[email protected]>
> Cc: Richard Purdie <[email protected]>
> Signed-off-by: Andrew Morton <[email protected]>
> ---
>
> drivers/leds/Kconfig | 50 +++++++++++++++++++++++++++++-------
> drivers/macintosh/Kconfig | 1
> net/mac80211/Kconfig | 2 -
> 3 files changed, 43 insertions(+), 10 deletions(-)


--
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

2010-11-30 11:25:43

by Ingo Molnar

[permalink] [raw]
Subject: Re: 5ada28bf76752 causes compilation error if !CONFIG_LEDS_CLASS


* Andrew Morton <[email protected]> wrote:

> On Tue, 23 Nov 2010 10:41:30 +0100
> Johannes Berg <[email protected]> wrote:
>
> > On Tue, 2010-11-23 at 09:17 +0000, Ingo Molnar wrote:
> >
> > > It fails to build on x86 64-bit allmodconfig:
> >
> > Let's not modify them to tristate then, too many ifdefs.
> >
> > johannes
> >
> >
> > Subject: leds: fix up dependencies
> > From: Johannes Berg <[email protected]>
> >
> > It's not useful to build LED triggers when
> > there's no LEDs that can be triggered by
> > them. Therefore, fix up the dependencies
> > so that this cannot happen, and fix a few
> > users that select triggers to depend on
> > LEDS_CLASS as well (there is also one user
> > that also selects LEDS_CLASS, which is OK).
>
> Ingo, Randy: does this work for you?

Yes, it does, havent seen a leds build failure for some time.

Tested-by: Ingo Molnar <[email protected]>

Ingo