Skip to content

Commit eca7103

Browse files
claudiubezneagregkh
authored andcommitted
driver core: auxiliary bus: Drop dev_pm_domain_detach() call
Starting with commit f995080 ("PM: domains: Detach on device_unbind_cleanup()"), there is no longer a need to call dev_pm_domain_detach() in the bus remove function. The device_unbind_cleanup() function now handles this to avoid invoking devres cleanup handlers while the PM domain is powered off, which could otherwise lead to failures as described in the above-mentioned commit. Drop the explicit dev_pm_domain_detach() call and rely instead on the flags passed to dev_pm_domain_attach() to power off the domain. Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com> Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org> Link: https://lore.kernel.org/r/20250827100541.926350-1-claudiu.beznea.uj@bp.renesas.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent 716cec5 commit eca7103

1 file changed

Lines changed: 3 additions & 7 deletions

File tree

drivers/base/auxiliary.c

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -217,17 +217,14 @@ static int auxiliary_bus_probe(struct device *dev)
217217
struct auxiliary_device *auxdev = to_auxiliary_dev(dev);
218218
int ret;
219219

220-
ret = dev_pm_domain_attach(dev, PD_FLAG_ATTACH_POWER_ON);
220+
ret = dev_pm_domain_attach(dev, PD_FLAG_ATTACH_POWER_ON |
221+
PD_FLAG_DETACH_POWER_OFF);
221222
if (ret) {
222223
dev_warn(dev, "Failed to attach to PM Domain : %d\n", ret);
223224
return ret;
224225
}
225226

226-
ret = auxdrv->probe(auxdev, auxiliary_match_id(auxdrv->id_table, auxdev));
227-
if (ret)
228-
dev_pm_domain_detach(dev, true);
229-
230-
return ret;
227+
return auxdrv->probe(auxdev, auxiliary_match_id(auxdrv->id_table, auxdev));
231228
}
232229

233230
static void auxiliary_bus_remove(struct device *dev)
@@ -237,7 +234,6 @@ static void auxiliary_bus_remove(struct device *dev)
237234

238235
if (auxdrv->remove)
239236
auxdrv->remove(auxdev);
240-
dev_pm_domain_detach(dev, true);
241237
}
242238

243239
static void auxiliary_bus_shutdown(struct device *dev)

0 commit comments

Comments
 (0)