[PATCH] mtd: sh_flctl: Fix warnings due to improper casts

Brian Norris computersforpeace at gmail.com
Tue Nov 26 21:11:40 EST 2013


On Wed, Nov 27, 2013 at 01:35:11AM +0100, Laurent Pinchart wrote:
> Cast pointers to unsigned long instead of unsigned int. This fixes
> warnings on platforms where pointers have a different size than int.
> 
> Cc: David Woodhouse <dwmw2 at infradead.org>
> Cc: linux-mtd at lists.infradead.org
> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas at ideasonboard.com>
> ---
>  drivers/mtd/nand/sh_flctl.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/mtd/nand/sh_flctl.c b/drivers/mtd/nand/sh_flctl.c
> index a3c84eb..b1e2b13 100644
> --- a/drivers/mtd/nand/sh_flctl.c
> +++ b/drivers/mtd/nand/sh_flctl.c
> @@ -151,7 +151,7 @@ static void flctl_setup_dma(struct sh_flctl *flctl)
>  	dma_cap_set(DMA_SLAVE, mask);
>  
>  	flctl->chan_fifo0_tx = dma_request_channel(mask, shdma_chan_filter,
> -					    (void *)pdata->slave_id_fifo0_tx);
> +			(void *)(unsigned long)pdata->slave_id_fifo0_tx);

Perhaps the intermediate cast should be for uintptr_t instead of
unsigned long, just to be more exact? (I see that uintptr_t is just
typedef'd for unsigned long, but it still seems more precise.)

>  	dev_dbg(&pdev->dev, "%s: TX: got channel %p\n", __func__,
>  		flctl->chan_fifo0_tx);
>  
> @@ -168,7 +168,7 @@ static void flctl_setup_dma(struct sh_flctl *flctl)
>  		goto err;
>  
>  	flctl->chan_fifo0_rx = dma_request_channel(mask, shdma_chan_filter,
> -					    (void *)pdata->slave_id_fifo0_rx);
> +			(void *)(unsigned long)pdata->slave_id_fifo0_rx);

Ditto.

>  	dev_dbg(&pdev->dev, "%s: RX: got channel %p\n", __func__,
>  		flctl->chan_fifo0_rx);
>  

Brian



More information about the linux-mtd mailing list