From 9dd3adeb00b14d4b3d106360e2e33272deab35f3 Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Mon, 26 Jul 2010 10:03:58 +0100 Subject: intel_scu_ipc: Use the new cpu identification function This provides an architecture level board identify function to replace the cpuid direct usage Signed-off-by: Alan Cox Signed-off-by: Matthew Garrett --- drivers/platform/x86/intel_scu_ipc.c | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) (limited to 'drivers/platform/x86') diff --git a/drivers/platform/x86/intel_scu_ipc.c b/drivers/platform/x86/intel_scu_ipc.c index 2245876836ec..5258749138d6 100644 --- a/drivers/platform/x86/intel_scu_ipc.c +++ b/drivers/platform/x86/intel_scu_ipc.c @@ -74,8 +74,6 @@ struct intel_scu_ipc_dev { static struct intel_scu_ipc_dev ipcdev; /* Only one for now */ -#define PLATFORM_LANGWELL 1 -#define PLATFORM_PENWELL 2 static int platform; /* Platform type */ /* @@ -169,7 +167,7 @@ static int pwr_reg_rdwr(u16 *addr, u8 *data, u32 count, u32 op, u32 id) return -ENODEV; } - if (platform == PLATFORM_LANGWELL) { + if (platform != MRST_CPU_CHIP_PENWELL) { /* Entry is 4 bytes for read/write, 5 bytes for read modify */ for (nc = 0; nc < count; nc++, offset += 3) { cbuf[offset] = addr[nc]; @@ -217,7 +215,7 @@ static int pwr_reg_rdwr(u16 *addr, u8 *data, u32 count, u32 op, u32 id) if (id == IPC_CMD_PCNTRL_R) { /* Read rbuf */ /* Workaround: values are read as 0 without memcpy_fromio */ memcpy_fromio(cbuf, ipcdev.ipc_base + 0x90, 16); - if (platform == PLATFORM_LANGWELL) { + if (platform != MRST_CPU_CHIP_PENWELL) { for (nc = 0, offset = 2; nc < count; nc++, offset += 3) data[nc] = ipc_data_readb(offset); } else { @@ -741,14 +739,9 @@ static struct pci_driver ipc_driver = { static int __init intel_scu_ipc_init(void) { - if (boot_cpu_data.x86 == 6 && - boot_cpu_data.x86_model == 0x27 && - boot_cpu_data.x86_mask == 1) - platform = PLATFORM_PENWELL; - else if (boot_cpu_data.x86 == 6 && - boot_cpu_data.x86_model == 0x26) - platform = PLATFORM_LANGWELL; - + platform = mrst_identify_cpu(); + if (platform == 0) + return -ENODEV; return pci_register_driver(&ipc_driver); } -- cgit v1.2.3