Re: [PATCH v9 02/20] mfd: omap-usb-host: Consolidate OMAP USB-HS platform data

Roger Quadros
2013-02-14T10:18:45Z

Hi Greg,

On 01/23/2013 12:37 PM, Roger Quadros wrote:
> Let's have a single platform data structure for the OMAP's High-Speed
> USB host subsystem instead of having 3 separate ones i.e. one for
> board data, one for USB Host (UHH) module and one for USB-TLL module.
>
> This makes the code much simpler and avoids creating multiple copies of
> platform data.
>
> CC: Alan Stern <stern@rowland.harvard.edu>
>
> Signed-off-by: Roger Quadros <rogerq@ti.com>
> Reviewed-by: Felipe Balbi <balbi@ti.com>
> For the ehci-omap.c part:
> Acked-by: Alan Stern <stern@rowland.harvard.edu>

Could you please ACK the drivers/usb/host/ehci-omap.c part
so that this can go through the MFD tree. Thanks.

The reason it needs to go through MFD is that it depends on
a platform header change which Samuel and Tony have agreed to share.

cheers,
-roger

> ---
> arch/arm/mach-omap2/board-3430sdp.c | 2 +-
> arch/arm/mach-omap2/board-3630sdp.c | 2 +-
> arch/arm/mach-omap2/board-am3517crane.c | 2 +-
> arch/arm/mach-omap2/board-am3517evm.c | 2 +-
> arch/arm/mach-omap2/board-cm-t35.c | 2 +-
> arch/arm/mach-omap2/board-cm-t3517.c | 2 +-
> arch/arm/mach-omap2/board-devkit8000.c | 2 +-
> arch/arm/mach-omap2/board-igep0020.c | 4 +-
> arch/arm/mach-omap2/board-omap3beagle.c | 2 +-
> arch/arm/mach-omap2/board-omap3evm.c | 2 +-
> arch/arm/mach-omap2/board-omap3pandora.c | 2 +-
> arch/arm/mach-omap2/board-omap3stalker.c | 2 +-
> arch/arm/mach-omap2/board-omap3touchbook.c | 2 +-
> arch/arm/mach-omap2/board-omap4panda.c | 2 +-
> arch/arm/mach-omap2/board-overo.c | 2 +-
> arch/arm/mach-omap2/board-zoom.c | 2 +-
> arch/arm/mach-omap2/usb-host.c | 29 ++-----------
> arch/arm/mach-omap2/usb.h | 20 +--------
> drivers/mfd/omap-usb-host.c | 63 +++++++++++----------------
> drivers/mfd/omap-usb-tll.c | 11 ++---
> drivers/usb/host/ehci-omap.c | 6 +-
> include/linux/platform_data/usb-omap.h | 23 ++--------
> 22 files changed, 61 insertions(+), 125 deletions(-)
>

<snip>

> diff --git a/drivers/usb/host/ehci-omap.c b/drivers/usb/host/ehci-omap.c
> index e9d9b09..b96a4bf 100644
> --- a/drivers/usb/host/ehci-omap.c
> +++ b/drivers/usb/host/ehci-omap.c
> @@ -107,7 +107,7 @@ static int omap_ehci_init(struct usb_hcd *hcd)
> {
> struct ehci_hcd *ehci = hcd_to_ehci(hcd);
> int rc;
> - struct ehci_hcd_omap_platform_data *pdata;
> + struct usbhs_omap_platform_data *pdata;
>
> pdata = hcd->self.controller->platform_data;
>
> @@ -151,7 +151,7 @@ static int omap_ehci_init(struct usb_hcd *hcd)
> }
>
> static void disable_put_regulator(
> - struct ehci_hcd_omap_platform_data *pdata)
> + struct usbhs_omap_platform_data *pdata)
> {
> int i;
>
> @@ -176,7 +176,7 @@ static void disable_put_regulator(
> static int ehci_hcd_omap_probe(struct platform_device *pdev)
> {
> struct device *dev = &pdev->dev;
> - struct ehci_hcd_omap_platform_data *pdata = dev->platform_data;
> + struct usbhs_omap_platform_data *pdata = dev->platform_data;
> struct resource *res;
> struct usb_hcd *hcd;
> void __iomem *regs;
> diff --git a/include/linux/platform_data/usb-omap.h b/include/linux/platform_data/usb-omap.h
> index ef65b67..04c7537 100644
> --- a/include/linux/platform_data/usb-omap.h
> +++ b/include/linux/platform_data/usb-omap.h
> @@ -38,30 +38,15 @@ enum usbhs_omap_port_mode {
> OMAP_OHCI_PORT_MODE_TLL_2PIN_DPDM
> };
>
> -struct usbtll_omap_platform_data {
> - enum usbhs_omap_port_mode port_mode[OMAP3_HS_USB_PORTS];
> -};
> -
> -struct ehci_hcd_omap_platform_data {
> +struct usbhs_omap_platform_data {
> enum usbhs_omap_port_mode port_mode[OMAP3_HS_USB_PORTS];
> int reset_gpio_port[OMAP3_HS_USB_PORTS];
> struct regulator *regulator[OMAP3_HS_USB_PORTS];
> - unsigned phy_reset:1;
> -};
> -
> -struct ohci_hcd_omap_platform_data {
> - enum usbhs_omap_port_mode port_mode[OMAP3_HS_USB_PORTS];
> - unsigned es2_compatibility:1;
> -};
> -
> -struct usbhs_omap_platform_data {
> - enum usbhs_omap_port_mode port_mode[OMAP3_HS_USB_PORTS];
> -
> - struct ehci_hcd_omap_platform_data *ehci_data;
> - struct ohci_hcd_omap_platform_data *ohci_data;
>
> /* OMAP3 <= ES2.1 have a single ulpi bypass control bit */
> - unsigned single_ulpi_bypass:1;
> + unsigned single_ulpi_bypass:1;
> + unsigned es2_compatibility:1;
> + unsigned phy_reset:1;
> };
>
> /*-------------------------------------------------------------------------*/
>