All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] HID: hid-sensor-hub: Fix sparse warning
@ 2015-02-26 19:04 Srinivas Pandruvada
  2015-03-16 15:28 ` Jiri Kosina
  0 siblings, 1 reply; 2+ messages in thread
From: Srinivas Pandruvada @ 2015-02-26 19:04 UTC (permalink / raw)
  To: jkosina, fengguang.wu; +Cc: kbuild-all, linux-input, Srinivas Pandruvada

Address issue reported by kbuild test robot <fengguang.wu@intel.com>

sparse warnings: (new ones prefixed by >>)

>> drivers/hid/hid-sensor-hub.c:223:39: sparse: incorrect type in argument 3 (different base types)
   drivers/hid/hid-sensor-hub.c:223:39:    expected signed int [signed] [usertype] [explicitly-signed] <noident>
   drivers/hid/hid-sensor-hub.c:223:39:    got restricted __le32 [usertype] <noident>
>> drivers/hid/hid-sensor-hub.c:231:31: sparse: incorrect type in argument 3 (different base types)
   drivers/hid/hid-sensor-hub.c:231:31:    expected signed int [signed] [usertype] [explicitly-signed] <noident>
   drivers/hid/hid-sensor-hub.c:231:31:    got restricted __le32 [usertype] <noident>

vim +223 drivers/hid/hid-sensor-hub.c

   217          }
   218
   219          remaining_bytes = do_div(buffer_size, sizeof(__s32));
   220          if (buffer_size) {
   221                  for (i = 0; i < buffer_size; ++i) {
   222                          hid_set_field(report->field[field_index], i,
 > 223                                        cpu_to_le32(*buf32));
   224                          ++buf32;
   225                  }
   226          }
   227          if (remaining_bytes) {
   228                  value = 0;
   229                  memcpy(&value, (u8 *)buf32, remaining_bytes);
   230                  hid_set_field(report->field[field_index], i,
 > 231                                cpu_to_le32(value));
   232          }
   233          hid_hw_request(hsdev->hdev, report, HID_REQ_SET_REPORT);
   234          hid_hw_wait(hsdev->hdev);

Since I can't change the type of hid_set_field argument 3, using __force __s32 to remove
this warning.

---

Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
---
 drivers/hid/hid-sensor-hub.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/hid/hid-sensor-hub.c b/drivers/hid/hid-sensor-hub.c
index 5eb338d..75f7ca1 100644
--- a/drivers/hid/hid-sensor-hub.c
+++ b/drivers/hid/hid-sensor-hub.c
@@ -222,7 +222,7 @@ int sensor_hub_set_feature(struct hid_sensor_hub_device *hsdev, u32 report_id,
 	if (buffer_size) {
 		for (i = 0; i < buffer_size; ++i) {
 			hid_set_field(report->field[field_index], i,
-				      cpu_to_le32(*buf32));
+				      (__force __s32)cpu_to_le32(*buf32));
 			++buf32;
 		}
 	}
@@ -230,7 +230,7 @@ int sensor_hub_set_feature(struct hid_sensor_hub_device *hsdev, u32 report_id,
 		value = 0;
 		memcpy(&value, (u8 *)buf32, remaining_bytes);
 		hid_set_field(report->field[field_index], i,
-			      cpu_to_le32(value));
+			      (__force __s32)cpu_to_le32(value));
 	}
 	hid_hw_request(hsdev->hdev, report, HID_REQ_SET_REPORT);
 	hid_hw_wait(hsdev->hdev);
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] HID: hid-sensor-hub: Fix sparse warning
  2015-02-26 19:04 [PATCH] HID: hid-sensor-hub: Fix sparse warning Srinivas Pandruvada
@ 2015-03-16 15:28 ` Jiri Kosina
  0 siblings, 0 replies; 2+ messages in thread
From: Jiri Kosina @ 2015-03-16 15:28 UTC (permalink / raw)
  To: Srinivas Pandruvada; +Cc: fengguang.wu, kbuild-all, linux-input

On Thu, 26 Feb 2015, Srinivas Pandruvada wrote:

> Address issue reported by kbuild test robot <fengguang.wu@intel.com>
> 
> sparse warnings: (new ones prefixed by >>)
> 
> >> drivers/hid/hid-sensor-hub.c:223:39: sparse: incorrect type in argument 3 (different base types)
>    drivers/hid/hid-sensor-hub.c:223:39:    expected signed int [signed] [usertype] [explicitly-signed] <noident>
>    drivers/hid/hid-sensor-hub.c:223:39:    got restricted __le32 [usertype] <noident>
> >> drivers/hid/hid-sensor-hub.c:231:31: sparse: incorrect type in argument 3 (different base types)
>    drivers/hid/hid-sensor-hub.c:231:31:    expected signed int [signed] [usertype] [explicitly-signed] <noident>
>    drivers/hid/hid-sensor-hub.c:231:31:    got restricted __le32 [usertype] <noident>
> 
> vim +223 drivers/hid/hid-sensor-hub.c
> 
>    217          }
>    218
>    219          remaining_bytes = do_div(buffer_size, sizeof(__s32));
>    220          if (buffer_size) {
>    221                  for (i = 0; i < buffer_size; ++i) {
>    222                          hid_set_field(report->field[field_index], i,
>  > 223                                        cpu_to_le32(*buf32));
>    224                          ++buf32;
>    225                  }
>    226          }
>    227          if (remaining_bytes) {
>    228                  value = 0;
>    229                  memcpy(&value, (u8 *)buf32, remaining_bytes);
>    230                  hid_set_field(report->field[field_index], i,
>  > 231                                cpu_to_le32(value));
>    232          }
>    233          hid_hw_request(hsdev->hdev, report, HID_REQ_SET_REPORT);
>    234          hid_hw_wait(hsdev->hdev);
> 
> Since I can't change the type of hid_set_field argument 3, using __force __s32 to remove
> this warning.

Queued in for-4.1/sensor-hub

> ---

This '---' is wrong here, it would make git ignore your signoff. I have 
fixed that up.

> 
> Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>

-- 
Jiri Kosina
SUSE Labs

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-03-16 15:28 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-02-26 19:04 [PATCH] HID: hid-sensor-hub: Fix sparse warning Srinivas Pandruvada
2015-03-16 15:28 ` Jiri Kosina

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.