[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