Re: [RFC] x86: sysfb: remove sysfb when probing real hw
flat view
From: Ingo Molnar <mingo@kernel.org>
Date: 2013-12-18 11:54:35
Also in:
lkml
* David Herrmann [off-list ref] wrote:
If we probe a real hw driver for graphics devices, we need to unload any generic fallback driver like efifb/vesafb/simplefb on the system framebuffer. This is currently done via remove_conflicting_framebuffers() in fbmem.c. However, this only removes the fbdev driver, not the fake platform devices underneath. This hasn't been a problem so far, as efifb and vesafb didn't store any resources there. However, with simplefb this changed. To correctly release the IORESOURCE_MEM resources of simple-framebuffer platform devices, we need to unregister the underlying platform device *before* probing any new hw driver. This patch adds sysfb_unregister() for that purpose. It can be called from any context (except from the platform-device ->remove callback path) and synchronously unloads any global sysfb and prevents new sysfbs from getting registered. Thus, you can call it even before any sysfb has been loaded. This also changes remove_conflicting_framebuffer() to call this helper *before* trying it's fbdev heuristic to remove conflicting drivers. Signed-off-by: David Herrmann <redacted> --- Hi This is imho the clean version of Takashi's fix. However, it gets pretty huge. I wouldn't object to marking CONFIG_X86_SYSFB broken in the stable series and get this in for 3.14. Your call.. This patch basically simulates an unplug event for system-framebuffers when loading real hardware drivers. To trigger it, call sysfb_unregister(). You can optionally pass an aperture-struct and primary-flag similar to remove_conflicting_framebuffers(). If they're not passed, we remove it unconditionally. Untested, but my kernel compiles are already running. If my tests succeed and nobody has objections, I can resend it as proper PATCH and marked for stable. And maybe split the fbmem and sysfb changes into two patches..
Please fix the changelog to conform to the standard changelog style: - first describe the symptoms of the bug - how does a user notice? - then describe how the code behaves today and how that is causing the bug - and then only describe how it's fixed. The first item is the most important one - while developers (naturally) tend to concentrate on the least important point, the last one. Thanks, Ingo