[PATCH 1/2] mmc: slot-gpio: use devm_* managed functions to ease users
Shawn Guo
shawn.guo at linaro.org
Tue Dec 11 07:55:04 EST 2012
On Tue, Dec 11, 2012 at 08:32:14AM +0100, Guennadi Liakhovetski wrote:
> Ok, so, you agree, that the normal case is, when these GPIO functions are
> requested only once during probing and are released during driver
> unbinding, and that it's worth optimisine for this case. In principle I
> agree, and so far all 3 users of this API do that. So, maybe it would be
> good to extend this patch series with a patch (or 3 patches, if per-driver
> is preferred), removing mmc_gpio_free_*() calls from those drivers.
Ok, will do (with single patch approach first).
> I
> think, however, there is one more thing to consider here: the slot-gpio
> API contains a GPIO CD IRQ handler, which after these changes will only be
> freed after the calls to mmc_remove_host() and mmc_free_host(). This
> should be safe, because mmc_remove_host() sets the .rescan_disable flag.
> After the recent patch the GPIO CD ISR also calls host->ops->card_event(),
> so, hosts muct make sure, that this function is safe to call even after
> the driver's .remove() method has completed. With that in mind, I think,
> we're fine with this patch.
>
Thanks for the point. I think we should be fine as client drivers'
.remove() hook will generally call mmc_remove_host() and mmc_free_host()
in there.
Shawn
More information about the linux-arm-kernel
mailing list