From 14d10f0a48cdfa76773cadcbf0deb233282f6b94 Mon Sep 17 00:00:00 2001 From: Sreedhara DS Date: Mon, 26 Jul 2010 10:02:25 +0100 Subject: [PATCH] intel_scu_ipc: detect CPU type automatically Intel SCU message formats depend upon the processor type. Replace the module option with automatic detection of the processor type. Signed-off-by: Sreedhara DS Signed-off-by: Matthew Garrett --- drivers/platform/x86/intel_scu_ipc.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/drivers/platform/x86/intel_scu_ipc.c b/drivers/platform/x86/intel_scu_ipc.c index bb2f1fba637b..b6a03447ea63 100644 --- a/drivers/platform/x86/intel_scu_ipc.c +++ b/drivers/platform/x86/intel_scu_ipc.c @@ -23,7 +23,7 @@ #include #include #include -#include +#include #include /* IPC defines the following message types */ @@ -78,12 +78,9 @@ struct intel_scu_ipc_dev { static struct intel_scu_ipc_dev ipcdev; /* Only one for now */ -static int platform = 1; -module_param(platform, int, 0); -MODULE_PARM_DESC(platform, "1 for moorestown platform"); - - - +#define PLATFORM_LANGWELL 1 +#define PLATFORM_PENWELL 2 +static int platform; /* Platform type */ /* * IPC Read Buffer (Read Only): @@ -817,6 +814,14 @@ 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; + return pci_register_driver(&ipc_driver); }