[PATCH 25/28] staging: wilc1000: change cast type from pointer to uintptr_t
Greg KH
gregkh at linuxfoundation.org
Fri Jul 31 20:50:19 UTC 2015
On Fri, Jul 31, 2015 at 04:38:33PM +0900, Tony Cho wrote:
> From: glen lee <glen.lee at atmel.com>
>
> To use drvHandler as integer operation, cast type to uintptr_t.
>
> Here is the build warning.
> drivers/staging/wilc1000/wilc_wlan.c:1871:23: warning: cast from pointer to
> integer of different size [-Wpointer-to-int-cast]
> int driver_handler = (u32)drvHandler;
>
> Signed-off-by: glen lee <glen.lee at atmel.com>
> Signed-off-by: Tony Cho <tony.cho at atmel.com>
> ---
> drivers/staging/wilc1000/linux_wlan.c | 2 +-
> drivers/staging/wilc1000/wilc_wlan.c | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/staging/wilc1000/linux_wlan.c b/drivers/staging/wilc1000/linux_wlan.c
> index ec80849..14c2071 100644
> --- a/drivers/staging/wilc1000/linux_wlan.c
> +++ b/drivers/staging/wilc1000/linux_wlan.c
> @@ -1056,7 +1056,7 @@ static int linux_wlan_init_test_config(struct net_device *dev, linux_wlan_t *p_n
> goto _fail_;
> }
>
> - *(int *)c_val = (u32)pstrWFIDrv;
> + *(int *)c_val = (uintptr_t)pstrWFIDrv;
Why is the cast needed at all?
>
> if (!g_linux_wlan->oup.wlan_cfg_set(1, WID_SET_DRV_HANDLER, c_val, 4, 0, 0))
> goto _fail_;
> diff --git a/drivers/staging/wilc1000/wilc_wlan.c b/drivers/staging/wilc1000/wilc_wlan.c
> index f5075b26..2cc23d5 100644
> --- a/drivers/staging/wilc1000/wilc_wlan.c
> +++ b/drivers/staging/wilc1000/wilc_wlan.c
> @@ -1868,7 +1868,7 @@ static int wilc_wlan_cfg_commit(int type, WILC_WFIDrvHandle drvHandler)
> wilc_cfg_frame_t *cfg = &p->cfg_frame;
> int total_len = p->cfg_frame_offset + 4 + DRIVER_HANDLER_SIZE;
> int seq_no = p->cfg_seq_no % 256;
> - int driver_handler = (u32)drvHandler;
> + int driver_handler = (uintptr_t)drvHandler;
You can't cast a pointer to an integer, it does not work on all systems,
which is what the compiler warnings is telling you.
If this really is a pointer, use a pointer, otherwise, use an integer,
but don't cast between the two.
thanks,
greg k-h
More information about the devel
mailing list