Skip to content

Commit

Permalink
[PATCH] move pm_register/etc. to CONFIG_PM_LEGACY, pm_legacy.h
Browse files Browse the repository at this point in the history
Since few people need the support anymore, this moves the legacy
pm_xxx functions to CONFIG_PM_LEGACY, and include/linux/pm_legacy.h.

Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
jgarzik authored and Linus Torvalds committed Nov 14, 2005
1 parent 95e861d commit bca73e4
Show file tree
Hide file tree
Showing 20 changed files with 102 additions and 69 deletions.
1 change: 1 addition & 0 deletions arch/arm/kernel/apm.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
#include <linux/apm_bios.h>
#include <linux/sched.h>
#include <linux/pm.h>
#include <linux/pm_legacy.h>
#include <linux/device.h>
#include <linux/kernel.h>
#include <linux/list.h>
Expand Down
1 change: 1 addition & 0 deletions arch/frv/kernel/pm.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
#include <linux/config.h>
#include <linux/init.h>
#include <linux/pm.h>
#include <linux/pm_legacy.h>
#include <linux/sched.h>
#include <linux/interrupt.h>
#include <linux/sysctl.h>
Expand Down
2 changes: 1 addition & 1 deletion arch/i386/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -699,7 +699,7 @@ depends on PM && !X86_VISWS

config APM
tristate "APM (Advanced Power Management) BIOS support"
depends on PM
depends on PM && PM_LEGACY
---help---
APM is a BIOS specification for saving power using several different
techniques. This is mostly useful for battery powered laptops with
Expand Down
1 change: 1 addition & 0 deletions arch/i386/kernel/apm.c
Original file line number Diff line number Diff line change
Expand Up @@ -218,6 +218,7 @@
#include <linux/time.h>
#include <linux/sched.h>
#include <linux/pm.h>
#include <linux/pm_legacy.h>
#include <linux/device.h>
#include <linux/kernel.h>
#include <linux/smp.h>
Expand Down
1 change: 1 addition & 0 deletions arch/mips/au1000/common/power.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
#include <linux/config.h>
#include <linux/init.h>
#include <linux/pm.h>
#include <linux/pm_legacy.h>
#include <linux/slab.h>
#include <linux/sysctl.h>
#include <linux/jiffies.h>
Expand Down
3 changes: 2 additions & 1 deletion drivers/acpi/bus.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
#include <linux/list.h>
#include <linux/sched.h>
#include <linux/pm.h>
#include <linux/pm_legacy.h>
#include <linux/device.h>
#include <linux/proc_fs.h>
#ifdef CONFIG_X86
Expand Down Expand Up @@ -754,7 +755,7 @@ static int __init acpi_init(void)
result = acpi_bus_init();

if (!result) {
#ifdef CONFIG_PM
#ifdef CONFIG_PM_LEGACY
if (!PM_IS_ACTIVE())
pm_active = 1;
else {
Expand Down
13 changes: 7 additions & 6 deletions drivers/net/3c509.c
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@ static int max_interrupt_work = 10;
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/pm.h>
#include <linux/pm_legacy.h>
#include <linux/skbuff.h>
#include <linux/delay.h> /* for udelay() */
#include <linux/spinlock.h>
Expand Down Expand Up @@ -173,7 +174,7 @@ struct el3_private {
/* skb send-queue */
int head, size;
struct sk_buff *queue[SKB_QUEUE_SIZE];
#ifdef CONFIG_PM
#ifdef CONFIG_PM_LEGACY
struct pm_dev *pmdev;
#endif
enum {
Expand All @@ -200,7 +201,7 @@ static void el3_tx_timeout (struct net_device *dev);
static void el3_down(struct net_device *dev);
static void el3_up(struct net_device *dev);
static struct ethtool_ops ethtool_ops;
#ifdef CONFIG_PM
#ifdef CONFIG_PM_LEGACY
static int el3_suspend(struct pm_dev *pdev);
static int el3_resume(struct pm_dev *pdev);
static int el3_pm_callback(struct pm_dev *pdev, pm_request_t rqst, void *data);
Expand Down Expand Up @@ -361,7 +362,7 @@ static void el3_common_remove (struct net_device *dev)
struct el3_private *lp = netdev_priv(dev);

(void) lp; /* Keep gcc quiet... */
#ifdef CONFIG_PM
#ifdef CONFIG_PM_LEGACY
if (lp->pmdev)
pm_unregister(lp->pmdev);
#endif
Expand Down Expand Up @@ -571,7 +572,7 @@ static int __init el3_probe(int card_idx)
if (err)
goto out1;

#ifdef CONFIG_PM
#ifdef CONFIG_PM_LEGACY
/* register power management */
lp->pmdev = pm_register(PM_ISA_DEV, card_idx, el3_pm_callback);
if (lp->pmdev) {
Expand Down Expand Up @@ -1479,7 +1480,7 @@ el3_up(struct net_device *dev)
}

/* Power Management support functions */
#ifdef CONFIG_PM
#ifdef CONFIG_PM_LEGACY

static int
el3_suspend(struct pm_dev *pdev)
Expand Down Expand Up @@ -1548,7 +1549,7 @@ el3_pm_callback(struct pm_dev *pdev, pm_request_t rqst, void *data)
return 0;
}

#endif /* CONFIG_PM */
#endif /* CONFIG_PM_LEGACY */

/* Parameters that may be passed into the module. */
static int debug = -1;
Expand Down
1 change: 1 addition & 0 deletions drivers/net/irda/ali-ircc.c
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
#include <asm/byteorder.h>

#include <linux/pm.h>
#include <linux/pm_legacy.h>

#include <net/irda/wrapper.h>
#include <net/irda/irda.h>
Expand Down
1 change: 1 addition & 0 deletions drivers/net/irda/nsc-ircc.c
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@
#include <asm/byteorder.h>

#include <linux/pm.h>
#include <linux/pm_legacy.h>

#include <net/irda/wrapper.h>
#include <net/irda/irda.h>
Expand Down
7 changes: 4 additions & 3 deletions drivers/serial/68328serial.c
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
#include <linux/keyboard.h>
#include <linux/init.h>
#include <linux/pm.h>
#include <linux/pm_legacy.h>
#include <linux/bitops.h>
#include <linux/delay.h>

Expand Down Expand Up @@ -1343,7 +1344,7 @@ static void show_serial_version(void)
printk("MC68328 serial driver version 1.00\n");
}

#ifdef CONFIG_PM
#ifdef CONFIG_PM_LEGACY
/* Serial Power management
* The console (currently fixed at line 0) is a special case for power
* management because the kernel is so chatty. The console will be
Expand Down Expand Up @@ -1393,7 +1394,7 @@ void startup_console(void)
struct m68k_serial *info = &m68k_soft[0];
startup(info);
}
#endif
#endif /* CONFIG_PM_LEGACY */


static struct tty_operations rs_ops = {
Expand Down Expand Up @@ -1486,7 +1487,7 @@ rs68328_init(void)
IRQ_FLG_STD,
"M68328_UART", NULL))
panic("Unable to attach 68328 serial interrupt\n");
#ifdef CONFIG_PM
#ifdef CONFIG_PM_LEGACY
serial_pm[i] = pm_register(PM_SYS_DEV, PM_SYS_COM, serial_pm_callback);
if (serial_pm[i])
serial_pm[i]->data = info;
Expand Down
49 changes: 0 additions & 49 deletions include/linux/pm.h
Original file line number Diff line number Diff line change
Expand Up @@ -94,55 +94,6 @@ struct pm_dev
struct list_head entry;
};

#ifdef CONFIG_PM

extern int pm_active;

#define PM_IS_ACTIVE() (pm_active != 0)

/*
* Register a device with power management
*/
struct pm_dev __deprecated *
pm_register(pm_dev_t type, unsigned long id, pm_callback callback);

/*
* Unregister a device with power management
*/
void __deprecated pm_unregister(struct pm_dev *dev);

/*
* Unregister all devices with matching callback
*/
void __deprecated pm_unregister_all(pm_callback callback);

/*
* Send a request to all devices
*/
int __deprecated pm_send_all(pm_request_t rqst, void *data);

#else /* CONFIG_PM */

#define PM_IS_ACTIVE() 0

static inline struct pm_dev *pm_register(pm_dev_t type,
unsigned long id,
pm_callback callback)
{
return NULL;
}

static inline void pm_unregister(struct pm_dev *dev) {}

static inline void pm_unregister_all(pm_callback callback) {}

static inline int pm_send_all(pm_request_t rqst, void *data)
{
return 0;
}

#endif /* CONFIG_PM */

/* Functions above this comment are list-based old-style power
* managment. Please avoid using them. */

Expand Down
56 changes: 56 additions & 0 deletions include/linux/pm_legacy.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
#ifndef __LINUX_PM_LEGACY_H__
#define __LINUX_PM_LEGACY_H__

#include <linux/config.h>

#ifdef CONFIG_PM_LEGACY

extern int pm_active;

#define PM_IS_ACTIVE() (pm_active != 0)

/*
* Register a device with power management
*/
struct pm_dev __deprecated *
pm_register(pm_dev_t type, unsigned long id, pm_callback callback);

/*
* Unregister a device with power management
*/
void __deprecated pm_unregister(struct pm_dev *dev);

/*
* Unregister all devices with matching callback
*/
void __deprecated pm_unregister_all(pm_callback callback);

/*
* Send a request to all devices
*/
int __deprecated pm_send_all(pm_request_t rqst, void *data);

#else /* CONFIG_PM_LEGACY */

#define PM_IS_ACTIVE() 0

static inline struct pm_dev *pm_register(pm_dev_t type,
unsigned long id,
pm_callback callback)
{
return NULL;
}

static inline void pm_unregister(struct pm_dev *dev) {}

static inline void pm_unregister_all(pm_callback callback) {}

static inline int pm_send_all(pm_request_t rqst, void *data)
{
return 0;
}

#endif /* CONFIG_PM_LEGACY */

#endif /* __LINUX_PM_LEGACY_H__ */

9 changes: 9 additions & 0 deletions kernel/power/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,15 @@ config PM
will issue the hlt instruction if nothing is to be done, thereby
sending the processor to sleep and saving power.

config PM_LEGACY
bool "Legacy Power Management API"
depends on PM
default y
---help---
Support for pm_register() and friends.

If unsure, say Y.

config PM_DEBUG
bool "Power Management Debug Support"
depends on PM
Expand Down
3 changes: 2 additions & 1 deletion kernel/power/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ ifeq ($(CONFIG_PM_DEBUG),y)
EXTRA_CFLAGS += -DDEBUG
endif

obj-y := main.o process.o console.o pm.o
obj-y := main.o process.o console.o
obj-$(CONFIG_PM_LEGACY) += pm.o
obj-$(CONFIG_SOFTWARE_SUSPEND) += swsusp.o disk.o snapshot.o

obj-$(CONFIG_SUSPEND_SMP) += smp.o
Expand Down
1 change: 1 addition & 0 deletions kernel/power/pm.c
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
#include <linux/mm.h>
#include <linux/slab.h>
#include <linux/pm.h>
#include <linux/pm_legacy.h>
#include <linux/interrupt.h>

int pm_active;
Expand Down
1 change: 1 addition & 0 deletions sound/oss/ad1848.c
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@
#include <linux/module.h>
#include <linux/stddef.h>
#include <linux/pm.h>
#include <linux/pm_legacy.h>
#include <linux/isapnp.h>
#include <linux/pnp.h>
#include <linux/spinlock.h>
Expand Down
1 change: 1 addition & 0 deletions sound/oss/cs4281/cs4281m.c
Original file line number Diff line number Diff line change
Expand Up @@ -298,6 +298,7 @@ struct cs4281_state {
struct cs4281_pipeline pl[CS4281_NUMBER_OF_PIPELINES];
};

#include <linux/pm_legacy.h>
#include "cs4281pm-24.c"

#if CSDEBUG
Expand Down
1 change: 1 addition & 0 deletions sound/oss/maestro.c
Original file line number Diff line number Diff line change
Expand Up @@ -231,6 +231,7 @@
#include <asm/uaccess.h>

#include <linux/pm.h>
#include <linux/pm_legacy.h>
static int maestro_pm_callback(struct pm_dev *dev, pm_request_t rqst, void *d);

#include "maestro.h"
Expand Down
1 change: 1 addition & 0 deletions sound/oss/nm256_audio.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/pm.h>
#include <linux/pm_legacy.h>
#include <linux/delay.h>
#include <linux/spinlock.h>
#include "sound_config.h"
Expand Down
Loading

0 comments on commit bca73e4

Please sign in to comment.