Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
5fd850a8
Commit
5fd850a8
authored
Aug 13, 2004
by
Len Brown
Browse files
Options
Browse Files
Download
Plain Diff
merge
parents
858cb35b
7a4bd356
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
49 additions
and
67 deletions
+49
-67
arch/i386/kernel/dmi_scan.c
arch/i386/kernel/dmi_scan.c
+0
-47
drivers/acpi/blacklist.c
drivers/acpi/blacklist.c
+0
-14
drivers/acpi/bus.c
drivers/acpi/bus.c
+32
-6
drivers/acpi/osl.c
drivers/acpi/osl.c
+10
-0
init/main.c
init/main.c
+7
-0
No files found.
arch/i386/kernel/dmi_scan.c
View file @
5fd850a8
...
...
@@ -162,27 +162,6 @@ static void __init dmi_save_ident(struct dmi_header *dm, int slot, int string)
#define NO_MATCH { DMI_NONE, NULL}
#define MATCH DMI_MATCH
/*
* Some machines, usually laptops, can't handle an enabled local APIC.
* The symptoms include hangs or reboots when suspending or resuming,
* attaching or detaching the power cord, or entering BIOS setup screens
* through magic key sequences.
*/
static
int
__init
local_apic_kills_bios
(
struct
dmi_blacklist
*
d
)
{
#ifdef CONFIG_X86_LOCAL_APIC
extern
int
enable_local_apic
;
if
(
enable_local_apic
==
0
)
{
enable_local_apic
=
-
1
;
printk
(
KERN_WARNING
"%s with broken BIOS detected. "
"Refusing to enable the local APIC.
\n
"
,
d
->
ident
);
}
#endif
return
0
;
}
/*
* Toshiba keyboard likes to repeat keys when they are not repeated.
*/
...
...
@@ -284,32 +263,6 @@ static __init int disable_acpi_pci(struct dmi_blacklist *d)
static
__initdata
struct
dmi_blacklist
dmi_blacklist
[]
=
{
/* Machines which have problems handling enabled local APICs */
{
local_apic_kills_bios
,
"Dell Inspiron"
,
{
MATCH
(
DMI_SYS_VENDOR
,
"Dell Computer Corporation"
),
MATCH
(
DMI_PRODUCT_NAME
,
"Inspiron"
),
NO_MATCH
,
NO_MATCH
}
},
{
local_apic_kills_bios
,
"Dell Latitude"
,
{
MATCH
(
DMI_SYS_VENDOR
,
"Dell Computer Corporation"
),
MATCH
(
DMI_PRODUCT_NAME
,
"Latitude"
),
NO_MATCH
,
NO_MATCH
}
},
{
local_apic_kills_bios
,
"IBM Thinkpad T20"
,
{
MATCH
(
DMI_BOARD_VENDOR
,
"IBM"
),
MATCH
(
DMI_BOARD_NAME
,
"264741U"
),
NO_MATCH
,
NO_MATCH
}
},
{
local_apic_kills_bios
,
"ASUS L3C"
,
{
MATCH
(
DMI_BOARD_VENDOR
,
"ASUSTeK Computer INC."
),
MATCH
(
DMI_BOARD_NAME
,
"P4_L3C"
),
NO_MATCH
,
NO_MATCH
}
},
{
broken_toshiba_keyboard
,
"Toshiba Satellite 4030cdt"
,
{
/* Keyboard generates spurious repeats */
MATCH
(
DMI_PRODUCT_NAME
,
"S4030CDT/4.3"
),
NO_MATCH
,
NO_MATCH
,
NO_MATCH
...
...
drivers/acpi/blacklist.c
View file @
5fd850a8
...
...
@@ -56,20 +56,6 @@ struct acpi_blacklist_item
*/
static
struct
acpi_blacklist_item
acpi_blacklist
[]
__initdata
=
{
/* Portege 7020, BIOS 8.10 */
{
"TOSHIB"
,
"7020CT "
,
0x19991112
,
ACPI_DSDT
,
all_versions
,
"Implicit Return"
,
0
},
/* Portege 4030 */
{
"TOSHIB"
,
"4030 "
,
0x19991112
,
ACPI_DSDT
,
all_versions
,
"Implicit Return"
,
0
},
/* Portege 310/320, BIOS 7.1 */
{
"TOSHIB"
,
"310 "
,
0x19990511
,
ACPI_DSDT
,
all_versions
,
"Implicit Return"
,
0
},
/* Seattle 2, old bios rev. */
{
"INTEL "
,
"440BX "
,
0x00001000
,
ACPI_DSDT
,
less_than_or_equal
,
"Field beyond end of region"
,
0
},
/* ASUS K7M */
{
"ASUS "
,
"K7M "
,
0x00001000
,
ACPI_DSDT
,
less_than_or_equal
,
"Field beyond end of region"
,
0
},
/* Intel 810 Motherboard? */
{
"MNTRAL"
,
"MO81010A"
,
0x00000012
,
ACPI_DSDT
,
less_than_or_equal
,
"Field beyond end of region"
,
0
},
/* Compaq Presario 711FR */
{
"COMAPQ"
,
"EAGLES"
,
0x06040000
,
ACPI_DSDT
,
less_than_or_equal
,
"SCI issues (C2 disabled)"
,
0
},
/* Compaq Presario 1700 */
{
"PTLTD "
,
" DSDT "
,
0x06040000
,
ACPI_DSDT
,
less_than_or_equal
,
"Multiple problems"
,
1
},
/* Sony FX120, FX140, FX150? */
...
...
drivers/acpi/bus.c
View file @
5fd850a8
...
...
@@ -590,10 +590,9 @@ acpi_bus_init_irq (void)
}
static
int
__init
acpi_
bus
_init
(
void
)
void
__init
acpi_
early
_init
(
void
)
{
int
result
=
0
;
acpi_status
status
=
AE_OK
;
struct
acpi_buffer
buffer
=
{
sizeof
(
acpi_fadt
),
&
acpi_fadt
};
...
...
@@ -617,7 +616,7 @@ acpi_bus_init (void)
status
=
acpi_get_table
(
ACPI_TABLE_FADT
,
1
,
&
buffer
);
if
(
ACPI_FAILURE
(
status
))
{
printk
(
KERN_ERR
PREFIX
"Unable to get the FADT
\n
"
);
goto
error
1
;
goto
error
0
;
}
#ifdef CONFIG_X86
...
...
@@ -640,12 +639,40 @@ acpi_bus_init (void)
}
#endif
status
=
acpi_enable_subsystem
(
ACPI_FULL_INITIALIZATION
);
status
=
acpi_enable_subsystem
(
~
(
ACPI_NO_HARDWARE_INIT
|
ACPI_NO_ACPI_ENABLE
));
if
(
ACPI_FAILURE
(
status
))
{
printk
(
KERN_ERR
PREFIX
"Unable to enable ACPI
\n
"
);
goto
error0
;
}
return
;
error0:
disable_acpi
();
return
;
}
static
int
__init
acpi_bus_init
(
void
)
{
int
result
=
0
;
acpi_status
status
=
AE_OK
;
extern
acpi_status
acpi_os_initialize1
(
void
);
ACPI_FUNCTION_TRACE
(
"acpi_bus_init"
);
status
=
acpi_os_initialize1
();
status
=
acpi_enable_subsystem
(
ACPI_NO_HARDWARE_INIT
|
ACPI_NO_ACPI_ENABLE
);
if
(
ACPI_FAILURE
(
status
))
{
printk
(
KERN_ERR
PREFIX
"Unable to start the ACPI Interpreter
\n
"
);
goto
error1
;
}
if
(
ACPI_FAILURE
(
status
))
{
printk
(
KERN_ERR
PREFIX
"Unable to initialize ACPI OS objects
\n
"
);
goto
error1
;
}
#ifdef CONFIG_ACPI_EC
/*
* ACPI 2.0 requires the EC driver to be loaded and work before
...
...
@@ -693,7 +720,6 @@ acpi_bus_init (void)
/* Mimic structured exception handling */
error1:
acpi_terminate
();
error0:
return_VALUE
(
-
ENODEV
);
}
...
...
drivers/acpi/osl.c
View file @
5fd850a8
...
...
@@ -70,6 +70,12 @@ static struct workqueue_struct *kacpid_wq;
acpi_status
acpi_os_initialize
(
void
)
{
return
AE_OK
;
}
acpi_status
acpi_os_initialize1
(
void
)
{
/*
* Initialize PCI configuration space access, as we'll need to access
...
...
@@ -470,6 +476,8 @@ acpi_os_read_pci_configuration (struct acpi_pci_id *pci_id, u32 reg, void *value
return
AE_ERROR
;
}
BUG_ON
(
!
raw_pci_ops
);
result
=
raw_pci_ops
->
read
(
pci_id
->
segment
,
pci_id
->
bus
,
PCI_DEVFN
(
pci_id
->
device
,
pci_id
->
function
),
reg
,
size
,
value
);
...
...
@@ -496,6 +504,8 @@ acpi_os_write_pci_configuration (struct acpi_pci_id *pci_id, u32 reg, acpi_integ
return
AE_ERROR
;
}
BUG_ON
(
!
raw_pci_ops
);
result
=
raw_pci_ops
->
write
(
pci_id
->
segment
,
pci_id
->
bus
,
PCI_DEVFN
(
pci_id
->
device
,
pci_id
->
function
),
reg
,
size
,
value
);
...
...
init/main.c
View file @
5fd850a8
...
...
@@ -93,6 +93,11 @@ extern void free_initmem(void);
extern
void
populate_rootfs
(
void
);
extern
void
driver_init
(
void
);
extern
void
prepare_namespace
(
void
);
#ifdef CONFIG_ACPI
extern
void
acpi_early_init
(
void
);
#else
static
inline
acpi_early_init
()
{
}
#endif
#ifdef CONFIG_TC
extern
void
tc_init
(
void
);
...
...
@@ -530,6 +535,8 @@ asmlinkage void __init start_kernel(void)
#endif
check_bugs
();
acpi_early_init
();
/* before LAPIC and SMP init */
/*
* We count on the initial thread going ok
* Like idlers init is an unlocked kernel thread, which will
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment