Hi Kishon:
On 2014/12/11 18:27, Kishon Vijay Abraham I wrote:
Hi,
On Thursday 11 December 2014 03:25 PM, Yunzhi Li wrote:
+
+static struct phy *rockchip_usb_phy_xlate(struct device *dev,
+ struct of_phandle_args *args)
+{
+ struct rockchip_usb_phy_priv *priv = dev_get_drvdata(dev);
+ unsigned int phy_id = args->args[0];
+
+ if (WARN_ON(phy_id < 0 || phy_id >= priv->nphys))
+ return ERR_PTR(-ENODEV);
+
+ return priv->phys[phy_id].phy;
I didn't mean that. You can get rid of this entire xlate stuff if you use
something like below
phy@xxx {
compatible = "";
phy1:usb_phy {
}
phy2:usb_phy {
};
};
usb@xx {
compatible = "";
phys = <&phy1>; //doesn't need xlate
/* this needs xlate
phys = <&phy 1>;
*/
phy-names = "phy";
};
Thank you so much for your suggestion, but still have a question:
I have to add the #phy-cells property in each phy sub-node, otherwise
devm_get_phy() will fail and I get log info like
"/usb@ff500000: could not get #phy-cells for /phy/usbp-phy1". So can the
#phy-cells property defines in patent node
also valid for it's child nodes like #address-cells ?
---
Yunzhi Li @ rockchip
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html