[kernel] r11251 - in dists/sid/linux-2.6/debian/patches: bugfix/m68k/2.6.25 series

Christian T. Steigies cts at alioth.debian.org
Sat May 3 21:04:26 UTC 2008


Author: cts
Date: Sat May  3 21:04:24 2008
New Revision: 11251

Log:
more m68k patches for 2.6.25


Added:
   dists/sid/linux-2.6/debian/patches/bugfix/m68k/2.6.25/m68k-export-m68k_mmutype.diff
   dists/sid/linux-2.6/debian/patches/bugfix/m68k/2.6.25/m68k-handle-68040-bus-faults.diff
   dists/sid/linux-2.6/debian/patches/bugfix/m68k/2.6.25/proc-convert-proc-bus-nubus-to-seq_file-interface.diff
   dists/sid/linux-2.6/debian/patches/bugfix/m68k/2.6.25/serial167-switch-to-int-put_char-method-update.diff
   dists/sid/linux-2.6/debian/patches/series/2-extra

Added: dists/sid/linux-2.6/debian/patches/bugfix/m68k/2.6.25/m68k-export-m68k_mmutype.diff
==============================================================================
--- (empty file)
+++ dists/sid/linux-2.6/debian/patches/bugfix/m68k/2.6.25/m68k-export-m68k_mmutype.diff	Sat May  3 21:04:24 2008
@@ -0,0 +1,38 @@
+
+UIO needs m68k_mmutype:
+
+ERROR: "m68k_mmutype" [drivers/uio/uio.ko] undefined!
+
+(noticed by Christian T. Steigies)
+---
+ arch/m68k/kernel/setup.c |    3 ++-
+ include/asm-m68k/setup.h |    2 +-
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+--- a/arch/m68k/kernel/setup.c
++++ b/arch/m68k/kernel/setup.c
+@@ -48,11 +48,12 @@
+ #endif
+ 
+ unsigned long m68k_machtype;
+-unsigned long m68k_cputype;
+ EXPORT_SYMBOL(m68k_machtype);
++unsigned long m68k_cputype;
+ EXPORT_SYMBOL(m68k_cputype);
+ unsigned long m68k_fputype;
+ unsigned long m68k_mmutype;
++EXPORT_SYMBOL(m68k_mmutype);
+ #ifdef CONFIG_VME
+ unsigned long vme_brdtype;
+ EXPORT_SYMBOL(vme_brdtype);
+--- a/include/asm-m68k/setup.h
++++ b/include/asm-m68k/setup.h
+@@ -248,7 +248,7 @@ extern unsigned long m68k_machtype;
+ #ifndef __ASSEMBLY__
+ extern unsigned long m68k_cputype;
+ extern unsigned long m68k_fputype;
+-extern unsigned long m68k_mmutype;		/* Not really used yet */
++extern unsigned long m68k_mmutype;
+ #ifdef CONFIG_VME
+ extern unsigned long vme_brdtype;
+ #endif

Added: dists/sid/linux-2.6/debian/patches/bugfix/m68k/2.6.25/m68k-handle-68040-bus-faults.diff
==============================================================================
--- (empty file)
+++ dists/sid/linux-2.6/debian/patches/bugfix/m68k/2.6.25/m68k-handle-68040-bus-faults.diff	Sat May  3 21:04:24 2008
@@ -0,0 +1,47 @@
+Subject: [PATCH] m68k: Handle 68040 bus faults
+
+From: Roman Zippel <zippel at linux-m68k.org>
+
+Fix 68040 bus fault handling, so the standard kernel exception handling
+can be used for i/o probing.
+Contrary to normal access faults there is nothing to fix, but at least
+we have to disable writebacks to avoid recursive faults.
+
+Signed-off-by: Roman Zippel <zippel at linux-m68k.org>
+Signed-off-by: Geert Uytterhoeven <geert at linux-m68k.org>
+---
+ arch/m68k/kernel/traps.c |   17 ++++++++++++++---
+ 1 file changed, 14 insertions(+), 3 deletions(-)
+
+--- a/arch/m68k/kernel/traps.c
++++ b/arch/m68k/kernel/traps.c
+@@ -468,15 +468,26 @@ static inline void access_error040(struc
+ 			 * (if do_page_fault didn't fix the mapping,
+                          * the writeback won't do good)
+ 			 */
++disable_wb:
+ #ifdef DEBUG
+ 			printk(".. disabling wb2\n");
+ #endif
+ 			if (fp->un.fmt7.wb2a == fp->un.fmt7.faddr)
+ 				fp->un.fmt7.wb2s &= ~WBV_040;
++			if (fp->un.fmt7.wb3a == fp->un.fmt7.faddr)
++				fp->un.fmt7.wb3s &= ~WBV_040;
+ 		}
+-	} else if (send_fault_sig(&fp->ptregs) > 0) {
+-		printk("68040 access error, ssw=%x\n", ssw);
+-		trap_c(fp);
++	} else {
++		/* In case of a bus error we either kill the process or expect
++		 * the kernel to catch the fault, which then is also responsible
++		 * for cleaning up the mess.
++		 */
++		current->thread.signo = SIGBUS;
++		current->thread.faddr = fp->un.fmt7.faddr;
++		if (send_fault_sig(&fp->ptregs) >= 0)
++			printk("68040 bus error (ssw=%x, faddr=%lx)\n", ssw,
++			       fp->un.fmt7.faddr);
++		goto disable_wb;
+ 	}
+ 
+ 	do_040writebacks(fp);

Added: dists/sid/linux-2.6/debian/patches/bugfix/m68k/2.6.25/proc-convert-proc-bus-nubus-to-seq_file-interface.diff
==============================================================================
--- (empty file)
+++ dists/sid/linux-2.6/debian/patches/bugfix/m68k/2.6.25/proc-convert-proc-bus-nubus-to-seq_file-interface.diff	Sat May  3 21:04:24 2008
@@ -0,0 +1,99 @@
+From akpm at linux-foundation.org Thu Apr 10 23:46:00 2008
+Date: Thu, 10 Apr 2008 14:34:55 -0700
+From: akpm at linux-foundation.org
+To: mm-commits at vger.kernel.org
+Cc: adobriyan at sw.ru, geert at linux-m68k.org
+Subject: + proc-convert-proc-bus-nubus-to-seq_file-interface.patch added to -mm tree
+
+
+The patch titled
+     proc: convert /proc/bus/nubus to seq_file interface
+has been added to the -mm tree.  Its filename is
+     proc-convert-proc-bus-nubus-to-seq_file-interface.patch
+
+Before you just go and hit "reply", please:
+   a) Consider who else should be cc'ed
+   b) Prefer to cc a suitable mailing list as well
+   c) Ideally: find the original patch on the mailing list and do a
+      reply-to-all to that, adding suitable additional cc's
+
+---
+ drivers/nubus/proc.c |   42 ++++++++++++++++++++----------------------
+ 1 file changed, 20 insertions(+), 22 deletions(-)
+
+--- a/drivers/nubus/proc.c
++++ b/drivers/nubus/proc.c
+@@ -21,6 +21,7 @@
+ #include <linux/kernel.h>
+ #include <linux/nubus.h>
+ #include <linux/proc_fs.h>
++#include <linux/seq_file.h>
+ #include <linux/init.h>
+ #include <linux/module.h>
+ 
+@@ -28,38 +29,36 @@
+ #include <asm/byteorder.h>
+ 
+ static int
+-get_nubus_dev_info(char *buf, char **start, off_t pos, int count)
++nubus_devices_proc_show(struct seq_file *m, void *v)
+ {
+ 	struct nubus_dev *dev = nubus_devices;
+-	off_t at = 0;
+-	int len, cnt;
+ 
+-	cnt = 0;
+-	while (dev && count > cnt) {
+-		len = sprintf(buf, "%x\t%04x %04x %04x %04x",
++	while (dev) {
++		seq_printf(m, "%x\t%04x %04x %04x %04x",
+ 			      dev->board->slot,
+ 			      dev->category,
+ 			      dev->type,
+ 			      dev->dr_sw,
+ 			      dev->dr_hw);
+-		len += sprintf(buf+len,
+-			       "\t%08lx",
+-			       dev->board->slot_addr);
+-		buf[len++] = '\n';
+-		at += len;
+-		if (at >= pos) {
+-			if (!*start) {
+-				*start = buf + (pos - (at - len));
+-				cnt = at - pos;
+-			} else
+-				cnt += len;
+-			buf += len;
+-		}
++		seq_printf(m, "\t%08lx\n", dev->board->slot_addr);
+ 		dev = dev->next;
+ 	}
+-	return (count > cnt) ? cnt : count;
++	return 0;
++}
++
++static int nubus_devices_proc_open(struct inode *inode, struct file *file)
++{
++	return single_open(file, nubus_devices_proc_show, NULL);
+ }
+ 
++static const struct file_operations nubus_devices_proc_fops = {
++	.owner		= THIS_MODULE,
++	.open		= nubus_devices_proc_open,
++	.read		= seq_read,
++	.llseek		= seq_lseek,
++	.release	= single_release,
++};
++
+ static struct proc_dir_entry *proc_bus_nubus_dir;
+ 
+ static void nubus_proc_subdir(struct nubus_dev* dev,
+@@ -172,7 +171,6 @@ void __init nubus_proc_init(void)
+ 	if (!MACH_IS_MAC)
+ 		return;
+ 	proc_bus_nubus_dir = proc_mkdir("nubus", proc_bus);
+-	create_proc_info_entry("devices", 0, proc_bus_nubus_dir,
+-				get_nubus_dev_info);
++	proc_create("devices", 0, proc_bus_nubus_dir, &nubus_devices_proc_fops);
+ 	proc_bus_nubus_add_devices();
+ }

Added: dists/sid/linux-2.6/debian/patches/bugfix/m68k/2.6.25/serial167-switch-to-int-put_char-method-update.diff
==============================================================================
--- (empty file)
+++ dists/sid/linux-2.6/debian/patches/bugfix/m68k/2.6.25/serial167-switch-to-int-put_char-method-update.diff	Sat May  3 21:04:24 2008
@@ -0,0 +1,21 @@
+
+commit a5b08c66194fba02a865b397579b7204688bcb1e
+Author: Alan Cox <alan at lxorguk.ukuu.org.uk>
+Date:   Wed Apr 30 00:54:05 2008 -0700
+
+serial167: switch to int put_char method
+---
+ drivers/char/serial167.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/char/serial167.c
++++ b/drivers/char/serial167.c
+@@ -1073,7 +1073,7 @@ static int cy_put_char(struct tty_struct
+ 		return 0;
+ 
+ 	if (!info->xmit_buf)
+-		return;
++		return 0;
+ 
+ 	local_irq_save(flags);
+ 	if (info->xmit_cnt >= PAGE_SIZE - 1) {

Added: dists/sid/linux-2.6/debian/patches/series/2-extra
==============================================================================
--- (empty file)
+++ dists/sid/linux-2.6/debian/patches/series/2-extra	Sat May  3 21:04:24 2008
@@ -0,0 +1,70 @@
+# --- integrated in 2.6.26-rc1 ---
+# fails to apply + bugfix/m68k/2.6.25/HTC_PASIC3-depends-on-ARCH_PXA.diff arch=m68k
++ bugfix/m68k/2.6.25/m68k-new-mac_esp-driver.diff arch=m68k
++ bugfix/m68k/2.6.25/proc-convert-proc-bus-nubus-to-seq_file-interface.diff arch=m68k
++ bugfix/m68k/2.6.25/proc-switch-proc-bus-zorro-devices-to-seq_file-interface.diff arch=m68k
+
+# --- submitted for 2.6.26 ---
++ bugfix/m68k/2.6.25/m68k-convert-access_ok-to-inline-func.diff arch=m68k
++ bugfix/m68k/2.6.25/m68k-kill-CONFIG_FB_DAFB.diff arch=m68k
++ bugfix/m68k/2.6.25/m68k-correct-FB_HP300-dependencies.diff arch=m68k
++ bugfix/m68k/2.6.25/m68k-whippet-serial-no-longer-exists.diff arch=m68k
++ bugfix/m68k/2.6.25/m68k-vme_scc-globals.diff arch=m68k
++ bugfix/m68k/2.6.25/m68k-silence-BUG-can-return-warnings.diff arch=m68k
++ bugfix/m68k/2.6.25/m68k-hp300-breaks-multi-platform.diff arch=m68k
++ bugfix/m68k/2.6.25/m68k-macide-breaks-multi-platform.diff arch=m68k
++ bugfix/m68k/2.6.25/m68k-dnfb-breaks-multi-platform.diff arch=m68k
++ bugfix/m68k/2.6.25/m68k-net-drivers-break-multiplatform.diff arch=m68k
++ bugfix/m68k/2.6.25/m68k-input-drivers-break-multiplatform.diff arch=m68k
++ bugfix/m68k/2.6.25/m68k-initcalls-should-return-ENODEV-if-device-not-found.diff arch=m68k
++ bugfix/m68k/2.6.25/m68k-q40-floppy-is-broken.diff arch=m68k
++ bugfix/m68k/2.6.25/m68k-update-defconfig.diff arch=m68k
++ bugfix/m68k/2.6.25/m68k-add-multi_defconfig.diff arch=m68k
+
+# --- pending ---
++ bugfix/m68k/2.6.25/m68k-initrd-fix.diff arch=m68k
++ bugfix/m68k/2.6.25/m68k-replace-linux-68k-by-linux-m68k.diff arch=m68k
++ bugfix/m68k/2.6.25/633-atari_scc.diff arch=m68k
++ bugfix/m68k/2.6.25/130-adbraw.diff arch=m68k
++ bugfix/m68k/2.6.25/134-atari-fat.diff arch=m68k
++ bugfix/m68k/2.6.25/141-ide.diff arch=m68k
++ bugfix/m68k/2.6.25/143-ioext.diff arch=m68k
++ bugfix/m68k/2.6.25/149-mc68681.diff arch=m68k
++ bugfix/m68k/2.6.25/152-pci.diff arch=m68k
++ bugfix/m68k/2.6.25/478-serial.diff arch=m68k
++ bugfix/m68k/2.6.25/atari-rom-isa.diff arch=m68k
++ bugfix/m68k/2.6.25/atari-ethernec.diff arch=m68k
++ bugfix/m68k/2.6.25/atari-aranym.diff arch=m68k
++ bugfix/m68k/2.6.25/atari-ethernat.diff arch=m68k
++ bugfix/m68k/2.6.25/falconide_intr_lock-ratelimit.diff arch=m68k
++ bugfix/m68k/2.6.25/zorro-module-device-table.diff arch=m68k
++ bugfix/m68k/2.6.25/blinux-list-is-subscribers-only.diff arch=m68k
++ bugfix/m68k/2.6.25/b43-depends-on-HAS_DMA.diff arch=m68k
++ bugfix/m68k/2.6.25/amiga-debug=mem.diff arch=m68k
++ bugfix/m68k/2.6.25/m68k-scsi-HOST_C-cleanup.diff arch=m68k
++ bugfix/m68k/2.6.25/amiga-platform-device.diff arch=m68k
++ bugfix/m68k/2.6.25/atari-platform-device.diff arch=m68k
++ bugfix/m68k/2.6.25/mac-platform-device.diff arch=m68k
++ bugfix/m68k/2.6.25/amiga-platform-device2.diff arch=m68k
++ bugfix/m68k/2.6.25/ext4-bitops-fix.diff arch=m68k
++ bugfix/m68k/2.6.25/net-b44-no-pci.diff arch=m68k
++ bugfix/m68k/2.6.25/amifb-add-ami_modedb-to-modelist.diff arch=m68k
++ bugfix/m68k/2.6.25/atafb-cfb16.diff arch=m68k
++ bugfix/m68k/2.6.25/atafb-line_length.diff arch=m68k
++ bugfix/m68k/2.6.25/m68k-vmlinux-std_sun3.lds.S_cleanup_use_PAGE_SIZE_macro.diff arch=m68k
++ bugfix/m68k/2.6.25/m68k-allnoconfig.diff arch=m68k
++ bugfix/m68k/2.6.25/m68k-noswap-linux-swap-h-needs-linux-pagemap-h.diff arch=m68k
++ bugfix/m68k/2.6.25/fb-CONFIG_FB_DEFERRED_IO-should-default-to-n.diff arch=m68k
++ bugfix/m68k/2.6.25/m68k-isa-type-name-conflicts.diff arch=m68k
++ bugfix/m68k/2.6.25/ext4-adilger-bounces.diff arch=m68k
++ bugfix/m68k/2.6.25/m68k-ethernec-dynamic.diff arch=m68k
++ bugfix/m68k/2.6.25/m68k-ethernat-breaks-multi-platform.diff arch=m68k
++ bugfix/m68k/2.6.25/atari-ethernat-updates.diff arch=m68k
+# fails to apply + bugfix/m68k/2.6.25/m68k-remove-traditional.diff arch=m68k
++ bugfix/m68k/2.6.25/drivers-input-serio-hp_sdc.c-needs-linux-semaphore.h.diff arch=m68k
++ bugfix/m68k/2.6.25/m68k-update-defconfig-latest.diff arch=m68k
++ bugfix/m68k/2.6.25/m68k-handle-68040-bus-faults.diff arch=m68k
++ bugfix/m68k/2.6.25/m68k-skip-writebacks-for-bus-errors.diff arch=m68k
++ bugfix/m68k/2.6.25/m68k-remove-old-mac_esp-cruft.diff arch=m68k
++ bugfix/m68k/2.6.25/serial167-switch-to-int-put_char-method-update.diff arch=m68k
++ bugfix/m68k/2.6.25/m68k-export-m68k_mmutype.diff arch=m68k



More information about the Kernel-svn-changes mailing list