
From: Russell King <rmk+lkml@arm.linux.org.uk>

arch/arm/common/sa1111.c: In function `sa1111_suspend':
arch/arm/common/sa1111.c:816: warning: assignment from incompatible pointer type

This is a rather annoying, and IMHO pointless warning.  First question:
what is the reasoning for using an array of unsigned bytes here?  Are we
expecting to power manage devices which only have byte wide registers?

In reality, devices have half-word and word sized registers as well, which
means that dev->power.saved_state actually points to device specific data
(or even device driver specific data) for the device.  As such, it makes
far more sense for this to be a 'void *'.

I'd rather not go around the ARM kernel tree adding pointless casts to 'u8
*' and back again because the wrong type for this was picked in the
structure definition, so here's a patch which changes this to void *.

Signed-off-by: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/include/linux/pm.h |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -puN include/linux/pm.h~typeofdev-powersaved_state include/linux/pm.h
--- 25/include/linux/pm.h~typeofdev-powersaved_state	2004-11-28 10:42:49.531975056 -0800
+++ 25-akpm/include/linux/pm.h	2004-11-28 10:42:49.534974600 -0800
@@ -226,7 +226,7 @@ struct dev_pm_info {
 	u32			power_state;
 #ifdef	CONFIG_PM
 	u32			prev_state;
-	u8			* saved_state;
+	void			* saved_state;
 	atomic_t		pm_users;
 	struct device		* pm_parent;
 	struct list_head	entry;
_
