lkml.org 
[lkml]   [2013]   [Jul]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 1/3] pch_uart: Use DMI interface for board detection
From
Date
On Fri, 2013-07-12 at 17:58 -0700, Darren Hart wrote:
> Use the DMI interface rather than manually matching DMI strings.

Greg,

The rest of this series is either being dropped or has moved on to
netdev. This patch however remains unchanged. Would you like me to
resend individually or can you pull in this one?

Thanks,

Darren

>
> Signed-off-by: Darren Hart <dvhart@linux.intel.com>
> Cc: Michael Brunner <mibru@gmx.de>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> ---
> drivers/tty/serial/pch_uart.c | 71 +++++++++++++++++++++++++++++--------------
> 1 file changed, 49 insertions(+), 22 deletions(-)
>
> diff --git a/drivers/tty/serial/pch_uart.c b/drivers/tty/serial/pch_uart.c
> index 572d481..271cc73 100644
> --- a/drivers/tty/serial/pch_uart.c
> +++ b/drivers/tty/serial/pch_uart.c
> @@ -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;
> }

--
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel




\
 
 \ /
  Last update: 2013-07-17 22:41    [W:0.139 / U:0.760 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site