[PATCH 1/2] mmc: slot-gpio: use devm_* managed functions to ease users

Chris Ball cjb at laptop.org
Mon Dec 10 20:58:09 EST 2012


Hi Shawn, Guennadi,

On Fri, Dec 07 2012, Shawn Guo wrote:
>> > Use devm_* managed functions, so that slot-gpio users do not have to
>> > call mmc_gpio_free_ro/cd to free up resources requested in
>> > mmc_gpio_request_ro/cd.
>> > 
>> > Signed-off-by: Shawn Guo <shawn.guo at linaro.org>
>> 
>> Thanks for the patch, but I'm not sure this is a good idea. Firstly, using 
>> devm_* allocation functions means, that normally you don't have to free 
>> these resources explicitly any more. So, actually you would have to remove 
>> free_irq() and gpio_free() calls completely from the API instead of 
>> replacing them with devm_* analogs.
>
> With the changes, most of the slot-gpio users will only need to call
> mmc_gpio_request_* functions at probe time, nothing else.  That said,
> they will not call mmc_gpio_free_* functions at all.  I patched
> mmc_gpio_free_* functions replacing free_irq() and gpio_free() with
> devm_* versions to 1) ease the migration of exiting users calling
> mmc_gpio_free_*; 2) provide a mean for users to manually free resources
> for whatever reasons.

I'd like to find a way to merge this -- maybe we can compromise by
adding a comment or some documentation that explains that you need to be
careful (and use _request_* and _free_*) to avoid allocating more than
once if you're doing something odd like runtime switching between CD
methods?

Thanks!

- Chris.
-- 
Chris Ball   <cjb at laptop.org>   <http://printf.net/>
One Laptop Per Child



More information about the linux-arm-kernel mailing list