* [PATCH] iio: fix pointer cast warning
@ 2012-07-14 16:23 ` Peter Meerwald
0 siblings, 0 replies; 6+ messages in thread
From: Peter Meerwald @ 2012-07-14 16:23 UTC (permalink / raw)
To: linux-iio; +Cc: kernel-janitors, devel, jic23, Peter Meerwald
fix compile warning reported by Fengguang Wu:
drivers/iio/light/adjd_s311.c: In function 'adjd_s311_trigger_handler':
drivers/iio/light/adjd_s311.c:188:12: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
drivers/iio/light/adjd_s311.c:188:4: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
185 }
186
187 if (indio_dev->scan_timestamp)
> 188 *(s64 *)((phys_addr_t)data->buffer + ALIGN(len, sizeof(s64)))
189 = time_ns;
190 iio_push_to_buffer(buffer, (u8 *)data->buffer, time_ns);
191
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Reported-by: Fengguang Wu <fengguang.wu@intel.com>
---
drivers/iio/light/adjd_s311.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/iio/light/adjd_s311.c b/drivers/iio/light/adjd_s311.c
index e485142..1cbb449 100644
--- a/drivers/iio/light/adjd_s311.c
+++ b/drivers/iio/light/adjd_s311.c
@@ -185,7 +185,7 @@ static irqreturn_t adjd_s311_trigger_handler(int irq, void *p)
}
if (indio_dev->scan_timestamp)
- *(s64 *)((phys_addr_t)data->buffer + ALIGN(len, sizeof(s64)))
+ *(s64 *)((u8 *)data->buffer + ALIGN(len, sizeof(s64)))
= time_ns;
iio_push_to_buffer(buffer, (u8 *)data->buffer, time_ns);
--
1.7.9.5
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH] iio: fix pointer cast warning
@ 2012-07-14 16:23 ` Peter Meerwald
0 siblings, 0 replies; 6+ messages in thread
From: Peter Meerwald @ 2012-07-14 16:23 UTC (permalink / raw)
To: linux-iio; +Cc: kernel-janitors, devel, jic23, Peter Meerwald
fix compile warning reported by Fengguang Wu:
drivers/iio/light/adjd_s311.c: In function 'adjd_s311_trigger_handler':
drivers/iio/light/adjd_s311.c:188:12: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
drivers/iio/light/adjd_s311.c:188:4: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
185 }
186
187 if (indio_dev->scan_timestamp)
> 188 *(s64 *)((phys_addr_t)data->buffer + ALIGN(len, sizeof(s64)))
189 = time_ns;
190 iio_push_to_buffer(buffer, (u8 *)data->buffer, time_ns);
191
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Reported-by: Fengguang Wu <fengguang.wu@intel.com>
---
drivers/iio/light/adjd_s311.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/iio/light/adjd_s311.c b/drivers/iio/light/adjd_s311.c
index e485142..1cbb449 100644
--- a/drivers/iio/light/adjd_s311.c
+++ b/drivers/iio/light/adjd_s311.c
@@ -185,7 +185,7 @@ static irqreturn_t adjd_s311_trigger_handler(int irq, void *p)
}
if (indio_dev->scan_timestamp)
- *(s64 *)((phys_addr_t)data->buffer + ALIGN(len, sizeof(s64)))
+ *(s64 *)((u8 *)data->buffer + ALIGN(len, sizeof(s64)))
= time_ns;
iio_push_to_buffer(buffer, (u8 *)data->buffer, time_ns);
--
1.7.9.5
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] iio: fix pointer cast warning
2012-07-14 16:23 ` Peter Meerwald
@ 2012-07-14 16:40 ` walter harms
-1 siblings, 0 replies; 6+ messages in thread
From: walter harms @ 2012-07-14 16:40 UTC (permalink / raw)
To: Peter Meerwald; +Cc: linux-iio, kernel-janitors, jic23
Am 14.07.2012 18:23, schrieb Peter Meerwald:
> fix compile warning reported by Fengguang Wu:
>
> drivers/iio/light/adjd_s311.c: In function 'adjd_s311_trigger_handler':
> drivers/iio/light/adjd_s311.c:188:12: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
> drivers/iio/light/adjd_s311.c:188:4: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
>
> 185 }
> 186
> 187 if (indio_dev->scan_timestamp)
> > 188 *(s64 *)((phys_addr_t)data->buffer + ALIGN(len, sizeof(s64)))
> 189 = time_ns;
> 190 iio_push_to_buffer(buffer, (u8 *)data->buffer, time_ns);
> 191
>
> Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
> Reported-by: Fengguang Wu <fengguang.wu@intel.com>
> ---
> drivers/iio/light/adjd_s311.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/iio/light/adjd_s311.c b/drivers/iio/light/adjd_s311.c
> index e485142..1cbb449 100644
> --- a/drivers/iio/light/adjd_s311.c
> +++ b/drivers/iio/light/adjd_s311.c
> @@ -185,7 +185,7 @@ static irqreturn_t adjd_s311_trigger_handler(int irq, void *p)
> }
>
> if (indio_dev->scan_timestamp)
> - *(s64 *)((phys_addr_t)data->buffer + ALIGN(len, sizeof(s64)))
> + *(s64 *)((u8 *)data->buffer + ALIGN(len, sizeof(s64)))
> = time_ns;
> iio_push_to_buffer(buffer, (u8 *)data->buffer, time_ns);
>
a few lines below is an othern cast (u8 *)data->buffer, i do not see the rest of the code,
but perhaps adding a helper will help here to improve readability ?
just my 2 cents,
re,
wh
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] iio: fix pointer cast warning
@ 2012-07-14 16:40 ` walter harms
0 siblings, 0 replies; 6+ messages in thread
From: walter harms @ 2012-07-14 16:40 UTC (permalink / raw)
To: Peter Meerwald; +Cc: linux-iio, kernel-janitors, jic23
Am 14.07.2012 18:23, schrieb Peter Meerwald:
> fix compile warning reported by Fengguang Wu:
>
> drivers/iio/light/adjd_s311.c: In function 'adjd_s311_trigger_handler':
> drivers/iio/light/adjd_s311.c:188:12: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
> drivers/iio/light/adjd_s311.c:188:4: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
>
> 185 }
> 186
> 187 if (indio_dev->scan_timestamp)
> > 188 *(s64 *)((phys_addr_t)data->buffer + ALIGN(len, sizeof(s64)))
> 189 = time_ns;
> 190 iio_push_to_buffer(buffer, (u8 *)data->buffer, time_ns);
> 191
>
> Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
> Reported-by: Fengguang Wu <fengguang.wu@intel.com>
> ---
> drivers/iio/light/adjd_s311.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/iio/light/adjd_s311.c b/drivers/iio/light/adjd_s311.c
> index e485142..1cbb449 100644
> --- a/drivers/iio/light/adjd_s311.c
> +++ b/drivers/iio/light/adjd_s311.c
> @@ -185,7 +185,7 @@ static irqreturn_t adjd_s311_trigger_handler(int irq, void *p)
> }
>
> if (indio_dev->scan_timestamp)
> - *(s64 *)((phys_addr_t)data->buffer + ALIGN(len, sizeof(s64)))
> + *(s64 *)((u8 *)data->buffer + ALIGN(len, sizeof(s64)))
> = time_ns;
> iio_push_to_buffer(buffer, (u8 *)data->buffer, time_ns);
>
a few lines below is an othern cast (u8 *)data->buffer, i do not see the rest of the code,
but perhaps adding a helper will help here to improve readability ?
just my 2 cents,
re,
wh
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] iio: fix pointer cast warning
2012-07-14 16:40 ` walter harms
@ 2012-07-15 16:34 ` Jonathan Cameron
-1 siblings, 0 replies; 6+ messages in thread
From: Jonathan Cameron @ 2012-07-15 16:34 UTC (permalink / raw)
To: wharms; +Cc: Peter Meerwald, linux-iio, kernel-janitors
On 07/14/2012 05:40 PM, walter harms wrote:
>
>
> Am 14.07.2012 18:23, schrieb Peter Meerwald:
>> fix compile warning reported by Fengguang Wu:
>>
>> drivers/iio/light/adjd_s311.c: In function 'adjd_s311_trigger_handler':
>> drivers/iio/light/adjd_s311.c:188:12: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
>> drivers/iio/light/adjd_s311.c:188:4: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
>>
>> 185 }
>> 186
>> 187 if (indio_dev->scan_timestamp)
>> > 188 *(s64 *)((phys_addr_t)data->buffer + ALIGN(len, sizeof(s64)))
>> 189 = time_ns;
>> 190 iio_push_to_buffer(buffer, (u8 *)data->buffer, time_ns);
>> 191
>>
>> Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
>> Reported-by: Fengguang Wu <fengguang.wu@intel.com>
merged this one and the other two. Thanks Peter and Fengguang.
>> ---
>> drivers/iio/light/adjd_s311.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/iio/light/adjd_s311.c b/drivers/iio/light/adjd_s311.c
>> index e485142..1cbb449 100644
>> --- a/drivers/iio/light/adjd_s311.c
>> +++ b/drivers/iio/light/adjd_s311.c
>> @@ -185,7 +185,7 @@ static irqreturn_t adjd_s311_trigger_handler(int irq, void *p)
>> }
>>
>> if (indio_dev->scan_timestamp)
>> - *(s64 *)((phys_addr_t)data->buffer + ALIGN(len, sizeof(s64)))
>> + *(s64 *)((u8 *)data->buffer + ALIGN(len, sizeof(s64)))
>> = time_ns;
>> iio_push_to_buffer(buffer, (u8 *)data->buffer, time_ns);
>>
>
> a few lines below is an othern cast (u8 *)data->buffer, i do not see the rest of the code,
> but perhaps adding a helper will help here to improve readability ?
>
> just my 2 cents,
> re,
> wh
Not really in this case. This stuff is all here because we are
filling up a data record with different sized elements.
As most of them in this driver are 16 bit, the data->buffer is 16 bit
hence the need for these type casts. Not sure where the phys_addr_t
misuse here first came from, but it's thankfully only in a couple of
drivers.
Jonathan
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] iio: fix pointer cast warning
@ 2012-07-15 16:34 ` Jonathan Cameron
0 siblings, 0 replies; 6+ messages in thread
From: Jonathan Cameron @ 2012-07-15 16:34 UTC (permalink / raw)
To: wharms; +Cc: Peter Meerwald, linux-iio, kernel-janitors
On 07/14/2012 05:40 PM, walter harms wrote:
>
>
> Am 14.07.2012 18:23, schrieb Peter Meerwald:
>> fix compile warning reported by Fengguang Wu:
>>
>> drivers/iio/light/adjd_s311.c: In function 'adjd_s311_trigger_handler':
>> drivers/iio/light/adjd_s311.c:188:12: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
>> drivers/iio/light/adjd_s311.c:188:4: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
>>
>> 185 }
>> 186
>> 187 if (indio_dev->scan_timestamp)
>> > 188 *(s64 *)((phys_addr_t)data->buffer + ALIGN(len, sizeof(s64)))
>> 189 = time_ns;
>> 190 iio_push_to_buffer(buffer, (u8 *)data->buffer, time_ns);
>> 191
>>
>> Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
>> Reported-by: Fengguang Wu <fengguang.wu@intel.com>
merged this one and the other two. Thanks Peter and Fengguang.
>> ---
>> drivers/iio/light/adjd_s311.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/iio/light/adjd_s311.c b/drivers/iio/light/adjd_s311.c
>> index e485142..1cbb449 100644
>> --- a/drivers/iio/light/adjd_s311.c
>> +++ b/drivers/iio/light/adjd_s311.c
>> @@ -185,7 +185,7 @@ static irqreturn_t adjd_s311_trigger_handler(int irq, void *p)
>> }
>>
>> if (indio_dev->scan_timestamp)
>> - *(s64 *)((phys_addr_t)data->buffer + ALIGN(len, sizeof(s64)))
>> + *(s64 *)((u8 *)data->buffer + ALIGN(len, sizeof(s64)))
>> = time_ns;
>> iio_push_to_buffer(buffer, (u8 *)data->buffer, time_ns);
>>
>
> a few lines below is an othern cast (u8 *)data->buffer, i do not see the rest of the code,
> but perhaps adding a helper will help here to improve readability ?
>
> just my 2 cents,
> re,
> wh
Not really in this case. This stuff is all here because we are
filling up a data record with different sized elements.
As most of them in this driver are 16 bit, the data->buffer is 16 bit
hence the need for these type casts. Not sure where the phys_addr_t
misuse here first came from, but it's thankfully only in a couple of
drivers.
Jonathan
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2012-07-15 16:34 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-07-14 16:23 [PATCH] iio: fix pointer cast warning Peter Meerwald
2012-07-14 16:23 ` Peter Meerwald
2012-07-14 16:40 ` walter harms
2012-07-14 16:40 ` walter harms
2012-07-15 16:34 ` Jonathan Cameron
2012-07-15 16:34 ` Jonathan Cameron
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.