2019-03-07 10:10:33

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] mmc: pxamci: fix enum type confusion

clang points out several instances of mismatched types in this drivers,
all coming from a single declaration:

drivers/mmc/host/pxamci.c:193:15: error: implicit conversion from enumeration type 'enum dma_transfer_direction' to
different enumeration type 'enum dma_data_direction' [-Werror,-Wenum-conversion]
direction = DMA_DEV_TO_MEM;
~ ^~~~~~~~~~~~~~
drivers/mmc/host/pxamci.c:212:62: error: implicit conversion from enumeration type 'enum dma_data_direction' to
different enumeration type 'enum dma_transfer_direction' [-Werror,-Wenum-conversion]
tx = dmaengine_prep_slave_sg(chan, data->sg, host->dma_len, direction,

The behavior is correct, so this must be a simply typo from
dma_data_direction and dma_transfer_direction being similarly named
types with a similar purpose.

Fixes: 6464b7140951 ("mmc: pxamci: switch over to dmaengine use")
Signed-off-by: Arnd Bergmann <[email protected]>
---
drivers/mmc/host/pxamci.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mmc/host/pxamci.c b/drivers/mmc/host/pxamci.c
index c907bf502a12..c1d3f0e38921 100644
--- a/drivers/mmc/host/pxamci.c
+++ b/drivers/mmc/host/pxamci.c
@@ -162,7 +162,7 @@ static void pxamci_dma_irq(void *param);
static void pxamci_setup_data(struct pxamci_host *host, struct mmc_data *data)
{
struct dma_async_tx_descriptor *tx;
- enum dma_data_direction direction;
+ enum dma_transfer_direction direction;
struct dma_slave_config config;
struct dma_chan *chan;
unsigned int nob = data->blocks;
--
2.20.0



2019-03-07 15:22:32

by Nathan Chancellor

[permalink] [raw]
Subject: Re: [PATCH] mmc: pxamci: fix enum type confusion

On Thu, Mar 07, 2019 at 11:09:19AM +0100, Arnd Bergmann wrote:
> clang points out several instances of mismatched types in this drivers,
> all coming from a single declaration:
>
> drivers/mmc/host/pxamci.c:193:15: error: implicit conversion from enumeration type 'enum dma_transfer_direction' to
> different enumeration type 'enum dma_data_direction' [-Werror,-Wenum-conversion]
> direction = DMA_DEV_TO_MEM;
> ~ ^~~~~~~~~~~~~~
> drivers/mmc/host/pxamci.c:212:62: error: implicit conversion from enumeration type 'enum dma_data_direction' to
> different enumeration type 'enum dma_transfer_direction' [-Werror,-Wenum-conversion]
> tx = dmaengine_prep_slave_sg(chan, data->sg, host->dma_len, direction,
>
> The behavior is correct, so this must be a simply typo from
> dma_data_direction and dma_transfer_direction being similarly named
> types with a similar purpose.
>
> Fixes: 6464b7140951 ("mmc: pxamci: switch over to dmaengine use")
> Signed-off-by: Arnd Bergmann <[email protected]>

Reviewed-by: Nathan Chancellor <[email protected]>

> ---
> drivers/mmc/host/pxamci.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/mmc/host/pxamci.c b/drivers/mmc/host/pxamci.c
> index c907bf502a12..c1d3f0e38921 100644
> --- a/drivers/mmc/host/pxamci.c
> +++ b/drivers/mmc/host/pxamci.c
> @@ -162,7 +162,7 @@ static void pxamci_dma_irq(void *param);
> static void pxamci_setup_data(struct pxamci_host *host, struct mmc_data *data)
> {
> struct dma_async_tx_descriptor *tx;
> - enum dma_data_direction direction;
> + enum dma_transfer_direction direction;
> struct dma_slave_config config;
> struct dma_chan *chan;
> unsigned int nob = data->blocks;
> --
> 2.20.0
>

2019-03-07 19:16:30

by Robert Jarzmik

[permalink] [raw]
Subject: Re: [PATCH] mmc: pxamci: fix enum type confusion

Nathan Chancellor <[email protected]> writes:

> On Thu, Mar 07, 2019 at 11:09:19AM +0100, Arnd Bergmann wrote:
>> clang points out several instances of mismatched types in this drivers,
>> all coming from a single declaration:
>>
>> drivers/mmc/host/pxamci.c:193:15: error: implicit conversion from enumeration type 'enum dma_transfer_direction' to
>> different enumeration type 'enum dma_data_direction' [-Werror,-Wenum-conversion]
>> direction = DMA_DEV_TO_MEM;
>> ~ ^~~~~~~~~~~~~~
>> drivers/mmc/host/pxamci.c:212:62: error: implicit conversion from enumeration type 'enum dma_data_direction' to
>> different enumeration type 'enum dma_transfer_direction' [-Werror,-Wenum-conversion]
>> tx = dmaengine_prep_slave_sg(chan, data->sg, host->dma_len, direction,
>>
>> The behavior is correct, so this must be a simply typo from
>> dma_data_direction and dma_transfer_direction being similarly named
>> types with a similar purpose.
>>
>> Fixes: 6464b7140951 ("mmc: pxamci: switch over to dmaengine use")
>> Signed-off-by: Arnd Bergmann <[email protected]>
>
> Reviewed-by: Nathan Chancellor <[email protected]>
Acked-by: Robert Jarzmik <[email protected]>

Cheers.

--
Robert

2019-03-18 10:54:09

by Ulf Hansson

[permalink] [raw]
Subject: Re: [PATCH] mmc: pxamci: fix enum type confusion

On Thu, 7 Mar 2019 at 11:09, Arnd Bergmann <[email protected]> wrote:
>
> clang points out several instances of mismatched types in this drivers,
> all coming from a single declaration:
>
> drivers/mmc/host/pxamci.c:193:15: error: implicit conversion from enumeration type 'enum dma_transfer_direction' to
> different enumeration type 'enum dma_data_direction' [-Werror,-Wenum-conversion]
> direction = DMA_DEV_TO_MEM;
> ~ ^~~~~~~~~~~~~~
> drivers/mmc/host/pxamci.c:212:62: error: implicit conversion from enumeration type 'enum dma_data_direction' to
> different enumeration type 'enum dma_transfer_direction' [-Werror,-Wenum-conversion]
> tx = dmaengine_prep_slave_sg(chan, data->sg, host->dma_len, direction,
>
> The behavior is correct, so this must be a simply typo from
> dma_data_direction and dma_transfer_direction being similarly named
> types with a similar purpose.
>
> Fixes: 6464b7140951 ("mmc: pxamci: switch over to dmaengine use")
> Signed-off-by: Arnd Bergmann <[email protected]>

Applied for fixes and by adding a stable tag, thanks!

Kind regards
Uffe


> ---
> drivers/mmc/host/pxamci.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/mmc/host/pxamci.c b/drivers/mmc/host/pxamci.c
> index c907bf502a12..c1d3f0e38921 100644
> --- a/drivers/mmc/host/pxamci.c
> +++ b/drivers/mmc/host/pxamci.c
> @@ -162,7 +162,7 @@ static void pxamci_dma_irq(void *param);
> static void pxamci_setup_data(struct pxamci_host *host, struct mmc_data *data)
> {
> struct dma_async_tx_descriptor *tx;
> - enum dma_data_direction direction;
> + enum dma_transfer_direction direction;
> struct dma_slave_config config;
> struct dma_chan *chan;
> unsigned int nob = data->blocks;
> --
> 2.20.0
>