2008-01-07 11:24:18

by sudhir kumar

[permalink] [raw]
Subject: [2.6.24-rc6-mm1] Build Failure on ppc64 with CONFIG_USB_GADGET not set.

Hi Andrew!

Kernel build fails on my ppc64 machine. It seems to be a dependency
problem with CONFIG_USB_GADGET not set.
Config file is attached.

CC init/version.o
LD init/built-in.o
LD .tmp_vmlinux1
drivers/built-in.o: In function `oz99x_remove':
drivers/i2c/chips/oz99x.c:660: undefined reference to `.led_classdev_unregister'
drivers/built-in.o: In function `oz99x_configure_leds':
drivers/i2c/chips/oz99x.c:314: undefined reference to `.led_classdev_register'
make: *** [.tmp_vmlinux1] Error 1





Thanks,

Sudhir Kumar


Attachments:
(No filename) (546.00 B)
CONFIG (36.36 kB)
Download all attachments

2008-01-07 17:51:51

by Andrew Morton

[permalink] [raw]
Subject: Re: [2.6.24-rc6-mm1] Build Failure on ppc64 with CONFIG_USB_GADGET not set.

On Mon, 7 Jan 2008 16:53:58 +0530 "sudhir kumar" <[email protected]> wrote:

> Hi Andrew!
>
> Kernel build fails on my ppc64 machine. It seems to be a dependency
> problem with CONFIG_USB_GADGET not set.
> Config file is attached.
>
> CC init/version.o
> LD init/built-in.o
> LD .tmp_vmlinux1
> drivers/built-in.o: In function `oz99x_remove':
> drivers/i2c/chips/oz99x.c:660: undefined reference to `.led_classdev_unregister'
> drivers/built-in.o: In function `oz99x_configure_leds':
> drivers/i2c/chips/oz99x.c:314: undefined reference to `.led_classdev_register'
> make: *** [.tmp_vmlinux1] Error 1
>

Strange.

oz99x-i2c-button-and-led-support-driver.patch has

+config OZ99X
+ tristate "O2 Micro/ETC OZ990/OZ992 SMBus chip"
+ depends on I2C
+ select INPUT_POLLDEV
+ select LEDS_CLASS

and your .config gives

box:/usr/src/25> grep LEDS .config
# CONFIG_NEW_LEDS is not set
CONFIG_LEDS_CLASS=y

so drivers/leds/led-class.o should be linked into your vmlinux. But that
obviously isn't happening.

2008-01-07 19:15:42

by Sam Ravnborg

[permalink] [raw]
Subject: Re: [2.6.24-rc6-mm1] Build Failure on ppc64 with CONFIG_USB_GADGET not set.

On Mon, Jan 07, 2008 at 09:49:55AM -0800, Andrew Morton wrote:
> On Mon, 7 Jan 2008 16:53:58 +0530 "sudhir kumar" <[email protected]> wrote:
>
> > Hi Andrew!
> >
> > Kernel build fails on my ppc64 machine. It seems to be a dependency
> > problem with CONFIG_USB_GADGET not set.
> > Config file is attached.
> >
> > CC init/version.o
> > LD init/built-in.o
> > LD .tmp_vmlinux1
> > drivers/built-in.o: In function `oz99x_remove':
> > drivers/i2c/chips/oz99x.c:660: undefined reference to `.led_classdev_unregister'
> > drivers/built-in.o: In function `oz99x_configure_leds':
> > drivers/i2c/chips/oz99x.c:314: undefined reference to `.led_classdev_register'
> > make: *** [.tmp_vmlinux1] Error 1
> >
>
> Strange.
>
> oz99x-i2c-button-and-led-support-driver.patch has
>
> +config OZ99X
> + tristate "O2 Micro/ETC OZ990/OZ992 SMBus chip"
> + depends on I2C
> + select INPUT_POLLDEV
> + select LEDS_CLASS
>
> and your .config gives
>
> box:/usr/src/25> grep LEDS .config
> # CONFIG_NEW_LEDS is not set
> CONFIG_LEDS_CLASS=y
>
> so drivers/leds/led-class.o should be linked into your vmlinux. But that
> obviously isn't happening.
Because CONFIG_NEW_LEDS is not set we do not visit drivers/leds due to:
obj-$(CONFIG_NEW_LEDS) += leds/
in drivers/Makefile

This is evil select playing games (again).
We have LEDS_CLASS equal y but NEW_LEDS equal n

Sam

2008-01-07 19:39:13

by Andrew Morton

[permalink] [raw]
Subject: Re: [2.6.24-rc6-mm1] Build Failure on ppc64 with CONFIG_USB_GADGET not set.

On Mon, 7 Jan 2008 20:15:31 +0100
Sam Ravnborg <[email protected]> wrote:

> On Mon, Jan 07, 2008 at 09:49:55AM -0800, Andrew Morton wrote:
> > On Mon, 7 Jan 2008 16:53:58 +0530 "sudhir kumar" <[email protected]> wrote:
> >
> > > Hi Andrew!
> > >
> > > Kernel build fails on my ppc64 machine. It seems to be a dependency
> > > problem with CONFIG_USB_GADGET not set.
> > > Config file is attached.
> > >
> > > CC init/version.o
> > > LD init/built-in.o
> > > LD .tmp_vmlinux1
> > > drivers/built-in.o: In function `oz99x_remove':
> > > drivers/i2c/chips/oz99x.c:660: undefined reference to `.led_classdev_unregister'
> > > drivers/built-in.o: In function `oz99x_configure_leds':
> > > drivers/i2c/chips/oz99x.c:314: undefined reference to `.led_classdev_register'
> > > make: *** [.tmp_vmlinux1] Error 1
> > >
> >
> > Strange.
> >
> > oz99x-i2c-button-and-led-support-driver.patch has
> >
> > +config OZ99X
> > + tristate "O2 Micro/ETC OZ990/OZ992 SMBus chip"
> > + depends on I2C
> > + select INPUT_POLLDEV
> > + select LEDS_CLASS
> >
> > and your .config gives
> >
> > box:/usr/src/25> grep LEDS .config
> > # CONFIG_NEW_LEDS is not set
> > CONFIG_LEDS_CLASS=y
> >
> > so drivers/leds/led-class.o should be linked into your vmlinux. But that
> > obviously isn't happening.
> Because CONFIG_NEW_LEDS is not set we do not visit drivers/leds due to:
> obj-$(CONFIG_NEW_LEDS) += leds/
> in drivers/Makefile
>
> This is evil select playing games (again).
> We have LEDS_CLASS equal y but NEW_LEDS equal n
>

Ah, OK, thanks.

I'll switch oz99x-i2c-button-and-led-support-driver.patch over to using
non-evil `depends on LEDS_CLASS'.

2008-01-07 20:52:54

by Hendrik Sattler

[permalink] [raw]
Subject: Re: [2.6.24-rc6-mm1] Build Failure on ppc64 with CONFIG_USB_GADGET not set.

Hi,

Am Montag 07 Januar 2008 schrieb Andrew Morton:
> Sam Ravnborg <[email protected]> wrote:
> > This is evil select playing games (again).
> > We have LEDS_CLASS equal y but NEW_LEDS equal n
>
> Ah, OK, thanks.
>
> I'll switch oz99x-i2c-button-and-led-support-driver.patch over to using
> non-evil `depends on LEDS_CLASS'.

If you wait a moment, I'll send you an updated patch that makes LED support
optional in the driver.

HS