linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/4] hte: Improve GPIO handling and other cleanups
@ 2023-10-11 20:26 Andy Shevchenko
  2023-10-11 20:26 ` [PATCH v2 1/4] gpiolib: provide gpio_device_find_by_fwnode() Andy Shevchenko
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Andy Shevchenko @ 2023-10-11 20:26 UTC (permalink / raw)
  To: Bartosz Golaszewski, Andy Shevchenko, Linus Walleij, Dipen Patel,
	linux-gpio, linux-kernel, timestamp, linux-tegra
  Cc: Bartosz Golaszewski, Andy Shevchenko, Thierry Reding, Jonathan Hunter

This is a series that provides a new API to GPIO library (so far only
available in the GPIO tree), and respective update to the Tegra
HTE driver. On top a couple of other cleaups (patches 3 & 4, they
can be applied separately).

Patch 2 inherited tags from its respective discussion thread [1].

Due to dependencies this either should be applied to the GPIO tree,
or to the HTE when GPIO updates land the upstream (optionally with
the first patch be applied even now to the GPIO tree independently).

Another option is to have an immutable branch or tag, but I assume
that was discussed and rejected (?) in [1].

In v2:
- collected tags (Linus, Dipen) 
- fixed couple of typos (Dipen)

Link: https://lore.kernel.org/linux-gpio/20230905185309.131295-15-brgl@bgdev.pl/ [1]
Cc: Dipen Patel <dipenp@nvidia.com>
Cc: Linus Walleij <linus.walleij@linaro.org>

Andy Shevchenko (3):
  gpiolib: provide gpio_device_find_by_fwnode()
  hte: tegra194: Remove redundant dev_err()
  hte: tegra194: Switch to LATE_SIMPLE_DEV_PM_OPS()

Bartosz Golaszewski (1):
  hte: tegra194: don't access struct gpio_chip

 drivers/gpio/gpiolib.c      | 20 ++++++++++++++++
 drivers/hte/hte-tegra194.c  | 46 +++++++++++++++++++------------------
 include/linux/gpio/driver.h |  1 +
 3 files changed, 45 insertions(+), 22 deletions(-)

-- 
2.40.0.1.gaa8946217a0b


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH v2 1/4] gpiolib: provide gpio_device_find_by_fwnode()
  2023-10-11 20:26 [PATCH v2 0/4] hte: Improve GPIO handling and other cleanups Andy Shevchenko
@ 2023-10-11 20:26 ` Andy Shevchenko
  2023-10-11 20:26 ` [PATCH v2 2/4] hte: tegra194: don't access struct gpio_chip Andy Shevchenko
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Andy Shevchenko @ 2023-10-11 20:26 UTC (permalink / raw)
  To: Bartosz Golaszewski, Andy Shevchenko, Linus Walleij, Dipen Patel,
	linux-gpio, linux-kernel, timestamp, linux-tegra
  Cc: Bartosz Golaszewski, Andy Shevchenko, Thierry Reding, Jonathan Hunter

One of the ways of looking up GPIO devices is using their fwnode.
Provide a helper for that to avoid every user implementing their
own matching function.

Reviewed-by: Dipen Patel <dipenp@nvidia.com>
Tested-by: Dipen Patel <dipenp@nvidia.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20231010151709.4104747-2-andriy.shevchenko@linux.intel.com
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/gpio/gpiolib.c      | 20 ++++++++++++++++++++
 include/linux/gpio/driver.h |  1 +
 2 files changed, 21 insertions(+)

diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
index 7b4d12b714a3..31c06a32cb8a 100644
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
@@ -1142,6 +1142,26 @@ struct gpio_device *gpio_device_find_by_label(const char *label)
 }
 EXPORT_SYMBOL_GPL(gpio_device_find_by_label);
 
+static int gpio_chip_match_by_fwnode(struct gpio_chip *gc, void *fwnode)
+{
+	return device_match_fwnode(&gc->gpiodev->dev, fwnode);
+}
+
+/**
+ * gpio_device_find_by_fwnode() - wrapper around gpio_device_find() finding
+ *                                the GPIO device by its fwnode
+ * @fwnode: Firmware node to lookup
+ *
+ * Returns:
+ * Reference to the GPIO device or NULL. Reference must be released with
+ * gpio_device_put().
+ */
+struct gpio_device *gpio_device_find_by_fwnode(const struct fwnode_handle *fwnode)
+{
+	return gpio_device_find((void *)fwnode, gpio_chip_match_by_fwnode);
+}
+EXPORT_SYMBOL_GPL(gpio_device_find_by_fwnode);
+
 /**
  * gpio_device_get() - Increase the reference count of this GPIO device
  * @gdev: GPIO device to increase the refcount for
diff --git a/include/linux/gpio/driver.h b/include/linux/gpio/driver.h
index f8ad7f40100c..ae4162d3f1d3 100644
--- a/include/linux/gpio/driver.h
+++ b/include/linux/gpio/driver.h
@@ -611,6 +611,7 @@ struct gpio_chip *gpiochip_find(void *data,
 struct gpio_device *gpio_device_find(void *data,
 				int (*match)(struct gpio_chip *gc, void *data));
 struct gpio_device *gpio_device_find_by_label(const char *label);
+struct gpio_device *gpio_device_find_by_fwnode(const struct fwnode_handle *fwnode);
 
 struct gpio_device *gpio_device_get(struct gpio_device *gdev);
 void gpio_device_put(struct gpio_device *gdev);
-- 
2.40.0.1.gaa8946217a0b


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v2 2/4] hte: tegra194: don't access struct gpio_chip
  2023-10-11 20:26 [PATCH v2 0/4] hte: Improve GPIO handling and other cleanups Andy Shevchenko
  2023-10-11 20:26 ` [PATCH v2 1/4] gpiolib: provide gpio_device_find_by_fwnode() Andy Shevchenko
@ 2023-10-11 20:26 ` Andy Shevchenko
  2023-10-11 20:26 ` [PATCH v2 3/4] hte: tegra194: Remove redundant dev_err() Andy Shevchenko
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Andy Shevchenko @ 2023-10-11 20:26 UTC (permalink / raw)
  To: Bartosz Golaszewski, Andy Shevchenko, Linus Walleij, Dipen Patel,
	linux-gpio, linux-kernel, timestamp, linux-tegra
  Cc: Bartosz Golaszewski, Andy Shevchenko, Thierry Reding, Jonathan Hunter

From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>

Using struct gpio_chip is not safe as it will disappear if the
underlying driver is unbound for any reason. Switch to using reference
counted struct gpio_device and its dedicated accessors.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Tested-by: Dipen Patel <dipenp@nvidia.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
[andy: used gpio_device_find_by_fwnode()]
Reviewed-by: Dipen Patel <dipenp@nvidia.com>
Link: https://lore.kernel.org/r/20231010151709.4104747-3-andriy.shevchenko@linux.intel.com
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/hte/hte-tegra194.c | 33 +++++++++++++++++++--------------
 1 file changed, 19 insertions(+), 14 deletions(-)

diff --git a/drivers/hte/hte-tegra194.c b/drivers/hte/hte-tegra194.c
index 9fd3c00ff695..f6c2dbcd0aca 100644
--- a/drivers/hte/hte-tegra194.c
+++ b/drivers/hte/hte-tegra194.c
@@ -132,7 +132,7 @@ struct tegra_hte_soc {
 	const struct tegra_hte_data *prov_data;
 	struct tegra_hte_line_data *line_data;
 	struct hte_chip *chip;
-	struct gpio_chip *c;
+	struct gpio_device *gdev;
 	void __iomem *regs;
 };
 
@@ -421,7 +421,7 @@ static int tegra_hte_line_xlate(struct hte_chip *gc,
 	 * HTE/GTE namespace.
 	 */
 	if (gs->prov_data->type == HTE_TEGRA_TYPE_GPIO && !args) {
-		line_id = desc->attr.line_id - gs->c->base;
+		line_id = desc->attr.line_id - gpio_device_get_base(gs->gdev);
 		map = gs->prov_data->map;
 		map_sz = gs->prov_data->map_sz;
 	} else if (gs->prov_data->type == HTE_TEGRA_TYPE_GPIO && args) {
@@ -643,12 +643,15 @@ static irqreturn_t tegra_hte_isr(int irq, void *dev_id)
 static bool tegra_hte_match_from_linedata(const struct hte_chip *chip,
 					  const struct hte_ts_desc *hdesc)
 {
+	struct gpio_device *gdev __free(gpio_device_put) = NULL;
 	struct tegra_hte_soc *hte_dev = chip->data;
 
 	if (!hte_dev || (hte_dev->prov_data->type != HTE_TEGRA_TYPE_GPIO))
 		return false;
 
-	return hte_dev->c == gpiod_to_chip(hdesc->attr.line_data);
+	gdev = gpiod_to_device(hdesc->attr.line_data);
+
+	return hte_dev->gdev == gdev;
 }
 
 static const struct of_device_id tegra_hte_of_match[] = {
@@ -676,14 +679,11 @@ static void tegra_gte_disable(void *data)
 	tegra_hte_writel(gs, HTE_TECTRL, 0);
 }
 
-static int tegra_get_gpiochip_from_name(struct gpio_chip *chip, void *data)
+static void tegra_hte_put_gpio_device(void *data)
 {
-	return !strcmp(chip->label, data);
-}
+	struct gpio_device *gdev = data;
 
-static int tegra_gpiochip_match(struct gpio_chip *chip, void *data)
-{
-	return chip->fwnode == of_node_to_fwnode(data);
+	gpio_device_put(gdev);
 }
 
 static int tegra_hte_probe(struct platform_device *pdev)
@@ -763,8 +763,8 @@ static int tegra_hte_probe(struct platform_device *pdev)
 
 		if (of_device_is_compatible(dev->of_node,
 					    "nvidia,tegra194-gte-aon")) {
-			hte_dev->c = gpiochip_find("tegra194-gpio-aon",
-						tegra_get_gpiochip_from_name);
+			hte_dev->gdev =
+				gpio_device_find_by_label("tegra194-gpio-aon");
 		} else {
 			gpio_ctrl = of_parse_phandle(dev->of_node,
 						     "nvidia,gpio-controller",
@@ -775,14 +775,19 @@ static int tegra_hte_probe(struct platform_device *pdev)
 				return -ENODEV;
 			}
 
-			hte_dev->c = gpiochip_find(gpio_ctrl,
-						   tegra_gpiochip_match);
+			hte_dev->gdev =
+				gpio_device_find_by_fwnode(of_fwnode_handle(gpio_ctrl));
 			of_node_put(gpio_ctrl);
 		}
 
-		if (!hte_dev->c)
+		if (!hte_dev->gdev)
 			return dev_err_probe(dev, -EPROBE_DEFER,
 					     "wait for gpio controller\n");
+
+		ret = devm_add_action_or_reset(dev, tegra_hte_put_gpio_device,
+					       hte_dev->gdev);
+		if (ret)
+			return ret;
 	}
 
 	hte_dev->chip = gc;
-- 
2.40.0.1.gaa8946217a0b


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v2 3/4] hte: tegra194: Remove redundant dev_err()
  2023-10-11 20:26 [PATCH v2 0/4] hte: Improve GPIO handling and other cleanups Andy Shevchenko
  2023-10-11 20:26 ` [PATCH v2 1/4] gpiolib: provide gpio_device_find_by_fwnode() Andy Shevchenko
  2023-10-11 20:26 ` [PATCH v2 2/4] hte: tegra194: don't access struct gpio_chip Andy Shevchenko
@ 2023-10-11 20:26 ` Andy Shevchenko
  2023-10-11 20:26 ` [PATCH v2 4/4] hte: tegra194: Switch to LATE_SIMPLE_DEV_PM_OPS() Andy Shevchenko
  2023-10-11 22:59 ` [PATCH v2 0/4] hte: Improve GPIO handling and other cleanups Dipen Patel
  4 siblings, 0 replies; 8+ messages in thread
From: Andy Shevchenko @ 2023-10-11 20:26 UTC (permalink / raw)
  To: Bartosz Golaszewski, Andy Shevchenko, Linus Walleij, Dipen Patel,
	linux-gpio, linux-kernel, timestamp, linux-tegra
  Cc: Bartosz Golaszewski, Andy Shevchenko, Thierry Reding, Jonathan Hunter

There is no need to call the dev_err() function directly to print a custom
message when handling an error from platform_get_irq() function as it is
going to display an appropriate error message in case of a failure.

Reviewed-by: Dipen Patel <dipenp@nvidia.com>
Tested-by: Dipen Patel <dipenp@nvidia.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20231010151709.4104747-4-andriy.shevchenko@linux.intel.com
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/hte/hte-tegra194.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/hte/hte-tegra194.c b/drivers/hte/hte-tegra194.c
index f6c2dbcd0aca..cf6058193403 100644
--- a/drivers/hte/hte-tegra194.c
+++ b/drivers/hte/hte-tegra194.c
@@ -731,10 +731,8 @@ static int tegra_hte_probe(struct platform_device *pdev)
 		return -ENOMEM;
 
 	ret = platform_get_irq(pdev, 0);
-	if (ret < 0) {
-		dev_err_probe(dev, ret, "failed to get irq\n");
+	if (ret < 0)
 		return ret;
-	}
 	hte_dev->hte_irq = ret;
 	ret = devm_request_irq(dev, hte_dev->hte_irq, tegra_hte_isr, 0,
 			       dev_name(dev), hte_dev);
-- 
2.40.0.1.gaa8946217a0b


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v2 4/4] hte: tegra194: Switch to LATE_SIMPLE_DEV_PM_OPS()
  2023-10-11 20:26 [PATCH v2 0/4] hte: Improve GPIO handling and other cleanups Andy Shevchenko
                   ` (2 preceding siblings ...)
  2023-10-11 20:26 ` [PATCH v2 3/4] hte: tegra194: Remove redundant dev_err() Andy Shevchenko
@ 2023-10-11 20:26 ` Andy Shevchenko
  2023-10-11 22:59 ` [PATCH v2 0/4] hte: Improve GPIO handling and other cleanups Dipen Patel
  4 siblings, 0 replies; 8+ messages in thread
From: Andy Shevchenko @ 2023-10-11 20:26 UTC (permalink / raw)
  To: Bartosz Golaszewski, Andy Shevchenko, Linus Walleij, Dipen Patel,
	linux-gpio, linux-kernel, timestamp, linux-tegra
  Cc: Bartosz Golaszewski, Andy Shevchenko, Thierry Reding, Jonathan Hunter

SET_LATE_SYSTEM_SLEEP_PM_OPS is deprecated, replace it with
LATE_SYSTEM_SLEEP_PM_OPS() and use pm_sleep_ptr() for setting
the driver's pm routines. We can now remove the __maybe_unused
qualifier in the suspend and resume functions.

Tested-by: Dipen Patel <dipenp@nvidia.com>
Reviewed-by: Dipen Patel <dipenp@nvidia.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20231010151709.4104747-5-andriy.shevchenko@linux.intel.com
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/hte/hte-tegra194.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/drivers/hte/hte-tegra194.c b/drivers/hte/hte-tegra194.c
index cf6058193403..76e1b774c55e 100644
--- a/drivers/hte/hte-tegra194.c
+++ b/drivers/hte/hte-tegra194.c
@@ -815,7 +815,7 @@ static int tegra_hte_probe(struct platform_device *pdev)
 	return 0;
 }
 
-static int __maybe_unused tegra_hte_resume_early(struct device *dev)
+static int tegra_hte_resume_early(struct device *dev)
 {
 	u32 i;
 	struct tegra_hte_soc *gs = dev_get_drvdata(dev);
@@ -836,7 +836,7 @@ static int __maybe_unused tegra_hte_resume_early(struct device *dev)
 	return 0;
 }
 
-static int __maybe_unused tegra_hte_suspend_late(struct device *dev)
+static int tegra_hte_suspend_late(struct device *dev)
 {
 	u32 i;
 	struct tegra_hte_soc *gs = dev_get_drvdata(dev);
@@ -856,15 +856,14 @@ static int __maybe_unused tegra_hte_suspend_late(struct device *dev)
 }
 
 static const struct dev_pm_ops tegra_hte_pm = {
-	SET_LATE_SYSTEM_SLEEP_PM_OPS(tegra_hte_suspend_late,
-				     tegra_hte_resume_early)
+	LATE_SYSTEM_SLEEP_PM_OPS(tegra_hte_suspend_late, tegra_hte_resume_early)
 };
 
 static struct platform_driver tegra_hte_driver = {
 	.probe = tegra_hte_probe,
 	.driver = {
 		.name = "tegra_hte",
-		.pm = &tegra_hte_pm,
+		.pm = pm_sleep_ptr(&tegra_hte_pm),
 		.of_match_table = tegra_hte_of_match,
 	},
 };
-- 
2.40.0.1.gaa8946217a0b


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 0/4] hte: Improve GPIO handling and other cleanups
  2023-10-11 20:26 [PATCH v2 0/4] hte: Improve GPIO handling and other cleanups Andy Shevchenko
                   ` (3 preceding siblings ...)
  2023-10-11 20:26 ` [PATCH v2 4/4] hte: tegra194: Switch to LATE_SIMPLE_DEV_PM_OPS() Andy Shevchenko
@ 2023-10-11 22:59 ` Dipen Patel
  2023-10-12  8:20   ` Bartosz Golaszewski
  4 siblings, 1 reply; 8+ messages in thread
From: Dipen Patel @ 2023-10-11 22:59 UTC (permalink / raw)
  To: Andy Shevchenko, Bartosz Golaszewski, Linus Walleij, linux-gpio,
	linux-kernel, timestamp, linux-tegra
  Cc: Bartosz Golaszewski, Andy Shevchenko, Thierry Reding, Jonathan Hunter

On 10/11/23 1:26 PM, Andy Shevchenko wrote:
> This is a series that provides a new API to GPIO library (so far only
> available in the GPIO tree), and respective update to the Tegra
> HTE driver. On top a couple of other cleaups (patches 3 & 4, they
> can be applied separately).
> 
> Patch 2 inherited tags from its respective discussion thread [1].
> 
> Due to dependencies this either should be applied to the GPIO tree,
> or to the HTE when GPIO updates land the upstream (optionally with
> the first patch be applied even now to the GPIO tree independently).
> 
> Another option is to have an immutable branch or tag, but I assume
> that was discussed and rejected (?) in [1].
> 
> In v2:
> - collected tags (Linus, Dipen) 
> - fixed couple of typos (Dipen)
> 
> Link: https://lore.kernel.org/linux-gpio/20230905185309.131295-15-brgl@bgdev.pl/ [1]
> Cc: Dipen Patel <dipenp@nvidia.com>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> 
> Andy Shevchenko (3):
>   gpiolib: provide gpio_device_find_by_fwnode()
>   hte: tegra194: Remove redundant dev_err()
>   hte: tegra194: Switch to LATE_SIMPLE_DEV_PM_OPS()
> 
> Bartosz Golaszewski (1):
>   hte: tegra194: don't access struct gpio_chip
> 
>  drivers/gpio/gpiolib.c      | 20 ++++++++++++++++
>  drivers/hte/hte-tegra194.c  | 46 +++++++++++++++++++------------------
>  include/linux/gpio/driver.h |  1 +
>  3 files changed, 45 insertions(+), 22 deletions(-)
> 
Looks great...I am going to assume you are going to push patches 1 and 2 through
gpio subsystem and rest through HTE, right?

Reviewed-by: Dipen Patel <dipenp@nvidia.com>
Tested-by: Dipen Patel <dipenp@nvidia.com>


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 0/4] hte: Improve GPIO handling and other cleanups
  2023-10-11 22:59 ` [PATCH v2 0/4] hte: Improve GPIO handling and other cleanups Dipen Patel
@ 2023-10-12  8:20   ` Bartosz Golaszewski
  2023-10-12 17:36     ` Dipen Patel
  0 siblings, 1 reply; 8+ messages in thread
From: Bartosz Golaszewski @ 2023-10-12  8:20 UTC (permalink / raw)
  To: Dipen Patel
  Cc: Andy Shevchenko, Bartosz Golaszewski, Linus Walleij, linux-gpio,
	linux-kernel, timestamp, linux-tegra, Andy Shevchenko,
	Thierry Reding, Jonathan Hunter

On Thu, Oct 12, 2023 at 12:59 AM Dipen Patel <dipenp@nvidia.com> wrote:
>
> On 10/11/23 1:26 PM, Andy Shevchenko wrote:
> > This is a series that provides a new API to GPIO library (so far only
> > available in the GPIO tree), and respective update to the Tegra
> > HTE driver. On top a couple of other cleaups (patches 3 & 4, they
> > can be applied separately).
> >
> > Patch 2 inherited tags from its respective discussion thread [1].
> >
> > Due to dependencies this either should be applied to the GPIO tree,
> > or to the HTE when GPIO updates land the upstream (optionally with
> > the first patch be applied even now to the GPIO tree independently).
> >
> > Another option is to have an immutable branch or tag, but I assume
> > that was discussed and rejected (?) in [1].
> >
> > In v2:
> > - collected tags (Linus, Dipen)
> > - fixed couple of typos (Dipen)
> >
> > Link: https://lore.kernel.org/linux-gpio/20230905185309.131295-15-brgl@bgdev.pl/ [1]
> > Cc: Dipen Patel <dipenp@nvidia.com>
> > Cc: Linus Walleij <linus.walleij@linaro.org>
> >
> > Andy Shevchenko (3):
> >   gpiolib: provide gpio_device_find_by_fwnode()
> >   hte: tegra194: Remove redundant dev_err()
> >   hte: tegra194: Switch to LATE_SIMPLE_DEV_PM_OPS()
> >
> > Bartosz Golaszewski (1):
> >   hte: tegra194: don't access struct gpio_chip
> >
> >  drivers/gpio/gpiolib.c      | 20 ++++++++++++++++
> >  drivers/hte/hte-tegra194.c  | 46 +++++++++++++++++++------------------
> >  include/linux/gpio/driver.h |  1 +
> >  3 files changed, 45 insertions(+), 22 deletions(-)
> >
> Looks great...I am going to assume you are going to push patches 1 and 2 through
> gpio subsystem and rest through HTE, right?
>
> Reviewed-by: Dipen Patel <dipenp@nvidia.com>
> Tested-by: Dipen Patel <dipenp@nvidia.com>
>

Yes, let me queue them right away.

Bart

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 0/4] hte: Improve GPIO handling and other cleanups
  2023-10-12  8:20   ` Bartosz Golaszewski
@ 2023-10-12 17:36     ` Dipen Patel
  0 siblings, 0 replies; 8+ messages in thread
From: Dipen Patel @ 2023-10-12 17:36 UTC (permalink / raw)
  To: Bartosz Golaszewski
  Cc: Andy Shevchenko, Bartosz Golaszewski, Linus Walleij, linux-gpio,
	linux-kernel, timestamp, linux-tegra, Andy Shevchenko,
	Thierry Reding, Jonathan Hunter

On 10/12/23 1:20 AM, Bartosz Golaszewski wrote:
> On Thu, Oct 12, 2023 at 12:59 AM Dipen Patel <dipenp@nvidia.com> wrote:
>>
>> On 10/11/23 1:26 PM, Andy Shevchenko wrote:
>>> This is a series that provides a new API to GPIO library (so far only
>>> available in the GPIO tree), and respective update to the Tegra
>>> HTE driver. On top a couple of other cleaups (patches 3 & 4, they
>>> can be applied separately).
>>>
>>> Patch 2 inherited tags from its respective discussion thread [1].
>>>
>>> Due to dependencies this either should be applied to the GPIO tree,
>>> or to the HTE when GPIO updates land the upstream (optionally with
>>> the first patch be applied even now to the GPIO tree independently).
>>>
>>> Another option is to have an immutable branch or tag, but I assume
>>> that was discussed and rejected (?) in [1].
>>>
>>> In v2:
>>> - collected tags (Linus, Dipen)
>>> - fixed couple of typos (Dipen)
>>>
>>> Link: https://lore.kernel.org/linux-gpio/20230905185309.131295-15-brgl@bgdev.pl/ [1]
>>> Cc: Dipen Patel <dipenp@nvidia.com>
>>> Cc: Linus Walleij <linus.walleij@linaro.org>
>>>
>>> Andy Shevchenko (3):
>>>   gpiolib: provide gpio_device_find_by_fwnode()
>>>   hte: tegra194: Remove redundant dev_err()
>>>   hte: tegra194: Switch to LATE_SIMPLE_DEV_PM_OPS()
>>>
>>> Bartosz Golaszewski (1):
>>>   hte: tegra194: don't access struct gpio_chip
>>>
>>>  drivers/gpio/gpiolib.c      | 20 ++++++++++++++++
>>>  drivers/hte/hte-tegra194.c  | 46 +++++++++++++++++++------------------
>>>  include/linux/gpio/driver.h |  1 +
>>>  3 files changed, 45 insertions(+), 22 deletions(-)
>>>
>> Looks great...I am going to assume you are going to push patches 1 and 2 through
>> gpio subsystem and rest through HTE, right?
>>
>> Reviewed-by: Dipen Patel <dipenp@nvidia.com>
>> Tested-by: Dipen Patel <dipenp@nvidia.com>
>>
> 
> Yes, let me queue them right away.
>
Thanks, I just pushed patches 3 and 4 to hte subsys tree. Thanks everyone for
the quick turnaround to resolve this issue.

> Bart


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2023-10-12 17:38 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-10-11 20:26 [PATCH v2 0/4] hte: Improve GPIO handling and other cleanups Andy Shevchenko
2023-10-11 20:26 ` [PATCH v2 1/4] gpiolib: provide gpio_device_find_by_fwnode() Andy Shevchenko
2023-10-11 20:26 ` [PATCH v2 2/4] hte: tegra194: don't access struct gpio_chip Andy Shevchenko
2023-10-11 20:26 ` [PATCH v2 3/4] hte: tegra194: Remove redundant dev_err() Andy Shevchenko
2023-10-11 20:26 ` [PATCH v2 4/4] hte: tegra194: Switch to LATE_SIMPLE_DEV_PM_OPS() Andy Shevchenko
2023-10-11 22:59 ` [PATCH v2 0/4] hte: Improve GPIO handling and other cleanups Dipen Patel
2023-10-12  8:20   ` Bartosz Golaszewski
2023-10-12 17:36     ` Dipen Patel

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).