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