[PATCH] otg Kconfig: add missing select USB_OTG_UTILS to USB_ULPI option
Uwe Kleine-König
u.kleine-koenig at pengutronix.de
Mon Jan 18 03:46:22 EST 2010
Hello Valentin,
On Fri, Jan 15, 2010 at 06:32:11PM +0100, Valentin Longchamp wrote:
> Fixes a link error for mx3 platforms with ULPI host devices enabled. Should go for rc5 since it completes http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f9ffaa9ca9889f17ef30b82bc0bf954d141280f8 that was introduced in rc4.
Actually I think this is a seperate issue. f9ffaa9ca fixed arch code to
only use ULPI if it is configured to be available, your patch asserts
that the code is built-in for arch code if configured.
The problem is that with CONFIG_USB_ULPI=y + CONFIG_USB<=m +
CONFIGPCI=n + CONFIG_USB_OTG_UTILS=n drivers/usb/otg/ulpi.o isn't built-in.
So there are several ways to fix it:
- let CONFIG_USB_ULPI depend on CONFIG_USB_OTG_UTILS (as done here).
As drivers/Makefile has:
obj-$(CONFIG_USB_OTG_UTILS) += usb/otg/
this works fine. The downside is that CONFIG_USB_ULPI doesn't really
depend on CONFIG_USB_OTG_UTILS.
- add to drivers/Makefile
obj-$(CONFIG_USB_ULPI) += usb/otg/
. That's not pretty.
- rework the code that arch code doesn't need functions provided by
drivers/usb/otg/ulpi.c. That's my favorite, but probably needs some
work.
- extend Kconfig to have something like builtin-if-configured-modular.
Then we could have:
builtin-$(CONFIG_USB_ULPI) += ulpi.o
in drivers/usb/otg/Makefile resulting in ulpi.o being linked into
drivers/builtin.o even though drivers/usb wouldn't be considered for
building in.
Would be nice, but this looks more like a long-term-project.
That doesn't mean I'm against Valentin's patch, but IMHO the commit log
should at least contain the breaking config (i.e. CONFIG_USB_ULPI=y +
CONFIG_USB<=m + CONFIG_PCI=n + CONFIG_USB_OTG_UTILS=n) and the resulting
error (message).
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |
More information about the linux-arm-kernel
mailing list