Intel SCU message formats depend upon the processor type. Replace the module option with automatic detection of the processor type. Resending the patch >From 443010eead6d69e3b60b460fd3f82344de95da5d Mon Sep 17 00:00:00 2001 From: Sreedhara DS <sreedhara.ds@xxxxxxxxx> Date: Fri, 28 May 2010 13:53:38 +0530 Subject: [PATCH] changes to find platform type during int modified: intel_scu_ipc.c Signed-off-by: Sreedhara DS <sreedhara.ds@xxxxxxxxx> --- drivers/platform/x86/intel_scu_ipc.c | 19 ++++++++++++------- 1 files changed, 12 insertions(+), 7 deletions(-) diff --git a/drivers/platform/x86/intel_scu_ipc.c b/drivers/platform/x86/intel_scu_ipc.c index 576c3ed..b2101ec 100644 --- a/drivers/platform/x86/intel_scu_ipc.c +++ b/drivers/platform/x86/intel_scu_ipc.c @@ -23,7 +23,7 @@ #include <linux/pm.h> #include <linux/pci.h> #include <linux/interrupt.h> -#include <asm/setup.h> +#include <asm/mrst.h> #include <asm/intel_scu_ipc.h> /* 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): @@ -813,6 +810,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); } -- 1.5.4.5
Attachment:
0001-changes-to-find-platform-type-during-int.patch
Description: 0001-changes-to-find-platform-type-during-int.patch