summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPavel Machek <pavel@ucw.cz>2005-04-16 15:25:24 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-16 15:25:24 -0700
commit438510f6f079e94df294936b5bd8a7fd679cd1c9 (patch)
tree9c26a3eb527e95ed19e74d2c1d58e46f2d6908df
parent74ad74c1581c9a27582945ca01ffdb88fc774171 (diff)
downloadop-kernel-dev-438510f6f079e94df294936b5bd8a7fd679cd1c9.zip
op-kernel-dev-438510f6f079e94df294936b5bd8a7fd679cd1c9.tar.gz
[PATCH] pm_message_t: more fixes in common and i386
I thought I'm done with fixing u32 vs. pm_message_t ... unfortunately that turned out not to be the case as Russel King pointed out. Here are fixes for Documentation and common code (mainly system devices). Signed-off-by: Pavel Machek <pavel@suse.cz> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--Documentation/driver-model/bus.txt2
-rw-r--r--Documentation/driver-model/driver.txt4
-rw-r--r--arch/i386/kernel/apic.c2
-rw-r--r--arch/i386/kernel/i8259.c2
-rw-r--r--arch/i386/kernel/io_apic.c2
-rw-r--r--arch/i386/kernel/nmi.c2
-rw-r--r--arch/i386/kernel/time.c2
-rw-r--r--arch/i386/oprofile/nmi_int.c2
-rw-r--r--drivers/base/sys.c3
-rw-r--r--include/linux/pci.h5
-rw-r--r--include/linux/sysdev.h5
11 files changed, 17 insertions, 14 deletions
diff --git a/Documentation/driver-model/bus.txt b/Documentation/driver-model/bus.txt
index dd62c7b..5001b75 100644
--- a/Documentation/driver-model/bus.txt
+++ b/Documentation/driver-model/bus.txt
@@ -18,7 +18,7 @@ struct bus_type {
int (*match)(struct device * dev, struct device_driver * drv);
int (*hotplug) (struct device *dev, char **envp,
int num_envp, char *buffer, int buffer_size);
- int (*suspend)(struct device * dev, u32 state);
+ int (*suspend)(struct device * dev, pm_message_t state);
int (*resume)(struct device * dev);
};
diff --git a/Documentation/driver-model/driver.txt b/Documentation/driver-model/driver.txt
index 1244778..6031a68 100644
--- a/Documentation/driver-model/driver.txt
+++ b/Documentation/driver-model/driver.txt
@@ -16,7 +16,7 @@ struct device_driver {
int (*probe) (struct device * dev);
int (*remove) (struct device * dev);
- int (*suspend) (struct device * dev, u32 state, u32 level);
+ int (*suspend) (struct device * dev, pm_message_t state, u32 level);
int (*resume) (struct device * dev, u32 level);
void (*release) (struct device_driver * drv);
@@ -195,7 +195,7 @@ device; i.e. anything in the device's driver_data field.
If the device is still present, it should quiesce the device and place
it into a supported low-power state.
- int (*suspend) (struct device * dev, u32 state, u32 level);
+ int (*suspend) (struct device * dev, pm_message_t state, u32 level);
suspend is called to put the device in a low power state. There are
several stages to successfully suspending a device, which is denoted in
diff --git a/arch/i386/kernel/apic.c b/arch/i386/kernel/apic.c
index 35c1751..e3879f7 100644
--- a/arch/i386/kernel/apic.c
+++ b/arch/i386/kernel/apic.c
@@ -548,7 +548,7 @@ static struct {
unsigned int apic_thmr;
} apic_pm_state;
-static int lapic_suspend(struct sys_device *dev, u32 state)
+static int lapic_suspend(struct sys_device *dev, pm_message_t state)
{
unsigned long flags;
diff --git a/arch/i386/kernel/i8259.c b/arch/i386/kernel/i8259.c
index 560bef1..2c4813b 100644
--- a/arch/i386/kernel/i8259.c
+++ b/arch/i386/kernel/i8259.c
@@ -262,7 +262,7 @@ static int i8259A_resume(struct sys_device *dev)
return 0;
}
-static int i8259A_suspend(struct sys_device *dev, u32 state)
+static int i8259A_suspend(struct sys_device *dev, pm_message_t state)
{
save_ELCR(irq_trigger);
return 0;
diff --git a/arch/i386/kernel/io_apic.c b/arch/i386/kernel/io_apic.c
index 9c1350e..5e0d55b 100644
--- a/arch/i386/kernel/io_apic.c
+++ b/arch/i386/kernel/io_apic.c
@@ -2299,7 +2299,7 @@ struct sysfs_ioapic_data {
};
static struct sysfs_ioapic_data * mp_ioapic_data[MAX_IO_APICS];
-static int ioapic_suspend(struct sys_device *dev, u32 state)
+static int ioapic_suspend(struct sys_device *dev, pm_message_t state)
{
struct IO_APIC_route_entry *entry;
struct sysfs_ioapic_data *data;
diff --git a/arch/i386/kernel/nmi.c b/arch/i386/kernel/nmi.c
index f5b0c50..2f89d00 100644
--- a/arch/i386/kernel/nmi.c
+++ b/arch/i386/kernel/nmi.c
@@ -265,7 +265,7 @@ void enable_timer_nmi_watchdog(void)
static int nmi_pm_active; /* nmi_active before suspend */
-static int lapic_nmi_suspend(struct sys_device *dev, u32 state)
+static int lapic_nmi_suspend(struct sys_device *dev, pm_message_t state)
{
nmi_pm_active = nmi_active;
disable_lapic_nmi_watchdog();
diff --git a/arch/i386/kernel/time.c b/arch/i386/kernel/time.c
index 9b55e30..4d75b37 100644
--- a/arch/i386/kernel/time.c
+++ b/arch/i386/kernel/time.c
@@ -376,7 +376,7 @@ void notify_arch_cmos_timer(void)
static long clock_cmos_diff, sleep_start;
-static int timer_suspend(struct sys_device *dev, u32 state)
+static int timer_suspend(struct sys_device *dev, pm_message_t state)
{
/*
* Estimate time zone so that set_time can update the clock
diff --git a/arch/i386/oprofile/nmi_int.c b/arch/i386/oprofile/nmi_int.c
index 3492d96..255e470 100644
--- a/arch/i386/oprofile/nmi_int.c
+++ b/arch/i386/oprofile/nmi_int.c
@@ -32,7 +32,7 @@ static int nmi_enabled = 0;
#ifdef CONFIG_PM
-static int nmi_suspend(struct sys_device *dev, u32 state)
+static int nmi_suspend(struct sys_device *dev, pm_message_t state)
{
if (nmi_enabled == 1)
nmi_stop();
diff --git a/drivers/base/sys.c b/drivers/base/sys.c
index cff5a6a..9102e37 100644
--- a/drivers/base/sys.c
+++ b/drivers/base/sys.c
@@ -20,6 +20,7 @@
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/string.h>
+#include <linux/pm.h>
extern struct subsystem devices_subsys;
@@ -302,7 +303,7 @@ void sysdev_shutdown(void)
* all synchronization.
*/
-int sysdev_suspend(u32 state)
+int sysdev_suspend(pm_message_t state)
{
struct sysdev_class * cls;
diff --git a/include/linux/pci.h b/include/linux/pci.h
index bea13a9..3c89148 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -501,6 +501,7 @@ typedef int __bitwise pci_power_t;
#define PCI_D2 ((pci_power_t __force) 2)
#define PCI_D3hot ((pci_power_t __force) 3)
#define PCI_D3cold ((pci_power_t __force) 4)
+#define PCI_POWER_ERROR ((pci_power_t __force) -1)
/*
* The pci_dev structure is used to describe PCI devices.
@@ -669,7 +670,7 @@ struct pci_driver {
void (*remove) (struct pci_dev *dev); /* Device removed (NULL if not a hot-plug capable driver) */
int (*suspend) (struct pci_dev *dev, pm_message_t state); /* Device suspended */
int (*resume) (struct pci_dev *dev); /* Device woken up */
- int (*enable_wake) (struct pci_dev *dev, u32 state, int enable); /* Enable wake event */
+ int (*enable_wake) (struct pci_dev *dev, pci_power_t state, int enable); /* Enable wake event */
struct device_driver driver;
struct pci_dynids dynids;
@@ -952,7 +953,7 @@ static inline const struct pci_device_id *pci_match_device(const struct pci_devi
static inline int pci_save_state(struct pci_dev *dev) { return 0; }
static inline int pci_restore_state(struct pci_dev *dev) { return 0; }
static inline int pci_set_power_state(struct pci_dev *dev, pci_power_t state) { return 0; }
-static inline pci_power_t pci_choose_state(struct pci_dev *dev, u32 state) { return PCI_D0; }
+static inline pci_power_t pci_choose_state(struct pci_dev *dev, pm_message_t state) { return PCI_D0; }
static inline int pci_enable_wake(struct pci_dev *dev, pci_power_t state, int enable) { return 0; }
#define isa_bridge ((struct pci_dev *)NULL)
diff --git a/include/linux/sysdev.h b/include/linux/sysdev.h
index 635db1d..2a4b432 100644
--- a/include/linux/sysdev.h
+++ b/include/linux/sysdev.h
@@ -22,6 +22,7 @@
#define _SYSDEV_H_
#include <linux/kobject.h>
+#include <linux/pm.h>
struct sys_device;
@@ -31,7 +32,7 @@ struct sysdev_class {
/* Default operations for these types of devices */
int (*shutdown)(struct sys_device *);
- int (*suspend)(struct sys_device *, u32 state);
+ int (*suspend)(struct sys_device *, pm_message_t state);
int (*resume)(struct sys_device *);
struct kset kset;
};
@@ -50,7 +51,7 @@ struct sysdev_driver {
int (*add)(struct sys_device *);
int (*remove)(struct sys_device *);
int (*shutdown)(struct sys_device *);
- int (*suspend)(struct sys_device *, u32 state);
+ int (*suspend)(struct sys_device *, pm_message_t state);
int (*resume)(struct sys_device *);
};
OpenPOWER on IntegriCloud