[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.023 / U:1.136 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site