linux/include/linux/phy/ulpi_phy.h
<<
>>
Prefs
   1#include <linux/phy/phy.h>
   2
   3/**
   4 * Helper that registers PHY for a ULPI device and adds a lookup for binding it
   5 * and it's controller, which is always the parent.
   6 */
   7static inline struct phy
   8*ulpi_phy_create(struct ulpi *ulpi, const struct phy_ops *ops)
   9{
  10        struct phy *phy;
  11        int ret;
  12
  13        phy = phy_create(&ulpi->dev, NULL, ops);
  14        if (IS_ERR(phy))
  15                return phy;
  16
  17        ret = phy_create_lookup(phy, "usb2-phy", dev_name(ulpi->dev.parent));
  18        if (ret) {
  19                phy_destroy(phy);
  20                return ERR_PTR(ret);
  21        }
  22
  23        return phy;
  24}
  25
  26/* Remove a PHY that was created with ulpi_phy_create() and it's lookup. */
  27static inline void ulpi_phy_destroy(struct ulpi *ulpi, struct phy *phy)
  28{
  29        phy_remove_lookup(phy, "usb2-phy", dev_name(ulpi->dev.parent));
  30        phy_destroy(phy);
  31}
  32