Lines Matching full:pb
44 struct mdio_mux_parent_bus *pb = cb->parent; in mdio_mux_read() local
47 mutex_lock_nested(&pb->mii_bus->mdio_lock, MDIO_MUTEX_MUX); in mdio_mux_read()
48 r = pb->switch_fn(pb->current_child, cb->bus_number, pb->switch_data); in mdio_mux_read()
52 pb->current_child = cb->bus_number; in mdio_mux_read()
54 r = pb->mii_bus->read(pb->mii_bus, phy_id, regnum); in mdio_mux_read()
56 mutex_unlock(&pb->mii_bus->mdio_lock); in mdio_mux_read()
68 struct mdio_mux_parent_bus *pb = cb->parent; in mdio_mux_write() local
72 mutex_lock_nested(&pb->mii_bus->mdio_lock, MDIO_MUTEX_MUX); in mdio_mux_write()
73 r = pb->switch_fn(pb->current_child, cb->bus_number, pb->switch_data); in mdio_mux_write()
77 pb->current_child = cb->bus_number; in mdio_mux_write()
79 r = pb->mii_bus->write(pb->mii_bus, phy_id, regnum, val); in mdio_mux_write()
81 mutex_unlock(&pb->mii_bus->mdio_lock); in mdio_mux_write()
99 struct mdio_mux_parent_bus *pb; in mdio_mux_init() local
123 pb = devm_kzalloc(dev, sizeof(*pb), GFP_KERNEL); in mdio_mux_init()
124 if (!pb) { in mdio_mux_init()
129 pb->switch_data = data; in mdio_mux_init()
130 pb->switch_fn = switch_fn; in mdio_mux_init()
131 pb->current_child = -1; in mdio_mux_init()
132 pb->parent_id = parent_count++; in mdio_mux_init()
133 pb->mii_bus = parent_bus; in mdio_mux_init()
153 cb->parent = pb; in mdio_mux_init()
165 pb->parent_id, v); in mdio_mux_init()
177 cb->next = pb->children; in mdio_mux_init()
178 pb->children = cb; in mdio_mux_init()
181 if (pb->children) { in mdio_mux_init()
182 *mux_handle = pb; in mdio_mux_init()
187 devm_kfree(dev, pb); in mdio_mux_init()
198 struct mdio_mux_parent_bus *pb = mux_handle; in mdio_mux_uninit() local
199 struct mdio_mux_child_bus *cb = pb->children; in mdio_mux_uninit()
207 put_device(&pb->mii_bus->dev); in mdio_mux_uninit()