On Thu, Jan 5, 2023 at 8:42 AM Mark Jonas <toer...@gmail.com> wrote:
>
> Hi Bruce,
>
> On Wed, Jan 4, 2023 at 5:07 PM Bruce Ashfield <bruce.ashfi...@gmail.com> 
> wrote:
> >
> > On Wed, Jan 4, 2023 at 7:18 AM Mark Jonas <toer...@gmail.com> wrote:
> > >
> > > From: Mark Jonas <toer...@gmail.com>
> > >
> > > If DISTRO_FEATURES includes ALSA then automatically load the
> > > snd-intel8x0 kernel module on qemux86 and qemux86-64. This matches the
> > > machine configurations conf/machine/qemux86.conf and qemux86-64.conf.
> > >
> > > Signed-off-by: Mark Jonas <toer...@gmail.com>
> > > ---
> > >  meta/recipes-kernel/linux/linux-yocto.inc | 5 +++++
> > >  1 file changed, 5 insertions(+)
> > >
> > > diff --git a/meta/recipes-kernel/linux/linux-yocto.inc 
> > > b/meta/recipes-kernel/linux/linux-yocto.inc
> > > index 091003ed82..c8a9b0a1e3 100644
> > > --- a/meta/recipes-kernel/linux/linux-yocto.inc
> > > +++ b/meta/recipes-kernel/linux/linux-yocto.inc
> > > @@ -37,6 +37,11 @@ KERNEL_FEATURES:append = " 
> > > ${@bb.utils.contains('MACHINE_FEATURES', 'efi', 'cfg/
> > >  KERNEL_FEATURES:append = " ${@bb.utils.contains('MACHINE_FEATURES', 
> > > 'numa', 'features/numa/numa.scc', '', d)}"
> > >  KERNEL_FEATURES:append = " ${@bb.utils.contains('MACHINE_FEATURES', 
> > > 'vfat', 'cfg/fs/vfat.scc', '', d)}"
> > >
> > > +# sound driver recommended by conf/machine/qemux86*.conf
> > > +ALSA_MODULES = "${@bb.utils.contains("DISTRO_FEATURES", "alsa", 
> > > "snd-intel8x0", "", d)}"
> > > +KERNEL_MODULE_AUTOLOAD:qemux86 += "${ALSA_MODULES}"
> > > +KERNEL_MODULE_AUTOLOAD:qemux86-64 += "${ALSA_MODULES}"
> >
> > This gets us most of the way, but if we are going to do this we should
> > complete the job.
> >
> > We really need to make sure there's a configuration fragment that
> > explicitly enables
> > the modules we need (and not count on defaults, or other selects). That 
> > would go
> > into the kernel-cache.
> >
> > It would then be something we'd add to the KERNEL_FEATRES triggered off the
> > distro feature. Just like we are doing with numa and vfat that is visible 
> > in the
> > context of the patch.
>
> In my understanding this is already the case. See for example
> linux-yocto_5.19.bb which contains the following lines.
>
> KERNEL_FEATURES:append:qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
> KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
>
> Does that maybe mean I should better add the KERNEL_MODULE_AUTOLOAD
> into the same file where the corresponding configuration fragment is
> added? But that would mean to duplicate the lines over five recipes.
>
> Alternatively I could move the cfg/sound.scc out of the recipes into
> the linux-yocto.inc. But then linux-yocto-tiny_*.bb recipes would also
> get it.

I definitely wasn't clear. Sorry about that, I'm still partially on
holidays and didn't have enough coffee when I wrote that.

That is close to what I meant. It is one thing to define the options
in our generic sound "buckets" and another to put a specific module
into the autoload.

If we are going to autoload a module, the option really should be
pulled out of the generic bucket, and put into something smaller /
specific to what we are trying to do, and trigger the inclusion of
that fragment only when the appropriate distro feature is set. The
machine conf files specifying specific modules isn't ideal, since it
is largely "aspirational" unless it is coupled with a KERNEL_FEATURE
that is set based on a machine or distro feature.

If you search the mailing list archives, you'll see me musing about
how I need to change those unconditional appends of option to qemu, as
it makes defining a new qemu machine problematic (if the options are
causing issues). The tweak I'm describing is a small step in that
direction.

One new question comes to mind, what init system were you testing with
(default poky and sysvinit ?) ? If we now have the proper init system,
are no events being triggered to load the modules now that the proper
ones are in the machine files ?

Bruce

>
> Cheers,
> Mark







--
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#175535): 
https://lists.openembedded.org/g/openembedded-core/message/175535
Mute This Topic: https://lists.openembedded.org/mt/96048827/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to