[PATCH] staging: typec: fusb302: Fix module autoload
From: Javier Martinez Canillas
Date: Thu May 04 2017 - 02:34:06 EST
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 OF and I2C device ID table entries as module aliases, using the
MODULE_DEVICE_TABLE() macro.
Before this patch:
$ modinfo drivers/staging/typec/fusb302/fusb302.ko | grep alias
$
After this patch:
$ modinfo drivers/staging/typec/fusb302/fusb302.ko | grep alias
alias: of:N*T*Cfcs,fusb302C*
alias: of:N*T*Cfcs,fusb302
alias: i2c:typec_fusb302
Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx>
---
drivers/staging/typec/fusb302/fusb302.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/staging/typec/fusb302/fusb302.c b/drivers/staging/typec/fusb302/fusb302.c
index 2cee9a952c9b..aa460f93a293 100644
--- a/drivers/staging/typec/fusb302/fusb302.c
+++ b/drivers/staging/typec/fusb302/fusb302.c
@@ -1787,11 +1787,13 @@ static const struct of_device_id fusb302_dt_match[] = {
{.compatible = "fcs,fusb302"},
{},
};
+MODULE_DEVICE_TABLE(of, fusb302_dt_match);
static const struct i2c_device_id fusb302_i2c_device_id[] = {
{"typec_fusb302", 0},
{},
};
+MODULE_DEVICE_TABLE(i2c, fusb302_i2c_device_id);
static const struct dev_pm_ops fusb302_pm_ops = {
.suspend = fusb302_pm_suspend,
--
2.9.3