Lines Matching refs:op
130 static int opromgetprop(void __user *argp, struct device_node *dp, struct openpromio *op, int bufsi… in opromgetprop() argument
136 !(pval = of_get_property(dp, op->oprom_array, &len)) || in opromgetprop()
138 return copyout(argp, op, sizeof(int)); in opromgetprop()
140 memcpy(op->oprom_array, pval, len); in opromgetprop()
141 op->oprom_array[len] = '\0'; in opromgetprop()
142 op->oprom_size = len; in opromgetprop()
144 return copyout(argp, op, sizeof(int) + bufsize); in opromgetprop()
147 static int opromnxtprop(void __user *argp, struct device_node *dp, struct openpromio *op, int bufsi… in opromnxtprop() argument
153 return copyout(argp, op, sizeof(int)); in opromnxtprop()
154 if (op->oprom_array[0] == '\0') { in opromnxtprop()
157 return copyout(argp, op, sizeof(int)); in opromnxtprop()
160 prop = of_find_property(dp, op->oprom_array, NULL); in opromnxtprop()
165 return copyout(argp, op, sizeof(int)); in opromnxtprop()
170 memcpy(op->oprom_array, prop->name, len); in opromnxtprop()
171 op->oprom_array[len] = '\0'; in opromnxtprop()
172 op->oprom_size = ++len; in opromnxtprop()
174 return copyout(argp, op, sizeof(int) + bufsize); in opromnxtprop()
177 static int opromsetopt(struct device_node *dp, struct openpromio *op, int bufsize) in opromsetopt() argument
179 char *buf = op->oprom_array + strlen(op->oprom_array) + 1; in opromsetopt()
180 int len = op->oprom_array + bufsize - buf; in opromsetopt()
182 return of_set_property(options_node, op->oprom_array, buf, len); in opromsetopt()
185 …__user *argp, unsigned int cmd, struct device_node *dp, struct openpromio *op, int bufsize, DATA *… in opromnext() argument
194 ph = *((int *) op->oprom_array); in opromnext()
226 *((int *) op->oprom_array) = ph; in opromnext()
227 op->oprom_size = sizeof(phandle); in opromnext()
229 return copyout(argp, op, bufsize + sizeof(int)); in opromnext()
232 static int oprompci2node(void __user *argp, struct device_node *dp, struct openpromio *op, int bufs… in oprompci2node() argument
242 ((int *) op->oprom_array)[0], in oprompci2node()
243 ((int *) op->oprom_array)[1]); in oprompci2node()
247 *((int *)op->oprom_array) = dp->phandle; in oprompci2node()
248 op->oprom_size = sizeof(int); in oprompci2node()
249 err = copyout(argp, op, bufsize + sizeof(int)); in oprompci2node()
258 static int oprompath2node(void __user *argp, struct device_node *dp, struct openpromio *op, int buf… in oprompath2node() argument
262 dp = of_find_node_by_path(op->oprom_array); in oprompath2node()
266 *((int *)op->oprom_array) = ph; in oprompath2node()
267 op->oprom_size = sizeof(int); in oprompath2node()
269 return copyout(argp, op, bufsize + sizeof(int)); in oprompath2node()
272 static int opromgetbootargs(void __user *argp, struct openpromio *op, int bufsize) in opromgetbootargs() argument
280 strcpy(op->oprom_array, buf); in opromgetbootargs()
281 op->oprom_size = len; in opromgetbootargs()
283 return copyout(argp, op, bufsize + sizeof(int)); in opromgetbootargs()
387 struct opiocdesc op; in opiocget() local
393 if (copy_from_user(&op, argp, sizeof(op))) in opiocget()
396 dp = get_node(op.op_nodeid, data); in opiocget()
398 str = copyin_string(op.op_name, op.op_namelen); in opiocget()
404 if (!pval || len > op.op_buflen) { in opiocget()
407 op.op_buflen = len; in opiocget()
408 if (copy_to_user(argp, &op, sizeof(op)) || in opiocget()
409 copy_to_user(op.op_buf, pval, len)) in opiocget()
419 struct opiocdesc op; in opiocnextprop() local
425 if (copy_from_user(&op, argp, sizeof(op))) in opiocnextprop()
428 dp = get_node(op.op_nodeid, data); in opiocnextprop()
432 str = copyin_string(op.op_name, op.op_namelen); in opiocnextprop()
450 if (len > op.op_buflen) in opiocnextprop()
451 len = op.op_buflen; in opiocnextprop()
453 if (copy_to_user(argp, &op, sizeof(op))) in opiocnextprop()
457 copy_to_user(op.op_buf, prop->value, len)) in opiocnextprop()
465 struct opiocdesc op; in opiocset() local
470 if (copy_from_user(&op, argp, sizeof(op))) in opiocset()
473 dp = get_node(op.op_nodeid, data); in opiocset()
477 str = copyin_string(op.op_name, op.op_namelen); in opiocset()
481 tmp = copyin_string(op.op_buf, op.op_buflen); in opiocset()
487 err = of_set_property(dp, str, tmp, op.op_buflen); in opiocset()