From: "Russell King (Oracle)" <linux@armlinux.org.uk>
To: Andreas Schwab <schwab@suse.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
broonie@kernel.org, Marco Felsch <m.felsch@pengutronix.de>,
linux-spi@vger.kernel.org, kernel@pengutronix.de
Subject: Re: REGRESSION: "spi: add of_device_uevent_modalias support" and following "fix" breaks Macchiatobin
Date: Mon, 20 Sep 2021 23:43:02 +0100 [thread overview]
Message-ID: <YUkOdoqccsbEh08C@shell.armlinux.org.uk> (raw)
In-Reply-To: <87wnna6hdc.fsf@igel.home>
On Mon, Sep 20, 2021 at 11:56:31PM +0200, Andreas Schwab wrote:
> On Sep 20 2021, Russell King (Oracle) wrote:
>
> > On Mon, Sep 20, 2021 at 09:41:47PM +0200, Andreas Schwab wrote:
> >> On Sep 20 2021, Russell King (Oracle) wrote:
> >>
> >> > Therefore, this change breaks module autoloading.
> >>
> >> Reverting this change breaks module autoloading.
> >
> > No.
> >
> > Module autoloading worked before.
>
> Nope.
Sorry, but you are wrong. Let me take a random built kernel I have
laying around. 5.4.0+:
-rw-r--r-- 1 rmk rmk 17164877 Jan 26 2020 /home/rmk/systems/juno-host-5.4.0+.tar.bz2
and throw it onto the Macchiatobin:
[ OK ] Finished Suspend/Resume Running libvirt Guests.
[ OK ] Started LSB: exim Mail Transport Agent.
[ OK ] Started Samba SMB Daemon.
[ OK ] Reached target Multi-User System.
[ OK ] Reached target Graphical Interface.
Starting Update UTMP about System Runlevel Changes...
[ OK ] Finished Update UTMP about System Runlevel Changes.
Debian GNU/Linux 11 mcbin-ss ttyS2
mcbin-ss login: root
Password:
Linux mcbin-ss 5.4.0+ #608 SMP PREEMPT Sun Jan 26 15:44:51 GMT 2020 aarch64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Mon Sep 20 22:17:58 BST 2021 on ttyS2
root@mcbin-ss:~# lsmod
Module Size Used by
nfnetlink 16384 0
8021q 36864 0
garp 16384 1 8021q
mrp 20480 1 8021q
crct10dif_ce 16384 1
spi_nor 49152 0
armada_thermal 16384 0
sbsa_gwdt 16384 0
ip_tables 32768 0
x_tables 45056 1 ip_tables
root@mcbin-ss:~#
That's strange, spi_nor has been _autoloaded_ under 5.4.0+. If I boot
exactly the same userspace with 5.13.0+, it gets _autoloaded_:
[ OK ] Finished Suspend/Resume Running libvirt Guests.
[ OK ] Started Samba SMB Daemon.P■ower device driver controller.
[ OK ] Started LSB: exim Mail Transport Agent.tails.
[ OK ] Reached target Multi-User System.
[ OK ] Reached target Graphical Interface.ring sensors.
Starting Update UTMP about System Runlevel Changes...
[ OK ] Finished Update UTMP about System Runlevel Changes.rvice.
[ OK ] Started LSB: rng-tools (Debian variant).
Debian GNU/Linux 11 mcbin-ss ttyS2
mcbin-ss login: root
Password:
Linux mcbin-ss 5.13.0+ #958 SMP PREEMPT Tue Sep 14 16:17:44 BST 2021 aarch64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Mon Sep 20 23:19:05 BST 2021 on ttyS2
root@mcbin-ss:~# lsmod
Module Size Used by
nfnetlink 20480 0
8021q 36864 0
garp 16384 1 8021q
mrp 20480 1 8021q
crct10dif_ce 20480 1
spi_nor 73728 0
leds_gpio 16384 0
pwm_fan 20480 0
armada_thermal 16384 0
sbsa_gwdt 20480 0
ip_tables 32768 0
x_tables 45056 1 ip_tables
I'll prove it by moving the modules so they can't be loaded by the
normal system boot, and then trigger udev:
root@mcbin-ss:~# uname -a
Linux mcbin-ss 5.13.0+ #958 SMP PREEMPT Tue Sep 14 16:17:44 BST 2021 aarch64 GNU/Linux
root@mcbin-ss:~# lsmod
Module Size Used by
root@mcbin-ss:~# mv 5.13.0+ /lib/modules
root@mcbin-ss:~# udevadm trigger --action=add
root@mcbin-ss:~# sbsa-gwdt f0610000.watchdog: Initialized with 10s timeout @ 25000000 Hz, action=0.
spi-nor spi4.0: w25q32 (4096 Kbytes)
lsmod
Module Size Used by
crct10dif_ce 20480 1
pwm_fan 20480 0
spi_nor 73728 0
leds_gpio 16384 0
armada_thermal 16384 0
sbsa_gwdt 20480 0
Why does this happen?
root@mcbin-ss:~# cat /sys/bus/spi/devices/spi4.0/modalias
spi:w25q32
root@mcbin-ss:~# cat /sys/bus/spi/devices/spi4.0/uevent
DRIVER=spi-nor
OF_NAME=spi-flash
OF_FULLNAME=/cp1/config-space@f4000000/spi@700680/spi-flash@0
OF_COMPATIBLE_0=st,w25q32
OF_COMPATIBLE_N=1
MODALIAS=spi:w25q32
root@mcbin-ss:~# modinfo spi-nor
filename: /lib/modules/5.13.0+/kernel/drivers/mtd/spi-nor/spi-nor.ko
description: framework for SPI NOR
author: Mike Lavender
author: Huang Shijie <shijie8@gmail.com>
license: GPL v2
alias: of:N*T*Cjedec,spi-norC*
alias: of:N*T*Cjedec,spi-nor
alias: spi:mr25h40
...
alias: spi:w25q32 <=======================
...
alias: spi:spi-nor
depends:
intree: Y
name: spi_nor
vermagic: 5.13.0+ SMP preempt mod_unload aarch64
If I boot the exact same userspace with 5.14.0+, it does _not_ get
autoloaded, because the modinfo and uevent files contain different
contents that the spi-nor module does not have an alias for.
Yet you say without your change module autoloading doesn't work - that
may be true for you, but the point here is that:
Your change plus another during the 5.14 cycle broke previously
working module autoloading. It broke a previously working setup.
This is a _regression_.
Maybe you could explain why you think otherwise - and possibly accept
that it _did_ used to work for others.
Yes, I get it that _your_ patch (which is the later one of the two
that I mentioned) was merely bringing the modalias file into line with
the uevent file - but that doesn't change the fact that 5.13 and
earlier kernels worked, 5.14 does not.
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!
next prev parent reply other threads:[~2021-09-21 2:22 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-20 10:20 REGRESSION: "spi: add of_device_uevent_modalias support" and following "fix" breaks Macchiatobin Russell King (Oracle)
2021-09-20 18:33 ` Mark Brown
2021-09-20 19:37 ` Russell King (Oracle)
2021-09-20 21:25 ` Mark Brown
2021-09-21 10:55 ` Russell King (Oracle)
2021-09-20 19:41 ` Andreas Schwab
2021-09-20 19:49 ` Russell King (Oracle)
2021-09-20 20:52 ` Mark Brown
2021-09-20 21:56 ` Andreas Schwab
2021-09-20 22:25 ` Linus Torvalds
2021-10-04 14:00 ` Andreas Schwab
2021-10-04 14:30 ` Mark Brown
2021-10-04 15:23 ` Andreas Schwab
2021-09-20 22:43 ` Russell King (Oracle) [this message]
2021-09-21 7:34 ` Andreas Schwab
2021-09-21 12:22 ` Mark Brown
2021-09-21 13:02 ` Andreas Schwab
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YUkOdoqccsbEh08C@shell.armlinux.org.uk \
--to=linux@armlinux.org.uk \
--cc=broonie@kernel.org \
--cc=kernel@pengutronix.de \
--cc=linux-spi@vger.kernel.org \
--cc=m.felsch@pengutronix.de \
--cc=schwab@suse.de \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.