[PATCH v2 2/2] Staging: unisys: Fix sparse warnings in uislib
Ken Cox
jkc at redhat.com
Thu Jun 5 16:30:41 UTC 2014
On 06/05/2014 11:22 AM, Greg KH wrote:
> On Thu, Jun 05, 2014 at 11:04:32AM -0500, Ken Cox wrote:
>> Added I/O versions for the functions vbuschannel_devinfo_to_string()
>> and ultra_vbus_init_channel() to get rid of noderef sparse warnings when
>> accessing I/O space.
>>
>> Signed-off-by: Ken Cox <jkc at redhat.com>
>> ---
>> .../staging/unisys/common-spar/include/channels/vbuschannel.h | 11 ++++++++++-
>> drivers/staging/unisys/common-spar/include/vbusdeviceinfo.h | 11 ++++++++++-
>> drivers/staging/unisys/uislib/uislib.c | 2 +-
>> 3 files changed, 21 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/staging/unisys/common-spar/include/channels/vbuschannel.h b/drivers/staging/unisys/common-spar/include/channels/vbuschannel.h
>> index 000182c..fc997bc 100644
>> --- a/drivers/staging/unisys/common-spar/include/channels/vbuschannel.h
>> +++ b/drivers/staging/unisys/common-spar/include/channels/vbuschannel.h
>> @@ -95,7 +95,7 @@ typedef struct _ULTRA_VBUS_CHANNEL_PROTOCOL {
>> #define VBUS_CH_SIZE(MAXDEVICES) COVER(VBUS_CH_SIZE_EXACT(MAXDEVICES), 4096)
>>
>> static inline void
>> -ultra_vbus_init_channel(ULTRA_VBUS_CHANNEL_PROTOCOL __iomem *x,
>> +ultra_vbus_init_channel_io(ULTRA_VBUS_CHANNEL_PROTOCOL __iomem *x,
>> int bytesAllocated)
>> {
>> /* Please note that the memory at <x> does NOT necessarily have space
>> @@ -130,6 +130,15 @@ ultra_vbus_init_channel(ULTRA_VBUS_CHANNEL_PROTOCOL __iomem *x,
>> &x->HdrInfo.devInfoCount);
>> }
>>
>> +static inline void
>> +ultra_vbus_init_channel(ULTRA_VBUS_CHANNEL_PROTOCOL *x,
>> + int bytes_allocated)
>> +{
>> + ultra_vbus_init_channel_io(
>> + (__force ULTRA_VBUS_CHANNEL_PROTOCOL __iomem *)x,
> Why do you need to __force anything here? Why not fix it up in the
> callers by marking those variables properly?
I was using memcpy_toio(), etc. as an example, but can see that it would
be more portable to take care of it in the calling function, even though
this is x86_64 only. I will rework the patch.
Thanks,
Ken
More information about the devel
mailing list