Re: [PATCH 2/2] mfd: intel_soc_pmic_chtwc: Fix module autoload

From: Hans de Goede
Date: Wed Aug 09 2017 - 08:03:05 EST


Hi,

On 09-08-17 10:44, Javier Martinez Canillas wrote:
The driver has a tristate Kconfig symbol so it can be built as a module,
but it doesn't export the device aliases in the module. So if the driver
is built as module, autoload won't work since udev/kmod won't be able to
match the registered ACPI device with its corresponding driver module.

Use the MODULE_DEVICE_TABLE() macro to export the ACPI device as alias.

Before this patch:

$ modinfo drivers/mfd/intel_soc_pmic_chtwc.ko | grep alias
$

After this patch

$ modinfo drivers/mfd/intel_soc_pmic_chtwc.ko | grep alias
alias: acpi*:INT34D3:*

Signed-off-by: Javier Martinez Canillas <javierm@xxxxxxxxxx>

As the Kconfig help text mentions this driver should always be
builtin if enabled. But I somehow made a mistake and it became a
tristate in Kconfig instead of a bool. A patch to fix this
(make it a bool) is pending, so this patch is not necessary:

NACK.

Regards,

Hans




---

drivers/mfd/intel_soc_pmic_chtwc.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/mfd/intel_soc_pmic_chtwc.c b/drivers/mfd/intel_soc_pmic_chtwc.c
index ca01ecd1e546..b8b38d164981 100644
--- a/drivers/mfd/intel_soc_pmic_chtwc.c
+++ b/drivers/mfd/intel_soc_pmic_chtwc.c
@@ -212,6 +212,7 @@ static const struct acpi_device_id cht_wc_acpi_ids[] = {
{ "INT34D3", },
{ }
};
+MODULE_DEVICE_TABLE(acpi, cht_wc_acpi_ids);
static struct i2c_driver cht_wc_driver = {
.driver = {