2006-01-19 06:19:49

by Kumar Gala

[permalink] [raw]
Subject: proper way to deal with a sparse warning

I'm getting the following sparse warning:

drivers/net/gianfar_mii.c:165:16: warning: incorrect type in
assignment (different address spaces)
drivers/net/gianfar_mii.c:165:16: expected void *priv
drivers/net/gianfar_mii.c:165:16: got struct gfar_mii [noderef] *
[assigned] regs<asn:2>

This is line 165 of gianfar_mii.c:

new_bus->priv = regs;

new_bus->priv is of type void *. regs is of type struct gfar_mii
__iomem *.

Is it acceptable to do the following:

new_bus->priv = (void __force *)regs;

- kumar