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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/