From: Jesse Barnes <jbarnes@virtuousgeek.org>
To: "Antonino A. Daplas" <adaplas@gmail.com>
Cc: Jesse Barnes <jesse.barnes@intel.com>,
linux-kernel@vger.kernel.org,
James Simmons <jsimmons@pentafluge.infradead.org>
Subject: [PATCH 1/2] allow console unregistration
Date: Tue, 22 May 2007 14:43:04 -0700 [thread overview]
Message-ID: <200705221443.04859.jbarnes@virtuousgeek.org> (raw)
In-Reply-To: <1179444190.5092.4.camel@daplas>
On Thursday, May 17, 2007, Antonino A. Daplas wrote:
> On Thu, 2007-05-17 at 15:32 -0700, Jesse Barnes wrote:
> > Randy just informed me that the patch limits are bigger now, so here
> > are the actual patches.
> >
> > This patch allows for proper console unregistration via the VT layer,
> > and updates the FB layer to use it. This makes debugging new console
> > drivers much easier, since you can properly clean them up before
> > unloading. Antonio already checked it out (and suggested a tweak for
> > the fbcon side) so I think it's on its way already via the FB tree.
>
> Sorry, I was busy and got sidetracked so I wasn't able to work on this
> for 2 weeks. Yes, this should work for now, at least for debugging
> purposes. I'll work on refining on fbcon side, hopefully for
> 2.6.22-2.6.23 time frame.
Btw, here's an updated console unregister patchset with signoff in the
off chance you like it right away. :)
When rmmod'd, some drivers might like to unregister the console they have
registered (e.g. the fbcon driver), so export unbind_con_driver. It
properly cleans up console references and takes care of switching to
one of the other registered drivers as needed.
Signed-off-by: Jesse Barnes <jesse.barnes@intel.com>
diff -Napur -X /home/jbarnes/dontdiff --exclude=Makefile linux-2.6.22-rc2/drivers/char/vt.c linux-2.6.22-rc2-modesetting/drivers/char/vt.c
--- linux-2.6.22-rc2/drivers/char/vt.c 2007-05-18 21:06:17.000000000 -0700
+++ linux-2.6.22-rc2-modesetting/drivers/char/vt.c 2007-05-22 14:10:35.000000000 -0700
@@ -2981,8 +2981,24 @@ static int con_is_graphics(const struct
return retval;
}
-static int unbind_con_driver(const struct consw *csw, int first, int last,
- int deflt)
+/**
+ * unbind_con_driver - unbind a console driver
+ * @csw: pointer to console driver to unregister
+ * @first: first in range of consoles that @csw should be unbound from
+ * @last: last in range of consoles that @csw should be unbound from
+ * @deflt: should next bound console driver be default after @csw is unbound?
+ *
+ * To unbind a driver from all possible consoles, pass 0 as @first and
+ * %MAX_NR_CONSOLES as @last.
+ *
+ * @deflt controls whether the console that ends up replacing @csw should be
+ * the default console.
+ *
+ * RETURNS:
+ * -ENODEV if @csw isn't a registered console driver or can't be unregistered
+ * or 0 on success.
+ */
+int unbind_con_driver(const struct consw *csw, int first, int last, int deflt)
{
struct module *owner = csw->owner;
const struct consw *defcsw = NULL;
@@ -3067,6 +3083,7 @@ err:
return retval;
}
+EXPORT_SYMBOL(unbind_con_driver);
static int vt_bind(struct con_driver *con)
{
diff -Napur -X /home/jbarnes/dontdiff --exclude=Makefile linux-2.6.22-rc2/include/linux/console.h linux-2.6.22-rc2-modesetting/include/linux/console.h
--- linux-2.6.22-rc2/include/linux/console.h 2007-05-18 21:06:17.000000000 -0700
+++ linux-2.6.22-rc2-modesetting/include/linux/console.h 2007-05-22 14:10:35.000000000 -0700
@@ -64,6 +64,7 @@ extern const struct consw vga_con; /* VG
extern const struct consw newport_con; /* SGI Newport console */
extern const struct consw prom_con; /* SPARC PROM console */
+int unbind_con_driver(const struct consw *csw, int first, int last, int deflt);
int con_is_bound(const struct consw *csw);
int register_con_driver(const struct consw *csw, int first, int last);
int unregister_con_driver(const struct consw *csw);
next prev parent reply other threads:[~2007-05-22 21:43 UTC|newest]
Thread overview: 100+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-17 21:23 [RFC] enhancing the kernel's graphics subsystem Jesse Barnes
2007-05-17 22:32 ` [PATCH 1/3] allow console unregistration Jesse Barnes
2007-05-17 22:47 ` Jesse Barnes
2007-05-17 23:23 ` Antonino A. Daplas
2007-05-18 0:56 ` Jesse Barnes
2007-05-22 21:43 ` Jesse Barnes [this message]
2007-05-23 0:49 ` [PATCH 1/2] " Antonino A. Daplas
2007-05-22 21:44 ` [PATCH 2/2] make fbcon unregister when unloaded Jesse Barnes
2007-05-22 22:05 ` Randy Dunlap
2007-05-22 22:14 ` Jesse Barnes
2007-05-23 0:47 ` Antonino A. Daplas
2007-05-30 0:00 ` [PATCH 1/3] allow console unregistration Antonino A. Daplas
2007-05-30 6:26 ` Geert Uytterhoeven
2007-05-17 22:37 ` [PATCH 2/3] drm modesetting core Jesse Barnes
2007-05-17 22:48 ` Jesse Barnes
2007-05-17 23:41 ` Luca Tettamanti
2007-05-18 1:04 ` Jesse Barnes
2007-05-18 19:33 ` Luca Tettamanti
2007-05-18 21:06 ` Jesse Barnes
2007-05-17 22:40 ` [PATCH 3/3] Intel support for DRM modesetting Jesse Barnes
2007-05-17 22:48 ` Jesse Barnes
2007-05-20 17:42 ` [RFC] enhancing the kernel's graphics subsystem Jon Smirl
2007-05-20 23:10 ` Jesse Barnes
2007-05-21 0:47 ` Jon Smirl
2007-05-21 1:29 ` Jeff Garzik
2007-05-21 15:34 ` Jon Smirl
2007-05-21 16:15 ` Arjan van de Ven
2007-05-21 15:09 ` Jesse Barnes
2007-05-21 16:01 ` Jon Smirl
2007-05-21 16:14 ` Jesse Barnes
2007-05-21 16:34 ` Jesse Barnes
2007-05-21 17:05 ` Jon Smirl
2007-05-21 17:14 ` Dave Airlie
2007-05-21 17:29 ` Jon Smirl
2007-05-21 17:42 ` Jon Smirl
2007-05-21 17:47 ` Dave Airlie
2007-05-21 18:04 ` Jon Smirl
2007-05-21 18:44 ` Dave Airlie
2007-05-21 19:10 ` Jon Smirl
2007-05-21 19:20 ` Dave Airlie
2007-05-21 23:24 ` Jeff Garzik
2007-05-22 0:08 ` Jon Smirl
2007-05-22 0:20 ` Benjamin Herrenschmidt
2007-05-21 23:21 ` Jeff Garzik
2007-05-22 0:35 ` Alan Cox
2007-05-22 0:33 ` Jeff Garzik
2007-05-22 0:45 ` Jon Smirl
2007-05-22 0:56 ` Jon Smirl
2007-05-22 8:21 ` Dave Airlie
2007-05-22 8:07 ` Dave Airlie
2007-05-22 8:16 ` Jeff Garzik
2007-05-22 8:27 ` Dave Airlie
2007-05-22 16:06 ` Jon Smirl
2007-05-22 16:19 ` Alan Cox
2007-05-22 16:34 ` Jeff Garzik
2007-05-22 0:15 ` Benjamin Herrenschmidt
2007-05-21 17:32 ` Jesse Barnes
2007-05-21 23:18 ` Jeff Garzik
2007-05-22 0:26 ` Jon Smirl
2007-05-22 1:56 ` Jesse Barnes
2007-05-22 14:27 ` Jon Smirl
2007-05-22 14:35 ` Dave Airlie
2007-05-22 15:13 ` Jon Smirl
2007-05-22 17:25 ` Dave Airlie
2007-05-22 19:58 ` Jon Smirl
2007-05-28 20:12 ` Pavel Machek
2007-05-28 20:57 ` Jon Smirl
2007-05-29 14:26 ` Pavel Machek
2007-05-29 16:51 ` Jon Smirl
2007-05-22 14:54 ` Alan Cox
2007-05-22 15:16 ` Jon Smirl
2007-05-22 15:46 ` Jesse Barnes
2007-05-22 16:02 ` Jon Smirl
2007-05-22 16:14 ` Alan Cox
2007-05-22 16:15 ` Jesse Barnes
2007-05-22 16:32 ` Jon Smirl
2007-05-22 16:35 ` Jeff Garzik
2007-05-22 16:51 ` Jesse Barnes
2007-05-22 15:59 ` Matthew Garrett
2007-05-21 16:16 ` Dave Airlie
2007-05-21 8:27 ` Dave Airlie
2007-05-21 9:09 ` Helge Hafting
2007-05-21 9:27 ` Dave Airlie
2007-05-21 9:44 ` Helge Hafting
2007-05-21 15:57 ` Jesse Barnes
2007-05-21 16:07 ` Jon Smirl
2007-05-21 16:27 ` Dave Airlie
2007-05-21 16:50 ` Xavier Bestel
2007-05-22 0:09 ` Benjamin Herrenschmidt
2007-05-22 0:51 ` Keith Packard
2007-05-22 2:48 ` Benjamin Herrenschmidt
2007-05-22 15:39 ` Jesse Barnes
2007-05-22 23:26 ` Benjamin Herrenschmidt
2007-05-22 23:36 ` Jesse Barnes
2007-05-23 0:40 ` Antonino A. Daplas
2007-05-23 12:19 ` Helge Hafting
2007-05-22 16:29 ` Philipp Klaus Krause
2007-05-22 16:57 ` Jesse Barnes
2007-05-22 18:18 ` Dave Airlie
2007-05-22 2:56 ` l l
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200705221443.04859.jbarnes@virtuousgeek.org \
--to=jbarnes@virtuousgeek.org \
--cc=adaplas@gmail.com \
--cc=jesse.barnes@intel.com \
--cc=jsimmons@pentafluge.infradead.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome