Skip to content

Commit

Permalink
dma: iop-adma: allow building without platform headers
Browse files Browse the repository at this point in the history
Now that iop3xx and iop13xx are gone, the iop-adma driver no
longer needs to deal with incompatible register layout defined
in machine specific header files.

Move the iop32x specific definitions into drivers/dma/iop-adma.h
and the platform_data into include/linux/platform_data/dma-iop32x.h,
and change the machine code to no longer reference those.

The DMA0_ID/DMA1_ID/AAU_ID macros are required as part of the
platform data interface and still need to be visible, so move
those from one header to the other.

Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnd Bergmann <[email protected]>
  • Loading branch information
arndb committed Aug 14, 2019
1 parent 00c9755 commit aad7ad2
Show file tree
Hide file tree
Showing 6 changed files with 9 additions and 18 deletions.
6 changes: 0 additions & 6 deletions arch/arm/mach-iop32x/include/mach/adma.h

This file was deleted.

3 changes: 1 addition & 2 deletions arch/arm/plat-iop/adma.c
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@
#include <linux/platform_device.h>
#include <asm/hardware/iop3xx.h>
#include <linux/dma-mapping.h>
#include <mach/adma.h>
#include <asm/hardware/iop_adma.h>
#include <linux/platform_data/dma-iop32x.h>

#define IRQ_DMA0_EOT IRQ_IOP32X_DMA0_EOT
#define IRQ_DMA0_EOC IRQ_IOP32X_DMA0_EOC
Expand Down
4 changes: 2 additions & 2 deletions drivers/dma/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -294,8 +294,8 @@ config INTEL_IOATDMA
If unsure, say N.

config INTEL_IOP_ADMA
tristate "Intel IOP ADMA support"
depends on ARCH_IOP32X
tristate "Intel IOP32x ADMA support"
depends on ARCH_IOP32X || COMPILE_TEST
select DMA_ENGINE
select ASYNC_TX_ENABLE_CHANNEL_SWITCH
help
Expand Down
3 changes: 1 addition & 2 deletions drivers/dma/iop-adma.c
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,7 @@
#include <linux/raid/pq.h>
#include <linux/slab.h>

#include <mach/adma.h>

#include "iop-adma.h"
#include "dmaengine.h"

#define to_iop_adma_chan(chan) container_of(chan, struct iop_adma_chan, common)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@
#define _ADMA_H
#include <linux/types.h>
#include <linux/io.h>
#include <mach/hardware.h>
#include <asm/hardware/iop_adma.h>
#include <linux/platform_data/dma-iop32x.h>

/* Memory copy units */
#define DMA_CCR(chan) (chan->mmr_base + 0x0)
Expand All @@ -34,10 +33,6 @@
#define AAU_EDCR1_IDX 17
#define AAU_EDCR2_IDX 26

#define DMA0_ID 0
#define DMA1_ID 1
#define AAU_ID 2

struct iop3xx_aau_desc_ctrl {
unsigned int int_en:1;
unsigned int blk1_cmd_ctrl:3;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,10 @@
#endif
#define iop_paranoia(x) BUG_ON(IOP_PARANOIA && (x))

#define DMA0_ID 0
#define DMA1_ID 1
#define AAU_ID 2

/**
* struct iop_adma_device - internal representation of an ADMA device
* @pdev: Platform device
Expand Down

0 comments on commit aad7ad2

Please sign in to comment.