Commit 9e36775c authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Lee Jones

mfd: kempld: Remove custom DMI matching code

The ->init() open codes the functionality of DMI matching code.
Moreover, all DMI quirks are using the same callback and driver_data.
With this in mind, refactor the DMI matching code.
Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20240423210706.3709568-1-andriy.shevchenko@linux.intel.comSigned-off-by: default avatarLee Jones <lee@kernel.org>
parent 20677b34
...@@ -129,9 +129,8 @@ static const struct kempld_platform_data kempld_platform_data_generic = { ...@@ -129,9 +129,8 @@ static const struct kempld_platform_data kempld_platform_data_generic = {
static struct platform_device *kempld_pdev; static struct platform_device *kempld_pdev;
static int kempld_create_platform_device(const struct dmi_system_id *id) static int kempld_create_platform_device(const struct kempld_platform_data *pdata)
{ {
const struct kempld_platform_data *pdata = id->driver_data;
const struct platform_device_info pdevinfo = { const struct platform_device_info pdevinfo = {
.name = "kempld", .name = "kempld",
.id = PLATFORM_DEVID_NONE, .id = PLATFORM_DEVID_NONE,
...@@ -497,375 +496,281 @@ static const struct dmi_system_id kempld_dmi_table[] __initconst = { ...@@ -497,375 +496,281 @@ static const struct dmi_system_id kempld_dmi_table[] __initconst = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "COMe-bBD"), DMI_MATCH(DMI_BOARD_NAME, "COMe-bBD"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "BBL6", .ident = "BBL6",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "COMe-bBL6"), DMI_MATCH(DMI_BOARD_NAME, "COMe-bBL6"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "BDV7", .ident = "BDV7",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "COMe-bDV7"), DMI_MATCH(DMI_BOARD_NAME, "COMe-bDV7"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "BHL6", .ident = "BHL6",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "COMe-bHL6"), DMI_MATCH(DMI_BOARD_NAME, "COMe-bHL6"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "BKL6", .ident = "BKL6",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "COMe-bKL6"), DMI_MATCH(DMI_BOARD_NAME, "COMe-bKL6"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "BSL6", .ident = "BSL6",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "COMe-bSL6"), DMI_MATCH(DMI_BOARD_NAME, "COMe-bSL6"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "CAL6", .ident = "CAL6",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "COMe-cAL"), DMI_MATCH(DMI_BOARD_NAME, "COMe-cAL"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "CBL6", .ident = "CBL6",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "COMe-cBL6"), DMI_MATCH(DMI_BOARD_NAME, "COMe-cBL6"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "CBW6", .ident = "CBW6",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "COMe-cBW6"), DMI_MATCH(DMI_BOARD_NAME, "COMe-cBW6"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "CCR2", .ident = "CCR2",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "COMe-bIP2"), DMI_MATCH(DMI_BOARD_NAME, "COMe-bIP2"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "CCR6", .ident = "CCR6",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "COMe-bIP6"), DMI_MATCH(DMI_BOARD_NAME, "COMe-bIP6"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "CDV7", .ident = "CDV7",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "COMe-cDV7"), DMI_MATCH(DMI_BOARD_NAME, "COMe-cDV7"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "CHL6", .ident = "CHL6",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "COMe-cHL6"), DMI_MATCH(DMI_BOARD_NAME, "COMe-cHL6"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "CHR2", .ident = "CHR2",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "ETXexpress-SC T2"), DMI_MATCH(DMI_BOARD_NAME, "ETXexpress-SC T2"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "CHR2", .ident = "CHR2",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "ETXe-SC T2"), DMI_MATCH(DMI_BOARD_NAME, "ETXe-SC T2"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "CHR2", .ident = "CHR2",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "COMe-bSC2"), DMI_MATCH(DMI_BOARD_NAME, "COMe-bSC2"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "CHR6", .ident = "CHR6",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "ETXexpress-SC T6"), DMI_MATCH(DMI_BOARD_NAME, "ETXexpress-SC T6"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "CHR6", .ident = "CHR6",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "ETXe-SC T6"), DMI_MATCH(DMI_BOARD_NAME, "ETXe-SC T6"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "CHR6", .ident = "CHR6",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "COMe-bSC6"), DMI_MATCH(DMI_BOARD_NAME, "COMe-bSC6"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "CKL6", .ident = "CKL6",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "COMe-cKL6"), DMI_MATCH(DMI_BOARD_NAME, "COMe-cKL6"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "CNTG", .ident = "CNTG",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "ETXexpress-PC"), DMI_MATCH(DMI_BOARD_NAME, "ETXexpress-PC"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "CNTG", .ident = "CNTG",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "COMe-bPC2"), DMI_MATCH(DMI_BOARD_NAME, "COMe-bPC2"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "CNTX", .ident = "CNTX",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "PXT"), DMI_MATCH(DMI_BOARD_NAME, "PXT"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "CSL6", .ident = "CSL6",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "COMe-cSL6"), DMI_MATCH(DMI_BOARD_NAME, "COMe-cSL6"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "CVV6", .ident = "CVV6",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "COMe-cBT"), DMI_MATCH(DMI_BOARD_NAME, "COMe-cBT"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "FRI2", .ident = "FRI2",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BIOS_VERSION, "FRI2"), DMI_MATCH(DMI_BIOS_VERSION, "FRI2"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "FRI2", .ident = "FRI2",
.matches = { .matches = {
DMI_MATCH(DMI_PRODUCT_NAME, "Fish River Island II"), DMI_MATCH(DMI_PRODUCT_NAME, "Fish River Island II"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "A203", .ident = "A203",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "KBox A-203"), DMI_MATCH(DMI_BOARD_NAME, "KBox A-203"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "M4A1", .ident = "M4A1",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "COMe-m4AL"), DMI_MATCH(DMI_BOARD_NAME, "COMe-m4AL"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "MAL1", .ident = "MAL1",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "COMe-mAL10"), DMI_MATCH(DMI_BOARD_NAME, "COMe-mAL10"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "MAPL", .ident = "MAPL",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "mITX-APL"), DMI_MATCH(DMI_BOARD_NAME, "mITX-APL"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "MBR1", .ident = "MBR1",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "ETX-OH"), DMI_MATCH(DMI_BOARD_NAME, "ETX-OH"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "MVV1", .ident = "MVV1",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "COMe-mBT"), DMI_MATCH(DMI_BOARD_NAME, "COMe-mBT"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "NTC1", .ident = "NTC1",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "nanoETXexpress-TT"), DMI_MATCH(DMI_BOARD_NAME, "nanoETXexpress-TT"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "NTC1", .ident = "NTC1",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "nETXe-TT"), DMI_MATCH(DMI_BOARD_NAME, "nETXe-TT"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "NTC1", .ident = "NTC1",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "COMe-mTT"), DMI_MATCH(DMI_BOARD_NAME, "COMe-mTT"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "NUP1", .ident = "NUP1",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "COMe-mCT"), DMI_MATCH(DMI_BOARD_NAME, "COMe-mCT"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "PAPL", .ident = "PAPL",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "pITX-APL"), DMI_MATCH(DMI_BOARD_NAME, "pITX-APL"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "SXAL", .ident = "SXAL",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "SMARC-sXAL"), DMI_MATCH(DMI_BOARD_NAME, "SMARC-sXAL"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "SXAL4", .ident = "SXAL4",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "SMARC-sXA4"), DMI_MATCH(DMI_BOARD_NAME, "SMARC-sXA4"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "UNP1", .ident = "UNP1",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "microETXexpress-DC"), DMI_MATCH(DMI_BOARD_NAME, "microETXexpress-DC"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "UNP1", .ident = "UNP1",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "COMe-cDC2"), DMI_MATCH(DMI_BOARD_NAME, "COMe-cDC2"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "UNTG", .ident = "UNTG",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "microETXexpress-PC"), DMI_MATCH(DMI_BOARD_NAME, "microETXexpress-PC"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "UNTG", .ident = "UNTG",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "COMe-cPC2"), DMI_MATCH(DMI_BOARD_NAME, "COMe-cPC2"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "UUP6", .ident = "UUP6",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "COMe-cCT6"), DMI_MATCH(DMI_BOARD_NAME, "COMe-cCT6"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "UTH6", .ident = "UTH6",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "COMe-cTH6"), DMI_MATCH(DMI_BOARD_NAME, "COMe-cTH6"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, { }, {
.ident = "Q7AL", .ident = "Q7AL",
.matches = { .matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
DMI_MATCH(DMI_BOARD_NAME, "Qseven-Q7AL"), DMI_MATCH(DMI_BOARD_NAME, "Qseven-Q7AL"),
}, },
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, },
{} {}
}; };
...@@ -874,18 +779,21 @@ MODULE_DEVICE_TABLE(dmi, kempld_dmi_table); ...@@ -874,18 +779,21 @@ MODULE_DEVICE_TABLE(dmi, kempld_dmi_table);
static int __init kempld_init(void) static int __init kempld_init(void)
{ {
const struct dmi_system_id *id; const struct dmi_system_id *id;
int ret = -ENODEV;
if (force_device_id[0]) { for (id = dmi_first_match(kempld_dmi_table); id; id = dmi_first_match(id + 1)) {
for (id = kempld_dmi_table; /* Check, if user asked for the exact device ID match */
id->matches[0].slot != DMI_NONE; id++) if (force_device_id[0] && !strstr(id->ident, force_device_id))
if (strstr(id->ident, force_device_id)) continue;
if (id->callback && !id->callback(id))
break; ret = kempld_create_platform_device(&kempld_platform_data_generic);
if (id->matches[0].slot == DMI_NONE) if (ret)
return -ENODEV; continue;
} else {
dmi_check_system(kempld_dmi_table); break;
} }
if (ret)
return ret;
return platform_driver_register(&kempld_driver); return platform_driver_register(&kempld_driver);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment