Hello,
[adding spi-devel-general and lkml to Cc:]
On Sat, Nov 20, 2010 at 11:08:53AM +0100, Jean-Christophe PLAGNIOL-VILLARD wrote:
> passing argument 2 of 'dma_map_single' discards qualifiers from pointer target type
>
> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <[email protected]>
> ---
> drivers/spi/atmel_spi.c | 4 +++-
> 1 files changed, 3 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/spi/atmel_spi.c b/drivers/spi/atmel_spi.c
> index 154529a..2cf6abd 100644
> --- a/drivers/spi/atmel_spi.c
> +++ b/drivers/spi/atmel_spi.c
> @@ -352,8 +352,10 @@ atmel_spi_dma_map_xfer(struct atmel_spi *as, struct spi_transfer *xfer)
>
> xfer->tx_dma = xfer->rx_dma = INVALID_DMA_ADDRESS;
> if (xfer->tx_buf) {
> + void *nonconst_tx = (void *)xfer->tx_buf; /* shut up gcc */
> +
> xfer->tx_dma = dma_map_single(dev,
> - (void *) xfer->tx_buf, xfer->len,
> + nonconst_tx, xfer->len,
> DMA_TO_DEVICE);
Hmm, I wonder if this is the right approach to do this. I'd prefer to
have something like:
dma_map_single_to_device(struct device *, const void *, ...)
don't know if that's sensible though.
And I wonder about gcc that your patch makes a difference.
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-K?nig |
Industrial Linux Solutions | http://www.pengutronix.de/ |
--- On Sat, 11/20/10, Uwe Kleine-K?nig <[email protected]> wrote:
> > +??? ??? void
> *nonconst_tx = (void *)xfer->tx_buf; /* shut up gcc */
Reads like a bad patch to me. Fix the bug,
don't just silence GCC. Or at least use
a better comment mentioning a constness
cast problems).
- Dave
On 14:59 Sat 20 Nov , David Brownell wrote:
>
>
> --- On Sat, 11/20/10, Uwe Kleine-K?nig <[email protected]> wrote:
>
> > > +??? ??? void
> > *nonconst_tx = (void *)xfer->tx_buf; /* shut up gcc */
>
> Reads like a bad patch to me. Fix the bug,
> don't just silence GCC. Or at least use
> a better comment mentioning a constness
> cast problems).
ok I change the comment
Best Regards,
J.