[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210614201648.3358206-6-trix@redhat.com>
Date: Mon, 14 Jun 2021 13:16:48 -0700
From: trix@...hat.com
To: hao.wu@...el.com, mdf@...nel.org, corbet@....net,
michal.simek@...inx.com, gregkh@...uxfoundation.org,
krzysztof.kozlowski@...onical.com, nava.manne@...inx.com,
yilun.xu@...el.com, davidgow@...gle.com, fpacheco@...hat.com,
richard.gong@...el.com, luca@...aceresoli.net
Cc: linux-fpga@...r.kernel.org, linux-doc@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
Tom Rix <trix@...hat.com>
Subject: [PATCH v4 4/4] fpga: lattice: reorganize to subdir layout
From: Tom Rix <trix@...hat.com>
Follow drivers/net/ethernet/ which has control configs
NET_VENDOR_BLA that map to drivers/net/ethernet/bla
Since fpgas do not have many vendors, drop the 'VENDOR' and use
FPGA_BLA.
There are several new subdirs
altera/
dfl/
lattice/
xilinx/
Each subdir has a Kconfig that has a new/reused
if FPGA_BLA
... existing configs ...
endif FPGA_BLA
Which is sourced into the main fpga/Kconfig
Each subdir has a Makefile whose transversal is controlled in the
fpga/Makefile by
obj-$(CONFIG_FPGA_BLA) += bla/
This is the lattice/ subdir part.
Create a lattice/ subdir
Move ice40* and machxo2* files to it.
Add a Kconfig and Makefile
Signed-off-by: Tom Rix <trix@...hat.com>
---
drivers/fpga/Kconfig | 14 +-----------
drivers/fpga/Makefile | 13 ++++-------
drivers/fpga/lattice/Kconfig | 29 ++++++++++++++++++++++++
drivers/fpga/lattice/Makefile | 4 ++++
drivers/fpga/{ => lattice}/ice40-spi.c | 0
drivers/fpga/{ => lattice}/machxo2-spi.c | 0
6 files changed, 39 insertions(+), 21 deletions(-)
create mode 100644 drivers/fpga/lattice/Kconfig
create mode 100644 drivers/fpga/lattice/Makefile
rename drivers/fpga/{ => lattice}/ice40-spi.c (100%)
rename drivers/fpga/{ => lattice}/machxo2-spi.c (100%)
diff --git a/drivers/fpga/Kconfig b/drivers/fpga/Kconfig
index 2c829b1105925..955b155da3575 100644
--- a/drivers/fpga/Kconfig
+++ b/drivers/fpga/Kconfig
@@ -12,19 +12,6 @@ menuconfig FPGA
if FPGA
-config FPGA_MGR_ICE40_SPI
- tristate "Lattice iCE40 SPI"
- depends on OF && SPI
- help
- FPGA manager driver support for Lattice iCE40 FPGAs over SPI.
-
-config FPGA_MGR_MACHXO2_SPI
- tristate "Lattice MachXO2 SPI"
- depends on SPI
- help
- FPGA manager driver support for Lattice MachXO2 configuration
- over slave SPI interface.
-
config FPGA_BRIDGE
tristate "FPGA Bridge Framework"
help
@@ -48,6 +35,7 @@ config OF_FPGA_REGION
source "drivers/fpga/altera/Kconfig"
source "drivers/fpga/dfl/Kconfig"
+source "drivers/fpga/lattice/Kconfig"
source "drivers/fpga/xilinx/Kconfig"
endif # FPGA
diff --git a/drivers/fpga/Makefile b/drivers/fpga/Makefile
index db83aeb997f24..9197698201e3a 100644
--- a/drivers/fpga/Makefile
+++ b/drivers/fpga/Makefile
@@ -4,19 +4,16 @@
#
# Core FPGA Manager Framework
-obj-$(CONFIG_FPGA) += fpga-mgr.o
-
-# FPGA Manager Drivers
-obj-$(CONFIG_FPGA_MGR_ICE40_SPI) += ice40-spi.o
-obj-$(CONFIG_FPGA_MGR_MACHXO2_SPI) += machxo2-spi.o
+obj-$(CONFIG_FPGA) += fpga-mgr.o
# FPGA Bridge Drivers
-obj-$(CONFIG_FPGA_BRIDGE) += fpga-bridge.o
+obj-$(CONFIG_FPGA_BRIDGE) += fpga-bridge.o
# High Level Interfaces
-obj-$(CONFIG_FPGA_REGION) += fpga-region.o
-obj-$(CONFIG_OF_FPGA_REGION) += of-fpga-region.o
+obj-$(CONFIG_FPGA_REGION) += fpga-region.o
+obj-$(CONFIG_OF_FPGA_REGION) += of-fpga-region.o
obj-$(CONFIG_FPGA_ALTERA) += altera/
obj-$(CONFIG_FPGA_DFL) += dfl/
+obj-$(CONFIG_FPGA_LATTICE) += lattice/
obj-$(CONFIG_FPGA_XILINX) += xilinx/
diff --git a/drivers/fpga/lattice/Kconfig b/drivers/fpga/lattice/Kconfig
new file mode 100644
index 0000000000000..6c2f1ae17e4f6
--- /dev/null
+++ b/drivers/fpga/lattice/Kconfig
@@ -0,0 +1,29 @@
+# SPDX-License-Identifier: GPL-2.0-only
+
+config FPGA_LATTICE
+ bool "Lattice FPGAs"
+ default y
+ help
+ If you have a lattice fpga, say Y.
+
+ Note that the answer to this question doesn't directly affect the
+ kernel: saying N will just cause the configurator to skip all
+ the questions about lattice fpgas. If you say Y, you will be asked
+ for your specific device in the following questions.
+
+if FPGA_LATTICE
+
+config FPGA_MGR_ICE40_SPI
+ tristate "Lattice iCE40 SPI"
+ depends on OF && SPI
+ help
+ FPGA manager driver support for Lattice iCE40 FPGAs over SPI.
+
+config FPGA_MGR_MACHXO2_SPI
+ tristate "Lattice MachXO2 SPI"
+ depends on SPI
+ help
+ FPGA manager driver support for Lattice MachXO2 configuration
+ over slave SPI interface.
+
+endif #FPGA_LATTICE
diff --git a/drivers/fpga/lattice/Makefile b/drivers/fpga/lattice/Makefile
new file mode 100644
index 0000000000000..f542c96a73d40
--- /dev/null
+++ b/drivers/fpga/lattice/Makefile
@@ -0,0 +1,4 @@
+# SPDX-License-Identifier: GPL-2.0-only
+
+obj-$(CONFIG_FPGA_MGR_ICE40_SPI) += ice40-spi.o
+obj-$(CONFIG_FPGA_MGR_MACHXO2_SPI) += machxo2-spi.o
diff --git a/drivers/fpga/ice40-spi.c b/drivers/fpga/lattice/ice40-spi.c
similarity index 100%
rename from drivers/fpga/ice40-spi.c
rename to drivers/fpga/lattice/ice40-spi.c
diff --git a/drivers/fpga/machxo2-spi.c b/drivers/fpga/lattice/machxo2-spi.c
similarity index 100%
rename from drivers/fpga/machxo2-spi.c
rename to drivers/fpga/lattice/machxo2-spi.c
--
2.26.3
Powered by blists - more mailing lists