* 2.6.22: pcspkr driver no longer loads automatically
@ 2007-08-07 19:33 Chuck Ebbert
2007-08-07 20:43 ` Jeff Garzik
0 siblings, 1 reply; 10+ messages in thread
From: Chuck Ebbert @ 2007-08-07 19:33 UTC (permalink / raw)
To: linux-kernel; +Cc: Dmitry Torokhov
With no other changes but a kernel upgrade, the pcspkr driver
doesn't load automatically anymore. No changes to that driver
jump out, so where else could the problem be? Something to
do with the device class changes maybe?
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 2.6.22: pcspkr driver no longer loads automatically
2007-08-07 19:33 2.6.22: pcspkr driver no longer loads automatically Chuck Ebbert
@ 2007-08-07 20:43 ` Jeff Garzik
2007-08-07 21:43 ` Chuck Ebbert
0 siblings, 1 reply; 10+ messages in thread
From: Jeff Garzik @ 2007-08-07 20:43 UTC (permalink / raw)
To: Chuck Ebbert; +Cc: linux-kernel, Dmitry Torokhov
Chuck Ebbert wrote:
> With no other changes but a kernel upgrade, the pcspkr driver
> doesn't load automatically anymore. No changes to that driver
> jump out, so where else could the problem be? Something to
> do with the device class changes maybe?
This has long been a problem for me on Fedora, long before 2.6.22. I
would never ever have the glorious system beeps, unless I built the
module into my kernel.
I would look into distro areas and see why it's not getting loaded.
Jeff
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 2.6.22: pcspkr driver no longer loads automatically
2007-08-07 20:43 ` Jeff Garzik
@ 2007-08-07 21:43 ` Chuck Ebbert
2007-08-07 22:23 ` Kay Sievers
0 siblings, 1 reply; 10+ messages in thread
From: Chuck Ebbert @ 2007-08-07 21:43 UTC (permalink / raw)
To: Jeff Garzik; +Cc: linux-kernel, Dmitry Torokhov
On 08/07/2007 04:43 PM, Jeff Garzik wrote:
> Chuck Ebbert wrote:
>> With no other changes but a kernel upgrade, the pcspkr driver
>> doesn't load automatically anymore. No changes to that driver
>> jump out, so where else could the problem be? Something to
>> do with the device class changes maybe?
>
> This has long been a problem for me on Fedora, long before 2.6.22. I
> would never ever have the glorious system beeps, unless I built the
> module into my kernel.
>
> I would look into distro areas and see why it's not getting loaded.
>
Seems to be some kind of udev / hal magic loading it. With 2.6.20/21
it worked for most people, now it seems totally broken. Maybe we should
just load it unconditionally.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 2.6.22: pcspkr driver no longer loads automatically
2007-08-07 21:43 ` Chuck Ebbert
@ 2007-08-07 22:23 ` Kay Sievers
2007-08-08 19:32 ` Bill Nottingham
0 siblings, 1 reply; 10+ messages in thread
From: Kay Sievers @ 2007-08-07 22:23 UTC (permalink / raw)
To: Chuck Ebbert; +Cc: Jeff Garzik, linux-kernel, Dmitry Torokhov
On 8/7/07, Chuck Ebbert <cebbert@redhat.com> wrote:
> On 08/07/2007 04:43 PM, Jeff Garzik wrote:
> > Chuck Ebbert wrote:
> >> With no other changes but a kernel upgrade, the pcspkr driver
> >> doesn't load automatically anymore. No changes to that driver
> >> jump out, so where else could the problem be? Something to
> >> do with the device class changes maybe?
> >
> > This has long been a problem for me on Fedora, long before 2.6.22. I
> > would never ever have the glorious system beeps, unless I built the
> > module into my kernel.
> >
> > I would look into distro areas and see why it's not getting loaded.
> >
>
> Seems to be some kind of udev / hal magic loading it. With 2.6.20/21
> it worked for most people, now it seems totally broken. Maybe we should
> just load it unconditionally.
It doesn't have any aliases, so seems it was never autoloaded.
It's like mousedev, and should probably just be built-in.
Kay
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 2.6.22: pcspkr driver no longer loads automatically
2007-08-07 22:23 ` Kay Sievers
@ 2007-08-08 19:32 ` Bill Nottingham
2007-08-08 20:02 ` Kay Sievers
2007-11-04 5:20 ` Dmitry Torokhov
0 siblings, 2 replies; 10+ messages in thread
From: Bill Nottingham @ 2007-08-08 19:32 UTC (permalink / raw)
To: Kay Sievers; +Cc: Chuck Ebbert, Jeff Garzik, linux-kernel, Dmitry Torokhov
Kay Sievers (kay.sievers@vrfy.org) said:
> It doesn't have any aliases, so seems it was never autoloaded.
It was - prior kernels loaded it via the uevent generated from
/devices/platform/pcspkr. Newer kernels seem to never actually
trigger a uevent from that (tested with a combination of
udevmonitor and 'udevtrigger --subsystem-match=platform'.)
Bill
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 2.6.22: pcspkr driver no longer loads automatically
2007-08-08 19:32 ` Bill Nottingham
@ 2007-08-08 20:02 ` Kay Sievers
2007-08-08 22:22 ` Bill Nottingham
2007-11-04 5:20 ` Dmitry Torokhov
1 sibling, 1 reply; 10+ messages in thread
From: Kay Sievers @ 2007-08-08 20:02 UTC (permalink / raw)
To: Bill Nottingham
Cc: Chuck Ebbert, Jeff Garzik, linux-kernel, Dmitry Torokhov, Greg KH
On Wed, 2007-08-08 at 15:32 -0400, Bill Nottingham wrote:
> Kay Sievers (kay.sievers@vrfy.org) said:
> > It doesn't have any aliases, so seems it was never autoloaded.
>
> It was - prior kernels loaded it via the uevent generated from
> /devices/platform/pcspkr. Newer kernels seem to never actually
> trigger a uevent from that (tested with a combination of
> udevmonitor and 'udevtrigger --subsystem-match=platform'.)
Ah, ok, makes sense. Yeah, that weird "platform devices loads itself by
the name" thing got disabled in the platform subsystem. It caused
modprobe loops for other devices.
The whole idea of issuing MODALIAS with plain module names instead of
aliases can't really work, but the platform maintainer didn't like to
use the usual aliases and the matches in the modules, for a reason I
didn't understand while we talked about the problem last time.
Kay
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 2.6.22: pcspkr driver no longer loads automatically
2007-08-08 20:02 ` Kay Sievers
@ 2007-08-08 22:22 ` Bill Nottingham
2007-08-08 22:39 ` Kay Sievers
0 siblings, 1 reply; 10+ messages in thread
From: Bill Nottingham @ 2007-08-08 22:22 UTC (permalink / raw)
To: Kay Sievers
Cc: Chuck Ebbert, Jeff Garzik, linux-kernel, Dmitry Torokhov, Greg KH
Kay Sievers (kay.sievers@vrfy.org) said:
> Ah, ok, makes sense. Yeah, that weird "platform devices loads itself by
> the name" thing got disabled in the platform subsystem. It caused
> modprobe loops for other devices.
>
> The whole idea of issuing MODALIAS with plain module names instead of
> aliases can't really work, but the platform maintainer didn't like to
> use the usual aliases and the matches in the modules, for a reason I
> didn't understand while we talked about the problem last time.
So, the solution is for the platform device to issue a random modalias
that pcskpr exports?
Bill
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 2.6.22: pcspkr driver no longer loads automatically
2007-08-08 22:22 ` Bill Nottingham
@ 2007-08-08 22:39 ` Kay Sievers
0 siblings, 0 replies; 10+ messages in thread
From: Kay Sievers @ 2007-08-08 22:39 UTC (permalink / raw)
To: Bill Nottingham
Cc: Chuck Ebbert, Jeff Garzik, linux-kernel, Dmitry Torokhov, Greg KH
On Wed, 2007-08-08 at 18:22 -0400, Bill Nottingham wrote:
> Kay Sievers (kay.sievers@vrfy.org) said:
> > Ah, ok, makes sense. Yeah, that weird "platform devices loads itself by
> > the name" thing got disabled in the platform subsystem. It caused
> > modprobe loops for other devices.
> >
> > The whole idea of issuing MODALIAS with plain module names instead of
> > aliases can't really work, but the platform maintainer didn't like to
> > use the usual aliases and the matches in the modules, for a reason I
> > didn't understand while we talked about the problem last time.
>
> So, the solution is for the platform device to issue a random modalias
> that pcskpr exports?
I would still like to see "MODALIAS=platform:<string>" exported by the
bus, and matching aliases the modules, just like every other subsystem
does.
Like SCSI, with the "artificial" aliases for the modules it wants to
autoload:
$ /sbin/modinfo sd_mod
...
alias: scsi:t-0x0e*
alias: scsi:t-0x07*
alias: scsi:t-0x00*
...
$ cat /sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/modalias
scsi:t-0x00
That way you would get full control over the loading or blacklisting
with module-init-tools config files, which doesn't work with direct
module name requests, and no magic in the bus code or the drivers would
be needed.
Kay
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 2.6.22: pcspkr driver no longer loads automatically
2007-08-08 19:32 ` Bill Nottingham
2007-08-08 20:02 ` Kay Sievers
@ 2007-11-04 5:20 ` Dmitry Torokhov
2007-11-04 8:30 ` Kay Sievers
1 sibling, 1 reply; 10+ messages in thread
From: Dmitry Torokhov @ 2007-11-04 5:20 UTC (permalink / raw)
To: Bill Nottingham; +Cc: Kay Sievers, Chuck Ebbert, Jeff Garzik, linux-kernel
Hi,
On Wednesday 08 August 2007 15:32, Bill Nottingham wrote:
> Kay Sievers (kay.sievers@vrfy.org) said:
> > It doesn't have any aliases, so seems it was never autoloaded.
>
> It was - prior kernels loaded it via the uevent generated from
> /devices/platform/pcspkr. Newer kernels seem to never actually
> trigger a uevent from that (tested with a combination of
> udevmonitor and 'udevtrigger --subsystem-match=platform'.)
>
The patch below should restore generation of uevents for pcspkr devices.
Since devices are not created in pcspkr module but rather in arch setup
code it is right (and safe) thing to do.
--
Dmitry
pcspkr: restore uevent generation
Make sure that we generate uevents when creating pcspkr devices
so that userspace will load pcspkr driver.
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
---
arch/alpha/kernel/setup.c | 2 ++
arch/mips/kernel/pcspeaker.c | 2 ++
arch/powerpc/kernel/setup-common.c | 2 ++
arch/x86/kernel/pcspeaker.c | 2 ++
4 files changed, 8 insertions(+)
Index: work/arch/alpha/kernel/setup.c
===================================================================
--- work.orig/arch/alpha/kernel/setup.c
+++ work/arch/alpha/kernel/setup.c
@@ -1501,6 +1501,8 @@ static __init int add_pcspkr(void)
if (!pd)
return -ENOMEM;
+ pd->dev.uevent_suppress = 0;
+
ret = platform_device_add(pd);
if (ret)
platform_device_put(pd);
Index: work/arch/mips/kernel/pcspeaker.c
===================================================================
--- work.orig/arch/mips/kernel/pcspeaker.c
+++ work/arch/mips/kernel/pcspeaker.c
@@ -19,6 +19,8 @@ static __init int add_pcspkr(void)
if (!pd)
return -ENOMEM;
+ pd->dev.uevent_suppress = 0;
+
ret = platform_device_add(pd);
if (ret)
platform_device_put(pd);
Index: work/arch/powerpc/kernel/setup-common.c
===================================================================
--- work.orig/arch/powerpc/kernel/setup-common.c
+++ work/arch/powerpc/kernel/setup-common.c
@@ -454,6 +454,8 @@ static __init int add_pcspkr(void)
if (!pd)
return -ENOMEM;
+ pd->dev.uevent_suppress = 0;
+
ret = platform_device_add(pd);
if (ret)
platform_device_put(pd);
Index: work/arch/x86/kernel/pcspeaker.c
===================================================================
--- work.orig/arch/x86/kernel/pcspeaker.c
+++ work/arch/x86/kernel/pcspeaker.c
@@ -11,6 +11,8 @@ static __init int add_pcspkr(void)
if (!pd)
return -ENOMEM;
+ pd->dev.uevent_suppress = 0;
+
ret = platform_device_add(pd);
if (ret)
platform_device_put(pd);
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 2.6.22: pcspkr driver no longer loads automatically
2007-11-04 5:20 ` Dmitry Torokhov
@ 2007-11-04 8:30 ` Kay Sievers
0 siblings, 0 replies; 10+ messages in thread
From: Kay Sievers @ 2007-11-04 8:30 UTC (permalink / raw)
To: Dmitry Torokhov
Cc: Bill Nottingham, Chuck Ebbert, Jeff Garzik, linux-kernel, Greg KH
On Sun, 2007-11-04 at 01:20 -0400, Dmitry Torokhov wrote:
> On Wednesday 08 August 2007 15:32, Bill Nottingham wrote:
> > Kay Sievers (kay.sievers@vrfy.org) said:
> > > It doesn't have any aliases, so seems it was never autoloaded.
> >
> > It was - prior kernels loaded it via the uevent generated from
> > /devices/platform/pcspkr. Newer kernels seem to never actually
> > trigger a uevent from that (tested with a combination of
> > udevmonitor and 'udevtrigger --subsystem-match=platform'.)
> >
>
> The patch below should restore generation of uevents for pcspkr devices.
> Since devices are not created in pcspkr module but rather in arch setup
> code it is right (and safe) thing to do.
This is not needed. The global disablement of platform device creation
events has been reverted in 2.6.24, it broke more than pcsprkr, and
modules that should be auto-loaded just get an alias as usual:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=43cc71eed1250755986da4c0f9898f9a635cb3bf
Thanks,
Kay
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2007-11-04 8:30 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-08-07 19:33 2.6.22: pcspkr driver no longer loads automatically Chuck Ebbert
2007-08-07 20:43 ` Jeff Garzik
2007-08-07 21:43 ` Chuck Ebbert
2007-08-07 22:23 ` Kay Sievers
2007-08-08 19:32 ` Bill Nottingham
2007-08-08 20:02 ` Kay Sievers
2007-08-08 22:22 ` Bill Nottingham
2007-08-08 22:39 ` Kay Sievers
2007-11-04 5:20 ` Dmitry Torokhov
2007-11-04 8:30 ` Kay Sievers
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox