Re: [PATCH] pm: remove useless array definition in cpuidle_structure

From: Daniel Lezcano
Date: Mon Nov 07 2011 - 13:59:18 EST


On 11/04/2011 11:28 PM, Rafael J. Wysocki wrote:
Len, Arjan,

On Friday, November 04, 2011, Deepthi Dharwar wrote:
On Friday 04 November 2011 03:14 AM, Robert Lee wrote:
From: Daniel Lezcano<daniel.lezcano@xxxxxxxxxx>

All the modules name are ro-data, it is never copied to the array.

eg.

static struct cpuidle_driver intel_idle_driver = {
.name = "intel_idle",
.owner = THIS_MODULE,
};

It safe to assign the pointer of this ro-data to a const char *.
By this way we save 12 bytes.

Signed-off-by: Daniel Lezcano<daniel.lezcano@xxxxxxxxxx>
Signed-off-by: Robert Lee<rob.lee@xxxxxxxxxx>
---
include/linux/cpuidle.h | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/linux/cpuidle.h b/include/linux/cpuidle.h
index b51629e..16f9dce 100644
--- a/include/linux/cpuidle.h
+++ b/include/linux/cpuidle.h
@@ -117,8 +117,8 @@ static inline int cpuidle_get_last_residency(struct cpuidle_device *dev)
****************************/

struct cpuidle_driver {
- char name[CPUIDLE_NAME_LEN];
- struct module *owner;
+ const char *name;
+ struct module *owner;
};

#ifdef CONFIG_CPU_IDLE

This looks good, and makes it fool-proof by not allowing one to tamper the name of the driver.
Tested OK on x86 (both Intel idle and ACPI)

Tested-by: Deepthi Dharwar<deepthi@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Deepthi Dharwar<deepthi@xxxxxxxxxxxxxxxxxx>

This is simple enough for me to push it for 3.2, but I woulnd't like to
step on anyone's toes. Please let me know what you think.

Rafael


Hi Len,

are you willing to take this patch for 3.2 ?

Thanks

-- Daniel

--
<http://www.linaro.org/> Linaro.org â Open source software for ARM SoCs

Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/