Thread (7 messages) 7 messages, 3 authors, 2012-08-30

RE: [PATCH] usb: tegra: moving phy driver into drivers directory

From: Venu Byravarasu <hidden>
Date: 2012-08-30 05:16:44
Also in: linux-arm-kernel, lkml

-----Original Message-----
From: linux-tegra-owner@vger.kernel.org [mailto:linux-tegra-
owner@vger.kernel.org] On Behalf Of Stephen Warren
Sent: Wednesday, August 29, 2012 11:01 PM
To: Venu Byravarasu
Cc: ccross@android.com; olof@lixom.net; linux@arm.linux.org.uk;
stern@rowland.harvard.edu; gregkh@linuxfoundation.org; balbi@ti.com;
linux-kernel@vger.kernel.org; linux-tegra@vger.kernel.org; linux-arm-
kernel@lists.infradead.org; linux-usb@vger.kernel.org
Subject: Re: [PATCH] usb: tegra: moving phy driver into drivers directory

On 08/28/12 22:17, Venu Byravarasu wrote:
quoted
Stephen Warren wrote at Tuesday, August 28, 2012 7:37 PM:
quoted
On 08/28/2012 02:32 AM, Venu Byravarasu wrote:
quoted
In order to keep up with the USB driver files organization,
moving USB phy driver from mach-tegra to drivers/USB directory.

Signed-off-by: Venu Byravarasu <redacted>
quoted
diff --git a/arch/arm/mach-tegra/devices.c b/arch/arm/mach-
tegra/devices.c
quoted
-struct tegra_ulpi_config tegra_ehci2_ulpi_phy_config = {
-	.reset_gpio = -1,
-	.clk = "cdev2",
-};
-
  struct tegra_ehci_platform_data tegra_ehci1_pdata = {
  	.operating_mode = TEGRA_USB_OTG,
  	.power_down_on_bus_suspend = 1,
@@ -450,7 +444,7 @@ struct tegra_ehci_platform_data
tegra_ehci1_pdata
quoted
quoted
= {
quoted
  };

  struct tegra_ehci_platform_data tegra_ehci2_pdata = {
-	.phy_config = &tegra_ehci2_ulpi_phy_config,
+	.phy_config = NULL,
The PHY driver checks that field isn't NULL, and fails if it is:
quoted
struct tegra_usb_phy *tegra_usb_phy_open(struct device *dev, int
instance,
quoted
         void __iomem *regs, void *config, enum tegra_usb_phy_mode
phy_mode)
quoted
{
...
quoted
         phy->config = config;
         phy->mode = phy_mode;

         if (!phy->config) {
                 if (phy_is_ulpi(phy)) {
                         pr_err("%s: ulpi phy configuration missing", __func__);
                         err = -EINVAL;
                         goto err0;
So, this change will completely break ULPI support, which currently
works fine. So, NAK.
My initial plan was to add support for phy interfaces one by one.
As part of that thought of UTMI only support at first and then add
ULPI and HSIC in next patches.
However as you were mentioning that it is not correct way, will
push ULPI & UTMI support at once in next patches.
But with the existing code, both ULPI and UTMI work. This patch breaks
something that already works.
quoted
quoted
I also plan on deleting devices.[ch] in kernel 3.7, and moving the USB
platform data into board-dt-tegra20.c, since that's the only place it's
used right now. So, this patch would conflict with that rather badly. I
just posted the patches for that to the linux-tegra mailing list last
night. Do you have better proposals for that? Perhaps usb_phy.c should
set phy->config to &ulpi_default in a similar fashion to how it works
for UTMI; that would remove some of the coupling between the changes.

BTW, in your response to Felipe, you said...
quoted
Thanks Felipe for your comments.
Created a patch to separate out phy related stuff to phy.h with you as a
reviewer.
quoted
Plz let me know your comments.
... where is that patch?
Plz see https://lkml.org/lkml/2012/8/28/58
Doesn't that link point at the patch I replied to?
Sorry, by mistake I sent the wrong one.
Here is the correct one: https://lkml.org/lkml/2012/8/29/40  
--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help