summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Ziswiler <marcel.ziswiler@toradex.com>2012-10-18 13:33:38 +0200
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2012-10-18 13:33:38 +0200
commita99f6da1f7371f27d507d408fd3a2df9e2727592 (patch)
tree5f6d3c52571eacd507b2eb6c08cdc145d7c3e298
parent3624f8bc84b3ac16c314c231bed36d0eab162d7b (diff)
colibri_t20: analog input ugly hack
While the ADC platform data passing worked just fine in kernel 2.6.36.2 this currently fails. Therefore introduce an ugly hack to explicitly get said data via a board level call back.
-rw-r--r--arch/arm/mach-tegra/board-colibri_t20.c6
-rw-r--r--drivers/input/touchscreen/wm97xx-core.c10
2 files changed, 16 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/board-colibri_t20.c b/arch/arm/mach-tegra/board-colibri_t20.c
index db5946abf235..3f0bdf7a6bad 100644
--- a/arch/arm/mach-tegra/board-colibri_t20.c
+++ b/arch/arm/mach-tegra/board-colibri_t20.c
@@ -88,6 +88,12 @@ static struct platform_device colibri_t20_audio_device = {
.id = 0,
};
+void *get_colibri_t20_audio_platform_data(void)
+{
+ return &colibri_t20_wm97xx_pdata;
+}
+EXPORT_SYMBOL(get_colibri_t20_audio_platform_data);
+
#ifdef CAMERA_INTERFACE
/* Camera */
static struct platform_device tegra_camera = {
diff --git a/drivers/input/touchscreen/wm97xx-core.c b/drivers/input/touchscreen/wm97xx-core.c
index 5dbe73af2f8f..37b8d17a8334 100644
--- a/drivers/input/touchscreen/wm97xx-core.c
+++ b/drivers/input/touchscreen/wm97xx-core.c
@@ -54,6 +54,10 @@
#define WM_CORE_VERSION "1.00"
#define DEFAULT_PRESSURE 0xb0c0
+#ifdef CONFIG_MACH_COLIBRI_T20
+extern void *get_colibri_t20_audio_platform_data(void);
+#endif
+
/*
* Touchscreen absolute values
@@ -671,7 +675,13 @@ static int wm97xx_probe(struct device *dev)
}
platform_set_drvdata(wm->battery_dev, wm);
wm->battery_dev->dev.parent = dev;
+
+#ifdef CONFIG_MACH_COLIBRI_T20
+ wm->battery_dev->dev.platform_data = get_colibri_t20_audio_platform_data();
+#else
wm->battery_dev->dev.platform_data = pdata;
+#endif
+
ret = platform_device_add(wm->battery_dev);
if (ret < 0)
goto batt_reg_err;