Message ID | 20240409031027.41587-2-ajd@linux.ibm.com |
---|---|
State | New |
Headers | show |
Series | [1/2] MAINTAINERS: Make cxlflash obsolete | expand |
Andrew Donnellan <ajd@linux.ibm.com> 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 <ajd@linux.ibm.com> > --- > 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
Christophe Leroy <christophe.leroy@csgroup.eu> writes: > Le 09/04/2024 à 06:37, Michael Ellerman a écrit : >> Andrew Donnellan <ajd@linux.ibm.com> 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 <ajd@linux.ibm.com> >>> --- >>> 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
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.
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
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 <ajd@linux.ibm.com> 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
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 <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/
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 <ajd@linux.ibm.com> --- 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%)