diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-06-01 19:51:37 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-06-01 19:51:37 -0400 |
| commit | 48445159e9ecb44a96a4de06c6ae7c54eb43ba5b (patch) | |
| tree | 992657156c63746d6d43c3b6f7386227a0df34a4 | |
| parent | af4f8ba31a4e328677bec493ceeaf112ca193b65 (diff) | |
| parent | a2f01a899347fd97cb18094e5a55640cab552818 (diff) | |
Merge branch 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86
Pull x86 platform driver updates from Matthew Garrett:
"Some significant improvements for the Sony driver on newer machines,
but other than that mostly just minor fixes and a patch to remove the
broken rfkill code from the Dell driver."
* 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86: (35 commits)
apple-gmux: Fix up the suspend/resume patch
dell-laptop: Remove rfkill code
toshiba_acpi: Fix mis-merge
dell-laptop: Add touchpad led support for Dell V3450
acer-wmi: add 3 laptops to video backlight vendor mode quirk table
sony-laptop: add touchpad enable/disable function
sony-laptop: add missing Fn key combos for 0x100 handlers
sony-laptop: add support for more WWAN modems
sony-laptop: new keyboard backlight handle
sony-laptop: add high speed battery charging function
sony-laptop: support automatic resume on lid open
sony-laptop: adjust error handling in finding SNC handles
sony-laptop: add thermal profiles support
sony-laptop: support battery care functions
sony-laptop: additional debug statements
sony-laptop: improve SNC initialization and acpi notify callback code
sony-laptop: use kstrtoul to parse sysfs values
sony-laptop: generalise ACPI calls into SNC functions
sony-laptop: fix return path when no ACPI buffer is allocated
sony-laptop: use soft rfkill status stored in hw
...
| -rw-r--r-- | drivers/platform/x86/acer-wmi.c | 24 | ||||
| -rw-r--r-- | drivers/platform/x86/apple-gmux.c | 4 | ||||
| -rw-r--r-- | drivers/platform/x86/dell-laptop.c | 308 | ||||
| -rw-r--r-- | drivers/platform/x86/fujitsu-tablet.c | 34 | ||||
| -rw-r--r-- | drivers/platform/x86/hdaps.c | 2 | ||||
| -rw-r--r-- | drivers/platform/x86/hp-wmi.c | 10 | ||||
| -rw-r--r-- | drivers/platform/x86/ideapad-laptop.c | 9 | ||||
| -rw-r--r-- | drivers/platform/x86/sony-laptop.c | 1498 | ||||
| -rw-r--r-- | drivers/platform/x86/thinkpad_acpi.c | 2 | ||||
| -rw-r--r-- | drivers/platform/x86/toshiba_acpi.c | 141 | ||||
| -rw-r--r-- | drivers/platform/x86/xo1-rfkill.c | 13 |
11 files changed, 1416 insertions, 629 deletions
diff --git a/drivers/platform/x86/acer-wmi.c b/drivers/platform/x86/acer-wmi.c index c1a3fd8e1243..ce875dc365e5 100644 --- a/drivers/platform/x86/acer-wmi.c +++ b/drivers/platform/x86/acer-wmi.c | |||
| @@ -523,6 +523,30 @@ static const struct dmi_system_id video_vendor_dmi_table[] = { | |||
| 523 | DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 4750"), | 523 | DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 4750"), |
| 524 | }, | 524 | }, |
| 525 | }, | 525 | }, |
| 526 | { | ||
| 527 | .callback = video_set_backlight_video_vendor, | ||
| 528 | .ident = "Acer Extensa 5235", | ||
| 529 | .matches = { | ||
| 530 | DMI_MATCH(DMI_BOARD_VENDOR, "Acer"), | ||
| 531 | DMI_MATCH(DMI_PRODUCT_NAME, "Extensa 5235"), | ||
| 532 | }, | ||
| 533 | }, | ||
| 534 | { | ||
| 535 | .callback = video_set_backlight_video_vendor, | ||
| 536 | .ident = "Acer TravelMate 5760", | ||
| 537 | .matches = { | ||
| 538 | DMI_MATCH(DMI_BOARD_VENDOR, "Acer"), | ||
| 539 | DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 5760"), | ||
| 540 | }, | ||
| 541 | }, | ||
| 542 | { | ||
| 543 | .callback = video_set_backlight_video_vendor, | ||
| 544 | .ident = "Acer Aspire 5750", | ||
| 545 | .matches = { | ||
| 546 | DMI_MATCH(DMI_BOARD_VENDOR, "Acer"), | ||
| 547 | DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5750"), | ||
| 548 | }, | ||
| 549 | }, | ||
| 526 | {} | 550 | {} |
| 527 | }; | 551 | }; |
| 528 | 552 | ||
diff --git a/drivers/platform/x86/apple-gmux.c b/drivers/platform/x86/apple-gmux.c index 8a582bdfdc76..694a15a56230 100644 --- a/drivers/platform/x86/apple-gmux.c +++ b/drivers/platform/x86/apple-gmux.c | |||
| @@ -87,6 +87,9 @@ static int gmux_update_status(struct backlight_device *bd) | |||
| 87 | struct apple_gmux_data *gmux_data = bl_get_data(bd); | 87 | struct apple_gmux_data *gmux_data = bl_get_data(bd); |
| 88 | u32 brightness = bd->props.brightness; | 88 | u32 brightness = bd->props.brightness; |
| 89 | 89 | ||
| 90 | if (bd->props.state & BL_CORE_SUSPENDED) | ||
| 91 | return 0; | ||
| 92 | |||
| 90 | /* | 93 | /* |
| 91 | * Older gmux versions require writing out lower bytes first then | 94 | * Older gmux versions require writing out lower bytes first then |
| 92 | * setting the upper byte to 0 to flush the values. Newer versions | 95 | * setting the upper byte to 0 to flush the values. Newer versions |
| @@ -102,6 +105,7 @@ static int gmux_update_status(struct backlight_device *bd) | |||
| 102 | } | 105 | } |
| 103 | 106 | ||
| 104 | static const struct backlight_ops gmux_bl_ops = { | 107 | static const struct backlight_ops gmux_bl_ops = { |
| 108 | .options = BL_CORE_SUSPENDRESUME, | ||
| 105 | .get_brightness = gmux_get_brightness, | 109 | .get_brightness = gmux_get_brightness, |
| 106 | .update_status = gmux_update_status, | 110 | .update_status = gmux_update_status, |
| 107 | }; | 111 | }; |
diff --git a/drivers/platform/x86/dell-laptop.c b/drivers/platform/x86/dell-laptop.c index e6c08ee8d46c..5f78aac9b163 100644 --- a/drivers/platform/x86/dell-laptop.c +++ b/drivers/platform/x86/dell-laptop.c | |||
| @@ -21,7 +21,6 @@ | |||
| 21 | #include <linux/err.h> | 21 | #include <linux/err.h> |
| 22 | #include <linux/dmi.h> | 22 | #include <linux/dmi.h> |
| 23 | #include <linux/io.h> | 23 | #include <linux/io.h> |
| 24 | #include <linux/rfkill.h> | ||
| 25 | #include <linux/power_supply.h> | 24 | #include <linux/power_supply.h> |
| 26 | #include <linux/acpi.h> | 25 | #include <linux/acpi.h> |
| 27 | #include <linux/mm.h> | 26 | #include <linux/mm.h> |
| @@ -90,11 +89,8 @@ static struct platform_driver platform_driver = { | |||
| 90 | 89 | ||
| 91 | static struct platform_device *platform_device; | 90 | static struct platform_device *platform_device; |
| 92 | static struct backlight_device *dell_backlight_device; | 91 | static struct backlight_device *dell_backlight_device; |
| 93 | static struct rfkill *wifi_rfkill; | ||
| 94 | static struct rfkill *bluetooth_rfkill; | ||
| 95 | static struct rfkill *wwan_rfkill; | ||
| 96 | 92 | ||
| 97 | static const struct dmi_system_id __initdata dell_device_table[] = { | 93 | static const struct dmi_system_id dell_device_table[] __initconst = { |
| 98 | { | 94 | { |
| 99 | .ident = "Dell laptop", | 95 | .ident = "Dell laptop", |
| 100 | .matches = { | 96 | .matches = { |
| @@ -119,96 +115,94 @@ static const struct dmi_system_id __initdata dell_device_table[] = { | |||
| 119 | }; | 115 | }; |
| 120 | MODULE_DEVICE_TABLE(dmi, dell_device_table); | 116 | MODULE_DEVICE_TABLE(dmi, dell_device_table); |
| 121 | 117 | ||
| 122 | static struct dmi_system_id __devinitdata dell_blacklist[] = { | 118 | static struct dmi_system_id __devinitdata dell_quirks[] = { |
| 123 | /* Supported by compal-laptop */ | ||
| 124 | { | ||
| 125 | .ident = "Dell Mini 9", | ||
| 126 | .matches = { | ||
| 127 | DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), | ||
| 128 | DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 910"), | ||
| 129 | }, | ||
| 130 | }, | ||
| 131 | { | 119 | { |
| 132 | .ident = "Dell Mini 10", | 120 | .callback = dmi_matched, |
| 121 | .ident = "Dell Vostro V130", | ||
| 133 | .matches = { | 122 | .matches = { |
| 134 | DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), | 123 | DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), |
| 135 | DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1010"), | 124 | DMI_MATCH(DMI_PRODUCT_NAME, "Vostro V130"), |
| 136 | }, | 125 | }, |
| 126 | .driver_data = &quirk_dell_vostro_v130, | ||
| 137 | }, | 127 | }, |
| 138 | { | 128 | { |
| 139 | .ident = "Dell Mini 10v", | 129 | .callback = dmi_matched, |
| 130 | .ident = "Dell Vostro V131", | ||
| 140 | .matches = { | 131 | .matches = { |
| 141 | DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), | 132 | DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), |
| 142 | DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1011"), | 133 | DMI_MATCH(DMI_PRODUCT_NAME, "Vostro V131"), |
| 143 | }, | 134 | }, |
| 135 | .driver_data = &quirk_dell_vostro_v130, | ||
| 144 | }, | 136 | }, |
| 145 | { | 137 | { |
| 146 | .ident = "Dell Mini 1012", | 138 | .callback = dmi_matched, |
| 139 | .ident = "Dell Vostro 3350", | ||
| 147 | .matches = { | 140 | .matches = { |
| 148 | DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), | 141 | DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), |
| 149 | DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1012"), | 142 | DMI_MATCH(DMI_PRODUCT_NAME, "Vostro 3350"), |
| 150 | }, | 143 | }, |
| 144 | .driver_data = &quirk_dell_vostro_v130, | ||
| 151 | }, | 145 | }, |
| 152 | { | 146 | { |
| 153 | .ident = "Dell Inspiron 11z", | 147 | .callback = dmi_matched, |
| 148 | .ident = "Dell Vostro 3555", | ||
| 154 | .matches = { | 149 | .matches = { |
| 155 | DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), | 150 | DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), |
| 156 | DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1110"), | 151 | DMI_MATCH(DMI_PRODUCT_NAME, "Vostro 3555"), |
| 157 | }, | 152 | }, |
| 153 | .driver_data = &quirk_dell_vostro_v130, | ||
| 158 | }, | 154 | }, |
| 159 | { | 155 | { |
| 160 | .ident = "Dell Mini 12", | 156 | .callback = dmi_matched, |
| 157 | .ident = "Dell Inspiron N311z", | ||
| 161 | .matches = { | 158 | .matches = { |
| 162 | DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), | 159 | DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), |
| 163 | DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1210"), | 160 | DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron |
