[PATCH 1/2] cxl: Deprecate driver

Andrew Donnellan posted 2 patches 2 weeks, 3 days ago
[PATCH 1/2] cxl: Deprecate driver
Posted by Andrew Donnellan 2 weeks, 3 days ago
The cxl driver is no longer actively maintained and we intend to remove it
in a future kernel release.

cxl has received minimal maintenance for several years, and is not
supported on the Power10 processor. We aren't aware of any users who are
likely to be using recent kernels.

Change its MAINTAINERS status to obsolete, update the sysfs ABI
documentation accordingly, add a warning message on device probe, change
the Kconfig options to label it as deprecated, and don't build it by
default.

Signed-off-by: Andrew Donnellan <ajd@linux.ibm.com>
---
 Documentation/ABI/{testing => obsolete}/sysfs-class-cxl | 3 +++
 MAINTAINERS                                             | 4 ++--
 drivers/misc/cxl/Kconfig                                | 6 ++++--
 drivers/misc/cxl/of.c                                   | 2 ++
 drivers/misc/cxl/pci.c                                  | 2 ++
 5 files changed, 13 insertions(+), 4 deletions(-)
 rename Documentation/ABI/{testing => obsolete}/sysfs-class-cxl (99%)

diff --git a/Documentation/ABI/testing/sysfs-class-cxl b/Documentation/ABI/obsolete/sysfs-class-cxl
similarity index 99%
rename from Documentation/ABI/testing/sysfs-class-cxl
rename to Documentation/ABI/obsolete/sysfs-class-cxl
index cfc48a87706b..8cba1b626985 100644
--- a/Documentation/ABI/testing/sysfs-class-cxl
+++ b/Documentation/ABI/obsolete/sysfs-class-cxl
@@ -1,3 +1,6 @@
+The cxl driver is no longer maintained, and will be removed from the kernel in
+the near future.
+
 Please note that attributes that are shared between devices are stored in
 the directory pointed to by the symlink device/.
 For example, the real path of the attribute /sys/class/cxl/afu0.0s/irqs_max is
diff --git a/MAINTAINERS b/MAINTAINERS
index 17daa9ee9384..1737a8ff4f2b 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -6228,8 +6228,8 @@ CXL (IBM Coherent Accelerator Processor Interface CAPI) DRIVER
 M:	Frederic Barrat <fbarrat@linux.ibm.com>
 M:	Andrew Donnellan <ajd@linux.ibm.com>
 L:	linuxppc-dev@lists.ozlabs.org
-S:	Supported
-F:	Documentation/ABI/testing/sysfs-class-cxl
+S:	Obsolete
+F:	Documentation/ABI/obsolete/sysfs-class-cxl
 F:	Documentation/arch/powerpc/cxl.rst
 F:	arch/powerpc/platforms/powernv/pci-cxl.c
 F:	drivers/misc/cxl/
diff --git a/drivers/misc/cxl/Kconfig b/drivers/misc/cxl/Kconfig
index 5efc4151bf58..15307f5e4307 100644
--- a/drivers/misc/cxl/Kconfig
+++ b/drivers/misc/cxl/Kconfig
@@ -9,11 +9,13 @@ config CXL_BASE
 	select PPC_64S_HASH_MMU
 
 config CXL
-	tristate "Support for IBM Coherent Accelerators (CXL)"
+	tristate "Support for IBM Coherent Accelerators (CXL) (DEPRECATED)"
 	depends on PPC_POWERNV && PCI_MSI && EEH
 	select CXL_BASE
-	default m
 	help
+	  The cxl driver is deprecated and will be removed in a future
+	  kernel release.
+
 	  Select this option to enable driver support for IBM Coherent
 	  Accelerators (CXL).  CXL is otherwise known as Coherent Accelerator
 	  Processor Interface (CAPI).  CAPI allows accelerators in FPGAs to be
diff --git a/drivers/misc/cxl/of.c b/drivers/misc/cxl/of.c
index cf6bd8a43056..e26ee85279fa 100644
--- a/drivers/misc/cxl/of.c
+++ b/drivers/misc/cxl/of.c
@@ -295,6 +295,8 @@ int cxl_of_probe(struct platform_device *pdev)
 	int ret;
 	int slice = 0, slice_ok = 0;
 
+	dev_err_once(&pdev->dev, "DEPRECATION: cxl is deprecated and will be removed in a future kernel release\n");
+
 	pr_devel("in %s\n", __func__);
 
 	np = pdev->dev.of_node;
diff --git a/drivers/misc/cxl/pci.c b/drivers/misc/cxl/pci.c
index 3d52f9b92d0d..92bf7c5c7b35 100644
--- a/drivers/misc/cxl/pci.c
+++ b/drivers/misc/cxl/pci.c
@@ -1726,6 +1726,8 @@ static int cxl_probe(struct pci_dev *dev, const struct pci_device_id *id)
 	int slice;
 	int rc;
 
+	dev_err_once(&dev->dev, "DEPRECATED: cxl is deprecated and will be removed in a future kernel release\n");
+
 	if (cxl_pci_is_vphb_device(dev)) {
 		dev_dbg(&dev->dev, "cxl_init_adapter: Ignoring cxl vphb device\n");
 		return -ENODEV;
-- 
2.47.1
Re: [PATCH 1/2] cxl: Deprecate driver
Posted by kernel test robot 2 weeks, 1 day ago
Hi Andrew,

kernel test robot noticed the following build warnings:

[auto build test WARNING on char-misc/char-misc-testing]
[also build test WARNING on char-misc/char-misc-next char-misc/char-misc-linus jejb-scsi/for-next mkp-scsi/for-next linus/master v6.13-rc2 next-20241211]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Andrew-Donnellan/cxl-Deprecate-driver/20241210-134451
base:   char-misc/char-misc-testing
patch link:    https://lore.kernel.org/r/20241210054055.144813-2-ajd%40linux.ibm.com
patch subject: [PATCH 1/2] cxl: Deprecate driver
reproduce: (https://download.01.org/0day-ci/archive/20241212/202412120701.08jViR9I-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202412120701.08jViR9I-lkp@intel.com/

All warnings (new ones prefixed by >>):

>> Warning: Documentation/arch/powerpc/cxl.rst references a file that doesn't exist: Documentation/ABI/testing/sysfs-class-cxl
   Warning: Documentation/devicetree/bindings/regulator/siliconmitus,sm5703-regulator.yaml references a file that doesn't exist: Documentation/devicetree/bindings/mfd/siliconmitus,sm5703.yaml
   Warning: Documentation/hwmon/g762.rst references a file that doesn't exist: Documentation/devicetree/bindings/hwmon/g762.txt
   Warning: Documentation/hwmon/isl28022.rst references a file that doesn't exist: Documentation/devicetree/bindings/hwmon/isl,isl28022.yaml
   Warning: Documentation/translations/ja_JP/SubmittingPatches references a file that doesn't exist: linux-2.6.12-vanilla/Documentation/dontdiff
   Warning: MAINTAINERS references a file that doesn't exist: Documentation/devicetree/bindings/misc/fsl,qoriq-mc.txt

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Re: [PATCH 1/2] cxl: Deprecate driver
Posted by Frederic Barrat 2 weeks, 2 days ago

On 10/12/2024 06:40, Andrew Donnellan wrote:
> The cxl driver is no longer actively maintained and we intend to remove it
> in a future kernel release.
> 
> cxl has received minimal maintenance for several years, and is not
> supported on the Power10 processor. We aren't aware of any users who are
> likely to be using recent kernels.
> 
> Change its MAINTAINERS status to obsolete, update the sysfs ABI
> documentation accordingly, add a warning message on device probe, change
> the Kconfig options to label it as deprecated, and don't build it by
> default.
> 
> Signed-off-by: Andrew Donnellan <ajd@linux.ibm.com>


Acked-by: Frederic Barrat <fbarrat@linux.ibm.com>

   Fred


> ---
>   Documentation/ABI/{testing => obsolete}/sysfs-class-cxl | 3 +++
>   MAINTAINERS                                             | 4 ++--
>   drivers/misc/cxl/Kconfig                                | 6 ++++--
>   drivers/misc/cxl/of.c                                   | 2 ++
>   drivers/misc/cxl/pci.c                                  | 2 ++
>   5 files changed, 13 insertions(+), 4 deletions(-)
>   rename Documentation/ABI/{testing => obsolete}/sysfs-class-cxl (99%)
> 
> diff --git a/Documentation/ABI/testing/sysfs-class-cxl b/Documentation/ABI/obsolete/sysfs-class-cxl
> similarity index 99%
> rename from Documentation/ABI/testing/sysfs-class-cxl
> rename to Documentation/ABI/obsolete/sysfs-class-cxl
> index cfc48a87706b..8cba1b626985 100644
> --- a/Documentation/ABI/testing/sysfs-class-cxl
> +++ b/Documentation/ABI/obsolete/sysfs-class-cxl
> @@ -1,3 +1,6 @@
> +The cxl driver is no longer maintained, and will be removed from the kernel in
> +the near future.
> +
>   Please note that attributes that are shared between devices are stored in
>   the directory pointed to by the symlink device/.
>   For example, the real path of the attribute /sys/class/cxl/afu0.0s/irqs_max is
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 17daa9ee9384..1737a8ff4f2b 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -6228,8 +6228,8 @@ CXL (IBM Coherent Accelerator Processor Interface CAPI) DRIVER
>   M:	Frederic Barrat <fbarrat@linux.ibm.com>
>   M:	Andrew Donnellan <ajd@linux.ibm.com>
>   L:	linuxppc-dev@lists.ozlabs.org
> -S:	Supported
> -F:	Documentation/ABI/testing/sysfs-class-cxl
> +S:	Obsolete
> +F:	Documentation/ABI/obsolete/sysfs-class-cxl
>   F:	Documentation/arch/powerpc/cxl.rst
>   F:	arch/powerpc/platforms/powernv/pci-cxl.c
>   F:	drivers/misc/cxl/
> diff --git a/drivers/misc/cxl/Kconfig b/drivers/misc/cxl/Kconfig
> index 5efc4151bf58..15307f5e4307 100644
> --- a/drivers/misc/cxl/Kconfig
> +++ b/drivers/misc/cxl/Kconfig
> @@ -9,11 +9,13 @@ config CXL_BASE
>   	select PPC_64S_HASH_MMU
>   
>   config CXL
> -	tristate "Support for IBM Coherent Accelerators (CXL)"
> +	tristate "Support for IBM Coherent Accelerators (CXL) (DEPRECATED)"
>   	depends on PPC_POWERNV && PCI_MSI && EEH
>   	select CXL_BASE
> -	default m
>   	help
> +	  The cxl driver is deprecated and will be removed in a future
> +	  kernel release.
> +
>   	  Select this option to enable driver support for IBM Coherent
>   	  Accelerators (CXL).  CXL is otherwise known as Coherent Accelerator
>   	  Processor Interface (CAPI).  CAPI allows accelerators in FPGAs to be
> diff --git a/drivers/misc/cxl/of.c b/drivers/misc/cxl/of.c
> index cf6bd8a43056..e26ee85279fa 100644
> --- a/drivers/misc/cxl/of.c
> +++ b/drivers/misc/cxl/of.c
> @@ -295,6 +295,8 @@ int cxl_of_probe(struct platform_device *pdev)
>   	int ret;
>   	int slice = 0, slice_ok = 0;
>   
> +	dev_err_once(&pdev->dev, "DEPRECATION: cxl is deprecated and will be removed in a future kernel release\n");
> +
>   	pr_devel("in %s\n", __func__);
>   
>   	np = pdev->dev.of_node;
> diff --git a/drivers/misc/cxl/pci.c b/drivers/misc/cxl/pci.c
> index 3d52f9b92d0d..92bf7c5c7b35 100644
> --- a/drivers/misc/cxl/pci.c
> +++ b/drivers/misc/cxl/pci.c
> @@ -1726,6 +1726,8 @@ static int cxl_probe(struct pci_dev *dev, const struct pci_device_id *id)
>   	int slice;
>   	int rc;
>   
> +	dev_err_once(&dev->dev, "DEPRECATED: cxl is deprecated and will be removed in a future kernel release\n");
> +
>   	if (cxl_pci_is_vphb_device(dev)) {
>   		dev_dbg(&dev->dev, "cxl_init_adapter: Ignoring cxl vphb device\n");
>   		return -ENODEV;