* [PATCH v4 1/3] gpiolib: Introduce gpio_device_get() and gpio_device_put()
2022-12-28 9:20 [rft, PATCH v4 0/3] gpiolib: eventual of_node retirement Andy Shevchenko
@ 2022-12-28 9:20 ` Andy Shevchenko
2022-12-28 9:20 ` [PATCH v4 2/3] gpiolib: Get rid of not used of_node member Andy Shevchenko
` (4 subsequent siblings)
5 siblings, 0 replies; 9+ messages in thread
From: Andy Shevchenko @ 2022-12-28 9:20 UTC (permalink / raw)
To: Andy Shevchenko, Dmitry Torokhov, Bartosz Golaszewski,
Linus Walleij, linux-gpio, linux-acpi, linux-kernel
Cc: Mika Westerberg, Bartosz Golaszewski
Introduce gpio_device_get() and gpio_device_put() helpers
and convert existing users.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
drivers/gpio/gpiolib-cdev.c | 21 +++++++++------------
drivers/gpio/gpiolib.c | 14 ++++++--------
drivers/gpio/gpiolib.h | 10 ++++++++++
3 files changed, 25 insertions(+), 20 deletions(-)
diff --git a/drivers/gpio/gpiolib-cdev.c b/drivers/gpio/gpiolib-cdev.c
index e878e3f22b0e..0a33971c964c 100644
--- a/drivers/gpio/gpiolib-cdev.c
+++ b/drivers/gpio/gpiolib-cdev.c
@@ -321,7 +321,7 @@ static void linehandle_free(struct linehandle_state *lh)
if (lh->descs[i])
gpiod_free(lh->descs[i]);
kfree(lh->label);
- put_device(&lh->gdev->dev);
+ gpio_device_put(lh->gdev);
kfree(lh);
}
@@ -363,8 +363,7 @@ static int linehandle_create(struct gpio_device *gdev, void __user *ip)
lh = kzalloc(sizeof(*lh), GFP_KERNEL);
if (!lh)
return -ENOMEM;
- lh->gdev = gdev;
- get_device(&gdev->dev);
+ lh->gdev = gpio_device_get(gdev);
if (handlereq.consumer_label[0] != '\0') {
/* label is only initialized if consumer_label is set */
@@ -1576,7 +1575,7 @@ static void linereq_free(struct linereq *lr)
}
kfifo_free(&lr->events);
kfree(lr->label);
- put_device(&lr->gdev->dev);
+ gpio_device_put(lr->gdev);
kfree(lr);
}
@@ -1646,8 +1645,7 @@ static int linereq_create(struct gpio_device *gdev, void __user *ip)
if (!lr)
return -ENOMEM;
- lr->gdev = gdev;
- get_device(&gdev->dev);
+ lr->gdev = gpio_device_get(gdev);
for (i = 0; i < ulr.num_lines; i++) {
lr->lines[i].req = lr;
@@ -1916,7 +1914,7 @@ static void lineevent_free(struct lineevent_state *le)
if (le->desc)
gpiod_free(le->desc);
kfree(le->label);
- put_device(&le->gdev->dev);
+ gpio_device_put(le->gdev);
kfree(le);
}
@@ -2094,8 +2092,7 @@ static int lineevent_create(struct gpio_device *gdev, void __user *ip)
le = kzalloc(sizeof(*le), GFP_KERNEL);
if (!le)
return -ENOMEM;
- le->gdev = gdev;
- get_device(&gdev->dev);
+ le->gdev = gpio_device_get(gdev);
if (eventreq.consumer_label[0] != '\0') {
/* label is only initialized if consumer_label is set */
@@ -2671,7 +2668,7 @@ static int gpio_chrdev_open(struct inode *inode, struct file *file)
init_waitqueue_head(&cdev->wait);
INIT_KFIFO(cdev->events);
- cdev->gdev = gdev;
+ cdev->gdev = gpio_device_get(gdev);
cdev->lineinfo_changed_nb.notifier_call = lineinfo_changed_notify;
ret = blocking_notifier_chain_register(&gdev->notifier,
@@ -2679,7 +2676,6 @@ static int gpio_chrdev_open(struct inode *inode, struct file *file)
if (ret)
goto out_free_bitmap;
- get_device(&gdev->dev);
file->private_data = cdev;
ret = nonseekable_open(inode, file);
@@ -2694,6 +2690,7 @@ static int gpio_chrdev_open(struct inode *inode, struct file *file)
blocking_notifier_chain_unregister(&gdev->notifier,
&cdev->lineinfo_changed_nb);
out_free_bitmap:
+ gpio_device_put(gdev);
bitmap_free(cdev->watched_lines);
out_free_cdev:
kfree(cdev);
@@ -2716,7 +2713,7 @@ static int gpio_chrdev_release(struct inode *inode, struct file *file)
bitmap_free(cdev->watched_lines);
blocking_notifier_chain_unregister(&gdev->notifier,
&cdev->lineinfo_changed_nb);
- put_device(&gdev->dev);
+ gpio_device_put(gdev);
kfree(cdev);
return 0;
diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
index 5a66d9616d7c..fdb0dc464218 100644
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
@@ -882,7 +882,7 @@ int gpiochip_add_data_with_key(struct gpio_chip *gc, void *data,
gpiochip_free_valid_mask(gc);
if (gdev->dev.release) {
/* release() has been registered by gpiochip_setup_dev() */
- put_device(&gdev->dev);
+ gpio_device_put(gdev);
goto err_print_message;
}
err_remove_from_list:
@@ -972,7 +972,7 @@ void gpiochip_remove(struct gpio_chip *gc)
*/
gcdev_unregister(gdev);
up_write(&gdev->sem);
- put_device(&gdev->dev);
+ gpio_device_put(gdev);
}
EXPORT_SYMBOL_GPL(gpiochip_remove);
@@ -2063,17 +2063,15 @@ static int validate_desc(const struct gpio_desc *desc, const char *func)
int gpiod_request(struct gpio_desc *desc, const char *label)
{
int ret = -EPROBE_DEFER;
- struct gpio_device *gdev;
VALIDATE_DESC(desc);
- gdev = desc->gdev;
- if (try_module_get(gdev->owner)) {
+ if (try_module_get(desc->gdev->owner)) {
ret = gpiod_request_commit(desc, label);
if (ret)
- module_put(gdev->owner);
+ module_put(desc->gdev->owner);
else
- get_device(&gdev->dev);
+ gpio_device_get(desc->gdev);
}
if (ret)
@@ -2134,7 +2132,7 @@ void gpiod_free(struct gpio_desc *desc)
{
if (desc && desc->gdev && gpiod_free_commit(desc)) {
module_put(desc->gdev->owner);
- put_device(&desc->gdev->dev);
+ gpio_device_put(desc->gdev);
} else {
WARN_ON(extra_checks);
}
diff --git a/drivers/gpio/gpiolib.h b/drivers/gpio/gpiolib.h
index b3c2db6eba80..cca81375f127 100644
--- a/drivers/gpio/gpiolib.h
+++ b/drivers/gpio/gpiolib.h
@@ -82,6 +82,16 @@ static inline struct gpio_device *to_gpio_device(struct device *dev)
return container_of(dev, struct gpio_device, dev);
}
+static inline struct gpio_device *gpio_device_get(struct gpio_device *gdev)
+{
+ return to_gpio_device(get_device(&gdev->dev));
+}
+
+static inline void gpio_device_put(struct gpio_device *gdev)
+{
+ put_device(&gdev->dev);
+}
+
/* gpio suffixes used for ACPI and device tree lookup */
static __maybe_unused const char * const gpio_suffixes[] = { "gpios", "gpio" };
--
2.35.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v4 2/3] gpiolib: Get rid of not used of_node member
2022-12-28 9:20 [rft, PATCH v4 0/3] gpiolib: eventual of_node retirement Andy Shevchenko
2022-12-28 9:20 ` [PATCH v4 1/3] gpiolib: Introduce gpio_device_get() and gpio_device_put() Andy Shevchenko
@ 2022-12-28 9:20 ` Andy Shevchenko
2022-12-28 9:20 ` [PATCH v4 3/3] gpiolib: sort header inclusion alphabetically Andy Shevchenko
` (3 subsequent siblings)
5 siblings, 0 replies; 9+ messages in thread
From: Andy Shevchenko @ 2022-12-28 9:20 UTC (permalink / raw)
To: Andy Shevchenko, Dmitry Torokhov, Bartosz Golaszewski,
Linus Walleij, linux-gpio, linux-acpi, linux-kernel
Cc: Mika Westerberg, Bartosz Golaszewski, Thierry Reding
All new drivers should use fwnode and / or parent to provide the
necessary information to the GPIO library.
Cc: Thierry Reding <treding@nvidia.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
drivers/gpio/gpiolib-acpi.c | 10 ----------
drivers/gpio/gpiolib-acpi.h | 4 ----
drivers/gpio/gpiolib-of.c | 25 +++++--------------------
drivers/gpio/gpiolib-of.h | 5 -----
drivers/gpio/gpiolib.c | 11 +++--------
include/linux/gpio/driver.h | 7 -------
6 files changed, 8 insertions(+), 54 deletions(-)
diff --git a/drivers/gpio/gpiolib-acpi.c b/drivers/gpio/gpiolib-acpi.c
index bed0380c5136..466622a8fb36 100644
--- a/drivers/gpio/gpiolib-acpi.c
+++ b/drivers/gpio/gpiolib-acpi.c
@@ -1387,16 +1387,6 @@ void acpi_gpiochip_remove(struct gpio_chip *chip)
kfree(acpi_gpio);
}
-void acpi_gpio_dev_init(struct gpio_chip *gc, struct gpio_device *gdev)
-{
- /* Set default fwnode to parent's one if present */
- if (gc->parent)
- ACPI_COMPANION_SET(&gdev->dev, ACPI_COMPANION(gc->parent));
-
- if (gc->fwnode)
- device_set_node(&gdev->dev, gc->fwnode);
-}
-
static int acpi_gpio_package_count(const union acpi_object *obj)
{
const union acpi_object *element = obj->package.elements;
diff --git a/drivers/gpio/gpiolib-acpi.h b/drivers/gpio/gpiolib-acpi.h
index 9475f99a9694..5fa315b3c912 100644
--- a/drivers/gpio/gpiolib-acpi.h
+++ b/drivers/gpio/gpiolib-acpi.h
@@ -26,8 +26,6 @@ struct gpio_device;
void acpi_gpiochip_add(struct gpio_chip *chip);
void acpi_gpiochip_remove(struct gpio_chip *chip);
-void acpi_gpio_dev_init(struct gpio_chip *gc, struct gpio_device *gdev);
-
void acpi_gpiochip_request_interrupts(struct gpio_chip *chip);
void acpi_gpiochip_free_interrupts(struct gpio_chip *chip);
@@ -42,8 +40,6 @@ int acpi_gpio_count(struct device *dev, const char *con_id);
static inline void acpi_gpiochip_add(struct gpio_chip *chip) { }
static inline void acpi_gpiochip_remove(struct gpio_chip *chip) { }
-static inline void acpi_gpio_dev_init(struct gpio_chip *gc, struct gpio_device *gdev) { }
-
static inline void
acpi_gpiochip_request_interrupts(struct gpio_chip *chip) { }
diff --git a/drivers/gpio/gpiolib-of.c b/drivers/gpio/gpiolib-of.c
index 4fff7258ee41..a6f9788d6db0 100644
--- a/drivers/gpio/gpiolib-of.c
+++ b/drivers/gpio/gpiolib-of.c
@@ -668,7 +668,7 @@ static struct gpio_desc *of_parse_own_gpio(struct device_node *np,
u32 tmp;
int ret;
- chip_np = chip->of_node;
+ chip_np = dev_of_node(&chip->gpiodev->dev);
if (!chip_np)
return ERR_PTR(-EINVAL);
@@ -760,7 +760,7 @@ static int of_gpiochip_scan_gpios(struct gpio_chip *chip)
struct device_node *np;
int ret;
- for_each_available_child_of_node(chip->of_node, np) {
+ for_each_available_child_of_node(dev_of_node(&chip->gpiodev->dev), np) {
if (!of_property_read_bool(np, "gpio-hog"))
continue;
@@ -970,14 +970,15 @@ EXPORT_SYMBOL_GPL(of_mm_gpiochip_remove);
#ifdef CONFIG_PINCTRL
static int of_gpiochip_add_pin_range(struct gpio_chip *chip)
{
- struct device_node *np = chip->of_node;
struct of_phandle_args pinspec;
struct pinctrl_dev *pctldev;
+ struct device_node *np;
int index = 0, ret;
const char *name;
static const char group_names_propname[] = "gpio-ranges-group-names";
struct property *group_names;
+ np = dev_of_node(&chip->gpiodev->dev);
if (!np)
return 0;
@@ -1063,7 +1064,7 @@ int of_gpiochip_add(struct gpio_chip *chip)
struct device_node *np;
int ret;
- np = to_of_node(dev_fwnode(&chip->gpiodev->dev));
+ np = dev_of_node(&chip->gpiodev->dev);
if (!np)
return 0;
@@ -1092,19 +1093,3 @@ void of_gpiochip_remove(struct gpio_chip *chip)
{
fwnode_handle_put(chip->fwnode);
}
-
-void of_gpio_dev_init(struct gpio_chip *gc, struct gpio_device *gdev)
-{
- /* Set default OF node to parent's one if present */
- if (gc->parent)
- gdev->dev.of_node = gc->parent->of_node;
-
- if (gc->fwnode)
- gc->of_node = to_of_node(gc->fwnode);
-
- /* If the gpiochip has an assigned OF node this takes precedence */
- if (gc->of_node)
- gdev->dev.of_node = gc->of_node;
- else
- gc->of_node = gdev->dev.of_node;
-}
diff --git a/drivers/gpio/gpiolib-of.h b/drivers/gpio/gpiolib-of.h
index a6c593e6766c..e5bb065d82ef 100644
--- a/drivers/gpio/gpiolib-of.h
+++ b/drivers/gpio/gpiolib-of.h
@@ -23,7 +23,6 @@ struct gpio_desc *of_find_gpio(struct device_node *np,
int of_gpiochip_add(struct gpio_chip *gc);
void of_gpiochip_remove(struct gpio_chip *gc);
int of_gpio_get_count(struct device *dev, const char *con_id);
-void of_gpio_dev_init(struct gpio_chip *gc, struct gpio_device *gdev);
#else
static inline struct gpio_desc *of_find_gpio(struct device_node *np,
const char *con_id,
@@ -38,10 +37,6 @@ static inline int of_gpio_get_count(struct device *dev, const char *con_id)
{
return 0;
}
-static inline void of_gpio_dev_init(struct gpio_chip *gc,
- struct gpio_device *gdev)
-{
-}
#endif /* CONFIG_OF_GPIO */
extern struct notifier_block gpio_of_notifier;
diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
index fdb0dc464218..e72c539fbec5 100644
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
@@ -659,10 +659,12 @@ int gpiochip_add_data_with_key(struct gpio_chip *gc, void *data,
int base = 0;
int ret = 0;
+ /* If the calling driver did not initialize firmware node, do it here */
if (gc->fwnode)
fwnode = gc->fwnode;
else if (gc->parent)
fwnode = dev_fwnode(gc->parent);
+ gc->fwnode = fwnode;
/*
* First: allocate and populate the internal stat container, and
@@ -676,14 +678,7 @@ int gpiochip_add_data_with_key(struct gpio_chip *gc, void *data,
gdev->chip = gc;
gc->gpiodev = gdev;
- of_gpio_dev_init(gc, gdev);
- acpi_gpio_dev_init(gc, gdev);
-
- /*
- * Assign fwnode depending on the result of the previous calls,
- * if none of them succeed, assign it to the parent's one.
- */
- gc->fwnode = gdev->dev.fwnode = dev_fwnode(&gdev->dev) ?: fwnode;
+ device_set_node(&gdev->dev, gc->fwnode);
gdev->id = ida_alloc(&gpio_ida, GFP_KERNEL);
if (gdev->id < 0) {
diff --git a/include/linux/gpio/driver.h b/include/linux/gpio/driver.h
index 44783fc16125..2316cb7fa667 100644
--- a/include/linux/gpio/driver.h
+++ b/include/linux/gpio/driver.h
@@ -503,13 +503,6 @@ struct gpio_chip {
* the device tree automatically may have an OF translation
*/
- /**
- * @of_node:
- *
- * Pointer to a device tree node representing this GPIO controller.
- */
- struct device_node *of_node;
-
/**
* @of_gpio_n_cells:
*
--
2.35.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v4 3/3] gpiolib: sort header inclusion alphabetically
2022-12-28 9:20 [rft, PATCH v4 0/3] gpiolib: eventual of_node retirement Andy Shevchenko
2022-12-28 9:20 ` [PATCH v4 1/3] gpiolib: Introduce gpio_device_get() and gpio_device_put() Andy Shevchenko
2022-12-28 9:20 ` [PATCH v4 2/3] gpiolib: Get rid of not used of_node member Andy Shevchenko
@ 2022-12-28 9:20 ` Andy Shevchenko
2022-12-29 21:20 ` [rft, PATCH v4 0/3] gpiolib: eventual of_node retirement Linus Walleij
` (2 subsequent siblings)
5 siblings, 0 replies; 9+ messages in thread
From: Andy Shevchenko @ 2022-12-28 9:20 UTC (permalink / raw)
To: Andy Shevchenko, Dmitry Torokhov, Bartosz Golaszewski,
Linus Walleij, linux-gpio, linux-acpi, linux-kernel
Cc: Mika Westerberg, Bartosz Golaszewski
Sort header inclusion alphabetically.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
drivers/gpio/gpiolib.c | 35 ++++++++++++++++++-----------------
1 file changed, 18 insertions(+), 17 deletions(-)
diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
index e72c539fbec5..ace11a89d24a 100644
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
@@ -1,34 +1,35 @@
// SPDX-License-Identifier: GPL-2.0
+#include <linux/acpi.h>
#include <linux/bitmap.h>
-#include <linux/kernel.h>
-#include <linux/module.h>
-#include <linux/interrupt.h>
-#include <linux/irq.h>
-#include <linux/spinlock.h>
-#include <linux/list.h>
+#include <linux/compat.h>
+#include <linux/debugfs.h>
#include <linux/device.h>
#include <linux/err.h>
-#include <linux/debugfs.h>
-#include <linux/seq_file.h>
+#include <linux/file.h>
+#include <linux/fs.h>
#include <linux/gpio.h>
-#include <linux/idr.h>
-#include <linux/slab.h>
-#include <linux/acpi.h>
#include <linux/gpio/driver.h>
#include <linux/gpio/machine.h>
+#include <linux/idr.h>
+#include <linux/interrupt.h>
+#include <linux/irq.h>
+#include <linux/kernel.h>
+#include <linux/list.h>
+#include <linux/module.h>
#include <linux/pinctrl/consumer.h>
-#include <linux/fs.h>
-#include <linux/compat.h>
-#include <linux/file.h>
+#include <linux/seq_file.h>
+#include <linux/slab.h>
+#include <linux/spinlock.h>
+
#include <uapi/linux/gpio.h>
-#include "gpiolib.h"
-#include "gpiolib-of.h"
#include "gpiolib-acpi.h"
-#include "gpiolib-swnode.h"
#include "gpiolib-cdev.h"
+#include "gpiolib-of.h"
+#include "gpiolib-swnode.h"
#include "gpiolib-sysfs.h"
+#include "gpiolib.h"
#define CREATE_TRACE_POINTS
#include <trace/events/gpio.h>
--
2.35.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [rft, PATCH v4 0/3] gpiolib: eventual of_node retirement
2022-12-28 9:20 [rft, PATCH v4 0/3] gpiolib: eventual of_node retirement Andy Shevchenko
` (2 preceding siblings ...)
2022-12-28 9:20 ` [PATCH v4 3/3] gpiolib: sort header inclusion alphabetically Andy Shevchenko
@ 2022-12-29 21:20 ` Linus Walleij
2023-01-04 8:51 ` Bartosz Golaszewski
2023-01-04 16:41 ` Thierry Reding
5 siblings, 0 replies; 9+ messages in thread
From: Linus Walleij @ 2022-12-29 21:20 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Dmitry Torokhov, Bartosz Golaszewski, linux-gpio, linux-acpi,
linux-kernel, Mika Westerberg, Bartosz Golaszewski,
Thierry Reding
On Wed, Dec 28, 2022 at 10:20 AM Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:
> Now that all GPIO library users are converted to use fwnode,
> Drop redundant field from struct gpio_chip and accompanying
> code.
This is great stuff.
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [rft, PATCH v4 0/3] gpiolib: eventual of_node retirement
2022-12-28 9:20 [rft, PATCH v4 0/3] gpiolib: eventual of_node retirement Andy Shevchenko
` (3 preceding siblings ...)
2022-12-29 21:20 ` [rft, PATCH v4 0/3] gpiolib: eventual of_node retirement Linus Walleij
@ 2023-01-04 8:51 ` Bartosz Golaszewski
2023-01-04 16:41 ` Thierry Reding
5 siblings, 0 replies; 9+ messages in thread
From: Bartosz Golaszewski @ 2023-01-04 8:51 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Dmitry Torokhov, Bartosz Golaszewski, Linus Walleij, linux-gpio,
linux-acpi, linux-kernel, Mika Westerberg, Thierry Reding
On Wed, Dec 28, 2022 at 10:20 AM Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:
>
> Now that all GPIO library users are converted to use fwnode,
> Drop redundant field from struct gpio_chip and accompanying
> code.
>
> Bart, I prefer this series to go as soon as possible if you
> have no objection. Or even as v6.2 material.
>
> Thierry, can you please test it once again, so we will be sure
> there is no breakage for OF platforms?
>
> Cc: Thierry Reding <treding@nvidia.com>
>
> v4: added couple of additional patches to the bundle that missed
> the merge window by one or another reason
>
> v3: rebased against latest Linux Next: expected not to fail now
> (Also keeping in mind Thierry's report, so reworked a bit)
>
> v2: resent against latest Linux Next: expected not to fail now
> (Linux Next has no more users of of_node member of gpio_chip)
>
> v1: to test for now (using CIs and build bots) what is left unconverted
> (Expected to fail in some configurations!)
>
> Andy Shevchenko (3):
> gpiolib: Introduce gpio_device_get() and gpio_device_put()
> gpiolib: Get rid of not used of_node member
> gpiolib: sort header inclusion alphabetically
>
> drivers/gpio/gpiolib-acpi.c | 10 -------
> drivers/gpio/gpiolib-acpi.h | 4 ---
> drivers/gpio/gpiolib-cdev.c | 21 ++++++-------
> drivers/gpio/gpiolib-of.c | 25 ++++------------
> drivers/gpio/gpiolib-of.h | 5 ----
> drivers/gpio/gpiolib.c | 60 +++++++++++++++++--------------------
> drivers/gpio/gpiolib.h | 10 +++++++
> include/linux/gpio/driver.h | 7 -----
> 8 files changed, 51 insertions(+), 91 deletions(-)
>
>
> base-commit: 1b929c02afd37871d5afb9d498426f83432e71c2
> --
> 2.35.1
>
I applied the series, let's give it some time in next and see that
nothing breaks.
Bart
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [rft, PATCH v4 0/3] gpiolib: eventual of_node retirement
2022-12-28 9:20 [rft, PATCH v4 0/3] gpiolib: eventual of_node retirement Andy Shevchenko
` (4 preceding siblings ...)
2023-01-04 8:51 ` Bartosz Golaszewski
@ 2023-01-04 16:41 ` Thierry Reding
2023-01-04 16:51 ` Andy Shevchenko
5 siblings, 1 reply; 9+ messages in thread
From: Thierry Reding @ 2023-01-04 16:41 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Dmitry Torokhov, Bartosz Golaszewski, Linus Walleij, linux-gpio,
linux-acpi, linux-kernel, Mika Westerberg, Bartosz Golaszewski,
Thierry Reding
[-- Attachment #1: Type: text/plain, Size: 535 bytes --]
On Wed, Dec 28, 2022 at 11:20:42AM +0200, Andy Shevchenko wrote:
> Now that all GPIO library users are converted to use fwnode,
> Drop redundant field from struct gpio_chip and accompanying
> code.
>
> Bart, I prefer this series to go as soon as possible if you
> have no objection. Or even as v6.2 material.
>
> Thierry, can you please test it once again, so we will be sure
> there is no breakage for OF platforms?
Seems to be working fine on at least Jetson TX1, so:
Tested-by: Thierry Reding <treding@nvidia.com>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [rft, PATCH v4 0/3] gpiolib: eventual of_node retirement
2023-01-04 16:41 ` Thierry Reding
@ 2023-01-04 16:51 ` Andy Shevchenko
2023-01-05 9:55 ` Thierry Reding
0 siblings, 1 reply; 9+ messages in thread
From: Andy Shevchenko @ 2023-01-04 16:51 UTC (permalink / raw)
To: Thierry Reding
Cc: Dmitry Torokhov, Bartosz Golaszewski, Linus Walleij, linux-gpio,
linux-acpi, linux-kernel, Mika Westerberg, Bartosz Golaszewski,
Thierry Reding
On Wed, Jan 04, 2023 at 05:41:46PM +0100, Thierry Reding wrote:
> On Wed, Dec 28, 2022 at 11:20:42AM +0200, Andy Shevchenko wrote:
> > Now that all GPIO library users are converted to use fwnode,
> > Drop redundant field from struct gpio_chip and accompanying
> > code.
> >
> > Bart, I prefer this series to go as soon as possible if you
> > have no objection. Or even as v6.2 material.
> >
> > Thierry, can you please test it once again, so we will be sure
> > there is no breakage for OF platforms?
>
> Seems to be working fine on at least Jetson TX1, so:
>
> Tested-by: Thierry Reding <treding@nvidia.com>
Thank you and HNY!
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [rft, PATCH v4 0/3] gpiolib: eventual of_node retirement
2023-01-04 16:51 ` Andy Shevchenko
@ 2023-01-05 9:55 ` Thierry Reding
0 siblings, 0 replies; 9+ messages in thread
From: Thierry Reding @ 2023-01-05 9:55 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Thierry Reding, Dmitry Torokhov, Bartosz Golaszewski,
Linus Walleij, linux-gpio, linux-acpi, linux-kernel,
Mika Westerberg, Bartosz Golaszewski
[-- Attachment #1: Type: text/plain, Size: 780 bytes --]
On Wed, Jan 04, 2023 at 06:51:24PM +0200, Andy Shevchenko wrote:
> On Wed, Jan 04, 2023 at 05:41:46PM +0100, Thierry Reding wrote:
> > On Wed, Dec 28, 2022 at 11:20:42AM +0200, Andy Shevchenko wrote:
> > > Now that all GPIO library users are converted to use fwnode,
> > > Drop redundant field from struct gpio_chip and accompanying
> > > code.
> > >
> > > Bart, I prefer this series to go as soon as possible if you
> > > have no objection. Or even as v6.2 material.
> > >
> > > Thierry, can you please test it once again, so we will be sure
> > > there is no breakage for OF platforms?
> >
> > Seems to be working fine on at least Jetson TX1, so:
> >
> > Tested-by: Thierry Reding <treding@nvidia.com>
>
> Thank you and HNY!
Happy New Year!
Thierry
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread