Lines Matching +full:grant +full:- +full:dma
1 // SPDX-License-Identifier: GPL-2.0
10 * based on work by Grant Guenther <grant@torque.net>
13 * Cleaned up include files - Russell King <[email protected]>
39 struct parport *port = (struct parport *)table->extra1; in do_active_device()
45 return -EACCES; in do_active_device()
52 for (dev = port->devices; dev ; dev = dev->next) { in do_active_device()
53 if(dev == port->cad) { in do_active_device()
54 len += scnprintf(buffer, sizeof(buffer), "%s\n", dev->name); in do_active_device()
76 struct parport_device_info *info = table->extra2; in do_autoprobe()
82 return -EACCES; in do_autoprobe()
89 if ((str = info->class_name) != NULL) in do_autoprobe()
90 len += scnprintf (buffer + len, sizeof(buffer) - len, "CLASS:%s;\n", str); in do_autoprobe()
92 if ((str = info->model) != NULL) in do_autoprobe()
93 len += scnprintf (buffer + len, sizeof(buffer) - len, "MODEL:%s;\n", str); in do_autoprobe()
95 if ((str = info->mfr) != NULL) in do_autoprobe()
96 len += scnprintf (buffer + len, sizeof(buffer) - len, "MANUFACTURER:%s;\n", str); in do_autoprobe()
98 if ((str = info->description) != NULL) in do_autoprobe()
99 len += scnprintf (buffer + len, sizeof(buffer) - len, "DESCRIPTION:%s;\n", str); in do_autoprobe()
101 if ((str = info->cmdset) != NULL) in do_autoprobe()
102 len += scnprintf (buffer + len, sizeof(buffer) - len, "COMMAND SET:%s;\n", str); in do_autoprobe()
119 struct parport *port = (struct parport *)table->extra1; in do_hardware_base_addr()
129 return -EACCES; in do_hardware_base_addr()
131 len += scnprintf (buffer, sizeof(buffer), "%lu\t%lu\n", port->base, port->base_hi); in do_hardware_base_addr()
146 struct parport *port = (struct parport *)table->extra1; in do_hardware_irq()
156 return -EACCES; in do_hardware_irq()
158 len += scnprintf (buffer, sizeof(buffer), "%d\n", port->irq); in do_hardware_irq()
173 struct parport *port = (struct parport *)table->extra1; in do_hardware_dma()
183 return -EACCES; in do_hardware_dma()
185 len += scnprintf (buffer, sizeof(buffer), "%d\n", port->dma); in do_hardware_dma()
200 struct parport *port = (struct parport *)table->extra1; in do_hardware_modes()
210 return -EACCES; in do_hardware_modes()
215 if (port->modes & PARPORT_MODE_##x) \ in do_hardware_modes()
216 len += scnprintf(buffer + len, sizeof(buffer) - len, "%s%s", f++ ? "," : "", #x); \ in do_hardware_modes()
224 printmode(DMA); in do_hardware_modes()
277 .procname = "base-addr",
291 .procname = "dma",
423 return -ENOMEM; in parport_proc_register()
425 t->device_dir[0].extra1 = port; in parport_proc_register()
427 t->vars[0].data = &port->spintime; in parport_proc_register()
429 t->vars[i].extra1 = port; in parport_proc_register()
431 t->vars[5 + i].extra2 = &port->probe_info[i]; in parport_proc_register()
435 tmp_dir_path = kasprintf(GFP_KERNEL, "dev/parport/%s/devices", port->name); in parport_proc_register()
437 err = -ENOMEM; in parport_proc_register()
441 t->devices_header = register_sysctl(tmp_dir_path, t->device_dir); in parport_proc_register()
442 if (t->devices_header == NULL) { in parport_proc_register()
443 err = -ENOENT; in parport_proc_register()
449 tmp_dir_path = kasprintf(GFP_KERNEL, "dev/parport/%s", port->name); in parport_proc_register()
451 err = -ENOMEM; in parport_proc_register()
455 t->port_header = register_sysctl(tmp_dir_path, t->vars); in parport_proc_register()
456 if (t->port_header == NULL) { in parport_proc_register()
457 err = -ENOENT; in parport_proc_register()
461 port->sysctl_table = t; in parport_proc_register()
467 unregister_sysctl_table(t->devices_header); in parport_proc_register()
479 if (port->sysctl_table) { in parport_proc_unregister()
480 struct parport_sysctl_table *t = port->sysctl_table; in parport_proc_unregister()
481 port->sysctl_table = NULL; in parport_proc_unregister()
482 unregister_sysctl_table(t->devices_header); in parport_proc_unregister()
483 unregister_sysctl_table(t->port_header); in parport_proc_unregister()
492 struct parport * port = device->port; in parport_device_proc_register()
498 return -ENOMEM; in parport_device_proc_register()
501 tmp_dir_path = kasprintf(GFP_KERNEL, "dev/parport/%s/devices/%s", port->name, device->name); in parport_device_proc_register()
503 err = -ENOMEM; in parport_device_proc_register()
507 t->vars[0].data = &device->timeslice; in parport_device_proc_register()
509 t->sysctl_header = register_sysctl(tmp_dir_path, t->vars); in parport_device_proc_register()
510 if (t->sysctl_header == NULL) { in parport_device_proc_register()
514 device->sysctl_table = t; in parport_device_proc_register()
527 if (device->sysctl_table) { in parport_device_proc_unregister()
528 struct parport_device_sysctl_table *t = device->sysctl_table; in parport_device_proc_unregister()
529 device->sysctl_table = NULL; in parport_device_proc_unregister()
530 unregister_sysctl_table(t->sysctl_header); in parport_device_proc_unregister()
543 return -ENOMEM; in parport_default_proc_register()