diff mbox series

[v2] Input: synaptics - enable InterTouch for ThinkPad X1E/P1 2nd gen

Message ID 20200930112437.13705-1-Jason@zx2c4.com
State New
Headers show
Series [v2] Input: synaptics - enable InterTouch for ThinkPad X1E/P1 2nd gen | expand

Commit Message

Jason A. Donenfeld Sept. 30, 2020, 11:24 a.m. UTC
With the new RMI4 F3A support posted yesterday, this appears to maybe
work, but requires us to add support for the newer bootloader, which
this commit does.

Cc: Lyude Paul <lyude@redhat.com>
Cc: Vincent Huang <vincent.huang@tw.synaptics.com>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
---
 drivers/input/mouse/synaptics.c | 1 +
 drivers/input/rmi4/rmi_f34v7.c  | 7 +++++--
 2 files changed, 6 insertions(+), 2 deletions(-)

Comments

Lyude Paul Sept. 30, 2020, 4:05 p.m. UTC | #1
Maybe correct the comment in smbus_pnp_ids to reflect this handles both the X1
Extreme and P2 2nd Gen. Then I'd probably split the bootloader change into a
commit that comes before adding the new PnP IDs.

Otherwise though:

Acked-by: Lyude Paul <lyude@redhat.com>


Let's see what the folks from synaptics say

On Wed, 2020-09-30 at 13:24 +0200, Jason A. Donenfeld wrote:
> With the new RMI4 F3A support posted yesterday, this appears to maybe

> work, but requires us to add support for the newer bootloader, which

> this commit does.

> 

> Cc: Lyude Paul <lyude@redhat.com>

> Cc: Vincent Huang <vincent.huang@tw.synaptics.com>

> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>

> ---

>  drivers/input/mouse/synaptics.c | 1 +

>  drivers/input/rmi4/rmi_f34v7.c  | 7 +++++--

>  2 files changed, 6 insertions(+), 2 deletions(-)

> 

> diff --git a/drivers/input/mouse/synaptics.c

> b/drivers/input/mouse/synaptics.c

> index 8a54efd6eb95..9d6fec84047b 100644

> --- a/drivers/input/mouse/synaptics.c

> +++ b/drivers/input/mouse/synaptics.c

> @@ -180,6 +180,7 @@ static const char * const smbus_pnp_ids[] = {

>  	"LEN0096", /* X280 */

>  	"LEN0097", /* X280 -> ALPS trackpoint */

>  	"LEN0099", /* X1 Extreme 1st */

> +	"LEN0402", /* X1 Extreme 2nd */

>  	"LEN009b", /* T580 */

>  	"LEN200f", /* T450s */

>  	"LEN2044", /* L470  */

> diff --git a/drivers/input/rmi4/rmi_f34v7.c b/drivers/input/rmi4/rmi_f34v7.c

> index 74f7c6f214ff..8cfaa2f19ed5 100644

> --- a/drivers/input/rmi4/rmi_f34v7.c

> +++ b/drivers/input/rmi4/rmi_f34v7.c

> @@ -1364,9 +1364,12 @@ int rmi_f34v7_probe(struct f34_data *f34)

>  		f34->bl_version = 6;

>  	} else if (f34->bootloader_id[1] == 7) {

>  		f34->bl_version = 7;

> +	} else if (f34->bootloader_id[1] == 8) {

> +		f34->bl_version = 8;

>  	} else {

> -		dev_err(&f34->fn->dev, "%s: Unrecognized bootloader

> version\n",

> -				__func__);

> +		dev_err(&f34->fn->dev, "%s: Unrecognized bootloader version:

> %d (%c) %d (%c)\n",

> +				__func__, f34->bootloader_id[0], f34-

> >bootloader_id[0],

> +				f34->bootloader_id[1], f34->bootloader_id[1]);

>  		return -EINVAL;

>  	}

>  

-- 
Cheers,
	Lyude Paul (she/her)
	Software Engineer at Red Hat
diff mbox series

Patch

diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
index 8a54efd6eb95..9d6fec84047b 100644
--- a/drivers/input/mouse/synaptics.c
+++ b/drivers/input/mouse/synaptics.c
@@ -180,6 +180,7 @@  static const char * const smbus_pnp_ids[] = {
 	"LEN0096", /* X280 */
 	"LEN0097", /* X280 -> ALPS trackpoint */
 	"LEN0099", /* X1 Extreme 1st */
+	"LEN0402", /* X1 Extreme 2nd */
 	"LEN009b", /* T580 */
 	"LEN200f", /* T450s */
 	"LEN2044", /* L470  */
diff --git a/drivers/input/rmi4/rmi_f34v7.c b/drivers/input/rmi4/rmi_f34v7.c
index 74f7c6f214ff..8cfaa2f19ed5 100644
--- a/drivers/input/rmi4/rmi_f34v7.c
+++ b/drivers/input/rmi4/rmi_f34v7.c
@@ -1364,9 +1364,12 @@  int rmi_f34v7_probe(struct f34_data *f34)
 		f34->bl_version = 6;
 	} else if (f34->bootloader_id[1] == 7) {
 		f34->bl_version = 7;
+	} else if (f34->bootloader_id[1] == 8) {
+		f34->bl_version = 8;
 	} else {
-		dev_err(&f34->fn->dev, "%s: Unrecognized bootloader version\n",
-				__func__);
+		dev_err(&f34->fn->dev, "%s: Unrecognized bootloader version: %d (%c) %d (%c)\n",
+				__func__, f34->bootloader_id[0], f34->bootloader_id[0],
+				f34->bootloader_id[1], f34->bootloader_id[1]);
 		return -EINVAL;
 	}