Lines Matching refs:priv
22 #define usbhs_priv_to_modinfo(priv) (&priv->mod_info) argument
23 #define usbhs_mod_info_call(priv, func, param...) \ argument
26 info = usbhs_priv_to_modinfo(priv); \
43 struct usbhs_priv *priv = usbhs_pdev_to_priv(pdev); in usbhsm_autonomy_get_vbus() local
45 return VBSTS & usbhs_read(priv, INTSTS0); in usbhsm_autonomy_get_vbus()
48 static int usbhsm_autonomy_irq_vbus(struct usbhs_priv *priv, in usbhsm_autonomy_irq_vbus() argument
51 struct platform_device *pdev = usbhs_priv_to_pdev(priv); in usbhsm_autonomy_irq_vbus()
58 void usbhs_mod_autonomy_mode(struct usbhs_priv *priv) in usbhs_mod_autonomy_mode() argument
60 struct usbhs_mod_info *info = usbhs_priv_to_modinfo(priv); in usbhs_mod_autonomy_mode()
63 priv->pfunc.get_vbus = usbhsm_autonomy_get_vbus; in usbhs_mod_autonomy_mode()
65 usbhs_irq_callback_update(priv, NULL); in usbhs_mod_autonomy_mode()
75 void usbhs_mod_register(struct usbhs_priv *priv, struct usbhs_mod *mod, int id) in usbhs_mod_register() argument
77 struct usbhs_mod_info *info = usbhs_priv_to_modinfo(priv); in usbhs_mod_register()
80 mod->priv = priv; in usbhs_mod_register()
83 struct usbhs_mod *usbhs_mod_get(struct usbhs_priv *priv, int id) in usbhs_mod_get() argument
85 struct usbhs_mod_info *info = usbhs_priv_to_modinfo(priv); in usbhs_mod_get()
98 int usbhs_mod_is_host(struct usbhs_priv *priv) in usbhs_mod_is_host() argument
100 struct usbhs_mod *mod = usbhs_mod_get_current(priv); in usbhs_mod_is_host()
101 struct usbhs_mod_info *info = usbhs_priv_to_modinfo(priv); in usbhs_mod_is_host()
109 struct usbhs_mod *usbhs_mod_get_current(struct usbhs_priv *priv) in usbhs_mod_get_current() argument
111 struct usbhs_mod_info *info = usbhs_priv_to_modinfo(priv); in usbhs_mod_get_current()
116 int usbhs_mod_change(struct usbhs_priv *priv, int id) in usbhs_mod_change() argument
118 struct usbhs_mod_info *info = usbhs_priv_to_modinfo(priv); in usbhs_mod_change()
137 int usbhs_mod_probe(struct usbhs_priv *priv) in usbhs_mod_probe() argument
139 struct device *dev = usbhs_priv_to_dev(priv); in usbhs_mod_probe()
145 ret = usbhs_mod_host_probe(priv); in usbhs_mod_probe()
149 ret = usbhs_mod_gadget_probe(priv); in usbhs_mod_probe()
154 ret = devm_request_irq(dev, priv->irq, usbhs_interrupt, in usbhs_mod_probe()
155 priv->irqflags, dev_name(dev), priv); in usbhs_mod_probe()
164 usbhs_mod_gadget_remove(priv); in usbhs_mod_probe()
166 usbhs_mod_host_remove(priv); in usbhs_mod_probe()
171 void usbhs_mod_remove(struct usbhs_priv *priv) in usbhs_mod_remove() argument
173 usbhs_mod_host_remove(priv); in usbhs_mod_remove()
174 usbhs_mod_gadget_remove(priv); in usbhs_mod_remove()
211 static int usbhs_status_get_each_irq(struct usbhs_priv *priv, in usbhs_status_get_each_irq() argument
214 struct usbhs_mod *mod = usbhs_mod_get_current(priv); in usbhs_status_get_each_irq()
219 usbhs_lock(priv, flags); in usbhs_status_get_each_irq()
220 state->intsts0 = usbhs_read(priv, INTSTS0); in usbhs_status_get_each_irq()
221 intenb0 = usbhs_read(priv, INTENB0); in usbhs_status_get_each_irq()
223 if (usbhs_mod_is_host(priv)) { in usbhs_status_get_each_irq()
224 state->intsts1 = usbhs_read(priv, INTSTS1); in usbhs_status_get_each_irq()
225 intenb1 = usbhs_read(priv, INTENB1); in usbhs_status_get_each_irq()
232 state->brdysts = usbhs_read(priv, BRDYSTS); in usbhs_status_get_each_irq()
233 state->nrdysts = usbhs_read(priv, NRDYSTS); in usbhs_status_get_each_irq()
234 state->bempsts = usbhs_read(priv, BEMPSTS); in usbhs_status_get_each_irq()
239 usbhs_unlock(priv, flags); in usbhs_status_get_each_irq()
246 if (priv->irqflags & IRQF_SHARED) { in usbhs_status_get_each_irq()
264 struct usbhs_priv *priv = data; in usbhs_interrupt() local
267 if (usbhs_status_get_each_irq(priv, &irq_state) < 0) in usbhs_interrupt()
281 usbhs_write(priv, INTSTS0, ~irq_state.intsts0 & INTSTS0_MAGIC); in usbhs_interrupt()
282 if (usbhs_mod_is_host(priv)) in usbhs_interrupt()
283 usbhs_write(priv, INTSTS1, ~irq_state.intsts1 & INTSTS1_MAGIC); in usbhs_interrupt()
285 usbhs_write(priv, BRDYSTS, ~irq_state.brdysts); in usbhs_interrupt()
286 usbhs_write(priv, NRDYSTS, ~irq_state.nrdysts); in usbhs_interrupt()
287 usbhs_write(priv, BEMPSTS, ~irq_state.bempsts); in usbhs_interrupt()
297 usbhs_mod_info_call(priv, irq_vbus, priv, &irq_state); in usbhs_interrupt()
300 usbhs_mod_call(priv, irq_dev_state, priv, &irq_state); in usbhs_interrupt()
303 usbhs_mod_call(priv, irq_ctrl_stage, priv, &irq_state); in usbhs_interrupt()
306 usbhs_mod_call(priv, irq_empty, priv, &irq_state); in usbhs_interrupt()
309 usbhs_mod_call(priv, irq_ready, priv, &irq_state); in usbhs_interrupt()
311 if (usbhs_mod_is_host(priv)) { in usbhs_interrupt()
314 usbhs_mod_call(priv, irq_attch, priv, &irq_state); in usbhs_interrupt()
317 usbhs_mod_call(priv, irq_dtch, priv, &irq_state); in usbhs_interrupt()
320 usbhs_mod_call(priv, irq_sign, priv, &irq_state); in usbhs_interrupt()
323 usbhs_mod_call(priv, irq_sack, priv, &irq_state); in usbhs_interrupt()
328 void usbhs_irq_callback_update(struct usbhs_priv *priv, struct usbhs_mod *mod) in usbhs_irq_callback_update() argument
332 struct usbhs_mod_info *info = usbhs_priv_to_modinfo(priv); in usbhs_irq_callback_update()
342 usbhs_write(priv, INTENB0, 0); in usbhs_irq_callback_update()
343 if (usbhs_mod_is_host(priv)) in usbhs_irq_callback_update()
344 usbhs_write(priv, INTENB1, 0); in usbhs_irq_callback_update()
346 usbhs_write(priv, BEMPENB, 0); in usbhs_irq_callback_update()
347 usbhs_write(priv, BRDYENB, 0); in usbhs_irq_callback_update()
369 usbhs_write(priv, BEMPENB, mod->irq_bempsts); in usbhs_irq_callback_update()
374 usbhs_write(priv, BRDYENB, mod->irq_brdysts); in usbhs_irq_callback_update()
378 if (usbhs_mod_is_host(priv)) { in usbhs_irq_callback_update()
397 usbhs_write(priv, INTENB0, intenb0); in usbhs_irq_callback_update()
399 if (usbhs_mod_is_host(priv) && intenb1) in usbhs_irq_callback_update()
400 usbhs_write(priv, INTENB1, intenb1); in usbhs_irq_callback_update()