lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <50D4CE2F.1090303@wwwdotorg.org>
Date:	Fri, 21 Dec 2012 14:01:35 -0700
From:	Stephen Warren <swarren@...dotorg.org>
To:	Venu Byravarasu <vbyravarasu@...dia.com>
CC:	stern@...land.harvard.edu, gregkh@...uxfoundation.org,
	balbi@...com, linux-usb@...r.kernel.org,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH] usb: tegra: Removing dependency on PHY instance number

On 12/20/2012 11:58 PM, Venu Byravarasu wrote:
> Tegra2 has two varieties of USB PHYs:
> Instance 0 - legacy PHY interface and
> Instace 1 & 2 - non-legacy standard PHY interfaces.
> 
> PHY driver is using instance numbers to identify the
> interface type.
> 
> With this patch Modified PHY driver to make use of
> DT property for handling this.
> 
> ULPI PHY is used on USB PHY instance 1 & UTMI is
> used on other two instances. Hence modified PHY type
> detection also from instance number to the parameter
> passed from host driver.

Mostly seems fine to me; just a couple more things I noticed inline
below. For the record, I'd like to take this through the Tegra tree with
all the other Tegra-related USB patches in order to manage any
dependencies, with the USB maintainers' Acks. Thanks.

> diff --git a/drivers/usb/phy/tegra_usb_phy.c b/drivers/usb/phy/tegra_usb_phy.c

> +struct tegra_usb_phy *tegra_usb_phy_open(struct device *dev,
> +	bool is_legacy_mode, void __iomem *regs, void *config,
> +	enum tegra_usb_phy_mode phy_mode)

> +	u8 index = is_legacy_mode ? 0 : 2;

I know this looks slightly icky, but I discussed earlier with Venu that
this will be replaced by reading all the parameters out of device tree,
as soon as this code becomes a true driver. I think the patch for that
is up next, or at most after a few more cleanup patches.

> +	phy->is_ulpi_phy = config ? true : false;
>  
>  	if (!phy->config) {
> -		if (phy_is_ulpi(phy)) {
> +		if (phy->is_ulpi_phy) {
>  			pr_err("%s: ulpi phy configuration missing", __func__);
>  			err = -EINVAL;
>  			goto err0;

That check will never fire now, since phy->is_ulpi_phy is calculated
based on whether phy->config is set. I think it's fine for now to rely
on the EHCI driver correctly passing config or NULL, and hence you could
simply delete some of this error-checking code. I imagine that when the
PHY driver is reworked to be an actual device rather than a utility
module, phy->is_ulpi_phy will be determined by the compatible value of
the PHY node in device tree.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ