power: supply: bq27xxx: fix __be16 warnings
authorBen Dooks <ben-linux@fluff.org>
Thu, 21 Jul 2022 21:07:35 +0000 (22:07 +0100)
committerSebastian Reichel <sebastian.reichel@collabora.com>
Sun, 11 Sep 2022 13:03:00 +0000 (15:03 +0200)
The bq27xxx_dm_reg_ptr() should return a __be16 as the result
is being passed to be16_to_cpup() to convert to the proper
cpu endian value. Move to using __be16 as appropriate to fix
the following sparse warnings:

drivers/power/supply/bq27xxx_battery.c:1293:26: warning: incorrect type in argument 1 (different base types)
drivers/power/supply/bq27xxx_battery.c:1293:26:    expected restricted __be16 const [usertype] *p
drivers/power/supply/bq27xxx_battery.c:1293:26:    got unsigned short [usertype] *prev
drivers/power/supply/bq27xxx_battery.c:1304:17: warning: incorrect type in argument 1 (different base types)
drivers/power/supply/bq27xxx_battery.c:1304:17:    expected restricted __be16 const [usertype] *p
drivers/power/supply/bq27xxx_battery.c:1304:17:    got unsigned short [usertype] *prev
drivers/power/supply/bq27xxx_battery.c:1316:15: warning: incorrect type in assignment (different base types)
drivers/power/supply/bq27xxx_battery.c:1316:15:    expected unsigned short [usertype]
drivers/power/supply/bq27xxx_battery.c:1316:15:    got restricted __be16 [usertype]

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
drivers/power/supply/bq27xxx_battery.c

index 35e6a394c0df346614614b8d6896339f205a77f0..9870552adfd98cc99a757109ebd4a96b79c54937 100644 (file)
@@ -1044,12 +1044,12 @@ struct bq27xxx_dm_buf {
        .block = (di)->dm_regs[i].offset / BQ27XXX_DM_SZ, \
 }
 
-static inline u16 *bq27xxx_dm_reg_ptr(struct bq27xxx_dm_buf *buf,
+static inline __be16 *bq27xxx_dm_reg_ptr(struct bq27xxx_dm_buf *buf,
                                      struct bq27xxx_dm_reg *reg)
 {
        if (buf->class == reg->subclass_id &&
            buf->block == reg->offset / BQ27XXX_DM_SZ)
-               return (u16 *) (buf->data + reg->offset % BQ27XXX_DM_SZ);
+               return (__be16 *) (buf->data + reg->offset % BQ27XXX_DM_SZ);
 
        return NULL;
 }
@@ -1275,7 +1275,7 @@ static void bq27xxx_battery_update_dm_block(struct bq27xxx_device_info *di,
 {
        struct bq27xxx_dm_reg *reg = &di->dm_regs[reg_id];
        const char *str = bq27xxx_dm_reg_name[reg_id];
-       u16 *prev = bq27xxx_dm_reg_ptr(buf, reg);
+       __be16 *prev = bq27xxx_dm_reg_ptr(buf, reg);
 
        if (prev == NULL) {
                dev_warn(di->dev, "buffer does not match %s dm spec\n", str);