summaryrefslogtreecommitdiffstats
path: root/target/linux/sunxi/patches-3.14/171-input-add-temp-sensor-support.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/sunxi/patches-3.14/171-input-add-temp-sensor-support.patch')
-rw-r--r--target/linux/sunxi/patches-3.14/171-input-add-temp-sensor-support.patch24
1 files changed, 8 insertions, 16 deletions
diff --git a/target/linux/sunxi/patches-3.14/171-input-add-temp-sensor-support.patch b/target/linux/sunxi/patches-3.14/171-input-add-temp-sensor-support.patch
index 3d0bdad31f..bad8df7687 100644
--- a/target/linux/sunxi/patches-3.14/171-input-add-temp-sensor-support.patch
+++ b/target/linux/sunxi/patches-3.14/171-input-add-temp-sensor-support.patch
@@ -17,8 +17,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
drivers/input/touchscreen/sun4i-ts.c | 140 ++++++++++++++++-----
2 files changed, 114 insertions(+), 31 deletions(-)
-diff --git a/Documentation/devicetree/bindings/input/touchscreen/sun4i.txt b/Documentation/devicetree/bindings/input/touchscreen/sun4i.txt
-index e45927e..6bac67b 100644
--- a/Documentation/devicetree/bindings/input/touchscreen/sun4i.txt
+++ b/Documentation/devicetree/bindings/input/touchscreen/sun4i.txt
@@ -6,10 +6,15 @@ Required properties:
@@ -37,8 +35,6 @@ index e45927e..6bac67b 100644
interrupts = <29>;
+ allwinner,ts-attached;
};
-diff --git a/drivers/input/touchscreen/sun4i-ts.c b/drivers/input/touchscreen/sun4i-ts.c
-index 5945219..16cbb01 100644
--- a/drivers/input/touchscreen/sun4i-ts.c
+++ b/drivers/input/touchscreen/sun4i-ts.c
@@ -3,6 +3,9 @@
@@ -77,7 +73,7 @@ index 5945219..16cbb01 100644
if (reg_val & FIFO_DATA_PENDING) {
x = readl(ts->base + TP_DATA);
-@@ -139,6 +141,20 @@ static irqreturn_t sun4i_ts_irq(int irq, void *dev_id)
+@@ -139,6 +141,20 @@ static irqreturn_t sun4i_ts_irq(int irq,
input_report_key(ts->input, BTN_TOUCH, 0);
input_sync(ts->input);
}
@@ -98,7 +94,7 @@ index 5945219..16cbb01 100644
writel(reg_val, ts->base + TP_INT_FIFOS);
-@@ -149,9 +165,9 @@ static int sun4i_ts_open(struct input_dev *dev)
+@@ -149,9 +165,9 @@ static int sun4i_ts_open(struct input_de
{
struct sun4i_ts_data *ts = input_get_drvdata(dev);
@@ -111,7 +107,7 @@ index 5945219..16cbb01 100644
return 0;
}
-@@ -160,15 +176,48 @@ static void sun4i_ts_close(struct input_dev *dev)
+@@ -160,15 +176,48 @@ static void sun4i_ts_close(struct input_
{
struct sun4i_ts_data *ts = input_get_drvdata(dev);
@@ -162,11 +158,12 @@ index 5945219..16cbb01 100644
ts = devm_kzalloc(dev, sizeof(struct sun4i_ts_data), GFP_KERNEL);
if (!ts)
-@@ -176,24 +225,27 @@ static int sun4i_ts_probe(struct platform_device *pdev)
+@@ -176,24 +225,27 @@ static int sun4i_ts_probe(struct platfor
ts->dev = dev;
ts->ignore_fifo_data = true;
--
++ ts->temp_data = -1;
+
- ts->input = devm_input_allocate_device(dev);
- if (!ts->input)
- return -ENOMEM;
@@ -184,8 +181,6 @@ index 5945219..16cbb01 100644
- input_set_abs_params(ts->input, ABS_X, 0, 4095, 0, 0);
- input_set_abs_params(ts->input, ABS_Y, 0, 4095, 0, 0);
- input_set_drvdata(ts->input, ts);
-+ ts->temp_data = -1;
-+
+ if (ts_attached) {
+ ts->input = devm_input_allocate_device(dev);
+ if (!ts->input)
@@ -208,7 +203,7 @@ index 5945219..16cbb01 100644
ts->base = devm_ioremap_resource(dev,
platform_get_resource(pdev, IORESOURCE_MEM, 0));
-@@ -232,14 +284,39 @@ static int sun4i_ts_probe(struct platform_device *pdev)
+@@ -232,14 +284,39 @@ static int sun4i_ts_probe(struct platfor
writel(STYLUS_UP_DEBOUN(5) | STYLUS_UP_DEBOUN_EN(1) | TP_MODE_EN(1),
ts->base + TP_CTRL1);
@@ -251,7 +246,7 @@ index 5945219..16cbb01 100644
static const struct of_device_id sun4i_ts_of_match[] = {
{ .compatible = "allwinner,sun4i-ts", },
{ /* sentinel */ }
-@@ -253,6 +330,7 @@ static struct platform_driver sun4i_ts_driver = {
+@@ -253,6 +330,7 @@ static struct platform_driver sun4i_ts_d
.of_match_table = of_match_ptr(sun4i_ts_of_match),
},
.probe = sun4i_ts_probe,
@@ -259,6 +254,3 @@ index 5945219..16cbb01 100644
};
module_platform_driver(sun4i_ts_driver);
---
-2.0.3
-