diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig index 58e865c8e1eb..bdfce7b15621 100644 --- a/drivers/mfd/Kconfig +++ b/drivers/mfd/Kconfig @@ -730,33 +730,9 @@ config MFD_KEMPLD select MFD_CORE help This is the core driver for the PLD (Programmable Logic Device) found - on some Kontron ETX and COMexpress (ETXexpress) modules. The PLD - device may provide functions like watchdog, GPIO, UART and I2C bus. - - The following modules are supported: - * COMe-bBD# - * COMe-bBL6 - * COMe-bHL6 - * COMe-bSL6 - * COMe-bIP# - * COMe-bKL6 - * COMe-bPC2 (ETXexpress-PC) - * COMe-bSC# (ETXexpress-SC T#) - * COMe-cAL6 - * COMe-cBL6 - * COMe-cBT6 - * COMe-cBW6 - * COMe-cCT6 - * COMe-cDC2 (microETXexpress-DC) - * COMe-cHL6 - * COMe-cKL6 - * COMe-cPC2 (microETXexpress-PC) - * COMe-cSL6 - * COMe-mAL10 - * COMe-mBT10 - * COMe-mCT10 - * COMe-mTT10 (nanoETXexpress-TT) - * ETX-OH + on some Kontron ETX and nearly all COMexpress (ETXexpress) modules as + well as on some other Kontron products. The PLD device may provide + functions like watchdog, GPIO, UART and I2C bus. This driver can also be built as a module. If so, the module will be called kempld-core. diff --git a/drivers/mfd/kempld-core.c b/drivers/mfd/kempld-core.c index ecd26271b9a4..9166075c1f32 100644 --- a/drivers/mfd/kempld-core.c +++ b/drivers/mfd/kempld-core.c @@ -552,6 +552,7 @@ static int kempld_remove(struct platform_device *pdev) #ifdef CONFIG_ACPI static const struct acpi_device_id kempld_acpi_table[] = { + { "KEM0000", (kernel_ulong_t)&kempld_platform_data_generic }, { "KEM0001", (kernel_ulong_t)&kempld_platform_data_generic }, {} }; @@ -584,6 +585,14 @@ static const struct dmi_system_id kempld_dmi_table[] __initconst = { }, .driver_data = (void *)&kempld_platform_data_generic, .callback = kempld_create_platform_device, + }, { + .ident = "BDV7", + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), + DMI_MATCH(DMI_BOARD_NAME, "COMe-bDV7"), + }, + .driver_data = (void *)&kempld_platform_data_generic, + .callback = kempld_create_platform_device, }, { .ident = "BHL6", .matches = { @@ -648,6 +657,14 @@ static const struct dmi_system_id kempld_dmi_table[] __initconst = { }, .driver_data = (void *)&kempld_platform_data_generic, .callback = kempld_create_platform_device, + }, { + .ident = "CDV7", + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), + DMI_MATCH(DMI_BOARD_NAME, "COMe-cDV7"), + }, + .driver_data = (void *)&kempld_platform_data_generic, + .callback = kempld_create_platform_device, }, { .ident = "CHL6", .matches = { @@ -767,6 +784,22 @@ static const struct dmi_system_id kempld_dmi_table[] __initconst = { }, .driver_data = (void *)&kempld_platform_data_generic, .callback = kempld_create_platform_device, + }, { + .ident = "A203", + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), + DMI_MATCH(DMI_BOARD_NAME, "KBox A-203"), + }, + .driver_data = (void *)&kempld_platform_data_generic, + .callback = kempld_create_platform_device, + }, { + .ident = "M4A1", + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), + DMI_MATCH(DMI_BOARD_NAME, "COMe-m4AL"), + }, + .driver_data = (void *)&kempld_platform_data_generic, + .callback = kempld_create_platform_device, }, { .ident = "MAL1", .matches = { @@ -775,6 +808,14 @@ static const struct dmi_system_id kempld_dmi_table[] __initconst = { }, .driver_data = (void *)&kempld_platform_data_generic, .callback = kempld_create_platform_device, + }, { + .ident = "MAPL", + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), + DMI_MATCH(DMI_BOARD_NAME, "mITX-APL"), + }, + .driver_data = (void *)&kempld_platform_data_generic, + .callback = kempld_create_platform_device, }, { .ident = "MBR1", .matches = { @@ -823,6 +864,30 @@ static const struct dmi_system_id kempld_dmi_table[] __initconst = { }, .driver_data = (void *)&kempld_platform_data_generic, .callback = kempld_create_platform_device, + }, { + .ident = "PAPL", + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), + DMI_MATCH(DMI_BOARD_NAME, "pITX-APL"), + }, + .driver_data = (void *)&kempld_platform_data_generic, + .callback = kempld_create_platform_device, + }, { + .ident = "SXAL", + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), + DMI_MATCH(DMI_BOARD_NAME, "SMARC-sXAL"), + }, + .driver_data = (void *)&kempld_platform_data_generic, + .callback = kempld_create_platform_device, + }, { + .ident = "SXAL4", + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), + DMI_MATCH(DMI_BOARD_NAME, "SMARC-sXA4"), + }, + .driver_data = (void *)&kempld_platform_data_generic, + .callback = kempld_create_platform_device, }, { .ident = "UNP1", .matches = { @@ -863,8 +928,7 @@ static const struct dmi_system_id kempld_dmi_table[] __initconst = { }, .driver_data = (void *)&kempld_platform_data_generic, .callback = kempld_create_platform_device, - }, - { + }, { .ident = "UTH6", .matches = { DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), @@ -872,6 +936,14 @@ static const struct dmi_system_id kempld_dmi_table[] __initconst = { }, .driver_data = (void *)&kempld_platform_data_generic, .callback = kempld_create_platform_device, + }, { + .ident = "Q7AL", + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), + DMI_MATCH(DMI_BOARD_NAME, "Qseven-Q7AL"), + }, + .driver_data = (void *)&kempld_platform_data_generic, + .callback = kempld_create_platform_device, }, {} };