UBUNTU: ubuntu: omnibook -- support Toshiba (HP) netbooks
[linux-flexiantxendom0-natty.git] / ubuntu / omnibook / laptop.h
1 /*
2  * laptop.h -- Various structures about supported hardware
3  * 
4  * This program is free software; you can redistribute it and/or modify it
5  * under the terms of the GNU General Public License as published by the
6  * Free Software Foundation; either version 2, or (at your option) any
7  * later version.
8  * 
9  * This program is distributed in the hope that it will be useful, but
10  * WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * General Public License for more details.
13  *
14  * Written by Soós Péter <sp@osb.hu>, 2002-2004
15  * Written by Mathieu Bérard <mathieu.berard@crans.org>, 2006
16  */
17
18
19 #define HP_SIGNATURE    "Hewlett-Packard"
20
21 #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24))
22 static int __init dmi_matched(struct dmi_system_id *dmi);
23 #else
24 static int __init dmi_matched(const struct dmi_system_id *dmi);
25 #endif
26
27 static struct  dmi_system_id omnibook_ids[] __initdata = {
28         {
29                 .callback = dmi_matched,
30                 .ident = "HP OmniBook XE3 GF",
31                 .matches = {
32                         DMI_MATCH(DMI_PRODUCT_NAME, "HP OmniBook PC"),
33                         DMI_MATCH(DMI_PRODUCT_VERSION, "HP OmniBook XE3 GF"),
34                 },
35                 .driver_data = (void *) XE3GF
36         },
37         {
38                 .callback = dmi_matched,
39                 .ident = "HP OmniBook XT1000",
40                 .matches = {
41                         DMI_MATCH(DMI_PRODUCT_NAME, "HP OmniBook PC"),
42                         DMI_MATCH(DMI_PRODUCT_VERSION, "HP OmniBook XT1000"),
43                 },
44                 .driver_data = (void *) XE3GF
45         },
46         {
47                 .callback = dmi_matched,
48                 .ident = "HP OmniBook XE2 DC",
49                 .matches = {
50                         DMI_MATCH(DMI_PRODUCT_NAME, "HP OmniBook PC"),
51                         DMI_MATCH(DMI_PRODUCT_VERSION, "HP OmniBook XE2 DC"),
52                 },
53                 .driver_data = (void *) XE2
54         },
55         {
56                 .callback = dmi_matched,
57                 .ident = "HP OmniBook XE3 GC",
58                 .matches = {
59                         DMI_MATCH(DMI_PRODUCT_NAME, "HP OmniBook PC"),
60                         DMI_MATCH(DMI_PRODUCT_VERSION, "HP OmniBook XE3 GC"),
61                 },
62                 .driver_data = (void*) XE3GC
63         },
64         {
65                 .callback = dmi_matched,
66                 .ident = "HP OmniBook XE3 GD / Pavilion N5430",
67                 .matches = {
68                         DMI_MATCH(DMI_PRODUCT_NAME, "HP OmniBook PC"),
69                         DMI_MATCH(DMI_PRODUCT_VERSION, "HP OmniBook XE3 GD"),
70                 },
71                 .driver_data = (void*) XE3GC
72         },
73         {
74                 .callback = dmi_matched,
75                 .ident = "HP OmniBook XE3 GE / Pavilion N5415",
76                 .matches = {
77                         DMI_MATCH(DMI_PRODUCT_NAME, "HP OmniBook PC"),
78                         DMI_MATCH(DMI_PRODUCT_VERSION, "HP OmniBook XE3 GE"),
79                 },
80                 .driver_data = (void*) XE3GC
81         },
82         {
83                 .callback = dmi_matched,
84                 .ident = "HP OmniBook 500 FA",
85                 .matches = {
86                         DMI_MATCH(DMI_PRODUCT_NAME, "HP OmniBook PC"),
87                         DMI_MATCH(DMI_PRODUCT_VERSION, "HP OmniBook 500 FA"),
88                 },
89                 .driver_data = (void*) OB500
90         },
91         {
92                 .callback = dmi_matched,
93                 .ident = "HP OmniBook 510 FB",
94                 .matches = {
95                         DMI_MATCH(DMI_PRODUCT_NAME, "HP OmniBook PC"),
96                         DMI_MATCH(DMI_PRODUCT_VERSION, "HP OmniBook 510 FB"),
97                 },
98                 .driver_data = (void*) OB510
99         },
100         {
101                 .callback = dmi_matched,
102                 .ident = "HP OmniBook 4150",
103                 .matches = {
104                         DMI_MATCH(DMI_PRODUCT_NAME, "HP OmniBook PC"),
105                         DMI_MATCH(DMI_PRODUCT_VERSION, "HP OmniBook 4150"),
106                 },
107                 .driver_data = (void*) OB4150
108         },
109         {
110                 .callback = dmi_matched,
111                 .ident = "HP OmniBook 900 B",
112                 .matches = {
113                         DMI_MATCH(DMI_PRODUCT_NAME, "HP OmniBook PC"),
114                         DMI_MATCH(DMI_PRODUCT_VERSION, "HP OmniBook 900 B"),
115                 },
116                 .driver_data = (void*) OB4150
117         },
118         {
119                 .callback = dmi_matched,
120                 .ident = "HP OmniBook 6000 EA",
121                 .matches = {
122                         DMI_MATCH(DMI_PRODUCT_NAME, "HP OmniBook PC"),
123                         DMI_MATCH(DMI_PRODUCT_VERSION, "HP OmniBook 6000 EA"),
124                 },
125                 .driver_data = (void*) OB6000
126         },
127         {
128                 .callback = dmi_matched,
129                 .ident = "HP OmniBook 6100 EB",
130                 .matches = {
131                         DMI_MATCH(DMI_PRODUCT_NAME, "HP OmniBook PC"),
132                         DMI_MATCH(DMI_PRODUCT_VERSION, "HP OmniBook 6100 EB"),
133                 },
134                 .driver_data = (void*) OB6100
135         },
136         {
137                 .callback = dmi_matched,
138                 .ident = "HP OmniBook xe4000/xe4100",
139                 .matches = {
140                         DMI_MATCH(DMI_PRODUCT_NAME, "HP OmniBook PC"),
141                         DMI_MATCH(DMI_PRODUCT_VERSION, "HP OmniBook xe4000"),
142                 },
143                 .driver_data = (void*) XE4500
144         },
145         {
146                 .callback = dmi_matched,
147                 .ident = "HP OmniBook xe4400",
148                 .matches = {
149                         DMI_MATCH(DMI_PRODUCT_NAME, "HP OmniBook PC"),
150                         DMI_MATCH(DMI_PRODUCT_VERSION, "HP OmniBook xe4400"),
151                 },
152                 .driver_data = (void*) XE4500
153         },
154         {
155                 .callback = dmi_matched,
156                 .ident = "HP OmniBook xe4500",
157                 .matches = {
158                         DMI_MATCH(DMI_PRODUCT_NAME, "HP OmniBook PC"),
159                         DMI_MATCH(DMI_PRODUCT_VERSION, "HP OmniBook xe4500"),
160                 },
161                 .driver_data = (void*) XE4500
162         },
163         {
164                 .callback = dmi_matched,
165                 .ident = "HP OmniBook 6200 EG / vt6200 / xt 6200",
166                 .matches = {
167                         DMI_MATCH(DMI_PRODUCT_NAME, "HP OmniBook PC"),
168                         DMI_MATCH(DMI_PRODUCT_VERSION, "HP OmniBook 6200 EG"),
169                 },
170                 .driver_data = (void*) XE4500
171         },
172         /* There are no model specific strings of some HP OmniBook XT1500 */
173         {
174                 .callback = dmi_matched,
175                 .ident = "HP OmniBook XT1500",
176                 .matches = {
177                         DMI_MATCH(DMI_PRODUCT_NAME, "HP OmniBook PC"),
178                         DMI_MATCH(DMI_PRODUCT_VERSION, "HP OmniBook"),
179                 },
180                 .driver_data = (void*) XE3GF
181         },
182         {
183                 .callback = dmi_matched,
184                 .ident = "HP Pavilion ze4000 / ze4125",
185                 .matches = {
186                         DMI_MATCH(DMI_PRODUCT_NAME, "HP NoteBook PC"),
187                         DMI_MATCH(DMI_PRODUCT_VERSION, "HP NoteBook ze4000"),
188                 },
189                 .driver_data = (void*) XE4500
190         },
191         /* There are no model specific strings of some HP Pavilion xt155 and some HP Pavilion ze4100 
192          * There are no model specific strings of some HP nx9000 */
193         {
194                 .callback = dmi_matched,
195                 .ident = "HP Pavilion xt155 / ze4100 / nx9000",
196                 .matches = {
197                         DMI_MATCH(DMI_PRODUCT_NAME, "HP NoteBook PC"),
198                         DMI_MATCH(DMI_PRODUCT_VERSION, "HP NoteBook PC"),
199                 },
200                 .driver_data = (void*) XE4500
201         },
202         {
203                 .callback = dmi_matched,
204                 .ident = "HP Pavilion ZU1000 FA / ZU1000 FA / ZU1175",
205                 .matches = {
206                         DMI_MATCH(DMI_PRODUCT_NAME, "HP Pavilion Notebook PC"),
207                         DMI_MATCH(DMI_PRODUCT_VERSION, "HP Pavilion ZU1000 FA"),
208                 },
209                 .driver_data = (void*) OB500
210         },
211         {
212                 .callback = dmi_matched,
213                 .ident = "HP Pavilion Notebook XE3 GC / N5290",
214                 .matches = {
215                         DMI_MATCH(DMI_PRODUCT_NAME, "HP Pavilion Notebook PC"),
216                         DMI_MATCH(DMI_PRODUCT_VERSION, "HP Pavilion Notebook XE3 GC"),
217                 },
218                 .driver_data = (void*) XE3GC
219         },
220         {
221                 .callback = dmi_matched,
222                 .ident = "HP Pavilion Notebook GD / N5441",
223                 .matches = {
224                         DMI_MATCH(DMI_PRODUCT_NAME, "HP Pavilion Notebook PC"),
225                         DMI_MATCH(DMI_PRODUCT_VERSION, "HP Pavilion Notebook Model GD"),
226                 },
227                 .driver_data = (void*) XE3GC
228         },
229         {
230                 .callback = dmi_matched,
231                 .ident = "HP Pavilion Notebook GE / XH545",
232                 .matches = {
233                         DMI_MATCH(DMI_PRODUCT_NAME, "HP Pavilion Notebook PC"),
234                         DMI_MATCH(DMI_PRODUCT_VERSION, "HP Pavilion Notebook Model GE"),
235                 },
236                 .driver_data = (void*) XE3GC
237         },
238         {
239                 .callback = dmi_matched,
240                 .ident = "HP Pavilion Notebook ZT1000 / ZT1141",
241                 .matches = {
242                         DMI_MATCH(DMI_PRODUCT_NAME, "HP Pavilion Notebook PC"),
243                         DMI_MATCH(DMI_PRODUCT_VERSION, "HP Pavilion Notebook ZT1000"),
244                 },
245                 .driver_data = (void*) XE3GF
246         },
247         /* There are no model specific strings of some HP Pavilion ZT1175 and ZT1195 notebooks */
248         {
249                 .callback = dmi_matched,
250                 .ident = "HP Pavilion ZT1175 / ZT1195",
251                 .matches = {
252                         DMI_MATCH(DMI_PRODUCT_NAME, "HP Pavilion Notebook PC"),
253                         DMI_MATCH(DMI_PRODUCT_VERSION, "HP Pavilion Notebook"),
254                 },
255                 .driver_data = (void*) XE3GF
256         },
257         {
258                 .callback = dmi_matched,
259                 .ident = "HP Pavilion ze4200 series",
260                 .matches = {
261                         DMI_MATCH(DMI_PRODUCT_NAME, "Pavilion ze4200"),
262                 },
263                 .driver_data = (void*) XE4500
264         },
265         {
266                 .callback = dmi_matched,
267                 .ident = "HP Pavilion ze4300 series",
268                 .matches = {
269                         DMI_MATCH(DMI_PRODUCT_NAME, "Pavilion ze4300"),
270                 },
271                 .driver_data = (void*) XE4500
272         },
273         {
274                 .callback = dmi_matched,
275                 .ident = "HP Pavilion ze4500 series",
276                 .matches = {
277                         DMI_MATCH(DMI_PRODUCT_NAME, "Pavilion ze4500"),
278                 },
279                 .driver_data = (void*) XE4500
280         },
281         {
282                 .callback = dmi_matched,
283                 .ident = "HP Pavilion ze8500 series",
284                 .matches = {
285                         DMI_MATCH(DMI_PRODUCT_NAME, "Pavilion ze8500"),
286                 },
287                 .driver_data = (void*) XE4500
288         },
289         /* Compaq nx9000 */
290         {
291                 .callback = dmi_matched,
292                 .ident = "HP Compaq nx9000",
293                 .matches = {
294                         DMI_MATCH(DMI_PRODUCT_NAME, "HP nx9000"),
295                 },
296                 .driver_data = (void*) XE4500
297         },
298         {
299                 .callback = dmi_matched,
300                 .ident = "HP Compaq nx9005",
301                 .matches = {
302                         DMI_MATCH(DMI_PRODUCT_NAME, "HP nx9005"),
303                 },
304                 .driver_data = (void*) XE4500
305         },
306         {
307                 .callback = dmi_matched,
308                 .ident = "HP Compaq nx9010",
309                 .matches = {
310                         DMI_MATCH(DMI_PRODUCT_NAME, "HP nx9010"),
311                 },
312                 .driver_data = (void*) XE4500
313         },
314         {
315                 .callback = dmi_matched,
316                 .ident = "Toshiba Satellite 1000",
317                 .matches = {
318                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
319                         DMI_MATCH(DMI_PRODUCT_NAME, "S1000"),
320                 },
321                 .driver_data = (void*) XE3GF
322         },
323         {
324                 .callback = dmi_matched,
325                 .ident = "Toshiba Satellite 1005",
326                 .matches = {
327                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
328                         DMI_MATCH(DMI_PRODUCT_NAME, "S1005"),
329                 },
330                 .driver_data = (void*) XE3GF
331         },
332         {
333                 .callback = dmi_matched,
334                 .ident = "Toshiba Satellite 1110",
335                 .matches = {
336                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
337                         DMI_MATCH(DMI_PRODUCT_NAME, "S1110"),
338                 },
339                 .driver_data = (void*) XE3GF
340         },      
341         {
342                 .callback = dmi_matched,
343                 .ident = "Toshiba Satellite 1115",
344                 .matches = {
345                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
346                         DMI_MATCH(DMI_PRODUCT_NAME, "S1115"),
347                 },
348                 .driver_data = (void*) XE3GF
349         },
350         {
351                 .callback = dmi_matched,
352                 .ident = "Toshiba Satellite 1130",
353                 .matches = {
354                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
355                         DMI_MATCH(DMI_PRODUCT_NAME, "Satellite 1130"),
356                 },
357                 .driver_data = (void*) XE3GF
358         },
359         {
360                 .callback = dmi_matched,
361                 .ident = "Toshiba Satellite 1700-100",
362                 .matches = {
363                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
364                         DMI_MATCH(DMI_PRODUCT_NAME, "S1700-100"),
365                 },
366                 .driver_data = (void*) AMILOD
367         },
368         {
369                 .callback = dmi_matched,
370                 .ident = "Toshiba Satellite 1700-200",
371                 .matches = {
372                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
373                         DMI_MATCH(DMI_PRODUCT_NAME, "S1700-200"),
374                 },
375                 .driver_data = (void*) AMILOD
376         },
377         {
378                 .callback = dmi_matched,
379                 .ident = "Toshiba Satellite 1700-300",
380                 .matches = {
381                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
382                         DMI_MATCH(DMI_PRODUCT_NAME, "S1700-300"),
383                 },
384                 .driver_data = (void*) AMILOD
385         },
386         {
387                 .callback = dmi_matched,
388                 .ident = "Toshiba Satellite 1700-400",
389                 .matches = {
390                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
391                         DMI_MATCH(DMI_PRODUCT_NAME, "S1700-400"),
392                 },
393                 .driver_data = (void*) AMILOD
394         },
395         {
396                 .callback = dmi_matched,
397                 .ident = "Toshiba Satellite 1700-500",
398                 .matches = {
399                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
400                         DMI_MATCH(DMI_PRODUCT_NAME, "S1700-500"),
401                 },
402                 .driver_data = (void*) AMILOD
403         },
404         {
405                 .callback = dmi_matched,
406                 .ident = "Toshiba Satellite 1900",
407                 .matches = {
408                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
409                         DMI_MATCH(DMI_PRODUCT_NAME, "S1900"),
410                 },
411                 .driver_data = (void*) XE3GF
412         },
413         {
414                 .callback = dmi_matched,
415                 .ident = "Toshiba Satellite 1905",
416                 .matches = {
417                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
418                         DMI_MATCH(DMI_PRODUCT_NAME, "S1905"),
419                 },
420                 .driver_data = (void*) XE3GF
421         },
422         {
423                 .callback = dmi_matched,
424                 .ident = "Toshiba Satellite 1950",
425                 .matches = {
426                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
427                         DMI_MATCH(DMI_PRODUCT_NAME, "S1950"),
428                 },
429                 .driver_data = (void*) XE3GF
430         },
431         {
432                 .callback = dmi_matched,
433                 .ident = "Toshiba Satellite 1955",
434                 .matches = {
435                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
436                         DMI_MATCH(DMI_PRODUCT_NAME, "S1955"),
437                 },
438                 .driver_data = (void*) XE3GF
439         },
440         {
441                 .callback = dmi_matched,
442                 .ident = "Toshiba Satellite 2430",
443                 .matches = {
444                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
445                         DMI_MATCH(DMI_PRODUCT_NAME, "S2430"),
446                 },
447                 .driver_data = (void*) XE3GF
448         },
449         {
450                 .callback = dmi_matched,
451                 .ident = "Toshiba Satellite 2435",
452                 .matches = {
453                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
454                         DMI_MATCH(DMI_PRODUCT_NAME, "S2435"),
455                 },
456                 .driver_data = (void*) XE3GF
457         },
458         {
459                 .callback = dmi_matched,
460                 .ident = "Toshiba Satellite 3000",
461                 .matches = {
462                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
463                         DMI_MATCH(DMI_PRODUCT_NAME, "S3000"),
464                 },
465                 .driver_data = (void*) XE3GF
466         },
467         {
468                 .callback = dmi_matched,
469                 .ident = "Toshiba Satellite 3005",
470                 .matches = {
471                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
472                         DMI_MATCH(DMI_PRODUCT_NAME, "S3005"),
473                 },
474                 .driver_data = (void*) XE3GF
475         },
476         {
477                 .callback = dmi_matched,
478                 .ident = "Toshiba Satellite 1000",
479                 .matches = {
480                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
481                         DMI_MATCH(DMI_PRODUCT_NAME, "Satellite 1000"),
482                 },
483                 .driver_data = (void*) XE3GF
484         },
485         {
486                 .callback = dmi_matched,
487                 .ident = "Toshiba Satellite 1005",
488                 .matches = {
489                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
490                         DMI_MATCH(DMI_PRODUCT_NAME, "Satellite 1005"),
491                 },
492                 .driver_data = (void*) XE3GF
493         },
494         {
495                 .callback = dmi_matched,
496                 .ident = "Toshiba Satellite 1110",
497                 .matches = {
498                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
499                         DMI_MATCH(DMI_PRODUCT_NAME, "Satellite 1110"),
500                 },
501                 .driver_data = (void*) XE3GF
502         },
503         {
504                 .callback = dmi_matched,
505                 .ident = "Toshiba Satellite 1115",
506                 .matches = {
507                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
508                         DMI_MATCH(DMI_PRODUCT_NAME, "Satellite 1115"),
509                 },
510                 .driver_data = (void*) XE3GF
511         },
512         {
513                 .callback = dmi_matched,
514                 .ident = "Toshiba Satellite 1115",
515                 .matches = {
516                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
517                         DMI_MATCH(DMI_PRODUCT_NAME, "Toshiba 1115"),
518                 },
519                 .driver_data = (void*) XE3GF
520         },
521         {
522                 .callback = dmi_matched,
523                 .ident = "Toshiba Satellite 1900",
524                 .matches = {
525                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
526                         DMI_MATCH(DMI_PRODUCT_NAME, "Satellite 1900"),
527                 },
528                 .driver_data = (void*) XE3GF
529         },
530         {
531                 .callback = dmi_matched,
532                 .ident = "Toshiba Satellite 1905",
533                 .matches = {
534                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
535                         DMI_MATCH(DMI_PRODUCT_NAME, "Satellite 1905"),
536                 },
537                 .driver_data = (void*) XE3GF
538         },
539         {
540                 .callback = dmi_matched,
541                 .ident = "Toshiba Satellite 1950",
542                 .matches = {
543                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
544                         DMI_MATCH(DMI_PRODUCT_NAME, "Satellite 1950"),
545                 },
546                 .driver_data = (void*) XE3GF
547         },
548         {
549                 .callback = dmi_matched,
550                 .ident = "Toshiba Satellite 1955",
551                 .matches = {
552                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
553                         DMI_MATCH(DMI_PRODUCT_NAME, "Satellite 1955"),
554                 },
555                 .driver_data = (void*) XE3GF
556         },
557         {
558                 .callback = dmi_matched,
559                 .ident = "Toshiba Satellite 2430",
560                 .matches = {
561                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
562                         DMI_MATCH(DMI_PRODUCT_NAME, "Satellite 2430"),
563                 },
564                 .driver_data = (void*) XE3GF
565         },
566         {
567                 .callback = dmi_matched,
568                 .ident = "Toshiba Satellite 2435",
569                 .matches = {
570                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
571                         DMI_MATCH(DMI_PRODUCT_NAME, "Satellite 2435"),
572                 },
573                 .driver_data = (void*) XE3GF
574         },
575         {
576                 .callback = dmi_matched,
577                 .ident = "Toshiba Satellite 3000",
578                 .matches = {
579                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
580                         DMI_MATCH(DMI_PRODUCT_NAME, "Satellite 3000"),
581                 },
582                 .driver_data = (void*) XE3GF
583         },
584         {
585                 .callback = dmi_matched,
586                 .ident = "Toshiba Satellite 3005",
587                 .matches = {
588                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
589                         DMI_MATCH(DMI_PRODUCT_NAME, "Satellite 3005"),
590                 },
591                 .driver_data = (void*) XE3GF,
592         },
593         {
594                 .callback = dmi_matched,
595                 .ident = "Toshiba Satellite A70",
596                 .matches = {
597                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
598                         DMI_MATCH(DMI_PRODUCT_NAME, "Satellite A70"),
599                 },
600                 .driver_data = (void*) TSM70
601         },
602         {
603                 .callback = dmi_matched,
604                 .ident = "Toshiba Satellite A75",
605                 .matches = {
606                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
607                         DMI_MATCH(DMI_PRODUCT_NAME, "Satellite A75"),
608                 },
609                 .driver_data = (void*) TSM70
610         },
611         {
612                 .callback = dmi_matched,
613                 .ident = "Toshiba Satellite A80",
614                 .matches = {
615                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
616                         DMI_MATCH(DMI_PRODUCT_NAME, "Satellite A80"),
617                 },
618                 .driver_data = (void*) TSM70
619         },
620         {
621                 .callback = dmi_matched,
622                 .ident = "Toshiba Satellite A105",
623                 .matches = {
624                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
625                         DMI_MATCH(DMI_PRODUCT_NAME, "Satellite A105"),
626                 },
627                 .driver_data = (void*) TSA105
628         },
629         {
630                 .callback = dmi_matched,
631                 .ident = "Toshiba Satellite A100",
632                 .matches = {
633                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
634                         DMI_MATCH(DMI_PRODUCT_NAME, "Satellite A100"),
635                 },
636                 .driver_data = (void*) TSA105
637         },
638         {
639                 .callback = dmi_matched,
640                 .ident = "Toshiba Satellite P100",
641                 .matches = {
642                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
643                         DMI_MATCH(DMI_PRODUCT_NAME, "Satellite P100"),
644                 },
645                 .driver_data = (void*) TSA105
646         },
647         {
648                 .callback = dmi_matched,
649                 .ident = "Toshiba Satellite P10",
650                 .matches = {
651                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
652                         DMI_MATCH(DMI_PRODUCT_NAME, "Satellite P10"),
653                 },
654                 .driver_data = (void*) TSP10
655         },
656         {
657                 .callback = dmi_matched,
658                 .ident = "Toshiba Satellite P15",
659                 .matches = {
660                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
661                         DMI_MATCH(DMI_PRODUCT_NAME, "Satellite P15"),
662                 },
663                 .driver_data = (void*) TSP10
664         },
665         {
666                 .callback = dmi_matched,
667                 .ident = "Toshiba Satellite P20",
668                 .matches = {
669                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
670                         DMI_MATCH(DMI_PRODUCT_NAME, "Satellite P20"),
671                 },
672                 .driver_data = (void*) TSP10
673         },
674         {
675                 .callback = dmi_matched,
676                 .ident = "Toshiba Satellite P25",
677                 .matches = {
678                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
679                         DMI_MATCH(DMI_PRODUCT_NAME, "Satellite P25"),
680                 },
681                 .driver_data = (void*) TSM70
682         },
683         {
684                 .callback = dmi_matched,
685                 .ident = "Toshiba Satellite M30X",
686                 .matches = {
687                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
688                         DMI_MATCH(DMI_PRODUCT_NAME, "Satellite M30X"),
689                 },
690                 .driver_data = (void*) TSM30X
691         },
692         {
693                 .callback = dmi_matched,
694                 .ident = "Toshiba Satellite M35X",
695                 .matches = {
696                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
697                         DMI_MATCH(DMI_PRODUCT_NAME, "Satellite M35X"),
698                 },
699                 .driver_data = (void*) TSM70
700         },
701         {
702                 .callback = dmi_matched,
703                 .ident = "Toshiba Satellite M50",
704                 .matches = {
705                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
706                         DMI_MATCH(DMI_PRODUCT_NAME, "Satellite M50"),
707                 },
708                 .driver_data = (void*) TSM70
709         },
710         {
711                 .callback = dmi_matched,
712                 .ident = "Toshiba Satellite M60",
713                 .matches = {
714                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
715                         DMI_MATCH(DMI_PRODUCT_NAME, "Satellite M60"),
716                 },
717                 .driver_data = (void*) TSM70
718         },
719         {
720                 .callback = dmi_matched,
721                 .ident = "Toshiba Satellite M70",
722                 .matches = {
723                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
724                         DMI_MATCH(DMI_PRODUCT_NAME, "Satellite M70"),
725                 },
726                 .driver_data = (void*) TSM70
727         },
728         {
729                 .callback = dmi_matched,
730                 .ident = "Toshiba Satellite M100",
731                 .matches = {
732                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
733                         DMI_MATCH(DMI_PRODUCT_NAME, "SATELLITE M100"),
734                 },
735                 .driver_data = (void*) TSM70
736         },
737         {
738                 .callback = dmi_matched,
739                 .ident = "Toshiba Satellite M100",
740                 .matches = {
741                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
742                         DMI_MATCH(DMI_PRODUCT_NAME, "Satellite M100"),
743                 },
744                 .driver_data = (void*) TSM70
745         },
746                 {
747                 .callback = dmi_matched,
748                 .ident = "Toshiba Satellite M115",
749                 .matches = {
750                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
751                         DMI_MATCH(DMI_PRODUCT_NAME, "Satellite M115"),
752                 },
753                 .driver_data = (void*) TSA105
754         },
755         {
756                 .callback = dmi_matched,
757                 .ident = "Toshiba Satellite M40X",
758                 .matches = {
759                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
760                         DMI_MATCH(DMI_PRODUCT_NAME, "Satellite M40X"),
761                 },
762                 .driver_data = (void*) TSM70
763         },
764         {
765                 .callback = dmi_matched,
766                 .ident = "Toshiba Satellite M40",
767                 .matches = {
768                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
769                         DMI_MATCH(DMI_PRODUCT_NAME, "Satellite M40"),
770                 },
771                 .driver_data = (void*) TSM40
772         },
773         {
774                 .callback = dmi_matched,
775                 .ident = "Toshiba Satellite M45",
776                 .matches = {
777                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
778                         DMI_MATCH(DMI_PRODUCT_NAME, "Satellite M45"),
779                 },
780                 .driver_data = (void*) TSM40
781         },
782         {
783                 .callback = dmi_matched,
784                 .ident = "Toshiba Satellite X205-S9800",
785                 .matches = {
786                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
787                         DMI_MATCH(DMI_PRODUCT_NAME, "Satellite X205"),
788                 },
789                 .driver_data = (void*) TSX205
790         },
791         {
792                 .callback = dmi_matched,
793                 .ident = "Toshiba Tecra S1",
794                 .matches = {
795                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
796                         DMI_MATCH(DMI_PRODUCT_NAME, "TECRA S1"),
797                 },
798                 .driver_data = (void*) TSM40
799         },
800         {
801                 .callback = dmi_matched,
802                 .ident = "Toshiba Tecra S1",
803                 .matches = {
804                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
805                         DMI_MATCH(DMI_PRODUCT_NAME, "Tecra S1"),
806                 },
807                 .driver_data = (void*) TSM40
808         },
809         {
810                 .callback = dmi_matched,
811                 .ident = "Toshiba Tecra S2",
812                 .matches = {
813                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
814                         DMI_MATCH(DMI_PRODUCT_NAME, "Tecra S2"),
815                 },
816                 .driver_data = (void*) TSM70
817         },
818         {
819                 .callback = dmi_matched,
820                 .ident = "Toshiba Tecra A4",
821                 .matches = {
822                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
823                         DMI_MATCH(DMI_PRODUCT_NAME, "Tecra A4"),
824                 },
825                 .driver_data = (void*) TSM40
826         },
827         {
828                 .callback = dmi_matched,
829                 .ident = "Toshiba Tecra A6",
830                 .matches = {
831                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
832                         DMI_MATCH(DMI_PRODUCT_NAME, "TECRA A6"),
833                 },
834                 .driver_data = (void*) TSM70
835         },
836         {
837                 .callback = dmi_matched,
838                 .ident = "Toshiba Equium A110",
839                 .matches = {
840                         DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
841                         DMI_MATCH(DMI_PRODUCT_NAME, "EQUIUM A110"),
842                 },
843                 .driver_data = (void*) TSM30X /* FIXME: provisional */
844         },
845         {
846                 .callback = dmi_matched,
847                 .ident = "Compal ACL00",
848                 .matches = {
849                         DMI_MATCH(DMI_SYS_VENDOR, "COMPAL"),
850                         DMI_MATCH(DMI_BOARD_NAME, "ACL00"),
851                 },
852                 .driver_data = (void*) XE3GF
853         },
854         {
855                 .callback = dmi_matched,
856                 .ident = "Compal ACL10",
857                 .matches = {
858                         DMI_MATCH(DMI_SYS_VENDOR, "COMPAL"),
859                         DMI_MATCH(DMI_BOARD_NAME, "ACL10"),
860                 },
861                 .driver_data = (void*) XE3GF
862         },
863         {
864                 .callback = dmi_matched,
865                 .ident = "Fujitsu-Siemens Amilo D series",
866                 .matches = {
867                         DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"),
868                         DMI_MATCH(DMI_PRODUCT_NAME, "Amilo D-Series"),
869                 },
870                 .driver_data = (void*) AMILOD
871         },
872 /* HP Technology code Matching:
873  * Technology code appears in the first two chracters of BIOS version string
874  * ended by a dot, but it prefixed a space character on some models and BIOS
875  * versions.
876  * New HP/Compaq models use more characters (eg. KF_KH.).
877  */
878         {
879                 .callback = dmi_matched,
880                 .ident = "HP model with technology code CI",
881                 .matches = {
882                         DMI_MATCH(DMI_SYS_VENDOR, HP_SIGNATURE),
883                         DMI_MATCH(DMI_BIOS_VERSION, "CI."),
884                 },
885                 .driver_data = (void*) OB4150
886         },
887         {
888                 .callback = dmi_matched,
889                 .ident = "HP model with technology code CL",
890                 .matches = {
891                         DMI_MATCH(DMI_SYS_VENDOR, HP_SIGNATURE),
892                         DMI_MATCH(DMI_BIOS_VERSION, "CL."),
893                 },
894                 .driver_data = (void*) OB4150
895         },
896         {
897                 .callback = dmi_matched,
898                 .ident = "HP model with technology code DC",
899                 .matches = {
900                         DMI_MATCH(DMI_SYS_VENDOR, HP_SIGNATURE),
901                         DMI_MATCH(DMI_BIOS_VERSION, "DC."),
902                 },
903                 .driver_data = (void*) XE2
904         },
905         {
906                 .callback = dmi_matched,
907                 .ident = "HP model with technology code EA",
908                 .matches = {
909                         DMI_MATCH(DMI_SYS_VENDOR, HP_SIGNATURE),
910                         DMI_MATCH(DMI_BIOS_VERSION, "EA."),
911                 },
912                 .driver_data = (void*) OB6000
913         },
914         {
915                 .callback = dmi_matched,
916                 .ident = "HP model with technology code EB",
917                 .matches = {
918                         DMI_MATCH(DMI_SYS_VENDOR, HP_SIGNATURE),
919                         DMI_MATCH(DMI_BIOS_VERSION, "EB."),
920                 },
921                 .driver_data = (void*) OB6100
922         },
923         {
924                 .callback = dmi_matched,
925                 .ident = "HP model with technology code EG",
926                 .matches = {
927                         DMI_MATCH(DMI_SYS_VENDOR, HP_SIGNATURE),
928                         DMI_MATCH(DMI_BIOS_VERSION, "EG."),
929                 },
930                 .driver_data = (void*) XE4500
931         },
932         {
933                 .callback = dmi_matched,
934                 .ident = "HP model with technology code FA",
935                 .matches = {
936                         DMI_MATCH(DMI_SYS_VENDOR, HP_SIGNATURE),
937                         DMI_MATCH(DMI_BIOS_VERSION, "FA."),
938                 },
939                 .driver_data = (void*) OB500
940         },
941         {
942                 .callback = dmi_matched,
943                 .ident = "HP model with technology code FB",
944                 .matches = {
945                         DMI_MATCH(DMI_SYS_VENDOR, HP_SIGNATURE),
946                         DMI_MATCH(DMI_BIOS_VERSION, "FB."),
947                 },
948                 .driver_data = (void*) OB510
949         },
950         {
951                 .callback = dmi_matched,
952                 .ident = "HP model with technology code GC",
953                 .matches = {
954                         DMI_MATCH(DMI_SYS_VENDOR, HP_SIGNATURE),
955                         DMI_MATCH(DMI_BIOS_VERSION, "GC."),
956                 },
957                 .driver_data = (void*) XE3GC
958         },
959         {
960                 .callback = dmi_matched,
961                 .ident = "HP model with technology code GD",
962                 .matches = {
963                         DMI_MATCH(DMI_SYS_VENDOR, HP_SIGNATURE),
964                         DMI_MATCH(DMI_BIOS_VERSION, "GD."),
965                 },
966                 .driver_data = (void*) XE3GC
967         },
968         {
969                 .callback = dmi_matched,
970                 .ident = "HP model with technology code GE",
971                 .matches = {
972                         DMI_MATCH(DMI_SYS_VENDOR, HP_SIGNATURE),
973                         DMI_MATCH(DMI_BIOS_VERSION, "GE."),
974                 },
975                 .driver_data = (void*) XE3GC
976         },
977         {
978                 .callback = dmi_matched,
979                 .ident = "HP model with technology code GF",
980                 .matches = {
981                         DMI_MATCH(DMI_SYS_VENDOR, HP_SIGNATURE),
982                         DMI_MATCH(DMI_BIOS_VERSION, "GF."),
983                 },
984                 .driver_data = (void*) XE3GF
985         },
986         {
987                 .callback = dmi_matched,
988                 .ident = "HP model with technology code IB",
989                 .matches = {
990                         DMI_MATCH(DMI_SYS_VENDOR, HP_SIGNATURE),
991                         DMI_MATCH(DMI_BIOS_VERSION, "IB."),
992                 },
993                 .driver_data = (void*) XE3GF
994         },
995         {
996                 .callback = dmi_matched,
997                 .ident = "HP model with technology code IC",
998                 .matches = {
999                         DMI_MATCH(DMI_SYS_VENDOR, HP_SIGNATURE),
1000                         DMI_MATCH(DMI_BIOS_VERSION, "IC."),
1001                 },
1002                 .driver_data = (void*) XE3GF
1003         },
1004         {
1005                 .callback = dmi_matched,
1006                 .ident = "HP model with technology code ID",
1007                 .matches = {
1008                         DMI_MATCH(DMI_SYS_VENDOR, HP_SIGNATURE),
1009                         DMI_MATCH(DMI_BIOS_VERSION, "ID."),
1010                 },
1011                 .driver_data = (void*) XE3GF
1012         },
1013         {
1014                 .callback = dmi_matched,
1015                 .ident = "HP model with technology code KA",
1016                 .matches = {
1017                         DMI_MATCH(DMI_SYS_VENDOR, HP_SIGNATURE),
1018                         DMI_MATCH(DMI_BIOS_VERSION, "KA."),
1019                 },
1020                 .driver_data = (void*) XE4500
1021         },
1022         {
1023                 .callback = dmi_matched,
1024                 .ident = "HP model with technology code KB",
1025                 .matches = {
1026                         DMI_MATCH(DMI_SYS_VENDOR, HP_SIGNATURE),
1027                         DMI_MATCH(DMI_BIOS_VERSION, "KB."),
1028                 },
1029                 .driver_data = (void*) XE4500
1030         },
1031         {
1032                 .callback = dmi_matched,
1033                 .ident = "HP model with technology code KC",
1034                 .matches = {
1035                         DMI_MATCH(DMI_SYS_VENDOR, HP_SIGNATURE),
1036                         DMI_MATCH(DMI_BIOS_VERSION, "KC."),
1037                 },
1038                 .driver_data = (void*) XE4500
1039         },
1040         {
1041                 .callback = dmi_matched,
1042                 .ident = "HP model with technology code KD",
1043                 .matches = {
1044                         DMI_MATCH(DMI_SYS_VENDOR, HP_SIGNATURE),
1045                         DMI_MATCH(DMI_BIOS_VERSION, "KD."),
1046                 },
1047                 .driver_data = (void*) XE4500
1048         },
1049         {
1050                 .callback = dmi_matched,
1051                 .ident = "HP model with technology code KE",
1052                 .matches = {
1053                         DMI_MATCH(DMI_SYS_VENDOR, HP_SIGNATURE),
1054                         DMI_MATCH(DMI_BIOS_VERSION, "KE."),
1055                 },
1056                 .driver_data = (void*) XE4500
1057         },
1058         {
1059                 .callback = dmi_matched,
1060                 .ident = "HP model with technology code KE_KG",
1061                 .matches = {
1062                         DMI_MATCH(DMI_SYS_VENDOR, HP_SIGNATURE),
1063                         DMI_MATCH(DMI_BIOS_VERSION, "KE_KG."),
1064                 },
1065                 .driver_data = (void*) XE4500
1066         },
1067         {
1068                 .callback = dmi_matched,
1069                 .ident = "HP model with technology code KF_KH",
1070                 .matches = {
1071                         DMI_MATCH(DMI_SYS_VENDOR, HP_SIGNATURE),
1072                         DMI_MATCH(DMI_BIOS_VERSION, "KF_KH."),
1073                 },
1074                 .driver_data = (void*) XE4500
1075         },
1076         { NULL, }
1077 };