Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1653363 > unrolled thread
| Started by | Johan Hovold <johan@kernel.org> |
|---|---|
| First post | 2017-05-30 18:30 +0200 |
| Last post | 2017-05-31 10:30 +0200 |
| Articles | 3 — 2 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
[PATCH 7/7] thermal: max77620: fix pinmux conflict on reprobe Johan Hovold <johan@kernel.org> - 2017-05-30 18:30 +0200
Re: [PATCH 7/7] thermal: max77620: fix pinmux conflict on reprobe Eduardo Valentin <eduval@amazon.com> - 2017-05-30 21:00 +0200
Re: [PATCH 7/7] thermal: max77620: fix pinmux conflict on reprobe Johan Hovold <johan@kernel.org> - 2017-05-31 10:30 +0200
| From | Johan Hovold <johan@kernel.org> |
|---|---|
| Date | 2017-05-30 18:30 +0200 |
| Subject | [PATCH 7/7] thermal: max77620: fix pinmux conflict on reprobe |
| Message-ID | <tMSbU-1dJ-29@gated-at.bofh.it> |
Use the new helper for reusing a device-tree node of another device
instead of managing the node references explicitly.
This also makes sure that the new of_node_reuse flag is set if the
device is ever reprobed, something which specifically now avoids driver
core from attempting to claim any pinmux resources already claimed by
the parent device.
Fixes: ec4664b3fd6d ("thermal: max77620: Add thermal driver for reporting junction temp")
Cc: Laxman Dewangan <ldewangan@nvidia.com>
Signed-off-by: Johan Hovold <johan@kernel.org>
---
drivers/thermal/max77620_thermal.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/drivers/thermal/max77620_thermal.c b/drivers/thermal/max77620_thermal.c
index 71d35f3c9215..159bbcee8821 100644
--- a/drivers/thermal/max77620_thermal.c
+++ b/drivers/thermal/max77620_thermal.c
@@ -112,12 +112,10 @@ static int max77620_thermal_probe(struct platform_device *pdev)
}
/*
- * Drop any current reference to a device-tree node and get a
- * reference to the parent's node which will be balanced on reprobe or
- * on platform-device release.
+ * The reference taken to the parent's node which will be balanced on
+ * reprobe or on platform-device release.
*/
- of_node_put(pdev->dev.of_node);
- pdev->dev.of_node = of_node_get(pdev->dev.parent->of_node);
+ device_set_of_node_from_dev(&pdev->dev, pdev->dev.parent);
mtherm->tz_device = devm_thermal_zone_of_sensor_register(&pdev->dev, 0,
mtherm, &max77620_thermal_ops);
--
2.13.0
[toc] | [next] | [standalone]
| From | Eduardo Valentin <eduval@amazon.com> |
|---|---|
| Date | 2017-05-30 21:00 +0200 |
| Message-ID | <tMUx3-2xi-3@gated-at.bofh.it> |
| In reply to | #1653363 |
On Tue, May 30, 2017 at 06:25:54PM +0200, Johan Hovold wrote:
> Use the new helper for reusing a device-tree node of another device
> instead of managing the node references explicitly.
>
> This also makes sure that the new of_node_reuse flag is set if the
> device is ever reprobed, something which specifically now avoids driver
> core from attempting to claim any pinmux resources already claimed by
> the parent device.
>
> Fixes: ec4664b3fd6d ("thermal: max77620: Add thermal driver for reporting junction temp")
> Cc: Laxman Dewangan <ldewangan@nvidia.com>
> Signed-off-by: Johan Hovold <johan@kernel.org>
> ---
> drivers/thermal/max77620_thermal.c | 8 +++-----
> 1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/thermal/max77620_thermal.c b/drivers/thermal/max77620_thermal.c
> index 71d35f3c9215..159bbcee8821 100644
> --- a/drivers/thermal/max77620_thermal.c
> +++ b/drivers/thermal/max77620_thermal.c
> @@ -112,12 +112,10 @@ static int max77620_thermal_probe(struct platform_device *pdev)
> }
>
> /*
> - * Drop any current reference to a device-tree node and get a
> - * reference to the parent's node which will be balanced on reprobe or
> - * on platform-device release.
> + * The reference taken to the parent's node which will be balanced on
> + * reprobe or on platform-device release.
> */
> - of_node_put(pdev->dev.of_node);
> - pdev->dev.of_node = of_node_get(pdev->dev.parent->of_node);
> + device_set_of_node_from_dev(&pdev->dev, pdev->dev.parent);
Should this one be squashed with patch 6/7?
>
> mtherm->tz_device = devm_thermal_zone_of_sensor_register(&pdev->dev, 0,
> mtherm, &max77620_thermal_ops);
> --
> 2.13.0
>
>
--
All the best,
Eduardo Valentin
[toc] | [prev] | [next] | [standalone]
| From | Johan Hovold <johan@kernel.org> |
|---|---|
| Date | 2017-05-31 10:30 +0200 |
| Message-ID | <tN7aX-2iQ-49@gated-at.bofh.it> |
| In reply to | #1653491 |
On Tue, May 30, 2017 at 11:57:07AM -0700, Eduardo Valentin wrote:
> On Tue, May 30, 2017 at 06:25:54PM +0200, Johan Hovold wrote:
> > Use the new helper for reusing a device-tree node of another device
> > instead of managing the node references explicitly.
> >
> > This also makes sure that the new of_node_reuse flag is set if the
> > device is ever reprobed, something which specifically now avoids driver
> > core from attempting to claim any pinmux resources already claimed by
> > the parent device.
> >
> > Fixes: ec4664b3fd6d ("thermal: max77620: Add thermal driver for reporting junction temp")
> > Cc: Laxman Dewangan <ldewangan@nvidia.com>
> > Signed-off-by: Johan Hovold <johan@kernel.org>
> > ---
> > drivers/thermal/max77620_thermal.c | 8 +++-----
> > 1 file changed, 3 insertions(+), 5 deletions(-)
> >
> > diff --git a/drivers/thermal/max77620_thermal.c b/drivers/thermal/max77620_thermal.c
> > index 71d35f3c9215..159bbcee8821 100644
> > --- a/drivers/thermal/max77620_thermal.c
> > +++ b/drivers/thermal/max77620_thermal.c
> > @@ -112,12 +112,10 @@ static int max77620_thermal_probe(struct platform_device *pdev)
> > }
> >
> > /*
> > - * Drop any current reference to a device-tree node and get a
> > - * reference to the parent's node which will be balanced on reprobe or
> > - * on platform-device release.
> > + * The reference taken to the parent's node which will be balanced on
> > + * reprobe or on platform-device release.
> > */
> > - of_node_put(pdev->dev.of_node);
> > - pdev->dev.of_node = of_node_get(pdev->dev.parent->of_node);
> > + device_set_of_node_from_dev(&pdev->dev, pdev->dev.parent);
>
> Should this one be squashed with patch 6/7?
I separated the two fixes this way as 6/7 does not depend on the rest of
the series and could be backported to stable, while this one fixes
something that has never worked (e.g. deferred probe of the thermal
child when the parent has a pinctrl configuration) and therefore is not
stable material.
Thanks,
Johan
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web