On Mon, Jan 30, 2012 at 12:36:12PM +0530, Ramneek Mehresh wrote: > Add support for ULPI and UTMI PHYs based on usb controller version info > read from device-tree > > Example of USB Controller versioning info: > Version 1.2 and below : MPC8536, MPC8315, etc > Version 1.6 : P1020, P1010, P2020, etc > Version 2.2 : PSC9131, PSC9132, P3060, etc > > Signed-off-by: Ramneek Mehresh <ramneek.mehresh@xxxxxxxxxxxxx> > --- > Changes for v2: > - Incorporated Greg's comment > - moved fsl_usb.h from drivers/usb/misc > to drivers/usb/host/fsl/ > > drivers/usb/gadget/fsl_udc_core.c | 25 ++++++++++++++- > drivers/usb/gadget/fsl_usb2_udc.h | 13 ++++++++ > drivers/usb/host/ehci-fsl.c | 35 +++++++++++++++++---- > drivers/usb/host/ehci-fsl.h | 15 ++++++++- > drivers/usb/host/fsl/fsl_usb.h | 61 +++++++++++++++++++++++++++++++++++++ > 5 files changed, 141 insertions(+), 8 deletions(-) > create mode 100644 drivers/usb/host/fsl/fsl_usb.h > > diff --git a/drivers/usb/gadget/fsl_udc_core.c b/drivers/usb/gadget/fsl_udc_core.c > index d7ea6c0..3c28887 100644 > --- a/drivers/usb/gadget/fsl_udc_core.c > +++ b/drivers/usb/gadget/fsl_udc_core.c > @@ -1,5 +1,5 @@ > /* > - * Copyright (C) 2004-2007,2011 Freescale Semiconductor, Inc. > + * Copyright (C) 2004-2007,2011-2012 Freescale Semiconductor, Inc. > * All rights reserved. > * > * Author: Li Yang <leoli@xxxxxxxxxxxxx> > @@ -48,6 +48,7 @@ > #include <asm/dma.h> > > #include "fsl_usb2_udc.h" > +#include "../host/fsl/fsl_usb.h" > > #define DRIVER_DESC "Freescale High-Speed USB SOC Device Controller driver" > #define DRIVER_AUTHOR "Li Yang/Jiang Bo" > @@ -245,23 +246,45 @@ static int dr_controller_setup(struct fsl_udc *udc) > { > unsigned int tmp, portctrl, ep_num; > unsigned int max_no_of_ep; > + int contr_ver = usb_get_ver_info(); > #ifndef CONFIG_ARCH_MXC > unsigned int ctrl; > #endif > unsigned long timeout; > #define FSL_UDC_RESET_TIMEOUT 1000 > > + if (contr_ver < 0) { > + printk(KERN_WARNING"fsl_usb: Could not get controller" > + "version\n"); dev_warn() instead? > + return -ENODEV; > + } So this will cause devices that previously did not have the version in them, to now break? That's not nice, why not just not revert to the "old" functionality? > +static void ehci_fsl_setup_phy(struct usb_hcd *hcd, > enum fsl_usb2_phy_modes phy_mode, > unsigned int port_offset) > { > - u32 portsc; > + u32 portsc, temp; > + struct ehci_hcd *ehci = hcd_to_ehci(hcd); > + void __iomem *non_ehci = hcd->regs; > + int contr_ver = usb_get_ver_info(); > + > + if (contr_ver < 0) { > + printk(KERN_WARNING"fsl_usb: Could not get controller" > + "version\n"); > + return; > + } Same here as above. thanks, greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html