• Arnd Bergmann's avatar
    mmc: sh_mmcif: rework dma channel handling · 27cbd7e8
    Arnd Bergmann authored
    When compiling the sh_mmcif driver for ARM64, we currently
    get a harmless build warning:
    
    ../drivers/mmc/host/sh_mmcif.c: In function 'sh_mmcif_request_dma_one':
    ../drivers/mmc/host/sh_mmcif.c:417:4: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
        (void *)pdata->slave_id_tx :
        ^
    ../drivers/mmc/host/sh_mmcif.c:418:4: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
        (void *)pdata->slave_id_rx;
    
    This could be worked around by adding another cast to uintptr_t, but
    I decided to simplify the code a little more to avoid that. This
    splits out the platform data using code into a separate function
    and builds that only for CONFIG_SUPERH. This part still has a typecast
    but does not need a second one. The SH platform code could be further
    modified to pass a pointer directly as we do on other architectures
    when we have a filter function.
    
    The normal case is simplified further and now just calls
    dma_request_slave_channel() directly without going through the
    compat handling.
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
    27cbd7e8
sh_mmcif.c 42.8 KB