Message ID | 1442225935-24155-1-git-send-email-ulf.hansson@linaro.org |
---|---|
State | New |
Headers | show |
On 09/14/2015 12:18 PM, Ulf Hansson wrote: > When CONFIG_GPIOLIB is unset, its stubs will return -ENOSYS. That means > when the mmc core parses DT for CD/WP GPIOs via mmc_of_parse(), -ENOSYS > becomes propagated to the caller. Typically this means that the mmc host > driver fails to probe. > > As the CD/WP GPIOs are already treated as optional, let's extend that to > cover the case when CONFIG_GPIOLIB is unset. > > Reported-by: Michal Simek <michal.simek@xilinx.com> > Fixes: 16b23787fc70 ("mmc: sdhci-of-arasan: Call OF parsing for MMC") > Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> > --- > > Changes in v2: > - Corrected error code check. > > --- > drivers/mmc/core/host.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/mmc/core/host.c b/drivers/mmc/core/host.c > index abd933b..5466f25 100644 > --- a/drivers/mmc/core/host.c > +++ b/drivers/mmc/core/host.c > @@ -457,7 +457,7 @@ int mmc_of_parse(struct mmc_host *host) > 0, &cd_gpio_invert); > if (!ret) > dev_info(host->parent, "Got CD GPIO\n"); > - else if (ret != -ENOENT) > + else if (ret != -ENOENT && ret != -ENOSYS) > return ret; > > /* > @@ -481,7 +481,7 @@ int mmc_of_parse(struct mmc_host *host) > ret = mmc_gpiod_request_ro(host, "wp", 0, false, 0, &ro_gpio_invert); > if (!ret) > dev_info(host->parent, "Got WP GPIO\n"); > - else if (ret != -ENOENT) > + else if (ret != -ENOENT && ret != -ENOSYS) > return ret; > > if (of_property_read_bool(np, "disable-wp")) > Tested-by: Michal Simek <michal.simek@xilinx.com> Thanks, Michal -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
ACKed-by: Venu Byravarasu <vbyravarasu@nvidia.com> > -----Original Message----- > From: linux-mmc-owner@vger.kernel.org [mailto:linux-mmc- > owner@vger.kernel.org] On Behalf Of Ulf Hansson > Sent: Monday, September 14, 2015 3:49 PM > To: linux-mmc@vger.kernel.org; Ulf Hansson > Cc: Michal Simek; Marcus Overhagen; Venu Byravarasu > Subject: [PATCH V2] mmc: core: Don't return an error for CD/WP GPIOs > when GPIOLIB is unset > > When CONFIG_GPIOLIB is unset, its stubs will return -ENOSYS. That means > when the mmc core parses DT for CD/WP GPIOs via mmc_of_parse(), - > ENOSYS becomes propagated to the caller. Typically this means that the mmc > host driver fails to probe. > > As the CD/WP GPIOs are already treated as optional, let's extend that to > cover the case when CONFIG_GPIOLIB is unset. > > Reported-by: Michal Simek <michal.simek@xilinx.com> > Fixes: 16b23787fc70 ("mmc: sdhci-of-arasan: Call OF parsing for MMC") > Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> > --- > > Changes in v2: > - Corrected error code check. > > --- > drivers/mmc/core/host.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/mmc/core/host.c b/drivers/mmc/core/host.c index > abd933b..5466f25 100644 > --- a/drivers/mmc/core/host.c > +++ b/drivers/mmc/core/host.c > @@ -457,7 +457,7 @@ int mmc_of_parse(struct mmc_host *host) > 0, &cd_gpio_invert); > if (!ret) > dev_info(host->parent, "Got CD GPIO\n"); > - else if (ret != -ENOENT) > + else if (ret != -ENOENT && ret != -ENOSYS) > return ret; > > /* > @@ -481,7 +481,7 @@ int mmc_of_parse(struct mmc_host *host) > ret = mmc_gpiod_request_ro(host, "wp", 0, false, 0, > &ro_gpio_invert); > if (!ret) > dev_info(host->parent, "Got WP GPIO\n"); > - else if (ret != -ENOENT) > + else if (ret != -ENOENT && ret != -ENOSYS) > return ret; > > if (of_property_read_bool(np, "disable-wp")) > -- > 1.9.1 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the > body of a message to majordomo@vger.kernel.org More majordomo info at > http://vger.kernel.org/majordomo-info.html ----------------------------------------------------------------------------------- This email message is for the sole use of the intended recipient(s) and may contain confidential information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message. ----------------------------------------------------------------------------------- -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/mmc/core/host.c b/drivers/mmc/core/host.c index abd933b..5466f25 100644 --- a/drivers/mmc/core/host.c +++ b/drivers/mmc/core/host.c @@ -457,7 +457,7 @@ int mmc_of_parse(struct mmc_host *host) 0, &cd_gpio_invert); if (!ret) dev_info(host->parent, "Got CD GPIO\n"); - else if (ret != -ENOENT) + else if (ret != -ENOENT && ret != -ENOSYS) return ret; /* @@ -481,7 +481,7 @@ int mmc_of_parse(struct mmc_host *host) ret = mmc_gpiod_request_ro(host, "wp", 0, false, 0, &ro_gpio_invert); if (!ret) dev_info(host->parent, "Got WP GPIO\n"); - else if (ret != -ENOENT) + else if (ret != -ENOENT && ret != -ENOSYS) return ret; if (of_property_read_bool(np, "disable-wp"))
When CONFIG_GPIOLIB is unset, its stubs will return -ENOSYS. That means when the mmc core parses DT for CD/WP GPIOs via mmc_of_parse(), -ENOSYS becomes propagated to the caller. Typically this means that the mmc host driver fails to probe. As the CD/WP GPIOs are already treated as optional, let's extend that to cover the case when CONFIG_GPIOLIB is unset. Reported-by: Michal Simek <michal.simek@xilinx.com> Fixes: 16b23787fc70 ("mmc: sdhci-of-arasan: Call OF parsing for MMC") Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> --- Changes in v2: - Corrected error code check. --- drivers/mmc/core/host.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)