* [PATCH 0/3] gpiolib: generalize GPIO line names property
@ 2020-09-08 12:58 Bartosz Golaszewski
2020-09-08 12:58 ` [PATCH 1/3] device: property: add helpers to count items in string arrays Bartosz Golaszewski
` (3 more replies)
0 siblings, 4 replies; 14+ messages in thread
From: Bartosz Golaszewski @ 2020-09-08 12:58 UTC (permalink / raw)
To: Linus Walleij, Mika Westerberg, Andy Shevchenko, Kent Gibson,
Greg Kroah-Hartman
Cc: linux-gpio, linux-kernel, linux-acpi, Bartosz Golaszewski
From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
I initially sent this as part of the gpio-mockup overhaul but since
these patches are indepentent and the work on gpio-mockup may become
more complicated - I'm sending these separately.
The only change is adding additional property helpers to count strings
in array.
Bartosz Golaszewski (3):
device: property: add helpers to count items in string arrays
gpiolib: generalize devprop_gpiochip_set_names() for device properties
gpiolib: unexport devprop_gpiochip_set_names()
drivers/gpio/Makefile | 1 -
drivers/gpio/gpiolib-acpi.c | 3 --
drivers/gpio/gpiolib-devprop.c | 20 ++++++-------
drivers/gpio/gpiolib-of.c | 5 ----
drivers/gpio/gpiolib.c | 55 +++++++++++++++++++++++++++++++---
include/linux/gpio/driver.h | 3 --
include/linux/property.h | 13 ++++++++
7 files changed, 74 insertions(+), 26 deletions(-)
--
2.26.1
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH 1/3] device: property: add helpers to count items in string arrays
2020-09-08 12:58 [PATCH 0/3] gpiolib: generalize GPIO line names property Bartosz Golaszewski
@ 2020-09-08 12:58 ` Bartosz Golaszewski
2020-09-08 13:47 ` Andy Shevchenko
2020-09-08 12:58 ` [PATCH 2/3] gpiolib: generalize devprop_gpiochip_set_names() for device properties Bartosz Golaszewski
` (2 subsequent siblings)
3 siblings, 1 reply; 14+ messages in thread
From: Bartosz Golaszewski @ 2020-09-08 12:58 UTC (permalink / raw)
To: Linus Walleij, Mika Westerberg, Andy Shevchenko, Kent Gibson,
Greg Kroah-Hartman
Cc: linux-gpio, linux-kernel, linux-acpi, Bartosz Golaszewski
From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Instead of doing the following:
count = device_property_read_string_array(dev, propname, NULL, 0);
Let's provide inline helpers with hardcoded arguments for counting
strings in property arrays.
Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
---
include/linux/property.h | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/include/linux/property.h b/include/linux/property.h
index 9f805c442819..1fa5e250a8ea 100644
--- a/include/linux/property.h
+++ b/include/linux/property.h
@@ -170,6 +170,12 @@ static inline int device_property_count_u64(struct device *dev, const char *prop
return device_property_read_u64_array(dev, propname, NULL, 0);
}
+static inline int device_property_count_strings(struct device *dev,
+ const char *propname)
+{
+ return device_property_read_string_array(dev, propname, NULL, 0);
+}
+
static inline bool fwnode_property_read_bool(const struct fwnode_handle *fwnode,
const char *propname)
{
@@ -224,6 +230,13 @@ static inline int fwnode_property_count_u64(const struct fwnode_handle *fwnode,
return fwnode_property_read_u64_array(fwnode, propname, NULL, 0);
}
+static inline int
+fwnode_property_count_strings(const struct fwnode_handle *fwnode,
+ const char *propname)
+{
+ return fwnode_property_read_string_array(fwnode, propname, NULL, 0);
+}
+
struct software_node;
/**
--
2.26.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 2/3] gpiolib: generalize devprop_gpiochip_set_names() for device properties
2020-09-08 12:58 [PATCH 0/3] gpiolib: generalize GPIO line names property Bartosz Golaszewski
2020-09-08 12:58 ` [PATCH 1/3] device: property: add helpers to count items in string arrays Bartosz Golaszewski
@ 2020-09-08 12:58 ` Bartosz Golaszewski
2020-09-08 12:58 ` [PATCH 3/3] gpiolib: unexport devprop_gpiochip_set_names() Bartosz Golaszewski
2020-09-15 12:01 ` [PATCH 0/3] gpiolib: generalize GPIO line names property Anders Roxell
3 siblings, 0 replies; 14+ messages in thread
From: Bartosz Golaszewski @ 2020-09-08 12:58 UTC (permalink / raw)
To: Linus Walleij, Mika Westerberg, Andy Shevchenko, Kent Gibson,
Greg Kroah-Hartman
Cc: linux-gpio, linux-kernel, linux-acpi, Bartosz Golaszewski
From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
devprop_gpiochip_set_names() is overly complicated with taking the
fwnode argument (which requires using dev_fwnode() & of_fwnode_handle()
in ACPI and OF GPIO code respectively). Let's just switch to using the
generic device properties.
This allows us to pull the code setting line names directly into
gpiochip_add_data_with_key() instead of handling it separately for
ACPI and OF.
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
---
drivers/gpio/gpiolib-acpi.c | 3 ---
drivers/gpio/gpiolib-devprop.c | 20 ++++++++++----------
drivers/gpio/gpiolib-of.c | 5 -----
drivers/gpio/gpiolib.c | 8 ++++----
include/linux/gpio/driver.h | 3 +--
5 files changed, 15 insertions(+), 24 deletions(-)
diff --git a/drivers/gpio/gpiolib-acpi.c b/drivers/gpio/gpiolib-acpi.c
index 54ca3c18b291..834a12f3219e 100644
--- a/drivers/gpio/gpiolib-acpi.c
+++ b/drivers/gpio/gpiolib-acpi.c
@@ -1221,9 +1221,6 @@ void acpi_gpiochip_add(struct gpio_chip *chip)
return;
}
- if (!chip->names)
- devprop_gpiochip_set_names(chip, dev_fwnode(chip->parent));
-
acpi_gpiochip_request_regions(acpi_gpio);
acpi_gpiochip_scan_gpios(acpi_gpio);
acpi_walk_dep_device_list(handle);
diff --git a/drivers/gpio/gpiolib-devprop.c b/drivers/gpio/gpiolib-devprop.c
index 26741032fa9e..29ee00d7730e 100644
--- a/drivers/gpio/gpiolib-devprop.c
+++ b/drivers/gpio/gpiolib-devprop.c
@@ -17,25 +17,23 @@
/**
* devprop_gpiochip_set_names - Set GPIO line names using device properties
* @chip: GPIO chip whose lines should be named, if possible
- * @fwnode: Property Node containing the gpio-line-names property
*
* Looks for device property "gpio-line-names" and if it exists assigns
* GPIO line names for the chip. The memory allocated for the assigned
- * names belong to the underlying firmware node and should not be released
+ * names belong to the underlying software node and should not be released
* by the caller.
*/
-void devprop_gpiochip_set_names(struct gpio_chip *chip,
- const struct fwnode_handle *fwnode)
+int devprop_gpiochip_set_names(struct gpio_chip *chip)
{
struct gpio_device *gdev = chip->gpiodev;
+ struct device *dev = chip->parent;
const char **names;
int ret, i;
int count;
- count = fwnode_property_read_string_array(fwnode, "gpio-line-names",
- NULL, 0);
+ count = device_property_count_strings(dev, "gpio-line-names");
if (count < 0)
- return;
+ return 0;
if (count > gdev->ngpio) {
dev_warn(&gdev->dev, "gpio-line-names is length %d but should be at most length %d",
@@ -45,19 +43,21 @@ void devprop_gpiochip_set_names(struct gpio_chip *chip,
names = kcalloc(count, sizeof(*names), GFP_KERNEL);
if (!names)
- return;
+ return -ENOMEM;
- ret = fwnode_property_read_string_array(fwnode, "gpio-line-names",
+ ret = device_property_read_string_array(dev, "gpio-line-names",
names, count);
if (ret < 0) {
dev_warn(&gdev->dev, "failed to read GPIO line names\n");
kfree(names);
- return;
+ return ret;
}
for (i = 0; i < count; i++)
gdev->descs[i].name = names[i];
kfree(names);
+
+ return 0;
}
EXPORT_SYMBOL_GPL(devprop_gpiochip_set_names);
diff --git a/drivers/gpio/gpiolib-of.c b/drivers/gpio/gpiolib-of.c
index bd31dd3b6a75..2f895a2b8411 100644
--- a/drivers/gpio/gpiolib-of.c
+++ b/drivers/gpio/gpiolib-of.c
@@ -1026,11 +1026,6 @@ int of_gpiochip_add(struct gpio_chip *chip)
if (ret)
return ret;
- /* If the chip defines names itself, these take precedence */
- if (!chip->names)
- devprop_gpiochip_set_names(chip,
- of_fwnode_handle(chip->of_node));
-
of_node_get(chip->of_node);
ret = of_gpiochip_scan_gpios(chip);
diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
index 80137c1b3cdc..0d390f0ec32c 100644
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
@@ -340,9 +340,6 @@ static int gpiochip_set_desc_names(struct gpio_chip *gc)
struct gpio_device *gdev = gc->gpiodev;
int i;
- if (!gc->names)
- return 0;
-
/* First check all names if they are unique */
for (i = 0; i != gc->ngpio; ++i) {
struct gpio_desc *gpio;
@@ -621,7 +618,10 @@ int gpiochip_add_data_with_key(struct gpio_chip *gc, void *data,
INIT_LIST_HEAD(&gdev->pin_ranges);
#endif
- ret = gpiochip_set_desc_names(gc);
+ if (gc->names)
+ ret = gpiochip_set_desc_names(gc);
+ else
+ ret = devprop_gpiochip_set_names(gc);
if (ret)
goto err_remove_from_list;
diff --git a/include/linux/gpio/driver.h b/include/linux/gpio/driver.h
index d1cef5c2715c..56485a040b82 100644
--- a/include/linux/gpio/driver.h
+++ b/include/linux/gpio/driver.h
@@ -756,8 +756,7 @@ struct gpio_desc *gpiochip_request_own_desc(struct gpio_chip *gc,
enum gpiod_flags dflags);
void gpiochip_free_own_desc(struct gpio_desc *desc);
-void devprop_gpiochip_set_names(struct gpio_chip *gc,
- const struct fwnode_handle *fwnode);
+int devprop_gpiochip_set_names(struct gpio_chip *gc);
#ifdef CONFIG_GPIOLIB
--
2.26.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 3/3] gpiolib: unexport devprop_gpiochip_set_names()
2020-09-08 12:58 [PATCH 0/3] gpiolib: generalize GPIO line names property Bartosz Golaszewski
2020-09-08 12:58 ` [PATCH 1/3] device: property: add helpers to count items in string arrays Bartosz Golaszewski
2020-09-08 12:58 ` [PATCH 2/3] gpiolib: generalize devprop_gpiochip_set_names() for device properties Bartosz Golaszewski
@ 2020-09-08 12:58 ` Bartosz Golaszewski
2020-09-08 13:49 ` Andy Shevchenko
2020-09-15 12:01 ` [PATCH 0/3] gpiolib: generalize GPIO line names property Anders Roxell
3 siblings, 1 reply; 14+ messages in thread
From: Bartosz Golaszewski @ 2020-09-08 12:58 UTC (permalink / raw)
To: Linus Walleij, Mika Westerberg, Andy Shevchenko, Kent Gibson,
Greg Kroah-Hartman
Cc: linux-gpio, linux-kernel, linux-acpi, Bartosz Golaszewski
From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Now that devprop_gpiochip_set_names() is only used in a single place
inside drivers/gpio/gpiolib.c, there's no need anymore for it to be
exported or to even live in its own source file. Pull this function into
the core source file for gpiolib.
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
---
drivers/gpio/Makefile | 1 -
drivers/gpio/gpiolib.c | 47 +++++++++++++++++++++++++++++++++++++
include/linux/gpio/driver.h | 2 --
3 files changed, 47 insertions(+), 3 deletions(-)
diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile
index 4f9abff4f2dc..639275eb4e4d 100644
--- a/drivers/gpio/Makefile
+++ b/drivers/gpio/Makefile
@@ -6,7 +6,6 @@ ccflags-$(CONFIG_DEBUG_GPIO) += -DDEBUG
obj-$(CONFIG_GPIOLIB) += gpiolib.o
obj-$(CONFIG_GPIOLIB) += gpiolib-devres.o
obj-$(CONFIG_GPIOLIB) += gpiolib-legacy.o
-obj-$(CONFIG_GPIOLIB) += gpiolib-devprop.o
obj-$(CONFIG_GPIOLIB) += gpiolib-cdev.o
obj-$(CONFIG_OF_GPIO) += gpiolib-of.o
obj-$(CONFIG_GPIO_SYSFS) += gpiolib-sysfs.o
diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
index 0d390f0ec32c..2b2526c5de51 100644
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
@@ -358,6 +358,53 @@ static int gpiochip_set_desc_names(struct gpio_chip *gc)
return 0;
}
+/*
+ * devprop_gpiochip_set_names - Set GPIO line names using device properties
+ * @chip: GPIO chip whose lines should be named, if possible
+ *
+ * Looks for device property "gpio-line-names" and if it exists assigns
+ * GPIO line names for the chip. The memory allocated for the assigned
+ * names belong to the underlying software node and should not be released
+ * by the caller.
+ */
+static int devprop_gpiochip_set_names(struct gpio_chip *chip)
+{
+ struct gpio_device *gdev = chip->gpiodev;
+ struct device *dev = chip->parent;
+ const char **names;
+ int ret, i;
+ int count;
+
+ count = device_property_count_strings(dev, "gpio-line-names");
+ if (count < 0)
+ return 0;
+
+ if (count > gdev->ngpio) {
+ dev_warn(&gdev->dev, "gpio-line-names is length %d but should be at most length %d",
+ count, gdev->ngpio);
+ count = gdev->ngpio;
+ }
+
+ names = kcalloc(count, sizeof(*names), GFP_KERNEL);
+ if (!names)
+ return -ENOMEM;
+
+ ret = device_property_read_string_array(dev, "gpio-line-names",
+ names, count);
+ if (ret < 0) {
+ dev_warn(&gdev->dev, "failed to read GPIO line names\n");
+ kfree(names);
+ return ret;
+ }
+
+ for (i = 0; i < count; i++)
+ gdev->descs[i].name = names[i];
+
+ kfree(names);
+
+ return 0;
+}
+
static unsigned long *gpiochip_allocate_mask(struct gpio_chip *gc)
{
unsigned long *p;
diff --git a/include/linux/gpio/driver.h b/include/linux/gpio/driver.h
index 56485a040b82..4a7e295c3640 100644
--- a/include/linux/gpio/driver.h
+++ b/include/linux/gpio/driver.h
@@ -756,8 +756,6 @@ struct gpio_desc *gpiochip_request_own_desc(struct gpio_chip *gc,
enum gpiod_flags dflags);
void gpiochip_free_own_desc(struct gpio_desc *desc);
-int devprop_gpiochip_set_names(struct gpio_chip *gc);
-
#ifdef CONFIG_GPIOLIB
/* lock/unlock as IRQ */
--
2.26.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH 1/3] device: property: add helpers to count items in string arrays
2020-09-08 12:58 ` [PATCH 1/3] device: property: add helpers to count items in string arrays Bartosz Golaszewski
@ 2020-09-08 13:47 ` Andy Shevchenko
0 siblings, 0 replies; 14+ messages in thread
From: Andy Shevchenko @ 2020-09-08 13:47 UTC (permalink / raw)
To: Bartosz Golaszewski
Cc: Linus Walleij, Mika Westerberg, Kent Gibson, Greg Kroah-Hartman,
linux-gpio, linux-kernel, linux-acpi, Bartosz Golaszewski
On Tue, Sep 08, 2020 at 02:58:11PM +0200, Bartosz Golaszewski wrote:
> From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
>
> Instead of doing the following:
>
> count = device_property_read_string_array(dev, propname, NULL, 0);
>
> Let's provide inline helpers with hardcoded arguments for counting
> strings in property arrays.
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Thanks!
> Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> ---
> include/linux/property.h | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/include/linux/property.h b/include/linux/property.h
> index 9f805c442819..1fa5e250a8ea 100644
> --- a/include/linux/property.h
> +++ b/include/linux/property.h
> @@ -170,6 +170,12 @@ static inline int device_property_count_u64(struct device *dev, const char *prop
> return device_property_read_u64_array(dev, propname, NULL, 0);
> }
>
> +static inline int device_property_count_strings(struct device *dev,
> + const char *propname)
> +{
> + return device_property_read_string_array(dev, propname, NULL, 0);
> +}
> +
> static inline bool fwnode_property_read_bool(const struct fwnode_handle *fwnode,
> const char *propname)
> {
> @@ -224,6 +230,13 @@ static inline int fwnode_property_count_u64(const struct fwnode_handle *fwnode,
> return fwnode_property_read_u64_array(fwnode, propname, NULL, 0);
> }
>
> +static inline int
> +fwnode_property_count_strings(const struct fwnode_handle *fwnode,
> + const char *propname)
> +{
> + return fwnode_property_read_string_array(fwnode, propname, NULL, 0);
> +}
> +
> struct software_node;
>
> /**
> --
> 2.26.1
>
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 3/3] gpiolib: unexport devprop_gpiochip_set_names()
2020-09-08 12:58 ` [PATCH 3/3] gpiolib: unexport devprop_gpiochip_set_names() Bartosz Golaszewski
@ 2020-09-08 13:49 ` Andy Shevchenko
2020-09-08 14:01 ` Bartosz Golaszewski
0 siblings, 1 reply; 14+ messages in thread
From: Andy Shevchenko @ 2020-09-08 13:49 UTC (permalink / raw)
To: Bartosz Golaszewski
Cc: Linus Walleij, Mika Westerberg, Kent Gibson, Greg Kroah-Hartman,
linux-gpio, linux-kernel, linux-acpi, Bartosz Golaszewski
On Tue, Sep 08, 2020 at 02:58:13PM +0200, Bartosz Golaszewski wrote:
> From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
>
> Now that devprop_gpiochip_set_names() is only used in a single place
> inside drivers/gpio/gpiolib.c, there's no need anymore for it to be
> exported or to even live in its own source file. Pull this function into
> the core source file for gpiolib.
Did you miss to remove old file?
> drivers/gpio/Makefile | 1 -
> drivers/gpio/gpiolib.c | 47 +++++++++++++++++++++++++++++++++++++
> include/linux/gpio/driver.h | 2 --
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 3/3] gpiolib: unexport devprop_gpiochip_set_names()
2020-09-08 13:49 ` Andy Shevchenko
@ 2020-09-08 14:01 ` Bartosz Golaszewski
0 siblings, 0 replies; 14+ messages in thread
From: Bartosz Golaszewski @ 2020-09-08 14:01 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Linus Walleij, Mika Westerberg, Kent Gibson, Greg Kroah-Hartman,
open list:GPIO SUBSYSTEM, Linux Kernel Mailing List,
ACPI Devel Maling List, Bartosz Golaszewski
On Tue, Sep 8, 2020 at 3:52 PM Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:
>
> On Tue, Sep 08, 2020 at 02:58:13PM +0200, Bartosz Golaszewski wrote:
> > From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> >
> > Now that devprop_gpiochip_set_names() is only used in a single place
> > inside drivers/gpio/gpiolib.c, there's no need anymore for it to be
> > exported or to even live in its own source file. Pull this function into
> > the core source file for gpiolib.
>
> Did you miss to remove old file?
>
> > drivers/gpio/Makefile | 1 -
> > drivers/gpio/gpiolib.c | 47 +++++++++++++++++++++++++++++++++++++
> > include/linux/gpio/driver.h | 2 --
>
> --
> With Best Regards,
> Andy Shevchenko
>
>
Arr yes, rebase failed me. :(
Bart
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 0/3] gpiolib: generalize GPIO line names property
2020-09-08 12:58 [PATCH 0/3] gpiolib: generalize GPIO line names property Bartosz Golaszewski
` (2 preceding siblings ...)
2020-09-08 12:58 ` [PATCH 3/3] gpiolib: unexport devprop_gpiochip_set_names() Bartosz Golaszewski
@ 2020-09-15 12:01 ` Anders Roxell
2020-09-15 13:12 ` Andy Shevchenko
2020-09-16 13:29 ` Bartosz Golaszewski
3 siblings, 2 replies; 14+ messages in thread
From: Anders Roxell @ 2020-09-15 12:01 UTC (permalink / raw)
To: Bartosz Golaszewski
Cc: Linus Walleij, Mika Westerberg, Andy Shevchenko, Kent Gibson,
Greg Kroah-Hartman, open list:GPIO SUBSYSTEM,
Linux Kernel Mailing List, linux-acpi, Bartosz Golaszewski,
lkft-triage, Linux-Next Mailing List, Stephen Rothwell
On Tue, 8 Sep 2020 at 18:40, Bartosz Golaszewski <brgl@bgdev.pl> wrote:
>
> From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
>
> I initially sent this as part of the gpio-mockup overhaul but since
> these patches are indepentent and the work on gpio-mockup may become
> more complicated - I'm sending these separately.
>
> The only change is adding additional property helpers to count strings
> in array.
>
> Bartosz Golaszewski (3):
> device: property: add helpers to count items in string arrays
> gpiolib: generalize devprop_gpiochip_set_names() for device properties
> gpiolib: unexport devprop_gpiochip_set_names()
I do an arm64 allmodconfig build fron linux-next (tag: next-20200915) and
run that in qemu. When I run I see the following output (see full log [1]):
"BUG: KASAN: null-ptr-deref in device_property_read_string_array".
[ 6186.339462][ T1] unittest-gpio
testcase-data:overlay-node:test-bus:gpio@0: no pinctrl handle
[ 6186.346148][ T1] gpiochip_find_base: found new base at 507
[ 6186.348684][ T1]
==================================================================
[ 6186.351563][ T1] BUG: KASAN: null-ptr-deref in
device_property_read_string_array+0x40/0xa0
[ 6186.355157][ T1] Read of size 8 at addr 0000000000000570 by task
swapper/0/1
[ 6186.358212][ T1]
[ 6186.359361][ T1] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G
W 5.9.0-rc5-next-20200915-00006-g104c8fe4916b #1
[ 6186.363877][ T1] Hardware name: linux,dummy-virt (DT)
[ 6186.366156][ T1] Call trace:
[ 6186.367540][ T1] dump_backtrace+0x0/0x320
[ 6186.369446][ T1] show_stack+0x38/0x60
[ 6186.371282][ T1] dump_stack+0x1d4/0x278
[ 6186.373193][ T1] __kasan_report+0x148/0x180
[ 6186.375265][ T1] kasan_report+0x44/0xe0
[ 6186.377168][ T1] __asan_load8+0xbc/0xe0
[ 6186.379069][ T1] device_property_read_string_array+0x40/0xa0
[ 6186.381741][ T1] devprop_gpiochip_set_names.isra.0+0x4c/0x200
[ 6186.384394][ T1] gpiochip_add_data_with_key+0x75c/0xf80
[ 6186.386876][ T1] unittest_gpio_probe+0xf4/0x1e0
[ 6186.389049][ T1] platform_drv_probe+0xac/0x160
[ 6186.391184][ T1] really_probe+0x430/0xaa0
[ 6186.393136][ T1] really_probe_debug+0x3c/0xe0
[ 6186.395238][ T1] driver_probe_device+0x134/0x1c0
[ 6186.397443][ T1] device_driver_attach+0xec/0x180
[ 6186.399639][ T1] __driver_attach+0x1f0/0x220
[ 6186.401718][ T1] bus_for_each_dev+0x104/0x1c0
[ 6186.403796][ T1] driver_attach+0x44/0x60
[ 6186.405731][ T1] bus_add_driver+0x214/0x3c0
[ 6186.407745][ T1] driver_register+0x1a8/0x240
[ 6186.409835][ T1] __platform_driver_register+0x90/0xa0
[ 6186.412207][ T1] of_unittest_overlay_gpio+0x20c/0x7cc
[ 6186.414595][ T1] of_unittest_overlay+0x748/0x7c0
[ 6186.416810][ T1] of_unittest+0x148/0x184
[ 6186.418732][ T1] do_one_initcall+0xc4/0x280
[ 6186.420782][ T1] do_initcalls+0x148/0x1ac
[ 6186.422758][ T1] kernel_init_freeable+0x158/0x1a0
[ 6186.425023][ T1] kernel_init+0x24/0x1f0
[ 6186.426938][ T1] ret_from_fork+0x10/0x18
[ 6186.428894][ T1]
==================================================================
[ 6186.433241][ T1] Unable to handle kernel read from unreadable
memory at virtual address 0000000000000570
[ 6186.437207][ T1] Mem abort info:
[ 6186.438639][ T1] ESR = 0x96000004
[ 6186.440536][ T1] EC = 0x25: DABT (current EL), IL = 32 bits
[ 6186.442791][ T1] SET = 0, FnV = 0
[ 6186.444660][ T1] EA = 0, S1PTW = 0
[ 6186.446233][ T1] Data abort info:
[ 6186.447938][ T1] ISV = 0, ISS = 0x00000004
[ 6186.449749][ T1] CM = 0, WnR = 0
[ 6186.451222][ T1] [0000000000000570] user address but active_mm is swapper
[ 6186.454000][ T1] Internal error: Oops: 96000004 [#1] PREEMPT SMP
[ 6186.456422][ T1] Modules linked in:
[ 6186.458232][ T1] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G B
W 5.9.0-rc5-next-20200915-00006-g104c8fe4916b #1
[ 6186.462833][ T1] Hardware name: linux,dummy-virt (DT)
[ 6186.465170][ T1] pstate: 60400005 (nZCv daif +PAN -UAO BTYPE=--)
[ 6186.467910][ T1] pc : device_property_read_string_array+0x40/0xa0
[ 6186.470653][ T1] lr : device_property_read_string_array+0x40/0xa0
[ 6186.473380][ T1] sp : ffff000069827770
[ 6186.475138][ T1] x29: ffff000069827770 x28: ffffa00014a2cc20
[ 6186.477806][ T1] x27: ffff000068794760 x26: ffff000068794800
[ 6186.480444][ T1] x25: ffff000068794000 x24: ffff0000674e1094
[ 6186.483107][ T1] x23: 0000000000000000 x22: 0000000000000000
[ 6186.485794][ T1] x21: ffffa00012d61ca0 x20: ffffa00012d61200
[ 6186.488457][ T1] x19: 0000000000000000 x18: 00000000000014b8
[ 6186.491100][ T1] x17: 00000000000014f8 x16: 0000000000001438
[ 6186.493779][ T1] x15: 00000000f1f1f1f1 x14: 0000000000000003
[ 6186.496405][ T1] x13: 00000000000ca688 x12: ffff80000d304e7b
[ 6186.499084][ T1] x11: 1fffe0000d304e7a x10: ffff80000d304e7a
[ 6186.501775][ T1] x9 : ffffa00012702b2c x8 : ffff0000698273d7
[ 6186.504409][ T1] x7 : 0000000000000001 x6 : 00007ffff2cfb186
[ 6186.507074][ T1] x5 : 0000000000000000 x4 : dfffa00000000000
[ 6186.509706][ T1] x3 : ffffa000126f85c4 x2 : 0000000000000007
[ 6186.512352][ T1] x1 : ffff00006981c040 x0 : 0000000000000001
[ 6186.515009][ T1] Call trace:
[ 6186.516511][ T1] device_property_read_string_array+0x40/0xa0
[ 6186.519155][ T1] devprop_gpiochip_set_names.isra.0+0x4c/0x200
[ 6186.521806][ T1] gpiochip_add_data_with_key+0x75c/0xf80
[ 6186.524294][ T1] unittest_gpio_probe+0xf4/0x1e0
[ 6186.526518][ T1] platform_drv_probe+0xac/0x160
[ 6186.528632][ T1] really_probe+0x430/0xaa0
[ 6186.530600][ T1] really_probe_debug+0x3c/0xe0
[ 6186.532679][ T1] driver_probe_device+0x134/0x1c0
[ 6186.534936][ T1] device_driver_attach+0xec/0x180
[ 6186.537119][ T1] __driver_attach+0x1f0/0x220
[ 6186.539182][ T1] bus_for_each_dev+0x104/0x1c0
[ 6186.541315][ T1] driver_attach+0x44/0x60
[ 6186.543233][ T1] bus_add_driver+0x214/0x3c0
[ 6186.545307][ T1] driver_register+0x1a8/0x240
[ 6186.547373][ T1] __platform_driver_register+0x90/0xa0
[ 6186.549754][ T1] of_unittest_overlay_gpio+0x20c/0x7cc
[ 6186.552105][ T1] of_unittest_overlay+0x748/0x7c0
[ 6186.554272][ T1] of_unittest+0x148/0x184
[ 6186.556193][ T1] do_one_initcall+0xc4/0x280
[ 6186.558248][ T1] do_initcalls+0x148/0x1ac
[ 6186.560227][ T1] kernel_init_freeable+0x158/0x1a0
[ 6186.562492][ T1] kernel_init+0x24/0x1f0
[ 6186.564395][ T1] ret_from_fork+0x10/0x18
[ 6186.566404][ T1] Code: aa0303f7 97b54003 9115c260 97c3ca39 (f942ba74)
[ 6186.569375][ T1] ---[ end trace f489669ae669dad0 ]---
[ 6186.571688][ T1] Kernel panic - not syncing: Oops: Fatal exception
[ 6186.574448][ T1] Kernel Offset: disabled
[ 6186.576306][ T1] CPU features: 0x0240002,20002004
[ 6186.578453][ T1] Memory Limit: none
[ 6186.580215][ T1] ---[ end Kernel panic - not syncing: Oops:
Fatal exception ]---
Cheers,
Anders
[1] http://ix.io/2xDy
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 0/3] gpiolib: generalize GPIO line names property
2020-09-15 12:01 ` [PATCH 0/3] gpiolib: generalize GPIO line names property Anders Roxell
@ 2020-09-15 13:12 ` Andy Shevchenko
2020-09-15 13:16 ` Bartosz Golaszewski
2020-09-15 13:16 ` Andy Shevchenko
2020-09-16 13:29 ` Bartosz Golaszewski
1 sibling, 2 replies; 14+ messages in thread
From: Andy Shevchenko @ 2020-09-15 13:12 UTC (permalink / raw)
To: Anders Roxell
Cc: Bartosz Golaszewski, Linus Walleij, Mika Westerberg, Kent Gibson,
Greg Kroah-Hartman, open list:GPIO SUBSYSTEM,
Linux Kernel Mailing List, linux-acpi, Bartosz Golaszewski,
lkft-triage, Linux-Next Mailing List, Stephen Rothwell
On Tue, Sep 15, 2020 at 02:01:56PM +0200, Anders Roxell wrote:
> On Tue, 8 Sep 2020 at 18:40, Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> >
> > From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> >
> > I initially sent this as part of the gpio-mockup overhaul but since
> > these patches are indepentent and the work on gpio-mockup may become
> > more complicated - I'm sending these separately.
> >
> > The only change is adding additional property helpers to count strings
> > in array.
> >
> > Bartosz Golaszewski (3):
> > device: property: add helpers to count items in string arrays
> > gpiolib: generalize devprop_gpiochip_set_names() for device properties
> > gpiolib: unexport devprop_gpiochip_set_names()
Ha-ha, OF unittest is of_node centric. definitely there is no backed device.
Bart, it seems we are stuck with fwnode interface.
> [ 6186.379069][ T1] device_property_read_string_array+0x40/0xa0
> [ 6186.381741][ T1] devprop_gpiochip_set_names.isra.0+0x4c/0x200
> [ 6186.384394][ T1] gpiochip_add_data_with_key+0x75c/0xf80
> [ 6186.386876][ T1] unittest_gpio_probe+0xf4/0x1e0
> [ 6186.433241][ T1] Unable to handle kernel read from unreadable
> memory at virtual address 0000000000000570
> [ 6186.437207][ T1] Mem abort info:
> [ 6186.438639][ T1] ESR = 0x96000004
> [ 6186.440536][ T1] EC = 0x25: DABT (current EL), IL = 32 bits
> [ 6186.442791][ T1] SET = 0, FnV = 0
> [ 6186.444660][ T1] EA = 0, S1PTW = 0
> [ 6186.446233][ T1] Data abort info:
> [ 6186.447938][ T1] ISV = 0, ISS = 0x00000004
> [ 6186.449749][ T1] CM = 0, WnR = 0
> [ 6186.451222][ T1] [0000000000000570] user address but active_mm is swapper
> [ 6186.454000][ T1] Internal error: Oops: 96000004 [#1] PREEMPT SMP
> [ 6186.456422][ T1] Modules linked in:
> [ 6186.458232][ T1] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G B
> W 5.9.0-rc5-next-20200915-00006-g104c8fe4916b #1
> [ 6186.462833][ T1] Hardware name: linux,dummy-virt (DT)
> [ 6186.465170][ T1] pstate: 60400005 (nZCv daif +PAN -UAO BTYPE=--)
> [ 6186.467910][ T1] pc : device_property_read_string_array+0x40/0xa0
> [ 6186.470653][ T1] lr : device_property_read_string_array+0x40/0xa0
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 0/3] gpiolib: generalize GPIO line names property
2020-09-15 13:12 ` Andy Shevchenko
@ 2020-09-15 13:16 ` Bartosz Golaszewski
2020-09-15 15:16 ` Andy Shevchenko
2020-09-15 13:16 ` Andy Shevchenko
1 sibling, 1 reply; 14+ messages in thread
From: Bartosz Golaszewski @ 2020-09-15 13:16 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Anders Roxell, Linus Walleij, Mika Westerberg, Kent Gibson,
Greg Kroah-Hartman, open list:GPIO SUBSYSTEM,
Linux Kernel Mailing List, ACPI Devel Maling List,
Bartosz Golaszewski, lkft-triage, Linux-Next Mailing List,
Stephen Rothwell
On Tue, Sep 15, 2020 at 3:12 PM Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:
>
> On Tue, Sep 15, 2020 at 02:01:56PM +0200, Anders Roxell wrote:
> > On Tue, 8 Sep 2020 at 18:40, Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> > >
> > > From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> > >
> > > I initially sent this as part of the gpio-mockup overhaul but since
> > > these patches are indepentent and the work on gpio-mockup may become
> > > more complicated - I'm sending these separately.
> > >
> > > The only change is adding additional property helpers to count strings
> > > in array.
> > >
> > > Bartosz Golaszewski (3):
> > > device: property: add helpers to count items in string arrays
> > > gpiolib: generalize devprop_gpiochip_set_names() for device properties
> > > gpiolib: unexport devprop_gpiochip_set_names()
>
> Ha-ha, OF unittest is of_node centric. definitely there is no backed device.
>
> Bart, it seems we are stuck with fwnode interface.
>
Wait what?! This means the implementation is wrong - the whole concept
of device properties is to be generic and to hide the underlying
fwnode or OF properties. If anything we should fix
device/base/property.c to fall back to OF.
What is happening exactly? If all fwnode code compiled out?
I'll try to give it a spin and see what can be done but I don't like
that device_property_* functions fail if you have OF but not fwnode.
Bart
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 0/3] gpiolib: generalize GPIO line names property
2020-09-15 13:12 ` Andy Shevchenko
2020-09-15 13:16 ` Bartosz Golaszewski
@ 2020-09-15 13:16 ` Andy Shevchenko
2020-09-15 16:03 ` Bartosz Golaszewski
1 sibling, 1 reply; 14+ messages in thread
From: Andy Shevchenko @ 2020-09-15 13:16 UTC (permalink / raw)
To: Anders Roxell
Cc: Bartosz Golaszewski, Linus Walleij, Mika Westerberg, Kent Gibson,
Greg Kroah-Hartman, open list:GPIO SUBSYSTEM,
Linux Kernel Mailing List, linux-acpi, Bartosz Golaszewski,
lkft-triage, Linux-Next Mailing List, Stephen Rothwell
On Tue, Sep 15, 2020 at 04:12:28PM +0300, Andy Shevchenko wrote:
> On Tue, Sep 15, 2020 at 02:01:56PM +0200, Anders Roxell wrote:
> > On Tue, 8 Sep 2020 at 18:40, Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> > >
> > > From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> > >
> > > I initially sent this as part of the gpio-mockup overhaul but since
> > > these patches are indepentent and the work on gpio-mockup may become
> > > more complicated - I'm sending these separately.
> > >
> > > The only change is adding additional property helpers to count strings
> > > in array.
> > >
> > > Bartosz Golaszewski (3):
> > > device: property: add helpers to count items in string arrays
> > > gpiolib: generalize devprop_gpiochip_set_names() for device properties
> > > gpiolib: unexport devprop_gpiochip_set_names()
>
> Ha-ha, OF unittest is of_node centric. definitely there is no backed device.
>
> Bart, it seems we are stuck with fwnode interface.
Hmm... There is a platform device. So, it means that it fails along these
lines:
return IS_ENABLED(CONFIG_OF) && dev->of_node ? &dev->of_node->fwnode : dev->fwnode;
so, who should set fwnode for of_node?
> > [ 6186.379069][ T1] device_property_read_string_array+0x40/0xa0
> > [ 6186.381741][ T1] devprop_gpiochip_set_names.isra.0+0x4c/0x200
> > [ 6186.384394][ T1] gpiochip_add_data_with_key+0x75c/0xf80
> > [ 6186.386876][ T1] unittest_gpio_probe+0xf4/0x1e0
>
> > [ 6186.433241][ T1] Unable to handle kernel read from unreadable
> > memory at virtual address 0000000000000570
> > [ 6186.437207][ T1] Mem abort info:
> > [ 6186.438639][ T1] ESR = 0x96000004
> > [ 6186.440536][ T1] EC = 0x25: DABT (current EL), IL = 32 bits
> > [ 6186.442791][ T1] SET = 0, FnV = 0
> > [ 6186.444660][ T1] EA = 0, S1PTW = 0
> > [ 6186.446233][ T1] Data abort info:
> > [ 6186.447938][ T1] ISV = 0, ISS = 0x00000004
> > [ 6186.449749][ T1] CM = 0, WnR = 0
> > [ 6186.451222][ T1] [0000000000000570] user address but active_mm is swapper
> > [ 6186.454000][ T1] Internal error: Oops: 96000004 [#1] PREEMPT SMP
> > [ 6186.456422][ T1] Modules linked in:
> > [ 6186.458232][ T1] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G B
> > W 5.9.0-rc5-next-20200915-00006-g104c8fe4916b #1
> > [ 6186.462833][ T1] Hardware name: linux,dummy-virt (DT)
> > [ 6186.465170][ T1] pstate: 60400005 (nZCv daif +PAN -UAO BTYPE=--)
> > [ 6186.467910][ T1] pc : device_property_read_string_array+0x40/0xa0
> > [ 6186.470653][ T1] lr : device_property_read_string_array+0x40/0xa0
>
> --
> With Best Regards,
> Andy Shevchenko
>
>
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 0/3] gpiolib: generalize GPIO line names property
2020-09-15 13:16 ` Bartosz Golaszewski
@ 2020-09-15 15:16 ` Andy Shevchenko
0 siblings, 0 replies; 14+ messages in thread
From: Andy Shevchenko @ 2020-09-15 15:16 UTC (permalink / raw)
To: Bartosz Golaszewski
Cc: Anders Roxell, Linus Walleij, Mika Westerberg, Kent Gibson,
Greg Kroah-Hartman, open list:GPIO SUBSYSTEM,
Linux Kernel Mailing List, ACPI Devel Maling List,
Bartosz Golaszewski, lkft-triage, Linux-Next Mailing List,
Stephen Rothwell
On Tue, Sep 15, 2020 at 03:16:42PM +0200, Bartosz Golaszewski wrote:
> On Tue, Sep 15, 2020 at 3:12 PM Andy Shevchenko
> <andriy.shevchenko@linux.intel.com> wrote:
> >
> > On Tue, Sep 15, 2020 at 02:01:56PM +0200, Anders Roxell wrote:
> > > On Tue, 8 Sep 2020 at 18:40, Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> > > >
> > > > From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> > > >
> > > > I initially sent this as part of the gpio-mockup overhaul but since
> > > > these patches are indepentent and the work on gpio-mockup may become
> > > > more complicated - I'm sending these separately.
> > > >
> > > > The only change is adding additional property helpers to count strings
> > > > in array.
> > > >
> > > > Bartosz Golaszewski (3):
> > > > device: property: add helpers to count items in string arrays
> > > > gpiolib: generalize devprop_gpiochip_set_names() for device properties
> > > > gpiolib: unexport devprop_gpiochip_set_names()
> >
> > Ha-ha, OF unittest is of_node centric. definitely there is no backed device.
> >
> > Bart, it seems we are stuck with fwnode interface.
> >
>
> Wait what?! This means the implementation is wrong - the whole concept
> of device properties is to be generic and to hide the underlying
> fwnode or OF properties. If anything we should fix
> device/base/property.c to fall back to OF.
>
> What is happening exactly? If all fwnode code compiled out?
>
> I'll try to give it a spin and see what can be done but I don't like
> that device_property_* functions fail if you have OF but not fwnode.
Read my next reply. It seems only OF unittest issue
% git grep -n -w fwnode -- drivers/of/unittest* | wc -l
0
% git grep -n -w fwnode -- drivers/of/ | wc -l
50
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 0/3] gpiolib: generalize GPIO line names property
2020-09-15 13:16 ` Andy Shevchenko
@ 2020-09-15 16:03 ` Bartosz Golaszewski
0 siblings, 0 replies; 14+ messages in thread
From: Bartosz Golaszewski @ 2020-09-15 16:03 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Anders Roxell, Bartosz Golaszewski, Linus Walleij,
Mika Westerberg, Kent Gibson, Greg Kroah-Hartman,
open list:GPIO SUBSYSTEM, Linux Kernel Mailing List,
ACPI Devel Maling List, lkft-triage, Linux-Next Mailing List,
Stephen Rothwell
On Tue, Sep 15, 2020 at 3:16 PM Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:
>
> On Tue, Sep 15, 2020 at 04:12:28PM +0300, Andy Shevchenko wrote:
> > On Tue, Sep 15, 2020 at 02:01:56PM +0200, Anders Roxell wrote:
> > > On Tue, 8 Sep 2020 at 18:40, Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> > > >
> > > > From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> > > >
> > > > I initially sent this as part of the gpio-mockup overhaul but since
> > > > these patches are indepentent and the work on gpio-mockup may become
> > > > more complicated - I'm sending these separately.
> > > >
> > > > The only change is adding additional property helpers to count strings
> > > > in array.
> > > >
> > > > Bartosz Golaszewski (3):
> > > > device: property: add helpers to count items in string arrays
> > > > gpiolib: generalize devprop_gpiochip_set_names() for device properties
> > > > gpiolib: unexport devprop_gpiochip_set_names()
> >
> > Ha-ha, OF unittest is of_node centric. definitely there is no backed device.
> >
> > Bart, it seems we are stuck with fwnode interface.
>
> Hmm... There is a platform device. So, it means that it fails along these
> lines:
> return IS_ENABLED(CONFIG_OF) && dev->of_node ? &dev->of_node->fwnode : dev->fwnode;
> so, who should set fwnode for of_node?
>
It's strange because the device for this unittest is registered
similarly to how we do it in gpio-mockup where this function works.
I've not investigated the internals but somewhere someone sets the
fwnode for these platform devices.
Bartosz
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 0/3] gpiolib: generalize GPIO line names property
2020-09-15 12:01 ` [PATCH 0/3] gpiolib: generalize GPIO line names property Anders Roxell
2020-09-15 13:12 ` Andy Shevchenko
@ 2020-09-16 13:29 ` Bartosz Golaszewski
1 sibling, 0 replies; 14+ messages in thread
From: Bartosz Golaszewski @ 2020-09-16 13:29 UTC (permalink / raw)
To: Anders Roxell
Cc: Linus Walleij, Mika Westerberg, Andy Shevchenko, Kent Gibson,
Greg Kroah-Hartman, open list:GPIO SUBSYSTEM,
Linux Kernel Mailing List, ACPI Devel Maling List,
Bartosz Golaszewski, lkft-triage, Linux-Next Mailing List,
Stephen Rothwell
On Tue, Sep 15, 2020 at 2:02 PM Anders Roxell <anders.roxell@linaro.org> wrote:
>
> On Tue, 8 Sep 2020 at 18:40, Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> >
> > From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> >
> > I initially sent this as part of the gpio-mockup overhaul but since
> > these patches are indepentent and the work on gpio-mockup may become
> > more complicated - I'm sending these separately.
> >
> > The only change is adding additional property helpers to count strings
> > in array.
> >
> > Bartosz Golaszewski (3):
> > device: property: add helpers to count items in string arrays
> > gpiolib: generalize devprop_gpiochip_set_names() for device properties
> > gpiolib: unexport devprop_gpiochip_set_names()
>
> I do an arm64 allmodconfig build fron linux-next (tag: next-20200915) and
> run that in qemu. When I run I see the following output (see full log [1]):
> "BUG: KASAN: null-ptr-deref in device_property_read_string_array".
>
>
FYI: this fails because someone passes a NULL struct device * to
dev_fwnode() - this is probably caused by some ordering issues in this
patch. I'm working on it.
Bartosz
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2020-09-16 20:24 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-08 12:58 [PATCH 0/3] gpiolib: generalize GPIO line names property Bartosz Golaszewski
2020-09-08 12:58 ` [PATCH 1/3] device: property: add helpers to count items in string arrays Bartosz Golaszewski
2020-09-08 13:47 ` Andy Shevchenko
2020-09-08 12:58 ` [PATCH 2/3] gpiolib: generalize devprop_gpiochip_set_names() for device properties Bartosz Golaszewski
2020-09-08 12:58 ` [PATCH 3/3] gpiolib: unexport devprop_gpiochip_set_names() Bartosz Golaszewski
2020-09-08 13:49 ` Andy Shevchenko
2020-09-08 14:01 ` Bartosz Golaszewski
2020-09-15 12:01 ` [PATCH 0/3] gpiolib: generalize GPIO line names property Anders Roxell
2020-09-15 13:12 ` Andy Shevchenko
2020-09-15 13:16 ` Bartosz Golaszewski
2020-09-15 15:16 ` Andy Shevchenko
2020-09-15 13:16 ` Andy Shevchenko
2020-09-15 16:03 ` Bartosz Golaszewski
2020-09-16 13:29 ` Bartosz Golaszewski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).