diff options
-rw-r--r-- | drivers/platform/x86/sony-laptop.c | 28 |
1 files changed, 6 insertions, 22 deletions
diff --git a/drivers/platform/x86/sony-laptop.c b/drivers/platform/x86/sony-laptop.c index e000c9f6cdf5..3e45c65b8f81 100644 --- a/drivers/platform/x86/sony-laptop.c +++ b/drivers/platform/x86/sony-laptop.c | |||
@@ -1423,7 +1423,6 @@ static struct acpi_driver sony_nc_driver = { | |||
1423 | #define SONYPI_TYPE1_OFFSET 0x04 | 1423 | #define SONYPI_TYPE1_OFFSET 0x04 |
1424 | #define SONYPI_TYPE2_OFFSET 0x12 | 1424 | #define SONYPI_TYPE2_OFFSET 0x12 |
1425 | #define SONYPI_TYPE3_OFFSET 0x12 | 1425 | #define SONYPI_TYPE3_OFFSET 0x12 |
1426 | #define SONYPI_TYPE4_OFFSET 0x12 | ||
1427 | 1426 | ||
1428 | struct sony_pic_ioport { | 1427 | struct sony_pic_ioport { |
1429 | struct acpi_resource_io io1; | 1428 | struct acpi_resource_io io1; |
@@ -1666,14 +1665,6 @@ static struct sonypi_eventtypes type3_events[] = { | |||
1666 | { 0x31, SONYPI_MEMORYSTICK_MASK, sonypi_memorystickev }, | 1665 | { 0x31, SONYPI_MEMORYSTICK_MASK, sonypi_memorystickev }, |
1667 | { 0x41, SONYPI_BATTERY_MASK, sonypi_batteryev }, | 1666 | { 0x41, SONYPI_BATTERY_MASK, sonypi_batteryev }, |
1668 | { 0x31, SONYPI_PKEY_MASK, sonypi_pkeyev }, | 1667 | { 0x31, SONYPI_PKEY_MASK, sonypi_pkeyev }, |
1669 | { 0 }, | ||
1670 | }; | ||
1671 | static struct sonypi_eventtypes type4_events[] = { | ||
1672 | { 0, 0xffffffff, sonypi_releaseev }, | ||
1673 | { 0x21, SONYPI_FNKEY_MASK, sonypi_fnkeyev }, | ||
1674 | { 0x31, SONYPI_WIRELESS_MASK, sonypi_wlessev }, | ||
1675 | { 0x31, SONYPI_MEMORYSTICK_MASK, sonypi_memorystickev }, | ||
1676 | { 0x41, SONYPI_BATTERY_MASK, sonypi_batteryev }, | ||
1677 | { 0x05, SONYPI_PKEY_MASK, sonypi_pkeyev }, | 1668 | { 0x05, SONYPI_PKEY_MASK, sonypi_pkeyev }, |
1678 | { 0x05, SONYPI_ZOOM_MASK, sonypi_zoomev }, | 1669 | { 0x05, SONYPI_ZOOM_MASK, sonypi_zoomev }, |
1679 | { 0x05, SONYPI_CAPTURE_MASK, sonypi_captureev }, | 1670 | { 0x05, SONYPI_CAPTURE_MASK, sonypi_captureev }, |
@@ -1739,11 +1730,11 @@ static u8 sony_pic_call3(u8 dev, u8 fn, u8 v) | |||
1739 | /* | 1730 | /* |
1740 | * minidrivers for SPIC models | 1731 | * minidrivers for SPIC models |
1741 | */ | 1732 | */ |
1742 | static int type4_handle_irq(const u8 data_mask, const u8 ev) | 1733 | static int type3_handle_irq(const u8 data_mask, const u8 ev) |
1743 | { | 1734 | { |
1744 | /* | 1735 | /* |
1745 | * 0x31 could mean we have to take some extra action and wait for | 1736 | * 0x31 could mean we have to take some extra action and wait for |
1746 | * the next irq for some Type4 models, it will generate a new | 1737 | * the next irq for some Type3 models, it will generate a new |
1747 | * irq and we can read new data from the device: | 1738 | * irq and we can read new data from the device: |
1748 | * - 0x5c and 0x5f requires 0xA0 | 1739 | * - 0x5c and 0x5f requires 0xA0 |
1749 | * - 0x61 requires 0xB3 | 1740 | * - 0x61 requires 0xB3 |
@@ -1773,16 +1764,10 @@ static struct device_ctrl spic_types[] = { | |||
1773 | }, | 1764 | }, |
1774 | { | 1765 | { |
1775 | .model = SONYPI_DEVICE_TYPE3, | 1766 | .model = SONYPI_DEVICE_TYPE3, |
1776 | .handle_irq = NULL, | 1767 | .handle_irq = type3_handle_irq, |
1777 | .evport_offset = SONYPI_TYPE3_OFFSET, | 1768 | .evport_offset = SONYPI_TYPE3_OFFSET, |
1778 | .event_types = type3_events, | 1769 | .event_types = type3_events, |
1779 | }, | 1770 | }, |
1780 | { | ||
1781 | .model = SONYPI_DEVICE_TYPE4, | ||
1782 | .handle_irq = type4_handle_irq, | ||
1783 | .evport_offset = SONYPI_TYPE4_OFFSET, | ||
1784 | .event_types = type4_events, | ||
1785 | }, | ||
1786 | }; | 1771 | }; |
1787 | 1772 | ||
1788 | static void sony_pic_detect_device_type(struct sony_pic_dev *dev) | 1773 | static void sony_pic_detect_device_type(struct sony_pic_dev *dev) |
@@ -1806,14 +1791,14 @@ static void sony_pic_detect_device_type(struct sony_pic_dev *dev) | |||
1806 | pcidev = pci_get_device(PCI_VENDOR_ID_INTEL, | 1791 | pcidev = pci_get_device(PCI_VENDOR_ID_INTEL, |
1807 | PCI_DEVICE_ID_INTEL_ICH7_1, NULL); | 1792 | PCI_DEVICE_ID_INTEL_ICH7_1, NULL); |
1808 | if (pcidev) { | 1793 | if (pcidev) { |
1809 | dev->control = &spic_types[3]; | 1794 | dev->control = &spic_types[2]; |
1810 | goto out; | 1795 | goto out; |
1811 | } | 1796 | } |
1812 | 1797 | ||
1813 | pcidev = pci_get_device(PCI_VENDOR_ID_INTEL, | 1798 | pcidev = pci_get_device(PCI_VENDOR_ID_INTEL, |
1814 | PCI_DEVICE_ID_INTEL_ICH8_4, NULL); | 1799 | PCI_DEVICE_ID_INTEL_ICH8_4, NULL); |
1815 | if (pcidev) { | 1800 | if (pcidev) { |
1816 | dev->control = &spic_types[3]; | 1801 | dev->control = &spic_types[2]; |
1817 | goto out; | 1802 | goto out; |
1818 | } | 1803 | } |
1819 | 1804 | ||
@@ -1826,8 +1811,7 @@ out: | |||
1826 | 1811 | ||
1827 | printk(KERN_INFO DRV_PFX "detected Type%d model\n", | 1812 | printk(KERN_INFO DRV_PFX "detected Type%d model\n", |
1828 | dev->control->model == SONYPI_DEVICE_TYPE1 ? 1 : | 1813 | dev->control->model == SONYPI_DEVICE_TYPE1 ? 1 : |
1829 | dev->control->model == SONYPI_DEVICE_TYPE2 ? 2 : | 1814 | dev->control->model == SONYPI_DEVICE_TYPE2 ? 2 : 3); |
1830 | dev->control->model == SONYPI_DEVICE_TYPE3 ? 3 : 4); | ||
1831 | } | 1815 | } |
1832 | 1816 | ||
1833 | /* camera tests and poweron/poweroff */ | 1817 | /* camera tests and poweron/poweroff */ |