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 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html