[PATCH 5/5] mmc: sdhci-s3c: setup pins using pinctrl interface

Thomas Abraham thomas.abraham at linaro.org
Mon Mar 12 00:28:06 EDT 2012


2012/3/12 Kukjin Kim <kgene.kim at samsung.com>:
> Thomas Abraham wrote:
>> The platform specific callback to setup the sdhci pin mux and pin config
>> is removed and the pinctrl subsystem interface is used to setup the
>> mux and config.
>>
>> Signed-off-by: Thomas Abraham<thomas.abraham at linaro.org>
>> ---
>>   drivers/mmc/host/sdhci-s3c.c |   15 +++++++++++++--
>>   1 files changed, 13 insertions(+), 2 deletions(-)
>>
> [...]
>
>>
>> +#include<plat/map-s5p.h>
>> +#include<plat/map-base.h>
>
> You can add <mach/map.h> instead of above.
>
>> +
>>   static int __devinit sdhci_s3c_probe(struct platform_device *pdev)
>>   {
>>       struct s3c_sdhci_platdata *pdata;
>> @@ -538,6 +543,7 @@ static int __devinit sdhci_s3c_probe(struct platform_device *pdev)
>>       struct sdhci_s3c *sc;
>>       struct resource *res;
>>       int ret, irq, ptr, clks;
>> +     char *pstate;
>>
>>       if (!pdev->dev.platform_data&&  !pdev->dev.of_node) {
>>               dev_err(dev, "no device data specified\n");
>> @@ -643,8 +649,13 @@ static int __devinit sdhci_s3c_probe(struct platform_device *pdev)
>>       }
>>
>>       /* Ensure we have minimal gpio selected CMD/CLK/Detect */
>> -     if (pdata->cfg_gpio)
>> -             pdata->cfg_gpio(pdev, pdata->max_width);
>
> I'm not sure we can remove above now for all of Samsung stuff?

We the pin map table is fully populated for each SoC (and board as
necessary), then the platform callback functions to setup the pinmux
and pinconfig can be removed for the drivers. But before doing that,
the next step would be to add gpio interrupts and wakeup interrupts
support into the samsung pinctrl driver. When we have a fully
functional pinctrl driver, we could add the required bits in SoC and
board files and switch over to the pinctrl driver.

>
>> +     pstate = pdata->max_width ? "sdhci-pcfg8" : "sdhci-pcfg4";
>
> Is this right? Current max_width can be 4 or 8 in each board file now.

Sorry, that is not correct. I will fix it. Thanks.

Regards,
Thomas.



More information about the linux-arm-kernel mailing list