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
bde5c490
Commit
bde5c490
authored
Sep 27, 2003
by
Len Brown
Browse files
Options
Browse Files
Download
Plain Diff
Merge intel.com:/home/lenb/bk/linux-2.6.0
into intel.com:/home/lenb/bk/linux-acpi-test-2.6.0
parents
e0618466
5fa817f1
Changes
15
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
173 additions
and
129 deletions
+173
-129
arch/i386/kernel/acpi/boot.c
arch/i386/kernel/acpi/boot.c
+5
-5
arch/i386/kernel/dmi_scan.c
arch/i386/kernel/dmi_scan.c
+4
-6
arch/i386/kernel/mpparse.c
arch/i386/kernel/mpparse.c
+27
-23
arch/i386/kernel/setup.c
arch/i386/kernel/setup.c
+3
-3
arch/ia64/kernel/acpi.c
arch/ia64/kernel/acpi.c
+1
-1
drivers/acpi/Kconfig
drivers/acpi/Kconfig
+60
-48
drivers/acpi/Makefile
drivers/acpi/Makefile
+1
-1
drivers/acpi/bus.c
drivers/acpi/bus.c
+1
-2
drivers/acpi/ec.c
drivers/acpi/ec.c
+5
-2
drivers/acpi/events/evregion.c
drivers/acpi/events/evregion.c
+3
-3
drivers/acpi/pci_link.c
drivers/acpi/pci_link.c
+57
-17
drivers/acpi/tables.c
drivers/acpi/tables.c
+2
-13
include/acpi/acconfig.h
include/acpi/acconfig.h
+1
-1
include/linux/acpi.h
include/linux/acpi.h
+3
-3
init/do_mounts.h
init/do_mounts.h
+0
-1
No files found.
arch/i386/kernel/acpi/boot.c
View file @
bde5c490
...
...
@@ -183,8 +183,7 @@ acpi_parse_lapic_nmi (
#endif
/*CONFIG_X86_LOCAL_APIC*/
#ifdef CONFIG_X86_IO_APIC
#if defined(CONFIG_X86_IO_APIC) && defined(CONFIG_ACPI_INTERPRETER)
static
int
__init
acpi_parse_ioapic
(
...
...
@@ -368,7 +367,6 @@ acpi_boot_init (void)
result
=
acpi_table_parse
(
ACPI_APIC
,
acpi_parse_madt
);
if
(
!
result
)
{
printk
(
KERN_WARNING
PREFIX
"MADT not present
\n
"
);
return
0
;
}
else
if
(
result
<
0
)
{
...
...
@@ -416,7 +414,7 @@ acpi_boot_init (void)
#endif
/*CONFIG_X86_LOCAL_APIC*/
#if
def CONFIG_X86_IO_APIC
#if
defined(CONFIG_X86_IO_APIC) && defined(CONFIG_ACPI_INTERPRETER)
/*
* I/O APIC
...
...
@@ -472,7 +470,8 @@ acpi_boot_init (void)
acpi_irq_model
=
ACPI_IRQ_MODEL_IOAPIC
;
acpi_ioapic
=
1
;
#endif
/*CONFIG_X86_IO_APIC*/
#endif
/* CONFIG_X86_IO_APIC && CONFIG_ACPI_INTERPRETER */
#ifdef CONFIG_X86_LOCAL_APIC
if
(
acpi_lapic
&&
acpi_ioapic
)
{
...
...
@@ -480,6 +479,7 @@ acpi_boot_init (void)
clustered_apic_check
();
}
#endif
#ifdef CONFIG_HPET_TIMER
acpi_table_parse
(
ACPI_HPET
,
acpi_parse_hpet
);
#endif
...
...
arch/i386/kernel/dmi_scan.c
View file @
bde5c490
...
...
@@ -939,11 +939,6 @@ static __initdata struct dmi_blacklist dmi_blacklist[]={
MATCH
(
DMI_BOARD_NAME
,
"CUR-DLS"
),
NO_MATCH
,
NO_MATCH
}},
{
force_acpi_ht
,
"ASUS A7V"
,
{
MATCH
(
DMI_BOARD_VENDOR
,
"ASUSTeK Computer INC"
),
MATCH
(
DMI_BOARD_NAME
,
"<A7V>"
),
MATCH
(
DMI_BIOS_VERSION
,
"ASUS A7V ACPI BIOS Revision 1011"
),
NO_MATCH
}},
{
force_acpi_ht
,
"ABIT i440BX-W83977"
,
{
MATCH
(
DMI_BOARD_VENDOR
,
"ABIT <http://www.abit.com>"
),
MATCH
(
DMI_BOARD_NAME
,
"i440BX-W83977 (BP6)"
),
...
...
@@ -978,7 +973,10 @@ static __initdata struct dmi_blacklist dmi_blacklist[]={
{
disable_acpi_pci
,
"ASUS A7V"
,
{
MATCH
(
DMI_BOARD_VENDOR
,
"ASUSTeK Computer INC"
),
MATCH
(
DMI_BOARD_NAME
,
"<A7V>"
),
MATCH
(
DMI_BIOS_VERSION
,
"ASUS A7V ACPI BIOS Revision 1007"
),
NO_MATCH
}},
/* newer BIOS, Revision 1011, does work */
MATCH
(
DMI_BIOS_VERSION
,
"ASUS A7V ACPI BIOS Revision 1007"
),
NO_MATCH
}},
#endif
{
NULL
,
}
...
...
arch/i386/kernel/mpparse.c
View file @
bde5c490
...
...
@@ -830,7 +830,7 @@ void __init mp_register_lapic (
MP_processor_info
(
&
processor
);
}
#if
def CONFIG_X86_IO_APIC
#if
defined(CONFIG_X86_IO_APIC) && defined(CONFIG_ACPI_INTERPRETER)
#define MP_ISA_BUS 0
#define MP_MAX_IOAPIC_PIN 127
...
...
@@ -1019,10 +1019,6 @@ void __init mp_config_acpi_legacy_irqs (void)
}
}
#ifdef CONFIG_ACPI
/* Ensure the ACPI SCI interrupt level is active low, edge-triggered */
extern
FADT_DESCRIPTOR
acpi_fadt
;
void
__init
mp_config_ioapic_for_sci
(
int
irq
)
...
...
@@ -1031,6 +1027,7 @@ void __init mp_config_ioapic_for_sci(int irq)
int
ioapic_pin
;
struct
acpi_table_madt
*
madt
;
struct
acpi_table_int_src_ovr
*
entry
=
NULL
;
acpi_interrupt_flags
flags
;
void
*
madt_end
;
acpi_status
status
;
...
...
@@ -1049,32 +1046,37 @@ void __init mp_config_ioapic_for_sci(int irq)
while
((
void
*
)
entry
<
madt_end
)
{
if
(
entry
->
header
.
type
==
ACPI_MADT_INT_SRC_OVR
&&
acpi_fadt
.
sci_int
==
entry
->
bus_irq
)
{
/*
* See the note at the end of ACPI 2.0b section
* 5.2.10.8 for what this is about.
*/
if
(
entry
->
bus_irq
!=
entry
->
global_irq
)
{
acpi_fadt
.
sci_int
=
entry
->
global_irq
;
irq
=
entry
->
global_irq
;
break
;
}
else
return
;
}
acpi_fadt
.
sci_int
==
entry
->
bus_irq
)
goto
found
;
entry
=
(
struct
acpi_table_int_src_ovr
*
)
((
unsigned
long
)
entry
+
entry
->
header
.
length
);
}
}
/*
* Although the ACPI spec says that the SCI should be level/low
* don't reprogram it unless there is an explicit MADT OVR entry
* instructing us to do so -- otherwise we break Tyan boards which
* have the SCI wired edge/high but no MADT OVR.
*/
return
;
found:
/*
* See the note at the end of ACPI 2.0b section
* 5.2.10.8 for what this is about.
*/
flags
=
entry
->
flags
;
acpi_fadt
.
sci_int
=
entry
->
global_irq
;
irq
=
entry
->
global_irq
;
ioapic
=
mp_find_ioapic
(
irq
);
ioapic_pin
=
irq
-
mp_ioapic_routing
[
ioapic
].
irq_start
;
io_apic_set_pci_routing
(
ioapic
,
ioapic_pin
,
irq
,
1
,
1
);
// Active low, level triggered
io_apic_set_pci_routing
(
ioapic
,
ioapic_pin
,
irq
,
(
flags
.
trigger
>>
1
)
,
(
flags
.
polarity
>>
1
));
}
#endif
/* CONFIG_ACPI */
#ifdef CONFIG_ACPI_PCI
...
...
@@ -1110,8 +1112,10 @@ void __init mp_parse_prt (void)
}
/* Don't set up the ACPI SCI because it's already set up */
if
(
acpi_fadt
.
sci_int
==
irq
)
if
(
acpi_fadt
.
sci_int
==
irq
)
{
entry
->
irq
=
irq
;
/*we still need to set entry's irq*/
continue
;
}
ioapic
=
mp_find_ioapic
(
irq
);
if
(
ioapic
<
0
)
...
...
@@ -1154,5 +1158,5 @@ void __init mp_parse_prt (void)
}
#endif
/*CONFIG_ACPI_PCI*/
#endif
/* CONFIG_X86_IO_APIC
*/
#endif
/*CONFIG_X86_IO_APIC && CONFIG_ACPI_INTERPRETER
*/
#endif
/*CONFIG_ACPI_BOOT*/
arch/i386/kernel/setup.c
View file @
bde5c490
...
...
@@ -64,10 +64,10 @@ struct cpuinfo_x86 boot_cpu_data = { 0, 0, 0, 0, -1, 1, 0, 0, -1 };
unsigned
long
mmu_cr4_features
;
EXPORT_SYMBOL_GPL
(
mmu_cr4_features
);
#ifdef CONFIG_ACPI
int
acpi_disabled
__initdata
=
0
;
#ifdef CONFIG_ACPI
_INTERPRETER
int
acpi_disabled
=
0
;
#else
int
acpi_disabled
__initdata
=
1
;
int
acpi_disabled
=
1
;
#endif
EXPORT_SYMBOL
(
acpi_disabled
);
...
...
arch/ia64/kernel/acpi.c
View file @
bde5c490
...
...
@@ -56,7 +56,7 @@ void (*pm_power_off) (void);
unsigned
char
acpi_kbd_controller_present
=
1
;
int
acpi_disabled
__initdata
;
/* XXX this shouldn't be needed---we can't boot without ACPI! */
int
acpi_disabled
;
/* XXX this shouldn't be needed---we can't boot without ACPI! */
const
char
*
acpi_get_sysname
(
void
)
...
...
drivers/acpi/Kconfig
View file @
bde5c490
...
...
@@ -3,34 +3,14 @@
#
menu "ACPI (Advanced Configuration and Power Interface) Support"
config ACPI_HT
bool "ACPI Processor Enumeration for HT"
depends on X86
default y
---help---
ACPI enumerates both logical (a.k.a. Hyper-Threaded -- HT)
and physical processors. It is designed to obsolete several older
specifications, including the MultiProcessor Specification (MPS),
which supported only physical processors.
CONFIG_ACPI_HT includes the minimal ACPI boot-time code
necessary to enumerate logical processors and enable HT.
CONFIG_ACPI includes CONFIG_ACPI_HT, plus IO APIC enumeration,
and the hooks to run the ACPI AML interpreter for run-time events.
When CONFIG_ACPI is selected, the command-line option "acpi=ht"
is available to run just the ACPI boot-time code -- just as if
only CONFIG_ACPI_HT were selected.
Note that "acpi=off" can be used to disable all ACPI code in the kernel.
config ACPI
bool "Full ACPI Support"
depends on !X86_VISWS
depends on !IA64_HP_SIM
depends on IA64 || (X86 || ACPI_HT)
depends on IA64 || X86
config ACPI
bool "ACPI Support"
depends on IA64 || X86
default y
---help---
Advanced Configuration and Power Interface (ACPI) support for
...
...
@@ -60,14 +40,47 @@ config ACPI
available at:
<http://www.acpi.info>
config ACPI_HT_ONLY
bool "Restrict ACPI to minimum boot code to enable HT"
depends on X86
depends on ACPI
depends on SMP
default n
---help---
ACPI enumerates both logical (a.k.a. Hyper-Threaded -- HT)
and physical processors. It is designed to obsolete several older
specifications, including the MultiProcessor Specification (MPS),
which supported only physical processors.
CONFIG_ACPI_HT_ONLY includes just the minimal ACPI boot-time code
necessary to enumerate logical processors and enable HT.
CONFIG_ACPI includes this, plus IO APIC enumeration,
and the hooks to run the ACPI AML interpreter for run-time events.
When CONFIG_ACPI is selected, the command-line option "acpi=ht"
is available to run just the ACPI boot-time code -- just as if
only CONFIG_ACPI_HT_ONLY were selected.
Note that "acpi=off" can be used to disable all ACPI code in the kernel.
config ACPI_BOOT
bool
depends on ACPI || ACPI_HT
depends on ACPI
default y
config ACPI_INTERPRETER
bool
depends on ACPI
depends on !IA64_SGI_SN
depends on !ACPI_HT_ONLY
default y
config ACPI_SLEEP
bool "Sleep States (EXPERIMENTAL)"
depends on X86 && ACPI
depends on ACPI_INTERPRETER
depends on EXPERIMENTAL && PM
default y
---help---
...
...
@@ -93,7 +106,8 @@ config ACPI_SLEEP_PROC_FS
config ACPI_AC
tristate "AC Adapter"
depends on X86 && ACPI
depends on X86
depends on ACPI_INTERPRETER
default m
help
This driver adds support for the AC Adapter object, which indicates
...
...
@@ -102,7 +116,8 @@ config ACPI_AC
config ACPI_BATTERY
tristate "Battery"
depends on X86 && ACPI
depends on X86
depends on ACPI_INTERPRETER
default m
help
This driver adds support for battery information through
...
...
@@ -111,7 +126,7 @@ config ACPI_BATTERY
config ACPI_BUTTON
tristate "Button"
depends on ACPI
depends on ACPI
_INTERPRETER
depends on !IA64_SGI_SN
default m
help
...
...
@@ -123,7 +138,7 @@ config ACPI_BUTTON
config ACPI_FAN
tristate "Fan"
depends on ACPI
depends on ACPI
_INTERPRETER
depends on !IA64_SGI_SN
default m
help
...
...
@@ -132,7 +147,7 @@ config ACPI_FAN
config ACPI_PROCESSOR
tristate "Processor"
depends on ACPI
depends on ACPI
_INTERPRETER
depends on !IA64_SGI_SN
default m
help
...
...
@@ -152,14 +167,15 @@ config ACPI_THERMAL
config ACPI_NUMA
bool "NUMA support"
depends on ACPI
depends on ACPI
_INTERPRETER
depends on NUMA
depends on !X86_64
default y if IA64_GENERIC || IA64_SGI_SN2
config ACPI_ASUS
tristate "ASUS/Medion Laptop Extras"
depends on X86 && ACPI
depends on X86
depends on ACPI_INTERPRETER
default m
---help---
This driver provides support for extra features of ACPI-compatible
...
...
@@ -185,7 +201,8 @@ config ACPI_ASUS
config ACPI_TOSHIBA
tristate "Toshiba Laptop Extras"
depends on X86 && ACPI
depends on X86
depends on ACPI_INTERPRETER
default m
---help---
This driver adds support for access to certain system settings
...
...
@@ -212,7 +229,7 @@ config ACPI_TOSHIBA
config ACPI_DEBUG
bool "Debug Statements"
depends on ACPI
depends on ACPI
_INTERPRETER
depends on !IA64_SGI_SN
default n
help
...
...
@@ -222,19 +239,14 @@ config ACPI_DEBUG
config ACPI_BUS
bool
depends on ACPI
depends on !IA64_SGI_SN
default y
config ACPI_INTERPRETER
bool
depends on ACPI
depends on ACPI_INTERPRETER
depends on !IA64_SGI_SN
default y
config ACPI_EC
bool
depends on X86 && ACPI
depends on X86
depends on ACPI_INTERPRETER
default y
help
This driver is required on some systems for the proper operation of
...
...
@@ -243,19 +255,19 @@ config ACPI_EC
config ACPI_POWER
bool
depends on ACPI
depends on ACPI
_INTERPRETER
depends on !IA64_SGI_SN
default y
config ACPI_PCI
bool
depends on ACPI
depends on ACPI
_INTERPRETER
depends on !IA64_SGI_SN
default PCI
config ACPI_SYSTEM
bool
depends on ACPI
depends on ACPI
_INTERPRETER
depends on !IA64_SGI_SN
default y
help
...
...
@@ -264,7 +276,7 @@ config ACPI_SYSTEM
config ACPI_EFI
bool
depends on ACPI
depends on ACPI
_INTERPRETER
depends on IA64
default y
...
...
drivers/acpi/Makefile
View file @
bde5c490
...
...
@@ -18,7 +18,7 @@ obj-$(CONFIG_ACPI) := acpi_ksyms.o
# ACPI Boot-Time Table Parsing
#
obj-$(CONFIG_ACPI_BOOT)
+=
tables.o
obj-$(CONFIG_ACPI
)
+=
blacklist.o
obj-$(CONFIG_ACPI
_INTERPRETER)
+=
blacklist.o
#
# ACPI Core Subsystem (Interpreter)
...
...
drivers/acpi/bus.c
View file @
bde5c490
...
...
@@ -634,8 +634,7 @@ acpi_bus_init (void)
* the EC parameters out of that.
*/
status
=
acpi_ec_ecdt_probe
();
if
(
ACPI_FAILURE
(
status
))
goto
error1
;
/* Ignore result. Not having an ECDT is not fatal. */
#endif
status
=
acpi_initialize_objects
(
ACPI_FULL_INITIALIZATION
);
...
...
drivers/acpi/ec.c
View file @
bde5c490
...
...
@@ -32,7 +32,7 @@
#include <asm/io.h>
#include <acpi/acpi_bus.h>
#include <acpi/acpi_drivers.h>
#include <acpi/actypes.h>
#define _COMPONENT ACPI_EC_COMPONENT
ACPI_MODULE_NAME
(
"acpi_ec"
)
...
...
@@ -412,7 +412,10 @@ acpi_ec_space_setup (
* The EC object is in the handler context and is needed
* when calling the acpi_ec_space_handler.
*/
*
return_context
=
handler_context
;
if
(
function
==
ACPI_REGION_DEACTIVATE
)
*
return_context
=
NULL
;
else
*
return_context
=
handler_context
;
return
AE_OK
;
}
...
...
drivers/acpi/events/evregion.c
View file @
bde5c490
...
...
@@ -382,7 +382,7 @@ acpi_ev_detach_region(
union
acpi_operand_object
*
obj_desc
;
union
acpi_operand_object
**
last_obj_ptr
;
acpi_adr_space_setup
region_setup
;
void
*
region_context
;
void
*
*
region_context
;
union
acpi_operand_object
*
region_obj2
;
acpi_status
status
;
...
...
@@ -394,7 +394,7 @@ acpi_ev_detach_region(
if
(
!
region_obj2
)
{
return_VOID
;
}
region_context
=
region_obj2
->
extra
.
region_context
;
region_context
=
&
region_obj2
->
extra
.
region_context
;
/* Get the address handler from the region object */
...
...
@@ -450,7 +450,7 @@ acpi_ev_detach_region(
region_setup
=
handler_obj
->
address_space
.
setup
;
status
=
region_setup
(
region_obj
,
ACPI_REGION_DEACTIVATE
,
handler_obj
->
address_space
.
context
,
&
region_context
);
handler_obj
->
address_space
.
context
,
region_context
);
/* Init routine may fail, Just ignore errors */
...
...
drivers/acpi/pci_link.c
View file @
bde5c490
...
...
@@ -220,7 +220,6 @@ acpi_pci_link_check_current (
return
AE_CTRL_TERMINATE
;
}
static
int
acpi_pci_link_get_current
(
struct
acpi_pci_link
*
link
)
...
...
@@ -279,6 +278,28 @@ acpi_pci_link_get_current (
return_VALUE
(
result
);
}
static
int
acpi_pci_link_try_get_current
(
struct
acpi_pci_link
*
link
,
int
irq
)
{
int
result
;
ACPI_FUNCTION_TRACE
(
"acpi_pci_link_try_get_current"
);
result
=
acpi_pci_link_get_current
(
link
);
if
(
result
&&
link
->
irq
.
active
)
{
return_VALUE
(
result
);
}
if
(
!
link
->
irq
.
active
)
{
ACPI_DEBUG_PRINT
((
ACPI_DB_ERROR
,
"No active IRQ resource found
\n
"
));
printk
(
KERN_WARNING
"_CRS returns NULL! Using IRQ %d for device (%s [%s]).
\n
"
,
irq
,
acpi_device_name
(
link
->
device
),
acpi_device_bid
(
link
->
device
));
link
->
irq
.
active
=
irq
;
}
return
0
;
}
static
int
acpi_pci_link_set
(
...
...
@@ -294,6 +315,7 @@ acpi_pci_link_set (
struct
acpi_buffer
buffer
=
{
sizeof
(
resource
)
+
1
,
&
resource
};
int
i
=
0
;
int
valid
=
0
;
int
resource_type
=
0
;
ACPI_FUNCTION_TRACE
(
"acpi_pci_link_set"
);
...
...
@@ -317,20 +339,32 @@ acpi_pci_link_set (
}
}
/* If IRQ<=15, first try with a "normal" IRQ descriptor. If that fails, try with
* an extended one */
if
(
irq
<=
15
)
{
resource_type
=
ACPI_RSTYPE_IRQ
;
}
else
{
resource_type
=
ACPI_RSTYPE_EXT_IRQ
;
}
retry_programming:
memset
(
&
resource
,
0
,
sizeof
(
resource
));
/* NOTE: PCI interrupts are always level / active_low / shared. But not all
interrupts > 15 are PCI interrupts. Rely on the ACPI IRQ definition for
parameters */
if
(
irq
<=
15
)
{
switch
(
resource_type
)
{
case
ACPI_RSTYPE_IRQ
:
resource
.
res
.
id
=
ACPI_RSTYPE_IRQ
;
resource
.
res
.
length
=
sizeof
(
struct
acpi_resource
);
resource
.
res
.
data
.
irq
.
edge_level
=
link
->
irq
.
edge_level
;
resource
.
res
.
data
.
irq
.
active_high_low
=
link
->
irq
.
active_high_low
;
resource
.
res
.
data
.
irq
.
number_of_interrupts
=
1
;
resource
.
res
.
data
.
irq
.
interrupts
[
0
]
=
irq
;
}
else
{
break
;
case
ACPI_RSTYPE_EXT_IRQ
:
resource
.
res
.
id
=
ACPI_RSTYPE_EXT_IRQ
;
resource
.
res
.
length
=
sizeof
(
struct
acpi_resource
);
resource
.
res
.
data
.
extended_irq
.
producer_consumer
=
ACPI_CONSUMER
;
...
...
@@ -339,11 +373,21 @@ acpi_pci_link_set (
resource
.
res
.
data
.
extended_irq
.
number_of_interrupts
=
1
;
resource
.
res
.
data
.
extended_irq
.
interrupts
[
0
]
=
irq
;
/* ignore resource_source, it's optional */
break
;
}
resource
.
end
.
id
=
ACPI_RSTYPE_END_TAG
;
/* Attempt to set the resource */
status
=
acpi_set_current_resources
(
link
->
handle
,
&
buffer
);
/* if we failed and IRQ <= 15, try again with an extended descriptor */
if
(
ACPI_FAILURE
(
status
)
&&
(
resource_type
==
ACPI_RSTYPE_IRQ
))
{
resource_type
=
ACPI_RSTYPE_EXT_IRQ
;
printk
(
PREFIX
"Retrying with extended IRQ descriptor
\n
"
);
goto
retry_programming
;
}
/* check for total failure */
if
(
ACPI_FAILURE
(
status
))
{
ACPI_DEBUG_PRINT
((
ACPI_DB_ERROR
,
"Error evaluating _SRS
\n
"
));
return_VALUE
(
-
ENODEV
);
...
...
@@ -361,7 +405,7 @@ acpi_pci_link_set (
}
/* Make sure the active IRQ is the one we requested. */
result
=
acpi_pci_link_
get_current
(
link
);
result
=
acpi_pci_link_
try_get_current
(
link
,
irq
);
if
(
result
)
{
return_VALUE
(
result
);
}
...
...
@@ -458,14 +502,14 @@ static int acpi_pci_link_allocate(struct acpi_pci_link* link) {
irq
=
link
->
irq
.
possible
[
0
];
}
/*
* Select the best IRQ. This is done in reverse to promote
* the use of IRQs 9, 10, 11, and >15.
*/
for
(
i
=
(
link
->
irq
.
possible_count
-
1
);
i
>
0
;
i
--
)
{
if
(
acpi_irq_penalty
[
irq
]
>
acpi_irq_penalty
[
link
->
irq
.
possible
[
i
]])
irq
=
link
->
irq
.
possible
[
i
];
}
/*
* Select the best IRQ. This is done in reverse to promote
* the use of IRQs 9, 10, 11, and >15.
*/
for
(
i
=
(
link
->
irq
.
possible_count
-
1
);
i
>
0
;
i
--
)
{
if
(
acpi_irq_penalty
[
irq
]
>
acpi_irq_penalty
[
link
->
irq
.
possible
[
i
]])
irq
=
link
->
irq
.
possible
[
i
];
}
/* Attempt to enable the link device at this IRQ. */
if
(
acpi_pci_link_set
(
link
,
irq
))
{
...
...
@@ -574,10 +618,6 @@ acpi_pci_link_add (
else
printk
(
" %d"
,
link
->
irq
.
possible
[
i
]);
}
if
(
!
link
->
irq
.
active
)
printk
(
", disabled"
);
else
if
(
!
found
)
printk
(
", enabled at IRQ %d"
,
link
->
irq
.
active
);
printk
(
")
\n
"
);
/* TBD: Acquire/release lock */
...
...
drivers/acpi/tables.c
View file @
bde5c490
...
...
@@ -69,7 +69,8 @@ struct acpi_table_sdt {
static
unsigned
long
sdt_pa
;
/* Physical Address */
static
unsigned
long
sdt_count
;
/* Table count */
static
struct
acpi_table_sdt
*
sdt_entry
;
static
struct
acpi_table_sdt
sdt_entry
[
ACPI_MAX_TABLES
];
void
acpi_table_print
(
...
...
@@ -418,12 +419,6 @@ acpi_table_get_sdt (
sdt_count
=
ACPI_MAX_TABLES
;
}
sdt_entry
=
alloc_bootmem
(
sdt_count
*
sizeof
(
struct
acpi_table_sdt
));
if
(
!
sdt_entry
)
{
printk
(
KERN_ERR
"ACPI: Could not allocate mem for SDT entries!
\n
"
);
return
-
ENOMEM
;
}
for
(
i
=
0
;
i
<
sdt_count
;
i
++
)
sdt_entry
[
i
].
pa
=
(
unsigned
long
)
mapped_xsdt
->
entry
[
i
];
}
...
...
@@ -470,12 +465,6 @@ acpi_table_get_sdt (
sdt_count
=
ACPI_MAX_TABLES
;
}
sdt_entry
=
alloc_bootmem
(
sdt_count
*
sizeof
(
struct
acpi_table_sdt
));
if
(
!
sdt_entry
)
{
printk
(
KERN_ERR
"ACPI: Could not allocate mem for SDT entries!
\n
"
);
return
-
ENOMEM
;
}
for
(
i
=
0
;
i
<
sdt_count
;
i
++
)
sdt_entry
[
i
].
pa
=
(
unsigned
long
)
mapped_rsdt
->
entry
[
i
];
}
...
...
include/acpi/acconfig.h
View file @
bde5c490
...
...
@@ -64,7 +64,7 @@
/* Version string */
#define ACPI_CA_VERSION 0x20030
813
#define ACPI_CA_VERSION 0x20030
916
/* Maximum objects in the various object caches */
...
...
include/linux/acpi.h
View file @
bde5c490
...
...
@@ -424,17 +424,17 @@ int ec_write(u8 addr, u8 val);
#endif
/*CONFIG_ACPI_EC*/
#ifdef CONFIG_ACPI
#ifdef CONFIG_ACPI
_INTERPRETER
int
acpi_blacklisted
(
void
);
#else
#else
/*!CONFIG_ACPI_INTERPRETER*/
static
inline
int
acpi_blacklisted
(
void
)
{
return
0
;
}
#endif
/*
CONFIG_ACPI
*/
#endif
/*
!CONFIG_ACPI_INTERPRETER
*/
#endif
/*_LINUX_ACPI_H*/
init/do_mounts.h
View file @
bde5c490
...
...
@@ -104,4 +104,3 @@ void md_run_setup(void);
static
inline
void
md_run_setup
(
void
)
{}
#endif
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