diff options
author | Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> | 2009-04-07 16:34:16 -0400 |
---|---|---|
committer | Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> | 2009-04-07 16:34:16 -0400 |
commit | 38f4b8c0da01ae7cd9b93386842ce272d6fde9ab (patch) | |
tree | 3c8c52201aac038094bfea7efdd0984a8f62045e /drivers/xen | |
parent | a811454027352c762e0d5bba1b1d8f7d26bf96ae (diff) | |
parent | 8e2c4f2844c0e8dcdfe312e5f2204854ca8532c6 (diff) |
Merge commit 'origin/master' into for-linus/xen/master
* commit 'origin/master': (4825 commits)
Fix build errors due to CONFIG_BRANCH_TRACER=y
parport: Use the PCI IRQ if offered
tty: jsm cleanups
Adjust path to gpio headers
KGDB_SERIAL_CONSOLE check for module
Change KCONFIG name
tty: Blackin CTS/RTS
Change hardware flow control from poll to interrupt driven
Add support for the MAX3100 SPI UART.
lanana: assign a device name and numbering for MAX3100
serqt: initial clean up pass for tty side
tty: Use the generic RS485 ioctl on CRIS
tty: Correct inline types for tty_driver_kref_get()
splice: fix deadlock in splicing to file
nilfs2: support nanosecond timestamp
nilfs2: introduce secondary super block
nilfs2: simplify handling of active state of segments
nilfs2: mark minor flag for checkpoint created by internal operation
nilfs2: clean up sketch file
nilfs2: super block operations fix endian bug
...
Conflicts:
arch/x86/include/asm/thread_info.h
arch/x86/lguest/boot.c
drivers/xen/manage.c
Diffstat (limited to 'drivers/xen')
-rw-r--r-- | drivers/xen/Kconfig | 2 | ||||
-rw-r--r-- | drivers/xen/cpu_hotplug.c | 4 | ||||
-rw-r--r-- | drivers/xen/manage.c | 15 |
3 files changed, 12 insertions, 9 deletions
diff --git a/drivers/xen/Kconfig b/drivers/xen/Kconfig index c0c490ea7d1b..cab100acf983 100644 --- a/drivers/xen/Kconfig +++ b/drivers/xen/Kconfig | |||
@@ -47,7 +47,7 @@ config XEN_COMPAT_XENFS | |||
47 | The old xenstore userspace tools expect to find "xenbus" | 47 | The old xenstore userspace tools expect to find "xenbus" |
48 | under /proc/xen, but "xenbus" is now found at the root of the | 48 | under /proc/xen, but "xenbus" is now found at the root of the |
49 | xenfs filesystem. Selecting this causes the kernel to create | 49 | xenfs filesystem. Selecting this causes the kernel to create |
50 | the compatibilty mount point /proc/xen if it is running on | 50 | the compatibility mount point /proc/xen if it is running on |
51 | a xen platform. | 51 | a xen platform. |
52 | If in doubt, say yes. | 52 | If in doubt, say yes. |
53 | 53 | ||
diff --git a/drivers/xen/cpu_hotplug.c b/drivers/xen/cpu_hotplug.c index 411cb1fc9279..bdfd584ad853 100644 --- a/drivers/xen/cpu_hotplug.c +++ b/drivers/xen/cpu_hotplug.c | |||
@@ -10,7 +10,7 @@ static void enable_hotplug_cpu(int cpu) | |||
10 | if (!cpu_present(cpu)) | 10 | if (!cpu_present(cpu)) |
11 | arch_register_cpu(cpu); | 11 | arch_register_cpu(cpu); |
12 | 12 | ||
13 | cpu_set(cpu, cpu_present_map); | 13 | set_cpu_present(cpu, true); |
14 | } | 14 | } |
15 | 15 | ||
16 | static void disable_hotplug_cpu(int cpu) | 16 | static void disable_hotplug_cpu(int cpu) |
@@ -18,7 +18,7 @@ static void disable_hotplug_cpu(int cpu) | |||
18 | if (cpu_present(cpu)) | 18 | if (cpu_present(cpu)) |
19 | arch_unregister_cpu(cpu); | 19 | arch_unregister_cpu(cpu); |
20 | 20 | ||
21 | cpu_clear(cpu, cpu_present_map); | 21 | set_cpu_present(cpu, false); |
22 | } | 22 | } |
23 | 23 | ||
24 | static int vcpu_online(unsigned int cpu) | 24 | static int vcpu_online(unsigned int cpu) |
diff --git a/drivers/xen/manage.c b/drivers/xen/manage.c index 5269bb4d2496..fddc2025dece 100644 --- a/drivers/xen/manage.c +++ b/drivers/xen/manage.c | |||
@@ -39,12 +39,6 @@ static int xen_suspend(void *data) | |||
39 | 39 | ||
40 | BUG_ON(!irqs_disabled()); | 40 | BUG_ON(!irqs_disabled()); |
41 | 41 | ||
42 | err = device_power_down(PMSG_SUSPEND); | ||
43 | if (err) { | ||
44 | printk(KERN_ERR "xen_suspend: device_power_down failed: %d\n", | ||
45 | err); | ||
46 | return err; | ||
47 | } | ||
48 | err = sysdev_suspend(PMSG_SUSPEND); | 42 | err = sysdev_suspend(PMSG_SUSPEND); |
49 | if (err) { | 43 | if (err) { |
50 | printk(KERN_ERR "xen_suspend: sysdev_suspend failed: %d\n", | 44 | printk(KERN_ERR "xen_suspend: sysdev_suspend failed: %d\n", |
@@ -107,6 +101,12 @@ static void do_suspend(void) | |||
107 | printk(KERN_DEBUG "suspending xenstore...\n"); | 101 | printk(KERN_DEBUG "suspending xenstore...\n"); |
108 | xs_suspend(); | 102 | xs_suspend(); |
109 | 103 | ||
104 | err = device_power_down(PMSG_SUSPEND); | ||
105 | if (err) { | ||
106 | printk(KERN_ERR "device_power_down failed: %d\n", err); | ||
107 | goto resume_devices; | ||
108 | } | ||
109 | |||
110 | err = stop_machine(xen_suspend, &cancelled, cpumask_of(0)); | 110 | err = stop_machine(xen_suspend, &cancelled, cpumask_of(0)); |
111 | if (err) { | 111 | if (err) { |
112 | printk(KERN_ERR "failed to start xen_suspend: %d\n", err); | 112 | printk(KERN_ERR "failed to start xen_suspend: %d\n", err); |
@@ -119,6 +119,9 @@ static void do_suspend(void) | |||
119 | } else | 119 | } else |
120 | xs_suspend_cancel(); | 120 | xs_suspend_cancel(); |
121 | 121 | ||
122 | device_power_up(PMSG_RESUME); | ||
123 | |||
124 | resume_devices: | ||
122 | device_resume(PMSG_RESUME); | 125 | device_resume(PMSG_RESUME); |
123 | 126 | ||
124 | /* Make sure timer events get retriggered on all CPUs */ | 127 | /* Make sure timer events get retriggered on all CPUs */ |