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: <201401282226.24197.arnd@arndb.de>
Date:	Tue, 28 Jan 2014 22:26:24 +0100
From:	Arnd Bergmann <arnd@...db.de>
To:	Kishon Vijay Abraham I <kishon@...com>
Cc:	Pratyush Anand <pratyush.anand@...com>,
	Mohit Kumar <mohit.kumar@...com>, linux-kernel@...r.kernel.org
Subject: Re: Query: Phy: How to find consumer device on dt platform

On Tuesday 28 January 2014, Kishon Vijay Abraham I wrote:
> > I have a common set of registers, which need to be programmed
> > differently for PCIe and SATA during phy init/exit.
> 
> One way is differentiate using different compatible strings fro pcie and sata
> and use of_device_is_compatible to select a particular path.

But if the IP block is the same, the compatible string should be
identical.

> > Therefore, in the init/exit routine of phy_ops, I need some way of
> > identifying that phy_init/exit has been called from PCIe driver or
> > SATA driver.
> 
> In this case you'll be actually registering two different PHYs (each for pcie
> and sata), so your phy_get should give you the only the appropriate phy.

I would instead recommend making the mode of the PHY device the
argument to the phy handle in DT, so that the sata node uses

	phys = <&phyA 0>;

and the PCIe node uses

	phys = <&phyB 1>;

Then the binding for the phy defines that an argument of '0' means sata mode,
while '1' means pcie mode, plus you should define all other valid modes.

	Arnd
--
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