Lines Matching refs:device

55 make_space(acpi_ns_device_info *device, size_t space)
57 size_t available = device->buffer->WritableAmount();
62 device->buffer->Unlock();
65 if (release_sem_etc(device->read_sem, 1, B_RELEASE_IF_WAITING_ONLY) == B_OK)
70 if (!device->buffer->Lock())
73 } while (device->buffer->WritableAmount() < space);
81 dump_acpi_namespace(acpi_ns_device_info *device, char *root, int indenting)
92 int depth = sizeof(char) * 5 * indenting + sizeof(char); // index into result where the device name will be.
95 while (device->acpi->get_next_entry(ACPI_TYPE_ANY, root, result, 255, &counter) == B_OK) {
96 uint32 type = device->acpi->get_object_type(result);
117 device->acpi->get_device_info(result, &hid, NULL, 0, NULL, NULL);
155 RingBuffer &ringBuffer = *device->buffer;
167 !make_space(device, toWrite))
172 dump_acpi_namespace(device, result, indenting + 1);
180 acpi_ns_device_info *device = (acpi_ns_device_info*)(arg);
181 dump_acpi_namespace(device, NULL, 0);
183 delete_sem(device->read_sem);
184 device->read_sem = -1;
197 acpi_ns_device_info *device = (acpi_ns_device_info *)_cookie;
201 *cookie = device;
207 device->read_sem = create_sem(0, "read_sem");
208 if (device->read_sem < B_OK) {
210 return device->read_sem;
213 device->thread = spawn_kernel_thread(acpi_namespace_dump, "acpi dumper",
214 B_NORMAL_PRIORITY, device);
215 if (device->thread < 0) {
217 delete_sem(device->read_sem);
218 return device->thread;
221 device->buffer = ringBuffer;
223 resume_thread(device->thread);
235 acpi_ns_device_info *device = (acpi_ns_device_info *)_cookie;
236 RingBuffer &ringBuffer = *device->buffer;
245 status_t status = acquire_sem_etc(device->read_sem, 1, B_CAN_INTERRUPT, 0);
300 acpi_namespace_free - called after the last device is closed, and after
307 acpi_ns_device_info *device = (acpi_ns_device_info *)cookie;
310 if (device->read_sem >= 0)
311 delete_sem(device->read_sem);
313 device->buffer->DestroyLock();
314 wait_for_thread(device->thread, &status);
315 delete device->buffer;
321 // #pragma mark - device module API
330 acpi_ns_device_info *device = (acpi_ns_device_info *)calloc(1, sizeof(*device));
331 if (device == NULL)
334 device->node = node;
335 err = gDeviceManager->get_driver(node, (driver_module_info **)&device->acpi,
336 (void **)&device->acpi_cookie);
338 free(device);
342 *cookie = device;
350 acpi_ns_device_info *device = (acpi_ns_device_info *)_cookie;
351 free(device);