aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/thermal/max77620_thermal.c
diff options
context:
space:
mode:
authorJohan Hovold <johan@kernel.org>2017-06-06 11:59:04 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-06-13 05:07:32 -0400
commitce046e5d9b489554c29ae9277cdc2f86dee76a84 (patch)
treefad95ebba112a8521d1752957b8cc2a1fc3ace7a /drivers/thermal/max77620_thermal.c
parentc592fafbdbb6b1279b76a54722d1465ca77e5bde (diff)
thermal: max77620: fix pinmux conflict on reprobe
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> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/thermal/max77620_thermal.c')
-rw-r--r--drivers/thermal/max77620_thermal.c8
1 files 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)
112 } 112 }
113 113
114 /* 114 /*
115 * Drop any current reference to a device-tree node and get a 115 * The reference taken to the parent's node which will be balanced on
116 * reference to the parent's node which will be balanced on reprobe or 116 * reprobe or on platform-device release.
117 * on platform-device release.
118 */ 117 */
119 of_node_put(pdev->dev.of_node); 118 device_set_of_node_from_dev(&pdev->dev, pdev->dev.parent);
120 pdev->dev.of_node = of_node_get(pdev->dev.parent->of_node);
121 119
122 mtherm->tz_device = devm_thermal_zone_of_sensor_register(&pdev->dev, 0, 120 mtherm->tz_device = devm_thermal_zone_of_sensor_register(&pdev->dev, 0,
123 mtherm, &max77620_thermal_ops); 121 mtherm, &max77620_thermal_ops);