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
|
S: Maintained
|
||||||
F: arch/arm/mach-ixp4xx/include/mach/qmgr.h
|
F: arch/arm/mach-ixp4xx/include/mach/qmgr.h
|
||||||
F: arch/arm/mach-ixp4xx/include/mach/npe.h
|
F: arch/arm/mach-ixp4xx/include/mach/npe.h
|
||||||
F: arch/arm/mach-ixp4xx/ixp4xx_qmgr.c
|
F: drivers/soc/ixp4xx/ixp4xx-qmgr.c
|
||||||
F: arch/arm/mach-ixp4xx/ixp4xx_npe.c
|
F: drivers/soc/ixp4xx/ixp4xx-npe.c
|
||||||
F: drivers/net/ethernet/xscale/ixp4xx_eth.c
|
F: drivers/net/ethernet/xscale/ixp4xx_eth.c
|
||||||
F: drivers/net/wan/ixp4xx_hss.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
|
need to use the indirect method instead. If you don't know
|
||||||
what you need, leave this option unselected.
|
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
|
endmenu
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -43,5 +43,3 @@ obj-$(CONFIG_MACH_GORAMO_MLR) += goramo_mlr.o
|
||||||
obj-$(CONFIG_MACH_ARCOM_VULCAN) += vulcan-setup.o
|
obj-$(CONFIG_MACH_ARCOM_VULCAN) += vulcan-setup.o
|
||||||
|
|
||||||
obj-$(CONFIG_PCI) += $(obj-pci-$(CONFIG_PCI)) common-pci.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/bcm/Kconfig"
|
||||||
source "drivers/soc/fsl/Kconfig"
|
source "drivers/soc/fsl/Kconfig"
|
||||||
source "drivers/soc/imx/Kconfig"
|
source "drivers/soc/imx/Kconfig"
|
||||||
|
source "drivers/soc/ixp4xx/Kconfig"
|
||||||
source "drivers/soc/mediatek/Kconfig"
|
source "drivers/soc/mediatek/Kconfig"
|
||||||
source "drivers/soc/qcom/Kconfig"
|
source "drivers/soc/qcom/Kconfig"
|
||||||
source "drivers/soc/renesas/Kconfig"
|
source "drivers/soc/renesas/Kconfig"
|
||||||
|
|
|
@ -11,6 +11,7 @@ obj-$(CONFIG_MACH_DOVE) += dove/
|
||||||
obj-y += fsl/
|
obj-y += fsl/
|
||||||
obj-$(CONFIG_ARCH_GEMINI) += gemini/
|
obj-$(CONFIG_ARCH_GEMINI) += gemini/
|
||||||
obj-$(CONFIG_ARCH_MXC) += imx/
|
obj-$(CONFIG_ARCH_MXC) += imx/
|
||||||
|
obj-$(CONFIG_ARCH_IXP4XX) += ixp4xx/
|
||||||
obj-$(CONFIG_SOC_XWAY) += lantiq/
|
obj-$(CONFIG_SOC_XWAY) += lantiq/
|
||||||
obj-y += mediatek/
|
obj-y += mediatek/
|
||||||
obj-y += amlogic/
|
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 <linux/of.h>
|
||||||
#include <mach/qmgr.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 qmgr_regs __iomem *qmgr_regs = IXP4XX_QMGR_BASE_VIRT;
|
||||||
static struct resource *mem_res;
|
static struct resource *mem_res;
|
Loading…
Reference in New Issue