diff mbox

mmc: omap_hsmmc: devm_pinctrl_get returns ERR_PTR upon error

Message ID 1458514504-21380-1-git-send-email-afenkart@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Andreas Fenkart March 20, 2016, 10:55 p.m. UTC
devm_pinctrl_get returns NULL if CONFIG_PINCTRL is not set,
returns ERR_PTR on error otherwise

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Andreas Fenkart <afenkart@gmail.com>
---
 drivers/mmc/host/omap_hsmmc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Dan Carpenter March 21, 2016, 8:41 a.m. UTC | #1
On Sun, Mar 20, 2016 at 11:55:04PM +0100, Andreas Fenkart wrote:
> devm_pinctrl_get returns NULL if CONFIG_PINCTRL is not set,
> returns ERR_PTR on error otherwise
> 
> Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
> Signed-off-by: Andreas Fenkart <afenkart@gmail.com>
> ---
>  drivers/mmc/host/omap_hsmmc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
> index 62e421a..898878d 100644
> --- a/drivers/mmc/host/omap_hsmmc.c
> +++ b/drivers/mmc/host/omap_hsmmc.c
> @@ -1842,7 +1842,7 @@ static int omap_hsmmc_configure_wake_irq(struct omap_hsmmc_host *host)
>  	 */
>  	if (host->pdata->controller_flags & OMAP_HSMMC_SWAKEUP_MISSING) {
>  		struct pinctrl *p = devm_pinctrl_get(host->dev);
> -		if (!p) {
> +		if (!p || IS_ERR(p)) {
>  			ret = -ENODEV;

I think I know why it returns NULL with pinctrl disabled, it's not
because of COMPILE_TEST as I said before.  The reason is that it's not
supposed to be treated as an error if we turn off that config.  In
other words, the person configuring the kernel wanted it to just boot
here.  If it's not possible to boot then instead of checking for NULL we
should make it impossible to compile without PINCTRL by setting that in
the Kconfig.

It may be that the Kconfig already force you to have PINCTRL.
ARCH_OMAP2PLUS does, but I'm not sure about ARCH_KEYSTONE.

So the check for NULL should be removed and also we should preserve the
error code.

	if (IS_ERR(p)) {
		ret = PTR_ERR(p);

regards,
dan carpenter

--
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 mbox

Patch

diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
index 62e421a..898878d 100644
--- a/drivers/mmc/host/omap_hsmmc.c
+++ b/drivers/mmc/host/omap_hsmmc.c
@@ -1842,7 +1842,7 @@  static int omap_hsmmc_configure_wake_irq(struct omap_hsmmc_host *host)
 	 */
 	if (host->pdata->controller_flags & OMAP_HSMMC_SWAKEUP_MISSING) {
 		struct pinctrl *p = devm_pinctrl_get(host->dev);
-		if (!p) {
+		if (!p || IS_ERR(p)) {
 			ret = -ENODEV;
 			goto err_free_irq;
 		}