pch_uart: Use DMI interface for board detection
Use the DMI interface rather than manually matching DMI strings. Signed-off-by: Darren Hart <dvhart@linux.intel.com> Cc: Michael Brunner <mibru@gmx.de> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
7d12b9769f
commit
4e3234897f
|
@ -373,35 +373,62 @@ static const struct file_operations port_regs_ops = {
|
|||
};
|
||||
#endif /* CONFIG_DEBUG_FS */
|
||||
|
||||
static struct dmi_system_id __initdata pch_uart_dmi_table[] = {
|
||||
{
|
||||
.ident = "CM-iTC",
|
||||
{
|
||||
DMI_MATCH(DMI_BOARD_NAME, "CM-iTC"),
|
||||
},
|
||||
(void *)CMITC_UARTCLK,
|
||||
},
|
||||
{
|
||||
.ident = "FRI2",
|
||||
{
|
||||
DMI_MATCH(DMI_BIOS_VERSION, "FRI2"),
|
||||
},
|
||||
(void *)FRI2_64_UARTCLK,
|
||||
},
|
||||
{
|
||||
.ident = "Fish River Island II",
|
||||
{
|
||||
DMI_MATCH(DMI_PRODUCT_NAME, "Fish River Island II"),
|
||||
},
|
||||
(void *)FRI2_48_UARTCLK,
|
||||
},
|
||||
{
|
||||
.ident = "COMe-mTT",
|
||||
{
|
||||
DMI_MATCH(DMI_BOARD_NAME, "COMe-mTT"),
|
||||
},
|
||||
(void *)NTC1_UARTCLK,
|
||||
},
|
||||
{
|
||||
.ident = "nanoETXexpress-TT",
|
||||
{
|
||||
DMI_MATCH(DMI_BOARD_NAME, "nanoETXexpress-TT"),
|
||||
},
|
||||
(void *)NTC1_UARTCLK,
|
||||
},
|
||||
{
|
||||
.ident = "MinnowBoard",
|
||||
{
|
||||
DMI_MATCH(DMI_BOARD_NAME, "MinnowBoard"),
|
||||
},
|
||||
(void *)MINNOW_UARTCLK,
|
||||
},
|
||||
};
|
||||
|
||||
/* Return UART clock, checking for board specific clocks. */
|
||||
static int pch_uart_get_uartclk(void)
|
||||
{
|
||||
const char *cmp;
|
||||
const struct dmi_system_id *d;
|
||||
|
||||
if (user_uartclk)
|
||||
return user_uartclk;
|
||||
|
||||
cmp = dmi_get_system_info(DMI_BOARD_NAME);
|
||||
if (cmp && strstr(cmp, "CM-iTC"))
|
||||
return CMITC_UARTCLK;
|
||||
|
||||
cmp = dmi_get_system_info(DMI_BIOS_VERSION);
|
||||
if (cmp && strnstr(cmp, "FRI2", 4))
|
||||
return FRI2_64_UARTCLK;
|
||||
|
||||
cmp = dmi_get_system_info(DMI_PRODUCT_NAME);
|
||||
if (cmp && strstr(cmp, "Fish River Island II"))
|
||||
return FRI2_48_UARTCLK;
|
||||
|
||||
/* Kontron COMe-mTT10 (nanoETXexpress-TT) */
|
||||
cmp = dmi_get_system_info(DMI_BOARD_NAME);
|
||||
if (cmp && (strstr(cmp, "COMe-mTT") ||
|
||||
strstr(cmp, "nanoETXexpress-TT")))
|
||||
return NTC1_UARTCLK;
|
||||
|
||||
cmp = dmi_get_system_info(DMI_BOARD_NAME);
|
||||
if (cmp && strstr(cmp, "MinnowBoard"))
|
||||
return MINNOW_UARTCLK;
|
||||
d = dmi_first_match(pch_uart_dmi_table);
|
||||
if (d)
|
||||
return (int)d->driver_data;
|
||||
|
||||
return DEFAULT_UARTCLK;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue