tangled
alpha
login
or
join now
tjh.dev
/
kernel
1
fork
atom
Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1
fork
atom
overview
issues
pulls
pipelines
Merge branches 'release' and 'dmi' into release
Len Brown
18 years ago
5531d285
acf63867
+44
-39
4 changed files
expand all
collapse all
unified
split
drivers
acpi
blacklist.c
osl.c
firmware
dmi_scan.c
include
linux
dmi.h
+36
-20
drivers/acpi/blacklist.c
reviewed
···
206
206
* Disable OSI(Linux) warnings on all "Acer, inc."
207
207
*
208
208
* _OSI(Linux) disables the latest Windows BIOS code:
209
209
+
* DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 3100"),
209
210
* DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5050"),
211
211
+
* DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5100"),
210
212
* DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5580"),
211
213
* DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 3010"),
212
214
* _OSI(Linux) effect unknown:
213
215
* DMI_MATCH(DMI_PRODUCT_NAME, "Ferrari 5000"),
214
216
*/
215
215
-
{
216
216
-
.callback = dmi_disable_osi_linux,
217
217
-
.ident = "Acer, inc.",
218
218
-
.matches = {
219
219
-
DMI_MATCH(DMI_SYS_VENDOR, "Acer, inc."),
220
220
-
},
221
221
-
},
217
217
+
/*
218
218
+
* note that dmi_check_system() uses strstr()
219
219
+
* to match sub-strings rather than !strcmp(),
220
220
+
* so "Acer" below matches "Acer, inc." above.
221
221
+
*/
222
222
/*
223
223
* Disable OSI(Linux) warnings on all "Acer"
224
224
*
225
225
* _OSI(Linux) effect unknown:
226
226
-
* DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5100"),
227
226
* DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5610"),
228
227
* DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 7720Z"),
229
228
* DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 5520"),
230
229
* DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 6460"),
231
230
* DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 7510"),
232
231
* DMI_MATCH(DMI_PRODUCT_NAME, "Extensa 5220"),
232
232
+
*
233
233
+
* _OSI(Linux) is a NOP:
234
234
+
* DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5315"),
233
235
*/
234
236
{
235
235
-
.callback = dmi_unknown_osi_linux,
237
237
+
.callback = dmi_disable_osi_linux,
236
238
.ident = "Acer",
237
239
.matches = {
238
240
DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
···
242
240
},
243
241
/*
244
242
* Disable OSI(Linux) warnings on all "Apple Computer, Inc."
243
243
+
* Disable OSI(Linux) warnings on all "Apple Inc."
245
244
*
246
245
* _OSI(Linux) confirmed to be a NOP:
247
246
* DMI_MATCH(DMI_PRODUCT_NAME, "MacBook1,1"),
248
247
* DMI_MATCH(DMI_PRODUCT_NAME, "MacBook2,1"),
249
248
* DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro2,2"),
249
249
+
* DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro3,1"),
250
250
* _OSI(Linux) effect unknown:
251
251
* DMI_MATCH(DMI_PRODUCT_NAME, "MacPro2,1"),
252
252
* DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro1,1"),
253
253
-
* DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro3,1"),
254
253
*/
255
254
{
256
255
.callback = dmi_disable_osi_linux,
257
256
.ident = "Apple",
258
257
.matches = {
259
259
-
DMI_MATCH(DMI_SYS_VENDOR, "Apple Computer, Inc."),
258
258
+
DMI_MATCH(DMI_SYS_VENDOR, "Apple"),
260
259
},
261
260
},
262
261
/*
···
295
292
* DMI_MATCH(DMI_BOARD_NAME, "IFL91"),
296
293
*/
297
294
{
298
298
-
.callback = dmi_unknown_osi_linux,
295
295
+
.callback = dmi_disable_osi_linux,
299
296
.ident = "Compal",
300
297
.matches = {
301
298
DMI_MATCH(DMI_BIOS_VENDOR, "COMPAL"),
302
299
},
303
300
},
304
304
-
{ /* OSI(Linux) touches USB, breaks suspend to disk */
301
301
+
{ /* OSI(Linux) touches USB, unknown side-effect */
305
302
.callback = dmi_disable_osi_linux,
306
303
.ident = "Dell Dimension 5150",
307
304
.matches = {
···
311
308
},
312
309
{ /* OSI(Linux) is a NOP */
313
310
.callback = dmi_disable_osi_linux,
314
314
-
.ident = "Dell",
311
311
+
.ident = "Dell i1501",
315
312
.matches = {
316
313
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
317
314
DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1501"),
···
319
316
},
320
317
{ /* OSI(Linux) effect unknown */
321
318
.callback = dmi_unknown_osi_linux,
322
322
-
.ident = "Dell",
319
319
+
.ident = "Dell Latitude D830",
323
320
.matches = {
324
321
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
325
322
DMI_MATCH(DMI_PRODUCT_NAME, "Latitude D830"),
···
327
324
},
328
325
{ /* OSI(Linux) effect unknown */
329
326
.callback = dmi_unknown_osi_linux,
330
330
-
.ident = "Dell",
327
327
+
.ident = "Dell OP GX620",
331
328
.matches = {
332
329
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
333
330
DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex GX620"),
···
335
332
},
336
333
{ /* OSI(Linux) effect unknown */
337
334
.callback = dmi_unknown_osi_linux,
338
338
-
.ident = "Dell",
335
335
+
.ident = "Dell PE 1900",
339
336
.matches = {
340
337
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
341
338
DMI_MATCH(DMI_PRODUCT_NAME, "PowerEdge 1900"),
342
339
},
343
340
},
341
341
+
{ /* OSI(Linux) is a NOP */
342
342
+
.callback = dmi_disable_osi_linux,
343
343
+
.ident = "Dell PE R200",
344
344
+
.matches = {
345
345
+
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
346
346
+
DMI_MATCH(DMI_PRODUCT_NAME, "PowerEdge R200"),
347
347
+
},
348
348
+
},
344
349
{ /* OSI(Linux) touches USB */
345
350
.callback = dmi_disable_osi_linux,
346
346
-
.ident = "Dell",
351
351
+
.ident = "Dell PR 390",
347
352
.matches = {
348
353
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
349
354
DMI_MATCH(DMI_PRODUCT_NAME, "Precision WorkStation 390"),
···
367
356
},
368
357
{ /* OSI(Linux) effect unknown */
369
358
.callback = dmi_unknown_osi_linux,
370
370
-
.ident = "Dell",
359
359
+
.ident = "Dell PE SC440",
371
360
.matches = {
372
361
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
373
362
DMI_MATCH(DMI_PRODUCT_NAME, "PowerEdge SC440"),
···
483
472
*
484
473
* _OSI(Linux) confirmed to be a NOP:
485
474
* DMI_MATCH(DMI_PRODUCT_NAME, "P1-J150B"),
475
475
+
* with DMI_MATCH(DMI_BOARD_NAME, "ROCKY"),
476
476
+
*
477
477
+
* unknown:
478
478
+
* DMI_MATCH(DMI_PRODUCT_NAME, "S1-MDGDG"),
479
479
+
* with DMI_MATCH(DMI_BOARD_NAME, "ROCKY"),
486
480
*/
487
481
{
488
482
.callback = dmi_disable_osi_linux,
···
530
514
* DMI_MATCH(DMI_PRODUCT_NAME, "VGN-FZ11M"),
531
515
*/
532
516
{
533
533
-
.callback = dmi_unknown_osi_linux,
517
517
+
.callback = dmi_disable_osi_linux,
534
518
.ident = "Sony",
535
519
.matches = {
536
520
DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"),
+8
-8
drivers/acpi/osl.c
reviewed
···
120
120
*/
121
121
#define OSI_LINUX_ENABLE 0
122
122
123
123
-
struct osi_linux {
123
123
+
static struct osi_linux {
124
124
unsigned int enable:1;
125
125
unsigned int dmi:1;
126
126
unsigned int cmdline:1;
···
1217
1217
*
1218
1218
* Returns 0 on success
1219
1219
*/
1220
1220
-
int acpi_dmi_dump(void)
1220
1220
+
static int acpi_dmi_dump(void)
1221
1221
{
1222
1222
1223
1223
if (!dmi_available)
1224
1224
return -1;
1225
1225
1226
1226
printk(KERN_NOTICE PREFIX "DMI System Vendor: %s\n",
1227
1227
-
dmi_get_slot(DMI_SYS_VENDOR));
1227
1227
+
dmi_get_system_info(DMI_SYS_VENDOR));
1228
1228
printk(KERN_NOTICE PREFIX "DMI Product Name: %s\n",
1229
1229
-
dmi_get_slot(DMI_PRODUCT_NAME));
1229
1229
+
dmi_get_system_info(DMI_PRODUCT_NAME));
1230
1230
printk(KERN_NOTICE PREFIX "DMI Product Version: %s\n",
1231
1231
-
dmi_get_slot(DMI_PRODUCT_VERSION));
1231
1231
+
dmi_get_system_info(DMI_PRODUCT_VERSION));
1232
1232
printk(KERN_NOTICE PREFIX "DMI Board Name: %s\n",
1233
1233
-
dmi_get_slot(DMI_BOARD_NAME));
1233
1233
+
dmi_get_system_info(DMI_BOARD_NAME));
1234
1234
printk(KERN_NOTICE PREFIX "DMI BIOS Vendor: %s\n",
1235
1235
-
dmi_get_slot(DMI_BIOS_VENDOR));
1235
1235
+
dmi_get_system_info(DMI_BIOS_VENDOR));
1236
1236
printk(KERN_NOTICE PREFIX "DMI BIOS Date: %s\n",
1237
1237
-
dmi_get_slot(DMI_BIOS_DATE));
1237
1237
+
dmi_get_system_info(DMI_BIOS_DATE));
1238
1238
1239
1239
return 0;
1240
1240
}
-9
drivers/firmware/dmi_scan.c
reviewed
···
489
489
490
490
return year;
491
491
}
492
492
-
493
493
-
/**
494
494
-
* dmi_get_slot - return dmi_ident[slot]
495
495
-
* @slot: index into dmi_ident[]
496
496
-
*/
497
497
-
char *dmi_get_slot(int slot)
498
498
-
{
499
499
-
return(dmi_ident[slot]);
500
500
-
}
-2
include/linux/dmi.h
reviewed
···
79
79
extern int dmi_get_year(int field);
80
80
extern int dmi_name_in_vendors(const char *str);
81
81
extern int dmi_available;
82
82
-
extern char *dmi_get_slot(int slot);
83
82
84
83
#else
85
84
···
89
90
static inline int dmi_get_year(int year) { return 0; }
90
91
static inline int dmi_name_in_vendors(const char *s) { return 0; }
91
92
#define dmi_available 0
92
92
-
static inline char *dmi_get_slot(int slot) { return NULL; }
93
93
94
94
#endif
95
95