Re: Patch "Input: synaptics - gate forcepad support by DMI check" has been added to the 3.17-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi stable kernel team!
According to Greg there is a patch pending for fixing an issue in the
synaptics driver (see below for details).

Yes, please include this patch into the next stable kernel release!

Me and quite a number of other users are suffering from the problem this
patch does address and the problems are over and over reported  and
discussed e.g. on the linux-input and x.org list (and others maybe too).

Thank you!

Cheers
  nicole


Am 10.11.2014 um 03:15 schrieb gregkh@xxxxxxxxxxxxxxxxxxx:
> 
> This is a note to let you know that I've just added the patch titled
> 
>     Input: synaptics - gate forcepad support by DMI check
> 
> to the 3.17-stable tree which can be found at:
>     http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
> 
> The filename of the patch is:
>      input-synaptics-gate-forcepad-support-by-dmi-check.patch
> and it can be found in the queue-3.17 subdirectory.
> 
> If you, or anyone else, feels it should not be added to the stable tree,
> please let <stable@xxxxxxxxxxxxxxx> know about it.
> 
> 
> From aa972409951e0675e07918620427517cad5090e0 Mon Sep 17 00:00:00 2001
> From: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
> Date: Tue, 2 Sep 2014 09:49:18 -0700
> Subject: Input: synaptics - gate forcepad support by DMI check
> 
> From: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
> 
> commit aa972409951e0675e07918620427517cad5090e0 upstream.
> 
> Unfortunately, ForcePad capability is not actually exported over PS/2, so
> we have to resort to DMI checks.
> 
> Reported-by: Nicole Faerber <nicole.faerber@xxxxxxxxxxxxxxxxx>
> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> 
> ---
>  drivers/input/mouse/synaptics.c |   22 +++++++++++++++++++++-
>  drivers/input/mouse/synaptics.h |    8 ++------
>  2 files changed, 23 insertions(+), 7 deletions(-)
> 
> --- a/drivers/input/mouse/synaptics.c
> +++ b/drivers/input/mouse/synaptics.c
> @@ -618,6 +618,8 @@ static void synaptics_parse_agm(const un
>  	priv->agm_pending = true;
>  }
>  
> +static bool is_forcepad;
> +
>  static int synaptics_parse_hw_state(const unsigned char buf[],
>  				    struct synaptics_data *priv,
>  				    struct synaptics_hw_state *hw)
> @@ -647,7 +649,7 @@ static int synaptics_parse_hw_state(cons
>  		hw->left  = (buf[0] & 0x01) ? 1 : 0;
>  		hw->right = (buf[0] & 0x02) ? 1 : 0;
>  
> -		if (SYN_CAP_FORCEPAD(priv->ext_cap_0c)) {
> +		if (is_forcepad) {
>  			/*
>  			 * ForcePads, like Clickpads, use middle button
>  			 * bits to report primary button clicks.
> @@ -1678,11 +1680,29 @@ static const struct dmi_system_id __init
>  	{ }
>  };
>  
> +static const struct dmi_system_id forcepad_dmi_table[] __initconst = {
> +#if defined(CONFIG_DMI) && defined(CONFIG_X86)
> +	{
> +		.matches = {
> +			DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
> +			DMI_MATCH(DMI_PRODUCT_NAME, "HP EliteBook Folio 1040 G1"),
> +		},
> +	},
> +#endif
> +	{ }
> +};
> +
>  void __init synaptics_module_init(void)
>  {
>  	impaired_toshiba_kbc = dmi_check_system(toshiba_dmi_table);
>  	broken_olpc_ec = dmi_check_system(olpc_dmi_table);
>  	cr48_profile_sensor = dmi_check_system(cr48_dmi_table);
> +
> +	/*
> +	 * Unfortunately ForcePad capability is not exported over PS/2,
> +	 * so we have to resort to checking DMI.
> +	 */
> +	is_forcepad = dmi_check_system(forcepad_dmi_table);
>  }
>  
>  static int __synaptics_init(struct psmouse *psmouse, bool absolute_mode)
> --- a/drivers/input/mouse/synaptics.h
> +++ b/drivers/input/mouse/synaptics.h
> @@ -77,12 +77,9 @@
>   *					for noise.
>   * 2	0x08	image sensor		image sensor tracks 5 fingers, but only
>   *					reports 2.
> + * 2	0x01	uniform clickpad	whole clickpad moves instead of being
> + *					hinged at the top.
>   * 2	0x20	report min		query 0x0f gives min coord reported
> - * 2	0x80	forcepad		forcepad is a variant of clickpad that
> - *					does not have physical buttons but rather
> - *					uses pressure above certain threshold to
> - *					report primary clicks. Forcepads also have
> - *					clickpad bit set.
>   */
>  #define SYN_CAP_CLICKPAD(ex0c)		((ex0c) & 0x100000) /* 1-button ClickPad */
>  #define SYN_CAP_CLICKPAD2BTN(ex0c)	((ex0c) & 0x000100) /* 2-button ClickPad */
> @@ -91,7 +88,6 @@
>  #define SYN_CAP_ADV_GESTURE(ex0c)	((ex0c) & 0x080000)
>  #define SYN_CAP_REDUCED_FILTERING(ex0c)	((ex0c) & 0x000400)
>  #define SYN_CAP_IMAGE_SENSOR(ex0c)	((ex0c) & 0x000800)
> -#define SYN_CAP_FORCEPAD(ex0c)		((ex0c) & 0x008000)
>  
>  /* synaptics modes query bits */
>  #define SYN_MODE_ABSOLUTE(m)		((m) & (1 << 7))
> 
> 
> Patches currently in stable-queue which might be from dmitry.torokhov@xxxxxxxxx are
> 
> queue-3.17/input-i8042-quirks-for-fujitsu-lifebook-a544-and-lifebook-ah544.patch
> queue-3.17/input-alps-fix-v4-button-press-recognition.patch
> queue-3.17/input-i8042-add-noloop-quirk-for-asus-x750ln.patch
> queue-3.17/input-synaptics-gate-forcepad-support-by-dmi-check.patch
> 



-- 
kernel concepts GmbH
Sieghuetter Hauptweg 48
D-57072 Siegen
http://www.kernelconcepts.de/
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]