Re: [PATCH] staging: fieldbus: anybuss: force address space conversion

From: Greg KH
Date: Tue May 21 2019 - 11:45:19 EST


On Tue, May 21, 2019 at 11:19:59AM -0400, Sven Van Asbroeck wrote:
> On Tue, May 21, 2019 at 11:13 AM Dan Carpenter <dan.carpenter@xxxxxxxxxx> wrote:
> >
> > There is no need to use __force. Just:
> >
> > void __iomem *base = (void __iomem *)context;
> >
> > For the rest as well.
>
> Yes, that appears to work for 'void *' -> __iomem, but not the other way around:
>
> + return devm_regmap_init(dev, NULL, (void *)base, &regmap_cfg);
>
> sparse generates:
> drivers/staging/fieldbus/anybuss/arcx-anybus.c:156:16: warning: cast
> removes address space of expression
>
> Would it be a ok solution to use __force in this instance only?

Ick, if you are using __force, almost always something is wrong.

thanks

greg k-h