platform-drivers-x86 MAINTAINERS and fixes for v3.17

toshiba_acpi: Re-enable hotkeys and cleanups
 ideapad-laptop: Revert touchpad disable, and cleanup static/const usage
 MAINTAINERS: Update platform-drivers-x86 maintainer and tree
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABAgAGBQJUB9HMAAoJEKbMaAwKp364ZMsH/iwz14qnEy8RJnKBvwN+Xny4
 LqWyP1BMj/lFMuunxS6x6xf9nhi1+RH85K4hesvyJqCM/hUSdPAbDvwrdOr2JZ8t
 X9UB/r8O5Gw8kEYGmc12uJ4A8C4yTr7oeZ/AqvpsOajbpCahtciLjQQJvi0pA19J
 Rsz8LMv9Q4ccfQw+6kvtOU0P0ZTKbzBddTnZ0eJ51JQcKyUXMpMlEUdxq44qcOL8
 kzWK90sn01weabW16hFjOhzhoZTOBc/IiuhWYM6s9TWc20WUfGM9L6vaMc966CuX
 Qnn20ZH76VliTqi8UiBBbCTBdH6b3Oxn7o5v9g4D1IISQE8XLoS3IqlLs+R4jjA=
 =nUTT
 -----END PGP SIGNATURE-----

Merge tag 'platform-drivers-x86-v3.17-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86

Pull x86 platform drivers fixes from Darren Hart:
 "This is my first pull request since taking on maintenance for the
  platform-drivers-x86 tree from Matthew Garrett.  These have passed my
  build testing and been run through Fengguang's LKP tests.  Due to
  timing this round, these have not spent any time in linux-next.  I
  have asked Stephen to include my for-next branch in linux-next going
  forward, once he's back from vacation.

  Details from tag:

   - toshiba_acpi: re-enable hotkeys and cleanups
   - ideapad-laptop: revert touchpad disable, and cleanup static/const
     usage
   - MAINTAINERS: update platform-drivers-x86 maintainer and tree"

* tag 'platform-drivers-x86-v3.17-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86:
  toshiba_acpi: fix and cleanup toshiba_kbd_bl_mode_store()
  platform/x86: toshiba: re-enable acpi hotkeys after suspend to disk
  ideapad-laptop: Constify DMI table for real!
  Revert "ideapad-laptop: Disable touchpad interface on Yoga models"
  MAINTAINERS: Update platform-drivers-x86 maintainer and tree
This commit is contained in:
Linus Torvalds 2014-09-04 09:37:51 -07:00
commit 0e03f98c46
3 changed files with 24 additions and 38 deletions

View File

@ -10070,9 +10070,9 @@ F: Documentation/x86/
F: arch/x86/
X86 PLATFORM DRIVERS
M: Matthew Garrett <matthew.garrett@nebula.com>
M: Darren Hart <dvhart@infradead.org>
L: platform-driver-x86@vger.kernel.org
T: git git://cavan.codon.org.uk/platform-drivers-x86.git
T: git git://git.infradead.org/users/dvhart/linux-platform-drivers-x86.git
S: Maintained
F: drivers/platform/x86/

View File

@ -88,7 +88,6 @@ struct ideapad_private {
struct dentry *debug;
unsigned long cfg;
bool has_hw_rfkill_switch;
bool has_touchpad_control;
};
static bool no_bt_rfkill;
@ -456,7 +455,7 @@ struct ideapad_rfk_data {
int type;
};
const const struct ideapad_rfk_data ideapad_rfk_data[] = {
static const struct ideapad_rfk_data ideapad_rfk_data[] = {
{ "ideapad_wlan", CFG_WIFI_BIT, VPCCMD_W_WIFI, RFKILL_TYPE_WLAN },
{ "ideapad_bluetooth", CFG_BT_BIT, VPCCMD_W_BT, RFKILL_TYPE_BLUETOOTH },
{ "ideapad_3g", CFG_3G_BIT, VPCCMD_W_3G, RFKILL_TYPE_WWAN },
@ -767,9 +766,6 @@ static void ideapad_sync_touchpad_state(struct ideapad_private *priv)
{
unsigned long value;
if (!priv->has_touchpad_control)
return;
/* Without reading from EC touchpad LED doesn't switch state */
if (!read_ec_data(priv->adev->handle, VPCCMD_R_TOUCHPAD, &value)) {
/* Some IdeaPads don't really turn off touchpad - they only
@ -833,29 +829,7 @@ static void ideapad_acpi_notify(acpi_handle handle, u32 event, void *data)
* always results in 0 on these models, causing ideapad_laptop to wrongly
* report all radios as hardware-blocked.
*/
static struct dmi_system_id no_hw_rfkill_list[] = {
{
.ident = "Lenovo Yoga 2 11 / 13 / Pro",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
DMI_MATCH(DMI_PRODUCT_VERSION, "Lenovo Yoga 2"),
},
},
{}
};
/*
* Some models don't offer touchpad ctrl through the ideapad interface, causing
* ideapad_sync_touchpad_state to send wrong touchpad enable/disable events.
*/
static struct dmi_system_id no_touchpad_ctrl_list[] = {
{
.ident = "Lenovo Yoga 1 series",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
DMI_MATCH(DMI_PRODUCT_VERSION, "Lenovo IdeaPad Yoga"),
},
},
static const struct dmi_system_id no_hw_rfkill_list[] = {
{
.ident = "Lenovo Yoga 2 11 / 13 / Pro",
.matches = {
@ -889,7 +863,6 @@ static int ideapad_acpi_add(struct platform_device *pdev)
priv->adev = adev;
priv->platform_device = pdev;
priv->has_hw_rfkill_switch = !dmi_check_system(no_hw_rfkill_list);
priv->has_touchpad_control = !dmi_check_system(no_touchpad_ctrl_list);
ret = ideapad_sysfs_init(priv);
if (ret)

View File

@ -1255,10 +1255,15 @@ static ssize_t toshiba_kbd_bl_mode_store(struct device *dev,
const char *buf, size_t count)
{
struct toshiba_acpi_dev *toshiba = dev_get_drvdata(dev);
int mode = -1;
int time = -1;
int mode;
int time;
int ret;
if (sscanf(buf, "%i", &mode) != 1 && (mode != 2 || mode != 1))
ret = kstrtoint(buf, 0, &mode);
if (ret)
return ret;
if (mode != SCI_KBD_MODE_FNZ && mode != SCI_KBD_MODE_AUTO)
return -EINVAL;
/* Set the Keyboard Backlight Mode where:
@ -1266,11 +1271,12 @@ static ssize_t toshiba_kbd_bl_mode_store(struct device *dev,
* Auto - KBD backlight turns off automatically in given time
* FN-Z - KBD backlight "toggles" when hotkey pressed
*/
if (mode != -1 && toshiba->kbd_mode != mode) {
if (toshiba->kbd_mode != mode) {
time = toshiba->kbd_time << HCI_MISC_SHIFT;
time = time + toshiba->kbd_mode;
if (toshiba_kbd_illum_status_set(toshiba, time) < 0)
return -EIO;
ret = toshiba_kbd_illum_status_set(toshiba, time);
if (ret)
return ret;
toshiba->kbd_mode = mode;
}
@ -1857,9 +1863,16 @@ static int toshiba_acpi_resume(struct device *device)
{
struct toshiba_acpi_dev *dev = acpi_driver_data(to_acpi_device(device));
u32 result;
acpi_status status;
if (dev->hotkey_dev) {
status = acpi_evaluate_object(dev->acpi_dev->handle, "ENAB",
NULL, NULL);
if (ACPI_FAILURE(status))
pr_info("Unable to re-enable hotkeys\n");
if (dev->hotkey_dev)
hci_write1(dev, HCI_HOTKEY_EVENT, HCI_HOTKEY_ENABLE, &result);
}
return 0;
}