1 /*
2  * platform_emc1403.c: emc1403 platform data initialization file
3  *
4  * (C) Copyright 2013 Intel Corporation
5  * Author: Sathyanarayanan Kuppuswamy <sathyanarayanan.kuppuswamy@intel.com>
6  *
7  * This program is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License
9  * as published by the Free Software Foundation; version 2
10  * of the License.
11  */
12 
13 #include <linux/init.h>
14 #include <linux/gpio.h>
15 #include <linux/i2c.h>
16 #include <asm/intel-mid.h>
17 
emc1403_platform_data(void * info)18 static void __init *emc1403_platform_data(void *info)
19 {
20 	static short intr2nd_pdata;
21 	struct i2c_board_info *i2c_info = info;
22 	int intr = get_gpio_by_name("thermal_int");
23 	int intr2nd = get_gpio_by_name("thermal_alert");
24 
25 	if (intr < 0)
26 		return NULL;
27 	if (intr2nd < 0)
28 		return NULL;
29 
30 	i2c_info->irq = intr + INTEL_MID_IRQ_OFFSET;
31 	intr2nd_pdata = intr2nd + INTEL_MID_IRQ_OFFSET;
32 
33 	return &intr2nd_pdata;
34 }
35 
36 static const struct devs_id emc1403_dev_id __initconst = {
37 	.name = "emc1403",
38 	.type = SFI_DEV_TYPE_I2C,
39 	.delay = 1,
40 	.get_platform_data = &emc1403_platform_data,
41 };
42 
43 sfi_device(emc1403_dev_id);
44