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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/