[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