Skip to contentSkip to conversation

usb: change the dependency chain for LPC32XX and ISP1301

PATCH New Roland Stigge 2 participants 5 messages Aug 22, 2012 – Aug 23, 2012 1 message not in the archive

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

#1 lore raw

PATCH 1/2 usb: change the dependency chain for LPC32XX and ISP1301

Hi,

Quoted 11 lines · Alan Stern

drivers/usb/host/Kconfig config USB_OHCI_HCD · line 295

Quoted 9 lines
drivers/usb/host/Kconfig +0 -1
index c3f619b..cac3ee2 100644
@@ -292,7 +292,6 @@ config USB_OHCI_HCD
 	depends on USB && USB_ARCH_HAS_OHCI
 	select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3
 	select USB_OTG_UTILS if ARCH_OMAP
-	select USB_ISP1301 if ARCH_LPC32XX || ARCH_PNX4008

You want to avoid selecting USB_ISP1301, right?

The ultimate goal is just to prevent the compile error that currently occurs when I2C isn't selected on LPC32XX but UDC is. It's an invalid config combination, not easy to prevent by current Kconfig mechanism.

Quoted 4 lines
Quoted 4 lines
drivers/usb/host/Kconfig +0 -0
@@ -412,6 +411,15 @@ config USB_CNS3XXX_OHCI
 	  Enable support for the CNS3XXX SOC's on-chip OHCI controller.
 	  It is needed for low-speed USB 1.0 device support.
 
Quoted 13 lines

drivers/usb/host/Kconfig config USB_CNS3XXX_OHCI · line 421

Quoted 8 lines
drivers/usb/host/Kconfig +8 -0
+config USB_OHCI_LPC32XX_PNX4008
+	bool "LPC32XX or PNX4008 OHCI Module"
+	depends on USB_OHCI_HCD
+	depends on USB_ISP1301
+	---help---
+	  Enable support for the LPC32XX or PNX4008 SOC's on-chip
+	  OHCI controller.
+	  It is needed for low-speed USB 1.0 device support.

Instead you introduce a new symbol to control whether or not ohci-nxp.c gets compiled. The new symbol depends on USB_ISP1301 but not on ARCH_LPC32XX or ARCH_PNX4008, which means in theory it could be defined even under a totally different arch.

This issue could be resolved in a different way: Have you followed the discussion at linux-arm-kernel at lists.infradead.org on 2012-08-20, Subject "i2c: pnx: Fix bit definitions"? If nothing unexpected turns out, PNX4008 should probably be removed altogether. (Practically abandoned arch for 6 years.) Easily possible for v3.7.

Then, the resulting solution is much simpler and Sebastian's patch obsolete.

Thanks,

Roland

#2 lore raw

PATCH 1/2 usb: change the dependency chain for LPC32XX and ISP1301

Quoted 5 lines · Roland Stigge

This issue could be resolved in a different way: Have you followed the discussion at linux-arm-kernel at lists.infradead.org on 2012-08-20, Subject "i2c: pnx: Fix bit definitions"? If nothing unexpected turns out, PNX4008 should probably be removed altogether. (Practically abandoned arch for 6 years.) Easily possible for v3.7.

Ach. I assumed that is being merged. The PNX arch does not define USB_ARCH_HAS_OHCI so I goes that you can't select it there?

Quoted 1 line

Then, the resulting solution is much simpler and Sebastian's patch obsolete.

That would be what?

Quoted 4 lines

Thanks,

Roland

Sebastian

#3 lore raw

PATCH 1/2 usb: change the dependency chain for LPC32XX and ISP1301

Quoted 9 lines · Sebastian Andrzej Siewior
Quoted 5 lines · Roland Stigge

This issue could be resolved in a different way: Have you followed the discussion at linux-arm-kernel at lists.infradead.org on 2012-08-20, Subject "i2c: pnx: Fix bit definitions"? If nothing unexpected turns out, PNX4008 should probably be removed altogether. (Practically abandoned arch for 6 years.) Easily possible for v3.7.

Ach. I assumed that is being merged. The PNX arch does not define USB_ARCH_HAS_OHCI so I goes that you can't select it there?

Yes, this issue will be gone also.

Quoted 4 lines
Quoted 2 lines

Then, the resulting solution is much simpler and Sebastian's patch obsolete.

That would be what?

Well, your idea won't be obsolete completely. :-) But much simpler without all the "PNX4008 || LPC32XX" stuff. Following Alan's proposal, I'd prefer not introducing new symbols, and much of the "PNX4008 || LPC32XX" logic won't be necessary anymore.

For the PNX4008 removal - should I already post a patch to build the respective changes on top of, without PNX4008 references?

Thanks,

Roland

#4 lore raw

PATCH 1/2 usb: change the dependency chain for LPC32XX and ISP1301

Quoted 18 lines · Roland Stigge
Quoted 9 lines · Sebastian Andrzej Siewior
Quoted 5 lines · Roland Stigge

This issue could be resolved in a different way: Have you followed the discussion at linux-arm-kernel at lists.infradead.org on 2012-08-20, Subject "i2c: pnx: Fix bit definitions"? If nothing unexpected turns out, PNX4008 should probably be removed altogether. (Practically abandoned arch for 6 years.) Easily possible for v3.7.

Ach. I assumed that is being merged. The PNX arch does not define USB_ARCH_HAS_OHCI so I goes that you can't select it there?

Yes, this issue will be gone also.

Quoted 4 lines
Quoted 2 lines

Then, the resulting solution is much simpler and Sebastian's patch obsolete.

That would be what?

Quoted 7 lines

Well, your idea won't be obsolete completely. :-) But much simpler without all the "PNX4008 || LPC32XX" stuff. Following Alan's proposal, I'd prefer not introducing new symbols, and much of the "PNX4008 || LPC32XX" logic won't be necessary anymore.

For the PNX4008 removal - should I already post a patch to build the respective changes on top of, without PNX4008 references?

If nobody cares about PNX4008 and nobody tested if it actually works in the OHCI mode I don't see the point in keeping it around especially if there are rumors to remove the arch.

It would be nice, if you could manage to compile this thingy without I2C. In the end one could attach something different than isp1301, no? So I think, in the perfect world you would probe for your phy and notice that it is not there and print a message: "Dude! Select isp1301 for OHCI, aight?!"

Quoted 4 lines

Thanks,

Roland

Sebastian

#5 lore raw

PATCH 1/2 usb: change the dependency chain for LPC32XX and ISP1301

Quoted 7 lines · Sebastian Andrzej Siewior
Quoted 2 lines

For the PNX4008 removal - should I already post a patch to build the respective changes on top of, without PNX4008 references?

If nobody cares about PNX4008 and nobody tested if it actually works in the OHCI mode I don't see the point in keeping it around especially if there are rumors to remove the arch.

Quoted 5 lines

It would be nice, if you could manage to compile this thingy without I2C. In the end one could attach something different than isp1301, no? So I think, in the perfect world you would probe for your phy and notice that it is not there and print a message: "Dude! Select isp1301 for OHCI, aight?!"

Currently, we really need I2C for OHCI on LPC32XX, so actually need to depend on it. Removing the I2C calls in ohci-nxp.c is waiting for the phy framework so that I don't need to introduce new API in isp1301.c at this point.

And right, in the ideal world, we have no I2C dependency and can control a phy in an abstract way, even without depending on ISP1301, which could be replaced by sth. else (not sure if this will be done/soldered practically, though).

For now, will post patches for the current I2C dependency and the PNX4008 removal.

Roland