*/
error = acpi_table_init();
if (error) {
- acpi_disabled = 1;
+ disable_acpi();
return error;
}
error = acpi_blacklisted();
if (error) {
printk(KERN_WARNING PREFIX "BIOS listed in blacklist, disabling ACPI support\n");
- acpi_disabled = 1;
+ disable_acpi();
return error;
}
#ifdef CONFIG_ACPI_BOOT
-extern int acpi_disabled, acpi_force;
+extern int acpi_force;
-static __init __attribute__((unused)) int acpi_disable(struct dmi_blacklist *d)
+static __init __attribute__((unused)) int dmi_disable_acpi(struct dmi_blacklist *d)
{
if (!acpi_force) {
printk(KERN_NOTICE "%s detected: acpi off\n",d->ident);
- acpi_disabled = 1;
+ disable_acpi();
} else {
printk(KERN_NOTICE
"Warning: DMI blacklist says broken, but acpi forced\n");
return 0;
}
-extern int acpi_ht;
-
/*
* Limit ACPI to CPU enumeration for HT
*/
{
if (!acpi_force) {
printk(KERN_NOTICE "%s detected: force use of acpi=ht\n", d->ident);
- acpi_disabled = 1;
+ disable_acpi();
acpi_ht = 1;
} else {
printk(KERN_NOTICE
* Boxes that need ACPI disabled
*/
- { acpi_disable, "IBM Thinkpad", {
+ { dmi_disable_acpi, "IBM Thinkpad", {
MATCH(DMI_BOARD_VENDOR, "IBM"),
MATCH(DMI_BOARD_NAME, "2629H1G"),
NO_MATCH, NO_MATCH }},
if (disable && !acpi_force) {
printk(KERN_NOTICE "ACPI disabled because your bios is from %s and too old\n", s);
printk(KERN_NOTICE "You can enable it with acpi=force\n");
- acpi_disabled = 1;
- acpi_ht = 0;
+ disable_acpi();
}
}
}
EXPORT_SYMBOL(acpi_disabled);
#ifdef CONFIG_ACPI_BOOT
-extern int __initdata acpi_ht;
int __initdata acpi_force = 0;
#endif
#ifdef CONFIG_ACPI_BOOT
/* "acpi=off" disables both ACPI table parsing and interpreter */
else if (!memcmp(from, "acpi=off", 8)) {
- acpi_ht = 0;
- acpi_disabled = 1;
+ disable_acpi();
}
/* acpi=force to over-ride black-list */
else if (!memcmp(from, "acpi=force", 10)) {
acpi_force = 1;
- acpi_ht=1;
+ acpi_ht = 1;
acpi_disabled = 0;
}
/* Limit ACPI just to boot-time to enable HT */
else if (!memcmp(from, "acpi=ht", 7)) {
+ if (!acpi_force)
+ disable_acpi();
acpi_ht = 1;
- if (!acpi_force) acpi_disabled = 1;
}
/* "pci=noacpi" disables ACPI interrupt routing */
unsigned char acpi_kbd_controller_present = 1;
unsigned char acpi_legacy_devices;
-int acpi_disabled; /* XXX this shouldn't be needed---we can't boot without ACPI! */
-
const char *
acpi_get_sysname (void)
{
pm_active = 1;
else {
printk(KERN_INFO PREFIX "APM is already active, exiting\n");
- acpi_disabled = 1;
+ disable_acpi();
result = -ENODEV;
}
#endif
} else
- acpi_disabled = 1;
+ disable_acpi();
return_VALUE(result);
}
-
-static int __init acpi_setup(char *str)
-{
- while (str && *str) {
- if (strncmp(str, "off", 3) == 0)
- acpi_disabled = 1;
- str = strchr(str, ',');
- if (str)
- str += strspn(str, ", \t");
- }
- return 1;
-}
-
subsys_initcall(acpi_init);
-
-__setup("acpi=", acpi_setup);
}
#ifdef CONFIG_ACPI
-extern int acpi_disabled;
#define SONYPI_ACPI_ACTIVE (!acpi_disabled)
#else
#define SONYPI_ACPI_ACTIVE 0
#define PREFIX "ACPI: "
-extern int acpi_disabled;
-
/* TBD: Make dynamic */
#define ACPI_MAX_HANDLES 10
struct acpi_handle_list {
extern int acpi_ioapic;
extern int acpi_noirq;
extern int acpi_strict;
+extern int acpi_disabled;
+extern int acpi_ht;
+static inline void disable_acpi(void) { acpi_disabled = 1; acpi_ht = 0; }
/* Fixmap pages to reserve for ACPI boot-time tables (see fixmap.h) */
#define FIX_ACPI_PAGES 4
#define ACPI_RELEASE_GLOBAL_LOCK(GLptr, Acq) \
((Acq) = ia64_acpi_release_global_lock((unsigned int *) GLptr))
+#define acpi_disabled 0 /* ACPI always enabled on IA64 */
#define acpi_strict 1 /* no ACPI spec workarounds on IA64 */
+static inline void disable_acpi(void) { }
const char *acpi_get_sysname (void);
int acpi_request_vector (u32 int_type);
extern int acpi_ioapic;
extern int acpi_noirq;
extern int acpi_strict;
+extern int acpi_disabled;
+extern int acpi_ht;
+static inline void disable_acpi(void) { acpi_disabled = 1; acpi_ht = 0; }
/* Fixmap pages to reserve for ACPI boot-time tables (see fixmap.h) */
#define FIX_ACPI_PAGES 4