Re: linux-next: build failure after merge of the net-next tree

Andrew Lunn
2019-11-05T13:51:05Z

On Tue, Nov 05, 2019 at 07:53:41PM +1100, Stephen Rothwell wrote:
> Hi all,
>
> After merging the net-next tree, today's linux-next build (powepc
> ppc44x_defconfig) failed like this:
>
>
> Caused by commit
>
> 0c65b2b90d13 ("net: of_get_phy_mode: Change API to solve int/unit warnings")
>
> I applied the following patch, but there is probably a nicer and more
> complete way to fix this.

Hi Stephen

I just received the 0-day about this. I did not know David had merged
it!

What you have works. So:

Reviewed-by: Andrew Lunn <andrew@lunn.ch>

The nicer way is a bit bigger. Is this too big to go in via you?
Should i submit it via netdev, and you can drop your fix once this
arrives?

Andrew

rom e4a023829b53e2a918df8d8486c65c3650af0690 Mon Sep 17 00:00:00 2001
From: Andrew Lunn <andrew@lunn.ch>
Date: Tue, 5 Nov 2019 07:43:53 -0600
Subject: [PATCH] net: ethernet: emac: Fix phy mode type

Pass a phy_interface_t to of_get_phy_mode(), by changing the type of
phy_mode in the device structure. This then requires that
zmii_attach() is also changes, since it takes a pointer to phy_mode.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
---
drivers/net/ethernet/ibm/emac/core.h | 2 +-
drivers/net/ethernet/ibm/emac/zmii.c | 3 ++-
drivers/net/ethernet/ibm/emac/zmii.h | 3 ++-
3 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ethernet/ibm/emac/core.h b/drivers/net/ethernet/ibm/emac/core.h
index e9cda024cbf6..89a1b0fea158 100644
--- a/drivers/net/ethernet/ibm/emac/core.h
+++ b/drivers/net/ethernet/ibm/emac/core.h
@@ -171,7 +171,7 @@ struct emac_instance {
struct mal_commac commac;

/* PHY infos */
- int phy_mode;
+ phy_interface_t phy_mode;
u32 phy_map;
u32 phy_address;
u32 phy_feat_exc;
diff --git a/drivers/net/ethernet/ibm/emac/zmii.c b/drivers/net/ethernet/ibm/emac/zmii.c
index b9e821de2ac6..57a25c7a9e70 100644
--- a/drivers/net/ethernet/ibm/emac/zmii.c
+++ b/drivers/net/ethernet/ibm/emac/zmii.c
@@ -78,7 +78,8 @@ static inline u32 zmii_mode_mask(int mode, int input)
}
}

-int zmii_attach(struct platform_device *ofdev, int input, int *mode)
+int zmii_attach(struct platform_device *ofdev, int input,
+ phy_interface_t *mode)
{
struct zmii_instance *dev = platform_get_drvdata(ofdev);
struct zmii_regs __iomem *p = dev->base;
diff --git a/drivers/net/ethernet/ibm/emac/zmii.h b/drivers/net/ethernet/ibm/emac/zmii.h
index 41d46e9b87ba..65daedc78594 100644
--- a/drivers/net/ethernet/ibm/emac/zmii.h
+++ b/drivers/net/ethernet/ibm/emac/zmii.h
@@ -50,7 +50,8 @@ struct zmii_instance {

int zmii_init(void);
void zmii_exit(void);
-int zmii_attach(struct platform_device *ofdev, int input, int *mode);
+int zmii_attach(struct platform_device *ofdev, int input,
+ phy_interface_t *mode);
void zmii_detach(struct platform_device *ofdev, int input);
void zmii_get_mdio(struct platform_device *ofdev, int input);
void zmii_put_mdio(struct platform_device *ofdev, int input);
--
2.24.0.rc0

Andrew