RE: [PATCH v3] USB: PHY: Re-organize Tegra USB PHY driver

From: Venu Byravarasu
Date: Mon Sep 24 2012 - 02:20:36 EST


> -----Original Message-----
> From: ABRAHAM, KISHON VIJAY [mailto:kishon@xxxxxx]
> Sent: Monday, September 24, 2012 11:48 AM
> To: Venu Byravarasu
> Cc: Stephen Warren; balbi@xxxxxx; gregkh@xxxxxxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; linux-usb@xxxxxxxxxxxxxxx
> Subject: Re: [PATCH v3] USB: PHY: Re-organize Tegra USB PHY driver
>
> Hi,
>
> On Sat, Sep 22, 2012 at 2:08 PM, Venu Byravarasu
> <vbyravarasu@xxxxxxxxxx> wrote:
> >> -----Original Message-----
> >> From: Stephen Warren [mailto:swarren@xxxxxxxxxxxxx]
> >> Sent: Friday, September 21, 2012 9:45 PM
> >> To: ABRAHAM, KISHON VIJAY
> >> Cc: Venu Byravarasu; balbi@xxxxxx; gregkh@xxxxxxxxxxxxxxxxxxx; linux-
> >> kernel@xxxxxxxxxxxxxxx; linux-usb@xxxxxxxxxxxxxxx
> >> Subject: Re: [PATCH v3] USB: PHY: Re-organize Tegra USB PHY driver
> >>
> >> On 09/21/2012 07:09 AM, ABRAHAM, KISHON VIJAY wrote:
> >> > Hi,
> >> >
> >> > On Fri, Sep 21, 2012 at 5:50 PM, Venu Byravarasu
> >> <vbyravarasu@xxxxxxxxxx> wrote:
> >> >> NVIDIA produces several Tegra SoCs viz Tegra20, Tegra30 etc.
> >> >> In order to support USB PHY drivers on these SoCs, existing
> >> >> PHY driver is split into SoC agnostic common USB PHY driver
> >> >> and Tegra20-specific USB phy driver. This will facilitate
> >> >> easy addition and deletion of phy drivers for Tegra SoCs.
> >>
> >> >> @@ -618,6 +618,9 @@ static int tegra_ehci_probe(struct
> platform_device
> >> *pdev)
> >> ...
> >> >> pdata = pdev->dev.platform_data;
> >> >> if (!pdata) {
> >>
> >> Some missing lines of context are:
> >>
> >> dev_err(&pdev->dev, "Platform data missing\n");
> >> return -EINVAL;
> >> }
> >>
> >> ...
> >> >> + params.mode = TEGRA_USB_PHY_MODE_HOST;
> >> >> + params.config = pdata->phy_config;
> >> >
> >> > I fail to understand how pdata is not NULL in dt boot. I know i've
> >> > already given this comment and you replied that you dint see any
> >> > crash. But I'd like to know where and how pdata gets populated.
> >>
> >> In practice, the platform uses AUXDATA to provide platform data to the
> >> driver even when it's instantiated using device tree; see
> >> arch/arm/mach-tegra/board-dt-tegra20.c variables tegra_ehci*_pdata
> and
> >> tegra20_auxdata_lookup[].
> >>
> >> In the slightly (very very slightly, hopefully) longer term, I would
> >> like to completely remove the AUXDATA setup from board-dt-tegra20.c;
> >> tegra_ehci_probe() should do something like:
> >>
> >> pdata = pdev->dev.platform_data
> >> if (!pdata)
> >> pdata = parse_pdata_from_dt();
> >> /* user didn't specify any in DT either */
> >> if (!pdata)
> >> pdata = default_pdata_for_port();
> >>
> >> ... where perhaps the use of defaults could be folded into
> >> parse_pdata_from_dt().
> >
> >
> > Thanks Stephen for the detailed explanation.
> >
> > Kishon / Felipe,
> > Do you have any more questions in this related, before patch can be
> applied?
>
> I don't have any further comments.
>

Thanks Kishon for your quick response.


> Thanks
> Kishon
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/