Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branch 'next' into for-linus

Prepare input updates for 6.10 merge window.

+328 -168
+12 -4
Documentation/devicetree/bindings/input/qcom,pm8xxx-vib.yaml
··· 11 11 12 12 properties: 13 13 compatible: 14 - enum: 15 - - qcom,pm8058-vib 16 - - qcom,pm8916-vib 17 - - qcom,pm8921-vib 14 + oneOf: 15 + - enum: 16 + - qcom,pm8058-vib 17 + - qcom,pm8916-vib 18 + - qcom,pm8921-vib 19 + - qcom,pmi632-vib 20 + - items: 21 + - enum: 22 + - qcom,pm7250b-vib 23 + - qcom,pm7325b-vib 24 + - qcom,pm7550ba-vib 25 + - const: qcom,pmi632-vib 18 26 19 27 reg: 20 28 maxItems: 1
+2
Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.yaml
··· 39 39 - edt,edt-ft5406 40 40 - edt,edt-ft5506 41 41 - evervision,ev-ft5726 42 + - focaltech,ft5452 42 43 - focaltech,ft6236 44 + - focaltech,ft8719 43 45 44 46 reg: 45 47 maxItems: 1
+4 -3
drivers/input/ff-core.c
··· 9 9 /* #define DEBUG */ 10 10 11 11 #include <linux/input.h> 12 + #include <linux/limits.h> 12 13 #include <linux/module.h> 13 14 #include <linux/mutex.h> 15 + #include <linux/overflow.h> 14 16 #include <linux/sched.h> 15 17 #include <linux/slab.h> 16 18 ··· 317 315 return -EINVAL; 318 316 } 319 317 320 - ff_dev_size = sizeof(struct ff_device) + 321 - max_effects * sizeof(struct file *); 322 - if (ff_dev_size < max_effects) /* overflow */ 318 + ff_dev_size = struct_size(ff, effect_owners, max_effects); 319 + if (ff_dev_size == SIZE_MAX) /* overflow */ 323 320 return -EINVAL; 324 321 325 322 ff = kzalloc(ff_dev_size, GFP_KERNEL);
+89 -15
drivers/input/input.c
··· 1378 1378 char name, const unsigned long *bm, 1379 1379 unsigned int min_bit, unsigned int max_bit) 1380 1380 { 1381 - int len = 0, i; 1381 + int bit = min_bit; 1382 + int len = 0; 1382 1383 1383 1384 len += snprintf(buf, max(size, 0), "%c", name); 1384 - for (i = min_bit; i < max_bit; i++) 1385 - if (bm[BIT_WORD(i)] & BIT_MASK(i)) 1386 - len += snprintf(buf + len, max(size - len, 0), "%X,", i); 1385 + for_each_set_bit_from(bit, bm, max_bit) 1386 + len += snprintf(buf + len, max(size - len, 0), "%X,", bit); 1387 1387 return len; 1388 1388 } 1389 1389 1390 - static int input_print_modalias(char *buf, int size, const struct input_dev *id, 1391 - int add_cr) 1390 + static int input_print_modalias_parts(char *buf, int size, int full_len, 1391 + const struct input_dev *id) 1392 1392 { 1393 - int len; 1393 + int len, klen, remainder, space; 1394 1394 1395 1395 len = snprintf(buf, max(size, 0), 1396 1396 "input:b%04Xv%04Xp%04Xe%04X-", ··· 1399 1399 1400 1400 len += input_print_modalias_bits(buf + len, size - len, 1401 1401 'e', id->evbit, 0, EV_MAX); 1402 - len += input_print_modalias_bits(buf + len, size - len, 1402 + 1403 + /* 1404 + * Calculate the remaining space in the buffer making sure we 1405 + * have place for the terminating 0. 1406 + */ 1407 + space = max(size - (len + 1), 0); 1408 + 1409 + klen = input_print_modalias_bits(buf + len, size - len, 1403 1410 'k', id->keybit, KEY_MIN_INTERESTING, KEY_MAX); 1411 + len += klen; 1412 + 1413 + /* 1414 + * If we have more data than we can fit in the buffer, check 1415 + * if we can trim key data to fit in the rest. We will indicate 1416 + * that key data is incomplete by adding "+" sign at the end, like 1417 + * this: * "k1,2,3,45,+,". 1418 + * 1419 + * Note that we shortest key info (if present) is "k+," so we 1420 + * can only try to trim if key data is longer than that. 1421 + */ 1422 + if (full_len && size < full_len + 1 && klen > 3) { 1423 + remainder = full_len - len; 1424 + /* 1425 + * We can only trim if we have space for the remainder 1426 + * and also for at least "k+," which is 3 more characters. 1427 + */ 1428 + if (remainder <= space - 3) { 1429 + /* 1430 + * We are guaranteed to have 'k' in the buffer, so 1431 + * we need at least 3 additional bytes for storing 1432 + * "+," in addition to the remainder. 1433 + */ 1434 + for (int i = size - 1 - remainder - 3; i >= 0; i--) { 1435 + if (buf[i] == 'k' || buf[i] == ',') { 1436 + strcpy(buf + i + 1, "+,"); 1437 + len = i + 3; /* Not counting '\0' */ 1438 + break; 1439 + } 1440 + } 1441 + } 1442 + } 1443 + 1404 1444 len += input_print_modalias_bits(buf + len, size - len, 1405 1445 'r', id->relbit, 0, REL_MAX); 1406 1446 len += input_print_modalias_bits(buf + len, size - len, ··· 1456 1416 len += input_print_modalias_bits(buf + len, size - len, 1457 1417 'w', id->swbit, 0, SW_MAX); 1458 1418 1459 - if (add_cr) 1460 - len += snprintf(buf + len, max(size - len, 0), "\n"); 1461 - 1462 1419 return len; 1420 + } 1421 + 1422 + static int input_print_modalias(char *buf, int size, const struct input_dev *id) 1423 + { 1424 + int full_len; 1425 + 1426 + /* 1427 + * Printing is done in 2 passes: first one figures out total length 1428 + * needed for the modalias string, second one will try to trim key 1429 + * data in case when buffer is too small for the entire modalias. 1430 + * If the buffer is too small regardless, it will fill as much as it 1431 + * can (without trimming key data) into the buffer and leave it to 1432 + * the caller to figure out what to do with the result. 1433 + */ 1434 + full_len = input_print_modalias_parts(NULL, 0, 0, id); 1435 + return input_print_modalias_parts(buf, size, full_len, id); 1463 1436 } 1464 1437 1465 1438 static ssize_t input_dev_show_modalias(struct device *dev, ··· 1482 1429 struct input_dev *id = to_input_dev(dev); 1483 1430 ssize_t len; 1484 1431 1485 - len = input_print_modalias(buf, PAGE_SIZE, id, 1); 1432 + len = input_print_modalias(buf, PAGE_SIZE, id); 1433 + if (len < PAGE_SIZE - 2) 1434 + len += snprintf(buf + len, PAGE_SIZE - len, "\n"); 1486 1435 1487 1436 return min_t(int, len, PAGE_SIZE); 1488 1437 } ··· 1696 1641 return 0; 1697 1642 } 1698 1643 1644 + /* 1645 + * This is a pretty gross hack. When building uevent data the driver core 1646 + * may try adding more environment variables to kobj_uevent_env without 1647 + * telling us, so we have no idea how much of the buffer we can use to 1648 + * avoid overflows/-ENOMEM elsewhere. To work around this let's artificially 1649 + * reduce amount of memory we will use for the modalias environment variable. 1650 + * 1651 + * The potential additions are: 1652 + * 1653 + * SEQNUM=18446744073709551615 - (%llu - 28 bytes) 1654 + * HOME=/ (6 bytes) 1655 + * PATH=/sbin:/bin:/usr/sbin:/usr/bin (34 bytes) 1656 + * 1657 + * 68 bytes total. Allow extra buffer - 96 bytes 1658 + */ 1659 + #define UEVENT_ENV_EXTRA_LEN 96 1660 + 1699 1661 static int input_add_uevent_modalias_var(struct kobj_uevent_env *env, 1700 1662 const struct input_dev *dev) 1701 1663 { ··· 1722 1650 return -ENOMEM; 1723 1651 1724 1652 len = input_print_modalias(&env->buf[env->buflen - 1], 1725 - sizeof(env->buf) - env->buflen, 1726 - dev, 0); 1727 - if (len >= (sizeof(env->buf) - env->buflen)) 1653 + (int)sizeof(env->buf) - env->buflen - 1654 + UEVENT_ENV_EXTRA_LEN, 1655 + dev); 1656 + if (len >= ((int)sizeof(env->buf) - env->buflen - 1657 + UEVENT_ENV_EXTRA_LEN)) 1728 1658 return -ENOMEM; 1729 1659 1730 1660 env->buflen += len;
+18 -3
drivers/input/joystick/adafruit-seesaw.c
··· 56 56 #define SEESAW_GAMEPAD_POLL_MIN 8 57 57 #define SEESAW_GAMEPAD_POLL_MAX 32 58 58 59 - static const unsigned long SEESAW_BUTTON_MASK = 59 + static const u32 SEESAW_BUTTON_MASK = 60 60 BIT(SEESAW_BUTTON_A) | BIT(SEESAW_BUTTON_B) | BIT(SEESAW_BUTTON_X) | 61 61 BIT(SEESAW_BUTTON_Y) | BIT(SEESAW_BUTTON_START) | 62 62 BIT(SEESAW_BUTTON_SELECT); ··· 64 64 struct seesaw_gamepad { 65 65 struct input_dev *input_dev; 66 66 struct i2c_client *i2c_client; 67 + u32 button_state; 67 68 }; 68 69 69 70 struct seesaw_data { ··· 179 178 return 0; 180 179 } 181 180 181 + static int seesaw_open(struct input_dev *input) 182 + { 183 + struct seesaw_gamepad *private = input_get_drvdata(input); 184 + 185 + private->button_state = 0; 186 + 187 + return 0; 188 + } 189 + 182 190 static void seesaw_poll(struct input_dev *input) 183 191 { 184 192 struct seesaw_gamepad *private = input_get_drvdata(input); 185 193 struct seesaw_data data; 194 + unsigned long changed; 186 195 int err, i; 187 196 188 197 err = seesaw_read_data(private->i2c_client, &data); ··· 205 194 input_report_abs(input, ABS_X, data.x); 206 195 input_report_abs(input, ABS_Y, data.y); 207 196 208 - for_each_set_bit(i, &SEESAW_BUTTON_MASK, 209 - BITS_PER_TYPE(SEESAW_BUTTON_MASK)) { 197 + data.button_state &= SEESAW_BUTTON_MASK; 198 + changed = private->button_state ^ data.button_state; 199 + private->button_state = data.button_state; 200 + 201 + for_each_set_bit(i, &changed, fls(SEESAW_BUTTON_MASK)) { 210 202 if (!sparse_keymap_report_event(input, i, 211 203 data.button_state & BIT(i), 212 204 false)) ··· 267 253 seesaw->input_dev->id.bustype = BUS_I2C; 268 254 seesaw->input_dev->name = "Adafruit Seesaw Gamepad"; 269 255 seesaw->input_dev->phys = "i2c/" SEESAW_DEVICE_NAME; 256 + seesaw->input_dev->open = seesaw_open; 270 257 input_set_drvdata(seesaw->input_dev, seesaw); 271 258 input_set_abs_params(seesaw->input_dev, ABS_X, 272 259 0, SEESAW_JOYSTICK_MAX_AXIS,
+1 -1
drivers/input/joystick/as5011.c
··· 337 337 } 338 338 339 339 static const struct i2c_device_id as5011_id[] = { 340 - { MODULE_DEVICE_ALIAS, 0 }, 340 + { MODULE_DEVICE_ALIAS }, 341 341 { } 342 342 }; 343 343 MODULE_DEVICE_TABLE(i2c, as5011_id);
+2 -2
drivers/input/joystick/qwiic-joystick.c
··· 126 126 #endif /* CONFIG_OF */ 127 127 128 128 static const struct i2c_device_id qwiic_id_table[] = { 129 - { KBUILD_MODNAME, 0 }, 130 - { }, 129 + { KBUILD_MODNAME }, 130 + { } 131 131 }; 132 132 MODULE_DEVICE_TABLE(i2c, qwiic_id_table); 133 133
+2
drivers/input/joystick/xpad.c
··· 342 342 { 0x20d6, 0x2001, "BDA Xbox Series X Wired Controller", 0, XTYPE_XBOXONE }, 343 343 { 0x20d6, 0x2009, "PowerA Enhanced Wired Controller for Xbox Series X|S", 0, XTYPE_XBOXONE }, 344 344 { 0x20d6, 0x281f, "PowerA Wired Controller For Xbox 360", 0, XTYPE_XBOX360 }, 345 + { 0x2345, 0xe00b, "Machenike G5 Pro Controller", 0, XTYPE_XBOX360 }, 345 346 { 0x24c6, 0x5000, "Razer Atrox Arcade Stick", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOX360 }, 346 347 { 0x24c6, 0x5300, "PowerA MINI PROEX Controller", 0, XTYPE_XBOX360 }, 347 348 { 0x24c6, 0x5303, "Xbox Airflo wired controller", 0, XTYPE_XBOX360 }, ··· 513 512 XPAD_XBOX360_VENDOR(0x1bad), /* Harmonix Rock Band guitar and drums */ 514 513 XPAD_XBOX360_VENDOR(0x20d6), /* PowerA controllers */ 515 514 XPAD_XBOXONE_VENDOR(0x20d6), /* PowerA controllers */ 515 + XPAD_XBOX360_VENDOR(0x2345), /* Machenike Controllers */ 516 516 XPAD_XBOX360_VENDOR(0x24c6), /* PowerA controllers */ 517 517 XPAD_XBOXONE_VENDOR(0x24c6), /* PowerA controllers */ 518 518 XPAD_XBOX360_VENDOR(0x2563), /* OneXPlayer Gamepad */
+2 -2
drivers/input/keyboard/adp5588-keys.c
··· 832 832 static DEFINE_SIMPLE_DEV_PM_OPS(adp5588_dev_pm_ops, adp5588_suspend, adp5588_resume); 833 833 834 834 static const struct i2c_device_id adp5588_id[] = { 835 - { "adp5588-keys", 0 }, 836 - { "adp5587-keys", 0 }, 835 + { "adp5588-keys" }, 836 + { "adp5587-keys" }, 837 837 { } 838 838 }; 839 839 MODULE_DEVICE_TABLE(i2c, adp5588_id);
-2
drivers/input/keyboard/cros_ec_keyb.c
··· 35 35 * @rows: Number of rows in the keypad 36 36 * @cols: Number of columns in the keypad 37 37 * @row_shift: log2 or number of rows, rounded up 38 - * @keymap_data: Matrix keymap data used to convert to keyscan values 39 38 * @ghost_filter: true to enable the matrix key-ghosting filter 40 39 * @valid_keys: bitmap of existing keys for each matrix column 41 40 * @old_kb_state: bitmap of keys pressed last scan ··· 49 50 unsigned int rows; 50 51 unsigned int cols; 51 52 int row_shift; 52 - const struct matrix_keymap_data *keymap_data; 53 53 bool ghost_filter; 54 54 uint8_t *valid_keys; 55 55 uint8_t *old_kb_state;
+1 -1
drivers/input/keyboard/cypress-sf.c
··· 209 209 cypress_sf_suspend, cypress_sf_resume); 210 210 211 211 static struct i2c_device_id cypress_sf_id_table[] = { 212 - { CYPRESS_SF_DEV_NAME, 0 }, 212 + { CYPRESS_SF_DEV_NAME }, 213 213 { } 214 214 }; 215 215 MODULE_DEVICE_TABLE(i2c, cypress_sf_id_table);
+1 -1
drivers/input/keyboard/lm8323.c
··· 792 792 static DEFINE_SIMPLE_DEV_PM_OPS(lm8323_pm_ops, lm8323_suspend, lm8323_resume); 793 793 794 794 static const struct i2c_device_id lm8323_id[] = { 795 - { "lm8323", 0 }, 795 + { "lm8323" }, 796 796 { } 797 797 }; 798 798
+1 -1
drivers/input/keyboard/lm8333.c
··· 194 194 } 195 195 196 196 static const struct i2c_device_id lm8333_id[] = { 197 - { "lm8333", 0 }, 197 + { "lm8333" }, 198 198 { } 199 199 }; 200 200 MODULE_DEVICE_TABLE(i2c, lm8333_id);
+1 -2
drivers/input/keyboard/lpc32xx-keys.c
··· 57 57 struct input_dev *input; 58 58 struct clk *clk; 59 59 void __iomem *kscan_base; 60 - unsigned int irq; 61 60 62 61 u32 matrix_sz; /* Size of matrix in XxY, ie. 3 = 3x3 */ 63 62 u32 deb_clks; /* Debounce clocks (based on 32KHz clock) */ 64 63 u32 scan_delay; /* Scan delay (based on 32KHz clock) */ 65 64 66 - unsigned short *keymap; /* Pointer to key map for the scan matrix */ 67 65 unsigned int row_shift; 66 + unsigned short *keymap; /* Pointer to key map for the scan matrix */ 68 67 69 68 u8 lastkeystates[8]; 70 69 };
-1
drivers/input/keyboard/matrix_keypad.c
··· 37 37 spinlock_t lock; 38 38 bool scan_pending; 39 39 bool stopped; 40 - bool gpio_all_disabled; 41 40 }; 42 41 43 42 /*
+1 -1
drivers/input/keyboard/max7359_keypad.c
··· 270 270 static DEFINE_SIMPLE_DEV_PM_OPS(max7359_pm, max7359_suspend, max7359_resume); 271 271 272 272 static const struct i2c_device_id max7359_ids[] = { 273 - { "max7359", 0 }, 273 + { "max7359" }, 274 274 { } 275 275 }; 276 276 MODULE_DEVICE_TABLE(i2c, max7359_ids);
+1 -1
drivers/input/keyboard/mpr121_touchkey.c
··· 369 369 static DEFINE_SIMPLE_DEV_PM_OPS(mpr121_touchkey_pm_ops, mpr_suspend, mpr_resume); 370 370 371 371 static const struct i2c_device_id mpr121_id[] = { 372 - { "mpr121_touchkey", 0 }, 372 + { "mpr121_touchkey" }, 373 373 { } 374 374 }; 375 375 MODULE_DEVICE_TABLE(i2c, mpr121_id);
+2 -2
drivers/input/keyboard/qt1070.c
··· 234 234 static DEFINE_SIMPLE_DEV_PM_OPS(qt1070_pm_ops, qt1070_suspend, qt1070_resume); 235 235 236 236 static const struct i2c_device_id qt1070_id[] = { 237 - { "qt1070", 0 }, 238 - { }, 237 + { "qt1070" }, 238 + { } 239 239 }; 240 240 MODULE_DEVICE_TABLE(i2c, qt1070_id); 241 241
+1 -1
drivers/input/keyboard/qt2160.c
··· 393 393 } 394 394 395 395 static const struct i2c_device_id qt2160_idtable[] = { 396 - { "qt2160", 0, }, 396 + { "qt2160" }, 397 397 { } 398 398 }; 399 399
-1
drivers/input/keyboard/stmpe-keypad.c
··· 413 413 414 414 static struct platform_driver stmpe_keypad_driver = { 415 415 .driver.name = "stmpe-keypad", 416 - .driver.owner = THIS_MODULE, 417 416 .probe = stmpe_keypad_probe, 418 417 .remove_new = stmpe_keypad_remove, 419 418 };
-6
drivers/input/keyboard/tca6416-keypad.c
··· 32 32 }; 33 33 MODULE_DEVICE_TABLE(i2c, tca6416_id); 34 34 35 - struct tca6416_drv_data { 36 - struct input_dev *input; 37 - struct tca6416_button data[]; 38 - }; 39 - 40 35 struct tca6416_keypad_chip { 41 36 uint16_t reg_output; 42 37 uint16_t reg_direction; ··· 40 45 struct i2c_client *client; 41 46 struct input_dev *input; 42 47 int io_size; 43 - int irqnum; 44 48 u16 pinmask; 45 49 bool use_polling; 46 50 struct tca6416_button buttons[];
+2 -2
drivers/input/keyboard/tm2-touchkey.c
··· 326 326 tm2_touchkey_suspend, tm2_touchkey_resume); 327 327 328 328 static const struct i2c_device_id tm2_touchkey_id_table[] = { 329 - { TM2_TOUCHKEY_DEV_NAME, 0 }, 330 - { }, 329 + { TM2_TOUCHKEY_DEV_NAME }, 330 + { } 331 331 }; 332 332 MODULE_DEVICE_TABLE(i2c, tm2_touchkey_id_table); 333 333
+5 -5
drivers/input/misc/ad714x-i2c.c
··· 72 72 } 73 73 74 74 static const struct i2c_device_id ad714x_id[] = { 75 - { "ad7142_captouch", 0 }, 76 - { "ad7143_captouch", 0 }, 77 - { "ad7147_captouch", 0 }, 78 - { "ad7147a_captouch", 0 }, 79 - { "ad7148_captouch", 0 }, 75 + { "ad7142_captouch" }, 76 + { "ad7143_captouch" }, 77 + { "ad7147_captouch" }, 78 + { "ad7147a_captouch" }, 79 + { "ad7148_captouch" }, 80 80 { } 81 81 }; 82 82 MODULE_DEVICE_TABLE(i2c, ad714x_id);
+1 -1
drivers/input/misc/adxl34x-i2c.c
··· 106 106 } 107 107 108 108 static const struct i2c_device_id adxl34x_id[] = { 109 - { "adxl34x", 0 }, 109 + { "adxl34x" }, 110 110 { } 111 111 }; 112 112
+1 -1
drivers/input/misc/apanel.c
··· 192 192 } 193 193 194 194 static const struct i2c_device_id apanel_id[] = { 195 - { "fujitsu_apanel", 0 }, 195 + { "fujitsu_apanel" }, 196 196 { } 197 197 }; 198 198 MODULE_DEVICE_TABLE(i2c, apanel_id);
+1 -1
drivers/input/misc/atmel_captouch.c
··· 257 257 MODULE_DEVICE_TABLE(of, atmel_captouch_of_id); 258 258 259 259 static const struct i2c_device_id atmel_captouch_id[] = { 260 - { "atmel_captouch", 0 }, 260 + { "atmel_captouch" }, 261 261 { } 262 262 }; 263 263 MODULE_DEVICE_TABLE(i2c, atmel_captouch_id);
+3 -3
drivers/input/misc/bma150.c
··· 536 536 static UNIVERSAL_DEV_PM_OPS(bma150_pm, bma150_suspend, bma150_resume, NULL); 537 537 538 538 static const struct i2c_device_id bma150_id[] = { 539 - { "bma150", 0 }, 540 - { "smb380", 0 }, 541 - { "bma023", 0 }, 539 + { "bma150" }, 540 + { "smb380" }, 541 + { "bma023" }, 542 542 { } 543 543 }; 544 544
+2 -2
drivers/input/misc/cma3000_d0x_i2c.c
··· 90 90 }; 91 91 92 92 static const struct i2c_device_id cma3000_i2c_id[] = { 93 - { "cma3000_d01", 0 }, 94 - { }, 93 + { "cma3000_d01" }, 94 + { } 95 95 }; 96 96 97 97 MODULE_DEVICE_TABLE(i2c, cma3000_i2c_id);
-1
drivers/input/misc/da7280.c
··· 230 230 struct i2c_client *client; 231 231 struct pwm_device *pwm_dev; 232 232 233 - bool legacy; 234 233 struct work_struct work; 235 234 int val; 236 235 u16 gain;
+1 -1
drivers/input/misc/drv260x.c
··· 600 600 static DEFINE_SIMPLE_DEV_PM_OPS(drv260x_pm_ops, drv260x_suspend, drv260x_resume); 601 601 602 602 static const struct i2c_device_id drv260x_id[] = { 603 - { "drv2605l", 0 }, 603 + { "drv2605l" }, 604 604 { } 605 605 }; 606 606 MODULE_DEVICE_TABLE(i2c, drv260x_id);
+1 -1
drivers/input/misc/drv2665.c
··· 283 283 static DEFINE_SIMPLE_DEV_PM_OPS(drv2665_pm_ops, drv2665_suspend, drv2665_resume); 284 284 285 285 static const struct i2c_device_id drv2665_id[] = { 286 - { "drv2665", 0 }, 286 + { "drv2665" }, 287 287 { } 288 288 }; 289 289 MODULE_DEVICE_TABLE(i2c, drv2665_id);
+1 -1
drivers/input/misc/drv2667.c
··· 460 460 static DEFINE_SIMPLE_DEV_PM_OPS(drv2667_pm_ops, drv2667_suspend, drv2667_resume); 461 461 462 462 static const struct i2c_device_id drv2667_id[] = { 463 - { "drv2667", 0 }, 463 + { "drv2667" }, 464 464 { } 465 465 }; 466 466 MODULE_DEVICE_TABLE(i2c, drv2667_id);
+2 -2
drivers/input/misc/ims-pcu.c
··· 42 42 #define IMS_PCU_PART_NUMBER_LEN 15 43 43 #define IMS_PCU_SERIAL_NUMBER_LEN 8 44 44 #define IMS_PCU_DOM_LEN 8 45 - #define IMS_PCU_FW_VERSION_LEN (9 + 1) 46 - #define IMS_PCU_BL_VERSION_LEN (9 + 1) 45 + #define IMS_PCU_FW_VERSION_LEN 16 46 + #define IMS_PCU_BL_VERSION_LEN 16 47 47 #define IMS_PCU_BL_RESET_REASON_LEN (2 + 1) 48 48 49 49 #define IMS_PCU_PCU_B_DEVICE_ID 5
+2 -2
drivers/input/misc/kxtj9.c
··· 531 531 static DEFINE_SIMPLE_DEV_PM_OPS(kxtj9_pm_ops, kxtj9_suspend, kxtj9_resume); 532 532 533 533 static const struct i2c_device_id kxtj9_id[] = { 534 - { NAME, 0 }, 535 - { }, 534 + { NAME }, 535 + { } 536 536 }; 537 537 538 538 MODULE_DEVICE_TABLE(i2c, kxtj9_id);
+2 -2
drivers/input/misc/mma8450.c
··· 186 186 } 187 187 188 188 static const struct i2c_device_id mma8450_id[] = { 189 - { MMA8450_DRV_NAME, 0 }, 190 - { }, 189 + { MMA8450_DRV_NAME }, 190 + { } 191 191 }; 192 192 MODULE_DEVICE_TABLE(i2c, mma8450_id); 193 193
+1 -1
drivers/input/misc/pcf8574_keypad.c
··· 189 189 pcf8574_kp_suspend, pcf8574_kp_resume); 190 190 191 191 static const struct i2c_device_id pcf8574_kp_id[] = { 192 - { DRV_NAME, 0 }, 192 + { DRV_NAME }, 193 193 { } 194 194 }; 195 195 MODULE_DEVICE_TABLE(i2c, pcf8574_kp_id);
+68 -24
drivers/input/misc/pm8xxx-vibrator.c
··· 11 11 #include <linux/regmap.h> 12 12 #include <linux/slab.h> 13 13 14 - #define VIB_MAX_LEVEL_mV (3100) 15 - #define VIB_MIN_LEVEL_mV (1200) 16 - #define VIB_MAX_LEVELS (VIB_MAX_LEVEL_mV - VIB_MIN_LEVEL_mV) 14 + #define VIB_MAX_LEVEL_mV(vib) (vib->drv2_addr ? 3544 : 3100) 15 + #define VIB_MIN_LEVEL_mV(vib) (vib->drv2_addr ? 1504 : 1200) 16 + #define VIB_PER_STEP_mV(vib) (vib->drv2_addr ? 8 : 100) 17 + #define VIB_MAX_LEVELS(vib) \ 18 + (VIB_MAX_LEVEL_mV(vib) - VIB_MIN_LEVEL_mV(vib) + VIB_PER_STEP_mV(vib)) 17 19 18 20 #define MAX_FF_SPEED 0xff 19 21 20 22 struct pm8xxx_regs { 21 - unsigned int enable_addr; 23 + unsigned int enable_offset; 22 24 unsigned int enable_mask; 23 25 24 - unsigned int drv_addr; 26 + unsigned int drv_offset; 25 27 unsigned int drv_mask; 26 28 unsigned int drv_shift; 29 + unsigned int drv2_offset; 30 + unsigned int drv2_mask; 31 + unsigned int drv2_shift; 27 32 unsigned int drv_en_manual_mask; 33 + bool drv_in_step; 28 34 }; 29 35 30 36 static const struct pm8xxx_regs pm8058_regs = { 31 - .drv_addr = 0x4A, 32 - .drv_mask = 0xf8, 37 + .drv_offset = 0, 38 + .drv_mask = GENMASK(7, 3), 33 39 .drv_shift = 3, 34 40 .drv_en_manual_mask = 0xfc, 41 + .drv_in_step = true, 35 42 }; 36 43 37 44 static struct pm8xxx_regs pm8916_regs = { 38 - .enable_addr = 0xc046, 45 + .enable_offset = 0x46, 39 46 .enable_mask = BIT(7), 40 - .drv_addr = 0xc041, 41 - .drv_mask = 0x1F, 47 + .drv_offset = 0x41, 48 + .drv_mask = GENMASK(4, 0), 42 49 .drv_shift = 0, 43 50 .drv_en_manual_mask = 0, 51 + .drv_in_step = true, 52 + }; 53 + 54 + static struct pm8xxx_regs pmi632_regs = { 55 + .enable_offset = 0x46, 56 + .enable_mask = BIT(7), 57 + .drv_offset = 0x40, 58 + .drv_mask = GENMASK(7, 0), 59 + .drv_shift = 0, 60 + .drv2_offset = 0x41, 61 + .drv2_mask = GENMASK(3, 0), 62 + .drv2_shift = 8, 63 + .drv_en_manual_mask = 0, 64 + .drv_in_step = false, 44 65 }; 45 66 46 67 /** ··· 70 49 * @work: work structure to set the vibration parameters 71 50 * @regmap: regmap for register read/write 72 51 * @regs: registers' info 52 + * @enable_addr: vibrator enable register 53 + * @drv_addr: vibrator drive strength register 54 + * @drv2_addr: vibrator drive strength upper byte register 73 55 * @speed: speed of vibration set from userland 74 56 * @active: state of vibrator 75 57 * @level: level of vibration to set in the chip ··· 83 59 struct work_struct work; 84 60 struct regmap *regmap; 85 61 const struct pm8xxx_regs *regs; 62 + unsigned int enable_addr; 63 + unsigned int drv_addr; 64 + unsigned int drv2_addr; 86 65 int speed; 87 66 int level; 88 67 bool active; ··· 103 76 unsigned int val = vib->reg_vib_drv; 104 77 const struct pm8xxx_regs *regs = vib->regs; 105 78 79 + if (regs->drv_in_step) 80 + vib->level /= VIB_PER_STEP_mV(vib); 81 + 106 82 if (on) 107 83 val |= (vib->level << regs->drv_shift) & regs->drv_mask; 108 84 else 109 85 val &= ~regs->drv_mask; 110 86 111 - rc = regmap_write(vib->regmap, regs->drv_addr, val); 87 + rc = regmap_write(vib->regmap, vib->drv_addr, val); 112 88 if (rc < 0) 113 89 return rc; 114 90 115 91 vib->reg_vib_drv = val; 116 92 93 + if (regs->drv2_mask) { 94 + val = vib->level << regs->drv2_shift; 95 + rc = regmap_write_bits(vib->regmap, vib->drv2_addr, 96 + regs->drv2_mask, on ? val : 0); 97 + if (rc < 0) 98 + return rc; 99 + } 100 + 117 101 if (regs->enable_mask) 118 - rc = regmap_update_bits(vib->regmap, regs->enable_addr, 119 - regs->enable_mask, on ? ~0 : 0); 102 + rc = regmap_update_bits(vib->regmap, vib->enable_addr, 103 + regs->enable_mask, on ? regs->enable_mask : 0); 120 104 121 105 return rc; 122 106 } ··· 139 101 static void pm8xxx_work_handler(struct work_struct *work) 140 102 { 141 103 struct pm8xxx_vib *vib = container_of(work, struct pm8xxx_vib, work); 142 - const struct pm8xxx_regs *regs = vib->regs; 143 - int rc; 144 104 unsigned int val; 105 + int rc; 145 106 146 - rc = regmap_read(vib->regmap, regs->drv_addr, &val); 107 + rc = regmap_read(vib->regmap, vib->drv_addr, &val); 147 108 if (rc < 0) 148 109 return; 149 110 150 111 /* 151 - * pmic vibrator supports voltage ranges from 1.2 to 3.1V, so 112 + * pmic vibrator supports voltage ranges from MIN_LEVEL to MAX_LEVEL, so 152 113 * scale the level to fit into these ranges. 153 114 */ 154 115 if (vib->speed) { 155 116 vib->active = true; 156 - vib->level = ((VIB_MAX_LEVELS * vib->speed) / MAX_FF_SPEED) + 157 - VIB_MIN_LEVEL_mV; 158 - vib->level /= 100; 117 + vib->level = VIB_MIN_LEVEL_mV(vib); 118 + vib->level += mult_frac(VIB_MAX_LEVELS(vib), vib->speed, MAX_FF_SPEED); 159 119 } else { 160 120 vib->active = false; 161 - vib->level = VIB_MIN_LEVEL_mV / 100; 121 + vib->level = VIB_MIN_LEVEL_mV(vib); 162 122 } 163 123 164 124 pm8xxx_vib_set(vib, vib->active); ··· 204 168 struct pm8xxx_vib *vib; 205 169 struct input_dev *input_dev; 206 170 int error; 207 - unsigned int val; 171 + unsigned int val, reg_base = 0; 208 172 const struct pm8xxx_regs *regs; 209 173 210 174 vib = devm_kzalloc(&pdev->dev, sizeof(*vib), GFP_KERNEL); ··· 222 186 INIT_WORK(&vib->work, pm8xxx_work_handler); 223 187 vib->vib_input_dev = input_dev; 224 188 189 + error = fwnode_property_read_u32(pdev->dev.fwnode, "reg", &reg_base); 190 + if (error < 0) 191 + return dev_err_probe(&pdev->dev, error, "Failed to read reg address\n"); 192 + 225 193 regs = of_device_get_match_data(&pdev->dev); 194 + vib->enable_addr = reg_base + regs->enable_offset; 195 + vib->drv_addr = reg_base + regs->drv_offset; 196 + vib->drv2_addr = reg_base + regs->drv2_offset; 226 197 227 198 /* operate in manual mode */ 228 - error = regmap_read(vib->regmap, regs->drv_addr, &val); 199 + error = regmap_read(vib->regmap, vib->drv_addr, &val); 229 200 if (error < 0) 230 201 return error; 231 202 232 203 val &= regs->drv_en_manual_mask; 233 - error = regmap_write(vib->regmap, regs->drv_addr, val); 204 + error = regmap_write(vib->regmap, vib->drv_addr, val); 234 205 if (error < 0) 235 206 return error; 236 207 ··· 284 241 { .compatible = "qcom,pm8058-vib", .data = &pm8058_regs }, 285 242 { .compatible = "qcom,pm8921-vib", .data = &pm8058_regs }, 286 243 { .compatible = "qcom,pm8916-vib", .data = &pm8916_regs }, 244 + { .compatible = "qcom,pmi632-vib", .data = &pmi632_regs }, 287 245 { } 288 246 }; 289 247 MODULE_DEVICE_TABLE(of, pm8xxx_vib_id_table);
+13 -3
drivers/input/mouse/cyapa.c
··· 1347 1347 u8 power_mode; 1348 1348 int error; 1349 1349 1350 - error = mutex_lock_interruptible(&cyapa->state_sync_lock); 1350 + error = mutex_lock_interruptible(&cyapa->input->mutex); 1351 1351 if (error) 1352 1352 return error; 1353 + 1354 + error = mutex_lock_interruptible(&cyapa->state_sync_lock); 1355 + if (error) { 1356 + mutex_unlock(&cyapa->input->mutex); 1357 + return error; 1358 + } 1353 1359 1354 1360 /* 1355 1361 * Runtime PM is enable only when device is in operational mode and ··· 1391 1385 cyapa->irq_wake = (enable_irq_wake(client->irq) == 0); 1392 1386 1393 1387 mutex_unlock(&cyapa->state_sync_lock); 1388 + mutex_unlock(&cyapa->input->mutex); 1389 + 1394 1390 return 0; 1395 1391 } 1396 1392 ··· 1402 1394 struct cyapa *cyapa = i2c_get_clientdata(client); 1403 1395 int error; 1404 1396 1397 + mutex_lock(&cyapa->input->mutex); 1405 1398 mutex_lock(&cyapa->state_sync_lock); 1406 1399 1407 1400 if (device_may_wakeup(dev) && cyapa->irq_wake) { ··· 1421 1412 enable_irq(client->irq); 1422 1413 1423 1414 mutex_unlock(&cyapa->state_sync_lock); 1415 + mutex_unlock(&cyapa->input->mutex); 1424 1416 return 0; 1425 1417 } 1426 1418 ··· 1459 1449 }; 1460 1450 1461 1451 static const struct i2c_device_id cyapa_id_table[] = { 1462 - { "cyapa", 0 }, 1463 - { }, 1452 + { "cyapa" }, 1453 + { } 1464 1454 }; 1465 1455 MODULE_DEVICE_TABLE(i2c, cyapa_id_table); 1466 1456
+2 -2
drivers/input/mouse/elan_i2c_core.c
··· 1392 1392 static DEFINE_SIMPLE_DEV_PM_OPS(elan_pm_ops, elan_suspend, elan_resume); 1393 1393 1394 1394 static const struct i2c_device_id elan_id[] = { 1395 - { DRIVER_NAME, 0 }, 1396 - { }, 1395 + { DRIVER_NAME }, 1396 + { } 1397 1397 }; 1398 1398 MODULE_DEVICE_TABLE(i2c, elan_id); 1399 1399
+2 -2
drivers/input/mouse/synaptics_i2c.c
··· 630 630 synaptics_i2c_resume); 631 631 632 632 static const struct i2c_device_id synaptics_i2c_id_table[] = { 633 - { "synaptics_i2c", 0 }, 634 - { }, 633 + { "synaptics_i2c" }, 634 + { } 635 635 }; 636 636 MODULE_DEVICE_TABLE(i2c, synaptics_i2c_id_table); 637 637
+1 -1
drivers/input/rmi4/rmi_i2c.c
··· 365 365 }; 366 366 367 367 static const struct i2c_device_id rmi_id[] = { 368 - { "rmi4_i2c", 0 }, 368 + { "rmi4_i2c" }, 369 369 { } 370 370 }; 371 371 MODULE_DEVICE_TABLE(i2c, rmi_id);
+1 -1
drivers/input/rmi4/rmi_smbus.c
··· 413 413 }; 414 414 415 415 static const struct i2c_device_id rmi_id[] = { 416 - { "rmi4_smbus", 0 }, 416 + { "rmi4_smbus" }, 417 417 { } 418 418 }; 419 419 MODULE_DEVICE_TABLE(i2c, rmi_id);
+7
drivers/input/serio/ioc3kbd.c
··· 200 200 serio_unregister_port(d->aux); 201 201 } 202 202 203 + static const struct platform_device_id ioc3kbd_id_table[] = { 204 + { "ioc3-kbd", }, 205 + { } 206 + }; 207 + MODULE_DEVICE_TABLE(platform, ioc3kbd_id_table); 208 + 203 209 static struct platform_driver ioc3kbd_driver = { 204 210 .probe = ioc3kbd_probe, 205 211 .remove_new = ioc3kbd_remove, 212 + .id_table = ioc3kbd_id_table, 206 213 .driver = { 207 214 .name = "ioc3-kbd", 208 215 },
+2 -2
drivers/input/touchscreen/ad7879-i2c.c
··· 42 42 } 43 43 44 44 static const struct i2c_device_id ad7879_id[] = { 45 - { "ad7879", 0 }, 46 - { "ad7889", 0 }, 45 + { "ad7879" }, 46 + { "ad7889" }, 47 47 { } 48 48 }; 49 49 MODULE_DEVICE_TABLE(i2c, ad7879_id);
+2 -2
drivers/input/touchscreen/ar1021_i2c.c
··· 164 164 ar1021_i2c_suspend, ar1021_i2c_resume); 165 165 166 166 static const struct i2c_device_id ar1021_i2c_id[] = { 167 - { "ar1021", 0 }, 168 - { }, 167 + { "ar1021" }, 168 + { } 169 169 }; 170 170 MODULE_DEVICE_TABLE(i2c, ar1021_i2c_id); 171 171
+5 -5
drivers/input/touchscreen/atmel_mxt_ts.c
··· 3443 3443 #endif 3444 3444 3445 3445 static const struct i2c_device_id mxt_id[] = { 3446 - { "qt602240_ts", 0 }, 3447 - { "atmel_mxt_ts", 0 }, 3448 - { "atmel_mxt_tp", 0 }, 3449 - { "maxtouch", 0 }, 3450 - { "mXT224", 0 }, 3446 + { "qt602240_ts" }, 3447 + { "atmel_mxt_ts" }, 3448 + { "atmel_mxt_tp" }, 3449 + { "maxtouch" }, 3450 + { "mXT224" }, 3451 3451 { } 3452 3452 }; 3453 3453 MODULE_DEVICE_TABLE(i2c, mxt_id);
+1 -1
drivers/input/touchscreen/auo-pixcir-ts.c
··· 617 617 } 618 618 619 619 static const struct i2c_device_id auo_pixcir_idtable[] = { 620 - { "auo_pixcir_ts", 0 }, 620 + { "auo_pixcir_ts" }, 621 621 { } 622 622 }; 623 623 MODULE_DEVICE_TABLE(i2c, auo_pixcir_idtable);
+1 -1
drivers/input/touchscreen/bu21013_ts.c
··· 597 597 static DEFINE_SIMPLE_DEV_PM_OPS(bu21013_dev_pm_ops, bu21013_suspend, bu21013_resume); 598 598 599 599 static const struct i2c_device_id bu21013_id[] = { 600 - { DRIVER_TP, 0 }, 600 + { DRIVER_TP }, 601 601 { } 602 602 }; 603 603 MODULE_DEVICE_TABLE(i2c, bu21013_id);
+1 -1
drivers/input/touchscreen/bu21029_ts.c
··· 441 441 static DEFINE_SIMPLE_DEV_PM_OPS(bu21029_pm_ops, bu21029_suspend, bu21029_resume); 442 442 443 443 static const struct i2c_device_id bu21029_ids[] = { 444 - { DRIVER_NAME, 0 }, 444 + { DRIVER_NAME }, 445 445 { /* sentinel */ } 446 446 }; 447 447 MODULE_DEVICE_TABLE(i2c, bu21029_ids);
-1
drivers/input/touchscreen/chipone_icn8505.c
··· 68 68 struct icn8505_data { 69 69 struct i2c_client *client; 70 70 struct input_dev *input; 71 - struct gpio_desc *wake_gpio; 72 71 struct touchscreen_properties prop; 73 72 char firmware_name[32]; 74 73 };
+1 -1
drivers/input/touchscreen/cy8ctma140.c
··· 322 322 cy8ctma140_suspend, cy8ctma140_resume); 323 323 324 324 static const struct i2c_device_id cy8ctma140_idtable[] = { 325 - { CY8CTMA140_NAME, 0 }, 325 + { CY8CTMA140_NAME }, 326 326 { /* sentinel */ } 327 327 }; 328 328 MODULE_DEVICE_TABLE(i2c, cy8ctma140_idtable);
+1 -1
drivers/input/touchscreen/cyttsp4_i2c.c
··· 50 50 } 51 51 52 52 static const struct i2c_device_id cyttsp4_i2c_id[] = { 53 - { CYTTSP4_I2C_NAME, 0 }, 53 + { CYTTSP4_I2C_NAME }, 54 54 { } 55 55 }; 56 56 MODULE_DEVICE_TABLE(i2c, cyttsp4_i2c_id);
+1 -1
drivers/input/touchscreen/cyttsp5.c
··· 935 935 MODULE_DEVICE_TABLE(of, cyttsp5_of_match); 936 936 937 937 static const struct i2c_device_id cyttsp5_i2c_id[] = { 938 - { CYTTSP5_NAME, 0, }, 938 + { CYTTSP5_NAME }, 939 939 { } 940 940 }; 941 941 MODULE_DEVICE_TABLE(i2c, cyttsp5_i2c_id);
+1 -1
drivers/input/touchscreen/cyttsp_i2c.c
··· 48 48 } 49 49 50 50 static const struct i2c_device_id cyttsp_i2c_id[] = { 51 - { CY_I2C_NAME, 0 }, 51 + { CY_I2C_NAME }, 52 52 { } 53 53 }; 54 54 MODULE_DEVICE_TABLE(i2c, cyttsp_i2c_id);
+12
drivers/input/touchscreen/edt-ft5x06.c
··· 1462 1462 .max_support_points = 5, 1463 1463 }; 1464 1464 1465 + static const struct edt_i2c_chip_data edt_ft5452_data = { 1466 + .max_support_points = 5, 1467 + }; 1468 + 1465 1469 static const struct edt_i2c_chip_data edt_ft5506_data = { 1466 1470 .max_support_points = 10, 1467 1471 }; ··· 1474 1470 .max_support_points = 2, 1475 1471 }; 1476 1472 1473 + static const struct edt_i2c_chip_data edt_ft8719_data = { 1474 + .max_support_points = 10, 1475 + }; 1476 + 1477 1477 static const struct i2c_device_id edt_ft5x06_ts_id[] = { 1478 1478 { .name = "edt-ft5x06", .driver_data = (long)&edt_ft5x06_data }, 1479 1479 { .name = "edt-ft5506", .driver_data = (long)&edt_ft5506_data }, 1480 1480 { .name = "ev-ft5726", .driver_data = (long)&edt_ft5506_data }, 1481 + { .name = "ft5452", .driver_data = (long)&edt_ft5452_data }, 1481 1482 /* Note no edt- prefix for compatibility with the ft6236.c driver */ 1482 1483 { .name = "ft6236", .driver_data = (long)&edt_ft6236_data }, 1484 + { .name = "ft8719", .driver_data = (long)&edt_ft8719_data }, 1483 1485 { /* sentinel */ } 1484 1486 }; 1485 1487 MODULE_DEVICE_TABLE(i2c, edt_ft5x06_ts_id); ··· 1496 1486 { .compatible = "edt,edt-ft5406", .data = &edt_ft5x06_data }, 1497 1487 { .compatible = "edt,edt-ft5506", .data = &edt_ft5506_data }, 1498 1488 { .compatible = "evervision,ev-ft5726", .data = &edt_ft5506_data }, 1489 + { .compatible = "focaltech,ft5452", .data = &edt_ft5452_data }, 1499 1490 /* Note focaltech vendor prefix for compatibility with ft6236.c */ 1500 1491 { .compatible = "focaltech,ft6236", .data = &edt_ft6236_data }, 1492 + { .compatible = "focaltech,ft8719", .data = &edt_ft8719_data }, 1501 1493 { /* sentinel */ } 1502 1494 }; 1503 1495 MODULE_DEVICE_TABLE(of, edt_ft5x06_of_match);
+1 -1
drivers/input/touchscreen/eeti_ts.c
··· 273 273 static DEFINE_SIMPLE_DEV_PM_OPS(eeti_ts_pm, eeti_ts_suspend, eeti_ts_resume); 274 274 275 275 static const struct i2c_device_id eeti_ts_id[] = { 276 - { "eeti_ts", 0 }, 276 + { "eeti_ts" }, 277 277 { } 278 278 }; 279 279 MODULE_DEVICE_TABLE(i2c, eeti_ts_id);
+1 -1
drivers/input/touchscreen/egalax_ts.c
··· 218 218 } 219 219 220 220 static const struct i2c_device_id egalax_ts_id[] = { 221 - { "egalax_ts", 0 }, 221 + { "egalax_ts" }, 222 222 { } 223 223 }; 224 224 MODULE_DEVICE_TABLE(i2c, egalax_ts_id);
+2 -2
drivers/input/touchscreen/ektf2127.c
··· 335 335 #endif 336 336 337 337 static const struct i2c_device_id ektf2127_i2c_id[] = { 338 - { "ektf2127", 0 }, 339 - { "ektf2132", 0 }, 338 + { "ektf2127" }, 339 + { "ektf2132" }, 340 340 {} 341 341 }; 342 342 MODULE_DEVICE_TABLE(i2c, ektf2127_i2c_id);
+1 -1
drivers/input/touchscreen/goodix.c
··· 1510 1510 static DEFINE_SIMPLE_DEV_PM_OPS(goodix_pm_ops, goodix_suspend, goodix_resume); 1511 1511 1512 1512 static const struct i2c_device_id goodix_ts_id[] = { 1513 - { "GDIX1001:00", 0 }, 1513 + { "GDIX1001:00" }, 1514 1514 { } 1515 1515 }; 1516 1516 MODULE_DEVICE_TABLE(i2c, goodix_ts_id);
+1 -1
drivers/input/touchscreen/goodix_berlin_i2c.c
··· 47 47 } 48 48 49 49 static const struct i2c_device_id goodix_berlin_i2c_id[] = { 50 - { "gt9916", 0 }, 50 + { "gt9916" }, 51 51 { } 52 52 }; 53 53
+1 -1
drivers/input/touchscreen/hideep.c
··· 1095 1095 } 1096 1096 1097 1097 static const struct i2c_device_id hideep_i2c_id[] = { 1098 - { HIDEEP_I2C_NAME, 0 }, 1098 + { HIDEEP_I2C_NAME }, 1099 1099 { } 1100 1100 }; 1101 1101 MODULE_DEVICE_TABLE(i2c, hideep_i2c_id);
+1 -1
drivers/input/touchscreen/himax_hx83112b.c
··· 335 335 static DEFINE_SIMPLE_DEV_PM_OPS(himax_pm_ops, himax_suspend, himax_resume); 336 336 337 337 static const struct i2c_device_id himax_ts_id[] = { 338 - { "hx83112b", 0 }, 338 + { "hx83112b" }, 339 339 { /* sentinel */ } 340 340 }; 341 341 MODULE_DEVICE_TABLE(i2c, himax_ts_id);
+2 -2
drivers/input/touchscreen/ilitek_ts_i2c.c
··· 634 634 static DEFINE_SIMPLE_DEV_PM_OPS(ilitek_pm_ops, ilitek_suspend, ilitek_resume); 635 635 636 636 static const struct i2c_device_id ilitek_ts_i2c_id[] = { 637 - { ILITEK_TS_NAME, 0 }, 638 - { }, 637 + { ILITEK_TS_NAME }, 638 + { } 639 639 }; 640 640 MODULE_DEVICE_TABLE(i2c, ilitek_ts_i2c_id); 641 641
+1 -1
drivers/input/touchscreen/max11801_ts.c
··· 213 213 } 214 214 215 215 static const struct i2c_device_id max11801_ts_id[] = { 216 - {"max11801", 0}, 216 + { "max11801" }, 217 217 { } 218 218 }; 219 219 MODULE_DEVICE_TABLE(i2c, max11801_ts_id);
+1 -1
drivers/input/touchscreen/mcs5000_ts.c
··· 266 266 mcs5000_ts_suspend, mcs5000_ts_resume); 267 267 268 268 static const struct i2c_device_id mcs5000_ts_id[] = { 269 - { "mcs5000_ts", 0 }, 269 + { "mcs5000_ts" }, 270 270 { } 271 271 }; 272 272 MODULE_DEVICE_TABLE(i2c, mcs5000_ts_id);
+2 -2
drivers/input/touchscreen/melfas_mip4.c
··· 1569 1569 #endif 1570 1570 1571 1571 static const struct i2c_device_id mip4_i2c_ids[] = { 1572 - { MIP4_DEVICE_NAME, 0 }, 1573 - { }, 1572 + { MIP4_DEVICE_NAME }, 1573 + { } 1574 1574 }; 1575 1575 MODULE_DEVICE_TABLE(i2c, mip4_i2c_ids); 1576 1576
+1 -1
drivers/input/touchscreen/migor_ts.c
··· 211 211 static DEFINE_SIMPLE_DEV_PM_OPS(migor_ts_pm, migor_ts_suspend, migor_ts_resume); 212 212 213 213 static const struct i2c_device_id migor_ts_id[] = { 214 - { "migor_ts", 0 }, 214 + { "migor_ts" }, 215 215 { } 216 216 }; 217 217 MODULE_DEVICE_TABLE(i2c, migor_ts_id);
+1 -1
drivers/input/touchscreen/mms114.c
··· 677 677 static DEFINE_SIMPLE_DEV_PM_OPS(mms114_pm_ops, mms114_suspend, mms114_resume); 678 678 679 679 static const struct i2c_device_id mms114_id[] = { 680 - { "mms114", 0 }, 680 + { "mms114" }, 681 681 { } 682 682 }; 683 683 MODULE_DEVICE_TABLE(i2c, mms114_id);
+2 -2
drivers/input/touchscreen/raydium_i2c_ts.c
··· 1227 1227 raydium_i2c_suspend, raydium_i2c_resume); 1228 1228 1229 1229 static const struct i2c_device_id raydium_i2c_id[] = { 1230 - { "raydium_i2c", 0 }, 1231 - { "rm32380", 0 }, 1230 + { "raydium_i2c" }, 1231 + { "rm32380" }, 1232 1232 { /* sentinel */ } 1233 1233 }; 1234 1234 MODULE_DEVICE_TABLE(i2c, raydium_i2c_id);
+1 -1
drivers/input/touchscreen/rohm_bu21023.c
··· 1165 1165 } 1166 1166 1167 1167 static const struct i2c_device_id rohm_bu21023_i2c_id[] = { 1168 - { BU21023_NAME, 0 }, 1168 + { BU21023_NAME }, 1169 1169 { /* sentinel */ } 1170 1170 }; 1171 1171 MODULE_DEVICE_TABLE(i2c, rohm_bu21023_i2c_id);
+2 -2
drivers/input/touchscreen/s6sy761.c
··· 520 520 #endif 521 521 522 522 static const struct i2c_device_id s6sy761_id[] = { 523 - { "s6sy761", 0 }, 524 - { }, 523 + { "s6sy761" }, 524 + { } 525 525 }; 526 526 MODULE_DEVICE_TABLE(i2c, s6sy761_id); 527 527
+6 -6
drivers/input/touchscreen/silead.c
··· 785 785 static DEFINE_SIMPLE_DEV_PM_OPS(silead_ts_pm, silead_ts_suspend, silead_ts_resume); 786 786 787 787 static const struct i2c_device_id silead_ts_id[] = { 788 - { "gsl1680", 0 }, 789 - { "gsl1688", 0 }, 790 - { "gsl3670", 0 }, 791 - { "gsl3675", 0 }, 792 - { "gsl3692", 0 }, 793 - { "mssl1680", 0 }, 788 + { "gsl1680" }, 789 + { "gsl1688" }, 790 + { "gsl3670" }, 791 + { "gsl3675" }, 792 + { "gsl3692" }, 793 + { "mssl1680" }, 794 794 { } 795 795 }; 796 796 MODULE_DEVICE_TABLE(i2c, silead_ts_id);
+2 -2
drivers/input/touchscreen/sis_i2c.c
··· 374 374 #endif 375 375 376 376 static const struct i2c_device_id sis_ts_id[] = { 377 - { SIS_I2C_NAME, 0 }, 378 - { "9200-ts", 0 }, 377 + { SIS_I2C_NAME }, 378 + { "9200-ts" }, 379 379 { /* sentinel */ } 380 380 }; 381 381 MODULE_DEVICE_TABLE(i2c, sis_ts_id);
+2 -2
drivers/input/touchscreen/stmfts.c
··· 789 789 #endif 790 790 791 791 static const struct i2c_device_id stmfts_id[] = { 792 - { "stmfts", 0 }, 793 - { }, 792 + { "stmfts" }, 793 + { } 794 794 }; 795 795 MODULE_DEVICE_TABLE(i2c, stmfts_id); 796 796
+1 -1
drivers/input/touchscreen/sur40.c
··· 421 421 if (blob->type != SUR40_TOUCH) 422 422 return; 423 423 424 - slotnum = input_mt_get_slot_by_key(input, blob->blob_id); 424 + slotnum = input_mt_get_slot_by_key(input, le16_to_cpu(blob->blob_id)); 425 425 if (slotnum < 0 || slotnum >= MAX_CONTACTS) 426 426 return; 427 427
+1 -1
drivers/input/touchscreen/tsc2004.c
··· 48 48 } 49 49 50 50 static const struct i2c_device_id tsc2004_idtable[] = { 51 - { "tsc2004", 0 }, 51 + { "tsc2004" }, 52 52 { } 53 53 }; 54 54 MODULE_DEVICE_TABLE(i2c, tsc2004_idtable);
+1 -1
drivers/input/touchscreen/tsc2007_core.c
··· 400 400 } 401 401 402 402 static const struct i2c_device_id tsc2007_idtable[] = { 403 - { "tsc2007", 0 }, 403 + { "tsc2007" }, 404 404 { } 405 405 }; 406 406
+2 -2
drivers/input/touchscreen/wacom_i2c.c
··· 253 253 static DEFINE_SIMPLE_DEV_PM_OPS(wacom_i2c_pm, wacom_i2c_suspend, wacom_i2c_resume); 254 254 255 255 static const struct i2c_device_id wacom_i2c_id[] = { 256 - { "WAC_I2C_EMR", 0 }, 257 - { }, 256 + { "WAC_I2C_EMR" }, 257 + { } 258 258 }; 259 259 MODULE_DEVICE_TABLE(i2c, wacom_i2c_id); 260 260
+1 -1
drivers/input/touchscreen/wdt87xx_i2c.c
··· 1148 1148 static DEFINE_SIMPLE_DEV_PM_OPS(wdt87xx_pm_ops, wdt87xx_suspend, wdt87xx_resume); 1149 1149 1150 1150 static const struct i2c_device_id wdt87xx_dev_id[] = { 1151 - { WDT87XX_NAME, 0 }, 1151 + { WDT87XX_NAME }, 1152 1152 { } 1153 1153 }; 1154 1154 MODULE_DEVICE_TABLE(i2c, wdt87xx_dev_id);
+1 -3
drivers/input/touchscreen/zet6223.c
··· 25 25 struct zet6223_ts { 26 26 struct i2c_client *client; 27 27 struct input_dev *input; 28 - struct regulator *vcc; 29 - struct regulator *vio; 30 28 struct touchscreen_properties prop; 31 29 struct regulator_bulk_data supplies[2]; 32 30 u16 max_x; ··· 236 238 MODULE_DEVICE_TABLE(of, zet6223_of_match); 237 239 238 240 static const struct i2c_device_id zet6223_id[] = { 239 - { "zet6223", 0}, 241 + { "zet6223" }, 240 242 { } 241 243 }; 242 244 MODULE_DEVICE_TABLE(i2c, zet6223_id);
+1 -1
drivers/input/touchscreen/zforce_ts.c
··· 923 923 } 924 924 925 925 static struct i2c_device_id zforce_idtable[] = { 926 - { "zforce-ts", 0 }, 926 + { "zforce-ts" }, 927 927 { } 928 928 }; 929 929 MODULE_DEVICE_TABLE(i2c, zforce_idtable);