[PATCH] [correction] load fbcon from drm_kms_helper
florian at mickler.org
Mon Dec 13 07:25:13 PST 2010
On Sun, 12 Dec 2010 18:34:11 -0600
David Fries <david at fries.net> wrote:
> On Sun, Dec 12, 2010 at 11:01:28PM +0100, Florian Mickler wrote:
> > On Sun, 12 Dec 2010 12:39:22 -0600
> > David Fries <david at fries.net> wrote:
> > > Kconfig says fbcon is required by drm_kms_helper. If radeon, fbcon,
> > > and drm_kms_helper are all modules, radeon is auto loaded (by PCI id?),
> > > drm_kms_helper is loaded because of the module dependency, but fbcon
> > > isn't loaded leaving the console unusable. Since fbcon is required
> > > and there isn't an explicit module dependency, request the module
> > > to be loaded from drm_kms_helper.
> > >
> > > Signed-off-by: David Fries <david at fries.net>
> > > Cc: David Airlie <airlied at linux.ie>
> > > Cc: dri-devel at lists.freedesktop.org
> > > ---
> > > The last patch had a typo 'namue', mental reminder, test again after
> > > running checkpatch.pl.
> > >
> > > This solves compiling CONFIG_FB=m and being left with a blank screen
> > > because the radeon module is automatically loaded, but fbcon isn't.
> > > If radeon had to be manually loaded, then it would be the user's fault
> > > for
> > > not loading fbcon as well, but as radeon is being loaded
> > > automatically,
> > > there isn't much a user can do from console to even fix it. More bug
> > > details from here,
> > > https://bugzilla.kernel.org/show_bug.cgi?id=16221
> > I guess this is reasonable. Maybe _if_ there actually is a usecase for
> > a drm driver without fbcon, the drm could provide a
> > parameter to skip loading fbcon?
> My question was more, is there a usecase for a drm driver with
> the fbcon module available, but not wanting it loaded?
Isn't that the same question? I intended it to be in any case. :)
> > But also the drm Kconfig seems to be bogus? SELECT is not transitiv.
> > So selecting DRM_KMS_HELPER is not enough, as it will not select FB
> > and FRAMEBUFFER_CONSOLE. Maybe the drm drivers that currently
> > select DRM_KMS_HELPER should instead depend on it.
> But the "select FB" and "select FRAMEBUFFER_CONSOLE if !EMBEDDED"
> Kconfig for DRM_KMS_HELPER is the mechanism that cause FB and
> FRAMEBUFFER_CONSOLE to be compiled. The was the other part of my
> reasoning, if there is a case for drm without fbcon, DRM_KMS_HELPER
> shouldn't force fbcon to be compiled. But as it does require fbcon to
> be compiled, and things are clearly broken if a drm driver is loaded
> (radeon) but fbcon isn't loaded (no usable console) DRM_KMS_HELPER
> should try to load it, hence the patch.
> Just for a check I used `make xconfig` to verify they are
> automatically selected.
> set FB, DRM_RADEON, DRM etc to =n so FRAMEBUFFER_CONSOLE can also be set to =n
> set DRM=m (FRAMEBUFFER_CONSOLE still =n)
> set DRM_RADEON=m (DRM_KMS_HELPER, FB, and FRAMEBUFFER_CONSOLE become =m)
> That's because DRM_RADEON sets DRM_KMS_HELPER, and DRM_KMS_HELPER selects
> FB and FRAMEBUFFER_CONSOLE
> config DRM_RADEON
> select DRM_KMS_HELPER
> config DRM_KMS_HELPER
> select FB
> select FRAMEBUFFER_CONSOLE if !EMBEDDED
> and FRAMEBUFFER_CONSOLE is forced to =m
You are right. Sorry for the confusion. select is indeed
transitive. (I could have sworn... bah..)
More information about the dri-devel