Skip to contentSkip to conversation

staging: vme: Cleanup driver tree old structures

PATCH New Bruno Moreira-Guedes 1 participant 4 messages Apr 21, 2022

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

v4 cover staging: vme: Cleanup driver tree old structures

This patch series modify the vme_user driver's place in menuconfig (1/3), fixes a missing depends on line in a Kconfig file (2/3), and rearrages the directory tree for the driver allowing a more straightforward comprehension of its contents (3/3).

The 'vme_user/' driver is the only remaining vme-family driver in the 'staging/' tree, but its structure, entry in menuconfig and building routines are still attached to the 'vme/' subtree now outside 'staging/'. The present patchset fixes it.

---
CHANGE SUMMARY

  Version:  v1  v2  v3  v4
[PATCH 1/3] *   -   *   -
[PATCH 2/3] -   *   *   -
[PATCH 3/3] -   *   *   *

CHANGELOG
v4:
* Remove extraneous patch from set (Greg)
* Improve changelog format (Alison)
* Update commit message in PATCH 3/3

v3:
* Update Changelog to cover letter (Alison)
* Update commit messages and logs (Alison, Greg)
* Rename patches 2/3 and 3/3

v2:
* Add new patch to set: 2/3
* Add new patch to set: 3/3

OBSERVATIONS
As Martyn confirmed the devices are still being manufactured I'll keep going on with this patch meanwhile.

PATCHES
[PATCH 1/3] staging: vme: Move vme_user to staging KConfig [PATCH 2/3] staging: vme: Add VME_BUS dependency to Kconfig [PATCH 3/3] staging: vme: Move 'vme/devices/' to 'vme_user/'
---
Bruno Moreira-Guedes (3):
staging: vme: Move vme_user to staging KConfig
staging: vme: Add VME_BUS dependency to Kconfig
staging: vme: Move 'vme/devices/' to 'vme_user/'

 MAINTAINERS                                          | 2 +-
 drivers/staging/Kconfig                              | 1 +
 drivers/staging/Makefile                             | 2 +-
 drivers/staging/vme/Makefile                         | 2 --
 drivers/staging/{vme/devices => vme_user}/Kconfig    | 2 +-
 drivers/staging/{vme/devices => vme_user}/Makefile   | 0
 drivers/staging/{vme/devices => vme_user}/vme_user.c | 0
 drivers/staging/{vme/devices => vme_user}/vme_user.h | 0
 drivers/vme/Kconfig                                  | 2 --
 9 files changed, 4 insertions(+), 7 deletions(-)
 delete mode 100644 drivers/staging/vme/Makefile
 rename drivers/staging/{vme/devices => vme_user}/Kconfig (93%)
 rename drivers/staging/{vme/devices => vme_user}/Makefile (100%)
 rename drivers/staging/{vme/devices => vme_user}/vme_user.c (100%)
 rename drivers/staging/{vme/devices => vme_user}/vme_user.h (100%)
Signature · 1 line
2.35.3
#1 lore raw

PATCH v4 1/3 staging: vme: Move vme_user to staging KConfig

Currently, the VME_USER driver is in the staging tree Kconfig, unlike other VME drivers already moved to the main portions of the kernel tree. Its configuration is, however, nested into the VME_BUS config option, which might be misleading.

Since the staging tree "[...] is used to hold stand-alone drivers and filesystem that are not ready to be merged into the main portion of the Linux kernel tree [...]"(from
https://lore.kernel.org/all/[email protected]/T/),
staging drivers should appear nested into the Main Menu -> Device Drivers -> Staging Drivers to make sure the user don't pick it without being fully aware of its staging status as it could be the case in Menu -> Device Drivers -> VME bridge support (the current location).

With this change menuconfig users will clearly know this is not a driver in the main portion of the kernel tree and decide whether to build it or not with that clearly in mind.

This change goes into the same direction of commit <4b4cdf3979c32fa3d042d150f49449c74d048553> ("STAGING: Move staging drivers back to staging-specific menu")

---
 drivers/staging/Kconfig | 2 ++
 drivers/vme/Kconfig     | 2 --
 2 files changed, 2 insertions(+), 2 deletions(-)
drivers/staging/Kconfig +2 -0
index fc274737053d..e4dcf411030d 100644
@@ -87,4 +87,6 @@ source "drivers/staging/fieldbus/Kconfig"
 source "drivers/staging/qlge/Kconfig"
 
 
+source "drivers/staging/vme/devices/Kconfig"
+
 endif # STAGING
drivers/vme/Kconfig +0 -2
index 936392ca3c8c..c13dd9d2a604 100644
@@ -15,6 +15,4 @@ source "drivers/vme/bridges/Kconfig"
 
 source "drivers/vme/boards/Kconfig"
 
-source "drivers/staging/vme/devices/Kconfig"
-
 endif # VME
Signature · 1 line
2.35.3
#2 lore raw

PATCH v4 2/3 staging: vme: Add VME_BUS dependency to Kconfig

In reply to Bruno Moreira-Guedes

The KConfig file for VME_USER ('drivers/staging/vme/devices/Kconfig') sourced at "drivers/vme/boards/KConfig" misses a depends on line for VME_BUS, which is unnoticeable for menuconfig users who aren't be able to select it through this interface without setting the CONFIG_VME_BUS option because it's nested on VME_BUS menu entry.

A patch to move appropriately this driver to the "Staging" submenu ([PATCH 1/3], originally sent as a single patch submitted at
https://lore.kernel.org/linux-staging/[email protected]/T/#t),
however, unveiled this missing depends on line, since it moved the source line for VME_USER's KConfig to somewhere else, allowing it to be compiled without the support for VME_BUS. While it compiles fine and seems to initialize the driver fine (tested both as module and as built- in), it seems to make no sense having VME_USER without VME_BUS.

This patches addresses it by adding the VME_BUS to the depends on line at "drivers/staging/vme/devices/Kconfig".

---
 drivers/staging/vme/devices/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/staging/vme/devices/Kconfig +1 -1
index 5651bb16b28b..e8b4461bf27f 100644
@@ -3,7 +3,7 @@ comment "VME Device Drivers"
 
 config VME_USER
 	tristate "VME user space access driver"
-	depends on STAGING
+	depends on STAGING && VME_BUS
 	help
 	  If you say Y here you want to be able to access a limited number of
 	  VME windows in a manner at least semi-compatible with the interface
Signature · 1 line
2.35.3
#3 lore raw

PATCH v4 3/3 staging: vme: Move 'vme/devices/' to 'vme_user/'

In reply to Bruno Moreira-Guedes

In <db3b9e990e75573402cda22faf933760f076c033> ("Staging: VME: move VME drivers out of staging") the vme code, board and bridge drivers were moved out of the staging tree, remaining only the VME user device driver.

Since this driver is the only one remaining in staging, such multi-level structure confuses more than helps. The current structure is as follows:

- drivers/staging/vme/
Makefile
devices/
Kconfig
Makefile
vme_user.c
vme_user.h

The top-level Makefile has the only function of calling another Makefile into the devices/ subdirectory. This latter only compiles the vme_user driver, since there is no other in the staging tree.

This patch removes the unnecessary Makefile from the 'vme/' dir, move the contents of 'vme/devices' into the 'vme/' dir, and renames it to 'vme_user/' (the driver name), allowing a straightforward understanding of this driver's contents. Furthermore, it updates the MAINTAINERS file to properly reflect the new paths.

---
 MAINTAINERS                                          | 2 +-
 drivers/staging/Kconfig                              | 3 +--
 drivers/staging/Makefile                             | 2 +-
 drivers/staging/vme/Makefile                         | 2 --
 drivers/staging/{vme/devices => vme_user}/Kconfig    | 0
 drivers/staging/{vme/devices => vme_user}/Makefile   | 0
 drivers/staging/{vme/devices => vme_user}/vme_user.c | 0
 drivers/staging/{vme/devices => vme_user}/vme_user.h | 0
 8 files changed, 3 insertions(+), 6 deletions(-)
 delete mode 100644 drivers/staging/vme/Makefile
 rename drivers/staging/{vme/devices => vme_user}/Kconfig (100%)
 rename drivers/staging/{vme/devices => vme_user}/Makefile (100%)
 rename drivers/staging/{vme/devices => vme_user}/vme_user.c (100%)
 rename drivers/staging/{vme/devices => vme_user}/vme_user.h (100%)
MAINTAINERS +1 -1
index 3ed62dcd144e..efc38961f792 100644
@@ -21010,7 +21010,7 @@ L:	[email protected]
 S:	Maintained
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git
 F:	Documentation/driver-api/vme.rst
-F:	drivers/staging/vme/
+F:	drivers/staging/vme_user/
 F:	drivers/vme/
 F:	include/linux/vme*
 
drivers/staging/Kconfig +1 -2
index e4dcf411030d..e117811ec832 100644
@@ -86,7 +86,6 @@ source "drivers/staging/fieldbus/Kconfig"
 
 source "drivers/staging/qlge/Kconfig"
 
-
-source "drivers/staging/vme/devices/Kconfig"
+source "drivers/staging/vme_user/Kconfig"
 
 endif # STAGING
drivers/staging/Makefile +1 -1
index 65e317922e3f..db7287de0faf 100644
@@ -14,7 +14,7 @@ obj-$(CONFIG_OCTEON_ETHERNET)	+= octeon/
 obj-$(CONFIG_OCTEON_USB)	+= octeon-usb/
 obj-$(CONFIG_VT6655)		+= vt6655/
 obj-$(CONFIG_VT6656)		+= vt6656/
-obj-$(CONFIG_VME_BUS)		+= vme/
+obj-$(CONFIG_VME_BUS)		+= vme_user/
 obj-$(CONFIG_IIO)		+= iio/
 obj-$(CONFIG_FB_SM750)		+= sm750fb/
 obj-$(CONFIG_USB_EMXX)		+= emxx_udc/
drivers/staging/vme/Makefile deleted +0 -2
deleted file mode 100644
index cf2f686ccffe..000000000000
@@ -1,2 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-obj-y				+= devices/
drivers/staging/vme_user/Kconfig renamed from drivers/staging/vme/devices/Kconfig +0 -0
similarity index 100%
rename from drivers/staging/vme/devices/Kconfig
rename to drivers/staging/vme_user/Kconfig
drivers/staging/vme_user/Makefile renamed from drivers/staging/vme/devices/Makefile +0 -0
similarity index 100%
rename from drivers/staging/vme/devices/Makefile
rename to drivers/staging/vme_user/Makefile
drivers/staging/vme_user/vme_user.c renamed from drivers/staging/vme/devices/vme_user.c +0 -0
similarity index 100%
rename from drivers/staging/vme/devices/vme_user.c
rename to drivers/staging/vme_user/vme_user.c
drivers/staging/vme_user/vme_user.h renamed from drivers/staging/vme/devices/vme_user.h +0 -0
similarity index 100%
rename from drivers/staging/vme/devices/vme_user.h
rename to drivers/staging/vme_user/vme_user.h
Signature · 1 line
2.35.3