From b26e34214c3d3aea9792c950d5e7fdb5bc5412b1 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 2 Apr 2017 10:29:55 +0200 Subject: kernel: update kernel 4.9 to 4.9.20 Signed-off-by: Hauke Mehrtens --- .../patches-4.9/0063-1-ipq806x-tsens-driver.patch | 15 +----- ...3-2-tsens-support-configurable-interrupts.patch | 54 +++++++++------------- ...om-use-scm_call-to-route-GPIO-irq-to-Apps.patch | 6 +-- 3 files changed, 26 insertions(+), 49 deletions(-) (limited to 'target/linux/ipq806x') diff --git a/target/linux/ipq806x/patches-4.9/0063-1-ipq806x-tsens-driver.patch b/target/linux/ipq806x/patches-4.9/0063-1-ipq806x-tsens-driver.patch index 691f32c5b6..685b0c3ce1 100644 --- a/target/linux/ipq806x/patches-4.9/0063-1-ipq806x-tsens-driver.patch +++ b/target/linux/ipq806x/patches-4.9/0063-1-ipq806x-tsens-driver.patch @@ -32,8 +32,6 @@ Signed-off-by: Rajith Cherian 5 files changed, 558 insertions(+), 2 deletions(-) create mode 100644 drivers/thermal/qcom/tsens-ipq8064.c -diff --git a/Documentation/devicetree/bindings/thermal/qcom-tsens.txt b/Documentation/devicetree/bindings/thermal/qcom-tsens.txt -index 292ed89..f4a76f6 100644 --- a/Documentation/devicetree/bindings/thermal/qcom-tsens.txt +++ b/Documentation/devicetree/bindings/thermal/qcom-tsens.txt @@ -5,6 +5,7 @@ Required properties: @@ -44,8 +42,6 @@ index 292ed89..f4a76f6 100644 - reg: Address range of the thermal registers - #thermal-sensor-cells : Should be 1. See ./thermal.txt for a description. -diff --git a/drivers/thermal/qcom/Makefile b/drivers/thermal/qcom/Makefile -index 2cc2193..cc07cf4 100644 --- a/drivers/thermal/qcom/Makefile +++ b/drivers/thermal/qcom/Makefile @@ -1,2 +1,3 @@ @@ -53,9 +49,6 @@ index 2cc2193..cc07cf4 100644 -qcom_tsens-y += tsens.o tsens-common.o tsens-8916.o tsens-8974.o tsens-8960.o tsens-8996.o +qcom_tsens-y += tsens.o tsens-common.o tsens-8916.o tsens-8974.o tsens-8960.o tsens-8996.o \ + tsens-ipq8064.o -diff --git a/drivers/thermal/qcom/tsens-ipq8064.c b/drivers/thermal/qcom/tsens-ipq8064.c -new file mode 100644 -index 0000000..c52888f --- /dev/null +++ b/drivers/thermal/qcom/tsens-ipq8064.c @@ -0,0 +1,551 @@ @@ -610,11 +603,9 @@ index 0000000..c52888f + .num_sensors = 11, + .ops = &ops_ipq8064, +}; -diff --git a/drivers/thermal/qcom/tsens.c b/drivers/thermal/qcom/tsens.c -index 3f9fe6a..2d25593 100644 --- a/drivers/thermal/qcom/tsens.c +++ b/drivers/thermal/qcom/tsens.c -@@ -72,6 +72,9 @@ static const struct of_device_id tsens_table[] = { +@@ -72,6 +72,9 @@ static const struct of_device_id tsens_t }, { .compatible = "qcom,msm8996-tsens", .data = &data_8996, @@ -624,11 +615,9 @@ index 3f9fe6a..2d25593 100644 }, {} }; -diff --git a/drivers/thermal/qcom/tsens.h b/drivers/thermal/qcom/tsens.h -index 911c197..31279a2 100644 --- a/drivers/thermal/qcom/tsens.h +++ b/drivers/thermal/qcom/tsens.h -@@ -89,6 +89,6 @@ void compute_intercept_slope(struct tsens_device *, u32 *, u32 *, u32); +@@ -89,6 +89,6 @@ void compute_intercept_slope(struct tsen int init_common(struct tsens_device *); int get_temp_common(struct tsens_device *, int, int *); diff --git a/target/linux/ipq806x/patches-4.9/0063-2-tsens-support-configurable-interrupts.patch b/target/linux/ipq806x/patches-4.9/0063-2-tsens-support-configurable-interrupts.patch index de9a8f8169..ca98970498 100644 --- a/target/linux/ipq806x/patches-4.9/0063-2-tsens-support-configurable-interrupts.patch +++ b/target/linux/ipq806x/patches-4.9/0063-2-tsens-support-configurable-interrupts.patch @@ -21,8 +21,6 @@ Signed-off-by: Rajith Cherian include/linux/thermal.h | 14 +++++ 6 files changed, 162 insertions(+), 17 deletions(-) -diff --git a/Documentation/devicetree/bindings/thermal/qcom-tsens.txt b/Documentation/devicetree/bindings/thermal/qcom-tsens.txt -index f4a76f6..7c0a6a7 100644 --- a/Documentation/devicetree/bindings/thermal/qcom-tsens.txt +++ b/Documentation/devicetree/bindings/thermal/qcom-tsens.txt @@ -12,11 +12,15 @@ Required properties: @@ -41,11 +39,9 @@ index f4a76f6..7c0a6a7 100644 + interrupts = <0 178 0>; #thermal-sensor-cells = <1>; }; -diff --git a/drivers/thermal/of-thermal.c b/drivers/thermal/of-thermal.c -index d04ec3b..d83697e 100644 --- a/drivers/thermal/of-thermal.c +++ b/drivers/thermal/of-thermal.c -@@ -95,7 +95,7 @@ static int of_thermal_get_temp(struct thermal_zone_device *tz, +@@ -95,7 +95,7 @@ static int of_thermal_get_temp(struct th { struct __thermal_zone *data = tz->devdata; @@ -54,7 +50,7 @@ index d04ec3b..d83697e 100644 return -EINVAL; return data->ops->get_temp(data->sensor_data, temp); -@@ -106,7 +106,8 @@ static int of_thermal_set_trips(struct thermal_zone_device *tz, +@@ -106,7 +106,8 @@ static int of_thermal_set_trips(struct t { struct __thermal_zone *data = tz->devdata; @@ -64,7 +60,7 @@ index d04ec3b..d83697e 100644 return -EINVAL; return data->ops->set_trips(data->sensor_data, low, high); -@@ -192,6 +193,9 @@ static int of_thermal_set_emul_temp(struct thermal_zone_device *tz, +@@ -192,6 +193,9 @@ static int of_thermal_set_emul_temp(stru { struct __thermal_zone *data = tz->devdata; @@ -74,7 +70,7 @@ index d04ec3b..d83697e 100644 return data->ops->set_emul_temp(data->sensor_data, temp); } -@@ -200,7 +204,7 @@ static int of_thermal_get_trend(struct thermal_zone_device *tz, int trip, +@@ -200,7 +204,7 @@ static int of_thermal_get_trend(struct t { struct __thermal_zone *data = tz->devdata; @@ -83,7 +79,7 @@ index d04ec3b..d83697e 100644 return -EINVAL; return data->ops->get_trend(data->sensor_data, trip, trend); -@@ -286,7 +290,9 @@ static int of_thermal_set_mode(struct thermal_zone_device *tz, +@@ -286,7 +290,9 @@ static int of_thermal_set_mode(struct th mutex_unlock(&tz->lock); data->mode = mode; @@ -94,7 +90,7 @@ index d04ec3b..d83697e 100644 return 0; } -@@ -296,7 +302,8 @@ static int of_thermal_get_trip_type(struct thermal_zone_device *tz, int trip, +@@ -296,7 +302,8 @@ static int of_thermal_get_trip_type(stru { struct __thermal_zone *data = tz->devdata; @@ -104,7 +100,7 @@ index d04ec3b..d83697e 100644 return -EDOM; *type = data->trips[trip].type; -@@ -304,12 +311,39 @@ static int of_thermal_get_trip_type(struct thermal_zone_device *tz, int trip, +@@ -304,12 +311,39 @@ static int of_thermal_get_trip_type(stru return 0; } @@ -145,7 +141,7 @@ index d04ec3b..d83697e 100644 return -EDOM; *temp = data->trips[trip].temperature; -@@ -322,7 +356,8 @@ static int of_thermal_set_trip_temp(struct thermal_zone_device *tz, int trip, +@@ -322,7 +356,8 @@ static int of_thermal_set_trip_temp(stru { struct __thermal_zone *data = tz->devdata; @@ -155,7 +151,7 @@ index d04ec3b..d83697e 100644 return -EDOM; if (data->ops->set_trip_temp) { -@@ -344,7 +379,8 @@ static int of_thermal_get_trip_hyst(struct thermal_zone_device *tz, int trip, +@@ -344,7 +379,8 @@ static int of_thermal_get_trip_hyst(stru { struct __thermal_zone *data = tz->devdata; @@ -165,7 +161,7 @@ index d04ec3b..d83697e 100644 return -EDOM; *hyst = data->trips[trip].hysteresis; -@@ -357,7 +393,8 @@ static int of_thermal_set_trip_hyst(struct thermal_zone_device *tz, int trip, +@@ -357,7 +393,8 @@ static int of_thermal_set_trip_hyst(stru { struct __thermal_zone *data = tz->devdata; @@ -175,7 +171,7 @@ index d04ec3b..d83697e 100644 return -EDOM; /* thermal framework should take care of data->mask & (1 << trip) */ -@@ -432,6 +469,9 @@ thermal_zone_of_add_sensor(struct device_node *zone, +@@ -432,6 +469,9 @@ thermal_zone_of_add_sensor(struct device if (ops->set_emul_temp) tzd->ops->set_emul_temp = of_thermal_set_emul_temp; @@ -185,7 +181,7 @@ index d04ec3b..d83697e 100644 mutex_unlock(&tzd->lock); return tzd; -@@ -726,7 +766,10 @@ static const char * const trip_types[] = { +@@ -726,7 +766,10 @@ static const char * const trip_types[] = [THERMAL_TRIP_ACTIVE] = "active", [THERMAL_TRIP_PASSIVE] = "passive", [THERMAL_TRIP_HOT] = "hot", @@ -197,11 +193,9 @@ index d04ec3b..d83697e 100644 }; /** -diff --git a/drivers/thermal/qcom/tsens.c b/drivers/thermal/qcom/tsens.c -index 2d25593..ac68af3 100644 --- a/drivers/thermal/qcom/tsens.c +++ b/drivers/thermal/qcom/tsens.c -@@ -31,7 +31,7 @@ static int tsens_get_temp(void *data, int *temp) +@@ -31,7 +31,7 @@ static int tsens_get_temp(void *data, in static int tsens_get_trend(void *p, int trip, enum thermal_trend *trend) { @@ -210,7 +204,7 @@ index 2d25593..ac68af3 100644 struct tsens_device *tmdev = s->tmdev; if (tmdev->ops->get_trend) -@@ -40,9 +40,10 @@ static int tsens_get_trend(void *p, int trip, enum thermal_trend *trend) +@@ -40,9 +40,10 @@ static int tsens_get_trend(void *p, int return -ENOTSUPP; } @@ -223,7 +217,7 @@ index 2d25593..ac68af3 100644 if (tmdev->ops && tmdev->ops->suspend) return tmdev->ops->suspend(tmdev); -@@ -50,9 +51,10 @@ static int __maybe_unused tsens_suspend(struct device *dev) +@@ -50,9 +51,10 @@ static int __maybe_unused tsens_suspend return 0; } @@ -236,7 +230,7 @@ index 2d25593..ac68af3 100644 if (tmdev->ops && tmdev->ops->resume) return tmdev->ops->resume(tmdev); -@@ -60,6 +62,30 @@ static int __maybe_unused tsens_resume(struct device *dev) +@@ -60,6 +62,30 @@ static int __maybe_unused tsens_resume(s return 0; } @@ -276,7 +270,7 @@ index 2d25593..ac68af3 100644 }; static int tsens_register(struct tsens_device *tmdev) -@@ -131,7 +159,7 @@ static int tsens_probe(struct platform_device *pdev) +@@ -131,7 +159,7 @@ static int tsens_probe(struct platform_d if (id) data = id->data; else @@ -285,7 +279,7 @@ index 2d25593..ac68af3 100644 if (data->num_sensors <= 0) { dev_err(dev, "invalid number of sensors\n"); -@@ -146,6 +174,9 @@ static int tsens_probe(struct platform_device *pdev) +@@ -146,6 +174,9 @@ static int tsens_probe(struct platform_d tmdev->dev = dev; tmdev->num_sensors = data->num_sensors; tmdev->ops = data->ops; @@ -295,8 +289,6 @@ index 2d25593..ac68af3 100644 for (i = 0; i < tmdev->num_sensors; i++) { if (data->hw_ids) tmdev->sensor[i].hw_id = data->hw_ids[i]; -diff --git a/drivers/thermal/qcom/tsens.h b/drivers/thermal/qcom/tsens.h -index 31279a2..54bbdc0 100644 --- a/drivers/thermal/qcom/tsens.h +++ b/drivers/thermal/qcom/tsens.h @@ -24,9 +24,12 @@ struct tsens_device; @@ -346,11 +338,9 @@ index 31279a2..54bbdc0 100644 struct tsens_sensor sensor[0]; }; -diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c -index 226b0b4..20bd624 100644 --- a/drivers/thermal/thermal_core.c +++ b/drivers/thermal/thermal_core.c -@@ -732,12 +732,48 @@ trip_point_type_show(struct device *dev, struct device_attribute *attr, +@@ -732,12 +732,48 @@ trip_point_type_show(struct device *dev, return sprintf(buf, "passive\n"); case THERMAL_TRIP_ACTIVE: return sprintf(buf, "active\n"); @@ -399,7 +389,7 @@ index 226b0b4..20bd624 100644 trip_point_temp_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) { -@@ -1321,7 +1357,7 @@ thermal_cooling_device_weight_store(struct device *dev, +@@ -1321,7 +1357,7 @@ thermal_cooling_device_weight_store(stru */ int thermal_zone_bind_cooling_device(struct thermal_zone_device *tz, int trip, @@ -408,7 +398,7 @@ index 226b0b4..20bd624 100644 unsigned long upper, unsigned long lower, unsigned int weight) { -@@ -1772,6 +1808,12 @@ static int create_trip_attrs(struct thermal_zone_device *tz, int mask) +@@ -1772,6 +1808,12 @@ static int create_trip_attrs(struct ther tz->trip_type_attrs[indx].attr.attr.mode = S_IRUGO; tz->trip_type_attrs[indx].attr.show = trip_point_type_show; @@ -421,8 +411,6 @@ index 226b0b4..20bd624 100644 device_create_file(&tz->device, &tz->trip_type_attrs[indx].attr); -diff --git a/include/linux/thermal.h b/include/linux/thermal.h -index 511182a..510a087 100644 --- a/include/linux/thermal.h +++ b/include/linux/thermal.h @@ -77,11 +77,19 @@ enum thermal_device_mode { diff --git a/target/linux/ipq806x/patches-4.9/0073-pinctrl-qom-use-scm_call-to-route-GPIO-irq-to-Apps.patch b/target/linux/ipq806x/patches-4.9/0073-pinctrl-qom-use-scm_call-to-route-GPIO-irq-to-Apps.patch index 2eac44d1e4..40656d1934 100644 --- a/target/linux/ipq806x/patches-4.9/0073-pinctrl-qom-use-scm_call-to-route-GPIO-irq-to-Apps.patch +++ b/target/linux/ipq806x/patches-4.9/0073-pinctrl-qom-use-scm_call-to-route-GPIO-irq-to-Apps.patch @@ -105,7 +105,7 @@ Signed-off-by: Ajay Kishore #include "../core.h" #include "../pinconf.h" #include "pinctrl-msm.h" -@@ -639,6 +640,9 @@ static int msm_gpio_irq_set_type(struct +@@ -635,6 +636,9 @@ static int msm_gpio_irq_set_type(struct const struct msm_pingroup *g; unsigned long flags; u32 val; @@ -115,7 +115,7 @@ Signed-off-by: Ajay Kishore g = &pctrl->soc->groups[d->hwirq]; -@@ -652,11 +656,30 @@ static int msm_gpio_irq_set_type(struct +@@ -648,11 +652,30 @@ static int msm_gpio_irq_set_type(struct else clear_bit(d->hwirq, pctrl->dual_edge_irqs); @@ -150,7 +150,7 @@ Signed-off-by: Ajay Kishore /* Update configuration for gpio. * RAW_STATUS_EN is left on for all gpio irqs. Due to the -@@ -930,4 +953,3 @@ int msm_pinctrl_remove(struct platform_d +@@ -926,4 +949,3 @@ int msm_pinctrl_remove(struct platform_d return 0; } EXPORT_SYMBOL(msm_pinctrl_remove); -- cgit v1.2.3