ARM: ixp4xx: Move NPE and QMGR to drivers/soc
The Network Processing Engine and Queue Manager are versatile firmware components used by several IXP4xx drivers. Drivers are relying on getting access to these components using <mach/*> headers which does not work with multiplatform. We need to find a better place for the drivers to live. Let's first move them to drivers/soc and the start to refactor a bit by passing resources and moving headers. This patch introduce static IRQ assignments but that will be fixed by later patches in this series. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
b9a35d705a
commit
fcf2d8978c
|
@ -7888,8 +7888,8 @@ M: Krzysztof Halasa <khalasa@piap.pl>
|
|||
S: Maintained
|
||||
F: arch/arm/mach-ixp4xx/include/mach/qmgr.h
|
||||
F: arch/arm/mach-ixp4xx/include/mach/npe.h
|
||||
F: arch/arm/mach-ixp4xx/ixp4xx_qmgr.c
|
||||
F: arch/arm/mach-ixp4xx/ixp4xx_npe.c
|
||||
F: drivers/soc/ixp4xx/ixp4xx-qmgr.c
|
||||
F: drivers/soc/ixp4xx/ixp4xx-npe.c
|
||||
F: drivers/net/ethernet/xscale/ixp4xx_eth.c
|
||||
F: drivers/net/wan/ixp4xx_hss.c
|
||||
|
||||
|
|
|
@ -236,19 +236,6 @@ config IXP4XX_INDIRECT_PCI
|
|||
need to use the indirect method instead. If you don't know
|
||||
what you need, leave this option unselected.
|
||||
|
||||
config IXP4XX_QMGR
|
||||
tristate "IXP4xx Queue Manager support"
|
||||
help
|
||||
This driver supports IXP4xx built-in hardware queue manager
|
||||
and is automatically selected by Ethernet and HSS drivers.
|
||||
|
||||
config IXP4XX_NPE
|
||||
tristate "IXP4xx Network Processor Engine support"
|
||||
select FW_LOADER
|
||||
help
|
||||
This driver supports IXP4xx built-in network coprocessors
|
||||
and is automatically selected by Ethernet and HSS drivers.
|
||||
|
||||
endmenu
|
||||
|
||||
endif
|
||||
|
|
|
@ -43,5 +43,3 @@ obj-$(CONFIG_MACH_GORAMO_MLR) += goramo_mlr.o
|
|||
obj-$(CONFIG_MACH_ARCOM_VULCAN) += vulcan-setup.o
|
||||
|
||||
obj-$(CONFIG_PCI) += $(obj-pci-$(CONFIG_PCI)) common-pci.o
|
||||
obj-$(CONFIG_IXP4XX_QMGR) += ixp4xx_qmgr.o
|
||||
obj-$(CONFIG_IXP4XX_NPE) += ixp4xx_npe.o
|
||||
|
|
|
@ -6,6 +6,7 @@ source "drivers/soc/atmel/Kconfig"
|
|||
source "drivers/soc/bcm/Kconfig"
|
||||
source "drivers/soc/fsl/Kconfig"
|
||||
source "drivers/soc/imx/Kconfig"
|
||||
source "drivers/soc/ixp4xx/Kconfig"
|
||||
source "drivers/soc/mediatek/Kconfig"
|
||||
source "drivers/soc/qcom/Kconfig"
|
||||
source "drivers/soc/renesas/Kconfig"
|
||||
|
|
|
@ -11,6 +11,7 @@ obj-$(CONFIG_MACH_DOVE) += dove/
|
|||
obj-y += fsl/
|
||||
obj-$(CONFIG_ARCH_GEMINI) += gemini/
|
||||
obj-$(CONFIG_ARCH_MXC) += imx/
|
||||
obj-$(CONFIG_ARCH_IXP4XX) += ixp4xx/
|
||||
obj-$(CONFIG_SOC_XWAY) += lantiq/
|
||||
obj-y += mediatek/
|
||||
obj-y += amlogic/
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
menu "IXP4xx SoC drivers"
|
||||
|
||||
config IXP4XX_QMGR
|
||||
tristate "IXP4xx Queue Manager support"
|
||||
help
|
||||
This driver supports IXP4xx built-in hardware queue manager
|
||||
and is automatically selected by Ethernet and HSS drivers.
|
||||
|
||||
config IXP4XX_NPE
|
||||
tristate "IXP4xx Network Processor Engine support"
|
||||
select FW_LOADER
|
||||
help
|
||||
This driver supports IXP4xx built-in network coprocessors
|
||||
and is automatically selected by Ethernet and HSS drivers.
|
||||
|
||||
endmenu
|
|
@ -0,0 +1,2 @@
|
|||
obj-$(CONFIG_IXP4XX_QMGR) += ixp4xx-qmgr.o
|
||||
obj-$(CONFIG_IXP4XX_NPE) += ixp4xx-npe.o
|
|
@ -15,7 +15,10 @@
|
|||
#include <linux/of.h>
|
||||
#include <mach/qmgr.h>
|
||||
|
||||
#include "irqs.h"
|
||||
/* FIXME: get rid of these static assigments */
|
||||
#define IRQ_IXP4XX_BASE 16
|
||||
#define IRQ_IXP4XX_QM1 (IRQ_IXP4XX_BASE + 3)
|
||||
#define IRQ_IXP4XX_QM2 (IRQ_IXP4XX_BASE + 4)
|
||||
|
||||
static struct qmgr_regs __iomem *qmgr_regs = IXP4XX_QMGR_BASE_VIRT;
|
||||
static struct resource *mem_res;
|
Loading…
Reference in New Issue