Re: [PATCH v2 09/11] usb: ohci-da8xx: Remove code that references mach

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 3/17/2016 5:26 AM, David Lechner wrote:

Including mach/* is frowned upon in device drivers, so get rid of it.

This replaces usb20_clk and code that pokes CFGCHIP2 with a proper phy
driver.

Signed-off-by: David Lechner <david@xxxxxxxxxxxxxx>
---

v2 changes: Uses the new phy driver instead of using a second clock.


  drivers/usb/host/ohci-da8xx.c | 90 +++++++++++++++++++++----------------------
  1 file changed, 44 insertions(+), 46 deletions(-)

diff --git a/drivers/usb/host/ohci-da8xx.c b/drivers/usb/host/ohci-da8xx.c
index e5c33bc..c648674 100644
--- a/drivers/usb/host/ohci-da8xx.c
+++ b/drivers/usb/host/ohci-da8xx.c
@@ -15,58 +15,40 @@
  #include <linux/jiffies.h>
  #include <linux/platform_device.h>
  #include <linux/clk.h>
-
-#include <mach/da8xx.h>
+#include <linux/phy/phy.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)
-
  static struct clk *usb11_clk;
-static struct clk *usb20_clk;
+static struct phy *usb11_phy;

  /* Over-current indicator change bitmask */
  static volatile u16 ocic_mask;

-static void ohci_da8xx_clock(int on)
+static int ohci_da8xx_enable(void)
  {
[...]
+	ret = clk_prepare_enable(usb11_clk);
+	if (ret)
+		return ret;

-		/* Disable USB 1.1 PHY */
-		cfgchip2 &= ~CFGCHIP2_USB1SUSPENDM;
+	ret = phy_power_on(usb11_phy);

   Aren't you supposed to call phy_init() first?

+	if (ret) {
+		clk_disable_unprepare(usb11_clk);
+		return ret;
  	}
-	__raw_writel(cfgchip2, CFGCHIP2);
+
+	return 0;
+}
+
+static void ohci_da8xx_disable(void)
+{
+	phy_power_off(usb11_phy);

  ... and phy_exit() after that?

+	clk_disable_unprepare(usb11_clk);
  }

  /*
[...]

MBR, Sergei

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux