Lines Matching full:role
124 * struct ci_role_driver - host/gadget role driver
125 * @start: start this role
126 * @stop: stop this role
127 * @irq: irq handler for this role
128 * @name: role name string (host/gadget)
164 * @role: current role
171 * @work: work for role changing
212 enum ci_role role; member
261 BUG_ON(ci->role >= CI_ROLE_END || !ci->roles[ci->role]); in ci_role()
262 return ci->roles[ci->role]; in ci_role()
265 static inline int ci_role_start(struct ci_hdrc *ci, enum ci_role role) in ci_role_start() argument
269 if (role >= CI_ROLE_END) in ci_role_start()
272 if (!ci->roles[role]) in ci_role_start()
275 ret = ci->roles[role]->start(ci); in ci_role_start()
277 ci->role = role; in ci_role_start()
283 enum ci_role role = ci->role; in ci_role_stop() local
285 if (role == CI_ROLE_END) in ci_role_stop()
288 ci->role = CI_ROLE_END; in ci_role_stop()
290 ci->roles[role]->stop(ci); in ci_role_stop()