Lines Matching refs:shared

45 	return phydev->shared->np;  in phy_package_get_node()
51 return phydev->shared->priv; in phy_package_get_priv()
57 struct phy_package_shared *shared = phydev->shared; in phy_package_address() local
58 u8 base_addr = shared->base_addr; in phy_package_address()
95 struct phy_package_shared *shared = phydev->shared; in __phy_package_set_once() local
97 if (!shared) in __phy_package_set_once()
100 return !test_and_set_bit(b, &shared->flags); in __phy_package_set_once()
146 struct phy_package_shared *shared; in phy_package_join() local
153 shared = bus->shared[base_addr]; in phy_package_join()
154 if (!shared) { in phy_package_join()
156 shared = kzalloc(sizeof(*shared), GFP_KERNEL); in phy_package_join()
157 if (!shared) in phy_package_join()
160 shared->priv = kzalloc(priv_size, GFP_KERNEL); in phy_package_join()
161 if (!shared->priv) in phy_package_join()
163 shared->priv_size = priv_size; in phy_package_join()
165 shared->base_addr = base_addr; in phy_package_join()
166 shared->np = NULL; in phy_package_join()
167 refcount_set(&shared->refcnt, 1); in phy_package_join()
168 bus->shared[base_addr] = shared; in phy_package_join()
171 if (priv_size && priv_size != shared->priv_size) in phy_package_join()
173 refcount_inc(&shared->refcnt); in phy_package_join()
177 phydev->shared = shared; in phy_package_join()
182 kfree(shared); in phy_package_join()
237 phydev->shared->np = package_node; in of_phy_package_join()
256 struct phy_package_shared *shared = phydev->shared; in phy_package_leave() local
259 if (!shared) in phy_package_leave()
263 if (shared->np) in phy_package_leave()
264 of_node_put(shared->np); in phy_package_leave()
266 if (refcount_dec_and_mutex_lock(&shared->refcnt, &bus->shared_lock)) { in phy_package_leave()
267 bus->shared[shared->base_addr] = NULL; in phy_package_leave()
269 kfree(shared->priv); in phy_package_leave()
270 kfree(shared); in phy_package_leave()
273 phydev->shared = NULL; in phy_package_leave()