Re: [PATCH 4/5] usb: ohci-da8xx: Remove clock code that references mach

From: Alan Stern
Date: Wed Mar 16 2016 - 10:50:18 EST


On Tue, 15 Mar 2016, David Lechner wrote:

> Including mach/* is frowned upon in device drivers, so get rid of it.
>
> This replaces usb20_clk with usb11_phy_clk that represents the 48MHz usb
> phy clock. The interaction with the usb20 (musb) subsystem does no belong
> here and has been implemented in da830.c/da850.c with the rest of the
> da8xx clock code.
>
> Signed-off-by: David Lechner <david@xxxxxxxxxxxxxx>
> ---
> drivers/usb/host/ohci-da8xx.c | 81 ++++++++++++++++++++-----------------------
> 1 file changed, 38 insertions(+), 43 deletions(-)
>
> diff --git a/drivers/usb/host/ohci-da8xx.c b/drivers/usb/host/ohci-da8xx.c
> index e5c33bc..37fa3fb 100644
> --- a/drivers/usb/host/ohci-da8xx.c
> +++ b/drivers/usb/host/ohci-da8xx.c
> @@ -16,57 +16,43 @@
> #include <linux/platform_device.h>
> #include <linux/clk.h>
>
> -#include <mach/da8xx.h>
> #include <linux/platform_data/usb-davinci.h>
>
> #ifndef CONFIG_ARCH_DAVINCI_DA8XX
> #error "This file is DA8xx bus glue. Define CONFIG_ARCH_DAVINCI_DA8XX."
> #endif
>
> -#define CFGCHIP2 DA8XX_SYSCFG0_VIRT(DA8XX_CFGCHIP2_REG)
> +#define USB1SUSPENDM (1 << 7)
>
> static struct clk *usb11_clk;
> -static struct clk *usb20_clk;
> +static struct clk *usb11_phy_clk;
> +static __iomem u32 *cfgchip2;

Is it theoretically impossible for a da8xx platform to have more than
one OHCI controller?

If it isn't, you better not use static variables to hold per-device
data.

Alan Stern