Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

backlight: da9052: Fix module autoload

The driver has a platform device ID table with multiple device entries,
each setting a different register address in its driver_data to control
the WLED brightness.

But the driver doesn't export these as aliases with MODULE_DEVICE_TABLE()
when the driver is built as a module, instead it just has a single alias
using MODULE_ALIAS("platform:da9052-backlight"). That is clearly wrong
since there isn't a "da9052-backlight" in the platform device ID table,
so if that device name is used, the device won't even match the driver.

So instead of having a wrong alias, export the ones in the dev ID table.

Before this patch:

$ modinfo drivers/video/backlight/da9052_bl.ko | grep alias
alias: platform:da9052-backlight

After this patch:

$ modinfo drivers/video/backlight/da9052_bl.ko | grep alias
alias: platform:da9052-wled3
alias: platform:da9052-wled2
alias: platform:da9052-wled1

Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
Acked-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
Acked-by: Jingoo Han <jingoohan1@gmail.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>

authored by

Javier Martinez Canillas and committed by
Lee Jones
bb82250f d1b81294

+1 -1
+1 -1
drivers/video/backlight/da9052_bl.c
··· 167 167 }, 168 168 { }, 169 169 }; 170 + MODULE_DEVICE_TABLE(platform, da9052_wled_ids); 170 171 171 172 static struct platform_driver da9052_wled_driver = { 172 173 .probe = da9052_backlight_probe, ··· 183 182 MODULE_AUTHOR("David Dajun Chen <dchen@diasemi.com>"); 184 183 MODULE_DESCRIPTION("Backlight driver for DA9052 PMIC"); 185 184 MODULE_LICENSE("GPL"); 186 - MODULE_ALIAS("platform:da9052-backlight");