lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 17 Jul 2013 13:15:40 -0700
From:	Darren Hart <dvhart@...ux.intel.com>
To:	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Cc:	Michael Brunner <mibru@....de>,
	Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Subject: Re: [PATCH 1/3] pch_uart: Use DMI interface for board detection

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@...ux.intel.com>
> Cc: Michael Brunner <mibru@....de>
> Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.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


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ