2024-04-09 03:16:03

by Andrew Donnellan

[permalink] [raw]
Subject: [PATCH 1/2] MAINTAINERS: Make cxlflash obsolete

The cxlflash driver is no longer actively maintained and we intend to
remove it in a future kernel release. Change its status to obsolete.

While we're here, Matthew Ochs no longer works at IBM and is no longer in
a position to access cxlflash hardware, so remove him from the maintainers
list.

Signed-off-by: Andrew Donnellan <[email protected]>
---
MAINTAINERS | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index aea47e04c3a5..34f605498873 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -5780,10 +5780,9 @@ F: include/uapi/misc/cxl.h

CXLFLASH (IBM Coherent Accelerator Processor Interface CAPI Flash) SCSI DRIVER
M: Manoj N. Kumar <[email protected]>
-M: Matthew R. Ochs <[email protected]>
M: Uma Krishnan <[email protected]>
L: [email protected]
-S: Supported
+S: Obsolete
F: Documentation/arch/powerpc/cxlflash.rst
F: drivers/scsi/cxlflash/
F: include/uapi/scsi/cxlflash_ioctl.h
--
2.44.0



2024-04-09 03:16:16

by Andrew Donnellan

[permalink] [raw]
Subject: [PATCH 2/2] MAINTAINERS: Make cxl obsolete

The cxl driver is no longer actively maintained and we intend to remove it
in a future kernel release. Change its status to obsolete, and update the
sysfs ABI documentation accordingly.

Signed-off-by: Andrew Donnellan <[email protected]>
---
Documentation/ABI/{testing => obsolete}/sysfs-class-cxl | 3 +++
MAINTAINERS | 4 ++--
2 files changed, 5 insertions(+), 2 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 34f605498873..5eca2c23fb49 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -5770,8 +5770,8 @@ CXL (IBM Coherent Accelerator Processor Interface CAPI) DRIVER
M: Frederic Barrat <[email protected]>
M: Andrew Donnellan <[email protected]>
L: [email protected]
-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/
--
2.44.0


2024-04-09 04:38:08

by Michael Ellerman

[permalink] [raw]
Subject: Re: [PATCH 2/2] MAINTAINERS: Make cxl obsolete

Andrew Donnellan <[email protected]> writes:
> The cxl driver is no longer actively maintained and we intend to remove it
> in a future kernel release. Change its status to obsolete, and update the
> sysfs ABI documentation accordingly.
>
> Signed-off-by: Andrew Donnellan <[email protected]>
> ---
> Documentation/ABI/{testing => obsolete}/sysfs-class-cxl | 3 +++
> MAINTAINERS | 4 ++--
> 2 files changed, 5 insertions(+), 2 deletions(-)
> rename Documentation/ABI/{testing => obsolete}/sysfs-class-cxl (99%)

This is a good start, but I suspect if there are any actual users they
are not going to be monitoring the status of cxl in the MAINTAINERS file :)

I think we should probably modify Kconfig so that anyone who's using cxl
on purpose has some chance to notice before we remove it.

Something like the patch below. Anyone who has an existing config and
runs oldconfig will get a prompt, eg:

Deprecated support for IBM Coherent Accelerators (CXL) (DEPRECATED_CXL) [N/m/y/?] (NEW)

Folks who just use defconfig etc. won't notice any change which is a
pity. We could also change the default to n, but that risks breaking
someone's machine. Maybe we do that in a another releases time.

cheers

diff --git a/drivers/misc/cxl/Kconfig b/drivers/misc/cxl/Kconfig
index 5efc4151bf58..e3fd3fcaf62a 100644
--- a/drivers/misc/cxl/Kconfig
+++ b/drivers/misc/cxl/Kconfig
@@ -9,11 +9,18 @@ config CXL_BASE
select PPC_64S_HASH_MMU

config CXL
- tristate "Support for IBM Coherent Accelerators (CXL)"
+ def_bool y
+ depends on DEPRECATED_CXL
+
+config DEPRECATED_CXL
+ tristate "Deprecated support for IBM Coherent Accelerators (CXL)"
depends on PPC_POWERNV && PCI_MSI && EEH
select CXL_BASE
default m
help
+ The cxl driver is no longer actively maintained and we intend to
+ remove it 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

2024-04-09 05:53:34

by Christophe Leroy

[permalink] [raw]
Subject: Re: [PATCH 2/2] MAINTAINERS: Make cxl obsolete



Le 09/04/2024 à 06:37, Michael Ellerman a écrit :
> Andrew Donnellan <[email protected]> writes:
>> The cxl driver is no longer actively maintained and we intend to remove it
>> in a future kernel release. Change its status to obsolete, and update the
>> sysfs ABI documentation accordingly.
>>
>> Signed-off-by: Andrew Donnellan <[email protected]>
>> ---
>> Documentation/ABI/{testing => obsolete}/sysfs-class-cxl | 3 +++
>> MAINTAINERS | 4 ++--
>> 2 files changed, 5 insertions(+), 2 deletions(-)
>> rename Documentation/ABI/{testing => obsolete}/sysfs-class-cxl (99%)
>
> This is a good start, but I suspect if there are any actual users they
> are not going to be monitoring the status of cxl in the MAINTAINERS file :)
>
> I think we should probably modify Kconfig so that anyone who's using cxl
> on purpose has some chance to notice before we remove it.
>
> Something like the patch below. Anyone who has an existing config and
> runs oldconfig will get a prompt, eg:
>
> Deprecated support for IBM Coherent Accelerators (CXL) (DEPRECATED_CXL) [N/m/y/?] (NEW)
>
> Folks who just use defconfig etc. won't notice any change which is a
> pity. We could also change the default to n, but that risks breaking
> someone's machine. Maybe we do that in a another releases time.

When I boot one of my boards I see:

[ 0.641090] mcr3000-hwmon 10000800.hwmon: hwmon_device_register() is
deprecated. Please convert the driver to use
hwmon_device_register_with_info().

Could we do something similar, write a message at boottime when the CXL
driver gets probed ?

Christophe

2024-04-10 11:45:08

by Michael Ellerman

[permalink] [raw]
Subject: Re: [PATCH 2/2] MAINTAINERS: Make cxl obsolete

Christophe Leroy <[email protected]> writes:
> Le 09/04/2024 à 06:37, Michael Ellerman a écrit :
>> Andrew Donnellan <[email protected]> writes:
>>> The cxl driver is no longer actively maintained and we intend to remove it
>>> in a future kernel release. Change its status to obsolete, and update the
>>> sysfs ABI documentation accordingly.
>>>
>>> Signed-off-by: Andrew Donnellan <[email protected]>
>>> ---
>>> Documentation/ABI/{testing => obsolete}/sysfs-class-cxl | 3 +++
>>> MAINTAINERS | 4 ++--
>>> 2 files changed, 5 insertions(+), 2 deletions(-)
>>> rename Documentation/ABI/{testing => obsolete}/sysfs-class-cxl (99%)
>>
>> This is a good start, but I suspect if there are any actual users they
>> are not going to be monitoring the status of cxl in the MAINTAINERS file :)
>>
>> I think we should probably modify Kconfig so that anyone who's using cxl
>> on purpose has some chance to notice before we remove it.
>>
>> Something like the patch below. Anyone who has an existing config and
>> runs oldconfig will get a prompt, eg:
>>
>> Deprecated support for IBM Coherent Accelerators (CXL) (DEPRECATED_CXL) [N/m/y/?] (NEW)
>>
>> Folks who just use defconfig etc. won't notice any change which is a
>> pity. We could also change the default to n, but that risks breaking
>> someone's machine. Maybe we do that in a another releases time.
>
> When I boot one of my boards I see:
>
> [ 0.641090] mcr3000-hwmon 10000800.hwmon: hwmon_device_register() is
> deprecated. Please convert the driver to use
> hwmon_device_register_with_info().
>
> Could we do something similar, write a message at boottime when the CXL
> driver gets probed ?

Yeah, I think so.

There's still the problem that people tend not to look at dmesg until
something breaks, but at least we can try and get their attention.

cheers

2024-04-11 03:23:10

by Finn Thain

[permalink] [raw]
Subject: Re: [PATCH 2/2] MAINTAINERS: Make cxl obsolete


On Wed, 10 Apr 2024, Michael Ellerman wrote:

> >
> > Could we do something similar, write a message at boottime when the
> > CXL driver gets probed ?
>
> Yeah, I think so.
>
> There's still the problem that people tend not to look at dmesg until
> something breaks, but at least we can try and get their attention.
>

People would get in the habit to look for that, if all maintainers adopted
a convention such that a boot-time message would list every newly-orphaned
driver in each release. Maybe the maintainer of the MAINTAINERS file could
check that every newly orphaned driver got announced.

2024-04-25 01:57:40

by Martin K. Petersen

[permalink] [raw]
Subject: Re: [PATCH 1/2] MAINTAINERS: Make cxlflash obsolete

On Tue, 09 Apr 2024 13:10:26 +1000, Andrew Donnellan wrote:

> The cxlflash driver is no longer actively maintained and we intend to
> remove it in a future kernel release. Change its status to obsolete.
>
> While we're here, Matthew Ochs no longer works at IBM and is no longer in
> a position to access cxlflash hardware, so remove him from the maintainers
> list.
>
> [...]

Applied to 6.10/scsi-queue, thanks!

[1/2] MAINTAINERS: Make cxlflash obsolete
https://git.kernel.org/mkp/scsi/c/6d97e807c906

--
Martin K. Petersen Oracle Linux Engineering

2024-05-03 03:16:21

by Andrew Donnellan

[permalink] [raw]
Subject: Re: [PATCH 2/2] MAINTAINERS: Make cxl obsolete

On Tue, 2024-04-09 at 14:37 +1000, Michael Ellerman wrote:
>
> Something like the patch below. Anyone who has an existing config and
> runs oldconfig will get a prompt, eg:
>
>   Deprecated support for IBM Coherent Accelerators (CXL)
> (DEPRECATED_CXL) [N/m/y/?] (NEW)
>
> Folks who just use defconfig etc. won't notice any change which is a
> pity. We could also change the default to n, but that risks breaking
> someone's machine. Maybe we do that in a another releases time.
>
> cheers
>
> diff --git a/drivers/misc/cxl/Kconfig b/drivers/misc/cxl/Kconfig
> index 5efc4151bf58..e3fd3fcaf62a 100644
> --- a/drivers/misc/cxl/Kconfig
> +++ b/drivers/misc/cxl/Kconfig
> @@ -9,11 +9,18 @@ config CXL_BASE
>   select PPC_64S_HASH_MMU
>  
>  config CXL
> - tristate "Support for IBM Coherent Accelerators (CXL)"
> + def_bool y
> + depends on DEPRECATED_CXL
> +
> +config DEPRECATED_CXL
> + tristate "Deprecated support for IBM Coherent Accelerators
> (CXL)"

This doesn't seem quite right to me, I don't think we can just redefine
CONFIG_CXL as a bool, but I'll do something like this. Probably won't
bother for CXLFLASH since they'll see it for CXL anyway, but I might
add a warning message on probe to both drivers.

>   depends on PPC_POWERNV && PCI_MSI && EEH
>   select CXL_BASE
>   default m
>   help
> +   The cxl driver is no longer actively maintained and we
> intend to
> +   remove it 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

--
Andrew Donnellan OzLabs, ADL Canberra
[email protected] IBM Australia Limited

2024-05-03 07:55:37

by Andrew Donnellan

[permalink] [raw]
Subject: Re: [PATCH 2/2] MAINTAINERS: Make cxl obsolete

On Fri, 2024-05-03 at 13:15 +1000, Andrew Donnellan wrote:
> This doesn't seem quite right to me, I don't think we can just
> redefine
> CONFIG_CXL as a bool, but I'll do something like this. Probably won't
> bother for CXLFLASH since they'll see it for CXL anyway, but I might
> add a warning message on probe to both drivers.

The more I look at how to do this, the more issues I see, though
perhaps because I personally use olddefconfig more than I use
oldconfig.

Without changing the default to n, running olddefconfig is liable to
switch CXL back on in configs where the user has disabled it.

Conversely, if the user has set CXL=y rather than CXL=m, I'm not sure
if there's any way to make it such that olddefconfig doesn't reset one
symbol or the other to the default m.

Honestly, I'm very tempted to be a little more aggressive and a) not
bother with trying to play games with symbols, b) change the default to
n in this release, c) add a warning printed on probe, and see whether
anyone complains.

We could also print a message during the build itself, though that kind
of noise is liable to break things in other ways?

It would be kind of nice if kbuild had some way to mark a symbol for
deprecation which could print a warning during configuration.

--
Andrew Donnellan OzLabs, ADL Canberra
[email protected] IBM Australia Limited

2024-05-03 10:31:52

by Michael Ellerman

[permalink] [raw]
Subject: Re: [PATCH 2/2] MAINTAINERS: Make cxl obsolete

Andrew Donnellan <[email protected]> writes:
> On Fri, 2024-05-03 at 13:15 +1000, Andrew Donnellan wrote:
>> This doesn't seem quite right to me, I don't think we can just
>> redefine
>> CONFIG_CXL as a bool, but I'll do something like this. Probably won't
>> bother for CXLFLASH since they'll see it for CXL anyway, but I might
>> add a warning message on probe to both drivers.
>
> The more I look at how to do this, the more issues I see, though
> perhaps because I personally use olddefconfig more than I use
> oldconfig.
>
> Without changing the default to n, running olddefconfig is liable to
> switch CXL back on in configs where the user has disabled it.

Yes that's true.

> Conversely, if the user has set CXL=y rather than CXL=m, I'm not sure
> if there's any way to make it such that olddefconfig doesn't reset one
> symbol or the other to the default m.
>
> Honestly, I'm very tempted to be a little more aggressive and a) not
> bother with trying to play games with symbols, b) change the default to
> n in this release, c) add a warning printed on probe, and see whether
> anyone complains.

You mean just changing CXL to default n?

The problem is that has no effect on folks with existing configs. Those
of us who build from defconfigs will have it turned off, but any actual
users with existing configs will just still have it enabled.

I'm not really convinced printing warnings does much. I guess an actual
WARN_ON might work, but only if someone is watching the console.

> We could also print a message during the build itself, though that kind
> of noise is liable to break things in other ways?

More likely to break some CI somewhere, and a good chance it isn't even
seen by a human unless they're paying close attention to the build
output.

> It would be kind of nice if kbuild had some way to mark a symbol for
> deprecation which could print a warning during configuration.

Yeah, though it suffers from the same problem that there's a good chance
no one notices.

The below I think works. It does print a warning about CXL changing from
tristate to bool, but that seems harmless.

In all cases olddefconfig will turn CXL off, whether it was on, off
or =m beforehand. A fresh defconfig has it off. The only way to turn it
on is explicitly.

cheers

diff --git a/drivers/misc/cxl/Kconfig b/drivers/misc/cxl/Kconfig
index 5efc4151bf58..e62c16cc7292 100644
--- a/drivers/misc/cxl/Kconfig
+++ b/drivers/misc/cxl/Kconfig
@@ -9,11 +9,18 @@ config CXL_BASE
select PPC_64S_HASH_MMU

config CXL
- tristate "Support for IBM Coherent Accelerators (CXL)"
+ def_bool y
+ depends on DEPRECATED_CXL
+
+config DEPRECATED_CXL
+ tristate "Deprecated support for IBM Coherent Accelerators (CXL)"
depends on PPC_POWERNV && PCI_MSI && EEH
select CXL_BASE
- default m
+ default n
help
+ The cxl driver is no longer actively maintained and we intend to
+ remove it 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