mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Greg KH <gregkh@suse.de>
To: linux-kernel@vger.kernel.org, stable@kernel.org
Cc: stable-review@kernel.org, torvalds@linux-foundation.org,
	akpm@linux-foundation.org, alan@lxorguk.ukuu.org.uk,
	"David S. Miller" <davem@davemloft.net>
Subject: [15/99] sparc: Kill PROM console driver.
Date: Fri, 06 Nov 2009 14:14:13 -0800	[thread overview]
Message-ID: <20091106221540.673374392@mini.kroah.org> (raw)
In-Reply-To: <20091106221850.GA15408@kroah.com>

[-- Attachment #1: sparc-kill-prom-console-driver.patch --]
[-- Type: text/plain, Size: 17291 bytes --]

2.6.31-stable review patch.  If anyone has any objections, please let us know.

------------------
From: David S. Miller <davem@davemloft.net>

[ Upstream commit 09d3f3f0e02c8a900d076c302c5c02227f33572d ]

Many years ago when this driver was written, it had a use, but these
days it's nothing but trouble and distributions should not enable it
in any situation.

Pretty much every console device a sparc machine could see has a
bonafide real driver, making the PROM console hack unnecessary.

If any new device shows up, we should write a driver instead of
depending upon this crutch to save us.  We've been able to take care
of this even when no chip documentation exists (sunxvr500, sunxvr2500)
so there are no excuses.

Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 Documentation/dontdiff           |    1 
 arch/sparc/kernel/setup_32.c     |    2 
 arch/sparc/kernel/setup_64.c     |    2 
 drivers/char/vt.c                |    3 
 drivers/video/console/.gitignore |    2 
 drivers/video/console/Kconfig    |    9 
 drivers/video/console/Makefile   |   12 
 drivers/video/console/prom.uni   |   11 
 drivers/video/console/promcon.c  |  598 ---------------------------------------
 scripts/Makefile                 |    1 
 10 files changed, 1 insertion(+), 640 deletions(-)

--- a/arch/sparc/kernel/setup_32.c
+++ b/arch/sparc/kernel/setup_32.c
@@ -263,8 +263,6 @@ void __init setup_arch(char **cmdline_p)
 
 #ifdef CONFIG_DUMMY_CONSOLE
 	conswitchp = &dummy_con;
-#elif defined(CONFIG_PROM_CONSOLE)
-	conswitchp = &prom_con;
 #endif
 	boot_flags_init(*cmdline_p);
 
--- a/arch/sparc/kernel/setup_64.c
+++ b/arch/sparc/kernel/setup_64.c
@@ -295,8 +295,6 @@ void __init setup_arch(char **cmdline_p)
 
 #ifdef CONFIG_DUMMY_CONSOLE
 	conswitchp = &dummy_con;
-#elif defined(CONFIG_PROM_CONSOLE)
-	conswitchp = &prom_con;
 #endif
 
 	idprom_init();
--- a/Documentation/dontdiff
+++ b/Documentation/dontdiff
@@ -152,7 +152,6 @@ piggy.gz
 piggyback
 pnmtologo
 ppc_defs.h*
-promcon_tbl.c
 pss_boot.h
 qconf
 raid6altivec*.c
--- a/drivers/char/vt.c
+++ b/drivers/char/vt.c
@@ -2948,9 +2948,6 @@ int __init vty_init(const struct file_op
 		panic("Couldn't register console driver\n");
 	kbd_init();
 	console_map_init();
-#ifdef CONFIG_PROM_CONSOLE
-	prom_con_init();
-#endif
 #ifdef CONFIG_MDA_CONSOLE
 	mda_console_init();
 #endif
--- a/drivers/video/console/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-# conmakehash generated file
-promcon_tbl.c
--- a/drivers/video/console/Kconfig
+++ b/drivers/video/console/Kconfig
@@ -67,16 +67,9 @@ config SGI_NEWPORT_CONSOLE
 
 #  bool 'IODC console' CONFIG_IODC_CONSOLE
 
-config PROM_CONSOLE
-	bool "PROM console"
-	depends on SPARC
-	help
-	  Say Y to build a console driver for Sun machines that uses the
-	  terminal emulation built into their console PROMS.
-
 config DUMMY_CONSOLE
 	bool
-	depends on PROM_CONSOLE!=y || VGA_CONSOLE!=y || SGI_NEWPORT_CONSOLE!=y 
+	depends on VGA_CONSOLE!=y || SGI_NEWPORT_CONSOLE!=y
 	default y
 
 config DUMMY_CONSOLE_COLUMNS
--- a/drivers/video/console/Makefile
+++ b/drivers/video/console/Makefile
@@ -22,7 +22,6 @@ font-objs += $(font-objs-y)
 
 obj-$(CONFIG_DUMMY_CONSOLE)       += dummycon.o
 obj-$(CONFIG_SGI_NEWPORT_CONSOLE) += newport_con.o font.o
-obj-$(CONFIG_PROM_CONSOLE)        += promcon.o promcon_tbl.o
 obj-$(CONFIG_STI_CONSOLE)         += sticon.o sticore.o font.o
 obj-$(CONFIG_VGA_CONSOLE)         += vgacon.o
 obj-$(CONFIG_MDA_CONSOLE)         += mdacon.o
@@ -40,14 +39,3 @@ obj-$(CONFIG_FB_STI)              += sti
 ifeq ($(CONFIG_USB_SISUSBVGA_CON),y)
 obj-$(CONFIG_USB_SISUSBVGA)           += font.o
 endif
-
-# Targets that kbuild needs to know about
-targets := promcon_tbl.c
-
-quiet_cmd_conmakehash = CNMKHSH $@
-      cmd_conmakehash = scripts/conmakehash $< | \
-		sed -e '/\#include <[^>]*>/p' -e 's/types/init/' \
-		-e 's/dfont\(_uni.*\]\)/promfont\1 /' > $@
-
-$(obj)/promcon_tbl.c: $(src)/prom.uni
-	$(call cmd,conmakehash)
--- a/drivers/video/console/promcon.c
+++ /dev/null
@@ -1,598 +0,0 @@
-/* $Id: promcon.c,v 1.17 2000/07/26 23:02:52 davem Exp $
- * Console driver utilizing PROM sun terminal emulation
- *
- * Copyright (C) 1998  Eddie C. Dost  (ecd@skynet.be)
- * Copyright (C) 1998  Jakub Jelinek  (jj@ultra.linux.cz)
- */
-
-#include <linux/module.h>
-#include <linux/kernel.h>
-#include <linux/errno.h>
-#include <linux/string.h>
-#include <linux/mm.h>
-#include <linux/slab.h>
-#include <linux/delay.h>
-#include <linux/console.h>
-#include <linux/vt_kern.h>
-#include <linux/selection.h>
-#include <linux/fb.h>
-#include <linux/init.h>
-#include <linux/kd.h>
-
-#include <asm/oplib.h>
-#include <asm/uaccess.h>
-
-static short pw = 80 - 1, ph = 34 - 1;
-static short px, py;
-static unsigned long promcon_uni_pagedir[2];
-
-extern u8 promfont_unicount[];
-extern u16 promfont_unitable[];
-
-#define PROMCON_COLOR 0
-
-#if PROMCON_COLOR
-#define inverted(s)	((((s) & 0x7700) == 0x0700) ? 0 : 1)
-#else
-#define inverted(s)	(((s) & 0x0800) ? 1 : 0)
-#endif
-
-static __inline__ void
-promcon_puts(char *buf, int cnt)
-{
-	prom_printf("%*.*s", cnt, cnt, buf);
-}
-
-static int
-promcon_start(struct vc_data *conp, char *b)
-{
-	unsigned short *s = (unsigned short *)
-			(conp->vc_origin + py * conp->vc_size_row + (px << 1));
-	u16 cs;
-
-	cs = scr_readw(s);
-	if (px == pw) {
-		unsigned short *t = s - 1;
-		u16 ct = scr_readw(t);
-
-		if (inverted(cs) && inverted(ct))
-			return sprintf(b, "\b\033[7m%c\b\033[@%c\033[m", cs,
-				       ct);
-		else if (inverted(cs))
-			return sprintf(b, "\b\033[7m%c\033[m\b\033[@%c", cs,
-				       ct);
-		else if (inverted(ct))
-			return sprintf(b, "\b%c\b\033[@\033[7m%c\033[m", cs,
-				       ct);
-		else
-			return sprintf(b, "\b%c\b\033[@%c", cs, ct);
-	}
-
-	if (inverted(cs))
-		return sprintf(b, "\033[7m%c\033[m\b", cs);
-	else
-		return sprintf(b, "%c\b", cs);
-}
-
-static int
-promcon_end(struct vc_data *conp, char *b)
-{
-	unsigned short *s = (unsigned short *)
-			(conp->vc_origin + py * conp->vc_size_row + (px << 1));
-	char *p = b;
-	u16 cs;
-
-	b += sprintf(b, "\033[%d;%dH", py + 1, px + 1);
-
-	cs = scr_readw(s);
-	if (px == pw) {
-		unsigned short *t = s - 1;
-		u16 ct = scr_readw(t);
-
-		if (inverted(cs) && inverted(ct))
-			b += sprintf(b, "\b%c\b\033[@\033[7m%c\033[m", cs, ct);
-		else if (inverted(cs))
-			b += sprintf(b, "\b%c\b\033[@%c", cs, ct);
-		else if (inverted(ct))
-			b += sprintf(b, "\b\033[7m%c\b\033[@%c\033[m", cs, ct);
-		else
-			b += sprintf(b, "\b\033[7m%c\033[m\b\033[@%c", cs, ct);
-		return b - p;
-	}
-
-	if (inverted(cs))
-		b += sprintf(b, "%c\b", cs);
-	else
-		b += sprintf(b, "\033[7m%c\033[m\b", cs);
-	return b - p;
-}
-
-const char *promcon_startup(void)
-{
-	const char *display_desc = "PROM";
-	int node;
-	char buf[40];
-	
-	node = prom_getchild(prom_root_node);
-	node = prom_searchsiblings(node, "options");
-	if (prom_getproperty(node,  "screen-#columns", buf, 40) != -1) {
-		pw = simple_strtoul(buf, NULL, 0);
-		if (pw < 10 || pw > 256)
-			pw = 80;
-		pw--;
-	}
-	if (prom_getproperty(node,  "screen-#rows", buf, 40) != -1) {
-		ph = simple_strtoul(buf, NULL, 0);
-		if (ph < 10 || ph > 256)
-			ph = 34;
-		ph--;
-	}
-	promcon_puts("\033[H\033[J", 6);
-	return display_desc;
-}
-
-static void
-promcon_init_unimap(struct vc_data *conp)
-{
-	mm_segment_t old_fs = get_fs();
-	struct unipair *p, *p1;
-	u16 *q;
-	int i, j, k;
-	
-	p = kmalloc(256*sizeof(struct unipair), GFP_KERNEL);
-	if (!p) return;
-	
-	q = promfont_unitable;
-	p1 = p;
-	k = 0;
-	for (i = 0; i < 256; i++)
-		for (j = promfont_unicount[i]; j; j--) {
-			p1->unicode = *q++;
-			p1->fontpos = i;
-			p1++;
-			k++;
-		}
-	set_fs(KERNEL_DS);
-	con_clear_unimap(conp, NULL);
-	con_set_unimap(conp, k, p);
-	con_protect_unimap(conp, 1);
-	set_fs(old_fs);
-	kfree(p);
-}
-
-static void
-promcon_init(struct vc_data *conp, int init)
-{
-	unsigned long p;
-	
-	conp->vc_can_do_color = PROMCON_COLOR;
-	if (init) {
-		conp->vc_cols = pw + 1;
-		conp->vc_rows = ph + 1;
-	}
-	p = *conp->vc_uni_pagedir_loc;
-	if (conp->vc_uni_pagedir_loc == &conp->vc_uni_pagedir ||
-	    !--conp->vc_uni_pagedir_loc[1])
-		con_free_unimap(conp);
-	conp->vc_uni_pagedir_loc = promcon_uni_pagedir;
-	promcon_uni_pagedir[1]++;
-	if (!promcon_uni_pagedir[0] && p) {
-		promcon_init_unimap(conp);
-	}
-	if (!init) {
-		if (conp->vc_cols != pw + 1 || conp->vc_rows != ph + 1)
-			vc_resize(conp, pw + 1, ph + 1);
-	}
-}
-
-static void
-promcon_deinit(struct vc_data *conp)
-{
-	/* When closing the last console, reset video origin */
-	if (!--promcon_uni_pagedir[1])
-		con_free_unimap(conp);
-	conp->vc_uni_pagedir_loc = &conp->vc_uni_pagedir;
-	con_set_default_unimap(conp);
-}
-
-static int
-promcon_switch(struct vc_data *conp)
-{
-	return 1;
-}
-
-static unsigned short *
-promcon_repaint_line(unsigned short *s, unsigned char *buf, unsigned char **bp)
-{
-	int cnt = pw + 1;
-	int attr = -1;
-	unsigned char *b = *bp;
-
-	while (cnt--) {
-		u16 c = scr_readw(s);
-		if (attr != inverted(c)) {
-			attr = inverted(c);
-			if (attr) {
-				strcpy (b, "\033[7m");
-				b += 4;
-			} else {
-				strcpy (b, "\033[m");
-				b += 3;
-			}
-		}
-		*b++ = c;
-		s++;
-		if (b - buf >= 224) {
-			promcon_puts(buf, b - buf);
-			b = buf;
-		}
-	}
-	*bp = b;
-	return s;
-}
-
-static void
-promcon_putcs(struct vc_data *conp, const unsigned short *s,
-	      int count, int y, int x)
-{
-	unsigned char buf[256], *b = buf;
-	unsigned short attr = scr_readw(s);
-	unsigned char save;
-	int i, last = 0;
-
-	if (console_blanked)
-		return;
-	
-	if (count <= 0)
-		return;
-
-	b += promcon_start(conp, b);
-
-	if (x + count >= pw + 1) {
-		if (count == 1) {
-			x -= 1;
-			save = scr_readw((unsigned short *)(conp->vc_origin
-						   + y * conp->vc_size_row
-						   + (x << 1)));
-
-			if (px != x || py != y) {
-				b += sprintf(b, "\033[%d;%dH", y + 1, x + 1);
-				px = x;
-				py = y;
-			}
-
-			if (inverted(attr))
-				b += sprintf(b, "\033[7m%c\033[m", scr_readw(s++));
-			else
-				b += sprintf(b, "%c", scr_readw(s++));
-
-			strcpy(b, "\b\033[@");
-			b += 4;
-
-			if (inverted(save))
-				b += sprintf(b, "\033[7m%c\033[m", save);
-			else
-				b += sprintf(b, "%c", save);
-
-			px++;
-
-			b += promcon_end(conp, b);
-			promcon_puts(buf, b - buf);
-			return;
-		} else {
-			last = 1;
-			count = pw - x - 1;
-		}
-	}
-
-	if (inverted(attr)) {
-		strcpy(b, "\033[7m");
-		b += 4;
-	}
-
-	if (px != x || py != y) {
-		b += sprintf(b, "\033[%d;%dH", y + 1, x + 1);
-		px = x;
-		py = y;
-	}
-
-	for (i = 0; i < count; i++) {
-		if (b - buf >= 224) {
-			promcon_puts(buf, b - buf);
-			b = buf;
-		}
-		*b++ = scr_readw(s++);
-	}
-
-	px += count;
-
-	if (last) {
-		save = scr_readw(s++);
-		b += sprintf(b, "%c\b\033[@%c", scr_readw(s++), save);
-		px++;
-	}
-
-	if (inverted(attr)) {
-		strcpy(b, "\033[m");
-		b += 3;
-	}
-
-	b += promcon_end(conp, b);
-	promcon_puts(buf, b - buf);
-}
-
-static void
-promcon_putc(struct vc_data *conp, int c, int y, int x)
-{
-	unsigned short s;
-
-	if (console_blanked)
-		return;
-	
-	scr_writew(c, &s);
-	promcon_putcs(conp, &s, 1, y, x);
-}
-
-static void
-promcon_clear(struct vc_data *conp, int sy, int sx, int height, int width)
-{
-	unsigned char buf[256], *b = buf;
-	int i, j;
-
-	if (console_blanked)
-		return;
-	
-	b += promcon_start(conp, b);
-
-	if (!sx && width == pw + 1) {
-
-		if (!sy && height == ph + 1) {
-			strcpy(b, "\033[H\033[J");
-			b += 6;
-			b += promcon_end(conp, b);
-			promcon_puts(buf, b - buf);
-			return;
-		} else if (sy + height == ph + 1) {
-			b += sprintf(b, "\033[%dH\033[J", sy + 1);
-			b += promcon_end(conp, b);
-			promcon_puts(buf, b - buf);
-			return;
-		}
-
-		b += sprintf(b, "\033[%dH", sy + 1);
-		for (i = 1; i < height; i++) {
-			strcpy(b, "\033[K\n");
-			b += 4;
-		}
-
-		strcpy(b, "\033[K");
-		b += 3;
-
-		b += promcon_end(conp, b);
-		promcon_puts(buf, b - buf);
-		return;
-
-	} else if (sx + width == pw + 1) {
-
-		b += sprintf(b, "\033[%d;%dH", sy + 1, sx + 1);
-		for (i = 1; i < height; i++) {
-			strcpy(b, "\033[K\n");
-			b += 4;
-		}
-
-		strcpy(b, "\033[K");
-		b += 3;
-
-		b += promcon_end(conp, b);
-		promcon_puts(buf, b - buf);
-		return;
-	}
-
-	for (i = sy + 1; i <= sy + height; i++) {
-		b += sprintf(b, "\033[%d;%dH", i, sx + 1);
-		for (j = 0; j < width; j++)
-			*b++ = ' ';
-		if (b - buf + width >= 224) {
-			promcon_puts(buf, b - buf);
-			b = buf;
-		}
-	}
-
-	b += promcon_end(conp, b);
-	promcon_puts(buf, b - buf);
-}
-                        
-static void
-promcon_bmove(struct vc_data *conp, int sy, int sx, int dy, int dx,
-	      int height, int width)
-{
-	char buf[256], *b = buf;
-
-	if (console_blanked)
-		return;
-	
-	b += promcon_start(conp, b);
-	if (sy == dy && height == 1) {
-		if (dx > sx && dx + width == conp->vc_cols)
-			b += sprintf(b, "\033[%d;%dH\033[%d@\033[%d;%dH",
-				     sy + 1, sx + 1, dx - sx, py + 1, px + 1);
-		else if (dx < sx && sx + width == conp->vc_cols)
-			b += sprintf(b, "\033[%d;%dH\033[%dP\033[%d;%dH",
-				     dy + 1, dx + 1, sx - dx, py + 1, px + 1);
-
-		b += promcon_end(conp, b);
-		promcon_puts(buf, b - buf);
-		return;
-	}
-
-	/*
-	 * FIXME: What to do here???
-	 * Current console.c should not call it like that ever.
-	 */
-	prom_printf("\033[7mFIXME: bmove not handled\033[m\n");
-}
-
-static void
-promcon_cursor(struct vc_data *conp, int mode)
-{
-	char buf[32], *b = buf;
-
-	switch (mode) {
-	case CM_ERASE:
-		break;
-
-	case CM_MOVE:
-	case CM_DRAW:
-		b += promcon_start(conp, b);
-		if (px != conp->vc_x || py != conp->vc_y) {
-			px = conp->vc_x;
-			py = conp->vc_y;
-			b += sprintf(b, "\033[%d;%dH", py + 1, px + 1);
-		}
-		promcon_puts(buf, b - buf);
-		break;
-	}
-}
-
-static int
-promcon_blank(struct vc_data *conp, int blank, int mode_switch)
-{
-	if (blank) {
-		promcon_puts("\033[H\033[J\033[7m \033[m\b", 15);
-		return 0;
-	} else {
-		/* Let console.c redraw */
-		return 1;
-	}
-}
-
-static int
-promcon_scroll(struct vc_data *conp, int t, int b, int dir, int count)
-{
-	unsigned char buf[256], *p = buf;
-	unsigned short *s;
-	int i;
-
-	if (console_blanked)
-		return 0;
-	
-	p += promcon_start(conp, p);
-
-	switch (dir) {
-	case SM_UP:
-		if (b == ph + 1) {
-			p += sprintf(p, "\033[%dH\033[%dM", t + 1, count);
-			px = 0;
-			py = t;
-			p += promcon_end(conp, p);
-			promcon_puts(buf, p - buf);
-			break;
-		}
-
-		s = (unsigned short *)(conp->vc_origin
-				       + (t + count) * conp->vc_size_row);
-
-		p += sprintf(p, "\033[%dH", t + 1);
-
-		for (i = t; i < b - count; i++)
-			s = promcon_repaint_line(s, buf, &p);
-
-		for (; i < b - 1; i++) {
-			strcpy(p, "\033[K\n");
-			p += 4;
-			if (p - buf >= 224) {
-				promcon_puts(buf, p - buf);
-				p = buf;
-			}
-		}
-
-		strcpy(p, "\033[K");
-		p += 3;
-
-		p += promcon_end(conp, p);
-		promcon_puts(buf, p - buf);
-		break;
-
-	case SM_DOWN:
-		if (b == ph + 1) {
-			p += sprintf(p, "\033[%dH\033[%dL", t + 1, count);
-			px = 0;
-			py = t;
-			p += promcon_end(conp, p);
-			promcon_puts(buf, p - buf);
-			break;
-		}
-
-		s = (unsigned short *)(conp->vc_origin + t * conp->vc_size_row);
-
-		p += sprintf(p, "\033[%dH", t + 1);
-
-		for (i = t; i < t + count; i++) {
-			strcpy(p, "\033[K\n");
-			p += 4;
-			if (p - buf >= 224) {
-				promcon_puts(buf, p - buf);
-				p = buf;
-			}
-		}
-
-		for (; i < b; i++)
-			s = promcon_repaint_line(s, buf, &p);
-
-		p += promcon_end(conp, p);
-		promcon_puts(buf, p - buf);
-		break;
-	}
-
-	return 0;
-}
-
-#if !(PROMCON_COLOR)
-static u8 promcon_build_attr(struct vc_data *conp, u8 _color, u8 _intensity,
-    u8 _blink, u8 _underline, u8 _reverse, u8 _italic)
-{
-	return (_reverse) ? 0xf : 0x7;
-}
-#endif
-
-/*
- *  The console 'switch' structure for the VGA based console
- */
-
-static int promcon_dummy(void)
-{
-        return 0;
-}
-
-#define DUMMY (void *) promcon_dummy
-
-const struct consw prom_con = {
-	.owner =		THIS_MODULE,
-	.con_startup =		promcon_startup,
-	.con_init =		promcon_init,
-	.con_deinit =		promcon_deinit,
-	.con_clear =		promcon_clear,
-	.con_putc =		promcon_putc,
-	.con_putcs =		promcon_putcs,
-	.con_cursor =		promcon_cursor,
-	.con_scroll =		promcon_scroll,
-	.con_bmove =		promcon_bmove,
-	.con_switch =		promcon_switch,
-	.con_blank =		promcon_blank,
-	.con_set_palette =	DUMMY,
-	.con_scrolldelta =	DUMMY,
-#if !(PROMCON_COLOR)
-	.con_build_attr =	promcon_build_attr,
-#endif
-};
-
-void __init prom_con_init(void)
-{
-#ifdef CONFIG_DUMMY_CONSOLE
-	if (conswitchp == &dummy_con)
-		take_over_console(&prom_con, 0, MAX_NR_CONSOLES-1, 1);
-	else
-#endif
-	if (conswitchp == &prom_con)
-		promcon_init_unimap(vc_cons[fg_console].d);
-}
--- a/drivers/video/console/prom.uni
+++ /dev/null
@@ -1,11 +0,0 @@
-#
-# Unicode mapping table for font in Sun PROM
-# 
-#
-0x20-0x7e	idem
-0xa0-0xff	idem
-#
-0x7c		U+2502
-0x2d		U+2500
-0x2b		U+250c U+2510 U+2514 U+2518 U+251c U+2524 U+252c U+2534 U+253c
-0xa4		U+fffd
--- a/scripts/Makefile
+++ b/scripts/Makefile
@@ -10,7 +10,6 @@
 hostprogs-$(CONFIG_KALLSYMS)     += kallsyms
 hostprogs-$(CONFIG_LOGO)         += pnmtologo
 hostprogs-$(CONFIG_VT)           += conmakehash
-hostprogs-$(CONFIG_PROM_CONSOLE) += conmakehash
 hostprogs-$(CONFIG_IKCONFIG)     += bin2c
 
 always		:= $(hostprogs-y) $(hostprogs-m)



  parent reply	other threads:[~2009-11-06 22:45 UTC|newest]

Thread overview: 104+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20091106221358.309857998@mini.kroah.org>
2009-11-06 22:18 ` [00/99] 2.6.31.6 stable review Greg KH
2009-11-06 22:13   ` [01/99] fs: pipe.c null pointer dereference Greg KH
2009-11-06 22:14   ` [02/99] pci: increase alignment to make more space for hidden code Greg KH
2009-11-06 22:14   ` [03/99] libata: fix internal command failure handling Greg KH
2009-11-06 22:14   ` [04/99] libata: fix PMP initialization Greg KH
2009-11-06 22:14   ` [05/99] sata_nv: make sure link is brough up online when skipping hardreset Greg KH
2009-11-06 22:14   ` [06/99] nfs: Fix nfs_parse_mount_options() kfree() leak Greg KH
2009-11-06 22:14   ` [07/99] KVM: use proper hrtimer function to retrieve expiration time Greg KH
2009-11-06 22:14   ` [08/99] KVM: ignore reads from AMDs C1E enabled MSR Greg KH
2009-11-06 22:14   ` [09/99] futex: Handle spurious wake up Greg KH
2009-11-06 22:14   ` [10/99] futex: Check for NULL keys in match_futex Greg KH
2009-11-06 22:14   ` [11/99] futex: Move drop_futex_key_refs out of spinlocked region Greg KH
2009-11-06 22:14   ` [12/99] futex: Fix spurious wakeup for requeue_pi really Greg KH
2009-11-06 22:14   ` [13/99] ahci: revert "Restore SB600 sata controller 64 bit DMA" Greg KH
2009-11-06 22:14   ` [14/99] sparc64: Set IRQF_DISABLED on LDC channel IRQs Greg KH
2009-11-06 22:14   ` Greg KH [this message]
2009-11-06 22:14   ` [16/99] watchdog: Fix rio watchdog probe function Greg KH
2009-11-06 22:14   ` [17/99] Input: synaptics - add another Protege M300 to rate blacklist Greg KH
2009-11-06 22:14   ` [18/99] dm snapshot: free exception store on init failure Greg KH
2009-11-06 22:14   ` [19/99] dm snapshot: sort by chunk size to fix race Greg KH
2009-11-06 22:14   ` [20/99] dm log: userspace fix incorrect luid cast in userspace_ctr Greg KH
2009-11-06 22:14   ` [21/99] dm: add missing del_gendisk to alloc_dev error path Greg KH
2009-11-06 22:14   ` [22/99] dm: dec_pending needs locking to save error value Greg KH
2009-11-06 22:14   ` [23/99] dm exception store: fix failed set_chunk_size error path Greg KH
2009-11-06 22:14   ` [24/99] dm snapshot: lock snapshot while supplying status Greg KH
2009-11-06 22:14   ` [25/99] dm snapshot: require non zero chunk size by end of ctr Greg KH
2009-11-06 22:14   ` [26/99] dm snapshot: use unsigned integer chunk size Greg KH
2009-11-06 22:14   ` [27/99] ray_cs: Fix copy_from_user handling Greg KH
2009-11-06 22:14   ` [28/99] mbind(): fix leak of never putback pages Greg KH
2009-11-06 22:14   ` [29/99] do_mbind(): fix memory leak Greg KH
2009-11-06 22:14   ` [30/99] 8250_pci: add IBM Saturn serial card Greg KH
2009-11-06 22:14   ` [31/99] dpt_i2o: Fix up copy*user Greg KH
2009-11-06 22:14   ` [32/99] dpt_i2o: Fix typo of EINVAL Greg KH
2009-11-06 22:14   ` [33/99] hfsplus: refuse to mount volumes larger than 2TB Greg KH
2009-11-06 22:14   ` [34/99] Driver core: fix driver_register() return value Greg KH
2009-11-06 22:14   ` [35/99] tty: Mark generic_serial users as BROKEN Greg KH
2009-11-06 22:14   ` [36/99] param: fix lots of bugs with writing charp params from sysfs, by leaking mem Greg KH
2009-11-06 22:14   ` [37/99] param: fix NULL comparison on oom Greg KH
2009-11-06 22:14   ` [38/99] param: fix setting arrays of bool Greg KH
2009-11-06 22:14   ` [39/99] USB: serial: sierra driver send_setup() autopm fix Greg KH
2009-11-06 22:14   ` [40/99] USB: option: Patch for Huawei Mobile Broadband E270+ Modem Greg KH
2009-11-06 22:14   ` [41/99] USB: option: Support for AIRPLUS MCD650 Datacard Greg KH
2009-11-06 22:14   ` [42/99] USB: option: TLAYTECH TUE800 support Greg KH
2009-11-06 22:14   ` [43/99] libertas if_usb: Fix crash on 64-bit machines Greg KH
2009-11-06 22:14   ` [44/99] cpuidle: always return with interrupts enabled Greg KH
2009-11-06 22:14   ` [45/99] virtio: order used ring after used index read Greg KH
2009-11-06 22:14   ` [46/99] CIFS: Fixing to avoid invalid kfree() in cifs_get_tcp_session() Greg KH
2009-11-06 22:14   ` [47/99] mac80211: fix for incorrect sequence number on hostapd injected frames Greg KH
2009-11-06 22:14   ` [48/99] mac80211: check interface is down before type change Greg KH
2009-11-06 22:14   ` [49/99] x86, UV: Fix information in __uv_hub_info structure Greg KH
2009-11-06 22:14   ` [50/99] x86, UV: Set DELIVERY_MODE=4 for vector=NMI_VECTOR in uv_hub_send_ipi() Greg KH
2009-11-06 22:14   ` [51/99] NOMMU: Dont pass NULL pointers to fput() in do_mmap_pgoff() Greg KH
2009-11-06 22:14   ` [52/99] mm: remove incorrect swap_count() from try_to_unuse() Greg KH
2009-11-06 22:14   ` [53/99] x86-64: Fix register leak in 32-bit syscall audting Greg KH
2009-11-06 22:14   ` [54/99] nilfs2: fix dirty page accounting leak causing hang at write Greg KH
2009-11-06 22:14   ` [55/99] drm/i915: Fix FDI M/N setting according with correct color depth Greg KH
2009-11-06 22:14   ` [56/99] drm/i915: fix to setup display reference clock control on Ironlake Greg KH
2009-11-06 22:14   ` [57/99] drm/i915: fix panel fitting filter coefficient select for Ironlake Greg KH
2009-11-06 22:14   ` [58/99] agp/intel: Add B43 chipset support Greg KH
2009-11-06 22:14   ` [59/99] drm/i915: add " Greg KH
2009-11-06 22:14   ` [60/99] xen/hvc: make sure console output is always emitted, with explicit polling Greg KH
2009-11-06 22:14   ` [61/99] xen: mask extended topology info in cpuid Greg KH
2009-11-06 22:15   ` [62/99] sgi-gru: decrapfiy options_write() function Greg KH
2009-11-06 22:15   ` [63/99] KVM: get_tss_base_addr() should return a gpa_t Greg KH
2009-11-06 22:15   ` [64/99] fuse: prevent fuse_put_request on invalid pointer Greg KH
2009-11-06 22:15   ` [65/99] fuse: fix kunmap in fuse_ioctl_copy_user Greg KH
2009-11-06 22:15   ` [66/99] x86/amd-iommu: Workaround for erratum 63 Greg KH
2009-11-06 22:15   ` [67/99] fsnotify: do not set group for a mark before it is on the i_list Greg KH
2009-11-06 22:15   ` [68/99] mips: fix build of vmlinux.lds Greg KH
2009-11-06 22:15   ` [69/99] alpha: fix build after vmlinux.lds.S cleanup Greg KH
2009-11-06 22:15   ` [70/99] ACPI / PCI: Fix NULL pointer dereference in acpi_get_pci_dev() (rev. 2) Greg KH
2009-11-06 22:15   ` [71/99] Revert "ACPI: Attach the ACPI device to the ACPI handle as early as possible" Greg KH
2009-11-06 22:15   ` [72/99] KEYS: get_instantiation_keyring() should inc the keyring refcount in all cases Greg KH
2009-11-06 22:15   ` [73/99] b43: Fix Bugzilla #14181 and the bug from the previous fix Greg KH
2009-11-06 22:15   ` [74/99] pata_sc1200: Fix crash on boot Greg KH
2009-11-06 22:15   ` [75/99] AF_UNIX: Fix deadlock on connecting to shutdown socket (CVE-2009-3621) Greg KH
2009-11-06 22:15   ` [76/99] ALSA: ice1724 - Make call to set hw params succeed on ESI Juli@ Greg KH
2009-11-06 22:15   ` [77/99] bonding: fix a race condition in calls to slave MII ioctls Greg KH
2009-11-06 22:15   ` [78/99] hwmon: (it87) Fix VID reading on IT8718F/IT8720F Greg KH
2009-11-07 15:37     ` [Stable-review] " Willy Tarreau
2009-11-07 17:52       ` Jean Delvare
2009-11-06 22:15   ` [79/99] netlink: fix typo in initialization (CVE-2009-3612) Greg KH
2009-11-06 22:15   ` [80/99] nfs: Avoid overrun when copying client IP address string Greg KH
2009-11-06 22:15   ` [81/99] nfs: Panic when commit fails Greg KH
2009-11-06 22:15   ` [82/99] NFSv4: Fix a bug when the server returns NFS4ERR_RESOURCE Greg KH
2009-11-06 22:15   ` [83/99] NFSv4: Fix two unbalanced put_rpccred() issues Greg KH
2009-11-06 22:15   ` [84/99] NFSv4: Kill nfs4_renewd_prepare_shutdown() Greg KH
2009-11-06 22:15   ` [85/99] NFSv4: The link() operation should return any delegation on the file Greg KH
2009-11-06 22:15   ` [86/99] powerpc: Remove SMP warning from PowerMac cpufreq Greg KH
2009-11-06 22:15   ` [87/99] vmscan: limit VM_EXEC protection to file pages Greg KH
2009-11-06 22:15   ` [88/99] x86: mce: Clean up thermal throttling state tracking code Greg KH
2009-11-06 22:15   ` [89/99] x86: mce: Fix thermal throttling message storm Greg KH
2009-11-06 22:15   ` [90/99] iwlwifi: fix potential rx buffer loss Greg KH
2009-11-06 22:15   ` [91/99] iwlwifi: reduce noise when skb allocation fails Greg KH
2009-11-06 22:15   ` [92/99] x86/amd-iommu: Un__init function required on shutdown Greg KH
2009-11-06 22:15   ` [93/99] KVM: Prevent kvm_init from corrupting debugfs structures Greg KH
2009-11-06 22:15   ` [94/99] powerpc/pmac: Fix PowerSurge SMP IPI allocation Greg KH
2009-11-06 22:15   ` [95/99] powerpc/pmac: Fix issues with sleep on some powerbooks Greg KH
2009-11-06 22:15   ` [96/99] powerpc/pci: Fix regression in powerpc MSI-X Greg KH
2009-11-06 22:15   ` [97/99] powerpc: Fix some late PowerMac G5 with PCIe ATI graphics Greg KH
2009-11-06 22:15   ` [98/99] sata_via: Remove redundant device ID for VIA VT8261 Greg KH
2009-11-06 22:15   ` [99/99] pata_via: extend the rev_max for VT6330 Greg KH
2009-11-07 18:43   ` [00/99] 2.6.31.6 stable review Rafael J. Wysocki
2009-11-09 17:25     ` Greg KH

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=20091106221540.673374392@mini.kroah.org \
    --to=gregkh@suse.de \
    --cc=akpm@linux-foundation.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=davem@davemloft.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable-review@kernel.org \
    --cc=stable@kernel.org \
    --cc=torvalds@linux-foundation.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

all inboxes | Powered by JetHome®