diff options
Diffstat (limited to 'drivers/platform')
| -rw-r--r-- | 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 bb2f1fba637b..b6a03447ea63 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): @@ -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);  } | 
