[lkml]   [2004]   [Nov]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Patch in this message
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 <>

diff -up -x BitKeeper -x ChangeSet -x SCCS -x _xlk -x *.orig -x *.rej orig/include/linux/pm.h linux/include/linux/pm.h
--- orig/include/linux/pm.h Mon Nov 15 09:17:10 2004
+++ linux/include/linux/pm.h Sun Nov 28 18:15:57 2004
@@ -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;

Russell King
Linux kernel 2.6 ARM Linux -
maintainer of: 2.6 PCMCIA -
2.6 Serial core
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 14:08    [W:0.031 / U:13.016 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site