mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-25 00:30:52 +07:00
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: tsc2007 - fix locking in hrtimer handler Input: atkbd - add force release keys quirk for Amilo Xi 3650 Input: ff-memless - fix signed to unsigned bit overflow Input: joydev - blacklist digitizers
This commit is contained in:
commit
3b4334e200
@ -226,7 +226,7 @@ static int get_compatible_type(struct ff_device *ff, int effect_type)
|
|||||||
*/
|
*/
|
||||||
static void ml_combine_effects(struct ff_effect *effect,
|
static void ml_combine_effects(struct ff_effect *effect,
|
||||||
struct ml_effect_state *state,
|
struct ml_effect_state *state,
|
||||||
int gain)
|
unsigned int gain)
|
||||||
{
|
{
|
||||||
struct ff_effect *new = state->effect;
|
struct ff_effect *new = state->effect;
|
||||||
unsigned int strong, weak, i;
|
unsigned int strong, weak, i;
|
||||||
|
@ -843,7 +843,13 @@ static const struct input_device_id joydev_blacklist[] = {
|
|||||||
INPUT_DEVICE_ID_MATCH_KEYBIT,
|
INPUT_DEVICE_ID_MATCH_KEYBIT,
|
||||||
.evbit = { BIT_MASK(EV_KEY) },
|
.evbit = { BIT_MASK(EV_KEY) },
|
||||||
.keybit = { [BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH) },
|
.keybit = { [BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH) },
|
||||||
}, /* Avoid itouchpads, touchscreens and tablets */
|
}, /* Avoid itouchpads and touchscreens */
|
||||||
|
{
|
||||||
|
.flags = INPUT_DEVICE_ID_MATCH_EVBIT |
|
||||||
|
INPUT_DEVICE_ID_MATCH_KEYBIT,
|
||||||
|
.evbit = { BIT_MASK(EV_KEY) },
|
||||||
|
.keybit = { [BIT_WORD(BTN_DIGI)] = BIT_MASK(BTN_DIGI) },
|
||||||
|
}, /* Avoid tablets, digitisers and similar devices */
|
||||||
{ } /* Terminating entry */
|
{ } /* Terminating entry */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -894,6 +894,13 @@ static unsigned int atkbd_amilo_pa1510_forced_release_keys[] = {
|
|||||||
0xb0, 0xae, -1U
|
0xb0, 0xae, -1U
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Amilo Xi 3650 key release for light touch bar not working
|
||||||
|
*/
|
||||||
|
static unsigned int atkbd_amilo_xi3650_forced_release_keys[] = {
|
||||||
|
0x67, 0xed, 0x90, 0xa2, 0x99, 0xa4, 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
|
||||||
@ -1560,6 +1567,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 Xi 3650",
|
||||||
|
.matches = {
|
||||||
|
DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"),
|
||||||
|
DMI_MATCH(DMI_PRODUCT_NAME, "AMILO Xi 3650"),
|
||||||
|
},
|
||||||
|
.callback = atkbd_setup_forced_release,
|
||||||
|
.driver_data = atkbd_amilo_xi3650_forced_release_keys,
|
||||||
|
},
|
||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -200,8 +200,9 @@ static int tsc2007_read_values(struct tsc2007 *tsc)
|
|||||||
static enum hrtimer_restart tsc2007_timer(struct hrtimer *handle)
|
static enum hrtimer_restart tsc2007_timer(struct hrtimer *handle)
|
||||||
{
|
{
|
||||||
struct tsc2007 *ts = container_of(handle, struct tsc2007, timer);
|
struct tsc2007 *ts = container_of(handle, struct tsc2007, timer);
|
||||||
|
unsigned long flags;
|
||||||
|
|
||||||
spin_lock_irq(&ts->lock);
|
spin_lock_irqsave(&ts->lock, flags);
|
||||||
|
|
||||||
if (unlikely(!ts->get_pendown_state() && ts->pendown)) {
|
if (unlikely(!ts->get_pendown_state() && ts->pendown)) {
|
||||||
struct input_dev *input = ts->input;
|
struct input_dev *input = ts->input;
|
||||||
@ -222,7 +223,7 @@ static enum hrtimer_restart tsc2007_timer(struct hrtimer *handle)
|
|||||||
tsc2007_send_event(ts);
|
tsc2007_send_event(ts);
|
||||||
}
|
}
|
||||||
|
|
||||||
spin_unlock_irq(&ts->lock);
|
spin_unlock_irqrestore(&ts->lock, flags);
|
||||||
|
|
||||||
return HRTIMER_NORESTART;
|
return HRTIMER_NORESTART;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user