From 6392771b4700535fe7e6410db10285832fcd1e45 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Wed, 10 Nov 2010 14:50:00 -0800 Subject: [PATCH] compat: backport pm_qos_*_request Signed-off-by: Felix Fietkau --- include/linux/compat-2.6.36.h | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/include/linux/compat-2.6.36.h b/include/linux/compat-2.6.36.h index 1d929d7917c5..4f6e24c8845b 100644 --- a/include/linux/compat-2.6.36.h +++ b/include/linux/compat-2.6.36.h @@ -8,6 +8,7 @@ #include #include #include +#include #define kparam_block_sysfs_write(a) #define kparam_unblock_sysfs_write(a) @@ -56,6 +57,39 @@ static inline int pcmcia_write_config_byte(struct pcmcia_device *p_dev, off_t wh return pcmcia_access_configuration_register(p_dev, ®); } +struct pm_qos_request_list { + u32 qos; + void *request; +}; + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,35)) + +#define pm_qos_add_request(_req, _class, _value) do { \ + (_req)->request = #_req; \ + (_req)->qos = _class; \ + pm_qos_add_requirement((_class), (_req)->request, (_value)); \ + } while(0) + +#define pm_qos_update_request(_req, _value) \ + pm_qos_update_requirement((_req)->qos, (_req)->request, (_value)) + +#define pm_qos_remove_request(_req) \ + pm_qos_remove_requirement((_req)->qos, (_req)->request) + +#else + +#define pm_qos_add_request(_req, _class, _value) do { \ + (_req)->request = pm_qos_add_request((_class), (_value)); \ + } while (0) + +#define pm_qos_update_request(_req, _value) \ + pm_qos_update_request((_req)->request, (_value) + +#define pm_qos_remove_request(_req) \ + pm_qos_remove_request((_req)->request) + +#endif + #endif /* (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,36)) */ #endif /* LINUX_26_36_COMPAT_H */ -- 2.30.2