On Thu, Nov 03, 2022 at 10:39:36PM +0200, Oded Gabbay wrote: > On Thu, Nov 3, 2022 at 3:31 PM Oded Gabbay <ogabbay@xxxxxxxxxx> wrote: > > > > On Thu, Nov 3, 2022 at 2:31 AM Greg Kroah-Hartman > > <gregkh@xxxxxxxxxxxxxxxxxxx> wrote: > > > > > > On Wed, Nov 02, 2022 at 10:34:03PM +0200, Oded Gabbay wrote: > > > > --- /dev/null > > > > +++ b/drivers/accel/Kconfig > > > > @@ -0,0 +1,24 @@ > > > > +# SPDX-License-Identifier: GPL-2.0-only > > > > +# > > > > +# Compute Acceleration device configuration > > > > +# > > > > +# This framework provides support for compute acceleration devices, such > > > > +# as, but not limited to, Machine-Learning and Deep-Learning acceleration > > > > +# devices > > > > +# > > > > +menuconfig ACCEL > > > > + tristate "Compute Acceleration Framework" > > > > + depends on DRM > > > > + help > > > > + Framework for device drivers of compute acceleration devices, such > > > > + as, but not limited to, Machine-Learning and Deep-Learning > > > > + acceleration devices. > > > > + If you say Y here, you need to select the module that's right for > > > > + your acceleration device from the list below. > > > > + This framework is integrated with the DRM subsystem as compute > > > > + accelerators and GPUs share a lot in common and can use almost the > > > > + same infrastructure code. > > > > + Having said that, acceleration devices will have a different > > > > + major number than GPUs, and will be exposed to user-space using > > > > + different device files, called accel/accel* (in /dev, sysfs > > > > + and debugfs) > > > > > > Module name if "M" is chosen? > > Will add > So, unfortunately, the path of doing accel as a kernel module won't > work cleanly (Thanks stanislaw for pointing this out to me). > The reason is the circular dependency between drm and accel. drm calls > accel exported symbols during init and when devices are registering > (all the minor handling), and accel calls drm exported symbols because > I don't want to duplicate the entire drm core code. I really don't think this is the right way to integrate with DRM. Accel should be a layer over top of DRM, not have these wakky co-dependencies. The fact you are running into stuff like this already smells really bad. Jason