Re: [PATCH v4 2/4] fpga: xilinx: reorganize to subdir layout

From: Greg KH
Date: Tue Jun 15 2021 - 03:36:49 EST


On Mon, Jun 14, 2021 at 01:16:46PM -0700, trix@xxxxxxxxxx wrote:
> From: Tom Rix <trix@xxxxxxxxxx>
>
> 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 xilinx/ subdir part
>
> Create a xilinx/ subdir
> Move xilinx-* and zynq* files to it.
> Add a Kconfig and Makefile
>
> Signed-off-by: Tom Rix <trix@xxxxxxxxxx>
> ---
> drivers/fpga/Kconfig | 40 +-------------
> drivers/fpga/Makefile | 5 +-
> drivers/fpga/xilinx/Kconfig | 55 +++++++++++++++++++
> drivers/fpga/xilinx/Makefile | 6 ++
> .../fpga/{ => xilinx}/xilinx-pr-decoupler.c | 0
> drivers/fpga/{ => xilinx}/xilinx-spi.c | 0
> drivers/fpga/{ => xilinx}/zynq-fpga.c | 0
> drivers/fpga/{ => xilinx}/zynqmp-fpga.c | 0
> 8 files changed, 63 insertions(+), 43 deletions(-)
> create mode 100644 drivers/fpga/xilinx/Kconfig
> create mode 100644 drivers/fpga/xilinx/Makefile
> rename drivers/fpga/{ => xilinx}/xilinx-pr-decoupler.c (100%)
> rename drivers/fpga/{ => xilinx}/xilinx-spi.c (100%)
> rename drivers/fpga/{ => xilinx}/zynq-fpga.c (100%)
> rename drivers/fpga/{ => xilinx}/zynqmp-fpga.c (100%)
>
> diff --git a/drivers/fpga/Kconfig b/drivers/fpga/Kconfig
> index 7a290b2234576..28c261807b428 100644
> --- a/drivers/fpga/Kconfig
> +++ b/drivers/fpga/Kconfig
> @@ -52,25 +52,12 @@ config FPGA_MGR_ALTERA_CVP
> FPGA manager driver support for Arria-V, Cyclone-V, Stratix-V,
> Arria 10 and Stratix10 Altera FPGAs using the CvP interface over PCIe.
>
> -config FPGA_MGR_ZYNQ_FPGA
> - tristate "Xilinx Zynq FPGA"
> - depends on ARCH_ZYNQ || COMPILE_TEST
> - help
> - FPGA manager driver support for Xilinx Zynq FPGAs.
> -
> config FPGA_MGR_STRATIX10_SOC
> tristate "Intel Stratix10 SoC FPGA Manager"
> depends on (ARCH_INTEL_SOCFPGA && INTEL_STRATIX10_SERVICE)
> help
> FPGA manager driver support for the Intel Stratix10 SoC.
>
> -config FPGA_MGR_XILINX_SPI
> - tristate "Xilinx Configuration over Slave Serial (SPI)"
> - depends on SPI
> - help
> - FPGA manager driver support for Xilinx FPGA configuration
> - over slave serial interface.
> -
> config FPGA_MGR_ICE40_SPI
> tristate "Lattice iCE40 SPI"
> depends on OF && SPI
> @@ -113,23 +100,6 @@ config ALTERA_FREEZE_BRIDGE
> isolate one region of the FPGA from the busses while that
> region is being reprogrammed.
>
> -config XILINX_PR_DECOUPLER
> - tristate "Xilinx LogiCORE PR Decoupler"
> - depends on FPGA_BRIDGE
> - depends on HAS_IOMEM
> - help
> - Say Y to enable drivers for Xilinx LogiCORE PR Decoupler
> - or Xilinx Dynamic Function eXchnage AIX Shutdown Manager.
> - The PR Decoupler exists in the FPGA fabric to isolate one
> - region of the FPGA from the busses while that region is
> - being reprogrammed during partial reconfig.
> - The Dynamic Function eXchange AXI shutdown manager prevents
> - AXI traffic from passing through the bridge. The controller
> - safely handles AXI4MM and AXI4-Lite interfaces on a
> - Reconfigurable Partition when it is undergoing dynamic
> - reconfiguration, preventing the system deadlock that can
> - occur if AXI transactions are interrupted by DFX.
> -
> config FPGA_REGION
> tristate "FPGA Region"
> depends on FPGA_BRIDGE
> @@ -146,14 +116,6 @@ config OF_FPGA_REGION
> overlay.
>
> source "drivers/fpga/dfl/Kconfig"
> -
> -config FPGA_MGR_ZYNQMP_FPGA
> - tristate "Xilinx ZynqMP FPGA"
> - depends on ZYNQMP_FIRMWARE || (!ZYNQMP_FIRMWARE && COMPILE_TEST)
> - help
> - FPGA manager driver support for Xilinx ZynqMP FPGAs.
> - This driver uses the processor configuration port(PCAP)
> - to configure the programmable logic(PL) through PS
> - on ZynqMP SoC.
> +source "drivers/fpga/xilinx/Kconfig"
>
> endif # FPGA
> diff --git a/drivers/fpga/Makefile b/drivers/fpga/Makefile
> index bda74e54ce390..0868c7c4264d8 100644
> --- a/drivers/fpga/Makefile
> +++ b/drivers/fpga/Makefile
> @@ -15,9 +15,6 @@ obj-$(CONFIG_FPGA_MGR_SOCFPGA) += socfpga.o
> obj-$(CONFIG_FPGA_MGR_SOCFPGA_A10) += socfpga-a10.o
> obj-$(CONFIG_FPGA_MGR_STRATIX10_SOC) += stratix10-soc.o
> obj-$(CONFIG_FPGA_MGR_TS73XX) += ts73xx-fpga.o
> -obj-$(CONFIG_FPGA_MGR_XILINX_SPI) += xilinx-spi.o
> -obj-$(CONFIG_FPGA_MGR_ZYNQ_FPGA) += zynq-fpga.o
> -obj-$(CONFIG_FPGA_MGR_ZYNQMP_FPGA) += zynqmp-fpga.o
> obj-$(CONFIG_ALTERA_PR_IP_CORE) += altera-pr-ip-core.o
> obj-$(CONFIG_ALTERA_PR_IP_CORE_PLAT) += altera-pr-ip-core-plat.o
>
> @@ -25,10 +22,10 @@ obj-$(CONFIG_ALTERA_PR_IP_CORE_PLAT) += altera-pr-ip-core-plat.o
> obj-$(CONFIG_FPGA_BRIDGE) += fpga-bridge.o
> obj-$(CONFIG_SOCFPGA_FPGA_BRIDGE) += altera-hps2fpga.o altera-fpga2sdram.o
> obj-$(CONFIG_ALTERA_FREEZE_BRIDGE) += altera-freeze-bridge.o
> -obj-$(CONFIG_XILINX_PR_DECOUPLER) += xilinx-pr-decoupler.o
>
> # High Level Interfaces
> obj-$(CONFIG_FPGA_REGION) += fpga-region.o
> obj-$(CONFIG_OF_FPGA_REGION) += of-fpga-region.o
>
> obj-$(CONFIG_FPGA_DFL) += dfl/
> +obj-$(CONFIG_FPGA_XILINX) += xilinx/
> diff --git a/drivers/fpga/xilinx/Kconfig b/drivers/fpga/xilinx/Kconfig
> new file mode 100644
> index 0000000000000..e016d450539a0
> --- /dev/null
> +++ b/drivers/fpga/xilinx/Kconfig
> @@ -0,0 +1,55 @@
> +# SPDX-License-Identifier: GPL-2.0-only
> +
> +config FPGA_XILINX
> + bool "Xilinx FPGAs"

"Xilinx FPGA drivers"

> + default y
> + help
> + If you have a xilinx fpga, say Y.

"Xilix FPGA"

But how about being a bit more descriptive here:

"Select this option if you want to enable support for Xilinx FPGA
drivers"

> + 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 xilinx fpgas. If you say Y, you will be asked
> + for your specific device in the following questions.

Why this "note"? Do networking drivers have this type of description?

Same for the other patches in this series.

thanks,

greg k-h