i2c: Fix module autoload for some i2c busses platform drivers
Subsystems (4)
cover i2c: Fix module autoload for some i2c busses platform drivers
Hello Wolfram,
I noticed that module autoload won't be working in some of the i2c busses drivers. This patch series contains the fixes for these.
Best regards,
Javier
Javier Martinez Canillas (4):
i2c: jz4780: Fix module autoload
i2c: xlp9xx: Fix module autoload
i2c: xlr: Fix module autoload for OF registration
i2c: digicolor: Fix module autoload
drivers/i2c/busses/i2c-digicolor.c | 1 + drivers/i2c/busses/i2c-jz4780.c | 1 + drivers/i2c/busses/i2c-xlp9xx.c | 1 + drivers/i2c/busses/i2c-xlr.c | 1 + 4 files changed, 4 insertions(+)
Signature · 1 line
2.7.4
PATCH 1/4 i2c: jz4780: Fix module autoload
If the driver is built as a module, autoload won't work because the module alias information is not filled. So user-space can't match the registered device with the corresponding module.
Export the module alias information using the MODULE_DEVICE_TABLE() macro.
Before this patch:
$ modinfo drivers/i2c/busses/i2c-jz4780.ko | grep alias $
After this patch:
$ modinfo drivers/i2c/busses/i2c-jz4780.ko | grep alias alias: of:N*T*Cingenic,jz4780-i2cC* alias: of:N*T*Cingenic,jz4780-i2c
---
drivers/i2c/busses/i2c-jz4780.c | 1 + 1 file changed, 1 insertion(+)
drivers/i2c/busses/i2c-jz4780.c +1 -0
@@ -729,6 +729,7 @@ static const struct of_device_id jz4780_i2c_of_matches[] = { { .compatible = "ingenic,jz4780-i2c", }, {/* sentinel */ } }; +MODULE_DEVICE_TABLE (of, jz4780_i2c_of_matches);static int jz4780_i2c_probe (struct platform_device *pdev) {
Signature · 1 line
2.7.4
PATCH 2/4 i2c: xlp9xx: Fix module autoload
In reply to Javier Martinez CanillasIf the driver is built as a module, autoload won't work because the module alias information is not filled. So user-space can't match the registered device with the corresponding module.
Export the module alias information using the MODULE_DEVICE_TABLE() macro.
Before this patch:
$ modinfo drivers/i2c/busses/i2c-xlp9xx.ko | grep alias $
After this patch:
$ modinfo drivers/i2c/busses/i2c-xlp9xx.ko | grep alias alias: of:N*T*Cnetlogic,xlp980-i2cC* alias: of:N*T*Cnetlogic,xlp980-i2c
---
drivers/i2c/busses/i2c-xlp9xx.c | 1 + 1 file changed, 1 insertion(+)
drivers/i2c/busses/i2c-xlp9xx.c +1 -0
@@ -426,6 +426,7 @@ static const struct of_device_id xlp9xx_i2c_of_match[] = { { .compatible = "netlogic,xlp980-i2c", }, { /* sentinel */ }, }; +MODULE_DEVICE_TABLE (of, xlp9xx_i2c_of_match);#ifdef CONFIG_ACPI static const struct acpi_device_id xlp9xx_i2c_acpi_ids[] = {
Signature · 1 line
2.7.4
PATCH 3/4 i2c: xlr: Fix module autoload for OF registration
In reply to Javier Martinez CanillasIf the driver is built as a module, autoload won't work because the module alias information is not filled. So user-space can't match the registered device with the corresponding module.
Export the module alias information using the MODULE_DEVICE_TABLE() macro.
Before this patch:
$ modinfo drivers/i2c/busses/i2c-xlr.ko | grep alias alias: platform:xlr-i2cbus
After this patch:
$ modinfo drivers/i2c/busses/i2c-xlr.ko | grep alias alias: platform:xlr-i2cbus alias: of:N*T*Csigma,smp8642-i2cC* alias: of:N*T*Csigma,smp8642-i2c
---
drivers/i2c/busses/i2c-xlr.c | 1 + 1 file changed, 1 insertion(+)
drivers/i2c/busses/i2c-xlr.c +1 -0
@@ -358,6 +358,7 @@ static const struct of_device_id xlr_i2c_dt_ids[] = { }, { } }; +MODULE_DEVICE_TABLE (of, xlr_i2c_dt_ids);static int xlr_i2c_probe (struct platform_device *pdev) {
Signature · 1 line
2.7.4
PATCH 4/4 i2c: digicolor: Fix module autoload
In reply to Javier Martinez CanillasIf the driver is built as a module, autoload won't work because the module alias information is not filled. So user-space can't match the registered device with the corresponding module.
Export the module alias information using the MODULE_DEVICE_TABLE() macro.
Before this patch:
$ modinfo drivers/i2c/busses/i2c-digicolor.ko | grep alias $
After this patch:
$ modinfo drivers/i2c/busses/i2c-digicolor.ko | grep alias alias: of:N*T*Ccnxt,cx92755-i2cC* alias: of:N*T*Ccnxt,cx92755-i2c
---
drivers/i2c/busses/i2c-digicolor.c | 1 + 1 file changed, 1 insertion(+)
drivers/i2c/busses/i2c-digicolor.c +1 -0
@@ -368,6 +368,7 @@ static const struct of_device_id dc_i2c_match[] = { { .compatible = "cnxt,cx92755-i2c" }, { }, }; +MODULE_DEVICE_TABLE (of, dc_i2c_match);static struct platform_driver dc_i2c_driver = { .probe = dc_i2c_probe,
Signature · 1 line
2.7.4
Re: [PATCH 4/4] i2c: digicolor: Fix module autoload
Hi Javier Martinez Canillas,
Quoted 11 lines · Javier Martinez Canillas
If the driver is built as a module, autoload won't work because the module alias information is not filled. So user-space can't match the registered device with the corresponding module.
Export the module alias information using the
MODULE_DEVICE_TABLE()macro.Before this patch:
$ modinfo drivers/i2c/busses/i2c-digicolor.ko | grep alias $
Quoted 7 lines
After this patch:
$ modinfo drivers/i2c/busses/i2c-digicolor.ko | grep alias alias: of:N*T*Ccnxt,cx92755-i2cC* alias: of:N*T*Ccnxt,cx92755-i2cSigned-off-by Javier Martinez Canillas <[email protected]>
Thanks,
baruch
Quoted 15 lines
drivers/i2c/busses/i2c-digicolor.c | 1 + 1 file changed, 1 insertion(+)drivers/i2c/busses/i2c-digicolor.c +1
-0@@ -368,6 +368,7 @@ static const struct of_device_id dc_i2c_match[] = { { .compatible = "cnxt,cx92755-i2c" }, { }, }; +MODULE_DEVICE_TABLE (of, dc_i2c_match);static struct platform_driver dc_i2c_driver = { .probe = dc_i2c_probe,
Signature · 3 lines
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -Wolfram Sang
AppliedQuoted 7 lines · Javier Martinez Canillas
Hello Wolfram,
I noticed that module autoload won't be working in some of the i2c busses drivers. This patch series contains the fixes for these.
Best regards,
Javier
Applied to for-current, thank you very much for doing this subsystem-wide!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20161025/a53437d0/attachment.sig>