Lines Matching refs:spic_dev
3370 static struct sony_pic_dev spic_dev = { variable
3371 .interrupts = LIST_HEAD_INIT(spic_dev.interrupts),
3372 .ioports = LIST_HEAD_INIT(spic_dev.ioports),
3612 wait_on_command(inb_p(spic_dev.cur_ioport->io1.minimum + 4) & 2, in sony_pic_call1()
3614 outb(dev, spic_dev.cur_ioport->io1.minimum + 4); in sony_pic_call1()
3615 v1 = inb_p(spic_dev.cur_ioport->io1.minimum + 4); in sony_pic_call1()
3616 v2 = inb_p(spic_dev.cur_ioport->io1.minimum); in sony_pic_call1()
3625 wait_on_command(inb_p(spic_dev.cur_ioport->io1.minimum + 4) & 2, in sony_pic_call2()
3627 outb(dev, spic_dev.cur_ioport->io1.minimum + 4); in sony_pic_call2()
3628 wait_on_command(inb_p(spic_dev.cur_ioport->io1.minimum + 4) & 2, in sony_pic_call2()
3630 outb(fn, spic_dev.cur_ioport->io1.minimum); in sony_pic_call2()
3631 v1 = inb_p(spic_dev.cur_ioport->io1.minimum); in sony_pic_call2()
3640 wait_on_command(inb_p(spic_dev.cur_ioport->io1.minimum + 4) & 2, ITERATIONS_LONG); in sony_pic_call3()
3641 outb(dev, spic_dev.cur_ioport->io1.minimum + 4); in sony_pic_call3()
3642 wait_on_command(inb_p(spic_dev.cur_ioport->io1.minimum + 4) & 2, ITERATIONS_LONG); in sony_pic_call3()
3643 outb(fn, spic_dev.cur_ioport->io1.minimum); in sony_pic_call3()
3644 wait_on_command(inb_p(spic_dev.cur_ioport->io1.minimum + 4) & 2, ITERATIONS_LONG); in sony_pic_call3()
3645 outb(v, spic_dev.cur_ioport->io1.minimum); in sony_pic_call3()
3646 v1 = inb_p(spic_dev.cur_ioport->io1.minimum); in sony_pic_call3()
3790 if (spic_dev.camera_power) { in __sony_pic_camera_off()
3792 spic_dev.camera_power = 0; in __sony_pic_camera_off()
3806 if (spic_dev.camera_power) in __sony_pic_camera_on()
3833 spic_dev.camera_power = 1; in __sony_pic_camera_on()
3843 mutex_lock(&spic_dev.lock); in sony_pic_camera_command()
3884 mutex_unlock(&spic_dev.lock); in sony_pic_camera_command()
3893 if (spic_dev.wwan_power == state) in __sony_pic_set_wwanpower()
3897 spic_dev.wwan_power = state; in __sony_pic_set_wwanpower()
3911 mutex_lock(&spic_dev.lock); in sony_pic_wwanpower_store()
3913 mutex_unlock(&spic_dev.lock); in sony_pic_wwanpower_store()
3922 mutex_lock(&spic_dev.lock); in sony_pic_wwanpower_show()
3923 count = snprintf(buffer, PAGE_SIZE, "%d\n", spic_dev.wwan_power); in sony_pic_wwanpower_show()
3924 mutex_unlock(&spic_dev.lock); in sony_pic_wwanpower_show()
3932 if (spic_dev.bluetooth_power == state) in __sony_pic_set_bluetoothpower()
3936 spic_dev.bluetooth_power = state; in __sony_pic_set_bluetoothpower()
3950 mutex_lock(&spic_dev.lock); in sony_pic_bluetoothpower_store()
3952 mutex_unlock(&spic_dev.lock); in sony_pic_bluetoothpower_store()
3961 mutex_lock(&spic_dev.lock); in sony_pic_bluetoothpower_show()
3962 count = snprintf(buffer, PAGE_SIZE, "%d\n", spic_dev.bluetooth_power); in sony_pic_bluetoothpower_show()
3963 mutex_unlock(&spic_dev.lock); in sony_pic_bluetoothpower_show()
4141 mutex_lock(&spic_dev.lock); in sonypi_misc_ioctl()
4218 val8 = spic_dev.bluetooth_power; in sonypi_misc_ioctl()
4258 mutex_unlock(&spic_dev.lock); in sonypi_misc_ioctl()
4452 sony_pic_read_possible_resource, &spic_dev); in sony_pic_possible_resources()
4518 if (spic_dev.model == SONYPI_DEVICE_TYPE1) { in sony_pic_enable()
4663 free_irq(spic_dev.cur_irq->irq.interrupts[0], &spic_dev); in sony_pic_remove()
4664 release_region(spic_dev.cur_ioport->io1.minimum, in sony_pic_remove()
4665 spic_dev.cur_ioport->io1.address_length); in sony_pic_remove()
4666 if (spic_dev.cur_ioport->io2.minimum) in sony_pic_remove()
4667 release_region(spic_dev.cur_ioport->io2.minimum, in sony_pic_remove()
4668 spic_dev.cur_ioport->io2.address_length); in sony_pic_remove()
4678 list_for_each_entry_safe(io, tmp_io, &spic_dev.ioports, list) { in sony_pic_remove()
4682 list_for_each_entry_safe(irq, tmp_irq, &spic_dev.interrupts, list) { in sony_pic_remove()
4686 spic_dev.cur_ioport = NULL; in sony_pic_remove()
4687 spic_dev.cur_irq = NULL; in sony_pic_remove()
4699 spic_dev.acpi_dev = device; in sony_pic_add()
4701 sony_pic_detect_device_type(&spic_dev); in sony_pic_add()
4702 mutex_init(&spic_dev.lock); in sony_pic_add()
4723 list_for_each_entry_reverse(io, &spic_dev.ioports, list) { in sony_pic_add()
4737 spic_dev.cur_ioport = io; in sony_pic_add()
4750 spic_dev.cur_ioport = io; in sony_pic_add()
4755 if (!spic_dev.cur_ioport) { in sony_pic_add()
4762 list_for_each_entry_reverse(irq, &spic_dev.interrupts, list) { in sony_pic_add()
4764 0, "sony-laptop", &spic_dev)) { in sony_pic_add()
4771 spic_dev.cur_irq = irq; in sony_pic_add()
4775 if (!spic_dev.cur_irq) { in sony_pic_add()
4782 result = sony_pic_enable(device, spic_dev.cur_ioport, spic_dev.cur_irq); in sony_pic_add()
4788 spic_dev.bluetooth_power = -1; in sony_pic_add()
4808 free_irq(spic_dev.cur_irq->irq.interrupts[0], &spic_dev); in sony_pic_add()
4811 release_region(spic_dev.cur_ioport->io1.minimum, in sony_pic_add()
4812 spic_dev.cur_ioport->io1.address_length); in sony_pic_add()
4813 if (spic_dev.cur_ioport->io2.minimum) in sony_pic_add()
4814 release_region(spic_dev.cur_ioport->io2.minimum, in sony_pic_add()
4815 spic_dev.cur_ioport->io2.address_length); in sony_pic_add()
4824 list_for_each_entry_safe(io, tmp_io, &spic_dev.ioports, list) { in sony_pic_add()
4828 list_for_each_entry_safe(irq, tmp_irq, &spic_dev.interrupts, list) { in sony_pic_add()
4832 spic_dev.cur_ioport = NULL; in sony_pic_add()
4833 spic_dev.cur_irq = NULL; in sony_pic_add()
4849 spic_dev.cur_ioport, spic_dev.cur_irq); in sony_pic_resume()