Lines Matching refs:pb

41 	struct mdio_mux_parent_bus *pb = cb->parent;  in mdio_mux_read()  local
44 mutex_lock_nested(&pb->mii_bus->mdio_lock, MDIO_MUTEX_MUX); in mdio_mux_read()
45 r = pb->switch_fn(pb->current_child, cb->bus_number, pb->switch_data); in mdio_mux_read()
49 pb->current_child = cb->bus_number; in mdio_mux_read()
51 r = pb->mii_bus->read(pb->mii_bus, phy_id, regnum); in mdio_mux_read()
53 mutex_unlock(&pb->mii_bus->mdio_lock); in mdio_mux_read()
62 struct mdio_mux_parent_bus *pb = cb->parent; in mdio_mux_read_c45() local
65 mutex_lock_nested(&pb->mii_bus->mdio_lock, MDIO_MUTEX_MUX); in mdio_mux_read_c45()
66 r = pb->switch_fn(pb->current_child, cb->bus_number, pb->switch_data); in mdio_mux_read_c45()
70 pb->current_child = cb->bus_number; in mdio_mux_read_c45()
72 r = pb->mii_bus->read_c45(pb->mii_bus, phy_id, dev_addr, regnum); in mdio_mux_read_c45()
74 mutex_unlock(&pb->mii_bus->mdio_lock); in mdio_mux_read_c45()
86 struct mdio_mux_parent_bus *pb = cb->parent; in mdio_mux_write() local
90 mutex_lock_nested(&pb->mii_bus->mdio_lock, MDIO_MUTEX_MUX); in mdio_mux_write()
91 r = pb->switch_fn(pb->current_child, cb->bus_number, pb->switch_data); in mdio_mux_write()
95 pb->current_child = cb->bus_number; in mdio_mux_write()
97 r = pb->mii_bus->write(pb->mii_bus, phy_id, regnum, val); in mdio_mux_write()
99 mutex_unlock(&pb->mii_bus->mdio_lock); in mdio_mux_write()
108 struct mdio_mux_parent_bus *pb = cb->parent; in mdio_mux_write_c45() local
112 mutex_lock_nested(&pb->mii_bus->mdio_lock, MDIO_MUTEX_MUX); in mdio_mux_write_c45()
113 r = pb->switch_fn(pb->current_child, cb->bus_number, pb->switch_data); in mdio_mux_write_c45()
117 pb->current_child = cb->bus_number; in mdio_mux_write_c45()
119 r = pb->mii_bus->write_c45(pb->mii_bus, phy_id, dev_addr, regnum, val); in mdio_mux_write_c45()
121 mutex_unlock(&pb->mii_bus->mdio_lock); in mdio_mux_write_c45()
128 static void mdio_mux_uninit_children(struct mdio_mux_parent_bus *pb) in mdio_mux_uninit_children() argument
130 struct mdio_mux_child_bus *cb = pb->children; in mdio_mux_uninit_children()
150 struct mdio_mux_parent_bus *pb; in mdio_mux_init() local
174 pb = devm_kzalloc(dev, sizeof(*pb), GFP_KERNEL); in mdio_mux_init()
175 if (!pb) { in mdio_mux_init()
180 pb->switch_data = data; in mdio_mux_init()
181 pb->switch_fn = switch_fn; in mdio_mux_init()
182 pb->current_child = -1; in mdio_mux_init()
183 pb->parent_id = parent_count++; in mdio_mux_init()
184 pb->mii_bus = parent_bus; in mdio_mux_init()
204 cb->parent = pb; in mdio_mux_init()
215 cb->mii_bus->name, pb->parent_id, v); in mdio_mux_init()
235 cb->next = pb->children; in mdio_mux_init()
236 pb->children = cb; in mdio_mux_init()
239 if (pb->children) { in mdio_mux_init()
240 *mux_handle = pb; in mdio_mux_init()
247 mdio_mux_uninit_children(pb); in mdio_mux_init()
259 struct mdio_mux_parent_bus *pb = mux_handle; in mdio_mux_uninit() local
261 mdio_mux_uninit_children(pb); in mdio_mux_uninit()
262 put_device(&pb->mii_bus->dev); in mdio_mux_uninit()