Roger Quadros <rogerq@xxxxxx> writes: > Don't call pm_runtime_set_active() as it will prevent the device > from being activated in the next pm_runtime_get_sync() call. > > Also call pm_runtime_get_sync() before of_platform_populate(). > > Signed-off-by: Roger Quadros <rogerq@xxxxxx> This patch is wrong. > --- > drivers/usb/dwc3/dwc3-of-simple.c | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/drivers/usb/dwc3/dwc3-of-simple.c b/drivers/usb/dwc3/dwc3-of-simple.c > index e98d221..2cbb5c0 100644 > --- a/drivers/usb/dwc3/dwc3-of-simple.c > +++ b/drivers/usb/dwc3/dwc3-of-simple.c > @@ -121,6 +121,9 @@ static int dwc3_of_simple_probe(struct platform_device *pdev) > if (ret) > goto err_resetc_assert; > > + pm_runtime_enable(dev); > + pm_runtime_get_sync(dev); No, this is the wrong way to do things. My device should be enabled already from probe, specially since I have already enabled clocks. > ret = of_platform_populate(np, NULL, NULL, dev); > if (ret) { > for (i = 0; i < simple->num_clocks; i++) { > @@ -131,10 +134,6 @@ static int dwc3_of_simple_probe(struct platform_device *pdev) > goto err_resetc_assert; > } > > - pm_runtime_set_active(dev); > - pm_runtime_enable(dev); > - pm_runtime_get_sync(dev); this hunk is not wrong at all. -- balbi
Attachment:
signature.asc
Description: PGP signature