Lines Matching refs:desc
80 struct ec_cmd_desc *desc = NULL; in olpc_ec_worker() local
86 desc = list_first_entry(&ec->cmd_q, struct ec_cmd_desc, node); in olpc_ec_worker()
87 list_del(&desc->node); in olpc_ec_worker()
92 if (!desc) in olpc_ec_worker()
97 desc->err = ec_driver->ec_cmd(desc->cmd, desc->inbuf, desc->inlen, in olpc_ec_worker()
98 desc->outbuf, desc->outlen, ec_cb_arg); in olpc_ec_worker()
102 complete(&desc->finished); in olpc_ec_worker()
112 static void queue_ec_descriptor(struct ec_cmd_desc *desc, in queue_ec_descriptor() argument
117 INIT_LIST_HEAD(&desc->node); in queue_ec_descriptor()
120 list_add_tail(&desc->node, &ec->cmd_q); in queue_ec_descriptor()
129 struct ec_cmd_desc desc; in olpc_ec_cmd() local
147 desc.cmd = cmd; in olpc_ec_cmd()
148 desc.inbuf = inbuf; in olpc_ec_cmd()
149 desc.outbuf = outbuf; in olpc_ec_cmd()
150 desc.inlen = inlen; in olpc_ec_cmd()
151 desc.outlen = outlen; in olpc_ec_cmd()
152 desc.err = 0; in olpc_ec_cmd()
153 init_completion(&desc.finished); in olpc_ec_cmd()
155 queue_ec_descriptor(&desc, ec); in olpc_ec_cmd()
158 wait_for_completion(&desc.finished); in olpc_ec_cmd()
161 return desc.err; in olpc_ec_cmd()