On Sat, Apr 10, 2010 at 09:55:34PM +0200, marcin.slusarz at gmail.com wrote: > Currently vesafb/efifb/... is kicked when hardware driver is registering > framebuffer. To do it hardware must be fully functional, so there's a short > window between start of initialisation and framebuffer registration when > two drivers touch the hardware. Unfortunately sometimes it breaks nouveau > initialisation. > > Fix it by kicking firmware driver(s) before we start touching the hardware. > > Reported-by: Didier Spaier <didier.spaier at epsm.fr> > Signed-off-by: Marcin Slusarz <marcin.slusarz at gmail.com> > Cc: Ben Skeggs <bskeggs at redhat.com> > Cc: Dave Airlie <airlied at redhat.com> > Cc: Peter Jones <pjones at redhat.com> > Cc: Andrew Morton <akpm at linux-foundation.org> > --- With this little patch below: Tested-by: Didier Spaier <didier.spaier at epsm.fr> --- diff --git a/drivers/video/fbmem.c b/drivers/video/fbmem.c index f5297a0..42ae782 100644 --- a/drivers/video/fbmem.c +++ b/drivers/video/fbmem.c @@ -1524,6 +1524,7 @@ void remove_conflicting_framebuffers(struct apertures_struct *a, const char *nam } } } +EXPORT_SYMBOL(remove_conflicting_framebuffers); /** * register_framebuffer - registers a frame buffer device