From: Arnd Bergmann <arnd@arndb.de> To: soc@kernel.org Cc: Arnd Bergmann <arnd@arndb.de>, Russell King <linux@armlinux.org.uk>, Dan Williams <dan.j.williams@intel.com>, Vinod Koul <vkoul@kernel.org>, Linus Walleij <linus.walleij@linaro.org>, Bartosz Golaszewski <bgolaszewski@baylibre.com>, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, dmaengine@vger.kernel.org, linux-gpio@vger.kernel.org, linux-i2c@vger.kernel.org Subject: [PATCH 4/7] dma: iop-adma: allow building without platform headers Date: Fri, 9 Aug 2019 18:33:18 +0200 Message-ID: <20190809163334.489360-4-arnd@arndb.de> (raw) In-Reply-To: <20190809163334.489360-1-arnd@arndb.de> 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. Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- arch/arm/mach-iop32x/include/mach/adma.h | 6 ------ arch/arm/plat-iop/adma.c | 3 +-- drivers/dma/Kconfig | 4 ++-- drivers/dma/iop-adma.c | 3 +-- .../asm/hardware/iop3xx-adma.h => drivers/dma/iop-adma.h | 7 +------ .../iop_adma.h => include/linux/platform_data/dma-iop32x.h | 4 ++++ 6 files changed, 9 insertions(+), 18 deletions(-) delete mode 100644 arch/arm/mach-iop32x/include/mach/adma.h rename arch/arm/include/asm/hardware/iop3xx-adma.h => drivers/dma/iop-adma.h (99%) rename arch/arm/include/asm/hardware/iop_adma.h => include/linux/platform_data/dma-iop32x.h (98%) diff --git a/arch/arm/mach-iop32x/include/mach/adma.h b/arch/arm/mach-iop32x/include/mach/adma.h deleted file mode 100644 index 2b20063123ad..000000000000 --- a/arch/arm/mach-iop32x/include/mach/adma.h +++ /dev/null @@ -1,6 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -#ifndef IOP32X_ADMA_H -#define IOP32X_ADMA_H -#include <asm/hardware/iop3xx-adma.h> -#endif - diff --git a/arch/arm/plat-iop/adma.c b/arch/arm/plat-iop/adma.c index 368496471e60..601cc9c11b07 100644 --- a/arch/arm/plat-iop/adma.c +++ b/arch/arm/plat-iop/adma.c @@ -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 diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig index cc84863bc52b..7c511e3db4c8 100644 --- a/drivers/dma/Kconfig +++ b/drivers/dma/Kconfig @@ -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 diff --git a/drivers/dma/iop-adma.c b/drivers/dma/iop-adma.c index aebdd671651a..03f4a588cf7f 100644 --- a/drivers/dma/iop-adma.c +++ b/drivers/dma/iop-adma.c @@ -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) diff --git a/arch/arm/include/asm/hardware/iop3xx-adma.h b/drivers/dma/iop-adma.h similarity index 99% rename from arch/arm/include/asm/hardware/iop3xx-adma.h rename to drivers/dma/iop-adma.h index 6d998df17efd..c499c9578f00 100644 --- a/arch/arm/include/asm/hardware/iop3xx-adma.h +++ b/drivers/dma/iop-adma.h @@ -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) @@ -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; diff --git a/arch/arm/include/asm/hardware/iop_adma.h b/include/linux/platform_data/dma-iop32x.h similarity index 98% rename from arch/arm/include/asm/hardware/iop_adma.h rename to include/linux/platform_data/dma-iop32x.h index bcedbab90ac0..ac83cff89549 100644 --- a/arch/arm/include/asm/hardware/iop_adma.h +++ b/include/linux/platform_data/dma-iop32x.h @@ -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 -- 2.20.0
next prev parent reply index Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top [not found] <20190809162956.488941-1-arnd@arndb.de> 2019-08-09 16:33 ` [PATCH 1/7] [RFC] ARM: remove Intel iop33x and iop13xx support Arnd Bergmann 2019-08-09 16:33 ` [PATCH 2/7] dma: iop-adma: include prefetch.h Arnd Bergmann 2019-08-13 4:33 ` Vinod Koul 2019-08-14 15:29 ` Arnd Bergmann 2019-08-09 16:33 ` [PATCH 3/7] dma: iop-adma: use correct printk format strings Arnd Bergmann 2019-08-13 4:33 ` Vinod Koul 2019-08-09 16:33 ` Arnd Bergmann [this message] 2019-08-09 16:33 ` [PATCH 5/7] ARM: xscale: fix multi-cpu compilation Arnd Bergmann 2019-08-23 7:44 ` Linus Walleij 2019-08-09 16:33 ` [PATCH 6/7] ARM: iop32x: make mach/uncompress.h independent of mach/hardware.h Arnd Bergmann 2019-08-09 16:33 ` [PATCH 7/7] ARM: iop32x: merge everything into mach-iop32x/ Arnd Bergmann 2019-08-09 16:57 ` [PATCH 1/7] [RFC] ARM: remove Intel iop33x and iop13xx support Wolfram Sang 2019-08-09 18:34 ` Dan Williams 2019-08-09 18:36 ` Russell King - ARM Linux admin 2019-08-09 19:43 ` Dan Williams 2019-08-12 9:44 ` Martin Michlmayr 2019-08-14 8:36 ` Linus Walleij 2019-08-14 10:48 ` Arnd Bergmann 2019-08-16 15:42 ` Aaro Koskinen 2019-08-16 15:58 ` Russell King - ARM Linux admin 2019-08-16 16:15 ` Aaro Koskinen
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20190809163334.489360-4-arnd@arndb.de \ --to=arnd@arndb.de \ --cc=bgolaszewski@baylibre.com \ --cc=dan.j.williams@intel.com \ --cc=dmaengine@vger.kernel.org \ --cc=linus.walleij@linaro.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-gpio@vger.kernel.org \ --cc=linux-i2c@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux@armlinux.org.uk \ --cc=soc@kernel.org \ --cc=vkoul@kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
dmaengine Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/dmaengine/0 dmaengine/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 dmaengine dmaengine/ https://lore.kernel.org/dmaengine \ dmaengine@vger.kernel.org public-inbox-index dmaengine Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.dmaengine AGPL code for this site: git clone https://public-inbox.org/public-inbox.git