Merge branch 'linux-2.6'
Paul Mackerras [Tue, 8 May 2007 03:37:51 +0000 (13:37 +1000)]
16 files changed:
1  2 
arch/powerpc/Kconfig
arch/powerpc/kernel/Makefile
arch/powerpc/kernel/legacy_serial.c
arch/powerpc/kernel/pci_64.c
arch/powerpc/kernel/vio.c
arch/ppc/syslib/ppc4xx_sgdma.c
drivers/ide/pci/pdc202xx_new.c
drivers/infiniband/hw/ehca/ehca_main.c
drivers/pci/hotplug/rpaphp_core.c
drivers/scsi/ibmvscsi/ibmvstgt.c
drivers/serial/of_serial.c
drivers/usb/host/ehci-ps3.c
drivers/usb/host/ohci-ps3.c
drivers/video/ps3fb.c
include/linux/suspend.h
kernel/power/Kconfig

@@@ -117,9 -117,19 +117,22 @@@ config GENERIC_BU
        default y
        depends on BUG
  
 +config SYS_SUPPORTS_APM_EMULATION
 +      bool
 +
+ #
+ # Powerpc uses the slab allocator to manage its ptes and the
+ # page structs of ptes are used for splitting the page table
+ # lock for configurations supporting more than SPLIT_PTLOCK_CPUS.
+ #
+ # In that special configuration the page structs of slabs are modified.
+ # This setting disables the selection of SLUB as a slab allocator.
+ #
+ config ARCH_USES_SLAB_PAGE_STRUCT
+       bool
+       default y
+       depends on SPLIT_PTLOCK_CPUS <= NR_CPUS
  config DEFAULT_UIMAGE
        bool
        help
@@@ -36,9 -36,8 +36,9 @@@ obj-$(CONFIG_GENERIC_TBSYNC)  += smp-tbs
  obj-$(CONFIG_CRASH_DUMP)      += crash_dump.o
  obj-$(CONFIG_6xx)             += idle_6xx.o l2cr_6xx.o cpu_setup_6xx.o
  obj-$(CONFIG_TAU)             += tau_6xx.o
- obj-$(CONFIG_SOFTWARE_SUSPEND)        += swsusp.o
++obj-$(CONFIG_SOFTWARE_SUSPEND)        += swsusp.o suspend.o
  obj32-$(CONFIG_SOFTWARE_SUSPEND) += swsusp_32.o
 -obj-$(CONFIG_SOFTWARE_SUSPEND) += suspend.o
 +obj64-$(CONFIG_SOFTWARE_SUSPEND) += swsusp_64.o swsusp_asm64.o
  obj32-$(CONFIG_MODULES)               += module_32.o
  
  ifeq ($(CONFIG_PPC_MERGE),y)
Simple merge
Simple merge
Simple merge
@@@ -23,8 -23,6 +23,7 @@@
  #include <linux/mm.h>
  #include <linux/init.h>
  #include <linux/module.h>
 +#include <linux/dma-mapping.h>
- #include <linux/pci.h>
  
  #include <asm/system.h>
  #include <asm/io.h>
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -885,10 -898,10 +898,10 @@@ static int ps3fb_vsync_settings(struct 
        }
  
        ps3fb.dev = dev;
 -      error = ps3_alloc_irq(PS3_BINDING_CPU_ANY, dinfo->irq.irq_outlet,
 -                            &ps3fb.irq_no);
 +      error = ps3_irq_plug_setup(PS3_BINDING_CPU_ANY, dinfo->irq.irq_outlet,
 +                                 &ps3fb.irq_no);
        if (error) {
-               printk(KERN_ERR "%s: ps3_alloc_irq failed %d\n", __FUNCTION__,
+               printk(KERN_ERR "%s: ps3_alloc_irq failed %d\n", __func__,
                       error);
                return error;
        }
        error = request_irq(ps3fb.irq_no, ps3fb_vsync_interrupt, IRQF_DISABLED,
                            "ps3fb vsync", ps3fb.dev);
        if (error) {
-               printk(KERN_ERR "%s: request_irq failed %d\n", __FUNCTION__,
+               printk(KERN_ERR "%s: request_irq failed %d\n", __func__,
                       error);
 -              ps3_free_irq(ps3fb.irq_no);
 +              ps3_irq_plug_destroy(ps3fb.irq_no);
                return error;
        }
  
@@@ -1083,9 -1107,14 +1107,14 @@@ void ps3fb_cleanup(void
  {
        int status;
  
+       if (ps3fb.task) {
+               struct task_struct *task = ps3fb.task;
+               ps3fb.task = NULL;
+               kthread_stop(task);
+       }
        if (ps3fb.irq_no) {
                free_irq(ps3fb.irq_no, ps3fb.dev);
 -              ps3_free_irq(ps3fb.irq_no);
 +              ps3_irq_plug_destroy(ps3fb.irq_no);
        }
        iounmap((u8 __iomem *)ps3fb.dinfo);
  
Simple merge
@@@ -78,10 -78,12 +78,12 @@@ config PM_SYSFS_DEPRECATE
          are likely to be bus or driver specific.
  
  config SOFTWARE_SUSPEND
-       bool "Software Suspend"
+       bool "Software Suspend (Hibernation)"
 -      depends on PM && SWAP && ((X86 && (!SMP || SUSPEND_SMP)) || ((FRV || PPC32) && !SMP))
 +      depends on PM && SWAP && (((X86 || PPC64_SWSUSP) && (!SMP || SUSPEND_SMP)) || ((FRV || PPC32) && !SMP))
        ---help---
-         Enable the suspend to disk (STD) functionality.
+         Enable the suspend to disk (STD) functionality, which is usually
+         called "hibernation" in user interfaces.  STD checkpoints the
+         system and powers it off; and restores that checkpoint on reboot.
  
          You can suspend your machine with 'echo disk > /sys/power/state'.
          Alternatively, you can use the additional userland tools available