Lines Matching refs:op

143 static int opromgetprop(void __user *argp, struct device_node *dp, struct openpromio *op, int bufsi…  in opromgetprop()  argument
149 !(pval = of_get_property(dp, op->oprom_array, &len)) || in opromgetprop()
151 return copyout(argp, op, sizeof(int)); in opromgetprop()
153 memcpy(op->oprom_array, pval, len); in opromgetprop()
154 op->oprom_array[len] = '\0'; in opromgetprop()
155 op->oprom_size = len; in opromgetprop()
157 return copyout(argp, op, sizeof(int) + bufsize); in opromgetprop()
160 static int opromnxtprop(void __user *argp, struct device_node *dp, struct openpromio *op, int bufsi… in opromnxtprop() argument
166 return copyout(argp, op, sizeof(int)); in opromnxtprop()
167 if (op->oprom_array[0] == '\0') { in opromnxtprop()
170 return copyout(argp, op, sizeof(int)); in opromnxtprop()
173 prop = of_find_property(dp, op->oprom_array, NULL); in opromnxtprop()
178 return copyout(argp, op, sizeof(int)); in opromnxtprop()
183 memcpy(op->oprom_array, prop->name, len); in opromnxtprop()
184 op->oprom_array[len] = '\0'; in opromnxtprop()
185 op->oprom_size = ++len; in opromnxtprop()
187 return copyout(argp, op, sizeof(int) + bufsize); in opromnxtprop()
190 static int opromsetopt(struct device_node *dp, struct openpromio *op, int bufsize) in opromsetopt() argument
192 char *buf = op->oprom_array + strlen(op->oprom_array) + 1; in opromsetopt()
193 int len = op->oprom_array + bufsize - buf; in opromsetopt()
195 return of_set_property(options_node, op->oprom_array, buf, len); in opromsetopt()
198 …__user *argp, unsigned int cmd, struct device_node *dp, struct openpromio *op, int bufsize, DATA *… in opromnext() argument
207 ph = *((int *) op->oprom_array); in opromnext()
239 *((int *) op->oprom_array) = ph; in opromnext()
240 op->oprom_size = sizeof(phandle); in opromnext()
242 return copyout(argp, op, bufsize + sizeof(int)); in opromnext()
245 static int oprompci2node(void __user *argp, struct device_node *dp, struct openpromio *op, int bufs… in oprompci2node() argument
254 pdev = pci_get_bus_and_slot (((int *) op->oprom_array)[0], in oprompci2node()
255 ((int *) op->oprom_array)[1]); in oprompci2node()
259 *((int *)op->oprom_array) = dp->phandle; in oprompci2node()
260 op->oprom_size = sizeof(int); in oprompci2node()
261 err = copyout(argp, op, bufsize + sizeof(int)); in oprompci2node()
270 static int oprompath2node(void __user *argp, struct device_node *dp, struct openpromio *op, int buf… in oprompath2node() argument
274 dp = of_find_node_by_path(op->oprom_array); in oprompath2node()
278 *((int *)op->oprom_array) = ph; in oprompath2node()
279 op->oprom_size = sizeof(int); in oprompath2node()
281 return copyout(argp, op, bufsize + sizeof(int)); in oprompath2node()
284 static int opromgetbootargs(void __user *argp, struct openpromio *op, int bufsize) in opromgetbootargs() argument
292 strcpy(op->oprom_array, buf); in opromgetbootargs()
293 op->oprom_size = len; in opromgetbootargs()
295 return copyout(argp, op, bufsize + sizeof(int)); in opromgetbootargs()
414 struct opiocdesc op; in opiocget() local
420 if (copy_from_user(&op, argp, sizeof(op))) in opiocget()
423 dp = get_node(op.op_nodeid, data); in opiocget()
425 err = copyin_string(op.op_name, op.op_namelen, &str); in opiocget()
431 if (!pval || len > op.op_buflen) { in opiocget()
434 op.op_buflen = len; in opiocget()
435 if (copy_to_user(argp, &op, sizeof(op)) || in opiocget()
436 copy_to_user(op.op_buf, pval, len)) in opiocget()
446 struct opiocdesc op; in opiocnextprop() local
452 if (copy_from_user(&op, argp, sizeof(op))) in opiocnextprop()
455 dp = get_node(op.op_nodeid, data); in opiocnextprop()
459 err = copyin_string(op.op_name, op.op_namelen, &str); in opiocnextprop()
477 if (len > op.op_buflen) in opiocnextprop()
478 len = op.op_buflen; in opiocnextprop()
480 if (copy_to_user(argp, &op, sizeof(op))) in opiocnextprop()
484 copy_to_user(op.op_buf, prop->value, len)) in opiocnextprop()
492 struct opiocdesc op; in opiocset() local
497 if (copy_from_user(&op, argp, sizeof(op))) in opiocset()
500 dp = get_node(op.op_nodeid, data); in opiocset()
504 err = copyin_string(op.op_name, op.op_namelen, &str); in opiocset()
508 err = copyin_string(op.op_buf, op.op_buflen, &tmp); in opiocset()
514 err = of_set_property(dp, str, tmp, op.op_buflen); in opiocset()