Skip to contentSkip to conversation

usb: phy: fix twl4030 build regression

PATCH New Arnd Bergmann 2 participants 3 messages Nov 11, 2014

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 usb: phy: fix twl4030 build regression

Recent changes to the common OTG handling broke building the twl4030 OTG driver as found during an allmodconfig build of linux-next:

drivers/phy/phy-twl4030-usb.c: In function 'twl4030_set_peripheral':
drivers/phy/phy-twl4030-usb.c:609:11: error: 'struct phy' has no member named 'state' drivers/phy/phy-twl4030-usb.c: In function 'twl4030_usb_probe':
drivers/phy/phy-twl4030-usb.c:679:12: warning: assignment from incompatible pointer type

This applies the same changes that were done to the other phy drivers to get it to build cleanly.

Fixes 19c1eac2685b6 ("usb: rename phy to usb_phy in OTG")
Fixes e47d92545c297 ("usb: move the OTG state from the USB PHY to the OTG structure")

---

I have no idea if this is the correct fix, this is just a mechanical conversion, so please review carefully.

drivers/phy/phy-twl4030-usb.c +3 -3
index 7b04befd5271..e2698d29f436 100644
@@ -606,7 +606,7 @@ static int twl4030_set_peripheral(struct usb_otg *otg,
 
 	otg->gadget = gadget;
 	if (!gadget)
-		otg->phy->state = OTG_STATE_UNDEFINED;
+		otg->state = OTG_STATE_UNDEFINED;
 
 	return 0;
 }
@@ -618,7 +618,7 @@ static int twl4030_set_host(struct usb_otg *otg, struct usb_bus *host)
 
 	otg->host = host;
 	if (!host)
-		otg->phy->state = OTG_STATE_UNDEFINED;
+		otg->state = OTG_STATE_UNDEFINED;
 
 	return 0;
 }
@@ -676,7 +676,7 @@ static int twl4030_usb_probe(struct platform_device *pdev)
 	twl->phy.otg		= otg;
 	twl->phy.type		= USB_PHY_TYPE_USB2;
 
-	otg->phy		= &twl->phy;
+	otg->usb_phy		= &twl->phy;
 	otg->set_host		= twl4030_set_host;
 	otg->set_peripheral	= twl4030_set_peripheral;
 
#1 lore raw

PATCH 1/1 usb: phy: fix twl4030 build regression

Quoted 8 lines · Arnd Bergmann

Recent changes to the common OTG handling broke building the twl4030 OTG driver as found during an allmodconfig build of linux-next:

drivers/phy/phy-twl4030-usb.c: In function 'twl4030_set_peripheral':
drivers/phy/phy-twl4030-usb.c:609:11: error: 'struct phy' has no member named 'state' drivers/phy/phy-twl4030-usb.c: In function 'twl4030_usb_probe':
drivers/phy/phy-twl4030-usb.c:679:12: warning: assignment from incompatible pointer type

Quoted 6 lines

This applies the same changes that were done to the other phy drivers to get it to build cleanly.

Fixes 19c1eac2685b6 ("usb: rename phy to usb_phy in OTG")
Fixes e47d92545c297 ("usb: move the OTG state from the USB PHY to the OTG structure")

on my testing/next already:

commit 7e1bbeb4292783dcc079156b8fa08d66d17219e0

Author: Felipe Balbi <[email protected]>
Date:   Fri Nov 7 19:43:45 2014 -0600

usb: host: ohci: omap: fix build breakage

commit e47d925 (usb: move the OTG state
from the USB PHY to the OTG structure) moved
the OTG state field from struct usb_phy to
struct usb_otg but, even though I fixed many
other build breakages, I still missed one
on ohci-omap.c.

Fix the build breakage now.

drivers/usb/host/ohci-omap.c: In function ?start_hnp?:
drivers/usb/host/ohci-omap.c:186:19: error: request for member ?state? in something not a structure or union
hcd->usb_phy->otg.state = OTG_STATE_A_SUSPEND;

drivers/usb/host/ohci-omap.c +1 -1
index cf89b4b1..3e5df5a 100644
@@ -183,7 +183,7 @@ static void start_hnp(struct ohci_hcd *ohci)
 	otg_start_hnp(hcd->usb_phy->otg);
 
 	local_irq_save(flags);
-	hcd->usb_phy->otg.state = OTG_STATE_A_SUSPEND;
+	hcd->usb_phy->otg->state = OTG_STATE_A_SUSPEND;
 	writel (RH_PS_PSS, &ohci->regs->roothub.portstatus [port]);
 	l = omap_readl(OTG_CTRL);
 	l &= ~OTG_A_BUSREQ;
Signature · 8 lines
balbi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20141111/afd1d30b/attachment.sig>
#2 lore raw

PATCH 1/1 usb: phy: fix twl4030 build regression

Quoted 16 lines · Felipe Balbi
Quoted 8 lines · Arnd Bergmann

Recent changes to the common OTG handling broke building the twl4030 OTG driver as found during an allmodconfig build of linux-next:

drivers/phy/phy-twl4030-usb.c: In function 'twl4030_set_peripheral':
drivers/phy/phy-twl4030-usb.c:609:11: error: 'struct phy' has no member named 'state' drivers/phy/phy-twl4030-usb.c: In function 'twl4030_usb_probe':
drivers/phy/phy-twl4030-usb.c:679:12: warning: assignment from incompatible pointer type

Quoted 6 lines

This applies the same changes that were done to the other phy drivers to get it to build cleanly.

Fixes 19c1eac2685b6 ("usb: rename phy to usb_phy in OTG")
Fixes e47d92545c297 ("usb: move the OTG state from the USB PHY to the OTG structure")
Quoted 7 lines

on my testing/next already:

commit 7e1bbeb4292783dcc079156b8fa08d66d17219e0

Author: Felipe Balbi <[email protected]>
Date:   Fri Nov 7 19:43:45 2014 -0600

usb: host: ohci: omap: fix build breakage

wrong commit, here's the correct one:

commit 8b9ca2767b2d1ea405287e530da3a7b234120b95

Author: Felipe Balbi <[email protected]>
Date:   Fri Nov 7 09:06:04 2014 -0600

phy: twl4030: Fix build breakage

commit e47d925 (usb: move the OTG state
from the USB PHY to the OTG structure) moved
the OTG state field from struct usb_phy to
struct usb_otg but, even though I fixed many
other build breakages, I still missed one
on phy-twl4030-usb.c.

Fix the build breakage now.

While at that, also a build warning introduced by the same commit.

Cc Kishon Vijay Abraham I <[email protected]>
Cc Antoine Tenart <[email protected]>
drivers/phy/phy-twl4030-usb.c +3 -3
index 7b04bef..e2698d29 100644
@@ -606,7 +606,7 @@ static int twl4030_set_peripheral(struct usb_otg *otg,
 
 	otg->gadget = gadget;
 	if (!gadget)
-		otg->phy->state = OTG_STATE_UNDEFINED;
+		otg->state = OTG_STATE_UNDEFINED;
 
 	return 0;
 }
@@ -618,7 +618,7 @@ static int twl4030_set_host(struct usb_otg *otg, struct usb_bus *host)
 
 	otg->host = host;
 	if (!host)
-		otg->phy->state = OTG_STATE_UNDEFINED;
+		otg->state = OTG_STATE_UNDEFINED;
 
 	return 0;
 }
@@ -676,7 +676,7 @@ static int twl4030_usb_probe(struct platform_device *pdev)
 	twl->phy.otg		= otg;
 	twl->phy.type		= USB_PHY_TYPE_USB2;
 
-	otg->phy		= &twl->phy;
+	otg->usb_phy		= &twl->phy;
 	otg->set_host		= twl4030_set_host;
 	otg->set_peripheral	= twl4030_set_peripheral;
 
Signature · 8 lines
balbi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20141111/2b0a110d/attachment.sig>