History

Merge branch 'for-linus' into next

Sync up with 'for-linus' branch to resolve conflict in Elan touchpad driver.

Dmitry Torokhov committed 6 years ago

Commit a5c33d52 parents 9b031c8 a50ca299 files · +32 −11Browse files

Unified · Split

9 files
  1. arch/arm/boot/dts/omap3-n900.dts +8 −4
  2. drivers/input/joystick/Kconfig +1 −0
  3. drivers/input/mouse/elan_i2c_core.c +5 −4
  4. drivers/input/mouse/synaptics.c +1 −0
  5. drivers/input/serio/i8042-x86ia64io.h +7 −0
  6. drivers/input/touchscreen/elants_i2c.c +0 −1
  7. include/linux/input/elan-i2c-ids.h +7 −0
  8. include/linux/mod_devicetable.h +1 −1
  9. include/uapi/linux/input-event-codes.h +2 −1
arch/arm/boot/dts/omap3-n900.dts+8−4
@@ -105,6 +105,14 @@ · 104 unmodified lines
105105 linux,code = <SW_FRONT_PROXIMITY>;
106106 linux,can-disable;
107107 };
108+
109+ machine_cover {
110+ label = "Machine Cover";
111+ gpios = <&gpio6 0 GPIO_ACTIVE_LOW>; /* 160 */
112+ linux,input-type = <EV_SW>;
113+ linux,code = <SW_MACHINE_COVER>;
114+ linux,can-disable;
115+ };
108116 };
109117
110118 isp1707: isp1707 {
@@ -819,10 +827,6 @@ · 708 unmodified lines
819827 pinctrl-0 = <&mmc1_pins>;
820828 vmmc-supply = <&vmmc1>;
821829 bus-width = <4>;
822− /* For debugging, it is often good idea to remove this GPIO.
823− It means you can remove back cover (to reboot by removing
824− battery) and still use the MMC card. */
825− cd-gpios = <&gpio6 0 GPIO_ACTIVE_LOW>; /* 160 */
826830 };
827831
828832 /* most boards use vaux3, only some old versions use vmmc2 instead */
drivers/input/joystick/Kconfig+1−0
@@ -45,6 +45,7 @@ config JOYSTICK_A3D · 44 unmodified lines
4545 config JOYSTICK_ADI
4646 tristate "Logitech ADI digital joysticks and gamepads"
4747 select GAMEPORT
48+ depends on ADI!=m # avoid module name conflict
4849 help
4950 Say Y here if you have a Logitech controller using the ADI
5051 protocol over the PC gameport.
drivers/input/mouse/elan_i2c_core.c+5−4
@@ -997,6 +997,8 @@ static void elan_report_absolute(struct elan_tp_data *data, u8 *packet, · 996 unmodified lines
997997 u8 hover_info = packet[ETP_HOVER_INFO_OFFSET];
998998 bool contact_valid, hover_event;
999999
1000+ pm_wakeup_event(&data->client->dev, 0);
1001+
10001002 hover_event = hover_info & BIT(6);
10011003
10021004 for (i = 0; i < ETP_MAX_FINGERS; i++) {
@@ -1021,6 +1023,8 @@ static void elan_report_trackpoint(struct elan_tp_data *data, u8 *report) · 18 unmodified lines
10211023 u8 *packet = &report[ETP_REPORT_ID_OFFSET + 1];
10221024 int x, y;
10231025
1026+ pm_wakeup_event(&data->client->dev, 0);
1027+
10241028 if (!data->tp_input) {
10251029 dev_warn_once(&data->client->dev,
10261030 "received a trackpoint report while no trackpoint device has been created. Please report upstream.\n");
@@ -1045,7 +1049,6 @@ static void elan_report_trackpoint(struct elan_tp_data *data, u8 *report) · 18 unmodified lines
10451049 static irqreturn_t elan_isr(int irq, void *dev_id)
10461050 {
10471051 struct elan_tp_data *data = dev_id;
1048− struct device *dev = &data->client->dev;
10491052 int error;
10501053 u8 report[ETP_MAX_REPORT_LEN];
10511054
@@ -1063,8 +1066,6 @@ static irqreturn_t elan_isr(int irq, void *dev_id) · 11 unmodified lines
10631066 if (error)
10641067 goto out;
10651068
1066− pm_wakeup_event(dev, 0);
1067−
10681069 switch (report[ETP_REPORT_ID_OFFSET]) {
10691070 case ETP_REPORT_ID:
10701071 elan_report_absolute(data, report, false);
@@ -1076,7 +1077,7 @@ static irqreturn_t elan_isr(int irq, void *dev_id) · 5 unmodified lines
10761077 elan_report_trackpoint(data, report);
10771078 break;
10781079 default:
1079− dev_err(dev, "invalid report id data (%x)\n",
1080+ dev_err(&data->client->dev, "invalid report id data (%x)\n",
10801081 report[ETP_REPORT_ID_OFFSET]);
10811082 }
10821083
drivers/input/mouse/synaptics.c+1−0
@@ -179,6 +179,7 @@ static const char * const smbus_pnp_ids[] = { · 178 unmodified lines
179179 "LEN0093", /* T480 */
180180 "LEN0096", /* X280 */
181181 "LEN0097", /* X280 -> ALPS trackpoint */
182+ "LEN0099", /* X1 Extreme 1st */
182183 "LEN009b", /* T580 */
183184 "LEN200f", /* T450s */
184185 "LEN2044", /* L470 */
drivers/input/serio/i8042-x86ia64io.h+7−0
@@ -425,6 +425,13 @@ static const struct dmi_system_id __initconst i8042_dmi_nomux_table[] = { · 424 unmodified lines
425425 DMI_MATCH(DMI_PRODUCT_NAME, "076804U"),
426426 },
427427 },
428+ {
429+ /* Lenovo XiaoXin Air 12 */
430+ .matches = {
431+ DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
432+ DMI_MATCH(DMI_PRODUCT_NAME, "80UN"),
433+ },
434+ },
428435 {
429436 .matches = {
430437 DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
drivers/input/touchscreen/elants_i2c.c+0−1
@@ -1325,7 +1325,6 @@ static int elants_i2c_probe(struct i2c_client *client, · 1324 unmodified lines
13251325 0, MT_TOOL_PALM, 0, 0);
13261326 input_abs_set_res(ts->input, ABS_MT_POSITION_X, ts->x_res);
13271327 input_abs_set_res(ts->input, ABS_MT_POSITION_Y, ts->y_res);
1328− input_abs_set_res(ts->input, ABS_MT_TOUCH_MAJOR, 1);
13291328
13301329 touchscreen_parse_properties(ts->input, true, &ts->prop);
13311330
include/linux/input/elan-i2c-ids.h+7−0
@@ -67,8 +67,15 @@ static const struct acpi_device_id elan_acpi_id[] = { · 66 unmodified lines
6767 { "ELAN062B", 0 },
6868 { "ELAN062C", 0 },
6969 { "ELAN062D", 0 },
70+ { "ELAN062E", 0 }, /* Lenovo V340 Whiskey Lake U */
71+ { "ELAN062F", 0 }, /* Lenovo V340 Comet Lake U */
7072 { "ELAN0631", 0 },
7173 { "ELAN0632", 0 },
74+ { "ELAN0633", 0 }, /* Lenovo S145 */
75+ { "ELAN0634", 0 }, /* Lenovo V340 Ice lake */
76+ { "ELAN0635", 0 }, /* Lenovo V1415-IIL */
77+ { "ELAN0636", 0 }, /* Lenovo V1415-Dali */
78+ { "ELAN0637", 0 }, /* Lenovo V1415-IGLR */
7279 { "ELAN1000", 0 },
7380 { }
7481 };
include/linux/mod_devicetable.h+1−1
@@ -318,7 +318,7 @@ struct pcmcia_device_id { · 317 unmodified lines
318318 #define INPUT_DEVICE_ID_LED_MAX 0x0f
319319 #define INPUT_DEVICE_ID_SND_MAX 0x07
320320 #define INPUT_DEVICE_ID_FF_MAX 0x7f
321−#define INPUT_DEVICE_ID_SW_MAX 0x0f
321+#define INPUT_DEVICE_ID_SW_MAX 0x10
322322 #define INPUT_DEVICE_ID_PROP_MAX 0x1f
323323
324324 #define INPUT_DEVICE_ID_MATCH_BUS 1
include/uapi/linux/input-event-codes.h+2−1
@@ -888,7 +888,8 @@ · 887 unmodified lines
888888 #define SW_LINEIN_INSERT 0x0d /* set = inserted */
889889 #define SW_MUTE_DEVICE 0x0e /* set = device disabled */
890890 #define SW_PEN_INSERTED 0x0f /* set = pen inserted */
891−#define SW_MAX 0x0f
891+#define SW_MACHINE_COVER 0x10 /* set = cover closed */
892+#define SW_MAX 0x10
892893 #define SW_CNT (SW_MAX+1)
893894
894895 /*