Hi, The following series of patches removes some PM stuff that is obsolete and not used any more, AFAICS. Thanks, Rafael -- "Premature optimization is the root of all evil." - Donald Knuth --
From: Rafael J. Wysocki <rjw@sisk.pl>
Remove obsolete and no longer used PM-related definitions from
include/asm-x86/nmi.h .
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
---
include/asm-x86/nmi.h | 21 ---------------------
1 file changed, 21 deletions(-)
Index: linux-2.6/include/asm-x86/nmi.h
===================================================================
--- linux-2.6.orig/include/asm-x86/nmi.h
+++ linux-2.6/include/asm-x86/nmi.h
@@ -15,27 +15,6 @@
*/
int do_nmi_callback(struct pt_regs *regs, int cpu);
-#ifdef CONFIG_PM
-
-/** Replace the PM callback routine for NMI. */
-struct pm_dev *set_nmi_pm_callback(pm_callback callback);
-
-/** Unset the PM callback routine back to the default. */
-void unset_nmi_pm_callback(struct pm_dev *dev);
-
-#else
-
-static inline struct pm_dev *set_nmi_pm_callback(pm_callback callback)
-{
- return 0;
-}
-
-static inline void unset_nmi_pm_callback(struct pm_dev *dev)
-{
-}
-
-#endif /* CONFIG_PM */
-
#ifdef CONFIG_X86_64
extern void default_do_nmi(struct pt_regs *);
extern void die_nmi(char *str, struct pt_regs *regs, int do_panic);
--
applied to tip/x86/cleanups, thanks Rafael. Ingo --
From: Rafael J. Wysocki <rjw@sisk.pl>
Remove the definition of 'struct pm_dev', which is not used any more,
along with some related stuff from include/linux/pm.h .
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
---
include/linux/pm.h | 24 ------------------------
1 file changed, 24 deletions(-)
Index: linux-2.6/include/linux/pm.h
===================================================================
--- linux-2.6.orig/include/linux/pm.h
+++ linux-2.6/include/linux/pm.h
@@ -68,30 +68,6 @@ enum
*/
#define PM_PCI_ID(dev) ((dev)->bus->number << 16 | (dev)->devfn)
-/*
- * Request handler callback
- */
-struct pm_dev;
-
-typedef int (*pm_callback)(struct pm_dev *dev, pm_request_t rqst, void *data);
-
-/*
- * Dynamic device information
- */
-struct pm_dev
-{
- pm_dev_t type;
- unsigned long id;
- pm_callback callback;
- void *data;
-
- unsigned long flags;
- unsigned long state;
- unsigned long prev_state;
-
- struct list_head entry;
-};
-
/* Functions above this comment are list-based old-style power
* management. Please avoid using them. */
--
ACK. -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html --
From: Rafael J. Wysocki <rjw@sisk.pl>
Some IRDA headers contain references to 'struct pm_dev' that are not
necessary any more and may be removed.
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
---
drivers/net/irda/ali-ircc.h | 2 --
drivers/net/irda/au1000_ircc.h | 1 -
drivers/net/irda/via-ircc.h | 1 -
3 files changed, 4 deletions(-)
Index: linux-2.6/drivers/net/irda/au1000_ircc.h
===================================================================
--- linux-2.6.orig/drivers/net/irda/au1000_ircc.h
+++ linux-2.6/drivers/net/irda/au1000_ircc.h
@@ -122,6 +122,5 @@ struct au1k_private {
struct timer_list timer;
spinlock_t lock; /* For serializing operations */
- struct pm_dev *dev;
};
#endif /* AU1000_IRCC_H */
Index: linux-2.6/drivers/net/irda/ali-ircc.h
===================================================================
--- linux-2.6.orig/drivers/net/irda/ali-ircc.h
+++ linux-2.6/drivers/net/irda/ali-ircc.h
@@ -219,8 +219,6 @@ struct ali_ircc_cb {
int index; /* Instance index */
unsigned char fifo_opti_buf;
-
- struct pm_dev *dev;
};
static inline void switch_bank(int iobase, int bank)
Index: linux-2.6/drivers/net/irda/via-ircc.h
===================================================================
--- linux-2.6.orig/drivers/net/irda/via-ircc.h
+++ linux-2.6/drivers/net/irda/via-ircc.h
@@ -118,7 +118,6 @@ struct via_ircc_cb {
int index; /* Instance index */
struct eventflag EventFlag;
- struct pm_dev *dev;
unsigned int chip_id; /* to remember chip id */
unsigned int RetryCount;
unsigned int RxDataReady;
--
ACK. Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html --
From: Rafael J. Wysocki <rjw@sisk.pl> Remove an obsolete piece of PM documentation. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> --- Documentation/power/pm.txt | 257 --------------------------------------------- 1 file changed, 257 deletions(-) Index: linux-2.6/Documentation/power/pm.txt =================================================================== --- linux-2.6.orig/Documentation/power/pm.txt +++ /dev/null @@ -1,257 +0,0 @@ - Linux Power Management Support - -This document briefly describes how to use power management with your -Linux system and how to add power management support to Linux drivers. - -APM or ACPI? ------------- -If you have a relatively recent x86 mobile, desktop, or server system, -odds are it supports either Advanced Power Management (APM) or -Advanced Configuration and Power Interface (ACPI). ACPI is the newer -of the two technologies and puts power management in the hands of the -operating system, allowing for more intelligent power management than -is possible with BIOS controlled APM. - -The best way to determine which, if either, your system supports is to -build a kernel with both ACPI and APM enabled (as of 2.3.x ACPI is -enabled by default). If a working ACPI implementation is found, the -ACPI driver will override and disable APM, otherwise the APM driver -will be used. - -No, sorry, you cannot have both ACPI and APM enabled and running at -once. Some people with broken ACPI or broken APM implementations -would like to use both to get a full set of working features, but you -simply cannot mix and match the two. Only one power management -interface can be in control of the machine at once. Think about it.. - -User-space Daemons ------------------- -Both APM and ACPI rely on user-space daemons, apmd and acpid -respectively, to be completely functional. Obtain both of these -daemons from your Linux distribution or from the Internet (see below) -and be sure that they are started sometime in the system boot ...
I'd keep this; it is still true, and we still support both. Maybe it should be moved into Doc*/power/apm.txt or something. ACK on rest. Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html --
Updated patch is appended. Thanks, Rafael --- From: Rafael J. Wysocki <rjw@sisk.pl> Remove some obsolete PM documentation. The majority of contents of Documentation/power/pm.txt are outdated. Remove the outdated parts of this file and move the rest to Documentation/power/apm-acpi.txt . Update the index in Documentation/power/ as appropriate. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> --- Documentation/power/00-INDEX | 4 Documentation/power/apm-acpi.txt | 32 ++++ Documentation/power/pm.txt | 257 --------------------------------------- 3 files changed, 34 insertions(+), 259 deletions(-) Index: linux-2.6/Documentation/power/00-INDEX =================================================================== --- linux-2.6.orig/Documentation/power/00-INDEX +++ linux-2.6/Documentation/power/00-INDEX @@ -1,5 +1,7 @@ 00-INDEX - This file +apm-acpi.txt + - basic info about the APM and ACPI support. basic-pm-debugging.txt - Debugging suspend and resume devices.txt @@ -14,8 +16,6 @@ notifiers.txt - Registering suspend notifiers in device drivers pci.txt - How the PCI Subsystem Does Power Management -pm.txt - - info on Linux power management support. pm_qos_interface.txt - info on Linux PM Quality of Service interface power_supply_class.txt Index: linux-2.6/Documentation/power/apm-acpi.txt =================================================================== --- /dev/null +++ linux-2.6/Documentation/power/apm-acpi.txt @@ -0,0 +1,32 @@ +APM or ACPI? +------------ +If you have a relatively recent x86 mobile, desktop, or server system, +odds are it supports either Advanced Power Management (APM) or +Advanced Configuration and Power Interface (ACPI). ACPI is the newer +of the two technologies and puts power management in the hands of the +operating system, allowing for more intelligent power management than +is possible with BIOS controlled APM. + +The best way to determine which, if either, your system supports is to +build a ...
ACK and thanks. Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html --
I think this is already covered in the Kconfig help for ACPI and APM and doesn't need a Documentation file. -Len --
It won't hurt to have the file, though. I have reworked the patch already and I'd rather not do that again the other way around. ;-) Thanks, Rafael --
From: Rafael J. Wysocki <rjw@sisk.pl>
Remove the remaining obsolete definitions from
include/linux/pm.h and move the definitions of PM_SUSPEND and
PM_RESUME to the header of h3600 which is the only user of them.
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
---
include/asm-arm/arch-sa1100/h3600.h | 5 ++++
include/linux/pm.h | 41 ------------------------------------
2 files changed, 5 insertions(+), 41 deletions(-)
Index: linux-2.6/include/linux/pm.h
===================================================================
--- linux-2.6.orig/include/linux/pm.h
+++ linux-2.6/include/linux/pm.h
@@ -26,52 +26,6 @@
#include <asm/errno.h>
/*
- * Power management requests... these are passed to pm_send_all() and friends.
- *
- * these functions are old and deprecated, see below.
- */
-typedef int __bitwise pm_request_t;
-
-#define PM_SUSPEND ((__force pm_request_t) 1) /* enter D1-D3 */
-#define PM_RESUME ((__force pm_request_t) 2) /* enter D0 */
-
-
-/*
- * Device types... these are passed to pm_register
- */
-typedef int __bitwise pm_dev_t;
-
-#define PM_UNKNOWN_DEV ((__force pm_dev_t) 0) /* generic */
-#define PM_SYS_DEV ((__force pm_dev_t) 1) /* system device (fan, KB controller, ...) */
-#define PM_PCI_DEV ((__force pm_dev_t) 2) /* PCI device */
-#define PM_USB_DEV ((__force pm_dev_t) 3) /* USB device */
-#define PM_SCSI_DEV ((__force pm_dev_t) 4) /* SCSI device */
-#define PM_ISA_DEV ((__force pm_dev_t) 5) /* ISA device */
-#define PM_MTD_DEV ((__force pm_dev_t) 6) /* Memory Technology Device */
-
-/*
- * System device hardware ID (PnP) values
- */
-enum
-{
- PM_SYS_UNKNOWN = 0x00000000, /* generic */
- PM_SYS_KBC = 0x41d00303, /* keyboard controller */
- PM_SYS_COM = 0x41d00500, /* serial port */
- PM_SYS_IRDA = 0x41d00510, /* IRDA controller */
- PM_SYS_FDC = 0x41d00700, /* floppy controller */
- PM_SYS_VGA = 0x41d00900, /* VGA controller */
- PM_SYS_PCMCIA = 0x41d00e00, /* PCMCIA controller */
-};
-
-/*
- * Device ...ACK.. and thanks for doing the cleanups. -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html --
