Lines Matching refs:mdiodev

36 static int mdiobus_register_gpiod(struct mdio_device *mdiodev)  in mdiobus_register_gpiod()  argument
39 mdiodev->reset_gpio = gpiod_get_optional(&mdiodev->dev, in mdiobus_register_gpiod()
41 if (IS_ERR(mdiodev->reset_gpio)) in mdiobus_register_gpiod()
42 return PTR_ERR(mdiodev->reset_gpio); in mdiobus_register_gpiod()
44 if (mdiodev->reset_gpio) in mdiobus_register_gpiod()
45 gpiod_set_consumer_name(mdiodev->reset_gpio, "PHY reset"); in mdiobus_register_gpiod()
50 static int mdiobus_register_reset(struct mdio_device *mdiodev) in mdiobus_register_reset() argument
54 reset = reset_control_get_optional_exclusive(&mdiodev->dev, "phy"); in mdiobus_register_reset()
58 mdiodev->reset_ctrl = reset; in mdiobus_register_reset()
63 int mdiobus_register_device(struct mdio_device *mdiodev) in mdiobus_register_device() argument
67 if (mdiodev->bus->mdio_map[mdiodev->addr]) in mdiobus_register_device()
70 if (mdiodev->flags & MDIO_DEVICE_FLAG_PHY) { in mdiobus_register_device()
71 err = mdiobus_register_gpiod(mdiodev); in mdiobus_register_device()
75 err = mdiobus_register_reset(mdiodev); in mdiobus_register_device()
80 mdio_device_reset(mdiodev, 1); in mdiobus_register_device()
83 mdiodev->bus->mdio_map[mdiodev->addr] = mdiodev; in mdiobus_register_device()
89 int mdiobus_unregister_device(struct mdio_device *mdiodev) in mdiobus_unregister_device() argument
91 if (mdiodev->bus->mdio_map[mdiodev->addr] != mdiodev) in mdiobus_unregister_device()
94 gpiod_put(mdiodev->reset_gpio); in mdiobus_unregister_device()
95 reset_control_put(mdiodev->reset_ctrl); in mdiobus_unregister_device()
97 mdiodev->bus->mdio_map[mdiodev->addr] = NULL; in mdiobus_unregister_device()
115 struct mdio_device *mdiodev; in mdiobus_get_phy() local
117 mdiodev = mdiobus_find_device(bus, addr); in mdiobus_get_phy()
118 if (!mdiodev) in mdiobus_get_phy()
121 if (!(mdiodev->flags & MDIO_DEVICE_FLAG_PHY)) in mdiobus_get_phy()
124 return container_of(mdiodev, struct phy_device, mdio); in mdiobus_get_phy()
212 struct mdio_device *mdiodev = to_mdio_device(dev); in mdio_bus_device_stat_field_show() local
213 struct mii_bus *bus = mdiodev->bus; in mdio_bus_device_stat_field_show()
216 int addr = mdiodev->addr; in mdio_bus_device_stat_field_show()