Lines Matching refs:desc
69 struct ec_cmd_desc *desc = NULL; in olpc_ec_worker() local
75 desc = list_first_entry(&ec->cmd_q, struct ec_cmd_desc, node); in olpc_ec_worker()
76 list_del(&desc->node); in olpc_ec_worker()
81 if (!desc) in olpc_ec_worker()
86 desc->err = ec_driver->ec_cmd(desc->cmd, desc->inbuf, desc->inlen, in olpc_ec_worker()
87 desc->outbuf, desc->outlen, ec_cb_arg); in olpc_ec_worker()
91 complete(&desc->finished); in olpc_ec_worker()
101 static void queue_ec_descriptor(struct ec_cmd_desc *desc, in queue_ec_descriptor() argument
106 INIT_LIST_HEAD(&desc->node); in queue_ec_descriptor()
109 list_add_tail(&desc->node, &ec->cmd_q); in queue_ec_descriptor()
118 struct ec_cmd_desc desc; in olpc_ec_cmd() local
133 desc.cmd = cmd; in olpc_ec_cmd()
134 desc.inbuf = inbuf; in olpc_ec_cmd()
135 desc.outbuf = outbuf; in olpc_ec_cmd()
136 desc.inlen = inlen; in olpc_ec_cmd()
137 desc.outlen = outlen; in olpc_ec_cmd()
138 desc.err = 0; in olpc_ec_cmd()
139 init_completion(&desc.finished); in olpc_ec_cmd()
141 queue_ec_descriptor(&desc, ec); in olpc_ec_cmd()
144 wait_for_completion(&desc.finished); in olpc_ec_cmd()
147 return desc.err; in olpc_ec_cmd()