Commit 71c4c8b7 authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
  Input: atkbd - add force relese key quirk for Soltech TA12
  Input: fix EVIOCGNAME/JSIOCGNAME regression
  Input: atkbd - add forced release keys quirk for FSC Amilo Pi 3525
  Input: pcspkr - switch driver to dev_pm_ops
  Input: xpad - don't resend successfully sent outgoing requests
  Input: wistron_btns - recognize Maxdata Pro 7000 notebooks
parents 3730793d 032e46cb
...@@ -608,8 +608,7 @@ static long evdev_do_ioctl(struct file *file, unsigned int cmd, ...@@ -608,8 +608,7 @@ static long evdev_do_ioctl(struct file *file, unsigned int cmd,
p, compat_mode); p, compat_mode);
if (_IOC_NR(cmd) == _IOC_NR(EVIOCGNAME(0))) if (_IOC_NR(cmd) == _IOC_NR(EVIOCGNAME(0)))
return str_to_user(dev_name(&evdev->dev), return str_to_user(dev->name, _IOC_SIZE(cmd), p);
_IOC_SIZE(cmd), p);
if (_IOC_NR(cmd) == _IOC_NR(EVIOCGPHYS(0))) if (_IOC_NR(cmd) == _IOC_NR(EVIOCGPHYS(0)))
return str_to_user(dev->phys, _IOC_SIZE(cmd), p); return str_to_user(dev->phys, _IOC_SIZE(cmd), p);
......
...@@ -536,7 +536,7 @@ static int joydev_ioctl_common(struct joydev *joydev, ...@@ -536,7 +536,7 @@ static int joydev_ioctl_common(struct joydev *joydev,
default: default:
if ((cmd & ~IOCSIZE_MASK) == JSIOCGNAME(0)) { if ((cmd & ~IOCSIZE_MASK) == JSIOCGNAME(0)) {
int len; int len;
const char *name = dev_name(&dev->dev); const char *name = dev->name;
if (!name) if (!name)
return 0; return 0;
......
...@@ -470,20 +470,20 @@ static void xpad_irq_out(struct urb *urb) ...@@ -470,20 +470,20 @@ static void xpad_irq_out(struct urb *urb)
status = urb->status; status = urb->status;
switch (status) { switch (status) {
case 0: case 0:
/* success */ /* success */
break; return;
case -ECONNRESET:
case -ENOENT: case -ECONNRESET:
case -ESHUTDOWN: case -ENOENT:
/* this urb is terminated, clean up */ case -ESHUTDOWN:
dbg("%s - urb shutting down with status: %d", /* this urb is terminated, clean up */
__func__, status); dbg("%s - urb shutting down with status: %d", __func__, status);
return; return;
default:
dbg("%s - nonzero urb status received: %d", default:
__func__, status); dbg("%s - nonzero urb status received: %d", __func__, status);
goto exit; goto exit;
} }
exit: exit:
......
...@@ -894,6 +894,13 @@ static unsigned int atkbd_amilo_pa1510_forced_release_keys[] = { ...@@ -894,6 +894,13 @@ static unsigned int atkbd_amilo_pa1510_forced_release_keys[] = {
0xb0, 0xae, -1U 0xb0, 0xae, -1U
}; };
/*
* Amilo Pi 3525 key release for Fn+Volume keys not working
*/
static unsigned int atkbd_amilo_pi3525_forced_release_keys[] = {
0x20, 0xa0, 0x2e, 0xae, 0x30, 0xb0, -1U
};
/* /*
* Amilo Xi 3650 key release for light touch bar not working * Amilo Xi 3650 key release for light touch bar not working
*/ */
...@@ -901,6 +908,13 @@ static unsigned int atkbd_amilo_xi3650_forced_release_keys[] = { ...@@ -901,6 +908,13 @@ static unsigned int atkbd_amilo_xi3650_forced_release_keys[] = {
0x67, 0xed, 0x90, 0xa2, 0x99, 0xa4, 0xae, 0xb0, -1U 0x67, 0xed, 0x90, 0xa2, 0x99, 0xa4, 0xae, 0xb0, -1U
}; };
/*
* Soltech TA12 system with broken key release on volume keys and mute key
*/
static unsigned int atkdb_soltech_ta12_forced_release_keys[] = {
0xa0, 0xae, 0xb0, -1U
};
/* /*
* atkbd_set_keycode_table() initializes keyboard's keycode table * atkbd_set_keycode_table() initializes keyboard's keycode table
* according to the selected scancode set * according to the selected scancode set
...@@ -1567,6 +1581,15 @@ static struct dmi_system_id atkbd_dmi_quirk_table[] __initdata = { ...@@ -1567,6 +1581,15 @@ static struct dmi_system_id atkbd_dmi_quirk_table[] __initdata = {
.callback = atkbd_setup_forced_release, .callback = atkbd_setup_forced_release,
.driver_data = atkbd_amilo_pa1510_forced_release_keys, .driver_data = atkbd_amilo_pa1510_forced_release_keys,
}, },
{
.ident = "Fujitsu Amilo Pi 3525",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"),
DMI_MATCH(DMI_PRODUCT_NAME, "AMILO Pi 3525"),
},
.callback = atkbd_setup_forced_release,
.driver_data = atkbd_amilo_pi3525_forced_release_keys,
},
{ {
.ident = "Fujitsu Amilo Xi 3650", .ident = "Fujitsu Amilo Xi 3650",
.matches = { .matches = {
...@@ -1576,6 +1599,15 @@ static struct dmi_system_id atkbd_dmi_quirk_table[] __initdata = { ...@@ -1576,6 +1599,15 @@ static struct dmi_system_id atkbd_dmi_quirk_table[] __initdata = {
.callback = atkbd_setup_forced_release, .callback = atkbd_setup_forced_release,
.driver_data = atkbd_amilo_xi3650_forced_release_keys, .driver_data = atkbd_amilo_xi3650_forced_release_keys,
}, },
{
.ident = "Soltech Corporation TA12",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Soltech Corporation"),
DMI_MATCH(DMI_PRODUCT_NAME, "TA12"),
},
.callback = atkbd_setup_forced_release,
.driver_data = atkdb_soltech_ta12_forced_release_keys,
},
{ } { }
}; };
......
...@@ -114,7 +114,7 @@ static int __devexit pcspkr_remove(struct platform_device *dev) ...@@ -114,7 +114,7 @@ static int __devexit pcspkr_remove(struct platform_device *dev)
return 0; return 0;
} }
static int pcspkr_suspend(struct platform_device *dev, pm_message_t state) static int pcspkr_suspend(struct device *dev)
{ {
pcspkr_event(NULL, EV_SND, SND_BELL, 0); pcspkr_event(NULL, EV_SND, SND_BELL, 0);
...@@ -127,14 +127,18 @@ static void pcspkr_shutdown(struct platform_device *dev) ...@@ -127,14 +127,18 @@ static void pcspkr_shutdown(struct platform_device *dev)
pcspkr_event(NULL, EV_SND, SND_BELL, 0); pcspkr_event(NULL, EV_SND, SND_BELL, 0);
} }
static struct dev_pm_ops pcspkr_pm_ops = {
.suspend = pcspkr_suspend,
};
static struct platform_driver pcspkr_platform_driver = { static struct platform_driver pcspkr_platform_driver = {
.driver = { .driver = {
.name = "pcspkr", .name = "pcspkr",
.owner = THIS_MODULE, .owner = THIS_MODULE,
.pm = &pcspkr_pm_ops,
}, },
.probe = pcspkr_probe, .probe = pcspkr_probe,
.remove = __devexit_p(pcspkr_remove), .remove = __devexit_p(pcspkr_remove),
.suspend = pcspkr_suspend,
.shutdown = pcspkr_shutdown, .shutdown = pcspkr_shutdown,
}; };
......
...@@ -644,6 +644,15 @@ static struct dmi_system_id dmi_ids[] __initdata = { ...@@ -644,6 +644,15 @@ static struct dmi_system_id dmi_ids[] __initdata = {
}, },
.driver_data = keymap_fs_amilo_pro_v2000 .driver_data = keymap_fs_amilo_pro_v2000
}, },
{
.callback = dmi_matched,
.ident = "Maxdata Pro 7000 DX",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "MAXDATA"),
DMI_MATCH(DMI_PRODUCT_NAME, "Pro 7000"),
},
.driver_data = keymap_fs_amilo_pro_v2000
},
{ {
.callback = dmi_matched, .callback = dmi_matched,
.ident = "Fujitsu N3510", .ident = "Fujitsu N3510",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment