mirror of https://gitee.com/openkylin/linux.git
Merge branches 'release' and 'dmi' into release
This commit is contained in:
commit
5531d28504
|
@ -206,33 +206,35 @@ static struct dmi_system_id acpi_osi_dmi_table[] __initdata = {
|
||||||
* Disable OSI(Linux) warnings on all "Acer, inc."
|
* Disable OSI(Linux) warnings on all "Acer, inc."
|
||||||
*
|
*
|
||||||
* _OSI(Linux) disables the latest Windows BIOS code:
|
* _OSI(Linux) disables the latest Windows BIOS code:
|
||||||
|
* DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 3100"),
|
||||||
* DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5050"),
|
* DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5050"),
|
||||||
|
* DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5100"),
|
||||||
* DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5580"),
|
* DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5580"),
|
||||||
* DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 3010"),
|
* DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 3010"),
|
||||||
* _OSI(Linux) effect unknown:
|
* _OSI(Linux) effect unknown:
|
||||||
* DMI_MATCH(DMI_PRODUCT_NAME, "Ferrari 5000"),
|
* DMI_MATCH(DMI_PRODUCT_NAME, "Ferrari 5000"),
|
||||||
*/
|
*/
|
||||||
{
|
/*
|
||||||
.callback = dmi_disable_osi_linux,
|
* note that dmi_check_system() uses strstr()
|
||||||
.ident = "Acer, inc.",
|
* to match sub-strings rather than !strcmp(),
|
||||||
.matches = {
|
* so "Acer" below matches "Acer, inc." above.
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "Acer, inc."),
|
*/
|
||||||
},
|
|
||||||
},
|
|
||||||
/*
|
/*
|
||||||
* Disable OSI(Linux) warnings on all "Acer"
|
* Disable OSI(Linux) warnings on all "Acer"
|
||||||
*
|
*
|
||||||
* _OSI(Linux) effect unknown:
|
* _OSI(Linux) effect unknown:
|
||||||
* DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5100"),
|
|
||||||
* DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5610"),
|
* DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5610"),
|
||||||
* DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 7720Z"),
|
* DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 7720Z"),
|
||||||
* DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 5520"),
|
* DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 5520"),
|
||||||
* DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 6460"),
|
* DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 6460"),
|
||||||
* DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 7510"),
|
* DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 7510"),
|
||||||
* DMI_MATCH(DMI_PRODUCT_NAME, "Extensa 5220"),
|
* DMI_MATCH(DMI_PRODUCT_NAME, "Extensa 5220"),
|
||||||
|
*
|
||||||
|
* _OSI(Linux) is a NOP:
|
||||||
|
* DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5315"),
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
.callback = dmi_unknown_osi_linux,
|
.callback = dmi_disable_osi_linux,
|
||||||
.ident = "Acer",
|
.ident = "Acer",
|
||||||
.matches = {
|
.matches = {
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
|
DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
|
||||||
|
@ -240,21 +242,22 @@ static struct dmi_system_id acpi_osi_dmi_table[] __initdata = {
|
||||||
},
|
},
|
||||||
/*
|
/*
|
||||||
* Disable OSI(Linux) warnings on all "Apple Computer, Inc."
|
* Disable OSI(Linux) warnings on all "Apple Computer, Inc."
|
||||||
|
* Disable OSI(Linux) warnings on all "Apple Inc."
|
||||||
*
|
*
|
||||||
* _OSI(Linux) confirmed to be a NOP:
|
* _OSI(Linux) confirmed to be a NOP:
|
||||||
* DMI_MATCH(DMI_PRODUCT_NAME, "MacBook1,1"),
|
* DMI_MATCH(DMI_PRODUCT_NAME, "MacBook1,1"),
|
||||||
* DMI_MATCH(DMI_PRODUCT_NAME, "MacBook2,1"),
|
* DMI_MATCH(DMI_PRODUCT_NAME, "MacBook2,1"),
|
||||||
* DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro2,2"),
|
* DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro2,2"),
|
||||||
|
* DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro3,1"),
|
||||||
* _OSI(Linux) effect unknown:
|
* _OSI(Linux) effect unknown:
|
||||||
* DMI_MATCH(DMI_PRODUCT_NAME, "MacPro2,1"),
|
* DMI_MATCH(DMI_PRODUCT_NAME, "MacPro2,1"),
|
||||||
* DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro1,1"),
|
* DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro1,1"),
|
||||||
* DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro3,1"),
|
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
.callback = dmi_disable_osi_linux,
|
.callback = dmi_disable_osi_linux,
|
||||||
.ident = "Apple",
|
.ident = "Apple",
|
||||||
.matches = {
|
.matches = {
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "Apple Computer, Inc."),
|
DMI_MATCH(DMI_SYS_VENDOR, "Apple"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
/*
|
/*
|
||||||
|
@ -292,13 +295,13 @@ static struct dmi_system_id acpi_osi_dmi_table[] __initdata = {
|
||||||
* DMI_MATCH(DMI_BOARD_NAME, "IFL91"),
|
* DMI_MATCH(DMI_BOARD_NAME, "IFL91"),
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
.callback = dmi_unknown_osi_linux,
|
.callback = dmi_disable_osi_linux,
|
||||||
.ident = "Compal",
|
.ident = "Compal",
|
||||||
.matches = {
|
.matches = {
|
||||||
DMI_MATCH(DMI_BIOS_VENDOR, "COMPAL"),
|
DMI_MATCH(DMI_BIOS_VENDOR, "COMPAL"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{ /* OSI(Linux) touches USB, breaks suspend to disk */
|
{ /* OSI(Linux) touches USB, unknown side-effect */
|
||||||
.callback = dmi_disable_osi_linux,
|
.callback = dmi_disable_osi_linux,
|
||||||
.ident = "Dell Dimension 5150",
|
.ident = "Dell Dimension 5150",
|
||||||
.matches = {
|
.matches = {
|
||||||
|
@ -308,7 +311,7 @@ static struct dmi_system_id acpi_osi_dmi_table[] __initdata = {
|
||||||
},
|
},
|
||||||
{ /* OSI(Linux) is a NOP */
|
{ /* OSI(Linux) is a NOP */
|
||||||
.callback = dmi_disable_osi_linux,
|
.callback = dmi_disable_osi_linux,
|
||||||
.ident = "Dell",
|
.ident = "Dell i1501",
|
||||||
.matches = {
|
.matches = {
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
|
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
|
||||||
DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1501"),
|
DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1501"),
|
||||||
|
@ -316,7 +319,7 @@ static struct dmi_system_id acpi_osi_dmi_table[] __initdata = {
|
||||||
},
|
},
|
||||||
{ /* OSI(Linux) effect unknown */
|
{ /* OSI(Linux) effect unknown */
|
||||||
.callback = dmi_unknown_osi_linux,
|
.callback = dmi_unknown_osi_linux,
|
||||||
.ident = "Dell",
|
.ident = "Dell Latitude D830",
|
||||||
.matches = {
|
.matches = {
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
|
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
|
||||||
DMI_MATCH(DMI_PRODUCT_NAME, "Latitude D830"),
|
DMI_MATCH(DMI_PRODUCT_NAME, "Latitude D830"),
|
||||||
|
@ -324,7 +327,7 @@ static struct dmi_system_id acpi_osi_dmi_table[] __initdata = {
|
||||||
},
|
},
|
||||||
{ /* OSI(Linux) effect unknown */
|
{ /* OSI(Linux) effect unknown */
|
||||||
.callback = dmi_unknown_osi_linux,
|
.callback = dmi_unknown_osi_linux,
|
||||||
.ident = "Dell",
|
.ident = "Dell OP GX620",
|
||||||
.matches = {
|
.matches = {
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
|
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
|
||||||
DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex GX620"),
|
DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex GX620"),
|
||||||
|
@ -332,15 +335,23 @@ static struct dmi_system_id acpi_osi_dmi_table[] __initdata = {
|
||||||
},
|
},
|
||||||
{ /* OSI(Linux) effect unknown */
|
{ /* OSI(Linux) effect unknown */
|
||||||
.callback = dmi_unknown_osi_linux,
|
.callback = dmi_unknown_osi_linux,
|
||||||
.ident = "Dell",
|
.ident = "Dell PE 1900",
|
||||||
.matches = {
|
.matches = {
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
|
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
|
||||||
DMI_MATCH(DMI_PRODUCT_NAME, "PowerEdge 1900"),
|
DMI_MATCH(DMI_PRODUCT_NAME, "PowerEdge 1900"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{ /* OSI(Linux) is a NOP */
|
||||||
|
.callback = dmi_disable_osi_linux,
|
||||||
|
.ident = "Dell PE R200",
|
||||||
|
.matches = {
|
||||||
|
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
|
||||||
|
DMI_MATCH(DMI_PRODUCT_NAME, "PowerEdge R200"),
|
||||||
|
},
|
||||||
|
},
|
||||||
{ /* OSI(Linux) touches USB */
|
{ /* OSI(Linux) touches USB */
|
||||||
.callback = dmi_disable_osi_linux,
|
.callback = dmi_disable_osi_linux,
|
||||||
.ident = "Dell",
|
.ident = "Dell PR 390",
|
||||||
.matches = {
|
.matches = {
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
|
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
|
||||||
DMI_MATCH(DMI_PRODUCT_NAME, "Precision WorkStation 390"),
|
DMI_MATCH(DMI_PRODUCT_NAME, "Precision WorkStation 390"),
|
||||||
|
@ -356,7 +367,7 @@ static struct dmi_system_id acpi_osi_dmi_table[] __initdata = {
|
||||||
},
|
},
|
||||||
{ /* OSI(Linux) effect unknown */
|
{ /* OSI(Linux) effect unknown */
|
||||||
.callback = dmi_unknown_osi_linux,
|
.callback = dmi_unknown_osi_linux,
|
||||||
.ident = "Dell",
|
.ident = "Dell PE SC440",
|
||||||
.matches = {
|
.matches = {
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
|
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
|
||||||
DMI_MATCH(DMI_PRODUCT_NAME, "PowerEdge SC440"),
|
DMI_MATCH(DMI_PRODUCT_NAME, "PowerEdge SC440"),
|
||||||
|
@ -472,6 +483,11 @@ static struct dmi_system_id acpi_osi_dmi_table[] __initdata = {
|
||||||
*
|
*
|
||||||
* _OSI(Linux) confirmed to be a NOP:
|
* _OSI(Linux) confirmed to be a NOP:
|
||||||
* DMI_MATCH(DMI_PRODUCT_NAME, "P1-J150B"),
|
* DMI_MATCH(DMI_PRODUCT_NAME, "P1-J150B"),
|
||||||
|
* with DMI_MATCH(DMI_BOARD_NAME, "ROCKY"),
|
||||||
|
*
|
||||||
|
* unknown:
|
||||||
|
* DMI_MATCH(DMI_PRODUCT_NAME, "S1-MDGDG"),
|
||||||
|
* with DMI_MATCH(DMI_BOARD_NAME, "ROCKY"),
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
.callback = dmi_disable_osi_linux,
|
.callback = dmi_disable_osi_linux,
|
||||||
|
@ -514,7 +530,7 @@ static struct dmi_system_id acpi_osi_dmi_table[] __initdata = {
|
||||||
* DMI_MATCH(DMI_PRODUCT_NAME, "VGN-FZ11M"),
|
* DMI_MATCH(DMI_PRODUCT_NAME, "VGN-FZ11M"),
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
.callback = dmi_unknown_osi_linux,
|
.callback = dmi_disable_osi_linux,
|
||||||
.ident = "Sony",
|
.ident = "Sony",
|
||||||
.matches = {
|
.matches = {
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"),
|
DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"),
|
||||||
|
|
|
@ -120,7 +120,7 @@ static char osi_additional_string[OSI_STRING_LENGTH_MAX];
|
||||||
*/
|
*/
|
||||||
#define OSI_LINUX_ENABLE 0
|
#define OSI_LINUX_ENABLE 0
|
||||||
|
|
||||||
struct osi_linux {
|
static struct osi_linux {
|
||||||
unsigned int enable:1;
|
unsigned int enable:1;
|
||||||
unsigned int dmi:1;
|
unsigned int dmi:1;
|
||||||
unsigned int cmdline:1;
|
unsigned int cmdline:1;
|
||||||
|
@ -1217,24 +1217,24 @@ acpi_status acpi_os_release_object(acpi_cache_t * cache, void *object)
|
||||||
*
|
*
|
||||||
* Returns 0 on success
|
* Returns 0 on success
|
||||||
*/
|
*/
|
||||||
int acpi_dmi_dump(void)
|
static int acpi_dmi_dump(void)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (!dmi_available)
|
if (!dmi_available)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
printk(KERN_NOTICE PREFIX "DMI System Vendor: %s\n",
|
printk(KERN_NOTICE PREFIX "DMI System Vendor: %s\n",
|
||||||
dmi_get_slot(DMI_SYS_VENDOR));
|
dmi_get_system_info(DMI_SYS_VENDOR));
|
||||||
printk(KERN_NOTICE PREFIX "DMI Product Name: %s\n",
|
printk(KERN_NOTICE PREFIX "DMI Product Name: %s\n",
|
||||||
dmi_get_slot(DMI_PRODUCT_NAME));
|
dmi_get_system_info(DMI_PRODUCT_NAME));
|
||||||
printk(KERN_NOTICE PREFIX "DMI Product Version: %s\n",
|
printk(KERN_NOTICE PREFIX "DMI Product Version: %s\n",
|
||||||
dmi_get_slot(DMI_PRODUCT_VERSION));
|
dmi_get_system_info(DMI_PRODUCT_VERSION));
|
||||||
printk(KERN_NOTICE PREFIX "DMI Board Name: %s\n",
|
printk(KERN_NOTICE PREFIX "DMI Board Name: %s\n",
|
||||||
dmi_get_slot(DMI_BOARD_NAME));
|
dmi_get_system_info(DMI_BOARD_NAME));
|
||||||
printk(KERN_NOTICE PREFIX "DMI BIOS Vendor: %s\n",
|
printk(KERN_NOTICE PREFIX "DMI BIOS Vendor: %s\n",
|
||||||
dmi_get_slot(DMI_BIOS_VENDOR));
|
dmi_get_system_info(DMI_BIOS_VENDOR));
|
||||||
printk(KERN_NOTICE PREFIX "DMI BIOS Date: %s\n",
|
printk(KERN_NOTICE PREFIX "DMI BIOS Date: %s\n",
|
||||||
dmi_get_slot(DMI_BIOS_DATE));
|
dmi_get_system_info(DMI_BIOS_DATE));
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -489,12 +489,3 @@ int dmi_get_year(int field)
|
||||||
|
|
||||||
return year;
|
return year;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* dmi_get_slot - return dmi_ident[slot]
|
|
||||||
* @slot: index into dmi_ident[]
|
|
||||||
*/
|
|
||||||
char *dmi_get_slot(int slot)
|
|
||||||
{
|
|
||||||
return(dmi_ident[slot]);
|
|
||||||
}
|
|
||||||
|
|
|
@ -79,7 +79,6 @@ extern void dmi_scan_machine(void);
|
||||||
extern int dmi_get_year(int field);
|
extern int dmi_get_year(int field);
|
||||||
extern int dmi_name_in_vendors(const char *str);
|
extern int dmi_name_in_vendors(const char *str);
|
||||||
extern int dmi_available;
|
extern int dmi_available;
|
||||||
extern char *dmi_get_slot(int slot);
|
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
|
@ -90,7 +89,6 @@ static inline const struct dmi_device * dmi_find_device(int type, const char *na
|
||||||
static inline int dmi_get_year(int year) { return 0; }
|
static inline int dmi_get_year(int year) { return 0; }
|
||||||
static inline int dmi_name_in_vendors(const char *s) { return 0; }
|
static inline int dmi_name_in_vendors(const char *s) { return 0; }
|
||||||
#define dmi_available 0
|
#define dmi_available 0
|
||||||
static inline char *dmi_get_slot(int slot) { return NULL; }
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue