Commit d9c54c1d authored by Len Brown's avatar Len Brown

sync 2.4.22 changes into 2.6

Note that this restores CONFIG_ACPI_HT_ONLY as a sub-set of CONFIG_ACPI rather than a dependency.
parent 0179c339
...@@ -1204,10 +1204,6 @@ source "drivers/pnp/Kconfig" ...@@ -1204,10 +1204,6 @@ source "drivers/pnp/Kconfig"
source "drivers/block/Kconfig" source "drivers/block/Kconfig"
config MOUNT_ROOT_FAILED_MSG
bool
default y
source "drivers/ide/Kconfig" source "drivers/ide/Kconfig"
source "drivers/scsi/Kconfig" source "drivers/scsi/Kconfig"
......
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
#include <linux/config.h> #include <linux/config.h>
#include <linux/acpi.h> #include <linux/acpi.h>
#include <asm/pgalloc.h> #include <asm/pgalloc.h>
#include <asm/io_apic.h>
#include <asm/apic.h> #include <asm/apic.h>
#include <asm/io.h> #include <asm/io.h>
#include <asm/mpspec.h> #include <asm/mpspec.h>
...@@ -41,6 +42,9 @@ ...@@ -41,6 +42,9 @@
extern int acpi_disabled; extern int acpi_disabled;
extern int acpi_ht; extern int acpi_ht;
int acpi_lapic = 0;
int acpi_ioapic = 0;
/* -------------------------------------------------------------------------- /* --------------------------------------------------------------------------
Boot-time Configuration Boot-time Configuration
-------------------------------------------------------------------------- */ -------------------------------------------------------------------------- */
...@@ -90,8 +94,6 @@ char *__acpi_map_table(unsigned long phys, unsigned long size) ...@@ -90,8 +94,6 @@ char *__acpi_map_table(unsigned long phys, unsigned long size)
#ifdef CONFIG_X86_LOCAL_APIC #ifdef CONFIG_X86_LOCAL_APIC
int acpi_lapic;
static u64 acpi_lapic_addr __initdata = APIC_DEFAULT_PHYS_BASE; static u64 acpi_lapic_addr __initdata = APIC_DEFAULT_PHYS_BASE;
...@@ -158,8 +160,6 @@ acpi_parse_lapic_addr_ovr ( ...@@ -158,8 +160,6 @@ acpi_parse_lapic_addr_ovr (
return 0; return 0;
} }
#ifdef CONFIG_ACPI
static int __init static int __init
acpi_parse_lapic_nmi ( acpi_parse_lapic_nmi (
acpi_table_entry_header *header) acpi_table_entry_header *header)
...@@ -178,15 +178,10 @@ acpi_parse_lapic_nmi ( ...@@ -178,15 +178,10 @@ acpi_parse_lapic_nmi (
return 0; return 0;
} }
#endif /*CONFIG_ACPI*/
#endif /*CONFIG_X86_LOCAL_APIC*/ #endif /*CONFIG_X86_LOCAL_APIC*/
#ifdef CONFIG_X86_IO_APIC #if defined(CONFIG_X86_IO_APIC) && defined(CONFIG_ACPI_INTERPRETER)
int acpi_ioapic;
#ifdef CONFIG_ACPI
static int __init static int __init
acpi_parse_ioapic ( acpi_parse_ioapic (
...@@ -248,7 +243,6 @@ acpi_parse_nmi_src ( ...@@ -248,7 +243,6 @@ acpi_parse_nmi_src (
return 0; return 0;
} }
#endif /*CONFIG_ACPI*/
#endif /*CONFIG_X86_IO_APIC*/ #endif /*CONFIG_X86_IO_APIC*/
...@@ -331,14 +325,12 @@ acpi_boot_init (void) ...@@ -331,14 +325,12 @@ acpi_boot_init (void)
if (result) if (result)
return result; return result;
#ifdef CONFIG_ACPI
result = acpi_blacklisted(); result = acpi_blacklisted();
if (result) { if (result) {
printk(KERN_WARNING PREFIX "BIOS listed in blacklist, disabling ACPI support\n"); printk(KERN_WARNING PREFIX "BIOS listed in blacklist, disabling ACPI support\n");
acpi_disabled = 1; acpi_disabled = 1;
return result; return result;
} }
#endif
#ifdef CONFIG_X86_LOCAL_APIC #ifdef CONFIG_X86_LOCAL_APIC
...@@ -352,7 +344,6 @@ acpi_boot_init (void) ...@@ -352,7 +344,6 @@ acpi_boot_init (void)
result = acpi_table_parse(ACPI_APIC, acpi_parse_madt); result = acpi_table_parse(ACPI_APIC, acpi_parse_madt);
if (!result) { if (!result) {
printk(KERN_WARNING PREFIX "MADT not present\n");
return 0; return 0;
} }
else if (result < 0) { else if (result < 0) {
...@@ -389,21 +380,18 @@ acpi_boot_init (void) ...@@ -389,21 +380,18 @@ acpi_boot_init (void)
return result; return result;
} }
#ifdef CONFIG_ACPI
result = acpi_table_parse_madt(ACPI_MADT_LAPIC_NMI, acpi_parse_lapic_nmi); result = acpi_table_parse_madt(ACPI_MADT_LAPIC_NMI, acpi_parse_lapic_nmi);
if (result < 0) { if (result < 0) {
printk(KERN_ERR PREFIX "Error parsing LAPIC NMI entry\n"); printk(KERN_ERR PREFIX "Error parsing LAPIC NMI entry\n");
/* TBD: Cleanup to allow fallback to MPS */ /* TBD: Cleanup to allow fallback to MPS */
return result; return result;
} }
#endif /*CONFIG_ACPI*/
acpi_lapic = 1; acpi_lapic = 1;
#endif /*CONFIG_X86_LOCAL_APIC*/ #endif /*CONFIG_X86_LOCAL_APIC*/
#ifdef CONFIG_X86_IO_APIC #if defined(CONFIG_X86_IO_APIC) && defined(CONFIG_ACPI_INTERPRETER)
#ifdef CONFIG_ACPI
/* /*
* I/O APIC * I/O APIC
...@@ -423,7 +411,7 @@ acpi_boot_init (void) ...@@ -423,7 +411,7 @@ acpi_boot_init (void)
/* /*
* if "noapic" boot option, don't look for IO-APICs * if "noapic" boot option, don't look for IO-APICs
*/ */
if (skip_ioapic_setup) { if (ioapic_setup_disabled()) {
printk(KERN_INFO PREFIX "Skipping IOAPIC probe " printk(KERN_INFO PREFIX "Skipping IOAPIC probe "
"due to 'noapic' option.\n"); "due to 'noapic' option.\n");
return 1; return 1;
...@@ -460,15 +448,13 @@ acpi_boot_init (void) ...@@ -460,15 +448,13 @@ acpi_boot_init (void)
acpi_ioapic = 1; acpi_ioapic = 1;
#endif /*CONFIG_ACPI*/
#endif /*CONFIG_X86_IO_APIC*/
#ifdef CONFIG_X86_LOCAL_APIC #ifdef CONFIG_X86_LOCAL_APIC
if (acpi_lapic && acpi_ioapic) { if (acpi_lapic && acpi_ioapic) {
smp_found_config = 1; smp_found_config = 1;
clustered_apic_check(); clustered_apic_check();
} }
#endif #endif
#endif /*CONFIG_X86_IO_APIC && CONFIG_ACPI_INTERPRETER*/
return 0; return 0;
} }
...@@ -1111,26 +1111,3 @@ void __init dmi_scan_machine(void) ...@@ -1111,26 +1111,3 @@ void __init dmi_scan_machine(void)
EXPORT_SYMBOL(is_unsafe_smbus); EXPORT_SYMBOL(is_unsafe_smbus);
#ifdef CONFIG_MOUNT_ROOT_FAILED_MSG
/*
* mount_root_failed_msg()
*
* Called from mount_block_root() upon failure to mount root.
* architecture dependent to give different platforms
* the opportunity to print different handy messages
* On x86 this lives here b/c it dumps out some DMI info.
*/
void
mount_root_failed_msg(void)
{
#ifdef CONFIG_ACPI_BOOT
printk ("Try booting with pci=noacpi, acpi=ht, "
"or acpi=off on the command line.\n");
printk ("If one helps, please report the following lines:\n");
dmi_dump_system();
#endif
}
#endif /* CONFIG_MOUNT_ROOT_FAILED_MSG */
...@@ -823,7 +823,7 @@ void __init mp_register_lapic ( ...@@ -823,7 +823,7 @@ void __init mp_register_lapic (
MP_processor_info(&processor); MP_processor_info(&processor);
} }
#ifdef CONFIG_X86_IO_APIC #if defined(CONFIG_X86_IO_APIC) && defined(CONFIG_ACPI_INTERPRETER)
#define MP_ISA_BUS 0 #define MP_ISA_BUS 0
#define MP_MAX_IOAPIC_PIN 127 #define MP_MAX_IOAPIC_PIN 127
...@@ -1011,9 +1011,6 @@ void __init mp_config_acpi_legacy_irqs (void) ...@@ -1011,9 +1011,6 @@ void __init mp_config_acpi_legacy_irqs (void)
panic("Max # of irq sources exceeded!\n"); panic("Max # of irq sources exceeded!\n");
} }
} }
#endif /* CONFIG_X86_IO_APIC */
#ifdef CONFIG_ACPI
/* Ensure the ACPI SCI interrupt level is active low, edge-triggered */ /* Ensure the ACPI SCI interrupt level is active low, edge-triggered */
...@@ -1068,7 +1065,6 @@ void __init mp_config_ioapic_for_sci(int irq) ...@@ -1068,7 +1065,6 @@ void __init mp_config_ioapic_for_sci(int irq)
io_apic_set_pci_routing(ioapic, ioapic_pin, irq, 1, 1); // Active low, level triggered io_apic_set_pci_routing(ioapic, ioapic_pin, irq, 1, 1); // Active low, level triggered
} }
#endif /* CONFIG_ACPI */
#ifdef CONFIG_ACPI_PCI #ifdef CONFIG_ACPI_PCI
...@@ -1148,5 +1144,5 @@ void __init mp_parse_prt (void) ...@@ -1148,5 +1144,5 @@ void __init mp_parse_prt (void)
} }
#endif /*CONFIG_ACPI_PCI*/ #endif /*CONFIG_ACPI_PCI*/
#endif /*CONFIG_X86_IO_APIC && CONFIG_ACPI_INTERPRETER*/
#endif /*CONFIG_ACPI_BOOT*/ #endif /*CONFIG_ACPI_BOOT*/
...@@ -62,7 +62,7 @@ struct cpuinfo_x86 boot_cpu_data = { 0, 0, 0, 0, -1, 1, 0, 0, -1 }; ...@@ -62,7 +62,7 @@ struct cpuinfo_x86 boot_cpu_data = { 0, 0, 0, 0, -1, 1, 0, 0, -1 };
unsigned long mmu_cr4_features; unsigned long mmu_cr4_features;
EXPORT_SYMBOL_GPL(mmu_cr4_features); EXPORT_SYMBOL_GPL(mmu_cr4_features);
#ifdef CONFIG_ACPI #ifdef CONFIG_ACPI_INTERPRETER
int acpi_disabled __initdata = 0; int acpi_disabled __initdata = 0;
#else #else
int acpi_disabled __initdata = 1; int acpi_disabled __initdata = 1;
...@@ -544,9 +544,8 @@ static void __init parse_cmdline_early (char ** cmdline_p) ...@@ -544,9 +544,8 @@ static void __init parse_cmdline_early (char ** cmdline_p)
} }
/* disable IO-APIC */ /* disable IO-APIC */
else if (!memcmp(from, "noapic", 6)) { else if (!memcmp(from, "noapic", 6))
skip_ioapic_setup = 1; disable_ioapic_setup();
}
#endif #endif
/* /*
...@@ -1003,12 +1002,11 @@ void __init setup_arch(char **cmdline_p) ...@@ -1003,12 +1002,11 @@ void __init setup_arch(char **cmdline_p)
generic_apic_probe(*cmdline_p); generic_apic_probe(*cmdline_p);
#endif #endif
#ifdef CONFIG_ACPI_BOOT
/* /*
* Parse the ACPI tables for possible boot-time SMP configuration. * Parse the ACPI tables for possible boot-time SMP configuration.
*/ */
(void) acpi_boot_init(); acpi_boot_init();
#endif
#ifdef CONFIG_X86_LOCAL_APIC #ifdef CONFIG_X86_LOCAL_APIC
if (smp_found_config) if (smp_found_config)
get_smp_config(); get_smp_config();
......
...@@ -3,34 +3,13 @@ ...@@ -3,34 +3,13 @@
# #
menu "ACPI (Advanced Configuration and Power Interface) Support" 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 !X86_VISWS
depends on !IA64_HP_SIM 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 default y
---help--- ---help---
Advanced Configuration and Power Interface (ACPI) support for Advanced Configuration and Power Interface (ACPI) support for
...@@ -60,15 +39,48 @@ config ACPI ...@@ -60,15 +39,48 @@ config ACPI
available at: available at:
<http://www.acpi.info> <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 config ACPI_BOOT
bool 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 default y
config ACPI_SLEEP config ACPI_SLEEP
bool "Sleep States (EXPERIMENTAL)" bool "Sleep States (EXPERIMENTAL)"
depends on X86 && ACPI depends on X86 && ACPI
depends on EXPERIMENTAL depends on EXPERIMENTAL
depends on ACPI_INTERPRETER
default y default y
---help--- ---help---
This option adds support for ACPI suspend states. This option adds support for ACPI suspend states.
...@@ -93,7 +105,8 @@ config ACPI_SLEEP_PROC_FS ...@@ -93,7 +105,8 @@ config ACPI_SLEEP_PROC_FS
config ACPI_AC config ACPI_AC
tristate "AC Adapter" tristate "AC Adapter"
depends on X86 && ACPI depends on X86
depends on ACPI_INTERPRETER
default m default m
help help
This driver adds support for the AC Adapter object, which indicates This driver adds support for the AC Adapter object, which indicates
...@@ -102,7 +115,8 @@ config ACPI_AC ...@@ -102,7 +115,8 @@ config ACPI_AC
config ACPI_BATTERY config ACPI_BATTERY
tristate "Battery" tristate "Battery"
depends on X86 && ACPI depends on X86
depends on ACPI_INTERPRETER
default m default m
help help
This driver adds support for battery information through This driver adds support for battery information through
...@@ -111,7 +125,7 @@ config ACPI_BATTERY ...@@ -111,7 +125,7 @@ config ACPI_BATTERY
config ACPI_BUTTON config ACPI_BUTTON
tristate "Button" tristate "Button"
depends on ACPI depends on ACPI_INTERPRETER
depends on !IA64_SGI_SN depends on !IA64_SGI_SN
default m default m
help help
...@@ -123,7 +137,7 @@ config ACPI_BUTTON ...@@ -123,7 +137,7 @@ config ACPI_BUTTON
config ACPI_FAN config ACPI_FAN
tristate "Fan" tristate "Fan"
depends on ACPI depends on ACPI_INTERPRETER
depends on !IA64_SGI_SN depends on !IA64_SGI_SN
default m default m
help help
...@@ -132,7 +146,7 @@ config ACPI_FAN ...@@ -132,7 +146,7 @@ config ACPI_FAN
config ACPI_PROCESSOR config ACPI_PROCESSOR
tristate "Processor" tristate "Processor"
depends on ACPI depends on ACPI_INTERPRETER
depends on !IA64_SGI_SN depends on !IA64_SGI_SN
default m default m
help help
...@@ -152,14 +166,15 @@ config ACPI_THERMAL ...@@ -152,14 +166,15 @@ config ACPI_THERMAL
config ACPI_NUMA config ACPI_NUMA
bool "NUMA support" bool "NUMA support"
depends on ACPI depends on ACPI_INTERPRETER
depends on NUMA depends on NUMA
depends on !X86_64 depends on !X86_64
default y if IA64_GENERIC || IA64_SGI_SN2 default y if IA64_GENERIC || IA64_SGI_SN2
config ACPI_ASUS config ACPI_ASUS
tristate "ASUS/Medion Laptop Extras" tristate "ASUS/Medion Laptop Extras"
depends on X86 && ACPI depends on X86
depends on ACPI_INTERPRETER
default m default m
---help--- ---help---
This driver provides support for extra features of ACPI-compatible This driver provides support for extra features of ACPI-compatible
...@@ -185,7 +200,8 @@ config ACPI_ASUS ...@@ -185,7 +200,8 @@ config ACPI_ASUS
config ACPI_TOSHIBA config ACPI_TOSHIBA
tristate "Toshiba Laptop Extras" tristate "Toshiba Laptop Extras"
depends on X86 && ACPI depends on X86
depends on ACPI_INTERPRETER
default m default m
---help--- ---help---
This driver adds support for access to certain system settings This driver adds support for access to certain system settings
...@@ -212,7 +228,7 @@ config ACPI_TOSHIBA ...@@ -212,7 +228,7 @@ config ACPI_TOSHIBA
config ACPI_DEBUG config ACPI_DEBUG
bool "Debug Statements" bool "Debug Statements"
depends on ACPI depends on ACPI_INTERPRETER
depends on !IA64_SGI_SN depends on !IA64_SGI_SN
default n default n
help help
...@@ -222,19 +238,14 @@ config ACPI_DEBUG ...@@ -222,19 +238,14 @@ config ACPI_DEBUG
config ACPI_BUS config ACPI_BUS
bool bool
depends on ACPI depends on ACPI_INTERPRETER
depends on !IA64_SGI_SN
default y
config ACPI_INTERPRETER
bool
depends on ACPI
depends on !IA64_SGI_SN depends on !IA64_SGI_SN
default y default y
config ACPI_EC config ACPI_EC
bool bool
depends on X86 && ACPI depends on X86
depends on ACPI_INTERPRETER
default y default y
help help
This driver is required on some systems for the proper operation of This driver is required on some systems for the proper operation of
...@@ -243,19 +254,19 @@ config ACPI_EC ...@@ -243,19 +254,19 @@ config ACPI_EC
config ACPI_POWER config ACPI_POWER
bool bool
depends on ACPI depends on ACPI_INTERPRETER
depends on !IA64_SGI_SN depends on !IA64_SGI_SN
default y default y
config ACPI_PCI config ACPI_PCI
bool bool
depends on ACPI depends on ACPI_INTERPRETER
depends on !IA64_SGI_SN depends on !IA64_SGI_SN
default PCI default PCI
config ACPI_SYSTEM config ACPI_SYSTEM
bool bool
depends on ACPI depends on ACPI_INTERPRETER
depends on !IA64_SGI_SN depends on !IA64_SGI_SN
default y default y
help help
...@@ -264,7 +275,7 @@ config ACPI_SYSTEM ...@@ -264,7 +275,7 @@ config ACPI_SYSTEM
config ACPI_EFI config ACPI_EFI
bool bool
depends on ACPI depends on ACPI_INTERPRETER
depends on IA64 depends on IA64
default y default y
......
...@@ -18,7 +18,7 @@ obj-$(CONFIG_ACPI) := acpi_ksyms.o ...@@ -18,7 +18,7 @@ obj-$(CONFIG_ACPI) := acpi_ksyms.o
# ACPI Boot-Time Table Parsing # ACPI Boot-Time Table Parsing
# #
obj-$(CONFIG_ACPI_BOOT) += tables.o obj-$(CONFIG_ACPI_BOOT) += tables.o
obj-$(CONFIG_ACPI) += blacklist.o obj-$(CONFIG_ACPI_INTERPRETER) += blacklist.o
# #
# ACPI Core Subsystem (Interpreter) # ACPI Core Subsystem (Interpreter)
......
...@@ -106,21 +106,37 @@ ...@@ -106,21 +106,37 @@
:"0"(n_hi), "1"(n_lo)) :"0"(n_hi), "1"(n_lo))
#if defined(CONFIG_ACPI_BOOT) && defined(CONFIG_X86_LOCAL_APIC) #ifdef CONFIG_ACPI_BOOT
extern int acpi_lapic; extern int acpi_lapic;
#else extern int acpi_ioapic;
#define acpi_lapic 0
#endif
#if defined(CONFIG_ACPI_BOOT) && defined(CONFIG_X86_IO_APIC)
extern int acpi_ioapic;
#else
#define acpi_ioapic 0
#endif
#ifdef CONFIG_ACPI_BOOT
/* Fixmap pages to reserve for ACPI boot-time tables (see fixmap.h) */ /* Fixmap pages to reserve for ACPI boot-time tables (see fixmap.h) */
#define FIX_ACPI_PAGES 4 #define FIX_ACPI_PAGES 4
#ifdef CONFIG_X86_IO_APIC
extern int skip_ioapic_setup;
static inline void disable_ioapic_setup(void)
{
skip_ioapic_setup = 1;
}
static inline int ioapic_setup_disabled(void)
{
return skip_ioapic_setup;
}
#else
static inline void disable_ioapic_setup(void)
{ }
#endif
#else /* CONFIG_ACPI_BOOT */
# define acpi_lapic 0
# define acpi_ioapic 0
#endif #endif
#ifdef CONFIG_ACPI_SLEEP #ifdef CONFIG_ACPI_SLEEP
......
...@@ -373,6 +373,11 @@ extern int acpi_mp_config; ...@@ -373,6 +373,11 @@ extern int acpi_mp_config;
#define acpi_mp_config 0 #define acpi_mp_config 0
static inline int acpi_boot_init(void)
{
return 0;
}
#endif /*!CONFIG_ACPI_BOOT*/ #endif /*!CONFIG_ACPI_BOOT*/
...@@ -419,10 +424,17 @@ int ec_write(u8 addr, u8 val); ...@@ -419,10 +424,17 @@ int ec_write(u8 addr, u8 val);
#endif /*CONFIG_ACPI_EC*/ #endif /*CONFIG_ACPI_EC*/
#ifdef CONFIG_ACPI #ifdef CONFIG_ACPI_INTERPRETER
int acpi_blacklisted(void); int acpi_blacklisted(void);
#endif /*CONFIG_ACPI*/ #else /*!CONFIG_ACPI_INTERPRETER*/
static inline int acpi_blacklisted(void)
{
return 0;
}
#endif /*!CONFIG_ACPI_INTERPRETER*/
#endif /*_LINUX_ACPI_H*/ #endif /*_LINUX_ACPI_H*/
...@@ -274,8 +274,6 @@ void __init mount_block_root(char *name, int flags) ...@@ -274,8 +274,6 @@ void __init mount_block_root(char *name, int flags)
root_device_name, b); root_device_name, b);
printk("Please append a correct \"root=\" boot option\n"); printk("Please append a correct \"root=\" boot option\n");
mount_root_failed_msg(); /* architecture dependent */
panic("VFS: Unable to mount root fs on %s", b); panic("VFS: Unable to mount root fs on %s", b);
} }
panic("VFS: Unable to mount root fs on %s", __bdevname(ROOT_DEV, b)); panic("VFS: Unable to mount root fs on %s", __bdevname(ROOT_DEV, b));
......
...@@ -79,14 +79,3 @@ void md_run_setup(void); ...@@ -79,14 +79,3 @@ void md_run_setup(void);
static inline void md_run_setup(void) {} static inline void md_run_setup(void) {}
#endif #endif
#ifdef CONFIG_MOUNT_ROOT_FAILED_MSG
void mount_root_failed_msg(void);
#else
static inline void mount_root_failed_msg(void) {}
#endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment