Merge branches 'release', 'misc' and 'misc-2.6.25' into release
authorLen Brown <len.brown@intel.com>
Thu, 7 Feb 2008 08:13:13 +0000 (03:13 -0500)
committerLen Brown <len.brown@intel.com>
Thu, 7 Feb 2008 08:13:13 +0000 (03:13 -0500)
1  2  3 
arch/ia64/kernel/acpi.c
arch/x86/kernel/acpi/boot.c
drivers/acpi/osl.c
drivers/acpi/sleep/main.c

Simple merge
Simple merge
index 07c18dbde698bbba86c17d7894a6ff5360abdcba,82525d9cccb08ace2288dfd7ece8cde5c06e2732,e53fb516f9d45538dbfdedc002ad3dcb753e200e..0c41db3075a591a76931e36d0afa6699e240bc75
@@@@ -77,55 -77,11 -77,55 +77,55 @@@@ static struct workqueue_struct *kacpi_n
   #define      OSI_STRING_LENGTH_MAX 64        /* arbitrary */
   static char osi_additional_string[OSI_STRING_LENGTH_MAX];
   
 - static int osi_linux;                /* disable _OSI(Linux) by default */
 + /*
 +  * "Ode to _OSI(Linux)"
 +  *
 +  * osi_linux -- Control response to BIOS _OSI(Linux) query.
 +  *
 +  * As Linux evolves, the features that it supports change.
 +  * So an OSI string such as "Linux" is not specific enough
 +  * to be useful across multiple versions of Linux.  It
 +  * doesn't identify any particular feature, interface,
 +  * or even any particular version of Linux...
 +  *
 +  * Unfortunately, Linux-2.6.22 and earlier responded "yes"
 +  * to a BIOS _OSI(Linux) query.  When
 +  * a reference mobile BIOS started using it, its use
 +  * started to spread to many vendor platforms.
 +  * As it is not supportable, we need to halt that spread.
 +  *
 +  * Today, most BIOS references to _OSI(Linux) are noise --
 +  * they have no functional effect and are just dead code
 +  * carried over from the reference BIOS.
 +  *
 +  * The next most common case is that _OSI(Linux) harms Linux,
 +  * usually by causing the BIOS to follow paths that are
 +  * not tested during Windows validation.
 +  *
 +  * Finally, there is a short list of platforms
 +  * where OSI(Linux) benefits Linux.
 +  *
 +  * In Linux-2.6.23, OSI(Linux) is first disabled by default.
 +  * DMI is used to disable the dmesg warning about OSI(Linux)
 +  * on platforms where it is known to have no effect.
 +  * But a dmesg warning remains for systems where
 +  * we do not know if OSI(Linux) is good or bad for the system.
 +  * DMI is also used to enable OSI(Linux) for the machines
 +  * that are known to need it.
 +  *
 +  * BIOS writers should NOT query _OSI(Linux) on future systems.
 +  * It will be ignored by default, and to get Linux to
 +  * not ignore it will require a kernel source update to
 +  * add a DMI entry, or a boot-time "acpi_osi=Linux" invocation.
 +  */
 + #define OSI_LINUX_ENABLE 0
   
 - #ifdef CONFIG_DMI
 - static struct __initdata dmi_system_id acpi_osl_dmi_table[];
 - #endif
  -struct osi_linux {
 ++static struct osi_linux {
 +      unsigned int    enable:1;
 +      unsigned int    dmi:1;
 +      unsigned int    cmdline:1;
 +      unsigned int    known:1;
 + } osi_linux = { OSI_LINUX_ENABLE, 0, 0, 0};
   
   static void __init acpi_request_region (struct acpi_generic_address *addr,
        unsigned int length, char *desc)
@@@@ -250,15 -207,12 -250,11 +250,16 @@@@ acpi_physical_address __init acpi_os_ge
                               "System description tables not found\n");
                        return 0;
                }
 --     } else
 --             return acpi_find_rsdp();
 ++     } else {
 ++             acpi_physical_address pa = 0;
 ++
 ++             acpi_find_root_pointer(&pa);
 ++             return pa;
 ++     }
   }
   
- -void __iomem *acpi_os_map_memory(acpi_physical_address phys, acpi_size size)
+ +void __iomem *__init_refok
+ +acpi_os_map_memory(acpi_physical_address phys, acpi_size size)
   {
        if (phys > ULONG_MAX) {
                printk(KERN_ERR PREFIX "Cannot map memory that high\n");
@@@@ -1186,34 -1142,6 -1208,34 +1187,34 @@@@ acpi_status acpi_os_release_object(acpi
        return (AE_OK);
   }
   
  -int acpi_dmi_dump(void)
 + /**
 +  *   acpi_dmi_dump - dump DMI slots needed for blacklist entry
 +  *
 +  *   Returns 0 on success
 +  */
  -             dmi_get_slot(DMI_SYS_VENDOR));
 ++static int acpi_dmi_dump(void)
 + {
 + 
 +      if (!dmi_available)
 +              return -1;
 + 
 +      printk(KERN_NOTICE PREFIX "DMI System Vendor: %s\n",
  -             dmi_get_slot(DMI_PRODUCT_NAME));
 ++             dmi_get_system_info(DMI_SYS_VENDOR));
 +      printk(KERN_NOTICE PREFIX "DMI Product Name: %s\n",
  -             dmi_get_slot(DMI_PRODUCT_VERSION));
 ++             dmi_get_system_info(DMI_PRODUCT_NAME));
 +      printk(KERN_NOTICE PREFIX "DMI Product Version: %s\n",
  -             dmi_get_slot(DMI_BOARD_NAME));
 ++             dmi_get_system_info(DMI_PRODUCT_VERSION));
 +      printk(KERN_NOTICE PREFIX "DMI Board Name: %s\n",
  -             dmi_get_slot(DMI_BIOS_VENDOR));
 ++             dmi_get_system_info(DMI_BOARD_NAME));
 +      printk(KERN_NOTICE PREFIX "DMI BIOS Vendor: %s\n",
  -             dmi_get_slot(DMI_BIOS_DATE));
 ++             dmi_get_system_info(DMI_BIOS_VENDOR));
 +      printk(KERN_NOTICE PREFIX "DMI BIOS Date: %s\n",
 ++             dmi_get_system_info(DMI_BIOS_DATE));
 + 
 +      return 0;
 + }
 + 
 + 
   /******************************************************************************
    *
    * FUNCTION:    acpi_os_validate_interface
index 7f97e32fc33f7d049c14e63b258da3c4b1e1d283,2c0b6630f8ba54603530fce4574f8697faaabe9e,c9a733f36bd546724805817bedb15716699800ff..293a1cbb47c05776b543894bc32ee145de0153b7
@@@@ -167,10 -139,7 -167,10 +167,10 @@@@ static int acpi_pm_enter(suspend_state_
                break;
        }
   
 -      /* ACPI 3.0 specs (P62) says that it's the responsabilty
 +      /* Reprogram control registers and execute _BFS */
 +      acpi_leave_sleep_state_prep(acpi_state);
 + 
-       /* ACPI 3.0 specs (P62) says that it's the responsabilty
++      /* ACPI 3.0 specs (P62) says that it's the responsibility
         * of the OSPM to clear the status bit [ implying that the
         * POWER_BUTTON event should not reach userspace ]
         */