Depmod errors on 2.6.17.4/2.6.18-rc1/2.6.18-rc1-mm1
Subsystems (4)
The following errors show up on 'make modules_install' for the 2.6.18-rc1-mm1 kernel. The snd-miro ones have actually been there since at least 2.6.17.4, and they show up in 2.6.18-rc1 as well.
INSTALL sound/usb/snd-usb-audio.ko
INSTALL sound/usb/snd-usb-lib.ko
INSTALL sound/usb/usx2y/snd-usb-usx2y.ko
if [ -r System.map -a -x /sbin/depmod ]; then /sbin/depmod -ae -F System.map 2.6.18-rc1-mm1; fi
WARNING: /lib/modules/2.6.18-rc1-mm1/kernel/sound/isa/opti9xx/snd-miro.ko needs unknown symbol snd_cs4231_create
WARNING: /lib/modules/2.6.18-rc1-mm1/kernel/sound/isa/opti9xx/snd-miro.ko needs unknown symbol snd_cs4231_pcm
WARNING: /lib/modules/2.6.18-rc1-mm1/kernel/sound/isa/opti9xx/snd-miro.ko needs unknown symbol snd_cs4231_timer
WARNING: /lib/modules/2.6.18-rc1-mm1/kernel/sound/isa/opti9xx/snd-miro.ko needs unknown symbol snd_cs4231_mixer
WARNING: /lib/modules/2.6.18-rc1-mm1/kernel/fs/reiser4/reiser4.ko needs unknown symbol generic_file_read
WARNING: /lib/modules/2.6.18-rc1-mm1/kernel/drivers/video/backlight/backlight.ko needs unknown symbol fb_unregister_client
WARNING: /lib/modules/2.6.18-rc1-mm1/kernel/drivers/video/backlight/backlight.ko needs unknown symbol fb_register_client
My config is attached.
Matt
Quoted 9 lines · Matt Reuther
The following errors show up on 'make
modules_install' for the 2.6.18-rc1-mm1 kernel. The snd-miro ones have actually been there since at least 2.6.17.4, and they show up in 2.6.18-rc1 as well.WARNING:
/lib/modules/2.6.18-rc1-mm1/kernel/drivers/video/backlight/backlight.koneeds unknown symbolfb_unregister_client
WARNING:/lib/modules/2.6.18-rc1-mm1/kernel/drivers/video/backlight/backlight.koneeds unknown symbolfb_register_client
CONFIG_FB=n, CONFIG_BACKLIGHT_CLASS_DEVICE=m should not be possible in 2.6.18-rc1-mm1 and 2.6.18-rc1. Can you run kconfig again?
Tony
Quoting "Antonino A. Daplas" <[email protected]>:
Quoted 11 lines
Quoted 9 lines · Matt Reuther
The following errors show up on 'make
modules_install' for the 2.6.18-rc1-mm1 kernel. The snd-miro ones have actually been there since at least 2.6.17.4, and they show up in 2.6.18-rc1 as well.WARNING:
/lib/modules/2.6.18-rc1-mm1/kernel/drivers/video/backlight/backlight.koneeds unknown symbolfb_unregister_client
WARNING:/lib/modules/2.6.18-rc1-mm1/kernel/drivers/video/backlight/backlight.koneeds unknown symbolfb_register_client
Quoted 4 lines
CONFIG_FB=n,CONFIG_BACKLIGHT_CLASS_DEVICE=mshould not be possible in 2.6.18-rc1-mm1 and 2.6.18-rc1. Can you run kconfig again?Tony
I am not at the computer right now, but I will try later.
Here is how I got config-2.6.18-rc1-mm1. I copied this config from 2.6.18-rc1, which I had created with 'make menuconfig'. I ran 'make oldconfig' on the config-2.6.18-rc1 and answered the new questions to generate config-2.6.18-rc1-mm1. I compiled it from there. Does 'make oldconfig' not work properly anymore?
Matt
Quoted 22 lines · Matt Reuther
Quoting "Antonino A. Daplas" <[email protected]>:
Quoted 15 lines
Quoted 6 lines · Matt Reuther
The following errors show up on 'make
modules_install' for the 2.6.18-rc1-mm1
kernel. The snd-miro ones have actually been there since at least 2.6.17.4,
and they show up in 2.6.18-rc1 as well.Quoted 7 lines
WARNING:
/lib/modules/2.6.18-rc1-mm1/kernel/drivers/video/backlight/backlight.koneeds unknown symbolfb_unregister_client
WARNING:/lib/modules/2.6.18-rc1-mm1/kernel/drivers/video/backlight/backlight.koneeds unknown symbolfb_register_clientQuoted 4 lines
CONFIG_FB=n,CONFIG_BACKLIGHT_CLASS_DEVICE=mshould not be possible in 2.6.18-rc1-mm1 and 2.6.18-rc1. Can you run kconfig again?Tony
Quoted 7 lines
I am not at the computer right now, but I will try later.
Here is how I got config-2.6.18-rc1-mm1. I copied this config from 2.6.18-rc1, which I had created with 'make menuconfig'. I ran 'make oldconfig' on the config-2.6.18-rc1 and answered the new questions to generate config-2.6.18-rc1-mm1. I compiled it from there. Does 'make oldconfig' not work properly anymore?
I really don't know. I have received several bug reports where the main cause was that a kconfig option changed after upgrading kernels.
I tested with make menuconfig, and it's not possible to set lcd/backlight options if CONFIG_FB is not set.
Tony
Quoted 16 lines · Antonino A. Daplas
Quoted 7 lines · Matt Reuther
Quoting "Antonino A. Daplas" <[email protected]>:
Quoted 5 lines
CONFIG_FB=n,CONFIG_BACKLIGHT_CLASS_DEVICE=mshould not be possible in 2.6.18-rc1-mm1 and 2.6.18-rc1. Can you run kconfig again?Tony
Quoted 7 lines
I am not at the computer right now, but I will try later.
Here is how I got config-2.6.18-rc1-mm1. I copied this config from 2.6.18-rc1, which I had created with 'make menuconfig'. I ran 'make oldconfig' on the config-2.6.18-rc1 and answered the new questions to generate config-2.6.18-rc1-mm1. I compiled it from there. Does 'make oldconfig' not work properly anymore?
Quoted 7 lines
I really don't know. I have received several bug reports where the main cause was that a kconfig option changed after upgrading kernels.
I tested with make menuconfig, and it's not possible to set lcd/backlight options if
CONFIG_FBis not set.Tony
I ran 'make menuconfig' and I got the same warnings. Perhaps CONFIG_FB needs to be part of the 'selects' line for any option that selects the backlight support. I think the USB Apple Cinema display support, which I set as modular, might have selected backlight. I don't need framebuffer support, so I have that shut off. Here are the depmod warnings once again:
INSTALL sound/usb/snd-usb-audio.ko
INSTALL sound/usb/snd-usb-lib.ko
INSTALL sound/usb/usx2y/snd-usb-usx2y.ko
if [ -r System.map -a -x /sbin/depmod ]; then /sbin/depmod -ae -F System.map 2.6.18-rc1-mm1; fi
WARNING: /lib/modules/2.6.18-rc1-mm1/kernel/sound/isa/opti9xx/snd-miro.ko needs unknown symbol snd_cs4231_create
WARNING: /lib/modules/2.6.18-rc1-mm1/kernel/sound/isa/opti9xx/snd-miro.ko needs unknown symbol snd_cs4231_pcm
WARNING: /lib/modules/2.6.18-rc1-mm1/kernel/sound/isa/opti9xx/snd-miro.ko needs unknown symbol snd_cs4231_timer
WARNING: /lib/modules/2.6.18-rc1-mm1/kernel/sound/isa/opti9xx/snd-miro.ko needs unknown symbol snd_cs4231_mixer
WARNING: /lib/modules/2.6.18-rc1-mm1/kernel/fs/reiser4/reiser4.ko needs unknown symbol generic_file_read
WARNING: /lib/modules/2.6.18-rc1-mm1/kernel/drivers/video/backlight/backlight.ko needs unknown symbol fb_unregister_client
WARNING: /lib/modules/2.6.18-rc1-mm1/kernel/drivers/video/backlight/backlight.ko needs unknown symbol fb_register_client
I ran make menuconfig with the config file I sent before. The new config is attached.
Matt
PATCH 1/1 appledisplay/backlight (Depmod errors on 2.6.17.4/2.6.18-rc1/2.6.18-rc1-mm1)
Quoted 7 lines
Quoted 7 lines
Quoted 4 lines
Quoted 4 lines
CONFIG_FB=n,CONFIG_BACKLIGHT_CLASS_DEVICE=mshould not be possible in 2.6.18-rc1-mm1 and 2.6.18-rc1. Can you run kconfig again?Tony
I tested with make menuconfig, and it's not possible to set lcd/backlight options if
CONFIG_FBis not set.
Tony, it is possiblle when the USB APPLEDISPLAY option is set and it selects backlight options without regard for FB.
Quoted 4 lines
WARNING:
/lib/modules/2.6.18-rc1-mm1/kernel/drivers/video/backlight/backlight.koneeds unknown symbolfb_unregister_client
WARNING:/lib/modules/2.6.18-rc1-mm1/kernel/drivers/video/backlight/backlight.koneeds unknown symbolfb_register_client
This patch fixes it for me. Is it the right thing to do?
---
From: Randy Dunlap <[email protected]>
appledisplay calls fb_register_client() so needs to depend on FB.
--- drivers/usb/misc/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/usb/misc/Kconfig +1 -1
@@ -163,7 +163,7 @@ config USB_IDMOUSE config USB_APPLEDISPLAY tristate "Apple Cinema Display support" - depends on USB + depends on USB && FB select BACKLIGHT_LCD_SUPPORT select BACKLIGHT_CLASS_DEVICE help
PATCH 1/1 backlight: lcd: Remove dependency from the framebuffer layer
The backlight and lcd layer should be independent from the framebuffer layer. It can use the services offered by the framebuffer, but its absence should not prevent the backlight/lcd layer from functioning.
---
Quoted 10 lines · Randy.Dunlap
Quoted 6 lines
Quoted 6 lines
Quoted 4 lines
Quoted 4 lines
CONFIG_FB=n,CONFIG_BACKLIGHT_CLASS_DEVICE=mshould not be possible in 2.6.18-rc1-mm1 and 2.6.18-rc1. Can you run kconfig again?Tony
I tested with make menuconfig, and it's not possible to set lcd/backlight options if
CONFIG_FBis not set.Tony, it is possiblle when the USB APPLEDISPLAY option is set and it selects backlight options without regard for FB.
Quoted 6 lines
Quoted 4 lines
WARNING:
/lib/modules/2.6.18-rc1-mm1/kernel/drivers/video/backlight/backlight.koneeds unknown symbolfb_unregister_client
WARNING:/lib/modules/2.6.18-rc1-mm1/kernel/drivers/video/backlight/backlight.koneeds unknown symbolfb_register_clientThis patch fixes it for me. Is it the right thing to do?
In this case, yes. But I think the better solution is to eliminate framebuffer dependency.
Tony
drivers/video/Kconfig | 2 - drivers/video/backlight/Kconfig | 4 +- drivers/video/backlight/backlight.c | 85 ++++++++++++++++++++++------------- drivers/video/backlight/lcd.c | 76 +++++++++++++++++++------------ 4 files changed, 103 insertions(+), 64 deletions(-)
drivers/video/Kconfig +1 -1
@@ -1622,7 +1622,7 @@ if FB || SGI_NEWPORT_CONSOLE source "drivers/video/logo/Kconfig" endif -if FB && SYSFS +if SYSFS source "drivers/video/backlight/Kconfig" endif
drivers/video/backlight/Kconfig +2 -2
@@ -10,7 +10,7 @@ menuconfig BACKLIGHT_LCD_SUPPORT config BACKLIGHT_CLASS_DEVICE tristate "Lowlevel Backlight controls" - depends on BACKLIGHT_LCD_SUPPORT && FB + depends on BACKLIGHT_LCD_SUPPORT default m help This framework adds support for low-level control of the LCD
@@ -26,7 +26,7 @@ config BACKLIGHT_DEVICE config LCD_CLASS_DEVICE tristate "Lowlevel LCD controls" - depends on BACKLIGHT_LCD_SUPPORT && FB + depends on BACKLIGHT_LCD_SUPPORT default m help This framework adds support for low-level control of LCD.
drivers/video/backlight/backlight.c +53 -32
109 lines not on this page · raw message
drivers/video/backlight/lcd.c +47 -29
101 lines not on this page · raw message
PATCH 1/1 backlight: lcd: Remove dependency from the framebuffer layer
In reply to Randy.DunlapThe backlight and layer should be independent from the framebuffer layer. It can use the services offered by the framebuffer, but its absence should not prevent the backlight/lcd layer from functioning.
---
Oops, the previous patch has extraneous characters. Use this instead.
Tony
drivers/video/Kconfig | 2 - drivers/video/backlight/Kconfig | 4 +- drivers/video/backlight/backlight.c | 85 ++++++++++++++++++++++------------- drivers/video/backlight/lcd.c | 76 +++++++++++++++++++------------ 4 files changed, 103 insertions(+), 64 deletions(-)
drivers/video/Kconfig +1 -1
@@ -1622,7 +1622,7 @@ if FB || SGI_NEWPORT_CONSOLE source "drivers/video/logo/Kconfig" endif -if FB && SYSFS +if SYSFS source "drivers/video/backlight/Kconfig" endif
drivers/video/backlight/Kconfig +2 -2
@@ -10,7 +10,7 @@ menuconfig BACKLIGHT_LCD_SUPPORT config BACKLIGHT_CLASS_DEVICE tristate "Lowlevel Backlight controls" - depends on BACKLIGHT_LCD_SUPPORT && FB + depends on BACKLIGHT_LCD_SUPPORT default m help This framework adds support for low-level control of the LCD
@@ -26,7 +26,7 @@ config BACKLIGHT_DEVICE config LCD_CLASS_DEVICE tristate "Lowlevel LCD controls" - depends on BACKLIGHT_LCD_SUPPORT && FB + depends on BACKLIGHT_LCD_SUPPORT default m help This framework adds support for low-level control of LCD.
drivers/video/backlight/backlight.c +53 -32
109 lines not on this page · raw message
drivers/video/backlight/lcd.c +47 -29
101 lines not on this page · raw message
Re: [PATCH] backlight: lcd: Remove dependency from the framebuffer layer
drivers/video/backlight/backlight.c #include <linux/ctype.h> · line 19
Quoted 2 lines · On Tue, 11 Jul 2006 15:04:08 +0800 "Antonino A. Daplas" <[email protected]>…
drivers/video/backlight/backlight.c +2
-0+#if defined(CONFIG_FB ) || (defined(CONFIG_FB_MODULE ) && \ + defined(CONFIG_BACKLIGHT_CLASS_DEVICE_MODULE ))
Peeking at CONFIG_FB_MODULE like this is considered sinful.
<tries to remember why>
Because someone might build a CONFIG_FB=n, CONFIG_FB_MODULE=n kernel, then later build the fbdev module for that kernel only to find that the backlight driver doesn't know that the fbdev module is available.
Or something like that. It's pretty contrived, and I really doubt that anyone's going to try to cobble together a kernel like that.
Or maybe there's a better reason...
Re: [PATCH] backlight: lcd: Remove dependency from the framebuffer layer
Quoted 10 lines · Andrew Morton
drivers/video/backlight/backlight.c #include <linux/ctype.h> · line 19
Quoted 2 lines · On Tue, 11 Jul 2006 15:04:08 +0800 "Antonino A. Daplas" <[email protected]>…
drivers/video/backlight/backlight.c +2
-0+#if defined(CONFIG_FB ) || (defined(CONFIG_FB_MODULE ) && \ + defined(CONFIG_BACKLIGHT_CLASS_DEVICE_MODULE ))Peeking at
CONFIG_FB_MODULElike this is considered sinful.<tries to remember why>
Quoted 8 lines
Because someone might build a
CONFIG_FB=n,CONFIG_FB_MODULE=nkernel, then later build the fbdev module for that kernel only to find that the backlight driver doesn't know that the fbdev module is available.Or something like that. It's pretty contrived, and I really doubt that anyone's going to try to cobble together a kernel like that.
Or maybe there's a better reason...
That's the simplest method I can think of to prevent impossible combinations such as CONFIG_FB=m, CONFIG_BACKLIGHT_CLASS_DEVICE=y without having to use 'depend' or 'select' in Kconfig, or God forbid, inter_module_get().
I should have added a comment that I also don't like the hackishness of this method.
Thinking about this a little more carefully now, how about we just statically link the fb notification?
I'll see if I can send an update for that.
Tony
PATCH 1/1 fbdev: Statically link the framebuffer notification functions
In reply to Andrew MortonThe backlight and lcd subsystems can be notified by the framebuffer layer of blanking events. However, these subsystems, as a whole, can function independently from the framebuffer layer. But in order to enable to the lcd and backlight subsystems, the framebuffer has to be compiled also, effectively sucking in a huge amount of unneeded code. Besides, the dependency is introducing a lot of compilation problems.
To prevent these, separate out the framebuffer notification mechanism from the framebuffer layer and permanently link it to the kernel.
---
Quoted 9 lines · Andrew Morton
Because someone might build a
CONFIG_FB=n,CONFIG_FB_MODULE=nkernel, then later build the fbdev module for that kernel only to find that the backlight driver doesn't know that the fbdev module is available.Or something like that. It's pretty contrived, and I really doubt that anyone's going to try to cobble together a kernel like that.
Or maybe there's a better reason...
Andrew,
Here's the patch as promised. The changelog should say it all. Statically linking the notification mechanism is not that expensive as the code is very small. Also, future subsystems that requires fb notification need not play dependency games.
I prefer this over the previous patch. If you do apply this, you have to revert backlight-lcd-remove-dependency-from-the-framebuffer-layer.patch. This patch leaves the code in the backlight directory untouched.
Tony
drivers/video/Makefile | 1 + drivers/video/backlight/Kconfig | 4 +-- drivers/video/fb_notify.c | 46 +++++++++++++++++++++++++++++++++ drivers/video/fbmem.c | 54 ++++++++------------------------------- include/linux/fb.h | 2 + 5 files changed, 61 insertions(+), 46 deletions(-)
drivers/video/Makefile +1 -0
@@ -4,6 +4,7 @@ # Rewritten to use lists instead of if-s # Each configuration option enables a list of files. +obj-y += fb_notify.o obj-$(CONFIG_FB) += fb.o fb-y := fbmem.o fbmon.o fbcmap.o fbsysfs.o \ modedb.o fbcvt.o
drivers/video/backlight/Kconfig +2 -2
@@ -10,7 +10,7 @@ menuconfig BACKLIGHT_LCD_SUPPORT config BACKLIGHT_CLASS_DEVICE tristate "Lowlevel Backlight controls" - depends on BACKLIGHT_LCD_SUPPORT && FB + depends on BACKLIGHT_LCD_SUPPORT default m help This framework adds support for low-level control of the LCD
@@ -26,7 +26,7 @@ config BACKLIGHT_DEVICE config LCD_CLASS_DEVICE tristate "Lowlevel LCD controls" - depends on BACKLIGHT_LCD_SUPPORT && FB + depends on BACKLIGHT_LCD_SUPPORT default m help This framework adds support for low-level control of LCD.
drivers/video/fb_notify.c new file +46 -0
46 lines not on this page · raw message
drivers/video/fbmem.c +11 -43
127 lines not on this page · raw message
include/linux/fb.h +1 -1
@@ -524,7 +524,7 @@ struct fb_event {extern int fb_register_client (struct notifier_block *nb);extern int fb_unregister_client (struct notifier_block *nb); - +extern int fb_notifier_call_chain (unsigned long val,void *v);/* * Pixmap structure definition *
PATCH 1/1 fbdev: Statically link the framebuffer notification functions
The backlight and lcd subsystems can be notified by the framebuffer layer of blanking events. However, these subsystems, as a whole, can function independently from the framebuffer layer. But in order to enable to the lcd and backlight subsystems, the framebuffer has to be compiled also, effectively sucking in a huge amount of unneeded code.
To prevent dependency problems, separate out the framebuffer notification mechanism from the framebuffer layer and permanently link it to the kernel.
---
Another oops, forgot to remove the if FB in Kconfig.
Tony
drivers/video/Kconfig | 2 + drivers/video/Makefile | 1 + drivers/video/backlight/Kconfig | 4 +-- drivers/video/fb_notify.c | 46 +++++++++++++++++++++++++++++++++ drivers/video/fbmem.c | 54 ++++++++------------------------------- include/linux/fb.h | 2 + 6 files changed, 62 insertions(+), 47 deletions(-)
drivers/video/Kconfig +1 -1
@@ -1622,7 +1622,7 @@ if FB || SGI_NEWPORT_CONSOLE source "drivers/video/logo/Kconfig" endif -if FB && SYSFS +if SYSFS source "drivers/video/backlight/Kconfig" endif
drivers/video/Makefile +1 -0
@@ -4,6 +4,7 @@ # Rewritten to use lists instead of if-s # Each configuration option enables a list of files. +obj-y += fb_notify.o obj-$(CONFIG_FB) += fb.o fb-y := fbmem.o fbmon.o fbcmap.o fbsysfs.o \ modedb.o fbcvt.o
drivers/video/backlight/Kconfig +2 -2
@@ -10,7 +10,7 @@ menuconfig BACKLIGHT_LCD_SUPPORT config BACKLIGHT_CLASS_DEVICE tristate "Lowlevel Backlight controls" - depends on BACKLIGHT_LCD_SUPPORT && FB + depends on BACKLIGHT_LCD_SUPPORT default m help This framework adds support for low-level control of the LCD
@@ -26,7 +26,7 @@ config BACKLIGHT_DEVICE config LCD_CLASS_DEVICE tristate "Lowlevel LCD controls" - depends on BACKLIGHT_LCD_SUPPORT && FB + depends on BACKLIGHT_LCD_SUPPORT default m help This framework adds support for low-level control of LCD.
drivers/video/fb_notify.c new file +46 -0
46 lines not on this page · raw message
drivers/video/fbmem.c +11 -43
127 lines not on this page · raw message
include/linux/fb.h +1 -1
@@ -524,7 +524,7 @@ struct fb_event {extern int fb_register_client (struct notifier_block *nb);extern int fb_unregister_client (struct notifier_block *nb); - +extern int fb_notifier_call_chain (unsigned long val,void *v);/* * Pixmap structure definition *
Re: [PATCH] fbdev: Statically link the framebuffer notification functions
In reply to Antonino A. DaplasQuoted 6 lines · Antonino A. Daplas
The backlight and lcd subsystems can be notified by the framebuffer layer of blanking events. However, these subsystems, as a whole, can function independently from the framebuffer layer. But in order to enable to the lcd and backlight subsystems, the framebuffer has to be compiled also, effectively sucking in a huge amount of unneeded code. Besides, the dependency is introducing a lot of compilation problems.
This code is effectively rebuilding a fb specific version of inter_module_get/put., something that was removed earlier.
Another solution would be to put this code into a tiny module and then have everyone depend on it.
Signature · 2 lines
Jon Smirl [email protected]
Re: [PATCH] fbdev: Statically link the framebuffer notification functions
Quoted 10 lines · Jon Smirl
Quoted 8 lines · Antonino A. Daplas
The backlight and lcd subsystems can be notified by the framebuffer layer of blanking events. However, these subsystems, as a whole, can function independently from the framebuffer layer. But in order to enable to the lcd and backlight subsystems, the framebuffer has to be compiled also,
effectively sucking in a huge amount of unneeded code. Besides, the dependency
is introducing a lot of compilation problems.
Quoted 2 lines
This code is effectively rebuilding a fb specific version of inter_module_get/put., something that was removed earlier.
Huh? I don't see any semblance of inter_module_* or symbol_* in there. Read the patch again.
Tony
Re: [PATCH] fbdev: Statically link the framebuffer notification functions
Quoted 11 lines · Antonino A. Daplas
Quoted 10 lines · Jon Smirl
Quoted 8 lines · Antonino A. Daplas
The backlight and lcd subsystems can be notified by the framebuffer layer of blanking events. However, these subsystems, as a whole, can function independently from the framebuffer layer. But in order to enable to the lcd and backlight subsystems, the framebuffer has to be compiled also,
effectively sucking in a huge amount of unneeded code. Besides, the dependency
is introducing a lot of compilation problems.
Quoted 5 lines
Quoted 2 lines
This code is effectively rebuilding a fb specific version of inter_module_get/put., something that was removed earlier.
Huh? I don't see any semblance of inter_module_* or symbol_* in there. Read the patch again.
You are providing a fixed point to do a rendezvous between modules without refcount tracking. That's what inter_module did. The symbol is being passed implicitly via the entry point names.
Just wrap fb_notifier in a module and it will get tracked.
Quoted 5 lines
Tony
Signature · 2 lines
Jon Smirl [email protected]
Re: [PATCH] fbdev: Statically link the framebuffer notification functions
Quoted 14 lines · Jon Smirl
Quoted 13 lines · Antonino A. Daplas
Quoted 2 lines · Jon Smirl
Quoted 1 line · Antonino A. Daplas
The backlight and lcd subsystems can be notified by the framebuffer
layer
Quoted 1 line
Quoted 1 line
of blanking events. However, these subsystems, as a whole, can
function
Quoted 7 lines
Quoted 6 lines
independently from the framebuffer layer. But in order to enable to the lcd and backlight subsystems, the framebuffer has to be compiled also,
effectively sucking in a huge amount of unneeded code. Besides, the dependency
is introducing a lot of compilation problems.
Quoted 8 lines
Quoted 5 lines
Quoted 2 lines
This code is effectively rebuilding a fb specific version of inter_module_get/put., something that was removed earlier.
Huh? I don't see any semblance of inter_module_* or symbol_* in there. Read the patch again.
You are providing a fixed point to do a rendezvous between modules without refcount tracking. That's what
inter_moduledid.
No, you're confused on inter_module. inter_module_* allows 2 or more modules to share data. The danger is that one module may disappear while the other is still accessing the data.
In this case, there is absolutely no data sharing. One module can safely unload without affecting the other. The only danger is that one might be in a midst of a calling the callout function while the other is unregistering its notifier block. But then the notifier chain already protects this from happening.
Quoted 4 lines
The symbol is
being passed implicitly via the entry point names.Just wrap
fb_notifierin a module and it will get tracked.
No, there's no need to do this. It just adds more complexity to the already complicated dependency.
Tony
Re: [PATCH] fbdev: Statically link the framebuffer notification functions
Quoted 28 lines · Antonino A. Daplas
Quoted 14 lines · Jon Smirl
Quoted 13 lines · Antonino A. Daplas
Quoted 2 lines · Jon Smirl
Quoted 1 line · Antonino A. Daplas
The backlight and lcd subsystems can be notified by the framebuffer
layer
Quoted 1 line
Quoted 1 line
of blanking events. However, these subsystems, as a whole, can
function
Quoted 7 lines
Quoted 6 lines
independently from the framebuffer layer. But in order to enable to the lcd and backlight subsystems, the framebuffer has to be compiled also,
effectively sucking in a huge amount of unneeded code. Besides, the dependency
is introducing a lot of compilation problems.Quoted 8 lines
Quoted 5 lines
Quoted 2 lines
This code is effectively rebuilding a fb specific version of inter_module_get/put., something that was removed earlier.
Huh? I don't see any semblance of inter_module_* or symbol_* in there. Read the patch again.
You are providing a fixed point to do a rendezvous between modules without refcount tracking. That's what
inter_moduledid.No, you're confused on
inter_module. inter_module_* allows 2 or more modules to share data. The danger is that one module may disappear while the other is still accessing the data.
Quoted 5 lines
In this case, there is absolutely no data sharing. One module can safely unload without affecting the other. The only danger is that one might be in a midst of a calling the callout function while the other is unregistering its notifier block. But then the notifier chain already protects this from happening.
The code looks ok but this sure smells like inter_module_*. I guess inter_module had to deal with arbitrary users and this code is dealing with a fixed set of clients which makes it more manageable.
Have you considered making this a generic service and not fb specific?
Signature · 2 lines
Jon Smirl [email protected]
Re: [PATCH] fbdev: Statically link the framebuffer notification functions
Quoted 30 lines · Jon Smirl
Quoted 29 lines · Antonino A. Daplas
Quoted 9 lines · Jon Smirl
Quoted 8 lines · Antonino A. Daplas
Quoted 2 lines · Jon Smirl
Quoted 1 line · Antonino A. Daplas
The backlight and lcd subsystems can be notified by the framebuffer
layer
Quoted 1 line
Quoted 1 line
of blanking events. However, these subsystems, as a whole, can
function
Quoted 2 lines
Quoted 2 lines
independently from the framebuffer layer. But in order to enable to the lcd and backlight subsystems, the framebuffer has to be
compiled
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 4 lines
also,
effectively sucking in a huge amount of unneeded code. Besides, the dependency
is introducing a lot of compilation problems.Quoted 8 lines
Quoted 5 lines
Quoted 2 lines
This code is effectively rebuilding a fb specific version of inter_module_get/put., something that was removed earlier.
Huh? I don't see any semblance of inter_module_* or symbol_* in there. Read the patch again.
You are providing a fixed point to do a rendezvous between modules without refcount tracking. That's what
inter_moduledid.No, you're confused on
inter_module. inter_module_* allows 2 or more modules to share data. The danger is that one module may disappear while the other is still accessing the data.
Quoted 7 lines
Quoted 5 lines
In this case, there is absolutely no data sharing. One module can safely unload without affecting the other. The only danger is that one might be in a midst of a calling the callout function while the other is unregistering its notifier block. But then the notifier chain already protects this from happening.
The code looks ok but this sure smells like inter_module_*.
I assure you, there is no smell of inter_module_* here. What scenario are you afraid of?
Quoted 6 lines
I guess
inter_modulehad to deal with arbitrary users and this code is dealing with a fixed set of clients which makes it more manageable.Have you considered making this a generic service and not fb specific?
It's basically a wrapper to the notifier_call_chain, that's as generic as it can get. And yes, it's not fb_specific (meaning, there's no need for the client module to know fbdev internals), that's why the lcd and backlight subsystem can take advantage of it.
Tony
Re: [PATCH] fbdev: Statically link the framebuffer notification functions
Quoted 4 lines · Antonino A. Daplas
Quoted 1 line
The code looks ok but this sure smells like inter_module_*.
I assure you, there is no smell of inter_module_* here. What scenario are you afraid of?
Dangling references during the load/unload process. That was inter_module's problem.
Quoted 5 lines
Quoted 5 lines
I guess
inter_modulehad to deal with arbitrary users and this code is dealing with a fixed set of clients which makes it more manageable.
Quoted 7 lines
Quoted 2 lines
Have you considered making this a generic service and not fb specific?
It's basically a wrapper to the
notifier_call_chain, that's as generic as it can get. And yes, it's notfb_specific(meaning, there's no need for the client module to know fbdev internals), that's why the lcd and backlight subsystem can take advantage of it.
The generic code could create notifier chains with a name. The modules would then use the name to attach. Now you don't need the fb_notifier code.
Signature · 2 lines
Jon Smirl [email protected]
Re: [PATCH] fbdev: Statically link the framebuffer notification functions
Quoted 8 lines · Jon Smirl
Quoted 4 lines · Antonino A. Daplas
Quoted 1 line
The code looks ok but this sure smells like inter_module_*.
I assure you, there is no smell of inter_module_* here. What scenario are you afraid of?
Dangling references during the load/unload process. That was inter_module's problem.
That won't happen. If fbdev unloads, then the module that does the notification disappears, and the clients won't receive notifications. If the client is the one that unloads first, it unregisters its notifier block, and that's one less client for fbdev to notify (And fbdev doesn't know how many clients are there, that's internal to the notifier). And since registration, unregistration and the call to the callout function in the notifier block are protected by a semaphore (in the blocking type), the danger of unregistration while in the midst of a notification is removed.
Tony
PATCH 1/1 sound-miro unknown symbols (Depmod errors on 2.6.17.4/2.6.18-rc1/2.6.18-rc1-mm1)
In reply to Matt ReutherQuoted 10 lines
WARNING:
/lib/modules/2.6.18-rc1-mm1/kernel/sound/isa/opti9xx/snd-miro.koneeds unknown symbolsnd_cs4231_create
WARNING:/lib/modules/2.6.18-rc1-mm1/kernel/sound/isa/opti9xx/snd-miro.koneeds unknown symbolsnd_cs4231_pcm
WARNING:/lib/modules/2.6.18-rc1-mm1/kernel/sound/isa/opti9xx/snd-miro.koneeds unknown symbolsnd_cs4231_timer
WARNING:/lib/modules/2.6.18-rc1-mm1/kernel/sound/isa/opti9xx/snd-miro.koneeds unknown symbolsnd_cs4231_mixer
WARNING:/lib/modules/2.6.18-rc1-mm1/kernel/fs/reiser4/reiser4.koneeds unknown symbolgeneric_file_read
Someone posted a patch for the reiser4 function-name conversion.
Here is a patch for the snd-miro driver references.
---
From: Randy Dunlap <[email protected]>
Fix undefined (missing) references in ISA MIRO sound driver.
--- sound/isa/cs423x/Makefile | 1 + 1 file changed, 1 insertion(+)
sound/isa/cs423x/Makefile +1 -0
@@ -11,6 +11,7 @@ snd-cs4236-objs := cs4236.o # Toplevel Module Dependency obj-$(CONFIG_SND_AZT2320) += snd-cs4231-lib.o +obj-$(CONFIG_SND_MIRO) += snd-cs4231-lib.o obj-$(CONFIG_SND_OPL3SA2) += snd-cs4231-lib.o obj-$(CONFIG_SND_CS4231) += snd-cs4231.o snd-cs4231-lib.o obj-$(CONFIG_SND_CS4232) += snd-cs4232.o snd-cs4231-lib.o
Quoted 20 lines · Matt Reuther
Quoted 19 lines · Antonino A. Daplas
Quoted 4 lines · Matt Reuther
Quoting "Antonino A. Daplas" <[email protected]>:
Quoted 3 lines
CONFIG_FB=n,CONFIG_BACKLIGHT_CLASS_DEVICE=mshould not be possible in 2.6.18-rc1-mm1 and 2.6.18-rc1. Can you run kconfig again?Quoted 8 lines
Quoted 1 line
Tony
I am not at the computer right now, but I will try later.
Here is how I got config-2.6.18-rc1-mm1. I copied this config from 2.6.18-rc1, which I had created with 'make menuconfig'. I ran 'make oldconfig' on the config-2.6.18-rc1 and answered the new questions to generate config-2.6.18-rc1-mm1. I compiled it from there. Does 'make oldconfig' not work properly anymore?
I really don't know. I have received several bug reports where the main cause was that a kconfig option changed after upgrading kernels.
I tested with make menuconfig, and it's not possible to set lcd/backlight options if
CONFIG_FBis not set.
Quoted 7 lines
Quoted 1 line
Tony
I ran 'make menuconfig' and I got the same warnings. Perhaps
CONFIG_FBneeds to be part of the 'selects' line for any option that selects the backlight support. I think the USB Apple Cinema display support, which I set as modular, might have selected backlight. I don't need framebuffer support, so I have that shut off. Here are the depmod warnings once again:
Yes, that's the culprit. I've been thinking for some time to eliminate the framebuffer dependency from lcd/backlight. Can you try the patch I sent in another thread?
Tony
Quoted 10 lines · Antonino A. Daplas
Quoted 8 lines · Matt Reuther
Quoted 1 line · Antonino A. Daplas
Matt Reuther wrote:
I ran 'make menuconfig' and I got the same warnings. Perhaps
CONFIG_FBneeds to be part of the 'selects' line for any option that selects the backlight support. I think the USB Apple Cinema display support, which I set as modular, might have selected backlight. I don't need framebuffer support, so I have that shut off. Here are the depmod warnings once again:
Quoted 5 lines
Yes, that's the culprit. I've been thinking for some time to eliminate the framebuffer dependency from lcd/backlight. Can you try the patch I sent in another thread?
Tony
OK. I will give that a shot, probably this evening.
Shouldn't kconfig recursively figure out dependencies for stuff like this?
I turned on Apple Cinema support without turning on the framebuffer, but Cinema needed backlight, which needed framebuffer. I can see kconfig turning on backlight, but not checking to see what backlight needed.
There might be similar issues with snd-miro, which seems to want stuff in snd_cs4231, which I think I have shut off.
Thanks for your help. I try out your patch later on today, when I can get back to my computer.
Matt
Quoted 14 lines · Matt Reuther
Quoted 13 lines · Antonino A. Daplas
Quoted 8 lines · Matt Reuther
Quoted 1 line · Antonino A. Daplas
Matt Reuther wrote:
I ran 'make menuconfig' and I got the same warnings. Perhaps
CONFIG_FBneeds to be part of the 'selects' line for any option that selects the backlight support. I think the USB Apple Cinema display support, which I set as modular, might have selected backlight. I don't need framebuffer support, so I have that shut off. Here are the depmod warnings once again:Yes, that's the culprit. I've been thinking for some time to eliminate the framebuffer dependency from lcd/backlight. Can you try the patch I sent in another thread?
Quoted 5 lines
Quoted 1 line
Tony
OK. I will give that a shot, probably this evening.
Shouldn't kconfig recursively figure out dependencies for stuff like this?
'select' doesn't. So does 'depends on'. Anyway, I consider it wasteful to also compile in fb when backlight/lcd is the only one needed. So try instead the other patch (Statically link the framebuffer notification functions).
Quoted 4 lines
I turned on Apple Cinema support without turning on the framebuffer, but Cinema needed backlight, which needed framebuffer. I can see kconfig turning on backlight, but not checking to see what backlight needed.
Yes, known problem with select.
Quoted 7 lines
There might be similar issues with snd-miro, which seems to want stuff in
snd_cs4231, which I think I have shut off.Thanks for your help. I try out your patch later on today, when I can get back to my computer.
Thanks for the report too.
Tony
The depmod problems are gone, except for the reiser4 warning about generic_file_read. I thought I had the right patch for that, too, but I guess not.
Thanks for all the help!
Matt
Quoted 3 lines · On Wed, 12 Jul 2006 08:41:48 -0400 Matt Reuther wrote:
The depmod problems are gone, except for the reiser4 warning about
generic_file_read. I thought I had the right patch for that, too, but I guess not.
This one seems to be the correct one:
http://marc.theaimsgroup.com/?l=linux-kernel&m=115253892505274&w=2
---
~Randy