Lines Matching refs:phye
18 rt_err_t rt_phye_register(struct rt_phye *phye) in rt_phye_register() argument
22 if (phye && phye->dev && phye->ops) in rt_phye_register()
26 rt_spin_lock_init(&phye->lock); in rt_phye_register()
27 rt_dm_dev_bind_fwdata(phye->dev, RT_NULL, phye); in rt_phye_register()
37 rt_err_t rt_phye_unregister(struct rt_phye *phye) in rt_phye_unregister() argument
41 if (phye) in rt_phye_unregister()
45 rt_spin_lock(&phye->lock); in rt_phye_unregister()
47 if (phye->dev->ref_count) in rt_phye_unregister()
50 LOG_E("%s is busy in unregister", rt_dm_dev_get_name(phye->dev)); in rt_phye_unregister()
53 rt_dm_dev_unbind_fwdata(phye->dev, RT_NULL); in rt_phye_unregister()
55 rt_spin_unlock(&phye->lock); in rt_phye_unregister()
65 rt_err_t rt_phye_init(struct rt_phye *phye) in rt_phye_init() argument
69 if (!phye) in rt_phye_init()
76 rt_spin_lock(&phye->lock); in rt_phye_init()
78 if (phye->init_count == 0 && phye->ops->init) in rt_phye_init()
80 if ((err = phye->ops->init(phye))) in rt_phye_init()
85 ++phye->init_count; in rt_phye_init()
88 rt_spin_unlock(&phye->lock); in rt_phye_init()
93 rt_err_t rt_phye_exit(struct rt_phye *phye) in rt_phye_exit() argument
97 if (!phye) in rt_phye_exit()
104 rt_spin_lock(&phye->lock); in rt_phye_exit()
106 if (phye->init_count == 1 && phye->ops->exit) in rt_phye_exit()
108 if ((err = phye->ops->exit(phye))) in rt_phye_exit()
113 if (phye->init_count) in rt_phye_exit()
115 --phye->init_count; in rt_phye_exit()
119 rt_spin_unlock(&phye->lock); in rt_phye_exit()
124 rt_err_t rt_phye_reset(struct rt_phye *phye) in rt_phye_reset() argument
128 if (!phye) in rt_phye_reset()
135 rt_spin_lock(&phye->lock); in rt_phye_reset()
137 if (phye->ops->reset) in rt_phye_reset()
139 err = phye->ops->reset(phye); in rt_phye_reset()
142 rt_spin_unlock(&phye->lock); in rt_phye_reset()
147 rt_err_t rt_phye_power_on(struct rt_phye *phye) in rt_phye_power_on() argument
151 if (!phye) in rt_phye_power_on()
158 rt_spin_lock(&phye->lock); in rt_phye_power_on()
160 if (phye->power_count == 0 && phye->ops->power_on) in rt_phye_power_on()
162 if ((err = phye->ops->power_on(phye))) in rt_phye_power_on()
167 ++phye->power_count; in rt_phye_power_on()
170 rt_spin_unlock(&phye->lock); in rt_phye_power_on()
175 rt_err_t rt_phye_power_off(struct rt_phye *phye) in rt_phye_power_off() argument
179 if (!phye) in rt_phye_power_off()
186 rt_spin_lock(&phye->lock); in rt_phye_power_off()
188 if (phye->power_count == 1 && phye->ops->power_off) in rt_phye_power_off()
190 if ((err = phye->ops->power_off(phye))) in rt_phye_power_off()
195 if (phye->power_count) in rt_phye_power_off()
197 --phye->power_count; in rt_phye_power_off()
201 rt_spin_unlock(&phye->lock); in rt_phye_power_off()
206 rt_err_t rt_phye_set_mode(struct rt_phye *phye, enum rt_phye_mode mode, int submode) in rt_phye_set_mode() argument
210 if (!phye) in rt_phye_set_mode()
220 rt_spin_lock(&phye->lock); in rt_phye_set_mode()
222 if (phye->ops->set_mode) in rt_phye_set_mode()
224 err = phye->ops->set_mode(phye, mode, submode); in rt_phye_set_mode()
227 rt_spin_unlock(&phye->lock); in rt_phye_set_mode()
239 struct rt_phye *phye = RT_NULL; in ofw_phye_get_by_index() local
254 phye = rt_ofw_data(phye_np); in ofw_phye_get_by_index()
257 if (phye && phye->ops->ofw_parse) in ofw_phye_get_by_index()
259 if ((err = phye->ops->ofw_parse(phye, &phye_args))) in ofw_phye_get_by_index()
261 phye = rt_err_ptr(err); in ofw_phye_get_by_index()
266 return phye; in ofw_phye_get_by_index()
271 struct rt_phye *phye = RT_NULL; in rt_phye_get_by_index() local
280 phye = ofw_phye_get_by_index(dev->ofw_node, index); in rt_phye_get_by_index()
283 if (!rt_is_err_or_null(phye)) in rt_phye_get_by_index()
285 rt_spin_lock(&phye->lock); in rt_phye_get_by_index()
286 ++phye->dev->ref_count; in rt_phye_get_by_index()
287 rt_spin_unlock(&phye->lock); in rt_phye_get_by_index()
290 return phye; in rt_phye_get_by_index()
312 void rt_phye_put(struct rt_phye *phye) in rt_phye_put() argument
314 if (phye) in rt_phye_put()
316 rt_spin_lock(&phye->lock); in rt_phye_put()
317 --phye->dev->ref_count; in rt_phye_put()
318 rt_spin_unlock(&phye->lock); in rt_phye_put()