Messages in this thread | | | Date | Wed, 7 Jan 2015 08:32:48 -0800 | From | Sören Brinkmann <> | Subject | Re: [PATCH v4] can: Convert to runtime_pm |
| |
On Wed, 2015-01-07 at 05:30PM +0100, Marc Kleine-Budde wrote: > On 01/07/2015 04:58 PM, Sören Brinkmann wrote: > >> I think you have to convert the _remove() function, too. Have a look at > >> the gpio-zynq.c driver: > >> > >>> static int zynq_gpio_remove(struct platform_device *pdev) > >>> { > >>> struct zynq_gpio *gpio = platform_get_drvdata(pdev); > >>> > >>> pm_runtime_get_sync(&pdev->dev); > >> > >> However I don't understand why the get_sync() is here. Maybe Sören can help? > > > > IIRC, the concern was that the remove function may be called while the device is > > runtime suspended. Hence the remove function needs to resume the device since the > > remove function may access the HW. > > What about the corresponding runtime_put()? Would some counter be > unbalanced upon device removal?
Aren't those counters destroyed with module unloading?
Sören
| |