aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm63xx/patches-5.4/143-gpio-fix-device-tree-gpio-hogs-on-dual-role-gpio-pin.patch
diff options
context:
space:
mode:
authorAdrian Schmutzler <freifunk@adrianschmutzler.de>2020-04-03 15:28:10 +0200
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>2020-04-12 12:36:43 +0200
commit04c07e05a119d860b4d3b3191ff78d699aa5c209 (patch)
tree81c249a041728ae46aef05e47ea33e5fd240432f /target/linux/bcm63xx/patches-5.4/143-gpio-fix-device-tree-gpio-hogs-on-dual-role-gpio-pin.patch
parentf8f1dc6eab935f90b31401d87f412e3f8769dfd0 (diff)
downloadupstream-04c07e05a119d860b4d3b3191ff78d699aa5c209.tar.gz
upstream-04c07e05a119d860b4d3b3191ff78d699aa5c209.tar.bz2
upstream-04c07e05a119d860b4d3b3191ff78d699aa5c209.zip
bcm63xx: refresh patches for kernel 5.4
Refresh patches to make them apply to kernel 5.4. The removed patches have been merged upstream. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Diffstat (limited to 'target/linux/bcm63xx/patches-5.4/143-gpio-fix-device-tree-gpio-hogs-on-dual-role-gpio-pin.patch')
-rw-r--r--target/linux/bcm63xx/patches-5.4/143-gpio-fix-device-tree-gpio-hogs-on-dual-role-gpio-pin.patch52
1 files changed, 24 insertions, 28 deletions
diff --git a/target/linux/bcm63xx/patches-5.4/143-gpio-fix-device-tree-gpio-hogs-on-dual-role-gpio-pin.patch b/target/linux/bcm63xx/patches-5.4/143-gpio-fix-device-tree-gpio-hogs-on-dual-role-gpio-pin.patch
index 13225beae6..ea836b8a80 100644
--- a/target/linux/bcm63xx/patches-5.4/143-gpio-fix-device-tree-gpio-hogs-on-dual-role-gpio-pin.patch
+++ b/target/linux/bcm63xx/patches-5.4/143-gpio-fix-device-tree-gpio-hogs-on-dual-role-gpio-pin.patch
@@ -29,7 +29,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
--- a/drivers/gpio/gpiolib-of.c
+++ b/drivers/gpio/gpiolib-of.c
-@@ -363,12 +363,15 @@ static struct gpio_desc *of_parse_own_gp
+@@ -621,12 +621,15 @@ static struct gpio_desc *of_parse_own_gp
/**
* of_gpiochip_scan_gpios - Scan gpio-controller for gpio definitions
* @chip: gpio chip to act on
@@ -48,8 +48,8 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
{
struct gpio_desc *desc = NULL;
struct device_node *np;
-@@ -376,7 +379,7 @@ static int of_gpiochip_scan_gpios(struct
- enum gpio_lookup_flags lflags;
+@@ -634,7 +637,7 @@ static int of_gpiochip_scan_gpios(struct
+ unsigned long lflags;
enum gpiod_flags dflags;
unsigned int i;
- int ret;
@@ -57,7 +57,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
for_each_available_child_of_node(chip->of_node, np) {
if (!of_property_read_bool(np, "gpio-hog"))
-@@ -388,6 +391,10 @@ static int of_gpiochip_scan_gpios(struct
+@@ -646,6 +649,10 @@ static int of_gpiochip_scan_gpios(struct
if (IS_ERR(desc))
break;
@@ -68,28 +68,24 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
ret = gpiod_hog(desc, name, lflags, dflags);
if (ret < 0) {
of_node_put(np);
-@@ -646,12 +653,13 @@ int of_gpiochip_add(struct gpio_chip *ch
+@@ -904,9 +911,11 @@ int of_gpiochip_add(struct gpio_chip *ch
of_node_get(chip->of_node);
-- status = of_gpiochip_scan_gpios(chip);
-- if (status) {
+- ret = of_gpiochip_scan_gpios(chip);
+- if (ret)
- of_node_put(chip->of_node);
-- gpiochip_remove_pin_ranges(chip);
+ if (!chip->request) {
-+ status = of_gpiochip_scan_gpios(chip, 0, chip->ngpio);
-+ if (status) {
++ ret = of_gpiochip_scan_gpios(chip, 0, chip->ngpio);
++ if (ret)
+ of_node_put(chip->of_node);
-+ gpiochip_remove_pin_ranges(chip);
-+ }
- }
--
- return status;
- }
++ }
+ return ret;
+ }
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
-@@ -2205,7 +2205,8 @@ int gpiochip_add_pingroup_range(struct g
+@@ -2580,7 +2580,8 @@ int gpiochip_add_pingroup_range(struct g
list_add_tail(&pin_range->node, &gdev->pin_ranges);
@@ -99,7 +95,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
}
EXPORT_SYMBOL_GPL(gpiochip_add_pingroup_range);
-@@ -2262,7 +2263,7 @@ int gpiochip_add_pin_range(struct gpio_c
+@@ -2637,7 +2638,7 @@ int gpiochip_add_pin_range(struct gpio_c
list_add_tail(&pin_range->node, &gdev->pin_ranges);
@@ -108,18 +104,18 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
}
EXPORT_SYMBOL_GPL(gpiochip_add_pin_range);
---- a/drivers/gpio/gpiolib.h
-+++ b/drivers/gpio/gpiolib.h
-@@ -103,6 +103,8 @@ struct gpio_desc *of_get_named_gpiod_fla
- const char *list_name, int index, enum of_gpio_flags *flags);
+--- a/drivers/gpio/gpiolib-of.h
++++ b/drivers/gpio/gpiolib-of.h
+@@ -13,6 +13,8 @@ struct gpio_desc *of_find_gpio(struct de
+ unsigned long *lookupflags);
int of_gpiochip_add(struct gpio_chip *gc);
void of_gpiochip_remove(struct gpio_chip *gc);
+int of_gpiochip_scan_gpios(struct gpio_chip *chip, unsigned int start,
+ unsigned int num);
+ int of_gpio_get_count(struct device *dev, const char *con_id);
+ bool of_gpio_need_valid_mask(const struct gpio_chip *gc);
#else
- static inline struct gpio_desc *of_find_gpio(struct device *dev,
- const char *con_id,
-@@ -118,6 +120,12 @@ static inline struct gpio_desc *of_get_n
+@@ -25,6 +27,12 @@ static inline struct gpio_desc *of_find_
}
static inline int of_gpiochip_add(struct gpio_chip *gc) { return 0; }
static inline void of_gpiochip_remove(struct gpio_chip *gc) { }
@@ -129,6 +125,6 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
+{
+ return 0;
+}
- #endif /* CONFIG_OF_GPIO */
-
- #ifdef CONFIG_ACPI
+ static inline int of_gpio_get_count(struct device *dev, const char *con_id)
+ {
+ return 0;