@@ -207,282 +207,17 @@ static const struct dmi_system_id __initconst i8042_dmi_noloop_table[] = {
207
207
};
208
208
209
209
/*
210
- * Some Fujitsu notebooks are having trouble with touchpads if
211
- * active multiplexing mode is activated. Luckily they don't have
212
- * external PS/2 ports so we can safely disable it.
213
- * ... apparently some Toshibas don't like MUX mode either and
214
- * die horrible death on reboot.
210
+ * Some laptops do implement active multiplexing mode correctly;
211
+ * unfortunately they are in minority.
215
212
*/
216
- static const struct dmi_system_id __initconst i8042_dmi_nomux_table [] = {
217
- {
218
- /* Fujitsu Lifebook P7010/P7010D */
219
- .matches = {
220
- DMI_MATCH (DMI_SYS_VENDOR , "FUJITSU" ),
221
- DMI_MATCH (DMI_PRODUCT_NAME , "P7010" ),
222
- },
223
- },
224
- {
225
- /* Fujitsu Lifebook P7010 */
226
- .matches = {
227
- DMI_MATCH (DMI_SYS_VENDOR , "FUJITSU SIEMENS" ),
228
- DMI_MATCH (DMI_PRODUCT_NAME , "0000000000" ),
229
- },
230
- },
231
- {
232
- /* Fujitsu Lifebook P5020D */
233
- .matches = {
234
- DMI_MATCH (DMI_SYS_VENDOR , "FUJITSU" ),
235
- DMI_MATCH (DMI_PRODUCT_NAME , "LifeBook P Series" ),
236
- },
237
- },
238
- {
239
- /* Fujitsu Lifebook S2000 */
240
- .matches = {
241
- DMI_MATCH (DMI_SYS_VENDOR , "FUJITSU" ),
242
- DMI_MATCH (DMI_PRODUCT_NAME , "LifeBook S Series" ),
243
- },
244
- },
245
- {
246
- /* Fujitsu Lifebook S6230 */
247
- .matches = {
248
- DMI_MATCH (DMI_SYS_VENDOR , "FUJITSU" ),
249
- DMI_MATCH (DMI_PRODUCT_NAME , "LifeBook S6230" ),
250
- },
251
- },
252
- {
253
- /* Fujitsu T70H */
254
- .matches = {
255
- DMI_MATCH (DMI_SYS_VENDOR , "FUJITSU" ),
256
- DMI_MATCH (DMI_PRODUCT_NAME , "FMVLT70H" ),
257
- },
258
- },
259
- {
260
- /* Fujitsu-Siemens Lifebook T3010 */
261
- .matches = {
262
- DMI_MATCH (DMI_SYS_VENDOR , "FUJITSU SIEMENS" ),
263
- DMI_MATCH (DMI_PRODUCT_NAME , "LIFEBOOK T3010" ),
264
- },
265
- },
266
- {
267
- /* Fujitsu-Siemens Lifebook E4010 */
268
- .matches = {
269
- DMI_MATCH (DMI_SYS_VENDOR , "FUJITSU SIEMENS" ),
270
- DMI_MATCH (DMI_PRODUCT_NAME , "LIFEBOOK E4010" ),
271
- },
272
- },
273
- {
274
- /* Fujitsu-Siemens Amilo Pro 2010 */
275
- .matches = {
276
- DMI_MATCH (DMI_SYS_VENDOR , "FUJITSU SIEMENS" ),
277
- DMI_MATCH (DMI_PRODUCT_NAME , "AMILO Pro V2010" ),
278
- },
279
- },
280
- {
281
- /* Fujitsu-Siemens Amilo Pro 2030 */
282
- .matches = {
283
- DMI_MATCH (DMI_SYS_VENDOR , "FUJITSU SIEMENS" ),
284
- DMI_MATCH (DMI_PRODUCT_NAME , "AMILO PRO V2030" ),
285
- },
286
- },
287
- {
288
- /*
289
- * No data is coming from the touchscreen unless KBC
290
- * is in legacy mode.
291
- */
292
- /* Panasonic CF-29 */
293
- .matches = {
294
- DMI_MATCH (DMI_SYS_VENDOR , "Matsushita" ),
295
- DMI_MATCH (DMI_PRODUCT_NAME , "CF-29" ),
296
- },
297
- },
298
- {
299
- /*
300
- * HP Pavilion DV4017EA -
301
- * errors on MUX ports are reported without raising AUXDATA
302
- * causing "spurious NAK" messages.
303
- */
304
- .matches = {
305
- DMI_MATCH (DMI_SYS_VENDOR , "Hewlett-Packard" ),
306
- DMI_MATCH (DMI_PRODUCT_NAME , "Pavilion dv4000 (EA032EA#ABF)" ),
307
- },
308
- },
309
- {
310
- /*
311
- * HP Pavilion ZT1000 -
312
- * like DV4017EA does not raise AUXERR for errors on MUX ports.
313
- */
314
- .matches = {
315
- DMI_MATCH (DMI_SYS_VENDOR , "Hewlett-Packard" ),
316
- DMI_MATCH (DMI_PRODUCT_NAME , "HP Pavilion Notebook PC" ),
317
- DMI_MATCH (DMI_PRODUCT_VERSION , "HP Pavilion Notebook ZT1000" ),
318
- },
319
- },
213
+ static const struct dmi_system_id __initconst i8042_dmi_mux_table [] = {
320
214
{
321
215
/*
322
- * HP Pavilion DV4270ca -
323
- * like DV4017EA does not raise AUXERR for errors on MUX ports .
216
+ * Panasonic CF-18 needs to be in MUX mode since the
217
+ * touchscreen is on serio3 and it also has touchpad .
324
218
*/
325
219
.matches = {
326
- DMI_MATCH (DMI_SYS_VENDOR , "Hewlett-Packard" ),
327
- DMI_MATCH (DMI_PRODUCT_NAME , "Pavilion dv4000 (EH476UA#ABL)" ),
328
- },
329
- },
330
- {
331
- .matches = {
332
- DMI_MATCH (DMI_SYS_VENDOR , "TOSHIBA" ),
333
- DMI_MATCH (DMI_PRODUCT_NAME , "Satellite P10" ),
334
- },
335
- },
336
- {
337
- .matches = {
338
- DMI_MATCH (DMI_SYS_VENDOR , "TOSHIBA" ),
339
- DMI_MATCH (DMI_PRODUCT_NAME , "EQUIUM A110" ),
340
- },
341
- },
342
- {
343
- .matches = {
344
- DMI_MATCH (DMI_SYS_VENDOR , "TOSHIBA" ),
345
- DMI_MATCH (DMI_PRODUCT_NAME , "SATELLITE C850D" ),
346
- },
347
- },
348
- {
349
- .matches = {
350
- DMI_MATCH (DMI_SYS_VENDOR , "ALIENWARE" ),
351
- DMI_MATCH (DMI_PRODUCT_NAME , "Sentia" ),
352
- },
353
- },
354
- {
355
- /* Sharp Actius MM20 */
356
- .matches = {
357
- DMI_MATCH (DMI_SYS_VENDOR , "SHARP" ),
358
- DMI_MATCH (DMI_PRODUCT_NAME , "PC-MM20 Series" ),
359
- },
360
- },
361
- {
362
- /* Sony Vaio FS-115b */
363
- .matches = {
364
- DMI_MATCH (DMI_SYS_VENDOR , "Sony Corporation" ),
365
- DMI_MATCH (DMI_PRODUCT_NAME , "VGN-FS115B" ),
366
- },
367
- },
368
- {
369
- /*
370
- * Sony Vaio FZ-240E -
371
- * reset and GET ID commands issued via KBD port are
372
- * sometimes being delivered to AUX3.
373
- */
374
- .matches = {
375
- DMI_MATCH (DMI_SYS_VENDOR , "Sony Corporation" ),
376
- DMI_MATCH (DMI_PRODUCT_NAME , "VGN-FZ240E" ),
377
- },
378
- },
379
- {
380
- /*
381
- * Most (all?) VAIOs do not have external PS/2 ports nor
382
- * they implement active multiplexing properly, and
383
- * MUX discovery usually messes up keyboard/touchpad.
384
- */
385
- .matches = {
386
- DMI_MATCH (DMI_SYS_VENDOR , "Sony Corporation" ),
387
- DMI_MATCH (DMI_BOARD_NAME , "VAIO" ),
388
- },
389
- },
390
- {
391
- /* Amoi M636/A737 */
392
- .matches = {
393
- DMI_MATCH (DMI_SYS_VENDOR , "Amoi Electronics CO.,LTD." ),
394
- DMI_MATCH (DMI_PRODUCT_NAME , "M636/A737 platform" ),
395
- },
396
- },
397
- {
398
- /* Lenovo 3000 n100 */
399
- .matches = {
400
- DMI_MATCH (DMI_SYS_VENDOR , "LENOVO" ),
401
- DMI_MATCH (DMI_PRODUCT_NAME , "076804U" ),
402
- },
403
- },
404
- {
405
- .matches = {
406
- DMI_MATCH (DMI_SYS_VENDOR , "Acer" ),
407
- DMI_MATCH (DMI_PRODUCT_NAME , "Aspire 1360" ),
408
- },
409
- },
410
- {
411
- /* Acer Aspire 5710 */
412
- .matches = {
413
- DMI_MATCH (DMI_SYS_VENDOR , "Acer" ),
414
- DMI_MATCH (DMI_PRODUCT_NAME , "Aspire 5710" ),
415
- },
416
- },
417
- {
418
- /* Gericom Bellagio */
419
- .matches = {
420
- DMI_MATCH (DMI_SYS_VENDOR , "Gericom" ),
421
- DMI_MATCH (DMI_PRODUCT_NAME , "N34AS6" ),
422
- },
423
- },
424
- {
425
- /* IBM 2656 */
426
- .matches = {
427
- DMI_MATCH (DMI_SYS_VENDOR , "IBM" ),
428
- DMI_MATCH (DMI_PRODUCT_NAME , "2656" ),
429
- },
430
- },
431
- {
432
- /* Dell XPS M1530 */
433
- .matches = {
434
- DMI_MATCH (DMI_SYS_VENDOR , "Dell Inc." ),
435
- DMI_MATCH (DMI_PRODUCT_NAME , "XPS M1530" ),
436
- },
437
- },
438
- {
439
- /* Compal HEL80I */
440
- .matches = {
441
- DMI_MATCH (DMI_SYS_VENDOR , "COMPAL" ),
442
- DMI_MATCH (DMI_PRODUCT_NAME , "HEL80I" ),
443
- },
444
- },
445
- {
446
- /* Dell Vostro 1510 */
447
- .matches = {
448
- DMI_MATCH (DMI_SYS_VENDOR , "Dell Inc." ),
449
- DMI_MATCH (DMI_PRODUCT_NAME , "Vostro1510" ),
450
- },
451
- },
452
- {
453
- /* Acer Aspire 5536 */
454
- .matches = {
455
- DMI_MATCH (DMI_SYS_VENDOR , "Acer" ),
456
- DMI_MATCH (DMI_PRODUCT_NAME , "Aspire 5536" ),
457
- DMI_MATCH (DMI_PRODUCT_VERSION , "0100" ),
458
- },
459
- },
460
- {
461
- /* Dell Vostro V13 */
462
- .matches = {
463
- DMI_MATCH (DMI_SYS_VENDOR , "Dell Inc." ),
464
- DMI_MATCH (DMI_PRODUCT_NAME , "Vostro V13" ),
465
- },
466
- },
467
- {
468
- /* Newer HP Pavilion dv4 models */
469
- .matches = {
470
- DMI_MATCH (DMI_SYS_VENDOR , "Hewlett-Packard" ),
471
- DMI_MATCH (DMI_PRODUCT_NAME , "HP Pavilion dv4 Notebook PC" ),
472
- },
473
- },
474
- {
475
- /* Asus X450LCP */
476
- .matches = {
477
- DMI_MATCH (DMI_SYS_VENDOR , "ASUSTeK COMPUTER INC." ),
478
- DMI_MATCH (DMI_PRODUCT_NAME , "X450LCP" ),
479
- },
480
- },
481
- {
482
- /* Avatar AVIU-145A6 */
483
- .matches = {
484
- DMI_MATCH (DMI_SYS_VENDOR , "Intel" ),
485
- DMI_MATCH (DMI_PRODUCT_NAME , "IC4I" ),
220
+ DMI_MATCH (DMI_PRODUCT_NAME , "CF-18" ),
486
221
},
487
222
},
488
223
{ }
@@ -1005,8 +740,8 @@ static int __init i8042_platform_init(void)
1005
740
if (dmi_check_system (i8042_dmi_noloop_table ))
1006
741
i8042_noloop = true;
1007
742
1008
- if (dmi_check_system (i8042_dmi_nomux_table ))
1009
- i8042_nomux = true ;
743
+ if (dmi_check_system (i8042_dmi_mux_table ))
744
+ i8042_nomux = false ;
1010
745
1011
746
if (dmi_check_system (i8042_dmi_notimeout_table ))
1012
747
i8042_notimeout = true;
0 commit comments