Message ID | 1438328316-30197-26-git-send-email-tony.cho@atmel.com (mailing list archive) |
---|---|
State | Not Applicable |
Delegated to: | Kalle Valo |
Headers | show |
On Fri, Jul 31, 2015 at 04:38:33PM +0900, Tony Cho wrote: > From: glen lee <glen.lee@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@atmel.com> > Signed-off-by: Tony Cho <tony.cho@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 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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; 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; /**