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

From: Stephen Rothwell
Date: Tue Aug 05 2014 - 21:39:49 EST


Hi,

On Thu, 24 Jul 2014 00:44:52 -0700 Greg KH <greg@xxxxxxxxx> wrote:
>
> On Thu, Jul 24, 2014 at 05:07:55PM +1000, Stephen Rothwell wrote:
> > Hi Greg,
> >
> > After merging the usb tree, today's linux-next build (x86_64 allmodconfig)
> > failed like this:
> >
> > drivers/phy/phy-spear1310-miphy.c: In function 'spear1310_miphy_probe':
> > drivers/phy/phy-spear1310-miphy.c:232:14: warning: passing argument 2 of 'devm_phy_create' from incompatible pointer type
> > priv->phy = devm_phy_create(dev, &spear1310_miphy_ops, NULL);
> > ^
> > In file included from drivers/phy/phy-spear1310-miphy.c:21:0:
> > include/linux/phy/phy.h:164:13: note: expected 'struct device_node *' but argument is of type 'struct phy_ops *'
> > struct phy *devm_phy_create(struct device *dev, struct device_node *node,
> > ^
> > drivers/phy/phy-spear1310-miphy.c:232:14: error: too few arguments to function 'devm_phy_create'
> > priv->phy = devm_phy_create(dev, &spear1310_miphy_ops, NULL);
> > ^
> > In file included from drivers/phy/phy-spear1310-miphy.c:21:0:
> > include/linux/phy/phy.h:164:13: note: declared here
> > struct phy *devm_phy_create(struct device *dev, struct device_node *node,
> > ^
> > drivers/phy/phy-spear1340-miphy.c: In function 'spear1340_miphy_probe':
> > drivers/phy/phy-spear1340-miphy.c:264:14: warning: passing argument 2 of 'devm_phy_create' from incompatible pointer type
> > priv->phy = devm_phy_create(dev, &spear1340_miphy_ops, NULL);
> > ^
> > In file included from drivers/phy/phy-spear1340-miphy.c:21:0:
> > include/linux/phy/phy.h:164:13: note: expected 'struct device_node *' but argument is of type 'struct phy_ops *'
> > struct phy *devm_phy_create(struct device *dev, struct device_node *node,
> > ^
> > drivers/phy/phy-spear1340-miphy.c:264:14: error: too few arguments to function 'devm_phy_create'
> > priv->phy = devm_phy_create(dev, &spear1340_miphy_ops, NULL);
> > ^
> > In file included from drivers/phy/phy-spear1340-miphy.c:21:0:
> > include/linux/phy/phy.h:164:13: note: declared here
> > struct phy *devm_phy_create(struct device *dev, struct device_node *node,
> > ^
> >
> > Caused by commit f0ed817638b5 ("phy: core: Let node ptr of PHY point to
> > PHY and not of PHY provider") interacting with commit 64562e99477f
> > ("phy: Add drivers for PCIe and SATA phy on SPEAr13xx") from the
> > arm-soc tree.
> >
> > I fixed that up and then got:
> >
> > drivers/pinctrl/pinctrl-tegra-xusb.c: In function 'tegra_xusb_padctl_probe':
> > drivers/pinctrl/pinctrl-tegra-xusb.c:913:8: warning: passing argument 2 of 'devm_phy_create' from incompatible pointer type
> > phy = devm_phy_create(&pdev->dev, &pcie_phy_ops, NULL);
> > ^
> > In file included from drivers/pinctrl/pinctrl-tegra-xusb.c:18:0:
> > include/linux/phy/phy.h:164:13: note: expected 'struct device_node *' but argument is of type 'const struct phy_ops *'
> > struct phy *devm_phy_create(struct device *dev, struct device_node *node,
> > ^
> > drivers/pinctrl/pinctrl-tegra-xusb.c:913:8: error: too few arguments to function 'devm_phy_create'
> > phy = devm_phy_create(&pdev->dev, &pcie_phy_ops, NULL);
> > ^
> > In file included from drivers/pinctrl/pinctrl-tegra-xusb.c:18:0:
> > include/linux/phy/phy.h:164:13: note: declared here
> > struct phy *devm_phy_create(struct device *dev, struct device_node *node,
> > ^
> > drivers/pinctrl/pinctrl-tegra-xusb.c:922:8: warning: passing argument 2 of 'devm_phy_create' from incompatible pointer type
> > phy = devm_phy_create(&pdev->dev, &sata_phy_ops, NULL);
> > ^
> > In file included from drivers/pinctrl/pinctrl-tegra-xusb.c:18:0:
> > include/linux/phy/phy.h:164:13: note: expected 'struct device_node *' but argument is of type 'const struct phy_ops *'
> > struct phy *devm_phy_create(struct device *dev, struct device_node *node,
> > ^
> > drivers/pinctrl/pinctrl-tegra-xusb.c:922:8: error: too few arguments to function 'devm_phy_create'
> > phy = devm_phy_create(&pdev->dev, &sata_phy_ops, NULL);
> > ^
> > In file included from drivers/pinctrl/pinctrl-tegra-xusb.c:18:0:
> > include/linux/phy/phy.h:164:13: note: declared here
> > struct phy *devm_phy_create(struct device *dev, struct device_node *node,
> > ^
> >
> > From an interaction with commit dc0a39386687 ("pinctrl: Add NVIDIA
> > Tegra XUSB pad controller support") from the arm-soc tree.
> >
> > Final merge fix patch:
>
> Ugh, what a mess, sorry about that. I'll keep this around for if I end
> up merging with Linus after these other trees get merged.

Since the usb tree has gone upstream, this merge fix patch is now
needed when the arm-soc tree is merged.

--
Cheers,
Stephen Rothwell sfr@xxxxxxxxxxxxxxxx

Attachment: signature.asc
Description: PGP signature