r1503 - in trunk/kernel-2.4/powerpc/kernel-patch-powerpc-2.4.27-2.4.27: config powerpc/pieces
Sven Luther
luther@haydn.debian.org
Wed, 01 Sep 2004 13:43:42 -0600
Author: luther
Date: 2004-09-01 13:43:37 -0600 (Wed, 01 Sep 2004)
New Revision: 1503
Modified:
trunk/kernel-2.4/powerpc/kernel-patch-powerpc-2.4.27-2.4.27/config/powerpc
trunk/kernel-2.4/powerpc/kernel-patch-powerpc-2.4.27-2.4.27/powerpc/pieces/asfs-1.0b4.diff
trunk/kernel-2.4/powerpc/kernel-patch-powerpc-2.4.27-2.4.27/powerpc/pieces/benh.diff
trunk/kernel-2.4/powerpc/kernel-patch-powerpc-2.4.27-2.4.27/powerpc/pieces/pegasos.diff
Log:
Fixed 2.4.27 patch set.
removed one rivafb hunk, this probably means that rivafb is broken.
Updated powerpc config file.
Modified: trunk/kernel-2.4/powerpc/kernel-patch-powerpc-2.4.27-2.4.27/config/powerpc
===================================================================
--- trunk/kernel-2.4/powerpc/kernel-patch-powerpc-2.4.27-2.4.27/config/powerpc 2004-09-01 05:15:32 UTC (rev 1502)
+++ trunk/kernel-2.4/powerpc/kernel-patch-powerpc-2.4.27-2.4.27/config/powerpc 2004-09-01 19:43:37 UTC (rev 1503)
@@ -106,7 +106,6 @@
CONFIG_GEN_RTC=y
CONFIG_PPC601_SYNC_FIX=y
CONFIG_PROC_DEVICETREE=y
-CONFIG_PPC_RTAS=y
CONFIG_PREP_RESIDUAL=y
# CONFIG_PROC_PREPRESIDUAL is not set
CONFIG_PPCBUG_NVRAM=y
@@ -165,7 +164,7 @@
# CONFIG_CISS_MONITOR_THREAD is not set
CONFIG_BLK_DEV_DAC960=m
CONFIG_BLK_DEV_UMEM=m
-CONFIG_BLK_DEV_CARMEL=m
+CONFIG_BLK_DEV_SX8=m
CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_NBD=m
CONFIG_BLK_DEV_RAM=y
@@ -185,6 +184,7 @@
CONFIG_MD_MULTIPATH=m
CONFIG_BLK_DEV_LVM=m
CONFIG_BLK_DEV_DM=m
+CONFIG_BLK_DEV_DM_MIRROR=m
#
# Networking options
@@ -395,7 +395,7 @@
CONFIG_NET_SCH_TEQL=m
CONFIG_NET_SCH_TBF=m
CONFIG_NET_SCH_GRED=m
-CONFIG_NET_SCH_DELAY=m
+CONFIG_NET_SCH_NETEM=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCH_INGRESS=m
# CONFIG_NET_QOS is not set
@@ -565,6 +565,7 @@
CONFIG_SCSI_SATA=y
CONFIG_SCSI_SATA_SVW=y
CONFIG_SCSI_SATA_PROMISE=m
+CONFIG_SCSI_SATA_SX4=m
CONFIG_SCSI_SATA_SIL=m
CONFIG_SCSI_SATA_SIS=m
CONFIG_SCSI_SATA_VIA=m
@@ -809,7 +810,6 @@
CONFIG_PLX_HERMES=m
CONFIG_TMD_HERMES=m
CONFIG_PCI_HERMES=m
-CONFIG_TMD_HERMES=m
#
# Wireless Pcmcia cards support
@@ -1329,7 +1329,6 @@
CONFIG_WDT_501=y
# CONFIG_WDT_501_FAN is not set
CONFIG_MACHZ_WDT=m
-# CONFIG_AMD7XX_TCO is not set
CONFIG_SCx200=m
# CONFIG_SCx200_GPIO is not set
CONFIG_NVRAM=y
@@ -1822,6 +1821,7 @@
#
CONFIG_USB_ZERO=m
CONFIG_USB_ETH=m
+CONFIG_USB_ETH_RNDIS=y
CONFIG_USB_FILE_STORAGE=m
# CONFIG_USB_FILE_STORAGE_TEST is not set
@@ -1872,8 +1872,10 @@
CONFIG_CRYPTO_AES=m
CONFIG_CRYPTO_CAST5=m
CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_TEA=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_DEFLATE=y
+CONFIG_CRYPTO_MICHAEL_MIC=m
CONFIG_CRYPTO_TEST=m
#
Modified: trunk/kernel-2.4/powerpc/kernel-patch-powerpc-2.4.27-2.4.27/powerpc/pieces/asfs-1.0b4.diff
===================================================================
--- trunk/kernel-2.4/powerpc/kernel-patch-powerpc-2.4.27-2.4.27/powerpc/pieces/asfs-1.0b4.diff 2004-09-01 05:15:32 UTC (rev 1502)
+++ trunk/kernel-2.4/powerpc/kernel-patch-powerpc-2.4.27-2.4.27/powerpc/pieces/asfs-1.0b4.diff 2004-09-01 19:43:37 UTC (rev 1503)
@@ -1,7 +1,7 @@
-diff -urN kernel-source-2.4.26-chrp8mb/Documentation/Configure.help kernel-source-2.4.26-asfs/Documentation/Configure.help
---- kernel-source-2.4.26-chrp8mb/Documentation/Configure.help 2004-07-02 08:14:29.000000000 +0200
-+++ kernel-source-2.4.26-asfs/Documentation/Configure.help 2004-07-02 08:24:22.285843128 +0200
-@@ -17336,6 +17336,34 @@
+diff -urN kernel-source-2.4.27/Documentation/Configure.help kernel-source-2.4.27-asfs/Documentation/Configure.help
+--- kernel-source-2.4.27/Documentation/Configure.help 2004-08-24 07:53:15.000000000 +0200
++++ kernel-source-2.4.27-asfs/Documentation/Configure.help 2004-09-01 21:03:31.189527824 +0200
+@@ -17396,6 +17396,34 @@
say M here and read <file:Documentation/modules.txt>. If unsure,
say N.
@@ -36,9 +36,9 @@
Apple HFS file system support
CONFIG_HFS_FS
If you say Y here, you will be able to mount Macintosh-formatted
-diff -urN kernel-source-2.4.26-chrp8mb/Documentation/filesystems/00-INDEX kernel-source-2.4.26-asfs/Documentation/filesystems/00-INDEX
---- kernel-source-2.4.26-chrp8mb/Documentation/filesystems/00-INDEX 2004-02-21 04:46:58.000000000 +0100
-+++ kernel-source-2.4.26-asfs/Documentation/filesystems/00-INDEX 2004-07-02 08:23:11.962533896 +0200
+diff -urN kernel-source-2.4.27/Documentation/filesystems/00-INDEX kernel-source-2.4.27-asfs/Documentation/filesystems/00-INDEX
+--- kernel-source-2.4.27/Documentation/filesystems/00-INDEX 2004-02-18 14:36:30.000000000 +0100
++++ kernel-source-2.4.27-asfs/Documentation/filesystems/00-INDEX 2004-09-01 21:03:31.192527368 +0200
@@ -6,6 +6,8 @@
- info and mount options for the Acorn Advanced Disc Filing System.
affs.txt
@@ -48,9 +48,9 @@
befs.txt
- info for the BeOS file system (BFS)
bfs.txt
-diff -urN kernel-source-2.4.26-chrp8mb/Documentation/filesystems/asfs.txt kernel-source-2.4.26-asfs/Documentation/filesystems/asfs.txt
---- kernel-source-2.4.26-chrp8mb/Documentation/filesystems/asfs.txt 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26-asfs/Documentation/filesystems/asfs.txt 2004-07-02 08:23:11.963533744 +0200
+diff -urN kernel-source-2.4.27/Documentation/filesystems/asfs.txt kernel-source-2.4.27-asfs/Documentation/filesystems/asfs.txt
+--- kernel-source-2.4.27/Documentation/filesystems/asfs.txt 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-asfs/Documentation/filesystems/asfs.txt 2004-09-01 21:03:31.301510800 +0200
@@ -0,0 +1,150 @@
+
+Amiga SmartFileSystem, Linux implementation
@@ -202,9 +202,9 @@
+The ASFS driver is realased under the terms of of the GNU General
+Public License. See source code for more details.
+
-diff -urN kernel-source-2.4.26-chrp8mb/fs/asfs/adminspace.c kernel-source-2.4.26-asfs/fs/asfs/adminspace.c
---- kernel-source-2.4.26-chrp8mb/fs/asfs/adminspace.c 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26-asfs/fs/asfs/adminspace.c 2004-07-02 08:23:12.058519304 +0200
+diff -urN kernel-source-2.4.27/fs/asfs/adminspace.c kernel-source-2.4.27-asfs/fs/asfs/adminspace.c
+--- kernel-source-2.4.27/fs/asfs/adminspace.c 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-asfs/fs/asfs/adminspace.c 2004-09-01 21:03:31.405494992 +0200
@@ -0,0 +1,442 @@
+/*
+ *
@@ -648,9 +648,9 @@
+}
+
+#endif
-diff -urN kernel-source-2.4.26-chrp8mb/fs/asfs/bitfuncs.c kernel-source-2.4.26-asfs/fs/asfs/bitfuncs.c
---- kernel-source-2.4.26-chrp8mb/fs/asfs/bitfuncs.c 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26-asfs/fs/asfs/bitfuncs.c 2004-07-02 08:23:12.059519152 +0200
+diff -urN kernel-source-2.4.27/fs/asfs/bitfuncs.c kernel-source-2.4.27-asfs/fs/asfs/bitfuncs.c
+--- kernel-source-2.4.27/fs/asfs/bitfuncs.c 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-asfs/fs/asfs/bitfuncs.c 2004-09-01 21:03:31.406494840 +0200
@@ -0,0 +1,249 @@
+/*
+ *
@@ -901,9 +901,9 @@
+}
+
+#endif
-diff -urN kernel-source-2.4.26-chrp8mb/fs/asfs/dir.c kernel-source-2.4.26-asfs/fs/asfs/dir.c
---- kernel-source-2.4.26-chrp8mb/fs/asfs/dir.c 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26-asfs/fs/asfs/dir.c 2004-07-02 08:23:12.061518848 +0200
+diff -urN kernel-source-2.4.27/fs/asfs/dir.c kernel-source-2.4.27-asfs/fs/asfs/dir.c
+--- kernel-source-2.4.27/fs/asfs/dir.c 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-asfs/fs/asfs/dir.c 2004-09-01 21:03:31.506479640 +0200
@@ -0,0 +1,214 @@
+/*
+ *
@@ -1119,9 +1119,9 @@
+ d_add(dentry, inode);
+ return ERR_PTR(res);
+}
-diff -urN kernel-source-2.4.26-chrp8mb/fs/asfs/extents.c kernel-source-2.4.26-asfs/fs/asfs/extents.c
---- kernel-source-2.4.26-chrp8mb/fs/asfs/extents.c 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26-asfs/fs/asfs/extents.c 2004-07-02 08:23:12.066518088 +0200
+diff -urN kernel-source-2.4.27/fs/asfs/extents.c kernel-source-2.4.27-asfs/fs/asfs/extents.c
+--- kernel-source-2.4.27/fs/asfs/extents.c 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-asfs/fs/asfs/extents.c 2004-09-01 21:03:31.608464136 +0200
@@ -0,0 +1,583 @@
+/*
+ *
@@ -1706,9 +1706,9 @@
+ return errorcode;
+}
+#endif
-diff -urN kernel-source-2.4.26-chrp8mb/fs/asfs/file.c kernel-source-2.4.26-asfs/fs/asfs/file.c
---- kernel-source-2.4.26-chrp8mb/fs/asfs/file.c 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26-asfs/fs/asfs/file.c 2004-07-02 08:23:12.067517936 +0200
+diff -urN kernel-source-2.4.27/fs/asfs/file.c kernel-source-2.4.27-asfs/fs/asfs/file.c
+--- kernel-source-2.4.27/fs/asfs/file.c 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-asfs/fs/asfs/file.c 2004-09-01 21:03:31.610463832 +0200
@@ -0,0 +1,255 @@
+/*
+ *
@@ -1965,9 +1965,9 @@
+}
+
+#endif
-diff -urN kernel-source-2.4.26-chrp8mb/fs/asfs/inode.c kernel-source-2.4.26-asfs/fs/asfs/inode.c
---- kernel-source-2.4.26-chrp8mb/fs/asfs/inode.c 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26-asfs/fs/asfs/inode.c 2004-07-02 08:23:12.176501368 +0200
+diff -urN kernel-source-2.4.27/fs/asfs/inode.c kernel-source-2.4.27-asfs/fs/asfs/inode.c
+--- kernel-source-2.4.27/fs/asfs/inode.c 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-asfs/fs/asfs/inode.c 2004-09-01 21:03:31.710448632 +0200
@@ -0,0 +1,477 @@
+/*
+ *
@@ -2446,9 +2446,9 @@
+}
+*/
+#endif
-diff -urN kernel-source-2.4.26-chrp8mb/fs/asfs/Makefile kernel-source-2.4.26-asfs/fs/asfs/Makefile
---- kernel-source-2.4.26-chrp8mb/fs/asfs/Makefile 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26-asfs/fs/asfs/Makefile 2004-07-02 08:23:11.966533288 +0200
+diff -urN kernel-source-2.4.27/fs/asfs/Makefile kernel-source-2.4.27-asfs/fs/asfs/Makefile
+--- kernel-source-2.4.27/fs/asfs/Makefile 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-asfs/fs/asfs/Makefile 2004-09-01 21:03:31.711448480 +0200
@@ -0,0 +1,15 @@
+#
+# Makefile for the linux asfs filesystem routines.
@@ -2465,9 +2465,9 @@
+obj-m := $(O_TARGET)
+
+include $(TOPDIR)/Rules.make
-diff -urN kernel-source-2.4.26-chrp8mb/fs/asfs/namei.c kernel-source-2.4.26-asfs/fs/asfs/namei.c
---- kernel-source-2.4.26-chrp8mb/fs/asfs/namei.c 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26-asfs/fs/asfs/namei.c 2004-07-02 08:23:12.177501216 +0200
+diff -urN kernel-source-2.4.27/fs/asfs/namei.c kernel-source-2.4.27-asfs/fs/asfs/namei.c
+--- kernel-source-2.4.27/fs/asfs/namei.c 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-asfs/fs/asfs/namei.c 2004-09-01 21:03:31.712448328 +0200
@@ -0,0 +1,152 @@
+/*
+ *
@@ -2621,9 +2621,9 @@
+ return hashval;
+}
+
-diff -urN kernel-source-2.4.26-chrp8mb/fs/asfs/nodes.c kernel-source-2.4.26-asfs/fs/asfs/nodes.c
---- kernel-source-2.4.26-chrp8mb/fs/asfs/nodes.c 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26-asfs/fs/asfs/nodes.c 2004-07-02 08:23:12.355474160 +0200
+diff -urN kernel-source-2.4.27/fs/asfs/nodes.c kernel-source-2.4.27-asfs/fs/asfs/nodes.c
+--- kernel-source-2.4.27/fs/asfs/nodes.c 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-asfs/fs/asfs/nodes.c 2004-09-01 21:03:31.822431608 +0200
@@ -0,0 +1,454 @@
+/*
+ *
@@ -3079,9 +3079,9 @@
+}
+
+#endif
-diff -urN kernel-source-2.4.26-chrp8mb/fs/asfs/objects.c kernel-source-2.4.26-asfs/fs/asfs/objects.c
---- kernel-source-2.4.26-chrp8mb/fs/asfs/objects.c 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26-asfs/fs/asfs/objects.c 2004-07-02 08:23:12.445460480 +0200
+diff -urN kernel-source-2.4.27/fs/asfs/objects.c kernel-source-2.4.27-asfs/fs/asfs/objects.c
+--- kernel-source-2.4.27/fs/asfs/objects.c 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-asfs/fs/asfs/objects.c 2004-09-01 21:03:31.923416256 +0200
@@ -0,0 +1,763 @@
+/*
+ *
@@ -3846,9 +3846,9 @@
+ return 0;
+}
+#endif
-diff -urN kernel-source-2.4.26-chrp8mb/fs/asfs/super.c kernel-source-2.4.26-asfs/fs/asfs/super.c
---- kernel-source-2.4.26-chrp8mb/fs/asfs/super.c 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26-asfs/fs/asfs/super.c 2004-07-02 08:23:12.532447256 +0200
+diff -urN kernel-source-2.4.27/fs/asfs/super.c kernel-source-2.4.27-asfs/fs/asfs/super.c
+--- kernel-source-2.4.27/fs/asfs/super.c 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-asfs/fs/asfs/super.c 2004-09-01 21:03:32.022401208 +0200
@@ -0,0 +1,422 @@
+/*
+ *
@@ -4272,9 +4272,9 @@
+
+module_init(init_asfs_fs)
+module_exit(exit_asfs_fs)
-diff -urN kernel-source-2.4.26-chrp8mb/fs/asfs/symlink.c kernel-source-2.4.26-asfs/fs/asfs/symlink.c
---- kernel-source-2.4.26-chrp8mb/fs/asfs/symlink.c 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26-asfs/fs/asfs/symlink.c 2004-07-02 08:23:12.616434488 +0200
+diff -urN kernel-source-2.4.27/fs/asfs/symlink.c kernel-source-2.4.27-asfs/fs/asfs/symlink.c
+--- kernel-source-2.4.27/fs/asfs/symlink.c 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-asfs/fs/asfs/symlink.c 2004-09-01 21:03:32.024400904 +0200
@@ -0,0 +1,225 @@
+/*
+ *
@@ -4501,9 +4501,9 @@
+}
+
+#endif
-diff -urN kernel-source-2.4.26-chrp8mb/fs/Config.in kernel-source-2.4.26-asfs/fs/Config.in
---- kernel-source-2.4.26-chrp8mb/fs/Config.in 2004-04-17 05:32:34.000000000 +0200
-+++ kernel-source-2.4.26-asfs/fs/Config.in 2004-07-02 08:25:19.524141584 +0200
+diff -urN kernel-source-2.4.27/fs/Config.in kernel-source-2.4.27-asfs/fs/Config.in
+--- kernel-source-2.4.27/fs/Config.in 2004-08-24 07:53:15.000000000 +0200
++++ kernel-source-2.4.27-asfs/fs/Config.in 2004-09-01 21:03:32.142382968 +0200
@@ -19,6 +19,9 @@
dep_tristate 'Amiga FFS file system support (EXPERIMENTAL)' CONFIG_AFFS_FS $CONFIG_EXPERIMENTAL
@@ -4514,9 +4514,9 @@
dep_tristate 'Apple HFS file system support (EXPERIMENTAL)' CONFIG_HFS_FS $CONFIG_EXPERIMENTAL
dep_tristate 'Apple HFS+ (Extended HFS) file system support (EXPERIMENTAL)' CONFIG_HFSPLUS_FS $CONFIG_EXPERIMENTAL
-diff -urN kernel-source-2.4.26-chrp8mb/fs/Makefile kernel-source-2.4.26-asfs/fs/Makefile
---- kernel-source-2.4.26-chrp8mb/fs/Makefile 2004-04-17 05:32:34.000000000 +0200
-+++ kernel-source-2.4.26-asfs/fs/Makefile 2004-07-02 08:23:11.965533440 +0200
+diff -urN kernel-source-2.4.27/fs/Makefile kernel-source-2.4.27-asfs/fs/Makefile
+--- kernel-source-2.4.27/fs/Makefile 2004-08-24 07:53:15.000000000 +0200
++++ kernel-source-2.4.27-asfs/fs/Makefile 2004-09-01 21:03:32.240368072 +0200
@@ -55,6 +55,7 @@
subdir-$(CONFIG_JFFS_FS) += jffs
subdir-$(CONFIG_JFFS2_FS) += jffs2
@@ -4525,9 +4525,9 @@
subdir-$(CONFIG_ROMFS_FS) += romfs
subdir-$(CONFIG_QNX4FS_FS) += qnx4
subdir-$(CONFIG_UDF_FS) += udf
-diff -urN kernel-source-2.4.26-chrp8mb/include/linux/asfs_fs.h kernel-source-2.4.26-asfs/include/linux/asfs_fs.h
---- kernel-source-2.4.26-chrp8mb/include/linux/asfs_fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26-asfs/include/linux/asfs_fs.h 2004-07-02 08:23:12.000000000 +0200
+diff -urN kernel-source-2.4.27/include/linux/asfs_fs.h kernel-source-2.4.27-asfs/include/linux/asfs_fs.h
+--- kernel-source-2.4.27/include/linux/asfs_fs.h 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-asfs/include/linux/asfs_fs.h 2004-09-01 21:03:32.347351808 +0200
@@ -0,0 +1,449 @@
+#ifndef __LINUX_ASFS_FS_H
+#define __LINUX_ASFS_FS_H
@@ -4978,9 +4978,9 @@
+
+#endif /* __KERNEL__ */
+#endif
-diff -urN kernel-source-2.4.26-chrp8mb/include/linux/asfs_fs_i.h kernel-source-2.4.26-asfs/include/linux/asfs_fs_i.h
---- kernel-source-2.4.26-chrp8mb/include/linux/asfs_fs_i.h 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26-asfs/include/linux/asfs_fs_i.h 2004-07-02 08:23:12.000000000 +0200
+diff -urN kernel-source-2.4.27/include/linux/asfs_fs_i.h kernel-source-2.4.27-asfs/include/linux/asfs_fs_i.h
+--- kernel-source-2.4.27/include/linux/asfs_fs_i.h 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-asfs/include/linux/asfs_fs_i.h 2004-09-01 21:03:32.348351656 +0200
@@ -0,0 +1,26 @@
+#ifndef __ASFS_FS_I
+#define __ASFS_FS_I
@@ -5008,9 +5008,9 @@
+
+#define ASFS_I(inode) (&(inode)->u.asfs_i)
+#endif
-diff -urN kernel-source-2.4.26-chrp8mb/include/linux/asfs_fs_sb.h kernel-source-2.4.26-asfs/include/linux/asfs_fs_sb.h
---- kernel-source-2.4.26-chrp8mb/include/linux/asfs_fs_sb.h 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26-asfs/include/linux/asfs_fs_sb.h 2004-07-02 08:23:12.000000000 +0200
+diff -urN kernel-source-2.4.27/include/linux/asfs_fs_sb.h kernel-source-2.4.27-asfs/include/linux/asfs_fs_sb.h
+--- kernel-source-2.4.27/include/linux/asfs_fs_sb.h 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-asfs/include/linux/asfs_fs_sb.h 2004-09-01 21:03:32.445336912 +0200
@@ -0,0 +1,29 @@
+#ifndef __ASFS_FS_SB
+#define __ASFS_FS_SB
@@ -5041,9 +5041,9 @@
+#define ASFS_SB(sb) (&(sb)->u.asfs_sb)
+
+#endif
-diff -urN kernel-source-2.4.26-chrp8mb/include/linux/fs.h kernel-source-2.4.26-asfs/include/linux/fs.h
---- kernel-source-2.4.26-chrp8mb/include/linux/fs.h 2004-02-22 10:28:34.000000000 +0100
-+++ kernel-source-2.4.26-asfs/include/linux/fs.h 2004-07-02 08:23:13.000000000 +0200
+diff -urN kernel-source-2.4.27/include/linux/fs.h kernel-source-2.4.27-asfs/include/linux/fs.h
+--- kernel-source-2.4.27/include/linux/fs.h 2004-08-24 07:53:15.000000000 +0200
++++ kernel-source-2.4.27-asfs/include/linux/fs.h 2004-09-01 21:03:32.544321864 +0200
@@ -309,6 +309,7 @@
#include <linux/nfs_fs_i.h>
#include <linux/sysv_fs_i.h>
Modified: trunk/kernel-2.4/powerpc/kernel-patch-powerpc-2.4.27-2.4.27/powerpc/pieces/benh.diff
===================================================================
--- trunk/kernel-2.4/powerpc/kernel-patch-powerpc-2.4.27-2.4.27/powerpc/pieces/benh.diff 2004-09-01 05:15:32 UTC (rev 1502)
+++ trunk/kernel-2.4/powerpc/kernel-patch-powerpc-2.4.27-2.4.27/powerpc/pieces/benh.diff 2004-09-01 19:43:37 UTC (rev 1503)
@@ -1,6 +1,6 @@
-diff -urN kernel-source-2.4.26.orig/arch/ppc/boot/common/misc-simple.c kernel-source-2.4.26/arch/ppc/boot/common/misc-simple.c
---- kernel-source-2.4.26.orig/arch/ppc/boot/common/misc-simple.c 2004-04-14 15:05:27.000000000 +0200
-+++ kernel-source-2.4.26/arch/ppc/boot/common/misc-simple.c 2004-07-31 18:36:17.689835768 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/boot/common/misc-simple.c kernel-source-2.4.27-benh/arch/ppc/boot/common/misc-simple.c
+--- kernel-source-2.4.27/arch/ppc/boot/common/misc-simple.c 2004-04-14 15:05:27.000000000 +0200
++++ kernel-source-2.4.27-benh/arch/ppc/boot/common/misc-simple.c 2004-09-01 20:56:21.829800424 +0200
@@ -75,7 +75,7 @@
extern void gunzip(void *, int, unsigned char *, int *);
extern void serial_fixups(void);
@@ -10,9 +10,9 @@
decompress_kernel(unsigned long load_addr, int num_words, unsigned long cksum,
void *ignored)
{
-diff -urN kernel-source-2.4.26.orig/arch/ppc/boot/pmac/chrpmain.c kernel-source-2.4.26/arch/ppc/boot/pmac/chrpmain.c
---- kernel-source-2.4.26.orig/arch/ppc/boot/pmac/chrpmain.c 2004-02-18 14:36:30.000000000 +0100
-+++ kernel-source-2.4.26/arch/ppc/boot/pmac/chrpmain.c 2004-07-31 18:36:17.983791080 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/boot/pmac/chrpmain.c kernel-source-2.4.27-benh/arch/ppc/boot/pmac/chrpmain.c
+--- kernel-source-2.4.27/arch/ppc/boot/pmac/chrpmain.c 2004-02-18 14:36:30.000000000 +0100
++++ kernel-source-2.4.27-benh/arch/ppc/boot/pmac/chrpmain.c 2004-09-01 20:56:21.904789024 +0200
@@ -29,8 +29,10 @@
#define RAM_END (16 << 20)
@@ -26,9 +26,9 @@
#define SCRATCH_SIZE (128 << 10)
-diff -urN kernel-source-2.4.26.orig/arch/ppc/boot/pmac/coffmain.c kernel-source-2.4.26/arch/ppc/boot/pmac/coffmain.c
---- kernel-source-2.4.26.orig/arch/ppc/boot/pmac/coffmain.c 2004-02-18 14:36:30.000000000 +0100
-+++ kernel-source-2.4.26/arch/ppc/boot/pmac/coffmain.c 2004-07-31 18:36:17.996789104 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/boot/pmac/coffmain.c kernel-source-2.4.27-benh/arch/ppc/boot/pmac/coffmain.c
+--- kernel-source-2.4.27/arch/ppc/boot/pmac/coffmain.c 2004-02-18 14:36:30.000000000 +0100
++++ kernel-source-2.4.27-benh/arch/ppc/boot/pmac/coffmain.c 2004-09-01 20:56:21.906788720 +0200
@@ -18,29 +18,36 @@
extern char __ramdisk_begin[], __ramdisk_end;
extern char _start, _end;
@@ -127,9 +127,9 @@
printf("start address = 0x%x\n", sa);
(*(kernel_start_t)sa)(a1, a2, prom);
-diff -urN kernel-source-2.4.26.orig/arch/ppc/boot/pmac/misc.S kernel-source-2.4.26/arch/ppc/boot/pmac/misc.S
---- kernel-source-2.4.26.orig/arch/ppc/boot/pmac/misc.S 2003-06-13 16:51:31.000000000 +0200
-+++ kernel-source-2.4.26/arch/ppc/boot/pmac/misc.S 2004-07-31 18:36:17.999788648 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/boot/pmac/misc.S kernel-source-2.4.27-benh/arch/ppc/boot/pmac/misc.S
+--- kernel-source-2.4.27/arch/ppc/boot/pmac/misc.S 2003-06-13 16:51:31.000000000 +0200
++++ kernel-source-2.4.27-benh/arch/ppc/boot/pmac/misc.S 2004-09-01 20:56:21.980777472 +0200
@@ -22,6 +22,10 @@
mtibatl 3,0 /* invalidate BAT first */
ori 3,3,4 /* set up BAT registers for 601 */
@@ -154,9 +154,9 @@
mtdbatl 3,4
mtdbatu 3,3
mtibatl 3,4
-diff -urN kernel-source-2.4.26.orig/arch/ppc/config.in kernel-source-2.4.26/arch/ppc/config.in
---- kernel-source-2.4.26.orig/arch/ppc/config.in 2004-04-14 15:05:27.000000000 +0200
-+++ kernel-source-2.4.26/arch/ppc/config.in 2004-07-31 18:36:18.085775576 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/config.in kernel-source-2.4.27-benh/arch/ppc/config.in
+--- kernel-source-2.4.27/arch/ppc/config.in 2004-08-08 01:26:04.000000000 +0200
++++ kernel-source-2.4.27-benh/arch/ppc/config.in 2004-09-01 20:56:22.057765768 +0200
@@ -55,6 +55,17 @@
define_bool CONFIG_PPC_STD_MMU y
fi
@@ -175,7 +175,7 @@
if [ "$CONFIG_8260" = "y" ]; then
define_bool CONFIG_SERIAL_CONSOLE y
define_bool CONFIG_CPM2 y
-@@ -582,6 +593,9 @@
+@@ -581,6 +592,9 @@
if [ "$CONFIG_ADB_CUDA" != "n" ]; then
bool 'Support for ANS LCD display' CONFIG_ANSLCD
fi
@@ -185,7 +185,7 @@
fi
endmenu
-@@ -621,6 +635,10 @@
+@@ -620,6 +634,10 @@
bool 'Kernel debugging' CONFIG_DEBUG_KERNEL
if [ "$CONFIG_DEBUG_KERNEL" = "y" ]; then
@@ -196,7 +196,7 @@
bool ' Magic SysRq key' CONFIG_MAGIC_SYSRQ
bool ' Debug high memory support' CONFIG_DEBUG_HIGHMEM
bool ' Debug memory allocations' CONFIG_DEBUG_SLAB
-@@ -640,6 +658,9 @@
+@@ -639,6 +657,9 @@
dep_bool ' Enable serial console thru kgdb port' CONFIG_KGDB_CONSOLE $CONFIG_KGDB
fi
bool ' Include xmon kernel debugger' CONFIG_XMON
@@ -206,9 +206,9 @@
bool ' Include BDI-2000 user context switcher' CONFIG_BDI_SWITCH
# CONFIG_KGDB is much more useful with -g enbaled. This makes the
# following look a little odd.
-diff -urN kernel-source-2.4.26.orig/arch/ppc/kernel/btext.c kernel-source-2.4.26/arch/ppc/kernel/btext.c
---- kernel-source-2.4.26.orig/arch/ppc/kernel/btext.c 2003-08-25 13:44:40.000000000 +0200
-+++ kernel-source-2.4.26/arch/ppc/kernel/btext.c 2004-07-31 18:36:18.297743352 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/kernel/btext.c kernel-source-2.4.27-benh/arch/ppc/kernel/btext.c
+--- kernel-source-2.4.27/arch/ppc/kernel/btext.c 2003-08-25 13:44:40.000000000 +0200
++++ kernel-source-2.4.27-benh/arch/ppc/kernel/btext.c 2004-09-01 20:56:22.206743120 +0200
@@ -42,22 +42,14 @@
static unsigned char vga_font[cmapsz];
@@ -235,9 +235,9 @@
/*
* This is called only when we are booted via BootX.
-diff -urN kernel-source-2.4.26.orig/arch/ppc/kernel/cpu_setup_6xx.S kernel-source-2.4.26/arch/ppc/kernel/cpu_setup_6xx.S
---- kernel-source-2.4.26.orig/arch/ppc/kernel/cpu_setup_6xx.S 2004-02-18 14:36:30.000000000 +0100
-+++ kernel-source-2.4.26/arch/ppc/kernel/cpu_setup_6xx.S 2004-07-31 18:36:18.495713256 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/kernel/cpu_setup_6xx.S kernel-source-2.4.27-benh/arch/ppc/kernel/cpu_setup_6xx.S
+--- kernel-source-2.4.27/arch/ppc/kernel/cpu_setup_6xx.S 2004-02-18 14:36:30.000000000 +0100
++++ kernel-source-2.4.27-benh/arch/ppc/kernel/cpu_setup_6xx.S 2004-09-01 20:56:22.208742816 +0200
@@ -53,6 +53,9 @@
bl setup_7400_workarounds
bl setup_common_caches
@@ -258,9 +258,9 @@
mtlr r4
blr
-diff -urN kernel-source-2.4.26.orig/arch/ppc/kernel/cpu_setup_power4.S kernel-source-2.4.26/arch/ppc/kernel/cpu_setup_power4.S
---- kernel-source-2.4.26.orig/arch/ppc/kernel/cpu_setup_power4.S 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26/arch/ppc/kernel/cpu_setup_power4.S 2004-07-31 18:36:18.497712952 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/kernel/cpu_setup_power4.S kernel-source-2.4.27-benh/arch/ppc/kernel/cpu_setup_power4.S
+--- kernel-source-2.4.27/arch/ppc/kernel/cpu_setup_power4.S 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-benh/arch/ppc/kernel/cpu_setup_power4.S 2004-09-01 20:56:22.284731264 +0200
@@ -0,0 +1,183 @@
+/*
+ * This file contains low level CPU setup functions.
@@ -445,9 +445,9 @@
+ mtcr r7
+ blr
+
-diff -urN kernel-source-2.4.26.orig/arch/ppc/kernel/cputable.c kernel-source-2.4.26/arch/ppc/kernel/cputable.c
---- kernel-source-2.4.26.orig/arch/ppc/kernel/cputable.c 2004-04-14 15:05:27.000000000 +0200
-+++ kernel-source-2.4.26/arch/ppc/kernel/cputable.c 2004-07-31 18:36:18.745675256 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/kernel/cputable.c kernel-source-2.4.27-benh/arch/ppc/kernel/cputable.c
+--- kernel-source-2.4.27/arch/ppc/kernel/cputable.c 2004-04-14 15:05:27.000000000 +0200
++++ kernel-source-2.4.27-benh/arch/ppc/kernel/cputable.c 2004-09-01 20:56:22.361719560 +0200
@@ -47,8 +47,10 @@
*/
#ifdef CONFIG_ALTIVEC
@@ -567,9 +567,9 @@
128, 128,
__setup_cpu_ppc970
},
-diff -urN kernel-source-2.4.26.orig/arch/ppc/kernel/head.S kernel-source-2.4.26/arch/ppc/kernel/head.S
---- kernel-source-2.4.26.orig/arch/ppc/kernel/head.S 2004-04-14 15:05:27.000000000 +0200
-+++ kernel-source-2.4.26/arch/ppc/kernel/head.S 2004-07-31 18:36:18.851659144 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/kernel/head.S kernel-source-2.4.27-benh/arch/ppc/kernel/head.S
+--- kernel-source-2.4.27/arch/ppc/kernel/head.S 2004-04-14 15:05:27.000000000 +0200
++++ kernel-source-2.4.27-benh/arch/ppc/kernel/head.S 2004-09-01 20:56:22.445706792 +0200
@@ -141,17 +141,6 @@
mr r27,r7
li r24,0 /* cpu # */
@@ -711,9 +711,9 @@
ppc970_setup_hid:
li r0,0
sync
-diff -urN kernel-source-2.4.26.orig/arch/ppc/kernel/irq.c kernel-source-2.4.26/arch/ppc/kernel/irq.c
---- kernel-source-2.4.26.orig/arch/ppc/kernel/irq.c 2003-11-28 19:26:19.000000000 +0100
-+++ kernel-source-2.4.26/arch/ppc/kernel/irq.c 2004-07-31 18:36:19.005635736 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/kernel/irq.c kernel-source-2.4.27-benh/arch/ppc/kernel/irq.c
+--- kernel-source-2.4.27/arch/ppc/kernel/irq.c 2003-11-28 19:26:19.000000000 +0100
++++ kernel-source-2.4.27-benh/arch/ppc/kernel/irq.c 2004-09-01 20:56:22.447706488 +0200
@@ -75,6 +75,10 @@
unsigned long ppc_lost_interrupts[NR_MASK_WORDS];
atomic_t ppc_n_lost_interrupts;
@@ -776,9 +776,9 @@
printk("get_irqlock(%d) waiting, global_irq_holder=%d\n", cpu, global_irq_holder);
#ifdef CONFIG_XMON
xmon(0);
-diff -urN kernel-source-2.4.26.orig/arch/ppc/kernel/m8xx_setup.c kernel-source-2.4.26/arch/ppc/kernel/m8xx_setup.c
---- kernel-source-2.4.26.orig/arch/ppc/kernel/m8xx_setup.c 2004-02-18 14:36:30.000000000 +0100
-+++ kernel-source-2.4.26/arch/ppc/kernel/m8xx_setup.c 2004-07-31 18:36:19.009635128 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/kernel/m8xx_setup.c kernel-source-2.4.27-benh/arch/ppc/kernel/m8xx_setup.c
+--- kernel-source-2.4.27/arch/ppc/kernel/m8xx_setup.c 2004-02-18 14:36:30.000000000 +0100
++++ kernel-source-2.4.27-benh/arch/ppc/kernel/m8xx_setup.c 2004-09-01 20:56:22.528694176 +0200
@@ -43,6 +43,7 @@
#include <asm/machdep.h>
#include <asm/bootinfo.h>
@@ -787,9 +787,9 @@
#include "ppc8xx_pic.h"
-diff -urN kernel-source-2.4.26.orig/arch/ppc/kernel/Makefile kernel-source-2.4.26/arch/ppc/kernel/Makefile
---- kernel-source-2.4.26.orig/arch/ppc/kernel/Makefile 2004-04-14 15:05:27.000000000 +0200
-+++ kernel-source-2.4.26/arch/ppc/kernel/Makefile 2004-07-31 18:36:19.010634976 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/kernel/Makefile kernel-source-2.4.27-benh/arch/ppc/kernel/Makefile
+--- kernel-source-2.4.27/arch/ppc/kernel/Makefile 2004-04-14 15:05:27.000000000 +0200
++++ kernel-source-2.4.27-benh/arch/ppc/kernel/Makefile 2004-09-01 20:56:22.603682776 +0200
@@ -43,12 +43,13 @@
obj-y += idle_gen.o
endif
@@ -814,9 +814,9 @@
indirect_pci.o i8259.o
obj-$(CONFIG_GEMINI) += open_pic.o
obj-$(CONFIG_LOPEC) += mpc10x_common.o indirect_pci.o pci_auto.o \
-diff -urN kernel-source-2.4.26.orig/arch/ppc/kernel/misc.S kernel-source-2.4.26/arch/ppc/kernel/misc.S
---- kernel-source-2.4.26.orig/arch/ppc/kernel/misc.S 2004-04-14 15:05:27.000000000 +0200
-+++ kernel-source-2.4.26/arch/ppc/kernel/misc.S 2004-07-31 18:36:19.021633304 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/kernel/misc.S kernel-source-2.4.27-benh/arch/ppc/kernel/misc.S
+--- kernel-source-2.4.27/arch/ppc/kernel/misc.S 2004-04-14 15:05:27.000000000 +0200
++++ kernel-source-2.4.27-benh/arch/ppc/kernel/misc.S 2004-09-01 20:56:22.605682472 +0200
@@ -200,6 +200,59 @@
mr r4,r24
bctr
@@ -877,9 +877,9 @@
/* void __save_flags_ptr(unsigned long *flags) */
_GLOBAL(__save_flags_ptr)
mfmsr r4
-diff -urN kernel-source-2.4.26.orig/arch/ppc/kernel/open_pic2.c kernel-source-2.4.26/arch/ppc/kernel/open_pic2.c
---- kernel-source-2.4.26.orig/arch/ppc/kernel/open_pic2.c 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26/arch/ppc/kernel/open_pic2.c 2004-07-31 18:36:19.025632696 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/kernel/open_pic2.c kernel-source-2.4.27-benh/arch/ppc/kernel/open_pic2.c
+--- kernel-source-2.4.27/arch/ppc/kernel/open_pic2.c 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-benh/arch/ppc/kernel/open_pic2.c 2004-09-01 20:56:22.758659216 +0200
@@ -0,0 +1,580 @@
+/*
+ * arch/ppc/kernel/open_pic.c -- OpenPIC Interrupt Handling
@@ -1461,9 +1461,9 @@
+ spin_unlock_irqrestore(&openpic2_setup_lock, flags);
+}
+#endif /* CONFIG_PMAC_PBOOK */
-diff -urN kernel-source-2.4.26.orig/arch/ppc/kernel/open_pic.c kernel-source-2.4.26/arch/ppc/kernel/open_pic.c
---- kernel-source-2.4.26.orig/arch/ppc/kernel/open_pic.c 2004-02-18 14:36:30.000000000 +0100
-+++ kernel-source-2.4.26/arch/ppc/kernel/open_pic.c 2004-07-31 18:36:19.028632240 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/kernel/open_pic.c kernel-source-2.4.27-benh/arch/ppc/kernel/open_pic.c
+--- kernel-source-2.4.27/arch/ppc/kernel/open_pic.c 2004-02-18 14:36:30.000000000 +0100
++++ kernel-source-2.4.27-benh/arch/ppc/kernel/open_pic.c 2004-09-01 20:56:22.760658912 +0200
@@ -877,6 +877,17 @@
static u32 save_irq_src_dest[OPENPIC_MAX_SOURCES];
static u32 save_cpu_task_pri[OPENPIC_MAX_PROCESSORS];
@@ -1502,9 +1502,9 @@
spin_unlock_irqrestore(&openpic_setup_lock, flags);
}
#endif /* CONFIG_PMAC_PBOOK */
-diff -urN kernel-source-2.4.26.orig/arch/ppc/kernel/pci.c kernel-source-2.4.26/arch/ppc/kernel/pci.c
---- kernel-source-2.4.26.orig/arch/ppc/kernel/pci.c 2003-08-25 13:44:40.000000000 +0200
-+++ kernel-source-2.4.26/arch/ppc/kernel/pci.c 2004-07-31 18:36:19.047629352 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/kernel/pci.c kernel-source-2.4.27-benh/arch/ppc/kernel/pci.c
+--- kernel-source-2.4.27/arch/ppc/kernel/pci.c 2003-08-25 13:44:40.000000000 +0200
++++ kernel-source-2.4.27-benh/arch/ppc/kernel/pci.c 2004-09-01 20:56:22.914635504 +0200
@@ -22,7 +22,7 @@
#include <asm/irq.h>
#include <asm/uaccess.h>
@@ -1677,9 +1677,9 @@
if (!hose)
return -ENODEV;
-diff -urN kernel-source-2.4.26.orig/arch/ppc/kernel/ppc_ksyms.c kernel-source-2.4.26/arch/ppc/kernel/ppc_ksyms.c
---- kernel-source-2.4.26.orig/arch/ppc/kernel/ppc_ksyms.c 2004-04-14 15:05:27.000000000 +0200
-+++ kernel-source-2.4.26/arch/ppc/kernel/ppc_ksyms.c 2004-07-31 18:36:19.050628896 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/kernel/ppc_ksyms.c kernel-source-2.4.27-benh/arch/ppc/kernel/ppc_ksyms.c
+--- kernel-source-2.4.27/arch/ppc/kernel/ppc_ksyms.c 2004-04-14 15:05:27.000000000 +0200
++++ kernel-source-2.4.27-benh/arch/ppc/kernel/ppc_ksyms.c 2004-09-01 20:56:22.916635200 +0200
@@ -14,6 +14,7 @@
#include <linux/irq.h>
#include <linux/pci.h>
@@ -1769,9 +1769,9 @@
EXPORT_SYMBOL_NOVERS(agp_special_page);
+EXPORT_SYMBOL(local_flush_tlb_all);
#endif /* defined(CONFIG_ALL_PPC) */
-diff -urN kernel-source-2.4.26.orig/arch/ppc/kernel/process.c kernel-source-2.4.26/arch/ppc/kernel/process.c
---- kernel-source-2.4.26.orig/arch/ppc/kernel/process.c 2003-11-28 19:26:19.000000000 +0100
-+++ kernel-source-2.4.26/arch/ppc/kernel/process.c 2004-07-31 18:36:19.074625248 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/kernel/process.c kernel-source-2.4.27-benh/arch/ppc/kernel/process.c
+--- kernel-source-2.4.27/arch/ppc/kernel/process.c 2003-11-28 19:26:19.000000000 +0100
++++ kernel-source-2.4.27-benh/arch/ppc/kernel/process.c 2004-09-01 20:56:22.993623496 +0200
@@ -507,14 +507,19 @@
if (sp == NULL)
asm("mr %0,1" : "=r" (sp));
@@ -1794,9 +1794,9 @@
break;
}
printk("\n");
-diff -urN kernel-source-2.4.26.orig/arch/ppc/kernel/prom.c kernel-source-2.4.26/arch/ppc/kernel/prom.c
---- kernel-source-2.4.26.orig/arch/ppc/kernel/prom.c 2003-08-25 13:44:40.000000000 +0200
-+++ kernel-source-2.4.26/arch/ppc/kernel/prom.c 2004-07-31 18:36:19.078624640 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/kernel/prom.c kernel-source-2.4.27-benh/arch/ppc/kernel/prom.c
+--- kernel-source-2.4.27/arch/ppc/kernel/prom.c 2003-08-25 13:44:40.000000000 +0200
++++ kernel-source-2.4.27-benh/arch/ppc/kernel/prom.c 2004-09-01 20:56:23.070611792 +0200
@@ -206,7 +206,7 @@
ifunc = interpret_macio_props;
else if (!strcmp(np->type, "isa"))
@@ -1829,9 +1829,9 @@
np->intrs[i].line = irq[0] + offset;
if (n > 1)
np->intrs[i].sense = irq[1];
-diff -urN kernel-source-2.4.26.orig/arch/ppc/kernel/prom_init.c kernel-source-2.4.26/arch/ppc/kernel/prom_init.c
---- kernel-source-2.4.26.orig/arch/ppc/kernel/prom_init.c 2003-11-28 19:26:19.000000000 +0100
-+++ kernel-source-2.4.26/arch/ppc/kernel/prom_init.c 2004-07-31 18:36:19.092622512 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/kernel/prom_init.c kernel-source-2.4.27-benh/arch/ppc/kernel/prom_init.c
+--- kernel-source-2.4.27/arch/ppc/kernel/prom_init.c 2003-11-28 19:26:19.000000000 +0100
++++ kernel-source-2.4.27-benh/arch/ppc/kernel/prom_init.c 2004-09-01 20:56:23.148599936 +0200
@@ -253,6 +253,74 @@
}
}
@@ -2013,9 +2013,9 @@
static void __init
prom_instantiate_rtas(void)
{
-diff -urN kernel-source-2.4.26.orig/arch/ppc/kernel/semaphore.c kernel-source-2.4.26/arch/ppc/kernel/semaphore.c
---- kernel-source-2.4.26.orig/arch/ppc/kernel/semaphore.c 2003-06-13 16:51:31.000000000 +0200
-+++ kernel-source-2.4.26/arch/ppc/kernel/semaphore.c 2004-07-31 18:36:19.095622056 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/kernel/semaphore.c kernel-source-2.4.27-benh/arch/ppc/kernel/semaphore.c
+--- kernel-source-2.4.27/arch/ppc/kernel/semaphore.c 2003-06-13 16:51:31.000000000 +0200
++++ kernel-source-2.4.27-benh/arch/ppc/kernel/semaphore.c 2004-09-01 20:56:23.149599784 +0200
@@ -73,9 +73,8 @@
struct task_struct *tsk = current;
DECLARE_WAITQUEUE(wait, tsk);
@@ -2065,9 +2065,9 @@
wake_up(&sem->wait);
return retval;
}
-diff -urN kernel-source-2.4.26.orig/arch/ppc/kernel/setup.c kernel-source-2.4.26/arch/ppc/kernel/setup.c
---- kernel-source-2.4.26.orig/arch/ppc/kernel/setup.c 2004-04-14 15:05:27.000000000 +0200
-+++ kernel-source-2.4.26/arch/ppc/kernel/setup.c 2004-07-31 18:36:19.109619928 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/kernel/setup.c kernel-source-2.4.27-benh/arch/ppc/kernel/setup.c
+--- kernel-source-2.4.27/arch/ppc/kernel/setup.c 2004-04-14 15:05:27.000000000 +0200
++++ kernel-source-2.4.27-benh/arch/ppc/kernel/setup.c 2004-09-01 20:56:23.299576984 +0200
@@ -52,6 +52,7 @@
struct ide_machdep_calls ppc_ide_md;
char *sysmap;
@@ -2140,9 +2140,9 @@
/* Checks "l2cr=xxxx" command-line option */
int __init ppc_setup_l2cr(char *str)
{
-diff -urN kernel-source-2.4.26.orig/arch/ppc/kernel/smp.c kernel-source-2.4.26/arch/ppc/kernel/smp.c
---- kernel-source-2.4.26.orig/arch/ppc/kernel/smp.c 2003-08-25 13:44:40.000000000 +0200
-+++ kernel-source-2.4.26/arch/ppc/kernel/smp.c 2004-07-31 18:36:19.120618256 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/kernel/smp.c kernel-source-2.4.27-benh/arch/ppc/kernel/smp.c
+--- kernel-source-2.4.27/arch/ppc/kernel/smp.c 2003-08-25 13:44:40.000000000 +0200
++++ kernel-source-2.4.27-benh/arch/ppc/kernel/smp.c 2004-09-01 20:56:23.376565280 +0200
@@ -55,14 +55,13 @@
/* all cpu mappings are 1-1 -- Cort */
volatile unsigned long cpu_callin_map[NR_CPUS];
@@ -2298,9 +2298,9 @@
__sti();
}
-diff -urN kernel-source-2.4.26.orig/arch/ppc/kernel/smp-tbsync.c kernel-source-2.4.26/arch/ppc/kernel/smp-tbsync.c
---- kernel-source-2.4.26.orig/arch/ppc/kernel/smp-tbsync.c 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26/arch/ppc/kernel/smp-tbsync.c 2004-07-31 18:36:19.121618104 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/kernel/smp-tbsync.c kernel-source-2.4.27-benh/arch/ppc/kernel/smp-tbsync.c
+--- kernel-source-2.4.27/arch/ppc/kernel/smp-tbsync.c 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-benh/arch/ppc/kernel/smp-tbsync.c 2004-09-01 20:56:23.378564976 +0200
@@ -0,0 +1,182 @@
+/*
+ * Smp timebase synchronization for ppc.
@@ -2484,9 +2484,9 @@
+ /* all done */
+ smp_tb_synchronized = 1;
+}
-diff -urN kernel-source-2.4.26.orig/arch/ppc/kernel/time.c kernel-source-2.4.26/arch/ppc/kernel/time.c
---- kernel-source-2.4.26.orig/arch/ppc/kernel/time.c 2003-08-25 13:44:40.000000000 +0200
-+++ kernel-source-2.4.26/arch/ppc/kernel/time.c 2004-07-31 18:36:19.132616432 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/kernel/time.c kernel-source-2.4.27-benh/arch/ppc/kernel/time.c
+--- kernel-source-2.4.27/arch/ppc/kernel/time.c 2003-08-25 13:44:40.000000000 +0200
++++ kernel-source-2.4.27-benh/arch/ppc/kernel/time.c 2004-09-01 20:56:23.459552664 +0200
@@ -145,6 +145,12 @@
unsigned jiffy_stamp = last_jiffy_stamp(cpu);
extern void do_IRQ(struct pt_regs *);
@@ -2500,9 +2500,9 @@
if (atomic_read(&ppc_n_lost_interrupts) != 0)
do_IRQ(regs);
-diff -urN kernel-source-2.4.26.orig/arch/ppc/kernel/traps.c kernel-source-2.4.26/arch/ppc/kernel/traps.c
---- kernel-source-2.4.26.orig/arch/ppc/kernel/traps.c 2004-04-14 15:05:27.000000000 +0200
-+++ kernel-source-2.4.26/arch/ppc/kernel/traps.c 2004-07-31 18:36:19.147614152 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/kernel/traps.c kernel-source-2.4.27-benh/arch/ppc/kernel/traps.c
+--- kernel-source-2.4.27/arch/ppc/kernel/traps.c 2004-04-14 15:05:27.000000000 +0200
++++ kernel-source-2.4.27-benh/arch/ppc/kernel/traps.c 2004-09-01 20:56:23.537540808 +0200
@@ -76,6 +76,9 @@
#endif
#endif
@@ -2641,9 +2641,9 @@
}
void
-diff -urN kernel-source-2.4.26.orig/arch/ppc/lib/locks.c kernel-source-2.4.26/arch/ppc/lib/locks.c
---- kernel-source-2.4.26.orig/arch/ppc/lib/locks.c 2003-08-25 13:44:40.000000000 +0200
-+++ kernel-source-2.4.26/arch/ppc/lib/locks.c 2004-07-31 18:36:19.170610656 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/lib/locks.c kernel-source-2.4.27-benh/arch/ppc/lib/locks.c
+--- kernel-source-2.4.27/arch/ppc/lib/locks.c 2003-08-25 13:44:40.000000000 +0200
++++ kernel-source-2.4.27-benh/arch/ppc/lib/locks.c 2004-09-01 20:56:23.538540656 +0200
@@ -15,9 +15,19 @@
#if SPINLOCK_DEBUG
@@ -2718,9 +2718,9 @@
clear_bit(31,&(rw)->lock);
}
-diff -urN kernel-source-2.4.26.orig/arch/ppc/mm/fault.c kernel-source-2.4.26/arch/ppc/mm/fault.c
---- kernel-source-2.4.26.orig/arch/ppc/mm/fault.c 2003-11-28 19:26:19.000000000 +0100
-+++ kernel-source-2.4.26/arch/ppc/mm/fault.c 2004-07-31 18:36:19.191607464 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/mm/fault.c kernel-source-2.4.27-benh/arch/ppc/mm/fault.c
+--- kernel-source-2.4.27/arch/ppc/mm/fault.c 2003-11-28 19:26:19.000000000 +0100
++++ kernel-source-2.4.27-benh/arch/ppc/mm/fault.c 2004-09-01 20:56:23.616528800 +0200
@@ -96,7 +96,7 @@
void do_page_fault(struct pt_regs *regs, unsigned long address,
unsigned long error_code)
@@ -2740,9 +2740,9 @@
goto bad_area;
good_area:
-diff -urN kernel-source-2.4.26.orig/arch/ppc/mm/init.c kernel-source-2.4.26/arch/ppc/mm/init.c
---- kernel-source-2.4.26.orig/arch/ppc/mm/init.c 2003-11-28 19:26:19.000000000 +0100
-+++ kernel-source-2.4.26/arch/ppc/mm/init.c 2004-07-31 18:36:19.199606248 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/mm/init.c kernel-source-2.4.27-benh/arch/ppc/mm/init.c
+--- kernel-source-2.4.27/arch/ppc/mm/init.c 2003-11-28 19:26:19.000000000 +0100
++++ kernel-source-2.4.27-benh/arch/ppc/mm/init.c 2004-09-01 20:56:23.692517248 +0200
@@ -125,6 +125,9 @@
int do_check_pgt_cache(int low, int high)
@@ -2779,9 +2779,9 @@
totalram_pages += free_all_bootmem();
/* adjust vmalloc_start */
-diff -urN kernel-source-2.4.26.orig/arch/ppc/platforms/Makefile kernel-source-2.4.26/arch/ppc/platforms/Makefile
---- kernel-source-2.4.26.orig/arch/ppc/platforms/Makefile 2004-04-14 15:05:27.000000000 +0200
-+++ kernel-source-2.4.26/arch/ppc/platforms/Makefile 2004-07-31 18:36:19.213604120 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/platforms/Makefile kernel-source-2.4.27-benh/arch/ppc/platforms/Makefile
+--- kernel-source-2.4.27/arch/ppc/platforms/Makefile 2004-08-08 01:26:04.000000000 +0200
++++ kernel-source-2.4.27-benh/arch/ppc/platforms/Makefile 2004-09-01 20:56:23.693517096 +0200
@@ -26,7 +26,7 @@
O_TARGET := platform.o
@@ -2801,9 +2801,9 @@
obj-$(CONFIG_PREP_RESIDUAL) += residual.o
obj-$(CONFIG_GEMINI) += gemini_pci.o gemini_setup.o gemini_prom.o
obj-$(CONFIG_LOPEC) += lopec_setup.o lopec_pci.o
-diff -urN kernel-source-2.4.26.orig/arch/ppc/platforms/pmac_backlight.c kernel-source-2.4.26/arch/ppc/platforms/pmac_backlight.c
---- kernel-source-2.4.26.orig/arch/ppc/platforms/pmac_backlight.c 2003-08-25 13:44:40.000000000 +0200
-+++ kernel-source-2.4.26/arch/ppc/platforms/pmac_backlight.c 2004-07-31 18:36:19.220603056 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/platforms/pmac_backlight.c kernel-source-2.4.27-benh/arch/ppc/platforms/pmac_backlight.c
+--- kernel-source-2.4.27/arch/ppc/platforms/pmac_backlight.c 2003-08-25 13:44:40.000000000 +0200
++++ kernel-source-2.4.27-benh/arch/ppc/platforms/pmac_backlight.c 2004-09-01 20:56:23.693517096 +0200
@@ -37,6 +37,10 @@
char *prop;
int valid = 0;
@@ -2815,9 +2815,9 @@
bk_node = find_devices("backlight");
#ifdef CONFIG_ADB_PMU
-diff -urN kernel-source-2.4.26.orig/arch/ppc/platforms/pmac_cpufreq.c kernel-source-2.4.26/arch/ppc/platforms/pmac_cpufreq.c
---- kernel-source-2.4.26.orig/arch/ppc/platforms/pmac_cpufreq.c 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26/arch/ppc/platforms/pmac_cpufreq.c 2004-07-31 18:36:19.230601536 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/platforms/pmac_cpufreq.c kernel-source-2.4.27-benh/arch/ppc/platforms/pmac_cpufreq.c
+--- kernel-source-2.4.27/arch/ppc/platforms/pmac_cpufreq.c 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-benh/arch/ppc/platforms/pmac_cpufreq.c 2004-09-01 20:56:23.771505240 +0200
@@ -0,0 +1,352 @@
+#include <linux/config.h>
+#include <linux/types.h>
@@ -3171,9 +3171,9 @@
+
+__initcall(pmac_cpufreq_setup);
+
-diff -urN kernel-source-2.4.26.orig/arch/ppc/platforms/pmac_feature.c kernel-source-2.4.26/arch/ppc/platforms/pmac_feature.c
---- kernel-source-2.4.26.orig/arch/ppc/platforms/pmac_feature.c 2003-08-25 13:44:40.000000000 +0200
-+++ kernel-source-2.4.26/arch/ppc/platforms/pmac_feature.c 2004-07-31 18:36:19.247598952 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/platforms/pmac_feature.c kernel-source-2.4.27-benh/arch/ppc/platforms/pmac_feature.c
+--- kernel-source-2.4.27/arch/ppc/platforms/pmac_feature.c 2003-08-25 13:44:40.000000000 +0200
++++ kernel-source-2.4.27-benh/arch/ppc/platforms/pmac_feature.c 2004-09-01 20:56:23.852492928 +0200
@@ -80,6 +80,7 @@
macio_keylargo,
macio_pangea,
@@ -3375,9 +3375,9 @@
if (macio_chips[0].type == macio_keylargo ||
macio_chips[0].type == macio_pangea ||
macio_chips[0].type == macio_intrepid) {
-diff -urN kernel-source-2.4.26.orig/arch/ppc/platforms/pmac_nvram.c kernel-source-2.4.26/arch/ppc/platforms/pmac_nvram.c
---- kernel-source-2.4.26.orig/arch/ppc/platforms/pmac_nvram.c 2003-08-25 13:44:40.000000000 +0200
-+++ kernel-source-2.4.26/arch/ppc/platforms/pmac_nvram.c 2004-07-31 18:36:19.258597280 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/platforms/pmac_nvram.c kernel-source-2.4.27-benh/arch/ppc/platforms/pmac_nvram.c
+--- kernel-source-2.4.27/arch/ppc/platforms/pmac_nvram.c 2003-08-25 13:44:40.000000000 +0200
++++ kernel-source-2.4.27-benh/arch/ppc/platforms/pmac_nvram.c 2004-09-01 20:56:23.932480768 +0200
@@ -5,33 +5,46 @@
#include <linux/module.h>
#include <linux/kernel.h>
@@ -4036,9 +4036,9 @@
+EXPORT_SYMBOL(pmac_nvram_sync);
+EXPORT_SYMBOL(pmac_xpram_read);
+EXPORT_SYMBOL(pmac_xpram_write);
-diff -urN kernel-source-2.4.26.orig/arch/ppc/platforms/pmac_pci.c kernel-source-2.4.26/arch/ppc/platforms/pmac_pci.c
---- kernel-source-2.4.26.orig/arch/ppc/platforms/pmac_pci.c 2003-08-25 13:44:40.000000000 +0200
-+++ kernel-source-2.4.26/arch/ppc/platforms/pmac_pci.c 2004-07-31 18:36:19.269595608 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/platforms/pmac_pci.c kernel-source-2.4.27-benh/arch/ppc/platforms/pmac_pci.c
+--- kernel-source-2.4.27/arch/ppc/platforms/pmac_pci.c 2003-08-25 13:44:40.000000000 +0200
++++ kernel-source-2.4.27-benh/arch/ppc/platforms/pmac_pci.c 2004-09-01 20:56:24.011468760 +0200
@@ -28,11 +28,14 @@
#undef DEBUG
@@ -4390,9 +4390,9 @@
}
static void __init
-diff -urN kernel-source-2.4.26.orig/arch/ppc/platforms/pmac_pic.c kernel-source-2.4.26/arch/ppc/platforms/pmac_pic.c
---- kernel-source-2.4.26.orig/arch/ppc/platforms/pmac_pic.c 2003-08-25 13:44:40.000000000 +0200
-+++ kernel-source-2.4.26/arch/ppc/platforms/pmac_pic.c 2004-07-31 18:36:19.272595152 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/platforms/pmac_pic.c kernel-source-2.4.27-benh/arch/ppc/platforms/pmac_pic.c
+--- kernel-source-2.4.27/arch/ppc/platforms/pmac_pic.c 2003-08-25 13:44:40.000000000 +0200
++++ kernel-source-2.4.27-benh/arch/ppc/platforms/pmac_pic.c 2004-09-01 20:56:24.013468456 +0200
@@ -342,28 +342,69 @@
pmac_pic_init(void)
{
@@ -4469,9 +4469,9 @@
#ifdef CONFIG_XMON
{
struct device_node* pswitch;
-diff -urN kernel-source-2.4.26.orig/arch/ppc/platforms/pmac_setup.c kernel-source-2.4.26/arch/ppc/platforms/pmac_setup.c
---- kernel-source-2.4.26.orig/arch/ppc/platforms/pmac_setup.c 2003-08-25 13:44:40.000000000 +0200
-+++ kernel-source-2.4.26/arch/ppc/platforms/pmac_setup.c 2004-07-31 18:36:19.292592112 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/platforms/pmac_setup.c kernel-source-2.4.27-benh/arch/ppc/platforms/pmac_setup.c
+--- kernel-source-2.4.27/arch/ppc/platforms/pmac_setup.c 2003-08-25 13:44:40.000000000 +0200
++++ kernel-source-2.4.27-benh/arch/ppc/platforms/pmac_setup.c 2004-09-01 20:56:24.092456448 +0200
@@ -50,6 +50,7 @@
#include <linux/seq_file.h>
#include <linux/blkdev.h>
@@ -4606,9 +4606,9 @@
#ifdef CONFIG_BLK_DEV_IDE_PMAC
ppc_ide_md.ide_init_hwif = pmac_ide_init_hwif_ports;
ppc_ide_md.default_io_base = pmac_ide_get_base;
-diff -urN kernel-source-2.4.26.orig/arch/ppc/platforms/pmac_sleep.S kernel-source-2.4.26/arch/ppc/platforms/pmac_sleep.S
---- kernel-source-2.4.26.orig/arch/ppc/platforms/pmac_sleep.S 2003-08-25 13:44:40.000000000 +0200
-+++ kernel-source-2.4.26/arch/ppc/platforms/pmac_sleep.S 2004-07-31 18:36:19.294591808 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/platforms/pmac_sleep.S kernel-source-2.4.27-benh/arch/ppc/platforms/pmac_sleep.S
+--- kernel-source-2.4.27/arch/ppc/platforms/pmac_sleep.S 2003-08-25 13:44:40.000000000 +0200
++++ kernel-source-2.4.27-benh/arch/ppc/platforms/pmac_sleep.S 2004-09-01 20:56:24.171444440 +0200
@@ -44,7 +44,7 @@
.text
.align 5
@@ -4643,9 +4643,9 @@
.text
+
+#endif /* CONFIG_6xx */
-diff -urN kernel-source-2.4.26.orig/arch/ppc/platforms/pmac_smp.c kernel-source-2.4.26/arch/ppc/platforms/pmac_smp.c
---- kernel-source-2.4.26.orig/arch/ppc/platforms/pmac_smp.c 2003-08-25 13:44:40.000000000 +0200
-+++ kernel-source-2.4.26/arch/ppc/platforms/pmac_smp.c 2004-07-31 18:36:19.313588920 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/platforms/pmac_smp.c kernel-source-2.4.27-benh/arch/ppc/platforms/pmac_smp.c
+--- kernel-source-2.4.27/arch/ppc/platforms/pmac_smp.c 2003-08-25 13:44:40.000000000 +0200
++++ kernel-source-2.4.27-benh/arch/ppc/platforms/pmac_smp.c 2004-09-01 20:56:24.252432128 +0200
@@ -52,6 +52,7 @@
#include <asm/time.h>
#include <asm/open_pic.h>
@@ -4861,9 +4861,9 @@
/* PowerSurge-style Macs */
struct smp_ops_t psurge_smp_ops __pmacdata = {
-diff -urN kernel-source-2.4.26.orig/arch/ppc/platforms/pmac_time.c kernel-source-2.4.26/arch/ppc/platforms/pmac_time.c
---- kernel-source-2.4.26.orig/arch/ppc/platforms/pmac_time.c 2003-08-25 13:44:40.000000000 +0200
-+++ kernel-source-2.4.26/arch/ppc/platforms/pmac_time.c 2004-07-31 18:36:19.318588160 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/platforms/pmac_time.c kernel-source-2.4.27-benh/arch/ppc/platforms/pmac_time.c
+--- kernel-source-2.4.27/arch/ppc/platforms/pmac_time.c 2003-08-25 13:44:40.000000000 +0200
++++ kernel-source-2.4.27-benh/arch/ppc/platforms/pmac_time.c 2004-09-01 20:56:24.253431976 +0200
@@ -167,7 +167,7 @@
{
struct device_node *vias;
@@ -4910,9 +4910,9 @@
tb_to_us = mulhwu_scale_factor(freq, 1000000);
+ printk("tb_to_us: %d\n", tb_to_us);
}
-diff -urN kernel-source-2.4.26.orig/arch/ppc/xmon/start.c kernel-source-2.4.26/arch/ppc/xmon/start.c
---- kernel-source-2.4.26.orig/arch/ppc/xmon/start.c 2003-08-25 13:44:40.000000000 +0200
-+++ kernel-source-2.4.26/arch/ppc/xmon/start.c 2004-07-31 18:36:19.375579496 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/xmon/start.c kernel-source-2.4.27-benh/arch/ppc/xmon/start.c
+--- kernel-source-2.4.27/arch/ppc/xmon/start.c 2003-08-25 13:44:40.000000000 +0200
++++ kernel-source-2.4.27-benh/arch/ppc/xmon/start.c 2004-09-01 20:56:24.425405832 +0200
@@ -12,6 +12,7 @@
#include <linux/kernel.h>
#include <linux/errno.h>
@@ -5191,9 +5191,9 @@
#ifdef CONFIG_ADB_PMU
if (_machine == _MACH_Pmac) {
pmu_resume();
-diff -urN kernel-source-2.4.26.orig/arch/ppc/xmon/xmon.c kernel-source-2.4.26/arch/ppc/xmon/xmon.c
---- kernel-source-2.4.26.orig/arch/ppc/xmon/xmon.c 2003-08-25 13:44:40.000000000 +0200
-+++ kernel-source-2.4.26/arch/ppc/xmon/xmon.c 2004-07-31 18:36:19.582548032 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/xmon/xmon.c kernel-source-2.4.27-benh/arch/ppc/xmon/xmon.c
+--- kernel-source-2.4.27/arch/ppc/xmon/xmon.c 2003-08-25 13:44:40.000000000 +0200
++++ kernel-source-2.4.27-benh/arch/ppc/xmon/xmon.c 2004-09-01 20:56:24.427405528 +0200
@@ -209,6 +209,7 @@
#endif /* CONFIG_SMP */
remove_bpts();
@@ -5210,10 +5210,10 @@
#endif /* CONFIG_PMAC_BACKLIGHT */
cmd = cmds(excp);
if (cmd == 's') {
-diff -urN kernel-source-2.4.26.orig/Documentation/Configure.help kernel-source-2.4.26/Documentation/Configure.help
---- kernel-source-2.4.26.orig/Documentation/Configure.help 2004-07-20 14:05:56.000000000 +0200
-+++ kernel-source-2.4.26/Documentation/Configure.help 2004-07-31 18:36:19.973488600 +0200
-@@ -28566,6 +28566,30 @@
+diff -urN kernel-source-2.4.27/Documentation/Configure.help kernel-source-2.4.27-benh/Documentation/Configure.help
+--- kernel-source-2.4.27/Documentation/Configure.help 2004-08-24 07:53:15.000000000 +0200
++++ kernel-source-2.4.27-benh/Documentation/Configure.help 2004-09-01 20:59:00.018752048 +0200
+@@ -28610,6 +28610,30 @@
hotplug firmware loading support, but a module built outside the kernel tree
does.
@@ -5244,9 +5244,9 @@
NatSemi SCx200 support
CONFIG_SCx200
This provides basic support for the National Semiconductor SCx200
-diff -urN kernel-source-2.4.26.orig/Documentation/cpufreq kernel-source-2.4.26/Documentation/cpufreq
---- kernel-source-2.4.26.orig/Documentation/cpufreq 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26/Documentation/cpufreq 2004-07-31 18:36:19.985486776 +0200
+diff -urN kernel-source-2.4.27/Documentation/cpufreq kernel-source-2.4.27-benh/Documentation/cpufreq
+--- kernel-source-2.4.27/Documentation/cpufreq 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-benh/Documentation/cpufreq 2004-09-01 20:56:24.000000000 +0200
@@ -0,0 +1,361 @@
+ CPU frequency and voltage scaling code in the Linux(TM) kernel
+
@@ -5609,9 +5609,9 @@
+
+CPUFreq project homepage
+* http://www.brodo.de/cpufreq/
-diff -urN kernel-source-2.4.26.orig/Documentation/laptop-mode.sh kernel-source-2.4.26/Documentation/laptop-mode.sh
---- kernel-source-2.4.26.orig/Documentation/laptop-mode.sh 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26/Documentation/laptop-mode.sh 2004-07-31 18:36:19.986486624 +0200
+diff -urN kernel-source-2.4.27/Documentation/laptop-mode.sh kernel-source-2.4.27-benh/Documentation/laptop-mode.sh
+--- kernel-source-2.4.27/Documentation/laptop-mode.sh 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-benh/Documentation/laptop-mode.sh 2004-09-01 20:56:24.000000000 +0200
@@ -0,0 +1,42 @@
+#!/bin/sh
+#
@@ -5655,9 +5655,9 @@
+esac
+
+exit 0
-diff -urN kernel-source-2.4.26.orig/drivers/block/ll_rw_blk.c kernel-source-2.4.26/drivers/block/ll_rw_blk.c
---- kernel-source-2.4.26.orig/drivers/block/ll_rw_blk.c 2004-04-14 15:05:29.000000000 +0200
-+++ kernel-source-2.4.26/drivers/block/ll_rw_blk.c 2004-07-31 18:36:20.049477048 +0200
+diff -urN kernel-source-2.4.27/drivers/block/ll_rw_blk.c kernel-source-2.4.27-benh/drivers/block/ll_rw_blk.c
+--- kernel-source-2.4.27/drivers/block/ll_rw_blk.c 2004-04-14 15:05:29.000000000 +0200
++++ kernel-source-2.4.27-benh/drivers/block/ll_rw_blk.c 2004-09-01 20:56:24.977321928 +0200
@@ -162,6 +162,12 @@
return i;
}
@@ -5699,9 +5699,9 @@
}
/**
-diff -urN kernel-source-2.4.26.orig/drivers/char/agp/agpgart_be.c kernel-source-2.4.26/drivers/char/agp/agpgart_be.c
---- kernel-source-2.4.26.orig/drivers/char/agp/agpgart_be.c 2004-04-14 15:05:29.000000000 +0200
-+++ kernel-source-2.4.26/drivers/char/agp/agpgart_be.c 2004-07-31 18:36:20.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/char/agp/agpgart_be.c kernel-source-2.4.27-benh/drivers/char/agp/agpgart_be.c
+--- kernel-source-2.4.27/drivers/char/agp/agpgart_be.c 2004-08-08 01:26:04.000000000 +0200
++++ kernel-source-2.4.27-benh/drivers/char/agp/agpgart_be.c 2004-09-01 20:56:25.226284080 +0200
@@ -52,6 +52,9 @@
#ifdef CONFIG_X86
#include <asm/msr.h>
@@ -5721,7 +5721,7 @@
/* ??? I wonder if we'll really need to flush caches, or if the
core logic can manage to keep the system coherent. The ARM
speaks only of using `cflush' to get things in memory in
-@@ -5920,6 +5923,404 @@
+@@ -5924,6 +5927,404 @@
}
#endif /* CONFIG_AGP_ATI */
@@ -6126,7 +6126,7 @@
/* per-chipset initialization data.
* note -- all chipsets for a single vendor MUST be grouped together
*/
-@@ -6432,6 +6833,12 @@
+@@ -6442,6 +6843,12 @@
"ATI",
"IGP330/340/345/350/M",
ati_generic_setup },
@@ -6139,7 +6139,7 @@
{ PCI_DEVICE_ID_ATI_RS250,
PCI_VENDOR_ID_ATI,
ATI_RS250,
-@@ -6464,6 +6871,33 @@
+@@ -6474,6 +6881,33 @@
ati_generic_setup },
#endif /* CONFIG_AGP_ATI */
@@ -6173,10 +6173,10 @@
{ 0, }, /* dummy final entry, always present */
};
-diff -urN kernel-source-2.4.26.orig/drivers/char/Config.in kernel-source-2.4.26/drivers/char/Config.in
---- kernel-source-2.4.26.orig/drivers/char/Config.in 2004-07-20 14:05:56.000000000 +0200
-+++ kernel-source-2.4.26/drivers/char/Config.in 2004-07-31 18:36:20.000000000 +0200
-@@ -368,6 +368,7 @@
+diff -urN kernel-source-2.4.27/drivers/char/Config.in kernel-source-2.4.27-benh/drivers/char/Config.in
+--- kernel-source-2.4.27/drivers/char/Config.in 2004-08-24 07:53:14.000000000 +0200
++++ kernel-source-2.4.27-benh/drivers/char/Config.in 2004-09-01 20:56:25.228283776 +0200
+@@ -367,6 +367,7 @@
bool ' HP ZX1 AGP support' CONFIG_AGP_HP_ZX1
fi
bool ' ATI IGP chipset support' CONFIG_AGP_ATI
@@ -6184,9 +6184,9 @@
fi
mainmenu_option next_comment
-diff -urN kernel-source-2.4.26.orig/drivers/i2c/i2c-keywest.c kernel-source-2.4.26/drivers/i2c/i2c-keywest.c
---- kernel-source-2.4.26.orig/drivers/i2c/i2c-keywest.c 2004-02-18 14:36:31.000000000 +0100
-+++ kernel-source-2.4.26/drivers/i2c/i2c-keywest.c 2004-07-31 18:36:20.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/i2c/i2c-keywest.c kernel-source-2.4.27-benh/drivers/i2c/i2c-keywest.c
+--- kernel-source-2.4.27/drivers/i2c/i2c-keywest.c 2004-02-18 14:36:31.000000000 +0100
++++ kernel-source-2.4.27-benh/drivers/i2c/i2c-keywest.c 2004-09-01 20:56:25.386259760 +0200
@@ -26,6 +26,7 @@
2001/12/13 BenH New implementation
2001/12/15 BenH Add support for "byte" and "quick"
@@ -6646,9 +6646,9 @@
up(&iface->sem);
/* Release all channels */
-diff -urN kernel-source-2.4.26.orig/drivers/i2c/i2c-keywest.h kernel-source-2.4.26/drivers/i2c/i2c-keywest.h
---- kernel-source-2.4.26.orig/drivers/i2c/i2c-keywest.h 2002-02-25 20:37:57.000000000 +0100
-+++ kernel-source-2.4.26/drivers/i2c/i2c-keywest.h 2004-07-31 18:36:20.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/i2c/i2c-keywest.h kernel-source-2.4.27-benh/drivers/i2c/i2c-keywest.h
+--- kernel-source-2.4.27/drivers/i2c/i2c-keywest.h 2002-02-25 20:37:57.000000000 +0100
++++ kernel-source-2.4.27-benh/drivers/i2c/i2c-keywest.h 2004-09-01 20:56:25.387259608 +0200
@@ -64,7 +64,6 @@
unsigned datalen;
int state;
@@ -6667,9 +6667,9 @@
}
#define write_reg(reg, val) __write_reg(iface, reg, val)
-diff -urN kernel-source-2.4.26.orig/drivers/ide/Config.in kernel-source-2.4.26/drivers/ide/Config.in
---- kernel-source-2.4.26.orig/drivers/ide/Config.in 2004-07-20 14:05:56.000000000 +0200
-+++ kernel-source-2.4.26/drivers/ide/Config.in 2004-07-31 18:36:20.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/ide/Config.in kernel-source-2.4.27-benh/drivers/ide/Config.in
+--- kernel-source-2.4.27/drivers/ide/Config.in 2004-08-24 07:53:14.000000000 +0200
++++ kernel-source-2.4.27-benh/drivers/ide/Config.in 2004-09-01 20:56:25.465247752 +0200
@@ -90,6 +90,9 @@
dep_bool ' Probe internal Kauai ATA/100 first' CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST $CONFIG_BLK_DEV_IDE_PMAC
dep_bool ' PowerMac IDE DMA support' CONFIG_BLK_DEV_IDEDMA_PMAC $CONFIG_BLK_DEV_IDE_PMAC
@@ -6680,9 +6680,9 @@
if [ "$CONFIG_BLK_DEV_IDE_PMAC" = "y" ]; then
define_bool CONFIG_BLK_DEV_IDEDMA $CONFIG_BLK_DEV_IDEDMA_PMAC
fi
-diff -urN kernel-source-2.4.26.orig/drivers/ide/ide-probe.c kernel-source-2.4.26/drivers/ide/ide-probe.c
---- kernel-source-2.4.26.orig/drivers/ide/ide-probe.c 2004-07-20 14:05:56.000000000 +0200
-+++ kernel-source-2.4.26/drivers/ide/ide-probe.c 2004-07-31 18:36:20.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/ide/ide-probe.c kernel-source-2.4.27-benh/drivers/ide/ide-probe.c
+--- kernel-source-2.4.27/drivers/ide/ide-probe.c 2004-04-14 15:05:29.000000000 +0200
++++ kernel-source-2.4.27-benh/drivers/ide/ide-probe.c 2004-09-01 20:56:25.553234376 +0200
@@ -982,6 +982,13 @@
q->queuedata = HWGROUP(drive);
blk_init_queue(q, do_ide_request);
@@ -6726,9 +6726,9 @@
*max_ra++ = vm_max_readahead;
}
-diff -urN kernel-source-2.4.26.orig/drivers/ide/pci/pdc202xx_new.c kernel-source-2.4.26/drivers/ide/pci/pdc202xx_new.c
---- kernel-source-2.4.26.orig/drivers/ide/pci/pdc202xx_new.c 2003-06-13 16:51:33.000000000 +0200
-+++ kernel-source-2.4.26/drivers/ide/pci/pdc202xx_new.c 2004-07-31 18:36:20.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/ide/pci/pdc202xx_new.c kernel-source-2.4.27-benh/drivers/ide/pci/pdc202xx_new.c
+--- kernel-source-2.4.27/drivers/ide/pci/pdc202xx_new.c 2004-08-08 01:26:04.000000000 +0200
++++ kernel-source-2.4.27-benh/drivers/ide/pci/pdc202xx_new.c 2004-09-01 20:56:25.643220696 +0200
@@ -32,6 +32,11 @@
#include <asm/io.h>
#include <asm/irq.h>
@@ -6871,7 +6871,7 @@
}
static void pdcnew_tune_drive (ide_drive_t *drive, u8 pio)
-@@ -533,6 +439,46 @@
+@@ -535,6 +441,46 @@
return dev->irq;
}
@@ -6918,7 +6918,7 @@
static void __init init_hwif_pdc202new (ide_hwif_t *hwif)
{
hwif->autodma = 0;
-@@ -542,10 +488,7 @@
+@@ -544,10 +490,7 @@
hwif->speedproc = &pdcnew_new_tune_chipset;
hwif->resetproc = &pdcnew_new_reset;
@@ -6929,7 +6929,7 @@
hwif->ultra_mask = 0x7f;
hwif->mwdma_mask = 0x07;
-@@ -562,6 +505,10 @@
+@@ -564,6 +507,10 @@
printk(KERN_DEBUG "%s: %s-pin cable\n",
hwif->name, hwif->udma_four ? "80" : "40");
#endif /* PDC202_DEBUG_CABLE */
@@ -6940,9 +6940,9 @@
}
static void __init init_dma_pdc202new (ide_hwif_t *hwif, unsigned long dmabase)
-diff -urN kernel-source-2.4.26.orig/drivers/ide/ppc/pmac.c kernel-source-2.4.26/drivers/ide/ppc/pmac.c
---- kernel-source-2.4.26.orig/drivers/ide/ppc/pmac.c 2003-06-13 16:51:34.000000000 +0200
-+++ kernel-source-2.4.26/drivers/ide/ppc/pmac.c 2004-07-31 18:36:20.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/ide/ppc/pmac.c kernel-source-2.4.27-benh/drivers/ide/ppc/pmac.c
+--- kernel-source-2.4.27/drivers/ide/ppc/pmac.c 2003-06-13 16:51:34.000000000 +0200
++++ kernel-source-2.4.27-benh/drivers/ide/ppc/pmac.c 2004-09-01 20:56:25.807195768 +0200
@@ -38,10 +38,8 @@
#include <asm/pmac_feature.h>
#include <asm/sections.h>
@@ -7287,9 +7287,9 @@
pmif->dma_regs = (volatile struct dbdma_regs*)(pmif->mapbase + 0x1000);
} else {
if (request_OF_resource(np, 1, " (mac-io IDE DMA)") == NULL) {
-diff -urN kernel-source-2.4.26.orig/drivers/ide/setup-pci.c kernel-source-2.4.26/drivers/ide/setup-pci.c
---- kernel-source-2.4.26.orig/drivers/ide/setup-pci.c 2004-07-20 14:05:56.000000000 +0200
-+++ kernel-source-2.4.26/drivers/ide/setup-pci.c 2004-07-31 18:36:20.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/ide/setup-pci.c kernel-source-2.4.27-benh/drivers/ide/setup-pci.c
+--- kernel-source-2.4.27/drivers/ide/setup-pci.c 2004-08-24 07:53:14.000000000 +0200
++++ kernel-source-2.4.27-benh/drivers/ide/setup-pci.c 2004-09-01 20:56:25.809195464 +0200
@@ -51,6 +51,7 @@
{
int h;
@@ -7320,9 +7320,9 @@
hwif = ide_hwifs + h;
if (hwif->chipset == ide_unknown)
return hwif; /* pick an unused entry */
-diff -urN kernel-source-2.4.26.orig/drivers/macintosh/macserial.c kernel-source-2.4.26/drivers/macintosh/macserial.c
---- kernel-source-2.4.26.orig/drivers/macintosh/macserial.c 2002-08-03 02:39:44.000000000 +0200
-+++ kernel-source-2.4.26/drivers/macintosh/macserial.c 2004-07-31 18:36:20.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/macintosh/macserial.c kernel-source-2.4.27-benh/drivers/macintosh/macserial.c
+--- kernel-source-2.4.27/drivers/macintosh/macserial.c 2002-08-03 02:39:44.000000000 +0200
++++ kernel-source-2.4.27-benh/drivers/macintosh/macserial.c 2004-09-01 20:56:25.968171296 +0200
@@ -59,7 +59,7 @@
};
#endif
@@ -7405,9 +7405,9 @@
int bits = 8;
int parity = 'n';
int cflag = CREAD | HUPCL | CLOCAL;
-diff -urN kernel-source-2.4.26.orig/drivers/macintosh/Makefile kernel-source-2.4.26/drivers/macintosh/Makefile
---- kernel-source-2.4.26.orig/drivers/macintosh/Makefile 2002-11-29 00:53:13.000000000 +0100
-+++ kernel-source-2.4.26/drivers/macintosh/Makefile 2004-07-31 18:36:20.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/macintosh/Makefile kernel-source-2.4.27-benh/drivers/macintosh/Makefile
+--- kernel-source-2.4.27/drivers/macintosh/Makefile 2002-11-29 00:53:13.000000000 +0100
++++ kernel-source-2.4.27-benh/drivers/macintosh/Makefile 2004-09-01 20:56:25.969171144 +0200
@@ -35,6 +35,8 @@
obj-$(CONFIG_INPUT_ADBHID) += adbhid.o
obj-$(CONFIG_PPC_RTC) += rtc.o
@@ -7426,10 +7426,10 @@
# The global Rules.make.
include $(TOPDIR)/Rules.make
-diff -urN kernel-source-2.4.26.orig/drivers/macintosh/nvram.c kernel-source-2.4.26/drivers/macintosh/nvram.c
---- kernel-source-2.4.26.orig/drivers/macintosh/nvram.c 2003-06-13 16:51:34.000000000 +0200
-+++ kernel-source-2.4.26/drivers/macintosh/nvram.c 2004-07-31 18:36:20.000000000 +0200
-@@ -75,8 +75,8 @@
+diff -urN kernel-source-2.4.27/drivers/macintosh/nvram.c kernel-source-2.4.27-benh/drivers/macintosh/nvram.c
+--- kernel-source-2.4.27/drivers/macintosh/nvram.c 2004-08-08 01:26:04.000000000 +0200
++++ kernel-source-2.4.27-benh/drivers/macintosh/nvram.c 2004-09-01 20:56:26.047159288 +0200
+@@ -77,8 +77,8 @@
unsigned int cmd, unsigned long arg)
{
switch(cmd) {
@@ -7440,7 +7440,7 @@
int part, offset;
if (copy_from_user(&part,(void*)arg,sizeof(part))!=0)
return -EFAULT;
-@@ -87,6 +87,9 @@
+@@ -89,6 +89,9 @@
return -EFAULT;
break;
}
@@ -7450,9 +7450,9 @@
default:
return -EINVAL;
-diff -urN kernel-source-2.4.26.orig/drivers/macintosh/therm_pismo.c kernel-source-2.4.26/drivers/macintosh/therm_pismo.c
---- kernel-source-2.4.26.orig/drivers/macintosh/therm_pismo.c 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26/drivers/macintosh/therm_pismo.c 2004-07-31 18:36:20.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/macintosh/therm_pismo.c kernel-source-2.4.27-benh/drivers/macintosh/therm_pismo.c
+--- kernel-source-2.4.27/drivers/macintosh/therm_pismo.c 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-benh/drivers/macintosh/therm_pismo.c 2004-09-01 20:56:26.126147280 +0200
@@ -0,0 +1,269 @@
+/*
+ * Device driver for the i2c thermostat found on some laptops
@@ -7723,9 +7723,9 @@
+
+module_init(thermostat_init);
+module_exit(thermostat_exit);
-diff -urN kernel-source-2.4.26.orig/drivers/macintosh/therm_pm72.c kernel-source-2.4.26/drivers/macintosh/therm_pm72.c
---- kernel-source-2.4.26.orig/drivers/macintosh/therm_pm72.c 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26/drivers/macintosh/therm_pm72.c 2004-07-31 18:36:20.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/macintosh/therm_pm72.c kernel-source-2.4.27-benh/drivers/macintosh/therm_pm72.c
+--- kernel-source-2.4.27/drivers/macintosh/therm_pm72.c 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-benh/drivers/macintosh/therm_pm72.c 2004-09-01 20:56:26.210134512 +0200
@@ -0,0 +1,1179 @@
+/*
+ * Device driver for the thermostats & fan controller of the
@@ -8906,9 +8906,9 @@
+MODULE_DESCRIPTION("Driver for Apple's PowerMac7,2 G5 thermal control");
+MODULE_LICENSE("GPL");
+
-diff -urN kernel-source-2.4.26.orig/drivers/macintosh/therm_pm72.h kernel-source-2.4.26/drivers/macintosh/therm_pm72.h
---- kernel-source-2.4.26.orig/drivers/macintosh/therm_pm72.h 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26/drivers/macintosh/therm_pm72.h 2004-07-31 18:36:20.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/macintosh/therm_pm72.h kernel-source-2.4.27-benh/drivers/macintosh/therm_pm72.h
+--- kernel-source-2.4.27/drivers/macintosh/therm_pm72.h 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-benh/drivers/macintosh/therm_pm72.h 2004-09-01 20:56:26.212134208 +0200
@@ -0,0 +1,250 @@
+#ifndef __THERM_PMAC_7_2_H__
+#define __THERM_PMAC_7_2_H__
@@ -9160,9 +9160,9 @@
+};
+
+#endif /* __THERM_PMAC_7_2_H__ */
-diff -urN kernel-source-2.4.26.orig/drivers/macintosh/therm_windtunnel.c kernel-source-2.4.26/drivers/macintosh/therm_windtunnel.c
---- kernel-source-2.4.26.orig/drivers/macintosh/therm_windtunnel.c 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26/drivers/macintosh/therm_windtunnel.c 2004-07-31 18:36:20.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/macintosh/therm_windtunnel.c kernel-source-2.4.27-benh/drivers/macintosh/therm_windtunnel.c
+--- kernel-source-2.4.27/drivers/macintosh/therm_windtunnel.c 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-benh/drivers/macintosh/therm_windtunnel.c 2004-09-01 20:56:26.370110192 +0200
@@ -0,0 +1,456 @@
+/*
+ * Creation Date: <2003/03/14 20:54:13 samuel>
@@ -9620,9 +9620,9 @@
+module_init(g4fan_init);
+module_exit(g4fan_exit);
+
-diff -urN kernel-source-2.4.26.orig/drivers/macintosh/via-pmu.c kernel-source-2.4.26/drivers/macintosh/via-pmu.c
---- kernel-source-2.4.26.orig/drivers/macintosh/via-pmu.c 2003-08-25 13:44:42.000000000 +0200
-+++ kernel-source-2.4.26/drivers/macintosh/via-pmu.c 2004-07-31 18:36:20.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/macintosh/via-pmu.c kernel-source-2.4.27-benh/drivers/macintosh/via-pmu.c
+--- kernel-source-2.4.27/drivers/macintosh/via-pmu.c 2003-08-25 13:44:42.000000000 +0200
++++ kernel-source-2.4.27-benh/drivers/macintosh/via-pmu.c 2004-09-01 20:56:26.455097272 +0200
@@ -64,6 +64,13 @@
/* How many iterations between battery polls */
#define BATTERY_POLLING_COUNT 2
@@ -10411,9 +10411,9 @@
EXPORT_SYMBOL(pmu_i2c_combined_read);
EXPORT_SYMBOL(pmu_i2c_stdsub_write);
EXPORT_SYMBOL(pmu_i2c_simple_read);
-diff -urN kernel-source-2.4.26.orig/drivers/net/irda/irda-usb.c kernel-source-2.4.26/drivers/net/irda/irda-usb.c
---- kernel-source-2.4.26.orig/drivers/net/irda/irda-usb.c 2004-02-18 14:36:31.000000000 +0100
-+++ kernel-source-2.4.26/drivers/net/irda/irda-usb.c 2004-07-31 18:36:20.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/net/irda/irda-usb.c kernel-source-2.4.27-benh/drivers/net/irda/irda-usb.c
+--- kernel-source-2.4.27/drivers/net/irda/irda-usb.c 2004-02-18 14:36:31.000000000 +0100
++++ kernel-source-2.4.27-benh/drivers/net/irda/irda-usb.c 2004-09-01 20:56:26.542084048 +0200
@@ -1386,6 +1386,9 @@
WARNING("usb-irda: bad class_descriptor type\n");
}
@@ -10424,9 +10424,9 @@
#ifdef IU_DUMP_CLASS_DESC
irda_usb_dump_class_desc(desc);
#endif /* IU_DUMP_CLASS_DESC */
-diff -urN kernel-source-2.4.26.orig/drivers/net/Makefile kernel-source-2.4.26/drivers/net/Makefile
---- kernel-source-2.4.26.orig/drivers/net/Makefile 2004-04-14 15:05:30.000000000 +0200
-+++ kernel-source-2.4.26/drivers/net/Makefile 2004-07-31 18:36:20.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/net/Makefile kernel-source-2.4.27-benh/drivers/net/Makefile
+--- kernel-source-2.4.27/drivers/net/Makefile 2004-08-08 01:26:04.000000000 +0200
++++ kernel-source-2.4.27-benh/drivers/net/Makefile 2004-09-01 20:56:26.544083744 +0200
@@ -17,7 +17,7 @@
export-objs := 8390.o arlan.o aironet4500_core.o aironet4500_card.o \
@@ -10445,9 +10445,9 @@
obj-$(CONFIG_MACE) += mace.o
obj-$(CONFIG_BMAC) += bmac.o
-diff -urN kernel-source-2.4.26.orig/drivers/net/ne2k-pci.c kernel-source-2.4.26/drivers/net/ne2k-pci.c
---- kernel-source-2.4.26.orig/drivers/net/ne2k-pci.c 2004-04-14 15:05:30.000000000 +0200
-+++ kernel-source-2.4.26/drivers/net/ne2k-pci.c 2004-07-31 18:36:20.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/net/ne2k-pci.c kernel-source-2.4.27-benh/drivers/net/ne2k-pci.c
+--- kernel-source-2.4.27/drivers/net/ne2k-pci.c 2004-04-14 15:05:30.000000000 +0200
++++ kernel-source-2.4.27-benh/drivers/net/ne2k-pci.c 2004-09-01 20:56:26.622071888 +0200
@@ -70,8 +70,6 @@
#if defined(__powerpc__)
#define inl_le(addr) le32_to_cpu(inl(addr))
@@ -10457,10 +10457,10 @@
#endif
#define PFX DRV_NAME ": "
-diff -urN kernel-source-2.4.26.orig/drivers/net/pcnet32.c kernel-source-2.4.26/drivers/net/pcnet32.c
---- kernel-source-2.4.26.orig/drivers/net/pcnet32.c 2004-04-14 15:05:30.000000000 +0200
-+++ kernel-source-2.4.26/drivers/net/pcnet32.c 2004-07-31 18:36:20.000000000 +0200
-@@ -860,7 +860,7 @@
+diff -urN kernel-source-2.4.27/drivers/net/pcnet32.c kernel-source-2.4.27-benh/drivers/net/pcnet32.c
+--- kernel-source-2.4.27/drivers/net/pcnet32.c 2004-08-08 01:26:05.000000000 +0200
++++ kernel-source-2.4.27-benh/drivers/net/pcnet32.c 2004-09-01 20:56:26.781047720 +0200
+@@ -1072,7 +1072,7 @@
break;
case 0x2625:
chipname = "PCnet/FAST III 79C973"; /* PCI */
@@ -10469,17 +10469,9 @@
break;
case 0x2626:
chipname = "PCnet/Home 79C978"; /* PCI */
-@@ -903,6 +903,7 @@
-
- if(fset)
- {
-+ printk(KERN_INFO PFX "Activating Tx error recovery on %s\n", chipname);
- a->write_bcr(ioaddr, 18, (a->read_bcr(ioaddr, 18) | 0x0800));
- a->write_csr(ioaddr, 80, (a->read_csr(ioaddr, 80) & 0x0C00) | 0x0c00);
- dxsuflo = 1;
-diff -urN kernel-source-2.4.26.orig/drivers/net/sungem.c kernel-source-2.4.26/drivers/net/sungem.c
---- kernel-source-2.4.26.orig/drivers/net/sungem.c 2004-04-14 15:05:30.000000000 +0200
-+++ kernel-source-2.4.26/drivers/net/sungem.c 2004-07-31 18:36:20.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/net/sungem.c kernel-source-2.4.27-benh/drivers/net/sungem.c
+--- kernel-source-2.4.27/drivers/net/sungem.c 2004-04-14 15:05:30.000000000 +0200
++++ kernel-source-2.4.27-benh/drivers/net/sungem.c 2004-09-01 20:56:26.871034040 +0200
@@ -63,12 +63,20 @@
#include <asm/pmac_feature.h>
#endif
@@ -11742,9 +11734,9 @@
pci_set_drvdata(pdev, dev);
dev->open = gem_open;
-diff -urN kernel-source-2.4.26.orig/drivers/net/sungem.h kernel-source-2.4.26/drivers/net/sungem.h
---- kernel-source-2.4.26.orig/drivers/net/sungem.h 2002-08-03 02:39:44.000000000 +0200
-+++ kernel-source-2.4.26/drivers/net/sungem.h 2004-07-31 18:36:20.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/net/sungem.h kernel-source-2.4.27-benh/drivers/net/sungem.h
+--- kernel-source-2.4.27/drivers/net/sungem.h 2002-08-03 02:39:44.000000000 +0200
++++ kernel-source-2.4.27-benh/drivers/net/sungem.h 2004-09-01 20:56:26.951021880 +0200
@@ -28,6 +28,9 @@
#define GREG_CFG_IBURST 0x00000001 /* Infinite Burst */
#define GREG_CFG_TXDMALIM 0x0000003e /* TX DMA grant limit */
@@ -11852,9 +11844,9 @@
#define ALIGNED_RX_SKB_ADDR(addr) \
((((unsigned long)(addr) + (64UL - 1UL)) & ~(64UL - 1UL)) - (unsigned long)(addr))
static __inline__ struct sk_buff *gem_alloc_skb(int size, int gfp_flags)
-diff -urN kernel-source-2.4.26.orig/drivers/net/sungem_phy.c kernel-source-2.4.26/drivers/net/sungem_phy.c
---- kernel-source-2.4.26.orig/drivers/net/sungem_phy.c 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26/drivers/net/sungem_phy.c 2004-07-31 18:36:20.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/net/sungem_phy.c kernel-source-2.4.27-benh/drivers/net/sungem_phy.c
+--- kernel-source-2.4.27/drivers/net/sungem_phy.c 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-benh/drivers/net/sungem_phy.c 2004-09-01 20:56:27.033009416 +0200
@@ -0,0 +1,867 @@
+/*
+ * PHY drivers for the sungem ethernet driver.
@@ -12723,9 +12715,9 @@
+EXPORT_SYMBOL(mii_phy_probe);
+MODULE_LICENSE("GPL");
+
-diff -urN kernel-source-2.4.26.orig/drivers/net/sungem_phy.h kernel-source-2.4.26/drivers/net/sungem_phy.h
---- kernel-source-2.4.26.orig/drivers/net/sungem_phy.h 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26/drivers/net/sungem_phy.h 2004-07-31 18:36:20.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/net/sungem_phy.h kernel-source-2.4.27-benh/drivers/net/sungem_phy.h
+--- kernel-source-2.4.27/drivers/net/sungem_phy.h 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-benh/drivers/net/sungem_phy.h 2004-09-01 20:56:27.035009112 +0200
@@ -0,0 +1,116 @@
+#ifndef __SUNGEM_PHY_H__
+#define __SUNGEM_PHY_H__
@@ -12843,10 +12835,10 @@
+#define MII_M1011_PHY_SPEC_STATUS_RESOLVED 0x0800
+
+#endif /* __SUNGEM_PHY_H__ */
-diff -urN kernel-source-2.4.26.orig/drivers/net/tulip/tulip_core.c kernel-source-2.4.26/drivers/net/tulip/tulip_core.c
---- kernel-source-2.4.26.orig/drivers/net/tulip/tulip_core.c 2004-04-14 15:05:30.000000000 +0200
-+++ kernel-source-2.4.26/drivers/net/tulip/tulip_core.c 2004-07-31 18:36:20.000000000 +0200
-@@ -476,6 +476,15 @@
+diff -urN kernel-source-2.4.27/drivers/net/tulip/tulip_core.c kernel-source-2.4.27-benh/drivers/net/tulip/tulip_core.c
+--- kernel-source-2.4.27/drivers/net/tulip/tulip_core.c 2004-08-08 01:26:05.000000000 +0200
++++ kernel-source-2.4.27-benh/drivers/net/tulip/tulip_core.c 2004-09-01 20:56:27.191985248 +0200
+@@ -477,6 +477,15 @@
} else
tulip_select_media(dev, 1);
@@ -12862,9 +12854,9 @@
/* Start the chip's Tx to process setup frame. */
tulip_stop_rxtx(tp);
barrier();
-diff -urN kernel-source-2.4.26.orig/drivers/pci/pci.c kernel-source-2.4.26/drivers/pci/pci.c
---- kernel-source-2.4.26.orig/drivers/pci/pci.c 2003-11-28 19:26:20.000000000 +0100
-+++ kernel-source-2.4.26/drivers/pci/pci.c 2004-07-31 18:36:20.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/pci/pci.c kernel-source-2.4.27-benh/drivers/pci/pci.c
+--- kernel-source-2.4.27/drivers/pci/pci.c 2004-08-08 01:26:05.000000000 +0200
++++ kernel-source-2.4.27-benh/drivers/pci/pci.c 2004-09-01 20:56:27.271973088 +0200
@@ -28,7 +28,7 @@
#include <asm/page.h>
#include <asm/dma.h> /* isa_dma_bridge_buggy */
@@ -12907,9 +12899,9 @@
pci_write_config_word(dev, PCI_STATUS, 0xffff);
child = pci_add_new_bus(bus, dev, ++max);
-diff -urN kernel-source-2.4.26.orig/drivers/sound/dmasound/awacs_defs.h kernel-source-2.4.26/drivers/sound/dmasound/awacs_defs.h
---- kernel-source-2.4.26.orig/drivers/sound/dmasound/awacs_defs.h 2002-02-25 20:38:04.000000000 +0100
-+++ kernel-source-2.4.26/drivers/sound/dmasound/awacs_defs.h 2004-07-31 18:36:20.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/sound/dmasound/awacs_defs.h kernel-source-2.4.27-benh/drivers/sound/dmasound/awacs_defs.h
+--- kernel-source-2.4.27/drivers/sound/dmasound/awacs_defs.h 2002-02-25 20:38:04.000000000 +0100
++++ kernel-source-2.4.27-benh/drivers/sound/dmasound/awacs_defs.h 2004-09-01 20:56:27.272972936 +0200
@@ -168,8 +168,9 @@
#define RATE_LOW 1 /* HIGH = 48kHz, etc; LOW = 44.1kHz, etc. */
@@ -12941,9 +12933,9 @@
+#define I2S_REG_PEAKLEVEL_IN1 0x90
+
#endif /* _AWACS_DEFS_H_ */
-diff -urN kernel-source-2.4.26.orig/drivers/sound/dmasound/Config.in kernel-source-2.4.26/drivers/sound/dmasound/Config.in
---- kernel-source-2.4.26.orig/drivers/sound/dmasound/Config.in 2002-02-25 20:38:04.000000000 +0100
-+++ kernel-source-2.4.26/drivers/sound/dmasound/Config.in 2004-07-31 18:36:20.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/sound/dmasound/Config.in kernel-source-2.4.27-benh/drivers/sound/dmasound/Config.in
+--- kernel-source-2.4.27/drivers/sound/dmasound/Config.in 2002-02-25 20:38:04.000000000 +0100
++++ kernel-source-2.4.27-benh/drivers/sound/dmasound/Config.in 2004-09-01 20:56:27.350961080 +0200
@@ -27,13 +27,27 @@
fi
@@ -12973,9 +12965,9 @@
+ fi
fi
-
-diff -urN kernel-source-2.4.26.orig/drivers/sound/dmasound/dmasound_awacs.c kernel-source-2.4.26/drivers/sound/dmasound/dmasound_awacs.c
---- kernel-source-2.4.26.orig/drivers/sound/dmasound/dmasound_awacs.c 2002-08-03 02:39:44.000000000 +0200
-+++ kernel-source-2.4.26/drivers/sound/dmasound/dmasound_awacs.c 2004-07-31 18:36:20.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/sound/dmasound/dmasound_awacs.c kernel-source-2.4.27-benh/drivers/sound/dmasound/dmasound_awacs.c
+--- kernel-source-2.4.27/drivers/sound/dmasound/dmasound_awacs.c 2002-08-03 02:39:44.000000000 +0200
++++ kernel-source-2.4.27-benh/drivers/sound/dmasound/dmasound_awacs.c 2004-09-01 20:56:27.447946336 +0200
@@ -88,10 +88,14 @@
#include "awacs_defs.h"
@@ -14018,9 +14010,9 @@
+ * c-basic-offset: 8
+ * End:
+ */
-diff -urN kernel-source-2.4.26.orig/drivers/sound/dmasound/Makefile kernel-source-2.4.26/drivers/sound/dmasound/Makefile
---- kernel-source-2.4.26.orig/drivers/sound/dmasound/Makefile 2002-02-25 20:38:04.000000000 +0100
-+++ kernel-source-2.4.26/drivers/sound/dmasound/Makefile 2004-07-31 18:36:20.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/sound/dmasound/Makefile kernel-source-2.4.27-benh/drivers/sound/dmasound/Makefile
+--- kernel-source-2.4.27/drivers/sound/dmasound/Makefile 2002-02-25 20:38:04.000000000 +0100
++++ kernel-source-2.4.27-benh/drivers/sound/dmasound/Makefile 2004-09-01 20:56:27.449946032 +0200
@@ -13,7 +13,8 @@
list-multi := dmasound_pmac.o
@@ -14031,9 +14023,9 @@
obj-$(CONFIG_DMASOUND) += dmasound_core.o
obj-$(CONFIG_DMASOUND_ATARI) += dmasound_atari.o
-diff -urN kernel-source-2.4.26.orig/drivers/sound/dmasound/tas3001c.c kernel-source-2.4.26/drivers/sound/dmasound/tas3001c.c
---- kernel-source-2.4.26.orig/drivers/sound/dmasound/tas3001c.c 2002-02-25 20:38:05.000000000 +0100
-+++ kernel-source-2.4.26/drivers/sound/dmasound/tas3001c.c 2004-07-31 18:36:20.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/sound/dmasound/tas3001c.c kernel-source-2.4.27-benh/drivers/sound/dmasound/tas3001c.c
+--- kernel-source-2.4.27/drivers/sound/dmasound/tas3001c.c 2002-02-25 20:38:05.000000000 +0100
++++ kernel-source-2.4.27-benh/drivers/sound/dmasound/tas3001c.c 2004-09-01 20:56:27.544931592 +0200
@@ -45,403 +45,854 @@
#include <linux/types.h>
#include <linux/i2c.h>
@@ -15145,9 +15137,9 @@
+ * c-basic-offset: 8
+ * End:
+ */
-diff -urN kernel-source-2.4.26.orig/drivers/sound/dmasound/tas3001c.h kernel-source-2.4.26/drivers/sound/dmasound/tas3001c.h
---- kernel-source-2.4.26.orig/drivers/sound/dmasound/tas3001c.h 2002-02-25 20:38:05.000000000 +0100
-+++ kernel-source-2.4.26/drivers/sound/dmasound/tas3001c.h 2004-07-31 18:36:21.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/sound/dmasound/tas3001c.h kernel-source-2.4.27-benh/drivers/sound/dmasound/tas3001c.h
+--- kernel-source-2.4.27/drivers/sound/dmasound/tas3001c.h 2002-02-25 20:38:05.000000000 +0100
++++ kernel-source-2.4.27-benh/drivers/sound/dmasound/tas3001c.h 2004-09-01 20:56:27.627918976 +0200
@@ -9,240 +9,56 @@
* Written by Christopher C. Chimelis <chris@debian.org>
*/
@@ -15431,9 +15423,9 @@
-#endif /* _tas3001c_h_ */
+#endif /* _TAS3001C_H_ */
-diff -urN kernel-source-2.4.26.orig/drivers/sound/dmasound/tas3001c_tables.c kernel-source-2.4.26/drivers/sound/dmasound/tas3001c_tables.c
---- kernel-source-2.4.26.orig/drivers/sound/dmasound/tas3001c_tables.c 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26/drivers/sound/dmasound/tas3001c_tables.c 2004-07-31 18:36:21.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/sound/dmasound/tas3001c_tables.c kernel-source-2.4.27-benh/drivers/sound/dmasound/tas3001c_tables.c
+--- kernel-source-2.4.27/drivers/sound/dmasound/tas3001c_tables.c 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-benh/drivers/sound/dmasound/tas3001c_tables.c 2004-09-01 20:56:27.709906512 +0200
@@ -0,0 +1,375 @@
+#include "tas_common.h"
+#include "tas_eq_prefs.h"
@@ -15810,9 +15802,9 @@
+ &eqp_0f_1_0,
+ NULL
+};
-diff -urN kernel-source-2.4.26.orig/drivers/sound/dmasound/tas3004.c kernel-source-2.4.26/drivers/sound/dmasound/tas3004.c
---- kernel-source-2.4.26.orig/drivers/sound/dmasound/tas3004.c 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26/drivers/sound/dmasound/tas3004.c 2004-07-31 18:36:21.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/sound/dmasound/tas3004.c kernel-source-2.4.27-benh/drivers/sound/dmasound/tas3004.c
+--- kernel-source-2.4.27/drivers/sound/dmasound/tas3004.c 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-benh/drivers/sound/dmasound/tas3004.c 2004-09-01 20:56:27.794893592 +0200
@@ -0,0 +1,1173 @@
+/*
+ * Driver for the i2c/i2s based TA3004 sound chip used
@@ -16987,9 +16979,9 @@
+ * c-basic-offset: 8
+ * End:
+ */
-diff -urN kernel-source-2.4.26.orig/drivers/sound/dmasound/tas3004.h kernel-source-2.4.26/drivers/sound/dmasound/tas3004.h
---- kernel-source-2.4.26.orig/drivers/sound/dmasound/tas3004.h 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26/drivers/sound/dmasound/tas3004.h 2004-07-31 18:36:21.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/sound/dmasound/tas3004.h kernel-source-2.4.27-benh/drivers/sound/dmasound/tas3004.h
+--- kernel-source-2.4.27/drivers/sound/dmasound/tas3004.h 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-benh/drivers/sound/dmasound/tas3004.h 2004-09-01 20:56:27.795893440 +0200
@@ -0,0 +1,77 @@
+/*
+ * Header file for the i2c/i2s based TA3004 sound chip used
@@ -17068,9 +17060,9 @@
+};
+
+#endif /* _TAS3004_H_ */
-diff -urN kernel-source-2.4.26.orig/drivers/sound/dmasound/tas3004_tables.c kernel-source-2.4.26/drivers/sound/dmasound/tas3004_tables.c
---- kernel-source-2.4.26.orig/drivers/sound/dmasound/tas3004_tables.c 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26/drivers/sound/dmasound/tas3004_tables.c 2004-07-31 18:36:21.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/sound/dmasound/tas3004_tables.c kernel-source-2.4.27-benh/drivers/sound/dmasound/tas3004_tables.c
+--- kernel-source-2.4.27/drivers/sound/dmasound/tas3004_tables.c 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-benh/drivers/sound/dmasound/tas3004_tables.c 2004-09-01 20:56:27.879880672 +0200
@@ -0,0 +1,301 @@
+#include "tas3004.h"
+#include "tas_eq_prefs.h"
@@ -17373,9 +17365,9 @@
+ &eqp_1c_1_0,
+ NULL
+};
-diff -urN kernel-source-2.4.26.orig/drivers/sound/dmasound/tas_common.c kernel-source-2.4.26/drivers/sound/dmasound/tas_common.c
---- kernel-source-2.4.26.orig/drivers/sound/dmasound/tas_common.c 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26/drivers/sound/dmasound/tas_common.c 2004-07-31 18:36:21.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/sound/dmasound/tas_common.c kernel-source-2.4.27-benh/drivers/sound/dmasound/tas_common.c
+--- kernel-source-2.4.27/drivers/sound/dmasound/tas_common.c 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-benh/drivers/sound/dmasound/tas_common.c 2004-09-01 20:56:27.961868208 +0200
@@ -0,0 +1,256 @@
+#include <linux/version.h>
+#include <linux/module.h>
@@ -17633,9 +17625,9 @@
+ * c-basic-offset: 8
+ * End:
+ */
-diff -urN kernel-source-2.4.26.orig/drivers/sound/dmasound/tas_common.h kernel-source-2.4.26/drivers/sound/dmasound/tas_common.h
---- kernel-source-2.4.26.orig/drivers/sound/dmasound/tas_common.h 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26/drivers/sound/dmasound/tas_common.h 2004-07-31 18:36:21.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/sound/dmasound/tas_common.h kernel-source-2.4.27-benh/drivers/sound/dmasound/tas_common.h
+--- kernel-source-2.4.27/drivers/sound/dmasound/tas_common.h 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-benh/drivers/sound/dmasound/tas_common.h 2004-09-01 20:56:27.963867904 +0200
@@ -0,0 +1,284 @@
+#ifndef _TAS_COMMON_H_
+#define _TAS_COMMON_H_
@@ -17921,9 +17913,9 @@
+ * c-basic-offset: 8
+ * End:
+ */
-diff -urN kernel-source-2.4.26.orig/drivers/sound/dmasound/tas_eq_prefs.h kernel-source-2.4.26/drivers/sound/dmasound/tas_eq_prefs.h
---- kernel-source-2.4.26.orig/drivers/sound/dmasound/tas_eq_prefs.h 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26/drivers/sound/dmasound/tas_eq_prefs.h 2004-07-31 18:36:21.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/sound/dmasound/tas_eq_prefs.h kernel-source-2.4.27-benh/drivers/sound/dmasound/tas_eq_prefs.h
+--- kernel-source-2.4.27/drivers/sound/dmasound/tas_eq_prefs.h 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-benh/drivers/sound/dmasound/tas_eq_prefs.h 2004-09-01 20:56:28.043855744 +0200
@@ -0,0 +1,24 @@
+#ifndef _TAS_EQ_PREFS_H_
+#define _TAS_EQ_PREFS_H_
@@ -17949,9 +17941,9 @@
+ * c-basic-offset: 8
+ * End:
+ */
-diff -urN kernel-source-2.4.26.orig/drivers/sound/dmasound/tas_ioctl.h kernel-source-2.4.26/drivers/sound/dmasound/tas_ioctl.h
---- kernel-source-2.4.26.orig/drivers/sound/dmasound/tas_ioctl.h 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26/drivers/sound/dmasound/tas_ioctl.h 2004-07-31 18:36:21.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/sound/dmasound/tas_ioctl.h kernel-source-2.4.27-benh/drivers/sound/dmasound/tas_ioctl.h
+--- kernel-source-2.4.27/drivers/sound/dmasound/tas_ioctl.h 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-benh/drivers/sound/dmasound/tas_ioctl.h 2004-09-01 20:56:28.123843584 +0200
@@ -0,0 +1,24 @@
+#ifndef _TAS_IOCTL_H_
+#define _TAS_IOCTL_H_
@@ -17977,9 +17969,9 @@
+#define TAS_READ_DRCE_MAX _SIOR('t',7,int)
+
+#endif
-diff -urN kernel-source-2.4.26.orig/drivers/usb/host/usb-ohci.h kernel-source-2.4.26/drivers/usb/host/usb-ohci.h
---- kernel-source-2.4.26.orig/drivers/usb/host/usb-ohci.h 2004-04-14 15:05:33.000000000 +0200
-+++ kernel-source-2.4.26/drivers/usb/host/usb-ohci.h 2004-07-31 18:36:21.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/usb/host/usb-ohci.h kernel-source-2.4.27-benh/drivers/usb/host/usb-ohci.h
+--- kernel-source-2.4.27/drivers/usb/host/usb-ohci.h 2004-04-14 15:05:33.000000000 +0200
++++ kernel-source-2.4.27-benh/drivers/usb/host/usb-ohci.h 2004-09-01 20:56:28.125843280 +0200
@@ -58,7 +58,7 @@
dma_addr_t dma;
@@ -17998,9 +17990,9 @@
0 /* no page-crossing issues */,
GFP_KERNEL | OHCI_MEM_FLAGS);
if (!ohci->dev_cache)
-diff -urN kernel-source-2.4.26.orig/drivers/usb/storage/scsiglue.c kernel-source-2.4.26/drivers/usb/storage/scsiglue.c
---- kernel-source-2.4.26.orig/drivers/usb/storage/scsiglue.c 2004-04-14 15:05:35.000000000 +0200
-+++ kernel-source-2.4.26/drivers/usb/storage/scsiglue.c 2004-07-31 18:36:21.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/usb/storage/scsiglue.c kernel-source-2.4.27-benh/drivers/usb/storage/scsiglue.c
+--- kernel-source-2.4.27/drivers/usb/storage/scsiglue.c 2004-08-08 01:26:05.000000000 +0200
++++ kernel-source-2.4.27-benh/drivers/usb/storage/scsiglue.c 2004-09-01 20:56:28.287818656 +0200
@@ -75,16 +75,19 @@
{
struct us_data *us;
@@ -18039,9 +18031,9 @@
return 0;
}
-diff -urN kernel-source-2.4.26.orig/drivers/video/aty/atyfb_base.c kernel-source-2.4.26/drivers/video/aty/atyfb_base.c
---- kernel-source-2.4.26.orig/drivers/video/aty/atyfb_base.c 2004-02-18 14:36:31.000000000 +0100
-+++ kernel-source-2.4.26/drivers/video/aty/atyfb_base.c 2004-07-31 18:36:21.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/video/aty/atyfb_base.c kernel-source-2.4.27-benh/drivers/video/aty/atyfb_base.c
+--- kernel-source-2.4.27/drivers/video/aty/atyfb_base.c 2004-02-18 14:36:31.000000000 +0100
++++ kernel-source-2.4.27-benh/drivers/video/aty/atyfb_base.c 2004-09-01 20:56:28.374805432 +0200
@@ -106,7 +106,7 @@
/*
* Debug flags.
@@ -18106,9 +18098,9 @@
#ifdef CONFIG_PMAC_BACKLIGHT
if ((_machine == _MACH_Pmac) && blank)
set_backlight_enable(0);
-diff -urN kernel-source-2.4.26.orig/drivers/video/aty/atyfb.h kernel-source-2.4.26/drivers/video/aty/atyfb.h
---- kernel-source-2.4.26.orig/drivers/video/aty/atyfb.h 2003-11-28 19:26:20.000000000 +0100
-+++ kernel-source-2.4.26/drivers/video/aty/atyfb.h 2004-07-31 18:36:21.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/video/aty/atyfb.h kernel-source-2.4.27-benh/drivers/video/aty/atyfb.h
+--- kernel-source-2.4.27/drivers/video/aty/atyfb.h 2003-11-28 19:26:20.000000000 +0100
++++ kernel-source-2.4.27-benh/drivers/video/aty/atyfb.h 2004-09-01 20:56:28.375805280 +0200
@@ -179,6 +179,7 @@
unsigned char *save_framebuffer;
unsigned long save_pll[64];
@@ -18117,9 +18109,9 @@
};
-diff -urN kernel-source-2.4.26.orig/drivers/video/aty/mach64_cursor.c kernel-source-2.4.26/drivers/video/aty/mach64_cursor.c
---- kernel-source-2.4.26.orig/drivers/video/aty/mach64_cursor.c 2003-11-28 19:26:21.000000000 +0100
-+++ kernel-source-2.4.26/drivers/video/aty/mach64_cursor.c 2004-07-31 18:36:21.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/video/aty/mach64_cursor.c kernel-source-2.4.27-benh/drivers/video/aty/mach64_cursor.c
+--- kernel-source-2.4.27/drivers/video/aty/mach64_cursor.c 2003-11-28 19:26:21.000000000 +0100
++++ kernel-source-2.4.27-benh/drivers/video/aty/mach64_cursor.c 2004-09-01 20:56:28.456792968 +0200
@@ -54,7 +54,7 @@
const u8 *blue = cursor_color_map;
int i;
@@ -18159,9 +18151,9 @@
return 1;
}
-diff -urN kernel-source-2.4.26.orig/drivers/video/aty128fb.c kernel-source-2.4.26/drivers/video/aty128fb.c
---- kernel-source-2.4.26.orig/drivers/video/aty128fb.c 2003-11-28 19:26:21.000000000 +0100
-+++ kernel-source-2.4.26/drivers/video/aty128fb.c 2004-07-31 18:36:21.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/video/aty128fb.c kernel-source-2.4.27-benh/drivers/video/aty128fb.c
+--- kernel-source-2.4.27/drivers/video/aty128fb.c 2003-11-28 19:26:21.000000000 +0100
++++ kernel-source-2.4.27-benh/drivers/video/aty128fb.c 2004-09-01 20:56:28.548778984 +0200
@@ -55,7 +55,7 @@
#include <linux/ioport.h>
#include <asm/io.h>
@@ -18335,9 +18327,9 @@
static int aty128fb_ioctl(struct inode *inode, struct file *file, u_int cmd,
u_long arg, int con, struct fb_info *info)
-diff -urN kernel-source-2.4.26.orig/drivers/video/Config.in kernel-source-2.4.26/drivers/video/Config.in
---- kernel-source-2.4.26.orig/drivers/video/Config.in 2004-07-20 14:05:56.000000000 +0200
-+++ kernel-source-2.4.26/drivers/video/Config.in 2004-07-31 18:36:21.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/video/Config.in kernel-source-2.4.27-benh/drivers/video/Config.in
+--- kernel-source-2.4.27/drivers/video/Config.in 2004-08-24 07:53:14.000000000 +0200
++++ kernel-source-2.4.27-benh/drivers/video/Config.in 2004-09-01 20:56:28.631766368 +0200
@@ -73,7 +73,7 @@
dep_bool ' Apple "valkyrie" display support' CONFIG_FB_VALKYRIE $CONFIG_ALL_PPC
bool ' Chips 65550 display support' CONFIG_FB_CT65550
@@ -18386,9 +18378,9 @@
define_tristate CONFIG_FBCON_CFB32 y
else
if [ "$CONFIG_FB_ATARI" = "m" -o "$CONFIG_FB_ATY" = "m" -o \
-diff -urN kernel-source-2.4.26.orig/drivers/video/imsttfb.c kernel-source-2.4.26/drivers/video/imsttfb.c
---- kernel-source-2.4.26.orig/drivers/video/imsttfb.c 2002-02-25 20:38:07.000000000 +0100
-+++ kernel-source-2.4.26/drivers/video/imsttfb.c 2004-07-31 18:36:21.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/video/imsttfb.c kernel-source-2.4.27-benh/drivers/video/imsttfb.c
+--- kernel-source-2.4.27/drivers/video/imsttfb.c 2002-02-25 20:38:07.000000000 +0100
++++ kernel-source-2.4.27-benh/drivers/video/imsttfb.c 2004-09-01 20:56:28.714753752 +0200
@@ -444,6 +444,20 @@
};
@@ -18456,9 +18448,9 @@
return -ENODEV;
}
-diff -urN kernel-source-2.4.26.orig/drivers/video/offb.c kernel-source-2.4.26/drivers/video/offb.c
---- kernel-source-2.4.26.orig/drivers/video/offb.c 2002-02-25 20:38:07.000000000 +0100
-+++ kernel-source-2.4.26/drivers/video/offb.c 2004-07-31 18:36:21.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/video/offb.c kernel-source-2.4.27-benh/drivers/video/offb.c
+--- kernel-source-2.4.27/drivers/video/offb.c 2002-02-25 20:38:07.000000000 +0100
++++ kernel-source-2.4.27-benh/drivers/video/offb.c 2004-09-01 20:56:28.716753448 +0200
@@ -448,6 +448,10 @@
unsigned long regbase = dp->addrs[1].address;
info->cmap_adr = ioremap(regbase, 0x1FFF);
@@ -18470,9 +18462,9 @@
} else if (!strncmp(name, "ATY,", 4)) {
/* Hrm... this is bad... any recent ATI not covered
* by the previous cases will get there, while this
-diff -urN kernel-source-2.4.26.orig/drivers/video/radeonfb.c kernel-source-2.4.26/drivers/video/radeonfb.c
---- kernel-source-2.4.26.orig/drivers/video/radeonfb.c 2004-07-20 14:05:56.000000000 +0200
-+++ kernel-source-2.4.26/drivers/video/radeonfb.c 2004-07-31 18:36:21.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/video/radeonfb.c kernel-source-2.4.27-benh/drivers/video/radeonfb.c
+--- kernel-source-2.4.27/drivers/video/radeonfb.c 2004-08-24 07:53:14.000000000 +0200
++++ kernel-source-2.4.27-benh/drivers/video/radeonfb.c 2004-09-01 20:56:28.887727456 +0200
@@ -208,6 +208,7 @@
RADEON_Le,
RADEON_Lf,
@@ -18921,9 +18913,9 @@
rinfo->init_state.lvds_gen_cntl &= ~LVDS_STATE_MASK;
rinfo->init_state.lvds_gen_cntl |= (lvds_gen_cntl & LVDS_STATE_MASK);
-diff -urN kernel-source-2.4.26.orig/drivers/video/radeon.h kernel-source-2.4.26/drivers/video/radeon.h
---- kernel-source-2.4.26.orig/drivers/video/radeon.h 2003-08-25 13:44:42.000000000 +0200
-+++ kernel-source-2.4.26/drivers/video/radeon.h 2004-07-31 18:36:21.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/video/radeon.h kernel-source-2.4.27-benh/drivers/video/radeon.h
+--- kernel-source-2.4.27/drivers/video/radeon.h 2003-08-25 13:44:42.000000000 +0200
++++ kernel-source-2.4.27-benh/drivers/video/radeon.h 2004-09-01 20:56:28.972714536 +0200
@@ -469,6 +469,17 @@
#define BUS_READ_BURST 0x40000000
#define BUS_RDY_READ_DLY 0x80000000
@@ -18971,9 +18963,9 @@
#define GUI_ACTIVE 0x80000000
-diff -urN kernel-source-2.4.26.orig/drivers/video/riva/accel.c kernel-source-2.4.26/drivers/video/riva/accel.c
---- kernel-source-2.4.26.orig/drivers/video/riva/accel.c 2003-06-13 16:51:37.000000000 +0200
-+++ kernel-source-2.4.26/drivers/video/riva/accel.c 2004-07-31 18:36:21.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/video/riva/accel.c kernel-source-2.4.27-benh/drivers/video/riva/accel.c
+--- kernel-source-2.4.27/drivers/video/riva/accel.c 2004-08-08 01:26:05.000000000 +0200
++++ kernel-source-2.4.27-benh/drivers/video/riva/accel.c 2004-09-01 20:56:28.974714232 +0200
@@ -14,6 +14,7 @@
inline void wait_for_idle(struct rivafb_info *rinfo)
@@ -19110,9 +19102,9 @@
fontwidthmask: FONTWIDTHRANGE(4, 16)
};
#endif
-diff -urN kernel-source-2.4.26.orig/drivers/video/riva/fbdev.c kernel-source-2.4.26/drivers/video/riva/fbdev.c
---- kernel-source-2.4.26.orig/drivers/video/riva/fbdev.c 2003-06-13 16:51:37.000000000 +0200
-+++ kernel-source-2.4.26/drivers/video/riva/fbdev.c 2004-07-31 18:36:21.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/video/riva/fbdev.c kernel-source-2.4.27-benh/drivers/video/riva/fbdev.c
+--- kernel-source-2.4.27/drivers/video/riva/fbdev.c 2004-08-08 01:26:05.000000000 +0200
++++ kernel-source-2.4.27-benh/drivers/video/riva/fbdev.c 2004-09-01 20:56:29.221676688 +0200
@@ -55,10 +55,13 @@
#error This driver requires PCI support.
#endif
@@ -19379,9 +19371,9 @@
+ rivafb_default_var = emac_default_var;
+ }
+}
+
++#define IVAD_CONTRAST_REG 0x00
+
-+#define IVAD_CONTRAST_REG 0x00
-
+static void
+set_ivad_contrast(u8 contrast)
+{
@@ -19474,88 +19466,8 @@
newmode.crtc[0x4] = Set8Bits (hStart);
newmode.crtc[0x5] = SetBitField (hBlankEnd, 5: 5, 7:7)
| SetBitField (hEnd, 4: 0, 4:0);
-@@ -950,37 +1101,64 @@
- newmode.crtc[0x11] = SetBitField (vEnd, 3: 0, 3:0)
- | SetBit (5);
- newmode.crtc[0x12] = Set8Bits (vDisplay);
-- newmode.crtc[0x13] = ((width / 8) * ((bpp + 1) / 8)) & 0xFF;
-+ newmode.crtc[0x13] = (width / 8) * ((bpp + 1) / 8);
- newmode.crtc[0x15] = Set8Bits (vBlankStart);
- newmode.crtc[0x16] = Set8Bits (vBlankEnd);
+@@ -1463,6 +1614,12 @@
-+ newmode.ext.screen = SetBitField(hBlankEnd,6:6,4:4)
-+ | SetBitField(vBlankStart,10:10,3:3)
-+ | SetBitField(vStart,10:10,2:2)
-+ | SetBitField(vDisplay,10:10,1:1)
-+ | SetBitField(vTotal,10:10,0:0);
-+ newmode.ext.horiz = SetBitField(hTotal,8:8,0:0)
-+ | SetBitField(hDisplay,8:8,1:1)
-+ | SetBitField(hBlankStart,8:8,2:2)
-+ | SetBitField(hStart,8:8,3:3);
-+ newmode.ext.extra = SetBitField(vTotal,11:11,0:0)
-+ | SetBitField(vDisplay,11:11,2:2)
-+ | SetBitField(vStart,11:11,4:4)
-+ | SetBitField(vBlankStart,11:11,6:6);
-+
-+ /* CalcStateExt does this already */
-+ /*
- newmode.ext.bpp = bpp;
- newmode.ext.width = width;
- newmode.ext.height = height;
-+ */
-+ newmode.ext.interlace = 0xff; /* interlace off */
-+
-+ if(rinfo->riva.Architecture >= NV_ARCH_10)
-+ rinfo->riva.CURSOR = (U032 *)(rinfo->fb_base + rinfo->riva.CursorStart);
-
- rinfo->riva.CalcStateExt(&rinfo->riva, &newmode.ext, bpp, width,
-- hDisplaySize, hDisplay, hStart, hEnd,
-- hTotal, height, vDisplay, vStart, vEnd,
-- vTotal, dotClock);
-+ hDisplaySize, height, dotClock);
-
- newmode.ext.scale = rinfo->riva.PRAMDAC[0x00000848/4] & 0xfff000ff;
--
-- if (rinfo->riva.flatPanel) {
-+ if(rinfo->FlatPanel == 1) {
- newmode.ext.pixel |= (1 << 7);
- newmode.ext.scale |= (1 << 8);
- }
--
-- newmode.ext.vpll2 = rinfo->riva.PRAMDAC[0x00000520/4];
--
--#if defined(__powerpc__)
-- /*
-- * XXX only Mac cards use second DAC for flat panel
-- */
-- if (rinfo->riva.flatPanel) {
-+ if(rinfo->SecondCRTC) {
-+ newmode.ext.head = rinfo->riva.PCRTC0[0x00000860/4] & ~0x00001000;
-+ newmode.ext.head2 = rinfo->riva.PCRTC0[0x00002860/4] | 0x00001000;
-+ newmode.ext.crtcOwner = 3;
- newmode.ext.pllsel |= 0x20000800;
- newmode.ext.vpll2 = newmode.ext.vpll;
-+ } else if(rinfo->riva.twoHeads) {
-+ newmode.ext.head = rinfo->riva.PCRTC0[0x00000860/4] | 0x00001000;
-+ newmode.ext.head2 = rinfo->riva.PCRTC0[0x00002860/4] & ~0x00001000;
-+ newmode.ext.crtcOwner = 0;
-+ newmode.ext.vpll2 = rinfo->riva.PRAMDAC0[0x00000520/4];
- }
--#endif
-+
-+ newmode.ext.cursorConfig = 0x02000100;
-+
-+ newmode.misc_output &= 0x3f;
-+ if ((video_mode->sync & FB_SYNC_HOR_HIGH_ACT) == 0)
-+ newmode.misc_output |= 0x40;
-+ if ((video_mode->sync & FB_SYNC_VERT_HIGH_ACT) == 0)
-+ newmode.misc_output |= 0x80;
-+
- rinfo->current_state = newmode;
- riva_load_state(rinfo, &rinfo->current_state);
-
-@@ -1463,6 +1641,12 @@
-
accel = v.accel_flags & FB_ACCELF_TEXT;
+ /* Accel seem to not work properly on GeForce4's yet...*/
@@ -19567,7 +19479,7 @@
switch (v.bits_per_pixel) {
#ifdef FBCON_HAS_CFB8
case 1 ... 8:
-@@ -1802,6 +1986,13 @@
+@@ -1802,6 +1959,13 @@
vesa |= 0xc0;
break;
}
@@ -19581,7 +19493,7 @@
}
SEQout(rinfo, 0x01, tmp);
-@@ -1877,6 +2068,14 @@
+@@ -1877,6 +2041,14 @@
riva_set_dispsw(rinfo, disp);
@@ -19596,7 +19508,7 @@
DPRINTK("EXIT, returning 0\n");
return 0;
-@@ -1913,18 +2112,36 @@
+@@ -1913,18 +2085,36 @@
}
#ifdef CONFIG_ALL_PPC
@@ -19637,7 +19549,7 @@
return 0;
}
#endif /* CONFIG_ALL_PPC */
-@@ -1959,7 +2176,8 @@
+@@ -1959,7 +2149,8 @@
rinfo->vAct_high = 1;
}
@@ -19647,7 +19559,7 @@
rinfo->panel_xres, rinfo->panel_yres);
rinfo->got_dfpinfo = 1;
-@@ -2020,7 +2238,8 @@
+@@ -2020,7 +2211,8 @@
if (riva_dfp_parse_EDID(rinfo))
riva_update_default_var(rinfo);
@@ -19657,7 +19569,7 @@
}
-@@ -2049,6 +2268,14 @@
+@@ -2049,6 +2241,14 @@
rinfo->drvr_name = rci->name;
rinfo->riva.Architecture = rci->arch_rev;
@@ -19672,7 +19584,7 @@
rinfo->pd = pd;
rinfo->base0_region_size = pci_resource_len(pd, 0);
rinfo->base1_region_size = pci_resource_len(pd, 1);
-@@ -2065,100 +2292,65 @@
+@@ -2065,100 +2265,65 @@
rinfo->ctrl_base_phys = pci_resource_start(rinfo->pd, 0);
rinfo->fb_base_phys = pci_resource_start(rinfo->pd, 1);
@@ -19797,7 +19709,7 @@
}
#ifdef CONFIG_MTRR
-@@ -2215,10 +2407,16 @@
+@@ -2215,10 +2380,16 @@
rivafb_exit_cursor(rinfo);
/* err_out_iounmap_fb: */
iounmap(rinfo->fb_base);
@@ -19816,7 +19728,7 @@
err_out_free_base0:
release_mem_region(rinfo->ctrl_base_phys, rinfo->base0_region_size);
err_out_kfree:
-@@ -2256,6 +2454,11 @@
+@@ -2256,6 +2427,11 @@
release_mem_region(board->fb_base_phys,
board->ram_amount);
@@ -19828,7 +19740,7 @@
kfree(board);
pci_set_drvdata(pd, NULL);
-@@ -2301,6 +2504,16 @@
+@@ -2301,6 +2477,16 @@
} else if (!strncmp(this_opt, "nomtrr", 6)) {
nomtrr = 1;
#endif
@@ -19845,7 +19757,7 @@
} else if (!strncmp(this_opt, "nohwcursor", 10)) {
nohwcursor = 1;
} else
-@@ -2331,9 +2544,13 @@
+@@ -2331,9 +2517,13 @@
#ifdef MODULE
if (font) strncpy(fontname, font, sizeof(fontname)-1);
#endif
@@ -19859,7 +19771,7 @@
return 0;
}
-@@ -2357,6 +2574,11 @@
+@@ -2357,6 +2547,11 @@
MODULE_PARM_DESC(nohwcursor, "Disables hardware cursor (0 or 1=disabled) (default=0)");
MODULE_PARM(noblink, "i");
MODULE_PARM_DESC(noblink, "Disables hardware cursor blinking (0 or 1=disabled) (default=0)");
@@ -19871,16 +19783,2388 @@
#ifdef CONFIG_MTRR
MODULE_PARM(nomtrr, "i");
MODULE_PARM_DESC(nomtrr, "Disables MTRR support (0 or 1=disabled) (default=0)");
-@@ -2364,5 +2586,5 @@
+@@ -2364,5 +2559,5 @@
#endif /* MODULE */
MODULE_AUTHOR("Ani Joshi, maintainer");
-MODULE_DESCRIPTION("Framebuffer driver for nVidia Riva 128, TNT, TNT2");
+MODULE_DESCRIPTION("Framebuffer driver for nVidia Riva 128, TNT, TNT2, and the GeForce series");
MODULE_LICENSE("GPL");
-diff -urN kernel-source-2.4.26.orig/drivers/video/riva/Makefile kernel-source-2.4.26/drivers/video/riva/Makefile
---- kernel-source-2.4.26.orig/drivers/video/riva/Makefile 2001-02-03 21:48:00.000000000 +0100
-+++ kernel-source-2.4.26/drivers/video/riva/Makefile 2004-07-31 18:36:21.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/video/riva/fbdev.c.orig kernel-source-2.4.27-benh/drivers/video/riva/fbdev.c.orig
+--- kernel-source-2.4.27/drivers/video/riva/fbdev.c.orig 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-benh/drivers/video/riva/fbdev.c.orig 2004-08-08 01:26:05.000000000 +0200
+@@ -0,0 +1,2368 @@
++/*
++ * linux/drivers/video/riva/fbdev.c
++ *
++ * nVidia RIVA 128/TNT/TNT2/GeForce2/3 fb driver
++ *
++ * Maintained by Ani Joshi <ajoshi@kernel.crashing.org>
++ *
++ * Copyright 1999-2000 Jeff Garzik
++ * Copyright 2000-2003 Ani Joshi
++ *
++ * Contributors:
++ *
++ * Ani Joshi: Lots of debugging and cleanup work, really helped
++ * get the driver going
++ *
++ * Ferenc Bakonyi: Bug fixes, cleanup, modularization
++ *
++ * Jindrich Makovicka: Accel code help, hw cursor, mtrr
++ *
++ * Initial template from skeletonfb.c, created 28 Dec 1997 by Geert Uytterhoeven
++ * Includes riva_hw.c from nVidia, see copyright below.
++ * KGI code provided the basis for state storage, init, and mode switching.
++ *
++ * This file is subject to the terms and conditions of the GNU General Public
++ * License. See the file COPYING in the main directory of this archive
++ * for more details.
++ *
++ * Known bugs and issues:
++ * restoring text mode fails
++ * doublescan modes are broken
++ * option 'noaccel' has no effect
++ */
++
++#include <linux/config.h>
++#include <linux/module.h>
++#include <linux/kernel.h>
++#include <linux/errno.h>
++#include <linux/string.h>
++#include <linux/mm.h>
++#include <linux/selection.h>
++#include <linux/tty.h>
++#include <linux/slab.h>
++#include <linux/delay.h>
++#include <linux/fb.h>
++#include <linux/init.h>
++#include <linux/pci.h>
++#include <linux/console.h>
++#ifdef CONFIG_MTRR
++#include <asm/mtrr.h>
++#endif
++#include "rivafb.h"
++#include "nvreg.h"
++
++#ifndef CONFIG_PCI /* sanity check */
++#error This driver requires PCI support.
++#endif
++
++
++
++/* version number of this driver */
++#define RIVAFB_VERSION "0.9.4"
++
++
++
++/* ------------------------------------------------------------------------- *
++ *
++ * various helpful macros and constants
++ *
++ * ------------------------------------------------------------------------- */
++
++#undef RIVAFBDEBUG
++#ifdef RIVAFBDEBUG
++#define DPRINTK(fmt, args...) printk(KERN_DEBUG "%s: " fmt, __FUNCTION__ , ## args)
++#else
++#define DPRINTK(fmt, args...)
++#endif
++
++#ifndef RIVA_NDEBUG
++#define assert(expr) \
++ if(!(expr)) { \
++ printk( "Assertion failed! %s,%s,%s,line=%d\n",\
++ #expr,__FILE__,__FUNCTION__,__LINE__); \
++ BUG(); \
++ }
++#else
++#define assert(expr)
++#endif
++
++#define PFX "rivafb: "
++
++/* macro that allows you to set overflow bits */
++#define SetBitField(value,from,to) SetBF(to,GetBF(value,from))
++#define SetBit(n) (1<<(n))
++#define Set8Bits(value) ((value)&0xff)
++
++/* HW cursor parameters */
++#define DEFAULT_CURSOR_BLINK_RATE (40)
++#define CURSOR_HIDE_DELAY (20)
++#define CURSOR_SHOW_DELAY (3)
++
++#ifdef __BIG_ENDIAN
++#define CURSOR_COLOR 0xff7f
++#else
++#define CURSOR_COLOR 0x7fff
++#endif
++#define TRANSPARENT_COLOR 0x0000
++#define MAX_CURS 32
++
++
++
++/* ------------------------------------------------------------------------- *
++ *
++ * prototypes
++ *
++ * ------------------------------------------------------------------------- */
++
++static void rivafb_blank(int blank, struct fb_info *info);
++
++extern void riva_setup_accel(struct rivafb_info *rinfo);
++extern inline void wait_for_idle(struct rivafb_info *rinfo);
++
++
++
++/* ------------------------------------------------------------------------- *
++ *
++ * card identification
++ *
++ * ------------------------------------------------------------------------- */
++
++enum riva_chips {
++ CH_RIVA_128 = 0,
++ CH_RIVA_TNT,
++ CH_RIVA_TNT2,
++ CH_RIVA_UTNT2, /* UTNT2 */
++ CH_RIVA_VTNT2, /* VTNT2 */
++ CH_RIVA_UVTNT2, /* VTNT2 */
++ CH_RIVA_ITNT2, /* ITNT2 */
++ CH_GEFORCE_SDR,
++ CH_GEFORCE_DDR,
++ CH_QUADRO,
++ CH_GEFORCE2_MX,
++ CH_QUADRO2_MXR,
++ CH_GEFORCE2_GTS,
++ CH_GEFORCE2_ULTRA,
++ CH_QUADRO2_PRO,
++ CH_GEFORCE2_GO,
++ CH_GEFORCE3,
++ CH_GEFORCE3_1,
++ CH_GEFORCE3_2,
++ CH_QUADRO_DDC
++};
++
++/* directly indexed by riva_chips enum, above */
++static struct riva_chip_info {
++ const char *name;
++ unsigned arch_rev;
++} riva_chip_info[] __devinitdata = {
++ { "RIVA-128", NV_ARCH_03 },
++ { "RIVA-TNT", NV_ARCH_04 },
++ { "RIVA-TNT2", NV_ARCH_04 },
++ { "RIVA-UTNT2", NV_ARCH_04 },
++ { "RIVA-VTNT2", NV_ARCH_04 },
++ { "RIVA-UVTNT2", NV_ARCH_04 },
++ { "RIVA-ITNT2", NV_ARCH_04 },
++ { "GeForce-SDR", NV_ARCH_10},
++ { "GeForce-DDR", NV_ARCH_10},
++ { "Quadro", NV_ARCH_10},
++ { "GeForce2-MX", NV_ARCH_10},
++ { "Quadro2-MXR", NV_ARCH_10},
++ { "GeForce2-GTS", NV_ARCH_10},
++ { "GeForce2-ULTRA", NV_ARCH_10},
++ { "Quadro2-PRO", NV_ARCH_10},
++ { "GeForce2-Go", NV_ARCH_10},
++ { "GeForce3", NV_ARCH_20},
++ { "GeForce3 Ti 200", NV_ARCH_20},
++ { "GeForce3 Ti 500", NV_ARCH_20},
++ { "Quadro DDC", NV_ARCH_20}
++};
++
++static struct pci_device_id rivafb_pci_tbl[] __devinitdata = {
++ { PCI_VENDOR_ID_NVIDIA_SGS, PCI_DEVICE_ID_NVIDIA_SGS_RIVA128,
++ PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_RIVA_128 },
++ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_TNT,
++ PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_RIVA_TNT },
++ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_TNT2,
++ PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_RIVA_TNT2 },
++ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_UTNT2,
++ PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_RIVA_UTNT2 },
++ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_VTNT2,
++ PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_RIVA_VTNT2 },
++ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_UVTNT2,
++ PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_RIVA_VTNT2 },
++ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_ITNT2,
++ PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_RIVA_ITNT2 },
++ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_SDR,
++ PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE_SDR },
++ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_DDR,
++ PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE_DDR },
++ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_QUADRO,
++ PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_QUADRO },
++ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE2_MX,
++ PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE2_MX },
++ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE2_MX2,
++ PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE2_MX },
++ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_QUADRO2_MXR,
++ PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_QUADRO2_MXR },
++ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE2_GTS,
++ PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE2_GTS },
++ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE2_GTS2,
++ PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE2_GTS },
++ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE2_ULTRA,
++ PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE2_ULTRA },
++ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_QUADRO2_PRO,
++ PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_QUADRO2_PRO },
++ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE2_GO,
++ PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE2_GO },
++ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE3,
++ PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE3 },
++ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE3_1,
++ PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE3_1 },
++ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE3_2,
++ PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE3_2 },
++ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_QUADRO_DDC,
++ PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_QUADRO_DDC },
++ { 0, } /* terminate list */
++};
++MODULE_DEVICE_TABLE(pci, rivafb_pci_tbl);
++
++
++
++/* ------------------------------------------------------------------------- *
++ *
++ * framebuffer related structures
++ *
++ * ------------------------------------------------------------------------- */
++
++#ifdef FBCON_HAS_CFB8
++extern struct display_switch fbcon_riva8;
++#endif
++#ifdef FBCON_HAS_CFB16
++extern struct display_switch fbcon_riva16;
++#endif
++#ifdef FBCON_HAS_CFB32
++extern struct display_switch fbcon_riva32;
++#endif
++
++#if 0
++/* describes the state of a Riva board */
++struct rivafb_par {
++ struct riva_regs state; /* state of hw board */
++ __u32 visual; /* FB_VISUAL_xxx */
++ unsigned depth; /* bpp of current mode */
++};
++#endif
++
++struct riva_cursor {
++ int enable;
++ int on;
++ int vbl_cnt;
++ int last_move_delay;
++ int blink_rate;
++ struct {
++ u16 x, y;
++ } pos, size;
++ unsigned short image[MAX_CURS*MAX_CURS];
++ struct timer_list *timer;
++};
++
++
++
++/* ------------------------------------------------------------------------- *
++ *
++ * global variables
++ *
++ * ------------------------------------------------------------------------- */
++
++struct rivafb_info *riva_boards = NULL;
++
++/* command line data, set in rivafb_setup() */
++static char fontname[40] __initdata = { 0 };
++static char noaccel __initdata = 0;
++static char nomove = 0;
++static char nohwcursor __initdata = 0;
++static char noblink = 0;
++#ifdef CONFIG_MTRR
++static char nomtrr __initdata = 0;
++#endif
++
++#ifndef MODULE
++static char *mode_option __initdata = NULL;
++#else
++static char *font = NULL;
++#endif
++
++static struct fb_var_screeninfo rivafb_default_var = {
++ xres: 640,
++ yres: 480,
++ xres_virtual: 640,
++ yres_virtual: 480,
++ xoffset: 0,
++ yoffset: 0,
++ bits_per_pixel: 8,
++ grayscale: 0,
++ red: {0, 6, 0},
++ green: {0, 6, 0},
++ blue: {0, 6, 0},
++ transp: {0, 0, 0},
++ nonstd: 0,
++ activate: 0,
++ height: -1,
++ width: -1,
++ accel_flags: 0,
++ pixclock: 39721,
++ left_margin: 40,
++ right_margin: 24,
++ upper_margin: 32,
++ lower_margin: 11,
++ hsync_len: 96,
++ vsync_len: 2,
++ sync: 0,
++ vmode: FB_VMODE_NONINTERLACED
++};
++
++/* from GGI */
++static const struct riva_regs reg_template = {
++ {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, /* ATTR */
++ 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
++ 0x41, 0x01, 0x0F, 0x00, 0x00},
++ {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* CRT */
++ 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE3, /* 0x10 */
++ 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x20 */
++ 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, /* 0x40 */
++ },
++ {0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x05, 0x0F, /* GRA */
++ 0xFF},
++ {0x03, 0x01, 0x0F, 0x00, 0x0E}, /* SEQ */
++ 0xEB /* MISC */
++};
++
++
++
++/* ------------------------------------------------------------------------- *
++ *
++ * MMIO access macros
++ *
++ * ------------------------------------------------------------------------- */
++
++static inline void CRTCout(struct rivafb_info *rinfo, unsigned char index,
++ unsigned char val)
++{
++ VGA_WR08(rinfo->riva.PCIO, 0x3d4, index);
++ VGA_WR08(rinfo->riva.PCIO, 0x3d5, val);
++}
++
++static inline unsigned char CRTCin(struct rivafb_info *rinfo,
++ unsigned char index)
++{
++ VGA_WR08(rinfo->riva.PCIO, 0x3d4, index);
++ return (VGA_RD08(rinfo->riva.PCIO, 0x3d5));
++}
++
++static inline void GRAout(struct rivafb_info *rinfo, unsigned char index,
++ unsigned char val)
++{
++ VGA_WR08(rinfo->riva.PVIO, 0x3ce, index);
++ VGA_WR08(rinfo->riva.PVIO, 0x3cf, val);
++}
++
++static inline unsigned char GRAin(struct rivafb_info *rinfo,
++ unsigned char index)
++{
++ VGA_WR08(rinfo->riva.PVIO, 0x3ce, index);
++ return (VGA_RD08(rinfo->riva.PVIO, 0x3cf));
++}
++
++static inline void SEQout(struct rivafb_info *rinfo, unsigned char index,
++ unsigned char val)
++{
++ VGA_WR08(rinfo->riva.PVIO, 0x3c4, index);
++ VGA_WR08(rinfo->riva.PVIO, 0x3c5, val);
++}
++
++static inline unsigned char SEQin(struct rivafb_info *rinfo,
++ unsigned char index)
++{
++ VGA_WR08(rinfo->riva.PVIO, 0x3c4, index);
++ return (VGA_RD08(rinfo->riva.PVIO, 0x3c5));
++}
++
++static inline void ATTRout(struct rivafb_info *rinfo, unsigned char index,
++ unsigned char val)
++{
++ VGA_WR08(rinfo->riva.PCIO, 0x3c0, index);
++ VGA_WR08(rinfo->riva.PCIO, 0x3c0, val);
++}
++
++static inline unsigned char ATTRin(struct rivafb_info *rinfo,
++ unsigned char index)
++{
++ VGA_WR08(rinfo->riva.PCIO, 0x3c0, index);
++ return (VGA_RD08(rinfo->riva.PCIO, 0x3c1));
++}
++
++static inline void MISCout(struct rivafb_info *rinfo, unsigned char val)
++{
++ VGA_WR08(rinfo->riva.PVIO, 0x3c2, val);
++}
++
++static inline unsigned char MISCin(struct rivafb_info *rinfo)
++{
++ return (VGA_RD08(rinfo->riva.PVIO, 0x3cc));
++}
++
++
++
++/* ------------------------------------------------------------------------- *
++ *
++ * cursor stuff
++ *
++ * ------------------------------------------------------------------------- */
++
++/**
++ * riva_cursor_timer_handler - blink timer
++ * @dev_addr: pointer to rivafb_info object containing info for current riva board
++ *
++ * DESCRIPTION:
++ * Cursor blink timer.
++ */
++static void riva_cursor_timer_handler(unsigned long dev_addr)
++{
++ struct rivafb_info *rinfo = (struct rivafb_info *)dev_addr;
++
++ if (!rinfo->cursor) return;
++
++ if (!rinfo->cursor->enable) goto out;
++
++ if (rinfo->cursor->last_move_delay < 1000)
++ rinfo->cursor->last_move_delay++;
++
++ if (rinfo->cursor->vbl_cnt && --rinfo->cursor->vbl_cnt == 0) {
++ rinfo->cursor->on ^= 1;
++ if (rinfo->cursor->on)
++ *(rinfo->riva.CURSORPOS) = (rinfo->cursor->pos.x & 0xFFFF)
++ | (rinfo->cursor->pos.y << 16);
++ rinfo->riva.ShowHideCursor(&rinfo->riva, rinfo->cursor->on);
++ if (!noblink)
++ rinfo->cursor->vbl_cnt = rinfo->cursor->blink_rate;
++ }
++out:
++ rinfo->cursor->timer->expires = jiffies + (HZ / 100);
++ add_timer(rinfo->cursor->timer);
++}
++
++/**
++ * rivafb_init_cursor - allocates cursor structure and starts blink timer
++ * @rinfo: pointer to rivafb_info object containing info for current riva board
++ *
++ * DESCRIPTION:
++ * Allocates cursor structure and starts blink timer.
++ *
++ * RETURNS:
++ * Pointer to allocated cursor structure.
++ *
++ * CALLED FROM:
++ * rivafb_init_one()
++ */
++static struct riva_cursor * __init rivafb_init_cursor(struct rivafb_info *rinfo)
++{
++ struct riva_cursor *cursor;
++
++ cursor = kmalloc(sizeof(struct riva_cursor), GFP_KERNEL);
++ if (!cursor) return 0;
++ memset(cursor, 0, sizeof(*cursor));
++
++ cursor->timer = kmalloc(sizeof(*cursor->timer), GFP_KERNEL);
++ if (!cursor->timer) {
++ kfree(cursor);
++ return 0;
++ }
++ memset(cursor->timer, 0, sizeof(*cursor->timer));
++
++ cursor->blink_rate = DEFAULT_CURSOR_BLINK_RATE;
++
++ init_timer(cursor->timer);
++ cursor->timer->expires = jiffies + (HZ / 100);
++ cursor->timer->data = (unsigned long)rinfo;
++ cursor->timer->function = riva_cursor_timer_handler;
++ add_timer(cursor->timer);
++
++ return cursor;
++}
++
++/**
++ * rivafb_exit_cursor - stops blink timer and releases cursor structure
++ * @rinfo: pointer to rivafb_info object containing info for current riva board
++ *
++ * DESCRIPTION:
++ * Stops blink timer and releases cursor structure.
++ *
++ * CALLED FROM:
++ * rivafb_init_one()
++ * rivafb_remove_one()
++ */
++static void rivafb_exit_cursor(struct rivafb_info *rinfo)
++{
++ struct riva_cursor *cursor = rinfo->cursor;
++
++ if (cursor) {
++ if (cursor->timer) {
++ del_timer_sync(cursor->timer);
++ kfree(cursor->timer);
++ }
++ kfree(cursor);
++ rinfo->cursor = 0;
++ }
++}
++
++/**
++ * rivafb_download_cursor - writes cursor shape into card registers
++ * @rinfo: pointer to rivafb_info object containing info for current riva board
++ *
++ * DESCRIPTION:
++ * Writes cursor shape into card registers.
++ *
++ * CALLED FROM:
++ * riva_load_video_mode()
++ */
++static void rivafb_download_cursor(struct rivafb_info *rinfo)
++{
++ int i, save;
++ int *image;
++
++ if (!rinfo->cursor) return;
++
++ image = (int *)rinfo->cursor->image;
++ save = rinfo->riva.ShowHideCursor(&rinfo->riva, 0);
++ for (i = 0; i < (MAX_CURS*MAX_CURS*2)/sizeof(int); i++)
++ writel(image[i], rinfo->riva.CURSOR + i);
++
++ rinfo->riva.ShowHideCursor(&rinfo->riva, save);
++}
++
++/**
++ * rivafb_create_cursor - sets rectangular cursor
++ * @rinfo: pointer to rivafb_info object containing info for current riva board
++ * @width: cursor width in pixels
++ * @height: cursor height in pixels
++ *
++ * DESCRIPTION:
++ * Sets rectangular cursor.
++ *
++ * CALLED FROM:
++ * rivafb_set_font()
++ * rivafb_set_var()
++ */
++static void rivafb_create_cursor(struct rivafb_info *rinfo, int width, int height)
++{
++ struct riva_cursor *c = rinfo->cursor;
++ int i, j, idx;
++
++ if (c) {
++ if (width <= 0 || height <= 0) {
++ width = 8;
++ height = 16;
++ }
++ if (width > MAX_CURS) width = MAX_CURS;
++ if (height > MAX_CURS) height = MAX_CURS;
++
++ c->size.x = width;
++ c->size.y = height;
++
++ idx = 0;
++
++ for (i = 0; i < height; i++) {
++ for (j = 0; j < width; j++,idx++)
++ c->image[idx] = CURSOR_COLOR;
++ for (j = width; j < MAX_CURS; j++,idx++)
++ c->image[idx] = TRANSPARENT_COLOR;
++ }
++ for (i = height; i < MAX_CURS; i++)
++ for (j = 0; j < MAX_CURS; j++,idx++)
++ c->image[idx] = TRANSPARENT_COLOR;
++ }
++}
++
++/**
++ * rivafb_set_font - change font size
++ * @p: pointer to display object
++ * @width: font width in pixels
++ * @height: font height in pixels
++ *
++ * DESCRIPTION:
++ * Callback function called if font settings changed.
++ *
++ * RETURNS:
++ * 1 (Always succeeds.)
++ */
++static int rivafb_set_font(struct display *p, int width, int height)
++{
++ struct rivafb_info *fb = (struct rivafb_info *)(p->fb_info);
++
++ rivafb_create_cursor(fb, width, height);
++ return 1;
++}
++
++/**
++ * rivafb_cursor - cursor handler
++ * @p: pointer to display object
++ * @mode: cursor mode (see CM_*)
++ * @x: cursor x coordinate in characters
++ * @y: cursor y coordinate in characters
++ *
++ * DESCRIPTION:
++ * Cursor handler.
++ */
++static void rivafb_cursor(struct display *p, int mode, int x, int y)
++{
++ struct rivafb_info *rinfo = (struct rivafb_info *)(p->fb_info);
++ struct riva_cursor *c = rinfo->cursor;
++
++ if (!c) return;
++
++ x = x * fontwidth(p) - p->var.xoffset;
++ y = y * fontheight(p) - p->var.yoffset;
++
++ if (c->pos.x == x && c->pos.y == y && (mode == CM_ERASE) == !c->enable)
++ return;
++
++ c->enable = 0;
++ if (c->on) rinfo->riva.ShowHideCursor(&rinfo->riva, 0);
++
++ c->pos.x = x;
++ c->pos.y = y;
++
++ switch (mode) {
++ case CM_ERASE:
++ c->on = 0;
++ break;
++ case CM_DRAW:
++ case CM_MOVE:
++ if (c->last_move_delay <= 1) { /* rapid cursor movement */
++ c->vbl_cnt = CURSOR_SHOW_DELAY;
++ } else {
++ *(rinfo->riva.CURSORPOS) = (x & 0xFFFF) | (y << 16);
++ rinfo->riva.ShowHideCursor(&rinfo->riva, 1);
++ if (!noblink) c->vbl_cnt = CURSOR_HIDE_DELAY;
++ c->on = 1;
++ }
++ c->last_move_delay = 0;
++ c->enable = 1;
++ break;
++ }
++}
++
++
++
++/* ------------------------------------------------------------------------- *
++ *
++ * general utility functions
++ *
++ * ------------------------------------------------------------------------- */
++
++/**
++ * riva_set_dispsw - sets dispsw
++ * @rinfo: pointer to internal driver struct for a given Riva card
++ * @disp: pointer to display object
++ *
++ * DESCRIPTION:
++ * Sets up console low level operations depending on the current? color depth
++ * of the display.
++ *
++ * CALLED FROM:
++ * rivafb_set_var()
++ * rivafb_switch()
++ * riva_init_disp()
++ */
++static void riva_set_dispsw(struct rivafb_info *rinfo, struct display *disp)
++{
++ int accel = disp->var.accel_flags & FB_ACCELF_TEXT;
++
++ DPRINTK("ENTER\n");
++
++ assert(rinfo != NULL);
++
++ disp->dispsw_data = NULL;
++
++ disp->screen_base = rinfo->fb_base;
++ disp->type = FB_TYPE_PACKED_PIXELS;
++ disp->type_aux = 0;
++ disp->ypanstep = 1;
++ disp->ywrapstep = 0;
++ disp->can_soft_blank = 1;
++ disp->inverse = 0;
++
++ switch (disp->var.bits_per_pixel) {
++#ifdef FBCON_HAS_CFB8
++ case 8:
++ rinfo->dispsw = accel ? fbcon_riva8 : fbcon_cfb8;
++ disp->dispsw = &rinfo->dispsw;
++ disp->line_length = disp->var.xres_virtual;
++ disp->visual = FB_VISUAL_PSEUDOCOLOR;
++ break;
++#endif
++#ifdef FBCON_HAS_CFB16
++ case 16:
++ rinfo->dispsw = accel ? fbcon_riva16 : fbcon_cfb16;
++ disp->dispsw_data = &rinfo->con_cmap.cfb16;
++ disp->dispsw = &rinfo->dispsw;
++ disp->line_length = disp->var.xres_virtual * 2;
++ disp->visual = FB_VISUAL_DIRECTCOLOR;
++ break;
++#endif
++#ifdef FBCON_HAS_CFB32
++ case 32:
++ rinfo->dispsw = accel ? fbcon_riva32 : fbcon_cfb32;
++ disp->dispsw_data = rinfo->con_cmap.cfb32;
++ disp->dispsw = &rinfo->dispsw;
++ disp->line_length = disp->var.xres_virtual * 4;
++ disp->visual = FB_VISUAL_DIRECTCOLOR;
++ break;
++#endif
++ default:
++ DPRINTK("Setting fbcon_dummy renderer\n");
++ rinfo->dispsw = fbcon_dummy;
++ disp->dispsw = &rinfo->dispsw;
++ }
++
++ /* FIXME: verify that the above code sets dsp->* fields correctly */
++
++ if (rinfo->cursor) {
++ rinfo->dispsw.cursor = rivafb_cursor;
++ rinfo->dispsw.set_font = rivafb_set_font;
++ }
++
++ DPRINTK("EXIT\n");
++}
++
++/**
++ * riva_wclut - set CLUT entry
++ * @chip: pointer to RIVA_HW_INST object
++ * @regnum: register number
++ * @red: red component
++ * @green: green component
++ * @blue: blue component
++ *
++ * DESCRIPTION:
++ * Sets color register @regnum.
++ *
++ * CALLED FROM:
++ * riva_setcolreg()
++ */
++static void riva_wclut(RIVA_HW_INST *chip,
++ unsigned char regnum, unsigned char red,
++ unsigned char green, unsigned char blue)
++{
++ VGA_WR08(chip->PDIO, 0x3c8, regnum);
++ VGA_WR08(chip->PDIO, 0x3c9, red);
++ VGA_WR08(chip->PDIO, 0x3c9, green);
++ VGA_WR08(chip->PDIO, 0x3c9, blue);
++}
++
++/**
++ * riva_save_state - saves current chip state
++ * @rinfo: pointer to rivafb_info object containing info for current riva board
++ * @regs: pointer to riva_regs object
++ *
++ * DESCRIPTION:
++ * Saves current chip state to @regs.
++ *
++ * CALLED FROM:
++ * rivafb_init_one()
++ */
++/* from GGI */
++static void riva_save_state(struct rivafb_info *rinfo, struct riva_regs *regs)
++{
++ int i;
++
++ rinfo->riva.LockUnlock(&rinfo->riva, 0);
++
++ rinfo->riva.UnloadStateExt(&rinfo->riva, ®s->ext);
++
++ regs->misc_output = MISCin(rinfo);
++
++ for (i = 0; i < NUM_CRT_REGS; i++) {
++ regs->crtc[i] = CRTCin(rinfo, i);
++ }
++
++ for (i = 0; i < NUM_ATC_REGS; i++) {
++ regs->attr[i] = ATTRin(rinfo, i);
++ }
++
++ for (i = 0; i < NUM_GRC_REGS; i++) {
++ regs->gra[i] = GRAin(rinfo, i);
++ }
++
++ for (i = 0; i < NUM_SEQ_REGS; i++) {
++ regs->seq[i] = SEQin(rinfo, i);
++ }
++}
++
++/**
++ * riva_load_state - loads current chip state
++ * @rinfo: pointer to rivafb_info object containing info for current riva board
++ * @regs: pointer to riva_regs object
++ *
++ * DESCRIPTION:
++ * Loads chip state from @regs.
++ *
++ * CALLED FROM:
++ * riva_load_video_mode()
++ * rivafb_init_one()
++ * rivafb_remove_one()
++ */
++/* from GGI */
++static void riva_load_state(struct rivafb_info *rinfo, struct riva_regs *regs)
++{
++ int i;
++ RIVA_HW_STATE *state = ®s->ext;
++
++ CRTCout(rinfo, 0x11, 0x00);
++
++ rinfo->riva.LockUnlock(&rinfo->riva, 0);
++
++ rinfo->riva.LoadStateExt(&rinfo->riva, state);
++
++ MISCout(rinfo, regs->misc_output);
++
++ for (i = 0; i < NUM_CRT_REGS; i++) {
++ switch (i) {
++ case 0x19:
++ case 0x20 ... 0x40:
++ break;
++ default:
++ CRTCout(rinfo, i, regs->crtc[i]);
++ }
++ }
++
++ for (i = 0; i < NUM_ATC_REGS; i++) {
++ ATTRout(rinfo, i, regs->attr[i]);
++ }
++
++ for (i = 0; i < NUM_GRC_REGS; i++) {
++ GRAout(rinfo, i, regs->gra[i]);
++ }
++
++ for (i = 0; i < NUM_SEQ_REGS; i++) {
++ SEQout(rinfo, i, regs->seq[i]);
++ }
++}
++
++/**
++ * riva_load_video_mode - calculate timings
++ * @rinfo: pointer to rivafb_info object containing info for current riva board
++ * @video_mode: video mode to set
++ *
++ * DESCRIPTION:
++ * Calculate some timings and then send em off to riva_load_state().
++ *
++ * CALLED FROM:
++ * rivafb_set_var()
++ */
++static void riva_load_video_mode(struct rivafb_info *rinfo,
++ struct fb_var_screeninfo *video_mode)
++{
++ struct riva_regs newmode;
++ int bpp, width, hDisplaySize, hDisplay, hStart,
++ hEnd, hTotal, height, vDisplay, vStart, vEnd, vTotal, dotClock;
++ int hBlankStart, hBlankEnd, vBlankStart, vBlankEnd;
++
++ /* time to calculate */
++
++ rivafb_blank(1, (struct fb_info *)rinfo);
++
++ bpp = video_mode->bits_per_pixel;
++ if (bpp == 16 && video_mode->green.length == 5)
++ bpp = 15;
++ width = video_mode->xres_virtual;
++ hDisplaySize = video_mode->xres;
++ hDisplay = (hDisplaySize / 8) - 1;
++ hStart = (hDisplaySize + video_mode->right_margin) / 8 + 2;
++ hEnd = (hDisplaySize + video_mode->right_margin +
++ video_mode->hsync_len) / 8 - 1;
++ hTotal = (hDisplaySize + video_mode->right_margin +
++ video_mode->hsync_len + video_mode->left_margin) / 8 - 1;
++ hBlankStart = hDisplay;
++ hBlankEnd = hTotal;
++ height = video_mode->yres_virtual;
++ vDisplay = video_mode->yres - 1;
++ vStart = video_mode->yres + video_mode->lower_margin - 1;
++ vEnd = video_mode->yres + video_mode->lower_margin +
++ video_mode->vsync_len - 1;
++ vTotal = video_mode->yres + video_mode->lower_margin +
++ video_mode->vsync_len + video_mode->upper_margin + 2;
++ vBlankStart = vDisplay;
++ vBlankEnd = vTotal;
++ dotClock = 1000000000 / video_mode->pixclock;
++
++ memcpy(&newmode, ®_template, sizeof(struct riva_regs));
++
++ newmode.ext.screen = SetBitField(hBlankEnd,6:6,4:4)
++ | SetBitField(vBlankStart,10:10,3:3)
++ | SetBitField(vStart,10:10,2:2)
++ | SetBitField(vDisplay,10:10,1:1)
++ | SetBitField(vTotal,10:10,0:0);
++
++ newmode.ext.horiz = SetBitField(hTotal,8:8,0:0)
++ | SetBitField(hDisplay,8:8,1:1)
++ | SetBitField(hBlankStart,8:8,2:2)
++ | SetBitField(hStart,8:8,3:3);
++
++ newmode.ext.extra = SetBitField(vTotal,11:11,0:0)
++ | SetBitField(vDisplay,11:11,2:2)
++ | SetBitField(vStart,11:11,4:4)
++ | SetBitField(vBlankStart,11:11,6:6);
++
++ if (rinfo->riva.flatPanel) {
++ vStart = vTotal - 3;
++ vEnd = vTotal - 2;
++ vBlankStart = vStart;
++ hStart = hTotal - 3;
++ hEnd = hTotal - 2;
++ hBlankEnd = hTotal + 4;
++ }
++
++ newmode.crtc[0x0] = Set8Bits (hTotal - 4);
++ newmode.crtc[0x1] = Set8Bits (hDisplay);
++ newmode.crtc[0x2] = Set8Bits (hBlankStart);
++ newmode.crtc[0x3] = SetBitField(hBlankEnd,4:0,4:0)
++ | SetBit(7);
++ newmode.crtc[0x4] = Set8Bits (hStart);
++ newmode.crtc[0x5] = SetBitField (hBlankEnd, 5: 5, 7:7)
++ | SetBitField (hEnd, 4: 0, 4:0);
++ newmode.crtc[0x6] = SetBitField (vTotal, 7: 0, 7:0);
++ newmode.crtc[0x7] = SetBitField (vTotal, 8: 8, 0:0)
++ | SetBitField (vDisplay, 8: 8, 1:1)
++ | SetBitField (vStart, 8: 8, 2:2)
++ | SetBitField (vBlankStart, 8: 8, 3:3)
++ | SetBit (4)
++ | SetBitField (vTotal, 9: 9, 5:5)
++ | SetBitField (vDisplay, 9: 9, 6:6)
++ | SetBitField (vStart, 9: 9, 7:7);
++ newmode.crtc[0x9] = SetBitField (vBlankStart, 9: 9, 5:5)
++ | SetBit (6);
++ newmode.crtc[0x10] = Set8Bits (vStart);
++ newmode.crtc[0x11] = SetBitField (vEnd, 3: 0, 3:0)
++ | SetBit (5);
++ newmode.crtc[0x12] = Set8Bits (vDisplay);
++ newmode.crtc[0x13] = ((width / 8) * ((bpp + 1) / 8)) & 0xFF;
++ newmode.crtc[0x15] = Set8Bits (vBlankStart);
++ newmode.crtc[0x16] = Set8Bits (vBlankEnd + 1);
++
++ newmode.ext.bpp = bpp;
++ newmode.ext.width = width;
++ newmode.ext.height = height;
++
++ rinfo->riva.CalcStateExt(&rinfo->riva, &newmode.ext, bpp, width,
++ hDisplaySize, hDisplay, hStart, hEnd,
++ hTotal, height, vDisplay, vStart, vEnd,
++ vTotal, dotClock);
++
++ newmode.ext.scale = rinfo->riva.PRAMDAC[0x00000848/4] & 0xfff000ff;
++
++ if (rinfo->riva.flatPanel) {
++ newmode.ext.pixel |= (1 << 7);
++ newmode.ext.scale |= (1 << 8);
++ }
++
++ newmode.ext.vpll2 = rinfo->riva.PRAMDAC[0x00000520/4];
++
++#if defined(__powerpc__)
++ /*
++ * XXX only Mac cards use second DAC for flat panel
++ */
++ if (rinfo->riva.flatPanel) {
++ newmode.ext.pllsel |= 0x20000800;
++ newmode.ext.vpll2 = newmode.ext.vpll;
++ }
++#endif
++ rinfo->current_state = newmode;
++ riva_load_state(rinfo, &rinfo->current_state);
++
++ rinfo->riva.LockUnlock(&rinfo->riva, 0); /* important for HW cursor */
++ rivafb_download_cursor(rinfo);
++
++ rivafb_blank(0, (struct fb_info *)rinfo);
++}
++
++/**
++ * riva_board_list_add - maintains board list
++ * @board_list: root node of list of boards
++ * @new_node: new node to be added
++ *
++ * DESCRIPTION:
++ * Adds @new_node to the list referenced by @board_list.
++ *
++ * RETURNS:
++ * New root node
++ *
++ * CALLED FROM:
++ * rivafb_init_one()
++ */
++static struct rivafb_info *riva_board_list_add(struct rivafb_info *board_list,
++ struct rivafb_info *new_node)
++{
++ struct rivafb_info *i_p = board_list;
++
++ new_node->next = NULL;
++
++ if (board_list == NULL)
++ return new_node;
++
++ while (i_p->next != NULL)
++ i_p = i_p->next;
++ i_p->next = new_node;
++
++ return board_list;
++}
++
++/**
++ * riva_board_list_del - maintains board list
++ * @board_list: root node of list of boards
++ * @del_node: node to be removed
++ *
++ * DESCRIPTION:
++ * Removes @del_node from the list referenced by @board_list.
++ *
++ * RETURNS:
++ * New root node
++ *
++ * CALLED FROM:
++ * rivafb_remove_one()
++ */
++static struct rivafb_info *riva_board_list_del(struct rivafb_info *board_list,
++ struct rivafb_info *del_node)
++{
++ struct rivafb_info *i_p = board_list;
++
++ if (board_list == del_node)
++ return del_node->next;
++
++ while (i_p->next != del_node)
++ i_p = i_p->next;
++ i_p->next = del_node->next;
++
++ return board_list;
++}
++
++/**
++ * rivafb_do_maximize -
++ * @rinfo: pointer to rivafb_info object containing info for current riva board
++ * @var:
++ * @v:
++ * @nom:
++ * @den:
++ *
++ * DESCRIPTION:
++ * .
++ *
++ * RETURNS:
++ * -EINVAL on failure, 0 on success
++ *
++ *
++ * CALLED FROM:
++ * rivafb_set_var()
++ */
++static int rivafb_do_maximize(struct rivafb_info *rinfo,
++ struct fb_var_screeninfo *var,
++ struct fb_var_screeninfo *v,
++ int nom, int den)
++{
++ static struct {
++ int xres, yres;
++ } modes[] = {
++ {1600, 1280},
++ {1280, 1024},
++ {1024, 768},
++ {800, 600},
++ {640, 480},
++ {-1, -1}
++ };
++ int i;
++
++ /* use highest possible virtual resolution */
++ if (v->xres_virtual == -1 && v->yres_virtual == -1) {
++ printk(KERN_WARNING PFX
++ "using maximum available virtual resolution\n");
++ for (i = 0; modes[i].xres != -1; i++) {
++ if (modes[i].xres * nom / den * modes[i].yres <
++ rinfo->ram_amount / 2)
++ break;
++ }
++ if (modes[i].xres == -1) {
++ printk(KERN_ERR PFX
++ "could not find a virtual resolution that fits into video memory!!\n");
++ DPRINTK("EXIT - EINVAL error\n");
++ return -EINVAL;
++ }
++ v->xres_virtual = modes[i].xres;
++ v->yres_virtual = modes[i].yres;
++
++ printk(KERN_INFO PFX
++ "virtual resolution set to maximum of %dx%d\n",
++ v->xres_virtual, v->yres_virtual);
++ } else if (v->xres_virtual == -1) {
++ v->xres_virtual = (rinfo->ram_amount * den /
++ (nom * v->yres_virtual * 2)) & ~15;
++ printk(KERN_WARNING PFX
++ "setting virtual X resolution to %d\n", v->xres_virtual);
++ } else if (v->yres_virtual == -1) {
++ v->xres_virtual = (v->xres_virtual + 15) & ~15;
++ v->yres_virtual = rinfo->ram_amount * den /
++ (nom * v->xres_virtual * 2);
++ printk(KERN_WARNING PFX
++ "setting virtual Y resolution to %d\n", v->yres_virtual);
++ } else {
++ v->xres_virtual = (v->xres_virtual + 15) & ~15;
++ if (v->xres_virtual * nom / den * v->yres_virtual > rinfo->ram_amount) {
++ printk(KERN_ERR PFX
++ "mode %dx%dx%d rejected...resolution too high to fit into video memory!\n",
++ var->xres, var->yres, var->bits_per_pixel);
++ DPRINTK("EXIT - EINVAL error\n");
++ return -EINVAL;
++ }
++ }
++
++ if (v->xres_virtual * nom / den >= 8192) {
++ printk(KERN_WARNING PFX
++ "virtual X resolution (%d) is too high, lowering to %d\n",
++ v->xres_virtual, 8192 * den / nom - 16);
++ v->xres_virtual = 8192 * den / nom - 16;
++ }
++
++ if (v->xres_virtual < v->xres) {
++ printk(KERN_ERR PFX
++ "virtual X resolution (%d) is smaller than real\n", v->xres_virtual);
++ return -EINVAL;
++ }
++
++ if (v->yres_virtual < v->yres) {
++ printk(KERN_ERR PFX
++ "virtual Y resolution (%d) is smaller than real\n", v->yres_virtual);
++ return -EINVAL;
++ }
++
++ return 0;
++}
++
++
++
++/* ------------------------------------------------------------------------- *
++ *
++ * internal fb_ops helper functions
++ *
++ * ------------------------------------------------------------------------- */
++
++/**
++ * riva_get_cmap_len - query current color map length
++ * @var: standard kernel fb changeable data
++ *
++ * DESCRIPTION:
++ * Get current color map length.
++ *
++ * RETURNS:
++ * Length of color map
++ *
++ * CALLED FROM:
++ * riva_getcolreg()
++ * riva_setcolreg()
++ * rivafb_get_cmap()
++ * rivafb_set_cmap()
++ */
++static int riva_get_cmap_len(const struct fb_var_screeninfo *var)
++{
++ int rc = 16; /* reasonable default */
++
++ assert(var != NULL);
++
++ switch (var->bits_per_pixel) {
++#ifdef FBCON_HAS_CFB8
++ case 8:
++ rc = 256; /* pseudocolor... 256 entries HW palette */
++ break;
++#endif
++#ifdef FBCON_HAS_CFB16
++ case 15:
++ rc = 15; /* fix for 15 bpp depths on Riva 128 based cards */
++ break;
++ case 16:
++ rc = 16; /* directcolor... 16 entries SW palette */
++ break; /* Mystique: truecolor, 16 entries SW palette, HW palette hardwired into 1:1 mapping */
++#endif
++#ifdef FBCON_HAS_CFB32
++ case 32:
++ rc = 16; /* directcolor... 16 entries SW palette */
++ break; /* Mystique: truecolor, 16 entries SW palette, HW palette hardwired into 1:1 mapping */
++#endif
++ default:
++ /* should not occur */
++ break;
++ }
++
++ return rc;
++}
++
++/**
++ * riva_getcolreg
++ * @regno: register index
++ * @red: red component
++ * @green: green component
++ * @blue: blue component
++ * @transp: transparency
++ * @info: pointer to rivafb_info object containing info for current riva board
++ *
++ * DESCRIPTION:
++ * Read a single color register and split it into colors/transparent.
++ * The return values must have a 16 bit magnitude.
++ *
++ * RETURNS:
++ * Return != 0 for invalid regno.
++ *
++ * CALLED FROM:
++ * rivafb_get_cmap()
++ * rivafb_switch()
++ * fbcmap.c:fb_get_cmap()
++ * fbgen.c:fbgen_get_cmap()
++ * fbgen.c:fbgen_switch()
++ */
++static int riva_getcolreg(unsigned regno, unsigned *red, unsigned *green,
++ unsigned *blue, unsigned *transp,
++ struct fb_info *info)
++{
++ struct rivafb_info *rivainfo = (struct rivafb_info *)info;
++
++ if (regno >= riva_get_cmap_len(&rivainfo->currcon_display->var))
++ return 1;
++
++ *red = rivainfo->palette[regno].red;
++ *green = rivainfo->palette[regno].green;
++ *blue = rivainfo->palette[regno].blue;
++ *transp = 0;
++
++ return 0;
++}
++
++/**
++ * riva_setcolreg
++ * @regno: register index
++ * @red: red component
++ * @green: green component
++ * @blue: blue component
++ * @transp: transparency
++ * @info: pointer to rivafb_info object containing info for current riva board
++ *
++ * DESCRIPTION:
++ * Set a single color register. The values supplied have a 16 bit
++ * magnitude.
++ *
++ * RETURNS:
++ * Return != 0 for invalid regno.
++ *
++ * CALLED FROM:
++ * rivafb_set_cmap()
++ * fbcmap.c:fb_set_cmap()
++ * fbgen.c:fbgen_get_cmap()
++ * fbgen.c:fbgen_install_cmap()
++ * fbgen.c:fbgen_set_var()
++ * fbgen.c:fbgen_switch()
++ * fbgen.c:fbgen_blank()
++ * fbgen.c:fbgen_blank()
++ */
++static int riva_setcolreg(unsigned regno, unsigned red, unsigned green,
++ unsigned blue, unsigned transp,
++ struct fb_info *info)
++{
++ struct rivafb_info *rivainfo = (struct rivafb_info *)info;
++ RIVA_HW_INST *chip = &rivainfo->riva;
++ struct display *p;
++
++ DPRINTK("ENTER\n");
++
++ assert(rivainfo != NULL);
++ assert(rivainfo->currcon_display != NULL);
++
++ p = rivainfo->currcon_display;
++
++ if (regno >= riva_get_cmap_len(&p->var))
++ return -EINVAL;
++
++ rivainfo->palette[regno].red = red;
++ rivainfo->palette[regno].green = green;
++ rivainfo->palette[regno].blue = blue;
++
++ if (p->var.grayscale) {
++ /* gray = 0.30*R + 0.59*G + 0.11*B */
++ red = green = blue =
++ (red * 77 + green * 151 + blue * 28) >> 8;
++ }
++
++ switch (p->var.bits_per_pixel) {
++#ifdef FBCON_HAS_CFB8
++ case 8:
++ /* "transparent" stuff is completely ignored. */
++ riva_wclut(chip, regno, red >> 8, green >> 8, blue >> 8);
++ break;
++#endif /* FBCON_HAS_CFB8 */
++#ifdef FBCON_HAS_CFB16
++ case 16:
++ assert(regno < 16);
++ if (p->var.green.length == 5) {
++ /* 0rrrrrgg gggbbbbb */
++ rivainfo->con_cmap.cfb16[regno] =
++ ((red & 0xf800) >> 1) |
++ ((green & 0xf800) >> 6) | ((blue & 0xf800) >> 11);
++ } else {
++ /* rrrrrggg gggbbbbb */
++ rivainfo->con_cmap.cfb16[regno] =
++ ((red & 0xf800) >> 0) |
++ ((green & 0xf800) >> 5) | ((blue & 0xf800) >> 11);
++ }
++ break;
++#endif /* FBCON_HAS_CFB16 */
++#ifdef FBCON_HAS_CFB32
++ case 32:
++ assert(regno < 16);
++ rivainfo->con_cmap.cfb32[regno] =
++ ((red & 0xff00) << 8) |
++ ((green & 0xff00)) | ((blue & 0xff00) >> 8);
++ break;
++#endif /* FBCON_HAS_CFB32 */
++ default:
++ /* do nothing */
++ break;
++ }
++
++ return 0;
++}
++
++
++
++/* ------------------------------------------------------------------------- *
++ *
++ * framebuffer operations
++ *
++ * ------------------------------------------------------------------------- */
++
++static int rivafb_get_fix(struct fb_fix_screeninfo *fix, int con,
++ struct fb_info *info)
++{
++ struct rivafb_info *rivainfo = (struct rivafb_info *)info;
++ struct display *p;
++
++ DPRINTK("ENTER\n");
++
++ assert(fix != NULL);
++ assert(info != NULL);
++ assert(rivainfo->drvr_name && rivainfo->drvr_name[0]);
++ assert(rivainfo->fb_base_phys > 0);
++ assert(rivainfo->ram_amount > 0);
++
++ p = (con < 0) ? rivainfo->info.disp : &fb_display[con];
++
++ memset(fix, 0, sizeof(struct fb_fix_screeninfo));
++ sprintf(fix->id, "nVidia %s", rivainfo->drvr_name);
++
++ fix->type = p->type;
++ fix->type_aux = p->type_aux;
++ fix->visual = p->visual;
++
++ fix->xpanstep = 1;
++ fix->ypanstep = 1;
++ fix->ywrapstep = 0; /* FIXME: no ywrap for now */
++
++ fix->line_length = p->line_length;
++
++ fix->mmio_start = rivainfo->ctrl_base_phys;
++ fix->mmio_len = rivainfo->base0_region_size;
++ fix->smem_start = rivainfo->fb_base_phys;
++ fix->smem_len = rivainfo->ram_amount;
++
++ switch (rivainfo->riva.Architecture) {
++ case NV_ARCH_03:
++ fix->accel = FB_ACCEL_NV3;
++ break;
++ case NV_ARCH_04: /* riva_hw.c now doesn't distinguish between TNT & TNT2 */
++ fix->accel = FB_ACCEL_NV4;
++ break;
++ case NV_ARCH_10: /* FIXME: ID for GeForce */
++ case NV_ARCH_20:
++ fix->accel = FB_ACCEL_NV4;
++ break;
++
++ }
++
++ DPRINTK("EXIT, returning 0\n");
++
++ return 0;
++}
++
++static int rivafb_get_var(struct fb_var_screeninfo *var, int con,
++ struct fb_info *info)
++{
++ struct rivafb_info *rivainfo = (struct rivafb_info *)info;
++
++ DPRINTK("ENTER\n");
++
++ assert(info != NULL);
++ assert(var != NULL);
++
++ *var = (con < 0) ? rivainfo->disp.var : fb_display[con].var;
++
++ DPRINTK("EXIT, returning 0\n");
++
++ return 0;
++}
++
++static int rivafb_set_var(struct fb_var_screeninfo *var, int con,
++ struct fb_info *info)
++{
++ struct rivafb_info *rivainfo = (struct rivafb_info *)info;
++ struct display *dsp;
++ struct fb_var_screeninfo v;
++ int nom, den; /* translating from pixels->bytes */
++ int accel;
++ unsigned chgvar = 0;
++
++ DPRINTK("ENTER\n");
++
++ assert(info != NULL);
++ assert(var != NULL);
++
++ DPRINTK("Requested: %dx%dx%d\n", var->xres, var->yres,
++ var->bits_per_pixel);
++ DPRINTK(" virtual: %dx%d\n", var->xres_virtual,
++ var->yres_virtual);
++ DPRINTK(" offset: (%d,%d)\n", var->xoffset, var->yoffset);
++ DPRINTK("grayscale: %d\n", var->grayscale);
++
++ dsp = (con < 0) ? rivainfo->info.disp : &fb_display[con];
++ assert(dsp != NULL);
++
++ /* if var has changed, we should call changevar() later */
++ if (con >= 0) {
++ chgvar = ((dsp->var.xres != var->xres) ||
++ (dsp->var.yres != var->yres) ||
++ (dsp->var.xres_virtual != var->xres_virtual) ||
++ (dsp->var.yres_virtual != var->yres_virtual) ||
++ (dsp->var.accel_flags != var->accel_flags) ||
++ (dsp->var.bits_per_pixel != var->bits_per_pixel)
++ || memcmp(&dsp->var.red, &var->red,
++ sizeof(var->red))
++ || memcmp(&dsp->var.green, &var->green,
++ sizeof(var->green))
++ || memcmp(&dsp->var.blue, &var->blue,
++ sizeof(var->blue)));
++ }
++
++ memcpy(&v, var, sizeof(v));
++
++ accel = v.accel_flags & FB_ACCELF_TEXT;
++
++ switch (v.bits_per_pixel) {
++#ifdef FBCON_HAS_CFB8
++ case 1 ... 8:
++ v.bits_per_pixel = 8;
++ nom = 1;
++ den = 1;
++ v.red.offset = 0;
++ v.red.length = 8;
++ v.green.offset = 0;
++ v.green.length = 8;
++ v.blue.offset = 0;
++ v.blue.length = 8;
++ break;
++#endif
++#ifdef FBCON_HAS_CFB16
++ case 9 ... 15:
++ v.green.length = 5;
++ /* fall through */
++ case 16:
++ v.bits_per_pixel = 16;
++ nom = 2;
++ den = 1;
++ if (v.green.length == 5) {
++ /* 0rrrrrgg gggbbbbb */
++ v.red.offset = 10;
++ v.green.offset = 5;
++ v.blue.offset = 0;
++ v.red.length = 5;
++ v.green.length = 5;
++ v.blue.length = 5;
++ } else {
++ /* rrrrrggg gggbbbbb */
++ v.red.offset = 11;
++ v.green.offset = 5;
++ v.blue.offset = 0;
++ v.red.length = 5;
++ v.green.length = 6;
++ v.blue.length = 5;
++ }
++ break;
++#endif
++#ifdef FBCON_HAS_CFB32
++ case 17 ... 32:
++ v.bits_per_pixel = 32;
++ nom = 4;
++ den = 1;
++ v.red.offset = 16;
++ v.green.offset = 8;
++ v.blue.offset = 0;
++ v.red.length = 8;
++ v.green.length = 8;
++ v.blue.length = 8;
++ break;
++#endif
++ default:
++ printk(KERN_ERR PFX
++ "mode %dx%dx%d rejected...color depth not supported.\n",
++ var->xres, var->yres, var->bits_per_pixel);
++ DPRINTK("EXIT, returning -EINVAL\n");
++ return -EINVAL;
++ }
++
++ if (rivafb_do_maximize(rivainfo, var, &v, nom, den) < 0)
++ return -EINVAL;
++
++ if (v.xoffset < 0)
++ v.xoffset = 0;
++ if (v.yoffset < 0)
++ v.yoffset = 0;
++
++ /* truncate xoffset and yoffset to maximum if too high */
++ if (v.xoffset > v.xres_virtual - v.xres)
++ v.xoffset = v.xres_virtual - v.xres - 1;
++
++ if (v.yoffset > v.yres_virtual - v.yres)
++ v.yoffset = v.yres_virtual - v.yres - 1;
++
++ v.red.msb_right =
++ v.green.msb_right =
++ v.blue.msb_right =
++ v.transp.offset = v.transp.length = v.transp.msb_right = 0;
++
++ switch (v.activate & FB_ACTIVATE_MASK) {
++ case FB_ACTIVATE_TEST:
++ DPRINTK("EXIT - FB_ACTIVATE_TEST\n");
++ return 0;
++ case FB_ACTIVATE_NXTOPEN: /* ?? */
++ case FB_ACTIVATE_NOW:
++ break; /* continue */
++ default:
++ DPRINTK("EXIT - unknown activation type\n");
++ return -EINVAL; /* unknown */
++ }
++
++ memcpy(&dsp->var, &v, sizeof(v));
++ if (chgvar) {
++ riva_set_dispsw(rivainfo, dsp);
++
++ if (accel) {
++ if (nomove)
++ dsp->scrollmode = SCROLL_YNOMOVE;
++ else
++ dsp->scrollmode = 0;
++ } else
++ dsp->scrollmode = SCROLL_YREDRAW;
++
++ if (info && info->changevar)
++ info->changevar(con);
++ }
++
++ rivafb_create_cursor(rivainfo, fontwidth(dsp), fontheight(dsp));
++ riva_load_video_mode(rivainfo, &v);
++ if (accel) riva_setup_accel(rivainfo);
++
++ DPRINTK("EXIT, returning 0\n");
++ return 0;
++}
++
++static int rivafb_get_cmap(struct fb_cmap *cmap, int kspc, int con,
++ struct fb_info *info)
++{
++ struct rivafb_info *rivainfo = (struct rivafb_info *)info;
++ struct display *dsp;
++
++ DPRINTK("ENTER\n");
++
++ assert(rivainfo != NULL);
++ assert(cmap != NULL);
++
++ dsp = (con < 0) ? rivainfo->info.disp : &fb_display[con];
++
++ if (con == rivainfo->currcon) { /* current console? */
++ int rc = fb_get_cmap(cmap, kspc, riva_getcolreg, info);
++ DPRINTK("EXIT - returning %d\n", rc);
++ return rc;
++ } else if (dsp->cmap.len) /* non default colormap? */
++ fb_copy_cmap(&dsp->cmap, cmap, kspc ? 0 : 2);
++ else
++ fb_copy_cmap(fb_default_cmap
++ (riva_get_cmap_len(&dsp->var)), cmap,
++ kspc ? 0 : 2);
++
++ DPRINTK("EXIT, returning 0\n");
++
++ return 0;
++}
++
++static int rivafb_set_cmap(struct fb_cmap *cmap, int kspc, int con,
++ struct fb_info *info)
++{
++ struct rivafb_info *rivainfo = (struct rivafb_info *)info;
++ struct display *dsp;
++ unsigned int cmap_len;
++
++ DPRINTK("ENTER\n");
++
++ assert(rivainfo != NULL);
++ assert(cmap != NULL);
++
++ dsp = (con < 0) ? rivainfo->info.disp : &fb_display[con];
++
++ cmap_len = riva_get_cmap_len(&dsp->var);
++ if (dsp->cmap.len != cmap_len) {
++ int err = fb_alloc_cmap(&dsp->cmap, cmap_len, 0);
++ if (err) {
++ DPRINTK("EXIT - returning %d\n", err);
++ return err;
++ }
++ }
++ if (con == rivainfo->currcon) { /* current console? */
++ int rc = fb_set_cmap(cmap, kspc, riva_setcolreg, info);
++ DPRINTK("EXIT - returning %d\n", rc);
++ return rc;
++ } else
++ fb_copy_cmap(cmap, &dsp->cmap, kspc ? 0 : 1);
++
++ DPRINTK("EXIT, returning 0\n");
++
++ return 0;
++}
++
++/**
++ * rivafb_pan_display
++ * @var: standard kernel fb changeable data
++ * @con: TODO
++ * @info: pointer to rivafb_info object containing info for current riva board
++ *
++ * DESCRIPTION:
++ * Pan (or wrap, depending on the `vmode' field) the display using the
++ * `xoffset' and `yoffset' fields of the `var' structure.
++ * If the values don't fit, return -EINVAL.
++ *
++ * This call looks only at xoffset, yoffset and the FB_VMODE_YWRAP flag
++ */
++static int rivafb_pan_display(struct fb_var_screeninfo *var, int con,
++ struct fb_info *info)
++{
++ unsigned int base;
++ struct display *dsp;
++ struct rivafb_info *rivainfo = (struct rivafb_info *)info;
++
++ DPRINTK("ENTER\n");
++
++ assert(rivainfo != NULL);
++
++ if (var->xoffset > (var->xres_virtual - var->xres))
++ return -EINVAL;
++ if (var->yoffset > (var->yres_virtual - var->yres))
++ return -EINVAL;
++
++ dsp = (con < 0) ? rivainfo->info.disp : &fb_display[con];
++
++ if (var->vmode & FB_VMODE_YWRAP) {
++ if (var->yoffset < 0
++ || var->yoffset >= dsp->var.yres_virtual
++ || var->xoffset) return -EINVAL;
++ } else {
++ if (var->xoffset + dsp->var.xres > dsp->var.xres_virtual ||
++ var->yoffset + dsp->var.yres > dsp->var.yres_virtual)
++ return -EINVAL;
++ }
++
++ base = var->yoffset * dsp->line_length + var->xoffset;
++
++ if (con == rivainfo->currcon) {
++ rivainfo->riva.SetStartAddress(&rivainfo->riva, base);
++ }
++
++ dsp->var.xoffset = var->xoffset;
++ dsp->var.yoffset = var->yoffset;
++
++ if (var->vmode & FB_VMODE_YWRAP)
++ dsp->var.vmode |= FB_VMODE_YWRAP;
++ else
++ dsp->var.vmode &= ~FB_VMODE_YWRAP;
++
++ DPRINTK("EXIT, returning 0\n");
++
++ return 0;
++}
++
++static int rivafb_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
++ unsigned long arg, int con, struct fb_info *info)
++{
++ struct rivafb_info *rivainfo = (struct rivafb_info *)info;
++
++ DPRINTK("ENTER\n");
++
++ assert(rivainfo != NULL);
++
++ /* no rivafb-specific ioctls */
++
++ DPRINTK("EXIT, returning -EINVAL\n");
++
++ return -EINVAL;
++}
++
++static int rivafb_rasterimg(struct fb_info *info, int start)
++{
++ struct rivafb_info *rinfo = (struct rivafb_info *)info;
++
++ wait_for_idle(rinfo);
++
++ return 0;
++}
++
++static int rivafb_switch(int con, struct fb_info *info)
++{
++ struct rivafb_info *rivainfo = (struct rivafb_info *)info;
++ struct fb_cmap *cmap;
++ struct display *dsp;
++
++ DPRINTK("ENTER\n");
++
++ assert(rivainfo != NULL);
++
++ dsp = (con < 0) ? rivainfo->info.disp : &fb_display[con];
++
++ if (rivainfo->currcon >= 0) {
++ /* Do we have to save the colormap? */
++ cmap = &(rivainfo->currcon_display->cmap);
++ DPRINTK("switch1: con = %d, cmap.len = %d\n",
++ rivainfo->currcon, cmap->len);
++
++ if (cmap->len) {
++ DPRINTK("switch1a: %p %p %p %p\n", cmap->red,
++ cmap->green, cmap->blue, cmap->transp);
++ fb_get_cmap(cmap, 1, riva_getcolreg, info);
++ }
++ }
++ rivainfo->currcon = con;
++ rivainfo->currcon_display = dsp;
++
++ rivafb_set_var(&dsp->var, con, info);
++ riva_set_dispsw(rivainfo, dsp);
++
++ DPRINTK("EXIT, returning 0\n");
++ return 0;
++}
++
++static int rivafb_updatevar(int con, struct fb_info *info)
++{
++ int rc;
++
++ DPRINTK("ENTER\n");
++
++ rc = (con < 0) ? -EINVAL : rivafb_pan_display(&fb_display[con].var,
++ con, info);
++ DPRINTK("EXIT, returning %d\n", rc);
++ return rc;
++}
++
++static void rivafb_blank(int blank, struct fb_info *info)
++{
++ unsigned char tmp, vesa;
++ struct rivafb_info *rinfo = (struct rivafb_info *)info;
++
++ DPRINTK("ENTER\n");
++
++ assert(rinfo != NULL);
++
++ tmp = SEQin(rinfo, 0x01) & ~0x20; /* screen on/off */
++ vesa = CRTCin(rinfo, 0x1a) & ~0xc0; /* sync on/off */
++
++ if (blank) {
++ tmp |= 0x20;
++ switch (blank - 1) {
++ case VESA_NO_BLANKING:
++ break;
++ case VESA_VSYNC_SUSPEND:
++ vesa |= 0x80;
++ break;
++ case VESA_HSYNC_SUSPEND:
++ vesa |= 0x40;
++ break;
++ case VESA_POWERDOWN:
++ vesa |= 0xc0;
++ break;
++ }
++ }
++
++ SEQout(rinfo, 0x01, tmp);
++ CRTCout(rinfo, 0x1a, vesa);
++
++ DPRINTK("EXIT\n");
++}
++
++
++
++/* ------------------------------------------------------------------------- *
++ *
++ * initialization helper functions
++ *
++ * ------------------------------------------------------------------------- */
++
++/* kernel interface */
++static struct fb_ops riva_fb_ops = {
++ owner: THIS_MODULE,
++ fb_get_fix: rivafb_get_fix,
++ fb_get_var: rivafb_get_var,
++ fb_set_var: rivafb_set_var,
++ fb_get_cmap: rivafb_get_cmap,
++ fb_set_cmap: rivafb_set_cmap,
++ fb_pan_display: rivafb_pan_display,
++ fb_ioctl: rivafb_ioctl,
++ fb_rasterimg: rivafb_rasterimg,
++};
++
++static int __devinit riva_init_disp_var(struct rivafb_info *rinfo)
++{
++#ifndef MODULE
++ if (mode_option)
++ fb_find_mode(&rinfo->disp.var, &rinfo->info, mode_option,
++ NULL, 0, NULL, 8);
++#endif
++ if (rinfo->use_default_var)
++ /* We will use the modified default var */
++ rinfo->disp.var = rivafb_default_var;
++
++ return 0;
++}
++
++static int __devinit riva_init_disp(struct rivafb_info *rinfo)
++{
++ struct fb_info *info;
++ struct display *disp;
++
++ DPRINTK("ENTER\n");
++
++ assert(rinfo != NULL);
++
++ info = &rinfo->info;
++ disp = &rinfo->disp;
++
++ disp->var = rivafb_default_var;
++
++ if (noaccel)
++ disp->var.accel_flags &= ~FB_ACCELF_TEXT;
++ else
++ disp->var.accel_flags |= FB_ACCELF_TEXT;
++
++ info->disp = disp;
++
++ /* FIXME: assure that disp->cmap is completely filled out */
++
++ rinfo->currcon_display = disp;
++
++ if ((riva_init_disp_var(rinfo)) < 0) {
++ DPRINTK("EXIT, returning -1\n");
++ return -1;
++ }
++
++ riva_set_dispsw(rinfo, disp);
++
++ DPRINTK("EXIT, returning 0\n");
++ return 0;
++
++}
++
++static int __devinit riva_set_fbinfo(struct rivafb_info *rinfo)
++{
++ struct fb_info *info;
++
++ assert(rinfo != NULL);
++
++ info = &rinfo->info;
++
++ strcpy(info->modename, rinfo->drvr_name);
++ info->node = -1;
++ info->flags = FBINFO_FLAG_DEFAULT;
++ info->fbops = &riva_fb_ops;
++
++ /* FIXME: set monspecs to what??? */
++
++ info->display_fg = NULL;
++ strncpy(info->fontname, fontname, sizeof(info->fontname));
++ info->fontname[sizeof(info->fontname) - 1] = 0;
++
++ info->changevar = NULL;
++ info->switch_con = rivafb_switch;
++ info->updatevar = rivafb_updatevar;
++ info->blank = rivafb_blank;
++
++ if (riva_init_disp(rinfo) < 0) /* must be done last */
++ return -1;
++
++ return 0;
++}
++
++#ifdef CONFIG_ALL_PPC
++static int riva_get_EDID_OF(struct rivafb_info *rinfo)
++{
++ struct device_node *dp;
++ unsigned char *pedid = NULL;
++
++ dp = pci_device_to_OF_node(rinfo->pd);
++ pedid = (unsigned char *)get_property(dp, "EDID,B", 0);
++
++ if (pedid) {
++ rinfo->EDID = pedid;
++ return 1;
++ } else
++ return 0;
++}
++#endif /* CONFIG_ALL_PPC */
++
++static int riva_dfp_parse_EDID(struct rivafb_info *rinfo)
++{
++ unsigned char *block = rinfo->EDID;
++
++ if (!block)
++ return 0;
++
++ /* jump to detailed timing block section */
++ block += 54;
++
++ rinfo->clock = (block[0] + (block[1] << 8));
++ rinfo->panel_xres = (block[2] + ((block[4] & 0xf0) << 4));
++ rinfo->hblank = (block[3] + ((block[4] & 0x0f) << 8));
++ rinfo->panel_yres = (block[5] + ((block[7] & 0xf0) << 4));
++ rinfo->vblank = (block[6] + ((block[7] & 0x0f) << 8));
++ rinfo->hOver_plus = (block[8] + ((block[11] & 0xc0) << 2));
++ rinfo->hSync_width = (block[9] + ((block[11] & 0x30) << 4));
++ rinfo->vOver_plus = ((block[10] >> 4) + ((block[11] & 0x0c) << 2));
++ rinfo->vSync_width = ((block[10] & 0x0f) + ((block[11] & 0x03) << 4));
++ rinfo->interlaced = ((block[17] & 0x80) >> 7);
++ rinfo->synct = ((block[17] & 0x18) >> 3);
++ rinfo->misc = ((block[17] & 0x06) >> 1);
++ rinfo->hAct_high = rinfo->vAct_high = 0;
++ if (rinfo->synct == 3) {
++ if (rinfo->misc & 2)
++ rinfo->hAct_high = 1;
++ if (rinfo->misc & 1)
++ rinfo->vAct_high = 1;
++ }
++
++ printk("rivafb: detected DFP panel size from EDID: %dx%d\n",
++ rinfo->panel_xres, rinfo->panel_yres);
++
++ rinfo->got_dfpinfo = 1;
++
++ return 1;
++}
++
++static void riva_update_default_var(struct rivafb_info *rinfo)
++{
++ struct fb_var_screeninfo *var = &rivafb_default_var;
++
++ var->xres = rinfo->panel_xres;
++ var->yres = rinfo->panel_yres;
++ var->xres_virtual = rinfo->panel_xres;
++ var->yres_virtual = rinfo->panel_yres;
++ var->xoffset = var->yoffset = 0;
++ var->bits_per_pixel = 8;
++ var->pixclock = 100000000 / rinfo->clock;
++ var->left_margin = (rinfo->hblank - rinfo->hOver_plus - rinfo->hSync_width);
++ var->right_margin = rinfo->hOver_plus;
++ var->upper_margin = (rinfo->vblank - rinfo->vOver_plus - rinfo->vSync_width);
++ var->lower_margin = rinfo->vOver_plus;
++ var->hsync_len = rinfo->hSync_width;
++ var->vsync_len = rinfo->vSync_width;
++ var->sync = 0;
++
++ if (rinfo->synct == 3) {
++ if (rinfo->hAct_high)
++ var->sync |= FB_SYNC_HOR_HIGH_ACT;
++ if (rinfo->vAct_high)
++ var->sync |= FB_SYNC_VERT_HIGH_ACT;
++ }
++
++ var->vmode = 0;
++ if (rinfo->interlaced)
++ var->vmode |= FB_VMODE_INTERLACED;
++
++ if (!noaccel)
++ var->accel_flags |= FB_ACCELF_TEXT;
++
++ rinfo->use_default_var = 1;
++}
++
++
++static void riva_get_EDID(struct rivafb_info *rinfo)
++{
++#ifdef CONFIG_ALL_PPC
++ if (!riva_get_EDID_OF(rinfo))
++ printk("rivafb: could not retrieve EDID from OF\n");
++#else
++ /* XXX use other methods later */
++#endif
++}
++
++
++static void riva_get_dfpinfo(struct rivafb_info *rinfo)
++{
++ if (riva_dfp_parse_EDID(rinfo))
++ riva_update_default_var(rinfo);
++
++ rinfo->riva.flatPanel = rinfo->got_dfpinfo;
++}
++
++
++
++/* ------------------------------------------------------------------------- *
++ *
++ * PCI bus
++ *
++ * ------------------------------------------------------------------------- */
++
++static int __devinit rivafb_init_one(struct pci_dev *pd,
++ const struct pci_device_id *ent)
++{
++ struct rivafb_info *rinfo;
++ struct riva_chip_info *rci = &riva_chip_info[ent->driver_data];
++
++ assert(pd != NULL);
++ assert(rci != NULL);
++
++ rinfo = kmalloc(sizeof(struct rivafb_info), GFP_KERNEL);
++ if (!rinfo)
++ goto err_out;
++
++ memset(rinfo, 0, sizeof(struct rivafb_info));
++
++ rinfo->drvr_name = rci->name;
++ rinfo->riva.Architecture = rci->arch_rev;
++
++ rinfo->pd = pd;
++ rinfo->base0_region_size = pci_resource_len(pd, 0);
++ rinfo->base1_region_size = pci_resource_len(pd, 1);
++
++ {
++ /* enable IO and mem if not already done */
++ unsigned short cmd;
++
++ pci_read_config_word(pd, PCI_COMMAND, &cmd);
++ cmd |= (PCI_COMMAND_IO | PCI_COMMAND_MEMORY);
++ pci_write_config_word(pd, PCI_COMMAND, cmd);
++ }
++
++ rinfo->ctrl_base_phys = pci_resource_start(rinfo->pd, 0);
++ rinfo->fb_base_phys = pci_resource_start(rinfo->pd, 1);
++
++ rinfo->ctrl_base = ioremap(rinfo->ctrl_base_phys,
++ rinfo->base0_region_size);
++ if (!rinfo->ctrl_base) {
++ printk(KERN_ERR PFX "cannot ioremap MMIO base\n");
++ goto err_out_free_base1;
++ }
++
++ riva_get_EDID(rinfo);
++
++ riva_get_dfpinfo(rinfo);
++
++ rinfo->riva.EnableIRQ = 0;
++ rinfo->riva.PRAMDAC = (unsigned *)(rinfo->ctrl_base + 0x00680000);
++ rinfo->riva.PFB = (unsigned *)(rinfo->ctrl_base + 0x00100000);
++ rinfo->riva.PFIFO = (unsigned *)(rinfo->ctrl_base + 0x00002000);
++ rinfo->riva.PGRAPH = (unsigned *)(rinfo->ctrl_base + 0x00400000);
++ rinfo->riva.PEXTDEV = (unsigned *)(rinfo->ctrl_base + 0x00101000);
++ rinfo->riva.PTIMER = (unsigned *)(rinfo->ctrl_base + 0x00009000);
++ rinfo->riva.PMC = (unsigned *)(rinfo->ctrl_base + 0x00000000);
++ rinfo->riva.FIFO = (unsigned *)(rinfo->ctrl_base + 0x00800000);
++
++ rinfo->riva.PCIO = (U008 *)(rinfo->ctrl_base + 0x00601000);
++ rinfo->riva.PDIO = (U008 *)(rinfo->ctrl_base + 0x00681000);
++ rinfo->riva.PVIO = (U008 *)(rinfo->ctrl_base + 0x000C0000);
++
++ rinfo->riva.IO = (MISCin(rinfo) & 0x01) ? 0x3D0 : 0x3B0;
++
++ if (rinfo->riva.Architecture == NV_ARCH_03) {
++ /*
++ * We have to map the full BASE_1 aperture for Riva128's
++ * because they use the PRAMIN set in "framebuffer" space
++ */
++ if (!request_mem_region(rinfo->fb_base_phys,
++ rinfo->base1_region_size, "rivafb")) {
++ printk(KERN_ERR PFX "cannot reserve FB region\n");
++ goto err_out_free_base0;
++ }
++
++ rinfo->fb_base = ioremap(rinfo->fb_base_phys,
++ rinfo->base1_region_size);
++ if (!rinfo->fb_base) {
++ printk(KERN_ERR PFX "cannot ioremap FB base\n");
++ goto err_out_iounmap_ctrl;
++ }
++ }
++
++
++ switch (rinfo->riva.Architecture) {
++ case NV_ARCH_03:
++ rinfo->riva.PRAMIN = (unsigned *)(rinfo->fb_base + 0x00C00000);
++ break;
++ case NV_ARCH_04:
++ case NV_ARCH_10:
++ case NV_ARCH_20:
++ rinfo->riva.PCRTC = (unsigned *)(rinfo->ctrl_base + 0x00600000);
++ rinfo->riva.PRAMIN = (unsigned *)(rinfo->ctrl_base + 0x00710000);
++ break;
++ }
++
++#if defined(__powerpc__)
++ /*
++ * XXX Mac cards use the second DAC for the panel
++ */
++ if (rinfo->riva.flatPanel) {
++ printk("rivafb: using second CRTC\n");
++ rinfo->riva.PCIO = rinfo->riva.PCIO + 0x2000;
++ rinfo->riva.PCRTC = rinfo->riva.PCRTC + 0x800;
++ rinfo->riva.PRAMDAC = rinfo->riva.PRAMDAC + 0x800;
++ rinfo->riva.PDIO = rinfo->riva.PDIO + 0x2000;
++ }
++#endif
++
++ RivaGetConfig(&rinfo->riva);
++
++ rinfo->ram_amount = rinfo->riva.RamAmountKBytes * 1024;
++ rinfo->dclk_max = rinfo->riva.MaxVClockFreqKHz * 1000;
++
++ if (rinfo->riva.Architecture != NV_ARCH_03) {
++ /*
++ * Now the _normal_ chipsets can just map the amount of
++ * real physical ram instead of the whole aperture
++ */
++ if (!request_mem_region(rinfo->fb_base_phys,
++ rinfo->ram_amount, "rivafb")) {
++ printk(KERN_ERR PFX "cannot reserve FB region\n");
++ goto err_out_free_base0;
++ }
++
++ rinfo->fb_base = ioremap(rinfo->fb_base_phys,
++ rinfo->ram_amount);
++ if (!rinfo->fb_base) {
++ printk(KERN_ERR PFX "cannot ioremap FB base\n");
++ goto err_out_iounmap_ctrl;
++ }
++ }
++
++#ifdef CONFIG_MTRR
++ if (!nomtrr) {
++ rinfo->mtrr.vram = mtrr_add(rinfo->fb_base_phys,
++ rinfo->ram_amount,
++ MTRR_TYPE_WRCOMB, 1);
++ if (rinfo->mtrr.vram < 0) {
++ printk(KERN_ERR PFX "unable to setup MTRR\n");
++ } else {
++ rinfo->mtrr.vram_valid = 1;
++ /* let there be speed */
++ printk(KERN_INFO PFX "RIVA MTRR set to ON\n");
++ }
++ }
++#endif /* CONFIG_MTRR */
++
++ /* unlock io */
++ CRTCout(rinfo, 0x11, 0xFF); /* vgaHWunlock() + riva unlock (0x7F) */
++ rinfo->riva.LockUnlock(&rinfo->riva, 0);
++
++ riva_save_state(rinfo, &rinfo->initial_state);
++
++ if (!nohwcursor) rinfo->cursor = rivafb_init_cursor(rinfo);
++
++ if (riva_set_fbinfo(rinfo) < 0) {
++ printk(KERN_ERR PFX "error setting initial video mode\n");
++ goto err_out_cursor;
++ }
++
++ if (register_framebuffer((struct fb_info *)rinfo) < 0) {
++ printk(KERN_ERR PFX
++ "error registering riva framebuffer\n");
++ goto err_out_load_state;
++ }
++
++ riva_boards = riva_board_list_add(riva_boards, rinfo);
++
++ pci_set_drvdata(pd, rinfo);
++
++ printk(KERN_INFO PFX
++ "PCI nVidia NV%x framebuffer ver %s (%s, %dMB @ 0x%lX)\n",
++ rinfo->riva.Architecture,
++ RIVAFB_VERSION,
++ rinfo->drvr_name,
++ rinfo->ram_amount / (1024 * 1024),
++ rinfo->fb_base_phys);
++
++ return 0;
++
++err_out_load_state:
++ riva_load_state(rinfo, &rinfo->initial_state);
++err_out_cursor:
++ rivafb_exit_cursor(rinfo);
++/* err_out_iounmap_fb: */
++ iounmap(rinfo->fb_base);
++err_out_iounmap_ctrl:
++ iounmap(rinfo->ctrl_base);
++err_out_free_base1:
++ release_mem_region(rinfo->fb_base_phys, rinfo->base1_region_size);
++err_out_free_base0:
++ release_mem_region(rinfo->ctrl_base_phys, rinfo->base0_region_size);
++err_out_kfree:
++ kfree(rinfo);
++err_out:
++ return -ENODEV;
++}
++
++static void __devexit rivafb_remove_one(struct pci_dev *pd)
++{
++ struct rivafb_info *board = pci_get_drvdata(pd);
++
++ if (!board)
++ return;
++
++ riva_boards = riva_board_list_del(riva_boards, board);
++
++ riva_load_state(board, &board->initial_state);
++
++ unregister_framebuffer((struct fb_info *)board);
++
++ rivafb_exit_cursor(board);
++
++#ifdef CONFIG_MTRR
++ if (board->mtrr.vram_valid)
++ mtrr_del(board->mtrr.vram, board->fb_base_phys,
++ board->ram_amount);
++#endif /* CONFIG_MTRR */
++
++ iounmap(board->ctrl_base);
++ iounmap(board->fb_base);
++
++ release_mem_region(board->ctrl_base_phys,
++ board->base0_region_size);
++ release_mem_region(board->fb_base_phys,
++ board->ram_amount);
++
++ kfree(board);
++
++ pci_set_drvdata(pd, NULL);
++}
++
++
++
++/* ------------------------------------------------------------------------- *
++ *
++ * initialization
++ *
++ * ------------------------------------------------------------------------- */
++
++#ifndef MODULE
++int __init rivafb_setup(char *options)
++{
++ char *this_opt;
++
++ if (!options || !*options)
++ return 0;
++
++ while ((this_opt = strsep(&options, ",")) != NULL) {
++ if (!*this_opt)
++ continue;
++ if (!strncmp(this_opt, "font:", 5)) {
++ char *p;
++ int i;
++
++ p = this_opt + 5;
++ for (i = 0; i < sizeof(fontname) - 1; i++)
++ if (!*p || *p == ' ' || *p == ',')
++ break;
++ memcpy(fontname, this_opt + 5, i);
++ fontname[i] = 0;
++
++ } else if (!strncmp(this_opt, "noblink", 7)) {
++ noblink = 1;
++ } else if (!strncmp(this_opt, "noaccel", 7)) {
++ noaccel = 1;
++ } else if (!strncmp(this_opt, "nomove", 6)) {
++ nomove = 1;
++#ifdef CONFIG_MTRR
++ } else if (!strncmp(this_opt, "nomtrr", 6)) {
++ nomtrr = 1;
++#endif
++ } else if (!strncmp(this_opt, "nohwcursor", 10)) {
++ nohwcursor = 1;
++ } else
++ mode_option = this_opt;
++ }
++ return 0;
++}
++#endif /* !MODULE */
++
++static struct pci_driver rivafb_driver = {
++ name: "rivafb",
++ id_table: rivafb_pci_tbl,
++ probe: rivafb_init_one,
++ remove: __devexit_p(rivafb_remove_one),
++};
++
++
++
++/* ------------------------------------------------------------------------- *
++ *
++ * modularization
++ *
++ * ------------------------------------------------------------------------- */
++
++int __init rivafb_init(void)
++{
++ int err;
++#ifdef MODULE
++ if (font) strncpy(fontname, font, sizeof(fontname)-1);
++#endif
++ err = pci_module_init(&rivafb_driver);
++ if (err)
++ return err;
++ return 0;
++}
++
++
++#ifdef MODULE
++static void __exit rivafb_exit(void)
++{
++ pci_unregister_driver(&rivafb_driver);
++}
++
++module_init(rivafb_init);
++module_exit(rivafb_exit);
++
++MODULE_PARM(font, "s");
++MODULE_PARM_DESC(font, "Specifies one of the compiled-in fonts (default=none)");
++MODULE_PARM(noaccel, "i");
++MODULE_PARM_DESC(noaccel, "Disables hardware acceleration (0 or 1=disabled) (default=0)");
++MODULE_PARM(nomove, "i");
++MODULE_PARM_DESC(nomove, "Enables YSCROLL_NOMOVE (0 or 1=enabled) (default=0)");
++MODULE_PARM(nohwcursor, "i");
++MODULE_PARM_DESC(nohwcursor, "Disables hardware cursor (0 or 1=disabled) (default=0)");
++MODULE_PARM(noblink, "i");
++MODULE_PARM_DESC(noblink, "Disables hardware cursor blinking (0 or 1=disabled) (default=0)");
++#ifdef CONFIG_MTRR
++MODULE_PARM(nomtrr, "i");
++MODULE_PARM_DESC(nomtrr, "Disables MTRR support (0 or 1=disabled) (default=0)");
++#endif
++#endif /* MODULE */
++
++MODULE_AUTHOR("Ani Joshi, maintainer");
++MODULE_DESCRIPTION("Framebuffer driver for nVidia Riva 128, TNT, TNT2");
++MODULE_LICENSE("GPL");
+diff -urN kernel-source-2.4.27/drivers/video/riva/Makefile kernel-source-2.4.27-benh/drivers/video/riva/Makefile
+--- kernel-source-2.4.27/drivers/video/riva/Makefile 2001-02-03 21:48:00.000000000 +0100
++++ kernel-source-2.4.27-benh/drivers/video/riva/Makefile 2004-09-01 20:56:29.313662704 +0200
@@ -9,7 +9,7 @@
O_TARGET := rivafb.o
@@ -19890,9 +22174,9 @@
obj-m := $(O_TARGET)
include $(TOPDIR)/Rules.make
-diff -urN kernel-source-2.4.26.orig/drivers/video/riva/nv_setup.c kernel-source-2.4.26/drivers/video/riva/nv_setup.c
---- kernel-source-2.4.26.orig/drivers/video/riva/nv_setup.c 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26/drivers/video/riva/nv_setup.c 2004-07-31 18:36:21.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/video/riva/nv_setup.c kernel-source-2.4.27-benh/drivers/video/riva/nv_setup.c
+--- kernel-source-2.4.27/drivers/video/riva/nv_setup.c 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-benh/drivers/video/riva/nv_setup.c 2004-09-01 20:56:29.399649632 +0200
@@ -0,0 +1,262 @@
+/* $XConsortium: nv_driver.c /main/3 1996/10/28 05:13:37 kaleb $ */
+/*
@@ -20156,9 +22440,9 @@
+ rinfo->riva.flatPanel = (rinfo->FlatPanel > 0) ? TRUE : FALSE;
+}
+
-diff -urN kernel-source-2.4.26.orig/drivers/video/riva/nv_type.h kernel-source-2.4.26/drivers/video/riva/nv_type.h
---- kernel-source-2.4.26.orig/drivers/video/riva/nv_type.h 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26/drivers/video/riva/nv_type.h 2004-07-31 18:36:21.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/video/riva/nv_type.h kernel-source-2.4.27-benh/drivers/video/riva/nv_type.h
+--- kernel-source-2.4.27/drivers/video/riva/nv_type.h 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-benh/drivers/video/riva/nv_type.h 2004-09-01 20:56:29.401649328 +0200
@@ -0,0 +1,58 @@
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/nv/nv_type.h,v 1.35 2002/08/05 20:47:06 mvojkovi Exp $ */
+
@@ -20218,9 +22502,9 @@
+#define NV_CHIP_0x0289 ((PCI_VENDOR_ID_NVIDIA << 16) | 0x0289)
+
+#endif /* __NV_STRUCT_H__ */
-diff -urN kernel-source-2.4.26.orig/drivers/video/riva/rivafb.h kernel-source-2.4.26/drivers/video/riva/rivafb.h
---- kernel-source-2.4.26.orig/drivers/video/riva/rivafb.h 2003-06-13 16:51:37.000000000 +0200
-+++ kernel-source-2.4.26/drivers/video/riva/rivafb.h 2004-07-31 18:36:21.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/video/riva/rivafb.h kernel-source-2.4.27-benh/drivers/video/riva/rivafb.h
+--- kernel-source-2.4.27/drivers/video/riva/rivafb.h 2003-06-13 16:51:37.000000000 +0200
++++ kernel-source-2.4.27-benh/drivers/video/riva/rivafb.h 2004-09-01 20:56:29.487636256 +0200
@@ -92,6 +92,12 @@
#ifdef CONFIG_MTRR
struct { int vram; int vram_valid; } mtrr;
@@ -20234,9 +22518,9 @@
+void riva_common_setup(struct rivafb_info*);
+
#endif /* __RIVAFB_H */
-diff -urN kernel-source-2.4.26.orig/drivers/video/riva/riva_hw.c kernel-source-2.4.26/drivers/video/riva/riva_hw.c
---- kernel-source-2.4.26.orig/drivers/video/riva/riva_hw.c 2003-06-13 16:51:37.000000000 +0200
-+++ kernel-source-2.4.26/drivers/video/riva/riva_hw.c 2004-07-31 18:36:21.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/video/riva/riva_hw.c kernel-source-2.4.27-benh/drivers/video/riva/riva_hw.c
+--- kernel-source-2.4.27/drivers/video/riva/riva_hw.c 2003-06-13 16:51:37.000000000 +0200
++++ kernel-source-2.4.27-benh/drivers/video/riva/riva_hw.c 2004-09-01 20:56:29.665609200 +0200
@@ -41,13 +41,17 @@
* GPL licensing note -- nVidia is allowing a liberal interpretation of
* the documentation restriction above, to merely say that this nVidia's
@@ -20881,9 +23165,9 @@
/*
* Fill in FIFO pointers.
*/
-diff -urN kernel-source-2.4.26.orig/drivers/video/riva/riva_hw.h kernel-source-2.4.26/drivers/video/riva/riva_hw.h
---- kernel-source-2.4.26.orig/drivers/video/riva/riva_hw.h 2003-06-13 16:51:37.000000000 +0200
-+++ kernel-source-2.4.26/drivers/video/riva/riva_hw.h 2004-07-31 18:36:21.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/video/riva/riva_hw.h kernel-source-2.4.27-benh/drivers/video/riva/riva_hw.h
+--- kernel-source-2.4.27/drivers/video/riva/riva_hw.h 2003-06-13 16:51:37.000000000 +0200
++++ kernel-source-2.4.27-benh/drivers/video/riva/riva_hw.h 2004-09-01 20:56:29.747596736 +0200
@@ -41,14 +41,28 @@
* GPL licensing note -- nVidia is allowing a liberal interpretation of
* the documentation restriction above, to merely say that this nVidia's
@@ -21023,9 +23307,9 @@
(hwinst).FifoFreeCount -= (cnt); \
}
#endif /* __RIVA_HW_H__ */
-diff -urN kernel-source-2.4.26.orig/drivers/video/riva/riva_tbl.h kernel-source-2.4.26/drivers/video/riva/riva_tbl.h
---- kernel-source-2.4.26.orig/drivers/video/riva/riva_tbl.h 2003-06-13 16:51:37.000000000 +0200
-+++ kernel-source-2.4.26/drivers/video/riva/riva_tbl.h 2004-07-31 18:36:21.000000000 +0200
+diff -urN kernel-source-2.4.27/drivers/video/riva/riva_tbl.h kernel-source-2.4.27-benh/drivers/video/riva/riva_tbl.h
+--- kernel-source-2.4.27/drivers/video/riva/riva_tbl.h 2003-06-13 16:51:37.000000000 +0200
++++ kernel-source-2.4.27-benh/drivers/video/riva/riva_tbl.h 2004-09-01 20:56:29.750596280 +0200
@@ -41,10 +41,12 @@
* GPL licensing note -- nVidia is allowing a liberal interpretation of
* the documentation restriction above, to merely say that this nVidia's
@@ -21170,9 +23454,9 @@
{0x00000020, 0x80000000},
{0x00000021, 0x80011142},
{0x00000022, 0x80000001},
-diff -urN kernel-source-2.4.26.orig/fs/jbd/transaction.c kernel-source-2.4.26/fs/jbd/transaction.c
---- kernel-source-2.4.26.orig/fs/jbd/transaction.c 2004-07-20 14:05:56.000000000 +0200
-+++ kernel-source-2.4.26/fs/jbd/transaction.c 2004-07-31 18:36:21.000000000 +0200
+diff -urN kernel-source-2.4.27/fs/jbd/transaction.c kernel-source-2.4.27-benh/fs/jbd/transaction.c
+--- kernel-source-2.4.27/fs/jbd/transaction.c 2004-08-24 07:53:14.000000000 +0200
++++ kernel-source-2.4.27-benh/fs/jbd/transaction.c 2004-09-01 20:56:29.000000000 +0200
@@ -56,7 +56,11 @@
transaction->t_journal = journal;
transaction->t_state = T_RUNNING;
@@ -21186,9 +23470,9 @@
INIT_LIST_HEAD(&transaction->t_jcb);
if (journal->j_commit_interval) {
-diff -urN kernel-source-2.4.26.orig/include/asm-ppc/atomic.h kernel-source-2.4.26/include/asm-ppc/atomic.h
---- kernel-source-2.4.26.orig/include/asm-ppc/atomic.h 2003-08-25 13:44:44.000000000 +0200
-+++ kernel-source-2.4.26/include/asm-ppc/atomic.h 2004-07-31 18:36:22.000000000 +0200
+diff -urN kernel-source-2.4.27/include/asm-ppc/atomic.h kernel-source-2.4.27-benh/include/asm-ppc/atomic.h
+--- kernel-source-2.4.27/include/asm-ppc/atomic.h 2003-08-25 13:44:44.000000000 +0200
++++ kernel-source-2.4.27-benh/include/asm-ppc/atomic.h 2004-09-01 20:56:29.915571200 +0200
@@ -18,9 +18,12 @@
extern void atomic_set_mask(unsigned long mask, unsigned long *addr);
@@ -21243,9 +23527,9 @@
"1: lwarx %0,0,%1 # atomic_dec_if_positive\n\
addic. %0,%0,-1\n\
blt- 2f\n"
-diff -urN kernel-source-2.4.26.orig/include/asm-ppc/elf.h kernel-source-2.4.26/include/asm-ppc/elf.h
---- kernel-source-2.4.26.orig/include/asm-ppc/elf.h 2003-06-13 16:51:38.000000000 +0200
-+++ kernel-source-2.4.26/include/asm-ppc/elf.h 2004-07-31 18:36:22.000000000 +0200
+diff -urN kernel-source-2.4.27/include/asm-ppc/elf.h kernel-source-2.4.27-benh/include/asm-ppc/elf.h
+--- kernel-source-2.4.27/include/asm-ppc/elf.h 2003-06-13 16:51:38.000000000 +0200
++++ kernel-source-2.4.27-benh/include/asm-ppc/elf.h 2004-09-01 20:56:29.995559040 +0200
@@ -10,7 +10,7 @@
#define ELF_NGREG 48 /* includes nip, msr, lr, etc. */
@@ -21255,9 +23539,9 @@
/*
* These are used to set parameters in the core dumps.
-diff -urN kernel-source-2.4.26.orig/include/asm-ppc/hardirq.h kernel-source-2.4.26/include/asm-ppc/hardirq.h
---- kernel-source-2.4.26.orig/include/asm-ppc/hardirq.h 2003-08-25 13:44:44.000000000 +0200
-+++ kernel-source-2.4.26/include/asm-ppc/hardirq.h 2004-07-31 18:36:22.000000000 +0200
+diff -urN kernel-source-2.4.27/include/asm-ppc/hardirq.h kernel-source-2.4.27-benh/include/asm-ppc/hardirq.h
+--- kernel-source-2.4.27/include/asm-ppc/hardirq.h 2003-08-25 13:44:44.000000000 +0200
++++ kernel-source-2.4.27-benh/include/asm-ppc/hardirq.h 2004-09-01 20:56:29.996558888 +0200
@@ -54,12 +54,24 @@
extern unsigned volatile long global_irq_lock;
extern atomic_t global_irq_count;
@@ -21309,9 +23593,9 @@
atomic_dec(&global_irq_count);
--local_irq_count(cpu);
}
-diff -urN kernel-source-2.4.26.orig/include/asm-ppc/highmem.h kernel-source-2.4.26/include/asm-ppc/highmem.h
---- kernel-source-2.4.26.orig/include/asm-ppc/highmem.h 2003-11-28 19:26:21.000000000 +0100
-+++ kernel-source-2.4.26/include/asm-ppc/highmem.h 2004-07-31 18:36:22.000000000 +0200
+diff -urN kernel-source-2.4.27/include/asm-ppc/highmem.h kernel-source-2.4.27-benh/include/asm-ppc/highmem.h
+--- kernel-source-2.4.27/include/asm-ppc/highmem.h 2003-11-28 19:26:21.000000000 +0100
++++ kernel-source-2.4.27-benh/include/asm-ppc/highmem.h 2004-09-01 20:56:30.076546728 +0200
@@ -28,7 +28,7 @@
#include <asm/pgtable.h>
@@ -21321,9 +23605,9 @@
extern pte_t *kmap_pte;
extern pgprot_t kmap_prot;
-diff -urN kernel-source-2.4.26.orig/include/asm-ppc/ide.h kernel-source-2.4.26/include/asm-ppc/ide.h
---- kernel-source-2.4.26.orig/include/asm-ppc/ide.h 2003-06-13 16:51:38.000000000 +0200
-+++ kernel-source-2.4.26/include/asm-ppc/ide.h 2004-07-31 18:36:22.000000000 +0200
+diff -urN kernel-source-2.4.27/include/asm-ppc/ide.h kernel-source-2.4.27-benh/include/asm-ppc/ide.h
+--- kernel-source-2.4.27/include/asm-ppc/ide.h 2003-06-13 16:51:38.000000000 +0200
++++ kernel-source-2.4.27-benh/include/asm-ppc/ide.h 2004-09-01 20:56:30.077546576 +0200
@@ -34,6 +34,7 @@
ide_ioreg_t data_port,
ide_ioreg_t ctrl_port,
@@ -21350,9 +23634,9 @@
#endif /* __KERNEL__ */
#endif /* __ASMPPC_IDE_H */
-diff -urN kernel-source-2.4.26.orig/include/asm-ppc/io.h kernel-source-2.4.26/include/asm-ppc/io.h
---- kernel-source-2.4.26.orig/include/asm-ppc/io.h 2003-11-28 19:26:21.000000000 +0100
-+++ kernel-source-2.4.26/include/asm-ppc/io.h 2004-07-31 18:36:22.000000000 +0200
+diff -urN kernel-source-2.4.27/include/asm-ppc/io.h kernel-source-2.4.27-benh/include/asm-ppc/io.h
+--- kernel-source-2.4.27/include/asm-ppc/io.h 2003-11-28 19:26:21.000000000 +0100
++++ kernel-source-2.4.27-benh/include/asm-ppc/io.h 2004-09-01 20:56:30.159534112 +0200
@@ -288,9 +288,15 @@
/* Enforce in-order execution of data I/O.
* No distinction between read/write on PPC; use eieio for all three.
@@ -21410,9 +23694,9 @@
}
static inline int check_signature(unsigned long io_addr,
-diff -urN kernel-source-2.4.26.orig/include/asm-ppc/nvram.h kernel-source-2.4.26/include/asm-ppc/nvram.h
---- kernel-source-2.4.26.orig/include/asm-ppc/nvram.h 2003-06-13 16:51:38.000000000 +0200
-+++ kernel-source-2.4.26/include/asm-ppc/nvram.h 2004-07-31 18:36:22.000000000 +0200
+diff -urN kernel-source-2.4.27/include/asm-ppc/nvram.h kernel-source-2.4.27-benh/include/asm-ppc/nvram.h
+--- kernel-source-2.4.27/include/asm-ppc/nvram.h 2003-06-13 16:51:38.000000000 +0200
++++ kernel-source-2.4.27-benh/include/asm-ppc/nvram.h 2004-09-01 20:56:30.160533960 +0200
@@ -41,11 +41,15 @@
/* Return partition offset in nvram */
@@ -21442,9 +23726,9 @@
#endif
#endif /* __KERNEL__ */
-diff -urN kernel-source-2.4.26.orig/include/asm-ppc/open_pic.h kernel-source-2.4.26/include/asm-ppc/open_pic.h
---- kernel-source-2.4.26.orig/include/asm-ppc/open_pic.h 2003-08-25 13:44:44.000000000 +0200
-+++ kernel-source-2.4.26/include/asm-ppc/open_pic.h 2004-07-31 18:36:22.000000000 +0200
+diff -urN kernel-source-2.4.27/include/asm-ppc/open_pic.h kernel-source-2.4.27-benh/include/asm-ppc/open_pic.h
+--- kernel-source-2.4.27/include/asm-ppc/open_pic.h 2003-08-25 13:44:44.000000000 +0200
++++ kernel-source-2.4.27-benh/include/asm-ppc/open_pic.h 2004-09-01 20:56:30.161533808 +0200
@@ -21,8 +21,12 @@
* Non-offset'ed vector numbers
*/
@@ -21495,9 +23779,9 @@
+ int wait);
+
#endif /* _PPC_KERNEL_OPEN_PIC_H */
-diff -urN kernel-source-2.4.26.orig/include/asm-ppc/page.h kernel-source-2.4.26/include/asm-ppc/page.h
---- kernel-source-2.4.26.orig/include/asm-ppc/page.h 2003-11-28 19:26:21.000000000 +0100
-+++ kernel-source-2.4.26/include/asm-ppc/page.h 2004-07-31 18:36:22.000000000 +0200
+diff -urN kernel-source-2.4.27/include/asm-ppc/page.h kernel-source-2.4.27-benh/include/asm-ppc/page.h
+--- kernel-source-2.4.27/include/asm-ppc/page.h 2003-11-28 19:26:21.000000000 +0100
++++ kernel-source-2.4.27-benh/include/asm-ppc/page.h 2004-09-01 20:56:30.241521648 +0200
@@ -34,7 +34,9 @@
#include <asm/system.h> /* for xmon definition */
@@ -21508,9 +23792,9 @@
printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); \
xmon(0); \
} while (0)
-diff -urN kernel-source-2.4.26.orig/include/asm-ppc/pgalloc.h kernel-source-2.4.26/include/asm-ppc/pgalloc.h
---- kernel-source-2.4.26.orig/include/asm-ppc/pgalloc.h 2003-11-28 19:26:21.000000000 +0100
-+++ kernel-source-2.4.26/include/asm-ppc/pgalloc.h 2004-07-31 18:36:22.000000000 +0200
+diff -urN kernel-source-2.4.27/include/asm-ppc/pgalloc.h kernel-source-2.4.27-benh/include/asm-ppc/pgalloc.h
+--- kernel-source-2.4.27/include/asm-ppc/pgalloc.h 2003-11-28 19:26:21.000000000 +0100
++++ kernel-source-2.4.27-benh/include/asm-ppc/pgalloc.h 2004-09-01 20:56:30.243521344 +0200
@@ -68,6 +68,7 @@
return ret;
}
@@ -21562,9 +23846,9 @@
extern __inline__ void pte_free_slow(pte_t *pte)
{
-diff -urN kernel-source-2.4.26.orig/include/asm-ppc/pmac_feature.h kernel-source-2.4.26/include/asm-ppc/pmac_feature.h
---- kernel-source-2.4.26.orig/include/asm-ppc/pmac_feature.h 2003-08-25 13:44:44.000000000 +0200
-+++ kernel-source-2.4.26/include/asm-ppc/pmac_feature.h 2004-07-31 18:36:22.000000000 +0200
+diff -urN kernel-source-2.4.27/include/asm-ppc/pmac_feature.h kernel-source-2.4.27-benh/include/asm-ppc/pmac_feature.h
+--- kernel-source-2.4.27/include/asm-ppc/pmac_feature.h 2003-08-25 13:44:44.000000000 +0200
++++ kernel-source-2.4.27-benh/include/asm-ppc/pmac_feature.h 2004-09-01 20:56:30.323509184 +0200
@@ -96,8 +96,8 @@
#define PMAC_TYPE_UNKNOWN_CORE99 0x5f
@@ -21587,9 +23871,9 @@
/*
* Motherboard flags
*/
-diff -urN kernel-source-2.4.26.orig/include/asm-ppc/ppc4xx_serial.h kernel-source-2.4.26/include/asm-ppc/ppc4xx_serial.h
---- kernel-source-2.4.26.orig/include/asm-ppc/ppc4xx_serial.h 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26/include/asm-ppc/ppc4xx_serial.h 2004-07-31 18:36:22.000000000 +0200
+diff -urN kernel-source-2.4.27/include/asm-ppc/ppc4xx_serial.h kernel-source-2.4.27-benh/include/asm-ppc/ppc4xx_serial.h
+--- kernel-source-2.4.27/include/asm-ppc/ppc4xx_serial.h 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-benh/include/asm-ppc/ppc4xx_serial.h 2004-09-01 20:56:30.324509032 +0200
@@ -0,0 +1,101 @@
+/*
+ * Copyright 2000 MontaVista Software Inc.
@@ -21692,9 +23976,9 @@
+
+#endif /* __ASMPPC_PPC4xx_SERIAL_H */
+#endif /* __KERNEL__ */
-diff -urN kernel-source-2.4.26.orig/include/asm-ppc/processor.h kernel-source-2.4.26/include/asm-ppc/processor.h
---- kernel-source-2.4.26.orig/include/asm-ppc/processor.h 2004-04-14 15:05:40.000000000 +0200
-+++ kernel-source-2.4.26/include/asm-ppc/processor.h 2004-07-31 18:36:22.000000000 +0200
+diff -urN kernel-source-2.4.27/include/asm-ppc/processor.h kernel-source-2.4.27-benh/include/asm-ppc/processor.h
+--- kernel-source-2.4.27/include/asm-ppc/processor.h 2004-04-14 15:05:40.000000000 +0200
++++ kernel-source-2.4.27-benh/include/asm-ppc/processor.h 2004-09-01 20:56:30.406496568 +0200
@@ -296,6 +296,8 @@
#define HID1_ABE (1<<10) /* 7450 Address Broadcast Enable */
#define SPRN_HID2 0x3F8 /* Hardware Implementation Register 2 */
@@ -21712,9 +23996,9 @@
#ifdef CONFIG_BOOKE
#define SPRN_TCR 0x154 /* Book E Timer Control Register */
#else
-diff -urN kernel-source-2.4.26.orig/include/asm-ppc/semaphore.h kernel-source-2.4.26/include/asm-ppc/semaphore.h
---- kernel-source-2.4.26.orig/include/asm-ppc/semaphore.h 2003-06-13 16:51:38.000000000 +0200
-+++ kernel-source-2.4.26/include/asm-ppc/semaphore.h 2004-07-31 18:36:22.000000000 +0200
+diff -urN kernel-source-2.4.27/include/asm-ppc/semaphore.h kernel-source-2.4.27-benh/include/asm-ppc/semaphore.h
+--- kernel-source-2.4.27/include/asm-ppc/semaphore.h 2003-06-13 16:51:38.000000000 +0200
++++ kernel-source-2.4.27-benh/include/asm-ppc/semaphore.h 2004-09-01 20:56:30.408496264 +0200
@@ -87,9 +87,8 @@
/*
* Try to get the semaphore, take the slow path if we fail.
@@ -21762,9 +24046,9 @@
__up(sem);
}
-diff -urN kernel-source-2.4.26.orig/include/asm-ppc/smp.h kernel-source-2.4.26/include/asm-ppc/smp.h
---- kernel-source-2.4.26.orig/include/asm-ppc/smp.h 2003-06-13 16:51:38.000000000 +0200
-+++ kernel-source-2.4.26/include/asm-ppc/smp.h 2004-07-31 18:36:22.000000000 +0200
+diff -urN kernel-source-2.4.27/include/asm-ppc/smp.h kernel-source-2.4.27-benh/include/asm-ppc/smp.h
+--- kernel-source-2.4.27/include/asm-ppc/smp.h 2003-06-13 16:51:38.000000000 +0200
++++ kernel-source-2.4.27-benh/include/asm-ppc/smp.h 2004-09-01 20:56:30.488484104 +0200
@@ -17,6 +17,8 @@
#ifndef __ASSEMBLY__
@@ -21783,9 +24067,9 @@
#endif /* !(CONFIG_SMP) */
#endif /* !(_PPC_SMP_H) */
-diff -urN kernel-source-2.4.26.orig/include/asm-ppc/spinlock.h kernel-source-2.4.26/include/asm-ppc/spinlock.h
---- kernel-source-2.4.26.orig/include/asm-ppc/spinlock.h 2003-06-13 16:51:38.000000000 +0200
-+++ kernel-source-2.4.26/include/asm-ppc/spinlock.h 2004-07-31 18:36:22.000000000 +0200
+diff -urN kernel-source-2.4.27/include/asm-ppc/spinlock.h kernel-source-2.4.27-benh/include/asm-ppc/spinlock.h
+--- kernel-source-2.4.27/include/asm-ppc/spinlock.h 2003-06-13 16:51:38.000000000 +0200
++++ kernel-source-2.4.27-benh/include/asm-ppc/spinlock.h 2004-09-01 20:56:30.489483952 +0200
@@ -70,7 +70,7 @@
static inline void spin_unlock(spinlock_t *lock)
@@ -21813,9 +24097,9 @@
rw->lock = 0;
}
-diff -urN kernel-source-2.4.26.orig/include/asm-ppc/uninorth.h kernel-source-2.4.26/include/asm-ppc/uninorth.h
---- kernel-source-2.4.26.orig/include/asm-ppc/uninorth.h 2003-08-25 13:44:44.000000000 +0200
-+++ kernel-source-2.4.26/include/asm-ppc/uninorth.h 2004-07-31 18:36:22.000000000 +0200
+diff -urN kernel-source-2.4.27/include/asm-ppc/uninorth.h kernel-source-2.4.27-benh/include/asm-ppc/uninorth.h
+--- kernel-source-2.4.27/include/asm-ppc/uninorth.h 2003-08-25 13:44:44.000000000 +0200
++++ kernel-source-2.4.27-benh/include/asm-ppc/uninorth.h 2004-09-01 20:56:30.490483800 +0200
@@ -131,5 +131,20 @@
/* Uninorth 1.5 rev. has additional perf. monitor registers at 0xf00-0xf50 */
@@ -21837,9 +24121,9 @@
+
#endif /* __ASM_UNINORTH_H__ */
#endif /* __KERNEL__ */
-diff -urN kernel-source-2.4.26.orig/include/linux/agp_backend.h kernel-source-2.4.26/include/linux/agp_backend.h
---- kernel-source-2.4.26.orig/include/linux/agp_backend.h 2003-11-28 19:26:21.000000000 +0100
-+++ kernel-source-2.4.26/include/linux/agp_backend.h 2004-07-31 18:36:22.000000000 +0200
+diff -urN kernel-source-2.4.27/include/linux/agp_backend.h kernel-source-2.4.27-benh/include/linux/agp_backend.h
+--- kernel-source-2.4.27/include/linux/agp_backend.h 2003-11-28 19:26:21.000000000 +0100
++++ kernel-source-2.4.27-benh/include/linux/agp_backend.h 2004-09-01 20:56:30.000000000 +0200
@@ -101,7 +101,8 @@
ATI_RS300_100,
ATI_RS300_133,
@@ -21850,9 +24134,9 @@
};
typedef struct _agp_version {
-diff -urN kernel-source-2.4.26.orig/include/linux/blkdev.h kernel-source-2.4.26/include/linux/blkdev.h
---- kernel-source-2.4.26.orig/include/linux/blkdev.h 2004-02-18 14:36:32.000000000 +0100
-+++ kernel-source-2.4.26/include/linux/blkdev.h 2004-07-31 18:36:22.000000000 +0200
+diff -urN kernel-source-2.4.27/include/linux/blkdev.h kernel-source-2.4.27-benh/include/linux/blkdev.h
+--- kernel-source-2.4.27/include/linux/blkdev.h 2004-02-18 14:36:32.000000000 +0100
++++ kernel-source-2.4.27-benh/include/linux/blkdev.h 2004-09-01 20:56:30.000000000 +0200
@@ -63,6 +63,8 @@
typedef int (make_request_fn) (request_queue_t *q, int rw, struct buffer_head *bh);
typedef void (plug_device_fn) (request_queue_t *q, kdev_t device);
@@ -21887,9 +24171,9 @@
extern inline int blk_seg_merge_ok(struct buffer_head *, struct buffer_head *);
extern int * blk_size[MAX_BLKDEV];
-diff -urN kernel-source-2.4.26.orig/include/linux/cpufreq.h kernel-source-2.4.26/include/linux/cpufreq.h
---- kernel-source-2.4.26.orig/include/linux/cpufreq.h 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26/include/linux/cpufreq.h 2004-07-31 18:36:22.000000000 +0200
+diff -urN kernel-source-2.4.27/include/linux/cpufreq.h kernel-source-2.4.27-benh/include/linux/cpufreq.h
+--- kernel-source-2.4.27/include/linux/cpufreq.h 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-benh/include/linux/cpufreq.h 2004-09-01 20:56:30.000000000 +0200
@@ -0,0 +1,247 @@
+/*
+ * linux/include/linux/cpufreq.h
@@ -22138,9 +24422,9 @@
+#endif /* CONFIG_CPU_FREQ_24_API */
+
+#endif /* _LINUX_CPUFREQ_H */
-diff -urN kernel-source-2.4.26.orig/include/linux/ioport.h kernel-source-2.4.26/include/linux/ioport.h
---- kernel-source-2.4.26.orig/include/linux/ioport.h 2003-11-28 19:26:21.000000000 +0100
-+++ kernel-source-2.4.26/include/linux/ioport.h 2004-07-31 18:36:22.000000000 +0200
+diff -urN kernel-source-2.4.27/include/linux/ioport.h kernel-source-2.4.27-benh/include/linux/ioport.h
+--- kernel-source-2.4.27/include/linux/ioport.h 2003-11-28 19:26:21.000000000 +0100
++++ kernel-source-2.4.27-benh/include/linux/ioport.h 2004-09-01 20:56:30.000000000 +0200
@@ -85,6 +85,7 @@
extern int check_resource(struct resource *root, unsigned long, unsigned long);
@@ -22149,9 +24433,9 @@
extern int release_resource(struct resource *new);
extern int allocate_resource(struct resource *root, struct resource *new,
unsigned long size,
-diff -urN kernel-source-2.4.26.orig/include/linux/mm.h kernel-source-2.4.26/include/linux/mm.h
---- kernel-source-2.4.26.orig/include/linux/mm.h 2003-11-28 19:26:21.000000000 +0100
-+++ kernel-source-2.4.26/include/linux/mm.h 2004-07-31 18:36:22.000000000 +0200
+diff -urN kernel-source-2.4.27/include/linux/mm.h kernel-source-2.4.27-benh/include/linux/mm.h
+--- kernel-source-2.4.27/include/linux/mm.h 2003-11-28 19:26:21.000000000 +0100
++++ kernel-source-2.4.27-benh/include/linux/mm.h 2004-09-01 20:56:30.000000000 +0200
@@ -637,11 +637,25 @@
return gfp_mask;
}
@@ -22210,9 +24494,9 @@
}
/* Look up the first VMA which satisfies addr < vm_end, NULL if none. */
-diff -urN kernel-source-2.4.26.orig/include/linux/pci_ids.h kernel-source-2.4.26/include/linux/pci_ids.h
---- kernel-source-2.4.26.orig/include/linux/pci_ids.h 2004-07-20 14:05:56.000000000 +0200
-+++ kernel-source-2.4.26/include/linux/pci_ids.h 2004-07-31 18:36:22.000000000 +0200
+diff -urN kernel-source-2.4.27/include/linux/pci_ids.h kernel-source-2.4.27-benh/include/linux/pci_ids.h
+--- kernel-source-2.4.27/include/linux/pci_ids.h 2004-08-24 07:53:14.000000000 +0200
++++ kernel-source-2.4.27-benh/include/linux/pci_ids.h 2004-09-01 20:56:30.000000000 +0200
@@ -299,11 +299,21 @@
/* Radeon R300 (9500) */
#define PCI_DEVICE_ID_ATI_RADEON_AD 0x4144
@@ -22260,7 +24544,7 @@
#define PCI_DEVICE_ID_IBM_CPC710_PCI64 0x00fc
#define PCI_DEVICE_ID_IBM_CPC710_PCI32 0x0105
#define PCI_DEVICE_ID_IBM_405GP 0x0156
-@@ -758,6 +779,10 @@
+@@ -759,6 +780,10 @@
#define PCI_DEVICE_ID_APPLE_UNI_N_AGP_P 0x0027
#define PCI_DEVICE_ID_APPLE_UNI_N_AGP15 0x002d
#define PCI_DEVICE_ID_APPLE_UNI_N_FW2 0x0030
@@ -22271,7 +24555,7 @@
#define PCI_DEVICE_ID_APPLE_TIGON3 0x1645
#define PCI_VENDOR_ID_YAMAHA 0x1073
-@@ -1001,6 +1026,17 @@
+@@ -1010,6 +1035,17 @@
#define PCI_DEVICE_ID_NVIDIA_GEFORCE2_GTS2 0x0151
#define PCI_DEVICE_ID_NVIDIA_GEFORCE2_ULTRA 0x0152
#define PCI_DEVICE_ID_NVIDIA_QUADRO2_PRO 0x0153
@@ -22288,8 +24572,8 @@
+#define PCI_DEVICE_ID_NVIDIA_QUADRO4_500_GOGL 0x017C
#define PCI_DEVICE_ID_NVIDIA_IGEFORCE2 0x01a0
#define PCI_DEVICE_ID_NVIDIA_NFORCE 0x01a4
- #define PCI_DEVICE_ID_NVIDIA_NFORCE_IDE 0x01bc
-@@ -1009,6 +1045,12 @@
+ #define PCI_DEVICE_ID_NVIDIA_MCP1_AUDIO 0x01b1
+@@ -1019,6 +1055,12 @@
#define PCI_DEVICE_ID_NVIDIA_GEFORCE3_1 0x0201
#define PCI_DEVICE_ID_NVIDIA_GEFORCE3_2 0x0202
#define PCI_DEVICE_ID_NVIDIA_QUADRO_DDC 0x0203
@@ -22302,9 +24586,9 @@
#define PCI_VENDOR_ID_IMS 0x10e0
#define PCI_DEVICE_ID_IMS_8849 0x8849
-diff -urN kernel-source-2.4.26.orig/include/linux/pmu.h kernel-source-2.4.26/include/linux/pmu.h
---- kernel-source-2.4.26.orig/include/linux/pmu.h 2003-08-25 13:44:44.000000000 +0200
-+++ kernel-source-2.4.26/include/linux/pmu.h 2004-07-31 18:36:22.000000000 +0200
+diff -urN kernel-source-2.4.27/include/linux/pmu.h kernel-source-2.4.27-benh/include/linux/pmu.h
+--- kernel-source-2.4.27/include/linux/pmu.h 2003-08-25 13:44:44.000000000 +0200
++++ kernel-source-2.4.27-benh/include/linux/pmu.h 2004-09-01 20:56:30.000000000 +0200
@@ -69,6 +69,8 @@
/* Bits in the environement message (either obtained via PMU_GET_COVER,
* or via PMU_INT_ENVIRONMENT on core99 */
@@ -22331,10 +24615,10 @@
extern int pmu_present(void);
extern int pmu_get_model(void);
-diff -urN kernel-source-2.4.26.orig/include/linux/sysctl.h kernel-source-2.4.26/include/linux/sysctl.h
---- kernel-source-2.4.26.orig/include/linux/sysctl.h 2004-07-20 14:05:56.000000000 +0200
-+++ kernel-source-2.4.26/include/linux/sysctl.h 2004-07-31 18:36:22.000000000 +0200
-@@ -156,6 +156,7 @@
+diff -urN kernel-source-2.4.27/include/linux/sysctl.h kernel-source-2.4.27-benh/include/linux/sysctl.h
+--- kernel-source-2.4.27/include/linux/sysctl.h 2004-08-24 07:53:14.000000000 +0200
++++ kernel-source-2.4.27-benh/include/linux/sysctl.h 2004-09-01 20:56:31.000000000 +0200
+@@ -157,6 +157,7 @@
VM_MAPPED_RATIO=20, /* amount of unfreeable pages that triggers swapout */
VM_LAPTOP_MODE=21, /* kernel in laptop flush mode */
VM_BLOCK_DUMP=22, /* dump fs activity to log */
@@ -22342,9 +24626,9 @@
};
-diff -urN kernel-source-2.4.26.orig/include/linux/wait.h kernel-source-2.4.26/include/linux/wait.h
---- kernel-source-2.4.26.orig/include/linux/wait.h 2003-08-25 13:44:44.000000000 +0200
-+++ kernel-source-2.4.26/include/linux/wait.h 2004-07-31 18:36:22.000000000 +0200
+diff -urN kernel-source-2.4.27/include/linux/wait.h kernel-source-2.4.27-benh/include/linux/wait.h
+--- kernel-source-2.4.27/include/linux/wait.h 2003-08-25 13:44:44.000000000 +0200
++++ kernel-source-2.4.27-benh/include/linux/wait.h 2004-09-01 20:56:31.000000000 +0200
@@ -90,11 +90,17 @@
* spurious .aligns.
*/
@@ -22373,9 +24657,9 @@
(x)->__magic, (long)&((x)->__magic), (x)->__creator); \
WQ_BUG(); \
} \
-diff -urN kernel-source-2.4.26.orig/init/main.c kernel-source-2.4.26/init/main.c
---- kernel-source-2.4.26.orig/init/main.c 2004-07-20 14:05:56.000000000 +0200
-+++ kernel-source-2.4.26/init/main.c 2004-07-31 18:36:22.000000000 +0200
+diff -urN kernel-source-2.4.27/init/main.c kernel-source-2.4.27-benh/init/main.c
+--- kernel-source-2.4.27/init/main.c 2004-08-24 07:53:15.000000000 +0200
++++ kernel-source-2.4.27-benh/init/main.c 2004-09-01 20:56:31.211374208 +0200
@@ -162,7 +162,7 @@
better than 1% */
#define LPS_PREC 8
@@ -22385,9 +24669,9 @@
{
unsigned long ticks, loopbit;
int lps_precision = LPS_PREC;
-diff -urN kernel-source-2.4.26.orig/kernel/cpufreq.c kernel-source-2.4.26/kernel/cpufreq.c
---- kernel-source-2.4.26.orig/kernel/cpufreq.c 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26/kernel/cpufreq.c 2004-07-31 18:36:22.000000000 +0200
+diff -urN kernel-source-2.4.27/kernel/cpufreq.c kernel-source-2.4.27-benh/kernel/cpufreq.c
+--- kernel-source-2.4.27/kernel/cpufreq.c 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-benh/kernel/cpufreq.c 2004-09-01 20:56:31.291362048 +0200
@@ -0,0 +1,1130 @@
+/*
+ * linux/kernel/cpufreq.c
@@ -23519,9 +25803,9 @@
+#define cpufreq_restore()
+#endif /* CONFIG_PM */
+
-diff -urN kernel-source-2.4.26.orig/kernel/Makefile kernel-source-2.4.26/kernel/Makefile
---- kernel-source-2.4.26.orig/kernel/Makefile 2004-07-20 14:05:56.000000000 +0200
-+++ kernel-source-2.4.26/kernel/Makefile 2004-07-31 18:36:22.000000000 +0200
+diff -urN kernel-source-2.4.27/kernel/Makefile kernel-source-2.4.27-benh/kernel/Makefile
+--- kernel-source-2.4.27/kernel/Makefile 2004-08-24 07:53:15.000000000 +0200
++++ kernel-source-2.4.27-benh/kernel/Makefile 2004-09-01 20:56:31.292361896 +0200
@@ -9,7 +9,7 @@
O_TARGET := kernel.o
@@ -23539,9 +25823,9 @@
ifneq ($(CONFIG_IA64),y)
# According to Alan Modra <alan@linuxcare.com.au>, the -fno-omit-frame-pointer is
-diff -urN kernel-source-2.4.26.orig/kernel/panic.c kernel-source-2.4.26/kernel/panic.c
---- kernel-source-2.4.26.orig/kernel/panic.c 2003-11-28 19:26:21.000000000 +0100
-+++ kernel-source-2.4.26/kernel/panic.c 2004-07-31 18:36:22.000000000 +0200
+diff -urN kernel-source-2.4.27/kernel/panic.c kernel-source-2.4.27-benh/kernel/panic.c
+--- kernel-source-2.4.27/kernel/panic.c 2004-08-24 07:53:14.000000000 +0200
++++ kernel-source-2.4.27-benh/kernel/panic.c 2004-09-01 20:56:31.293361744 +0200
@@ -51,6 +51,10 @@
#if defined(CONFIG_ARCH_S390)
unsigned long caller = (unsigned long) __builtin_return_address(0);
@@ -23553,9 +25837,9 @@
#ifdef CONFIG_VT
disable_console_blank();
-diff -urN kernel-source-2.4.26.orig/kernel/printk.c kernel-source-2.4.26/kernel/printk.c
---- kernel-source-2.4.26.orig/kernel/printk.c 2003-11-28 19:26:21.000000000 +0100
-+++ kernel-source-2.4.26/kernel/printk.c 2004-07-31 18:36:22.000000000 +0200
+diff -urN kernel-source-2.4.27/kernel/printk.c kernel-source-2.4.27-benh/kernel/printk.c
+--- kernel-source-2.4.27/kernel/printk.c 2003-11-28 19:26:21.000000000 +0100
++++ kernel-source-2.4.27-benh/kernel/printk.c 2004-09-01 20:56:31.367350496 +0200
@@ -26,7 +26,10 @@
#include <linux/module.h>
#include <linux/interrupt.h> /* For in_interrupt() */
@@ -23607,9 +25891,9 @@
}
console_may_schedule = 0;
up(&console_sem);
-diff -urN kernel-source-2.4.26.orig/kernel/resource.c kernel-source-2.4.26/kernel/resource.c
---- kernel-source-2.4.26.orig/kernel/resource.c 2003-11-28 19:26:21.000000000 +0100
-+++ kernel-source-2.4.26/kernel/resource.c 2004-07-31 18:36:22.000000000 +0200
+diff -urN kernel-source-2.4.27/kernel/resource.c kernel-source-2.4.27-benh/kernel/resource.c
+--- kernel-source-2.4.27/kernel/resource.c 2003-11-28 19:26:21.000000000 +0100
++++ kernel-source-2.4.27-benh/kernel/resource.c 2004-09-01 20:56:31.369350192 +0200
@@ -163,9 +163,24 @@
write_lock(&resource_lock);
conflict = __request_resource(root, new);
@@ -23635,10 +25919,10 @@
int release_resource(struct resource *old)
{
int retval;
-diff -urN kernel-source-2.4.26.orig/kernel/sysctl.c kernel-source-2.4.26/kernel/sysctl.c
---- kernel-source-2.4.26.orig/kernel/sysctl.c 2003-11-28 19:26:21.000000000 +0100
-+++ kernel-source-2.4.26/kernel/sysctl.c 2004-07-31 18:36:22.000000000 +0200
-@@ -302,6 +302,8 @@
+diff -urN kernel-source-2.4.27/kernel/sysctl.c kernel-source-2.4.27-benh/kernel/sysctl.c
+--- kernel-source-2.4.27/kernel/sysctl.c 2004-08-08 01:26:06.000000000 +0200
++++ kernel-source-2.4.27-benh/kernel/sysctl.c 2004-09-01 20:56:31.444338792 +0200
+@@ -305,6 +305,8 @@
&pgt_cache_water, 2*sizeof(int), 0644, NULL, &proc_dointvec},
{VM_PAGE_CLUSTER, "page-cluster",
&page_cluster, sizeof(int), 0644, NULL, &proc_dointvec},
@@ -23647,10 +25931,10 @@
{VM_MIN_READAHEAD, "min-readahead",
&vm_min_readahead,sizeof(int), 0644, NULL, &proc_dointvec},
{VM_MAX_READAHEAD, "max-readahead",
-diff -urN kernel-source-2.4.26.orig/MAINTAINERS kernel-source-2.4.26/MAINTAINERS
---- kernel-source-2.4.26.orig/MAINTAINERS 2004-07-20 14:05:57.000000000 +0200
-+++ kernel-source-2.4.26/MAINTAINERS 2004-07-31 18:36:22.000000000 +0200
-@@ -1359,7 +1359,7 @@
+diff -urN kernel-source-2.4.27/MAINTAINERS kernel-source-2.4.27-benh/MAINTAINERS
+--- kernel-source-2.4.27/MAINTAINERS 2004-08-24 07:53:15.000000000 +0200
++++ kernel-source-2.4.27-benh/MAINTAINERS 2004-09-01 20:56:31.670304440 +0200
+@@ -1376,7 +1376,7 @@
NVIDIA (RIVA) FRAMEBUFFER DRIVER
P: Ani Joshi
M: ajoshi@kernel.crashing.org
@@ -23659,9 +25943,9 @@
S: Maintained
OLYMPIC NETWORK DRIVER
-diff -urN kernel-source-2.4.26.orig/mm/highmem.c kernel-source-2.4.26/mm/highmem.c
---- kernel-source-2.4.26.orig/mm/highmem.c 2003-06-13 16:51:39.000000000 +0200
-+++ kernel-source-2.4.26/mm/highmem.c 2004-07-31 18:36:22.000000000 +0200
+diff -urN kernel-source-2.4.27/mm/highmem.c kernel-source-2.4.27-benh/mm/highmem.c
+--- kernel-source-2.4.27/mm/highmem.c 2003-06-13 16:51:39.000000000 +0200
++++ kernel-source-2.4.27-benh/mm/highmem.c 2004-09-01 20:56:31.672304136 +0200
@@ -121,6 +121,17 @@
}
}
@@ -23680,9 +25964,9 @@
set_pte(&(pkmap_page_table[last_pkmap_nr]), mk_pte(page, kmap_prot));
pkmap_count[last_pkmap_nr] = 1;
-diff -urN kernel-source-2.4.26.orig/mm/memory.c kernel-source-2.4.26/mm/memory.c
---- kernel-source-2.4.26.orig/mm/memory.c 2003-11-28 19:26:21.000000000 +0100
-+++ kernel-source-2.4.26/mm/memory.c 2004-07-31 18:36:22.000000000 +0200
+diff -urN kernel-source-2.4.27/mm/memory.c kernel-source-2.4.27-benh/mm/memory.c
+--- kernel-source-2.4.27/mm/memory.c 2003-11-28 19:26:21.000000000 +0100
++++ kernel-source-2.4.27-benh/mm/memory.c 2004-09-01 20:56:31.817282096 +0200
@@ -102,6 +102,24 @@
return;
}
@@ -23736,9 +26020,9 @@
return error;
}
-diff -urN kernel-source-2.4.26.orig/mm/mmap.c kernel-source-2.4.26/mm/mmap.c
---- kernel-source-2.4.26.orig/mm/mmap.c 2004-02-18 14:36:32.000000000 +0100
-+++ kernel-source-2.4.26/mm/mmap.c 2004-07-31 18:36:22.000000000 +0200
+diff -urN kernel-source-2.4.27/mm/mmap.c kernel-source-2.4.27-benh/mm/mmap.c
+--- kernel-source-2.4.27/mm/mmap.c 2004-02-18 14:36:32.000000000 +0100
++++ kernel-source-2.4.27-benh/mm/mmap.c 2004-09-01 20:56:31.891270848 +0200
@@ -46,6 +46,7 @@
};
@@ -23783,9 +26067,9 @@
return NULL;
if (vma->vm_flags & VM_LOCKED) {
make_pages_present(addr, start);
-diff -urN kernel-source-2.4.26.orig/README.BENH kernel-source-2.4.26/README.BENH
---- kernel-source-2.4.26.orig/README.BENH 1970-01-01 01:00:00.000000000 +0100
-+++ kernel-source-2.4.26/README.BENH 2004-07-31 18:36:22.000000000 +0200
+diff -urN kernel-source-2.4.27/README.BENH kernel-source-2.4.27-benh/README.BENH
+--- kernel-source-2.4.27/README.BENH 1970-01-01 01:00:00.000000000 +0100
++++ kernel-source-2.4.27-benh/README.BENH 2004-09-01 20:56:31.892270696 +0200
@@ -0,0 +1,27 @@
+Welcome to my PowerMac tree.
+
Modified: trunk/kernel-2.4/powerpc/kernel-patch-powerpc-2.4.27-2.4.27/powerpc/pieces/pegasos.diff
===================================================================
--- trunk/kernel-2.4/powerpc/kernel-patch-powerpc-2.4.27-2.4.27/powerpc/pieces/pegasos.diff 2004-09-01 05:15:32 UTC (rev 1502)
+++ trunk/kernel-2.4/powerpc/kernel-patch-powerpc-2.4.27-2.4.27/powerpc/pieces/pegasos.diff 2004-09-01 19:43:37 UTC (rev 1503)
@@ -1,7 +1,7 @@
-diff -urN kernel-source-2.4.26-asfs/arch/ppc/kernel/pci.c kernel-source-2.4.26-pegasos/arch/ppc/kernel/pci.c
---- kernel-source-2.4.26-asfs/arch/ppc/kernel/pci.c 2004-06-30 17:01:45.000000000 +0200
-+++ kernel-source-2.4.26-pegasos/arch/ppc/kernel/pci.c 2004-07-01 14:56:41.636114440 +0200
-@@ -1334,6 +1334,8 @@
+diff -urN kernel-source-2.4.27/arch/ppc/kernel/pci.c kernel-source-2.4.27-pegasos/arch/ppc/kernel/pci.c
+--- kernel-source-2.4.27/arch/ppc/kernel/pci.c 2003-08-25 13:44:40.000000000 +0200
++++ kernel-source-2.4.27-pegasos/arch/ppc/kernel/pci.c 2004-09-01 21:07:12.149936736 +0200
+@@ -1280,6 +1280,8 @@
#ifdef CONFIG_ALL_PPC
if (machine_is_compatible("MacRISC"))
bus_offset = 0x10;
@@ -10,10 +10,10 @@
else
#endif
bus_offset = 1;
-diff -urN kernel-source-2.4.26-asfs/arch/ppc/kernel/prom.c kernel-source-2.4.26-pegasos/arch/ppc/kernel/prom.c
---- kernel-source-2.4.26-asfs/arch/ppc/kernel/prom.c 2004-06-30 17:01:45.000000000 +0200
-+++ kernel-source-2.4.26-pegasos/arch/ppc/kernel/prom.c 2004-07-01 14:54:30.387067328 +0200
-@@ -905,6 +905,20 @@
+diff -urN kernel-source-2.4.27/arch/ppc/kernel/prom.c kernel-source-2.4.27-pegasos/arch/ppc/kernel/prom.c
+--- kernel-source-2.4.27/arch/ppc/kernel/prom.c 2003-08-25 13:44:40.000000000 +0200
++++ kernel-source-2.4.27-pegasos/arch/ppc/kernel/prom.c 2004-09-01 21:07:12.151936432 +0200
+@@ -894,6 +894,20 @@
return device_is_compatible(root, compat);
}
@@ -34,10 +34,10 @@
/*
* Construct and return a list of the device_nodes with a given type
* and compatible property.
-diff -urN kernel-source-2.4.26-asfs/arch/ppc/kernel/prom_init.c kernel-source-2.4.26-pegasos/arch/ppc/kernel/prom_init.c
---- kernel-source-2.4.26-asfs/arch/ppc/kernel/prom_init.c 2004-06-30 17:01:45.000000000 +0200
-+++ kernel-source-2.4.26-pegasos/arch/ppc/kernel/prom_init.c 2004-07-01 14:54:30.478053496 +0200
-@@ -789,6 +789,9 @@
+diff -urN kernel-source-2.4.27/arch/ppc/kernel/prom_init.c kernel-source-2.4.27-pegasos/arch/ppc/kernel/prom_init.c
+--- kernel-source-2.4.27/arch/ppc/kernel/prom_init.c 2003-11-28 19:26:19.000000000 +0100
++++ kernel-source-2.4.27-pegasos/arch/ppc/kernel/prom_init.c 2004-09-01 21:07:12.153936128 +0200
+@@ -765,6 +765,9 @@
char *p, *d;
unsigned long phys;
void *result[3];
@@ -47,7 +47,7 @@
/* Default */
phys = (unsigned long) &_stext;
-@@ -880,6 +883,10 @@
+@@ -856,6 +859,10 @@
prom_print("from prom_init\n");
prom_stdout = 0;
@@ -58,9 +58,9 @@
return phys;
}
-diff -urN kernel-source-2.4.26-asfs/arch/ppc/platforms/chrp_pci.c kernel-source-2.4.26-pegasos/arch/ppc/platforms/chrp_pci.c
---- kernel-source-2.4.26-asfs/arch/ppc/platforms/chrp_pci.c 2003-06-01 05:06:23.000000000 +0200
-+++ kernel-source-2.4.26-pegasos/arch/ppc/platforms/chrp_pci.c 2004-07-01 14:54:30.652027048 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/platforms/chrp_pci.c kernel-source-2.4.27-pegasos/arch/ppc/platforms/chrp_pci.c
+--- kernel-source-2.4.27/arch/ppc/platforms/chrp_pci.c 2003-06-13 16:51:31.000000000 +0200
++++ kernel-source-2.4.27-pegasos/arch/ppc/platforms/chrp_pci.c 2004-09-01 21:07:12.155935824 +0200
@@ -158,6 +158,111 @@
rtas_write_config_dword
};
@@ -214,9 +214,9 @@
else
ppc_md.pcibios_fixup = chrp_pcibios_fixup;
}
-diff -urN kernel-source-2.4.26-asfs/arch/ppc/platforms/chrp_setup.c kernel-source-2.4.26-pegasos/arch/ppc/platforms/chrp_setup.c
---- kernel-source-2.4.26-asfs/arch/ppc/platforms/chrp_setup.c 2003-08-30 08:01:33.000000000 +0200
-+++ kernel-source-2.4.26-pegasos/arch/ppc/platforms/chrp_setup.c 2004-07-01 14:54:30.739013824 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/platforms/chrp_setup.c kernel-source-2.4.27-pegasos/arch/ppc/platforms/chrp_setup.c
+--- kernel-source-2.4.27/arch/ppc/platforms/chrp_setup.c 2003-08-25 13:44:40.000000000 +0200
++++ kernel-source-2.4.27-pegasos/arch/ppc/platforms/chrp_setup.c 2004-09-01 21:07:12.157935520 +0200
@@ -220,6 +220,37 @@
}
}
@@ -317,9 +317,9 @@
ppc_md.init = chrp_init2;
-diff -urN kernel-source-2.4.26-asfs/arch/ppc/platforms/chrp_time.c kernel-source-2.4.26-pegasos/arch/ppc/platforms/chrp_time.c
---- kernel-source-2.4.26-asfs/arch/ppc/platforms/chrp_time.c 2003-08-30 08:01:33.000000000 +0200
-+++ kernel-source-2.4.26-pegasos/arch/ppc/platforms/chrp_time.c 2004-07-01 14:54:30.741013520 +0200
+diff -urN kernel-source-2.4.27/arch/ppc/platforms/chrp_time.c kernel-source-2.4.27-pegasos/arch/ppc/platforms/chrp_time.c
+--- kernel-source-2.4.27/arch/ppc/platforms/chrp_time.c 2003-08-25 13:44:40.000000000 +0200
++++ kernel-source-2.4.27-pegasos/arch/ppc/platforms/chrp_time.c 2004-09-01 21:07:12.157935520 +0200
@@ -41,8 +41,11 @@
int base;
@@ -332,9 +332,9 @@
base = rtcs->addrs[0].address;
nvram_as1 = 0;
nvram_as0 = base;
-diff -urN kernel-source-2.4.26-asfs/drivers/ide/pci/via82cxxx.c kernel-source-2.4.26-pegasos/drivers/ide/pci/via82cxxx.c
---- kernel-source-2.4.26-asfs/drivers/ide/pci/via82cxxx.c 2003-08-30 08:01:37.000000000 +0200
-+++ kernel-source-2.4.26-pegasos/drivers/ide/pci/via82cxxx.c 2004-07-01 14:54:11.709906688 +0200
+diff -urN kernel-source-2.4.27/drivers/ide/pci/via82cxxx.c kernel-source-2.4.27-pegasos/drivers/ide/pci/via82cxxx.c
+--- kernel-source-2.4.27/drivers/ide/pci/via82cxxx.c 2003-08-25 13:44:41.000000000 +0200
++++ kernel-source-2.4.27-pegasos/drivers/ide/pci/via82cxxx.c 2004-09-01 21:07:12.231924272 +0200
@@ -90,6 +90,7 @@
{ "vt82c586b", PCI_DEVICE_ID_VIA_82C586_0, 0x30, 0x3f, VIA_UDMA_33 | VIA_SET_FIFO },
{ "vt82c586a", PCI_DEVICE_ID_VIA_82C586_0, 0x20, 0x2f, VIA_UDMA_33 | VIA_SET_FIFO },
@@ -352,10 +352,10 @@
for (i = 0; i < 2; i++) {
hwif->drives[i].io_32bit = 1;
hwif->drives[i].unmask = (via_config->flags & VIA_NO_UNMASK) ? 0 : 1;
-diff -urN kernel-source-2.4.26-asfs/drivers/net/via-rhine.c kernel-source-2.4.26-pegasos/drivers/net/via-rhine.c
---- kernel-source-2.4.26-asfs/drivers/net/via-rhine.c 2003-11-29 10:53:36.000000000 +0100
-+++ kernel-source-2.4.26-pegasos/drivers/net/via-rhine.c 2004-07-01 14:54:08.665369528 +0200
-@@ -740,7 +740,7 @@
+diff -urN kernel-source-2.4.27/drivers/net/via-rhine.c kernel-source-2.4.27-pegasos/drivers/net/via-rhine.c
+--- kernel-source-2.4.27/drivers/net/via-rhine.c 2004-08-24 07:53:14.000000000 +0200
++++ kernel-source-2.4.27-pegasos/drivers/net/via-rhine.c 2004-09-01 21:07:12.234923816 +0200
+@@ -750,7 +750,7 @@
if (!is_valid_ether_addr(dev->dev_addr)) {
printk(KERN_ERR "Invalid MAC address for card #%d\n", card_idx);
@@ -364,10 +364,23 @@
}
if (chip_id == VT6102) {
-diff -urN kernel-source-2.4.26-asfs/include/linux/pci_ids.h kernel-source-2.4.26-pegasos/include/linux/pci_ids.h
---- kernel-source-2.4.26-asfs/include/linux/pci_ids.h 2004-06-30 17:02:18.000000000 +0200
-+++ kernel-source-2.4.26-pegasos/include/linux/pci_ids.h 2004-07-01 14:54:01.000000000 +0200
-@@ -1353,10 +1353,12 @@
+diff -urN kernel-source-2.4.27/include/asm-ppc/pci-bridge.h kernel-source-2.4.27-pegasos/include/asm-ppc/pci-bridge.h
+--- kernel-source-2.4.27/include/asm-ppc/pci-bridge.h 2003-08-25 13:44:44.000000000 +0200
++++ kernel-source-2.4.27-pegasos/include/asm-ppc/pci-bridge.h 2004-09-01 21:07:12.239923056 +0200
+@@ -85,6 +85,9 @@
+ */
+ struct resource io_space;
+ struct resource mem_space;
++
++ /* Pegasos 2 magic mapping */
++ volatile unsigned int *cfg_peg2_magic;
+ };
+
+ /* These are used for config access before all the PCI probing
+diff -urN kernel-source-2.4.27/include/linux/pci_ids.h kernel-source-2.4.27-pegasos/include/linux/pci_ids.h
+--- kernel-source-2.4.27/include/linux/pci_ids.h 2004-08-24 07:53:14.000000000 +0200
++++ kernel-source-2.4.27-pegasos/include/linux/pci_ids.h 2004-09-01 21:07:12.238923208 +0200
+@@ -1330,10 +1330,12 @@
#define PCI_SUBDEVICE_ID_KEYSPAN_SX2 0x5334
#define PCI_VENDOR_ID_GALILEO 0x11ab
@@ -380,16 +393,3 @@
#define PCI_VENDOR_ID_LITEON 0x11ad
#define PCI_DEVICE_ID_LITEON_LNE100TX 0x0002
-diff -urN kernel-source-2.4.26.orig/include/asm-ppc/pci-bridge.h kernel-source-2.4.26/include/asm-ppc/pci-bridge.h
---- kernel-source-2.4.26.orig/include/asm-ppc/pci-bridge.h 2003-08-30 08:01:48.000000000 +0200
-+++ kernel-source-2.4.26/include/asm-ppc/pci-bridge.h 2004-04-08 16:45:00.000000000 +0200
-@@ -85,6 +85,9 @@
- */
- struct resource io_space;
- struct resource mem_space;
-+
-+ /* Pegasos 2 magic mapping */
-+ volatile unsigned int *cfg_peg2_magic;
- };
-
- /* These are used for config access before all the PCI probing