Re: [PATCH] mmc: core: Add DT bindings for card detect debounce time

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 9 May 2014 17:37, Balaji T K <balajitk@xxxxxx> wrote:
> Provide an option to get CD debounce time from DT
>
> Signed-off-by: Balaji T K <balajitk@xxxxxx>
> ---
>  Documentation/devicetree/bindings/mmc/mmc.txt |    1 +
>  drivers/mmc/core/host.c                       |    6 +++++-
>  2 files changed, 6 insertions(+), 1 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/mmc/mmc.txt b/Documentation/devicetree/bindings/mmc/mmc.txt
> index 9dce540..fae590b 100644
> --- a/Documentation/devicetree/bindings/mmc/mmc.txt
> +++ b/Documentation/devicetree/bindings/mmc/mmc.txt
> @@ -17,6 +17,7 @@ Optional properties:
>  - bus-width: Number of data lines, can be <1>, <4>, or <8>.  The default
>    will be <1> if the property is absent.
>  - wp-gpios: Specify GPIOs for write protection, see gpio binding
> +- cd-debounce-us: debounce time in microseconds for card detect gpio.
>  - cd-inverted: when present, polarity on the CD line is inverted. See the note
>    below for the case, when a GPIO is used for the CD line
>  - wp-inverted: when present, polarity on the WP line is inverted. See the note
> diff --git a/drivers/mmc/core/host.c b/drivers/mmc/core/host.c
> index fdea825..59cd3a0 100644
> --- a/drivers/mmc/core/host.c
> +++ b/drivers/mmc/core/host.c
> @@ -313,6 +313,7 @@ int mmc_of_parse(struct mmc_host *host)
>         bool explicit_inv_wp, gpio_inv_wp = false;
>         enum of_gpio_flags flags;
>         int len, ret, gpio;
> +       unsigned int debounce;
>
>         if (!host->parent || !host->parent->of_node)
>                 return 0;
> @@ -367,6 +368,9 @@ int mmc_of_parse(struct mmc_host *host)
>                 if (of_find_property(np, "broken-cd", &len))
>                         host->caps |= MMC_CAP_NEEDS_POLL;
>
> +               if (of_property_read_u32(np, "cd-debounce-us", &debounce) < 0)
> +                       debounce = 0;
> +

Hi Balaji,

Sorry for a late reply.

I am wondering whether this should be a generic gpio of property,
instead of a mmc specific thing.

I have added Linus Walleij and Alexandre Courbot, the maintainers of
gpio. Let's see if they can point us in a direction.

>                 gpio = of_get_named_gpio_flags(np, "cd-gpios", 0, &flags);
>                 if (gpio == -EPROBE_DEFER)
>                         return gpio;
> @@ -374,7 +378,7 @@ int mmc_of_parse(struct mmc_host *host)
>                         if (!(flags & OF_GPIO_ACTIVE_LOW))
>                                 gpio_inv_cd = true;
>
> -                       ret = mmc_gpio_request_cd(host, gpio, 0);
> +                       ret = mmc_gpio_request_cd(host, gpio, debounce);
>                         if (ret < 0) {
>                                 dev_err(host->parent,
>                                         "Failed to request CD GPIO #%d: %d!\n",
> --
> 1.7.5.4
>

Kind regards
Uffe
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux