[RFC PATCH 27/35] drivers/tty changes for SMBIOS and System Firmware

From: Prarit Bhargava
Date: Tue May 31 2011 - 11:55:58 EST


drivers/tty changes for SMBIOS and System Firmware

---
drivers/tty/serial/pch_uart.c | 14 ++++++++++++--
1 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/drivers/tty/serial/pch_uart.c b/drivers/tty/serial/pch_uart.c
index f2cb750..ab2e2af 100644
--- a/drivers/tty/serial/pch_uart.c
+++ b/drivers/tty/serial/pch_uart.c
@@ -21,7 +21,7 @@
#include <linux/serial_core.h>
#include <linux/interrupt.h>
#include <linux/io.h>
-#include <linux/dmi.h>
+#include <linux/sysfw.h>

#include <linux/dmaengine.h>
#include <linux/pch_dma.h>
@@ -1386,6 +1386,16 @@ static struct uart_driver pch_uart_driver = {
.nr = PCH_UART_NR,
};

+static const struct sysfw_id pcih_uart_quirk_id[] = {
+ {
+ .ident = "CM-iTC",
+ .matches = {
+ SYSFW_MATCH(SYSFW_BOARD_NAME, "CM-iTC"),
+ },
+ },
+ {}
+};
+
static struct eg20t_port *pch_uart_init_port(struct pci_dev *pdev,
const struct pci_device_id *id)
{
@@ -1412,7 +1422,7 @@ static struct eg20t_port *pch_uart_init_port(struct pci_dev *pdev,
base_baud = 1843200; /* 1.8432MHz */

/* quirk for CM-iTC board */
- if (strstr(dmi_get_system_info(DMI_BOARD_NAME), "CM-iTC"))
+ if (sysfw_callback(pcih_uart_quirk_id))
base_baud = 192000000; /* 192.0MHz */

switch (port_type) {
--
1.7.5.1

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