All new accounts created on Gitlab now require administrator approval. If you invite any collaborators, please let Flux staff know so they can approve the accounts.

Commit 238d1c60 authored by Mans Rullgard's avatar Mans Rullgard Committed by Hans-Christian Egtvedt

mmc: atmel: get rid of struct mci_dma_data

As struct mci_dma_data is now only used by AVR32, it is nothing but
pointless indirection.  Replace it with struct dw_dma_slave in the
AVR32 platform code and with a void pointer elsewhere.
Signed-off-by: default avatarMans Rullgard <mans@mansr.com>
Acked-by: default avatarHans-Christian Noren Egtvedt <egtvedt@samfundet.no>
Acked-by: default avatarLudovic Desroches <ludovic.desroches@atmel.com>
Acked-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
parent 74843787
......@@ -17,7 +17,6 @@
#include <linux/spi/spi.h>
#include <linux/usb/atmel_usba_udc.h>
#include <linux/platform_data/mmc-atmel-mci.h>
#include <linux/atmel-mci.h>
#include <asm/io.h>
......@@ -1323,13 +1322,13 @@ static struct clk atmel_mci0_pclk = {
static bool at32_mci_dma_filter(struct dma_chan *chan, void *pdata)
{
struct mci_dma_data *sl = pdata;
struct dw_dma_slave *sl = pdata;
if (!sl)
return false;
if (find_slave_dev(sl) == chan->device->dev) {
chan->private = slave_data_ptr(sl);
if (sl->dma_dev == chan->device->dev) {
chan->private = sl;
return true;
}
......@@ -1340,7 +1339,7 @@ struct platform_device *__init
at32_add_device_mci(unsigned int id, struct mci_platform_data *data)
{
struct platform_device *pdev;
struct mci_dma_data *slave;
struct dw_dma_slave *slave;
u32 pioa_mask;
u32 piob_mask;
......@@ -1359,15 +1358,15 @@ at32_add_device_mci(unsigned int id, struct mci_platform_data *data)
ARRAY_SIZE(atmel_mci0_resource)))
goto fail;
slave = kzalloc(sizeof(struct mci_dma_data), GFP_KERNEL);
slave = kzalloc(sizeof(*slave), GFP_KERNEL);
if (!slave)
goto fail;
slave->sdata.dma_dev = &dw_dmac0_device.dev;
slave->sdata.src_id = 0;
slave->sdata.dst_id = 1;
slave->sdata.src_master = 1;
slave->sdata.dst_master = 0;
slave->dma_dev = &dw_dmac0_device.dev;
slave->src_id = 0;
slave->dst_id = 1;
slave->src_master = 1;
slave->dst_master = 0;
data->dma_slave = slave;
data->dma_filter = at32_mci_dma_filter;
......
......@@ -29,7 +29,6 @@
#include <linux/slab.h>
#include <linux/stat.h>
#include <linux/types.h>
#include <linux/platform_data/mmc-atmel-mci.h>
#include <linux/mmc/host.h>
#include <linux/mmc/sdio.h>
......
......@@ -37,7 +37,7 @@ struct mci_slot_pdata {
* @slot: Per-slot configuration data.
*/
struct mci_platform_data {
struct mci_dma_data *dma_slave;
void *dma_slave;
dma_filter_fn dma_filter;
struct mci_slot_pdata slot[ATMCI_MAX_NR_SLOTS];
};
......
#ifndef __MMC_ATMEL_MCI_H
#define __MMC_ATMEL_MCI_H
#include <linux/platform_data/dma-atmel.h>
#include <linux/platform_data/dma-dw.h>
/**
* struct mci_dma_data - DMA data for MCI interface
*/
struct mci_dma_data {
#ifdef CONFIG_ARM
struct at_dma_slave sdata;
#else
struct dw_dma_slave sdata;
#endif
};
/* accessor macros */
#define slave_data_ptr(s) (&(s)->sdata)
#define find_slave_dev(s) ((s)->sdata.dma_dev)
#endif /* __MMC_ATMEL_MCI_H */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment