If the led-class and usb-common modules are built into the kernel, the usb-common module could be initialized earlier than the led-class module.
So when the ledtrig_usb_gadget and ledtrig_usb_host LED triggers are registered by usb-common module, the leds_class could not be initialized yet. We are going to populate sub-directories, each representing an LED trigger in /sys/class/triggers/, so leds_class needs to be initialized before any LED triggers is registered. This makes led-class initialize earlier then usb-common by changing initcall group. Cc: Greg Kroah-Hartman <[email protected]> Cc: "Rafael J. Wysocki" <[email protected]> Cc: Jacek Anaszewski <[email protected]> Cc: Pavel Machek <[email protected]> Cc: Dan Murphy <[email protected]> Signed-off-by: Akinobu Mita <[email protected]> --- drivers/leds/led-class.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/leds/led-class.c b/drivers/leds/led-class.c index 8b5a1d1..7d85181 100644 --- a/drivers/leds/led-class.c +++ b/drivers/leds/led-class.c @@ -424,7 +424,7 @@ static void __exit leds_exit(void) class_destroy(leds_class); } -subsys_initcall(leds_init); +postcore_initcall(leds_init); module_exit(leds_exit); MODULE_AUTHOR("John Lenz, Richard Purdie"); -- 2.7.4

