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()
399 struct opiocdesc op; in opiocget() local
405 if (copy_from_user(&op, argp, sizeof(op))) in opiocget()
408 dp = get_node(op.op_nodeid, data); in opiocget()
410 str = copyin_string(op.op_name, op.op_namelen); in opiocget()
416 if (!pval || len > op.op_buflen) { in opiocget()
419 op.op_buflen = len; in opiocget()
420 if (copy_to_user(argp, &op, sizeof(op)) || in opiocget()
421 copy_to_user(op.op_buf, pval, len)) in opiocget()
431 struct opiocdesc op; in opiocnextprop() local
437 if (copy_from_user(&op, argp, sizeof(op))) in opiocnextprop()
440 dp = get_node(op.op_nodeid, data); in opiocnextprop()
444 str = copyin_string(op.op_name, op.op_namelen); in opiocnextprop()
462 if (len > op.op_buflen) in opiocnextprop()
463 len = op.op_buflen; in opiocnextprop()
465 if (copy_to_user(argp, &op, sizeof(op))) in opiocnextprop()
469 copy_to_user(op.op_buf, prop->value, len)) in opiocnextprop()
477 struct opiocdesc op; in opiocset() local
482 if (copy_from_user(&op, argp, sizeof(op))) in opiocset()
485 dp = get_node(op.op_nodeid, data); in opiocset()
489 str = copyin_string(op.op_name, op.op_namelen); in opiocset()
493 tmp = copyin_string(op.op_buf, op.op_buflen); in opiocset()
499 err = of_set_property(dp, str, tmp, op.op_buflen); in opiocset()