aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/platform/mrst/mrst.c
diff options
context:
space:
mode:
authorKirill A. Shutemov <kirill.shutemov@linux.intel.com>2012-03-08 11:02:20 -0500
committerDave Airlie <airlied@redhat.com>2012-03-10 08:05:48 -0500
commit026abc333205c1fff80138b8c2cac3d0347685f4 (patch)
treedbcb2ad763f96b5f0c99ec5650f477aa103a8528 /arch/x86/platform/mrst/mrst.c
parentc6265ff593467d472814aa9f16f89f6c1dc90a5d (diff)
gma500: initial medfield merge
We need to merge this ahead of some of the cleanup because a lot of needed cleanup spans both new and old chips. If we try and clean up and the merge we end up fighting ourselves. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> [With a load of the cleanup stuff folded in, register stuff reworked sanely] Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'arch/x86/platform/mrst/mrst.c')
-rw-r--r--arch/x86/platform/mrst/mrst.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/x86/platform/mrst/mrst.c b/arch/x86/platform/mrst/mrst.c
index 475e2cd0f3c3..b930cc43a235 100644
--- a/arch/x86/platform/mrst/mrst.c
+++ b/arch/x86/platform/mrst/mrst.c
@@ -28,6 +28,8 @@
28#include <linux/module.h> 28#include <linux/module.h>
29#include <linux/notifier.h> 29#include <linux/notifier.h>
30#include <linux/mfd/intel_msic.h> 30#include <linux/mfd/intel_msic.h>
31#include <linux/gpio.h>
32#include <linux/i2c/tc35876x.h>
31 33
32#include <asm/setup.h> 34#include <asm/setup.h>
33#include <asm/mpspec_def.h> 35#include <asm/mpspec_def.h>
@@ -686,6 +688,19 @@ static void *msic_ocd_platform_data(void *info)
686 return msic_generic_platform_data(info, INTEL_MSIC_BLOCK_OCD); 688 return msic_generic_platform_data(info, INTEL_MSIC_BLOCK_OCD);
687} 689}
688 690
691/* tc35876x DSI-LVDS bridge chip and panel platform data */
692static void *tc35876x_platform_data(void *data)
693{
694 static struct tc35876x_platform_data pdata;
695
696 /* gpio pins set to -1 will not be used by the driver */
697 pdata.gpio_bridge_reset = get_gpio_by_name("LCMB_RXEN");
698 pdata.gpio_panel_bl_en = get_gpio_by_name("6S6P_BL_EN");
699 pdata.gpio_panel_vadd = get_gpio_by_name("EN_VREG_LCD_V3P3");
700
701 return &pdata;
702}
703
689static const struct devs_id __initconst device_ids[] = { 704static const struct devs_id __initconst device_ids[] = {
690 {"bma023", SFI_DEV_TYPE_I2C, 1, &no_platform_data}, 705 {"bma023", SFI_DEV_TYPE_I2C, 1, &no_platform_data},
691 {"pmic_gpio", SFI_DEV_TYPE_SPI, 1, &pmic_gpio_platform_data}, 706 {"pmic_gpio", SFI_DEV_TYPE_SPI, 1, &pmic_gpio_platform_data},
@@ -698,6 +713,7 @@ static const struct devs_id __initconst device_ids[] = {
698 {"i2c_accel", SFI_DEV_TYPE_I2C, 0, &lis331dl_platform_data}, 713 {"i2c_accel", SFI_DEV_TYPE_I2C, 0, &lis331dl_platform_data},
699 {"pmic_audio", SFI_DEV_TYPE_IPC, 1, &no_platform_data}, 714 {"pmic_audio", SFI_DEV_TYPE_IPC, 1, &no_platform_data},
700 {"mpu3050", SFI_DEV_TYPE_I2C, 1, &mpu3050_platform_data}, 715 {"mpu3050", SFI_DEV_TYPE_I2C, 1, &mpu3050_platform_data},
716 {"i2c_disp_brig", SFI_DEV_TYPE_I2C, 0, &tc35876x_platform_data},
701 717
702 /* MSIC subdevices */ 718 /* MSIC subdevices */
703 {"msic_battery", SFI_DEV_TYPE_IPC, 1, &msic_battery_platform_data}, 719 {"msic_battery", SFI_DEV_TYPE_IPC, 1, &msic_battery_platform_data},