diff mbox series

[net,v2] net: phy: qca807x: fix compilation when CONFIG_GPIOLIB is not set

Message ID 20240305135903.3752568-1-robimarko@gmail.com (mailing list archive)
State Superseded
Headers show
Series [net,v2] net: phy: qca807x: fix compilation when CONFIG_GPIOLIB is not set | expand

Commit Message

Robert Marko March 5, 2024, 1:58 p.m. UTC
Kernel bot has discovered that if CONFIG_GPIOLIB is not set compilation
will fail.

Upon investigation the issue is that qca807x_gpio() is guarded by a
preprocessor check but then it is called under
if (IS_ENABLED(CONFIG_GPIOLIB)) in the probe call so the compiler will
error out since qca807x_gpio() has not been declared if CONFIG_GPIOLIB has
not been set.

Fixes: d1cb613efbd3 ("net: phy: qcom: add support for QCA807x PHY Family")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202403031332.IGAbZzwq-lkp@intel.com/
Signed-off-by: Robert Marko <robimarko@gmail.com>
---
Changes in v2:
* Reduce the code indent level

 drivers/net/phy/qcom/qca807x.c | 32 ++++++++++++++++----------------
 1 file changed, 16 insertions(+), 16 deletions(-)

Comments

Robert Marko March 5, 2024, 2:11 p.m. UTC | #1
On Tue, 5 Mar 2024 at 14:59, Robert Marko <robimarko@gmail.com> wrote:
>
> Kernel bot has discovered that if CONFIG_GPIOLIB is not set compilation
> will fail.
>
> Upon investigation the issue is that qca807x_gpio() is guarded by a
> preprocessor check but then it is called under
> if (IS_ENABLED(CONFIG_GPIOLIB)) in the probe call so the compiler will
> error out since qca807x_gpio() has not been declared if CONFIG_GPIOLIB has
> not been set.
>
> Fixes: d1cb613efbd3 ("net: phy: qcom: add support for QCA807x PHY Family")
> Reported-by: kernel test robot <lkp@intel.com>
> Closes: https://lore.kernel.org/oe-kbuild-all/202403031332.IGAbZzwq-lkp@intel.com/
> Signed-off-by: Robert Marko <robimarko@gmail.com>

I will resend this as I sent it targeting net instead of net-next.

Regards,
Robert
> ---
> Changes in v2:
> * Reduce the code indent level
>
>  drivers/net/phy/qcom/qca807x.c | 32 ++++++++++++++++----------------
>  1 file changed, 16 insertions(+), 16 deletions(-)
>
> diff --git a/drivers/net/phy/qcom/qca807x.c b/drivers/net/phy/qcom/qca807x.c
> index 780c28e2e4aa..672c6929119a 100644
> --- a/drivers/net/phy/qcom/qca807x.c
> +++ b/drivers/net/phy/qcom/qca807x.c
> @@ -732,24 +732,24 @@ static int qca807x_probe(struct phy_device *phydev)
>         priv->dac_disable_bias_current_tweak = of_property_read_bool(node,
>                                                                      "qcom,dac-disable-bias-current-tweak");
>
> -       if (IS_ENABLED(CONFIG_GPIOLIB)) {
> -               /* Make sure we don't have mixed leds node and gpio-controller
> -                * to prevent registering leds and having gpio-controller usage
> -                * conflicting with them.
> -                */
> -               if (of_find_property(node, "leds", NULL) &&
> -                   of_find_property(node, "gpio-controller", NULL)) {
> -                       phydev_err(phydev, "Invalid property detected. LEDs and gpio-controller are mutually exclusive.");
> -                       return -EINVAL;
> -               }
> +#if IS_ENABLED(CONFIG_GPIOLIB)
> +       /* Make sure we don't have mixed leds node and gpio-controller
> +        * to prevent registering leds and having gpio-controller usage
> +        * conflicting with them.
> +        */
> +       if (of_find_property(node, "leds", NULL) &&
> +           of_find_property(node, "gpio-controller", NULL)) {
> +               phydev_err(phydev, "Invalid property detected. LEDs and gpio-controller are mutually exclusive.");
> +               return -EINVAL;
> +       }
>
> -               /* Do not register a GPIO controller unless flagged for it */
> -               if (of_property_read_bool(node, "gpio-controller")) {
> -                       ret = qca807x_gpio(phydev);
> -                       if (ret)
> -                               return ret;
> -               }
> +       /* Do not register a GPIO controller unless flagged for it */
> +       if (of_property_read_bool(node, "gpio-controller")) {
> +               ret = qca807x_gpio(phydev);
> +               if (ret)
> +                       return ret;
>         }
> +#endif
>
>         /* Attach SFP bus on combo port*/
>         if (phy_read(phydev, QCA807X_CHIP_CONFIGURATION)) {
> --
> 2.44.0
>
diff mbox series

Patch

diff --git a/drivers/net/phy/qcom/qca807x.c b/drivers/net/phy/qcom/qca807x.c
index 780c28e2e4aa..672c6929119a 100644
--- a/drivers/net/phy/qcom/qca807x.c
+++ b/drivers/net/phy/qcom/qca807x.c
@@ -732,24 +732,24 @@  static int qca807x_probe(struct phy_device *phydev)
 	priv->dac_disable_bias_current_tweak = of_property_read_bool(node,
 								     "qcom,dac-disable-bias-current-tweak");
 
-	if (IS_ENABLED(CONFIG_GPIOLIB)) {
-		/* Make sure we don't have mixed leds node and gpio-controller
-		 * to prevent registering leds and having gpio-controller usage
-		 * conflicting with them.
-		 */
-		if (of_find_property(node, "leds", NULL) &&
-		    of_find_property(node, "gpio-controller", NULL)) {
-			phydev_err(phydev, "Invalid property detected. LEDs and gpio-controller are mutually exclusive.");
-			return -EINVAL;
-		}
+#if IS_ENABLED(CONFIG_GPIOLIB)
+	/* Make sure we don't have mixed leds node and gpio-controller
+	 * to prevent registering leds and having gpio-controller usage
+	 * conflicting with them.
+	 */
+	if (of_find_property(node, "leds", NULL) &&
+	    of_find_property(node, "gpio-controller", NULL)) {
+		phydev_err(phydev, "Invalid property detected. LEDs and gpio-controller are mutually exclusive.");
+		return -EINVAL;
+	}
 
-		/* Do not register a GPIO controller unless flagged for it */
-		if (of_property_read_bool(node, "gpio-controller")) {
-			ret = qca807x_gpio(phydev);
-			if (ret)
-				return ret;
-		}
+	/* Do not register a GPIO controller unless flagged for it */
+	if (of_property_read_bool(node, "gpio-controller")) {
+		ret = qca807x_gpio(phydev);
+		if (ret)
+			return ret;
 	}
+#endif
 
 	/* Attach SFP bus on combo port*/
 	if (phy_read(phydev, QCA807X_CHIP_CONFIGURATION)) {