Subject: Re: [PATCH] net: macb: Only call GPIO functions if there is a valid GPIO

From: Charles Keepax <[email-masked]>
Date: Tue, 29 Mar 2016 09:28:36 +0100

On Mon, Mar 28, 2016 at 08:30:11PM +0300, Sergei Shtylyov wrote:
> >@@ -3029,7 +3030,8 @@ static int macb_remove(struct platform_device *pdev)
> >  		mdiobus_free(bp->mii_bus);
> >
> >  		/* Shutdown the PHY if there is a GPIO reset */
> >-		gpiod_set_value(bp->reset_gpio, 0);
> >+		if (bp->reset_gpio)
> >+			gpiod_set_value(bp->reset_gpio, 0);
> 
>    Hm, this function was previously OK to call with NULL (it didn't curse)...
> 

Looks like it was changed so that it does complain fairly
recently (patch librally snipped down):

commit fdeb8e1547cb9dd39d5d7223b33f3565cf86c28e
Author: Linus Walleij <[email-masked]>

    gpio: reflect base and ngpio into gpio_device

+#define VALIDATE_DESC_VOID(desc) do { \
+ if (!desc || !desc->gdev) { \
+         pr_warn("%s: invalid GPIO\n", __func__); \
+         return; \
+ } \
+

void gpiod_set_value(struct gpio_desc *desc, int value)
{
-   if (!desc)
-           return;
+ VALIDATE_DESC_VOID(desc);

Thanks,
Charles