r3964 - in trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian: . config/mips config/mipsel control.in patches patches-2.4

Thiemo Seufer ths-guest at costa.debian.org
Wed Aug 17 19:38:07 UTC 2005


Author: ths-guest
Date: 2005-08-17 19:38:05 +0000 (Wed, 17 Aug 2005)
New Revision: 3964

Added:
   trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/config/mipsel/r5k-cobalt
Removed:
   trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/patches-2.4/10_cobalt-patch.dpatch
Modified:
   trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/
   trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/config/mips/r10k-ip27
   trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/config/mips/r10k-ip30
   trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/config/mips/r4k-ip22
   trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/config/mips/r5k-ip32
   trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/config/mips/sb1-swarm-bn
   trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/config/mipsel/sb1-swarm-bn
   trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/control.in/stub
   trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/flavours.mipsel
   trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/patches/10_arch-makefile.dpatch
   trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/patches/21_ip30.dpatch
   trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/rules
   trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/sourceversion
Log:
Inching closer to something releasable.



Property changes on: trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian
___________________________________________________________________
Name: svn:ignore
   + control


Modified: trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/config/mips/r10k-ip27
===================================================================
--- trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/config/mips/r10k-ip27	2005-08-17 16:06:19 UTC (rev 3963)
+++ trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/config/mips/r10k-ip27	2005-08-17 19:38:05 UTC (rev 3964)
@@ -336,12 +336,12 @@
 # Multi-device support (RAID and LVM)
 #
 CONFIG_MD=y
-CONFIG_BLK_DEV_MD=m
+CONFIG_BLK_DEV_MD=y
 CONFIG_MD_LINEAR=m
-CONFIG_MD_RAID0=m
-CONFIG_MD_RAID1=m
+CONFIG_MD_RAID0=y
+CONFIG_MD_RAID1=y
 CONFIG_MD_RAID10=m
-CONFIG_MD_RAID5=m
+CONFIG_MD_RAID5=y
 CONFIG_MD_RAID6=m
 CONFIG_MD_MULTIPATH=m
 CONFIG_MD_FAULTY=m

Modified: trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/config/mips/r10k-ip30
===================================================================
--- trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/config/mips/r10k-ip30	2005-08-17 16:06:19 UTC (rev 3963)
+++ trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/config/mips/r10k-ip30	2005-08-17 19:38:05 UTC (rev 3964)
@@ -339,10 +339,10 @@
 CONFIG_MD_LINEAR=m
 CONFIG_MD_RAID0=y
 CONFIG_MD_RAID1=y
-# CONFIG_MD_RAID10 is not set
+CONFIG_MD_RAID10=m
 CONFIG_MD_RAID5=y
 CONFIG_MD_RAID6=m
-CONFIG_MD_MULTIPATH=m
+# CONFIG_MD_MULTIPATH is not set
 CONFIG_MD_FAULTY=m
 CONFIG_BLK_DEV_DM=m
 CONFIG_DM_CRYPT=m

Modified: trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/config/mips/r4k-ip22
===================================================================
--- trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/config/mips/r4k-ip22	2005-08-17 16:06:19 UTC (rev 3963)
+++ trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/config/mips/r4k-ip22	2005-08-17 19:38:05 UTC (rev 3964)
@@ -324,12 +324,12 @@
 # Multi-device support (RAID and LVM)
 #
 CONFIG_MD=y
-CONFIG_BLK_DEV_MD=m
+CONFIG_BLK_DEV_MD=y
 CONFIG_MD_LINEAR=m
-CONFIG_MD_RAID0=m
-CONFIG_MD_RAID1=m
+CONFIG_MD_RAID0=y
+CONFIG_MD_RAID1=y
 CONFIG_MD_RAID10=m
-CONFIG_MD_RAID5=m
+CONFIG_MD_RAID5=y
 CONFIG_MD_RAID6=m
 # CONFIG_MD_MULTIPATH is not set
 CONFIG_MD_FAULTY=m

Modified: trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/config/mips/r5k-ip32
===================================================================
--- trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/config/mips/r5k-ip32	2005-08-17 16:06:19 UTC (rev 3963)
+++ trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/config/mips/r5k-ip32	2005-08-17 19:38:05 UTC (rev 3964)
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
 # Linux kernel version: 2.6.12
-# Wed Jul 13 16:20:07 2005
+# Wed Aug 17 12:08:43 2005
 #
 CONFIG_MIPS=y
 
@@ -24,11 +24,10 @@
 CONFIG_BSD_PROCESS_ACCT=y
 # CONFIG_BSD_PROCESS_ACCT_V3 is not set
 CONFIG_SYSCTL=y
-CONFIG_AUDIT=y
+# CONFIG_AUDIT is not set
 CONFIG_HOTPLUG=y
 CONFIG_KOBJECT_UEVENT=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
+# CONFIG_IKCONFIG is not set
 CONFIG_EMBEDDED=y
 CONFIG_KALLSYMS=y
 # CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -51,7 +50,7 @@
 #
 CONFIG_MODULES=y
 CONFIG_MODULE_UNLOAD=y
-# CONFIG_MODULE_FORCE_UNLOAD is not set
+CONFIG_MODULE_FORCE_UNLOAD=y
 CONFIG_OBSOLETE_MODPARM=y
 CONFIG_MODVERSIONS=y
 # CONFIG_MODULE_SRCVERSION_ALL is not set
@@ -294,21 +293,24 @@
 #
 # CONFIG_BLK_DEV_FD is not set
 # CONFIG_PARIDE is not set
-# CONFIG_BLK_CPQ_DA is not set
-# CONFIG_BLK_CPQ_CISS_DA is not set
-# CONFIG_BLK_DEV_DAC960 is not set
-# CONFIG_BLK_DEV_UMEM is not set
+CONFIG_BLK_CPQ_DA=m
+CONFIG_BLK_CPQ_CISS_DA=m
+CONFIG_CISS_SCSI_TAPE=y
+CONFIG_BLK_DEV_DAC960=m
+CONFIG_BLK_DEV_UMEM=m
 # CONFIG_BLK_DEV_COW_COMMON is not set
 CONFIG_BLK_DEV_LOOP=m
 CONFIG_BLK_DEV_CRYPTOLOOP=m
 CONFIG_BLK_DEV_NBD=m
-# CONFIG_BLK_DEV_SX8 is not set
+CONFIG_BLK_DEV_SX8=m
 CONFIG_BLK_DEV_RAM=y
 CONFIG_BLK_DEV_RAM_COUNT=16
 CONFIG_BLK_DEV_RAM_SIZE=8192
 CONFIG_BLK_DEV_INITRD=y
 CONFIG_INITRAMFS_SOURCE=""
-# CONFIG_CDROM_PKTCDVD is not set
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
 
 #
 # IO Schedulers
@@ -317,7 +319,7 @@
 CONFIG_IOSCHED_AS=m
 CONFIG_IOSCHED_DEADLINE=m
 CONFIG_IOSCHED_CFQ=m
-# CONFIG_ATA_OVER_ETH is not set
+CONFIG_ATA_OVER_ETH=m
 
 #
 # ATA/ATAPI/MFM/RLL support
@@ -335,7 +337,7 @@
 #
 CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_ST=m
-# CONFIG_CHR_DEV_OSST is not set
+CONFIG_CHR_DEV_OSST=m
 CONFIG_BLK_DEV_SR=y
 # CONFIG_BLK_DEV_SR_VENDOR is not set
 CONFIG_CHR_DEV_SG=m
@@ -344,67 +346,95 @@
 #
 # Some SCSI devices (e.g. CD jukebox) support multiple LUNs
 #
-# CONFIG_SCSI_MULTI_LUN is not set
+CONFIG_SCSI_MULTI_LUN=y
 CONFIG_SCSI_CONSTANTS=y
-# CONFIG_SCSI_LOGGING is not set
+CONFIG_SCSI_LOGGING=y
 
 #
 # SCSI Transport Attributes
 #
 CONFIG_SCSI_SPI_ATTRS=y
-# CONFIG_SCSI_FC_ATTRS is not set
+CONFIG_SCSI_FC_ATTRS=m
 # CONFIG_SCSI_ISCSI_ATTRS is not set
 
 #
 # SCSI low-level drivers
 #
-# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
-# CONFIG_SCSI_3W_9XXX is not set
-# CONFIG_SCSI_ACARD is not set
-# CONFIG_SCSI_AACRAID is not set
+CONFIG_BLK_DEV_3W_XXXX_RAID=m
+CONFIG_SCSI_3W_9XXX=m
+CONFIG_SCSI_ACARD=m
+CONFIG_SCSI_AACRAID=m
 CONFIG_SCSI_AIC7XXX=y
 CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
-CONFIG_AIC7XXX_RESET_DELAY_MS=1000
+CONFIG_AIC7XXX_RESET_DELAY_MS=5000
 CONFIG_AIC7XXX_DEBUG_ENABLE=y
 CONFIG_AIC7XXX_DEBUG_MASK=0
 CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
-# CONFIG_SCSI_AIC7XXX_OLD is not set
-# CONFIG_SCSI_AIC79XX is not set
-# CONFIG_SCSI_ADVANSYS is not set
-# CONFIG_MEGARAID_NEWGEN is not set
-# CONFIG_MEGARAID_LEGACY is not set
-# CONFIG_SCSI_SATA is not set
+CONFIG_SCSI_AIC7XXX_OLD=m
+CONFIG_SCSI_AIC79XX=m
+CONFIG_AIC79XX_CMDS_PER_DEVICE=32
+CONFIG_AIC79XX_RESET_DELAY_MS=5000
+CONFIG_AIC79XX_ENABLE_RD_STRM=y
+CONFIG_AIC79XX_DEBUG_ENABLE=y
+CONFIG_AIC79XX_DEBUG_MASK=0
+CONFIG_AIC79XX_REG_PRETTY_PRINT=y
+CONFIG_SCSI_ADVANSYS=m
+CONFIG_MEGARAID_NEWGEN=y
+CONFIG_MEGARAID_MM=m
+CONFIG_MEGARAID_MAILBOX=m
+CONFIG_MEGARAID_LEGACY=m
+CONFIG_SCSI_SATA=y
+CONFIG_SCSI_SATA_AHCI=m
+CONFIG_SCSI_SATA_SVW=m
+# CONFIG_SCSI_ATA_PIIX is not set
+# CONFIG_SCSI_SATA_NV is not set
+CONFIG_SCSI_SATA_PROMISE=m
+CONFIG_SCSI_SATA_QSTOR=m
+CONFIG_SCSI_SATA_SX4=m
+CONFIG_SCSI_SATA_SIL=m
+CONFIG_SCSI_SATA_SIS=m
+CONFIG_SCSI_SATA_ULI=m
+CONFIG_SCSI_SATA_VIA=m
+CONFIG_SCSI_SATA_VITESSE=m
 # CONFIG_SCSI_CPQFCTS is not set
-# CONFIG_SCSI_DMX3191D is not set
-# CONFIG_SCSI_EATA_PIO is not set
-# CONFIG_SCSI_FUTURE_DOMAIN is not set
-# CONFIG_SCSI_IPS is not set
-# CONFIG_SCSI_INITIO is not set
+CONFIG_SCSI_DMX3191D=m
+CONFIG_SCSI_EATA_PIO=m
+CONFIG_SCSI_FUTURE_DOMAIN=m
+CONFIG_SCSI_IPS=m
+CONFIG_SCSI_INITIO=m
 # CONFIG_SCSI_INIA100 is not set
 # CONFIG_SCSI_PPA is not set
 # CONFIG_SCSI_IMM is not set
-# CONFIG_SCSI_SYM53C8XX_2 is not set
-# CONFIG_SCSI_IPR is not set
+CONFIG_SCSI_SYM53C8XX_2=m
+CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
+CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
+CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
+# CONFIG_SCSI_SYM53C8XX_IOMAPPED is not set
+CONFIG_SCSI_IPR=m
+# CONFIG_SCSI_IPR_TRACE is not set
+# CONFIG_SCSI_IPR_DUMP is not set
 # CONFIG_SCSI_PCI2000 is not set
 # CONFIG_SCSI_PCI2220I is not set
-# CONFIG_SCSI_QLOGIC_ISP is not set
-# CONFIG_SCSI_QLOGIC_FC is not set
-# CONFIG_SCSI_QLOGIC_1280 is not set
-# CONFIG_SCSI_LPFC is not set
-# CONFIG_SCSI_DC395x is not set
-# CONFIG_SCSI_DC390T is not set
-# CONFIG_SCSI_DEBUG is not set
+CONFIG_SCSI_QLOGIC_ISP=m
+CONFIG_SCSI_QLOGIC_FC=m
+CONFIG_SCSI_QLOGIC_FC_FIRMWARE=y
+CONFIG_SCSI_QLOGIC_1280=m
+CONFIG_SCSI_QLOGIC_1280_1040=y
+CONFIG_SCSI_LPFC=m
+CONFIG_SCSI_DC395x=m
+CONFIG_SCSI_DC390T=m
+CONFIG_SCSI_DEBUG=m
 
 #
 # Multi-device support (RAID and LVM)
 #
 CONFIG_MD=y
-CONFIG_BLK_DEV_MD=m
+CONFIG_BLK_DEV_MD=y
 CONFIG_MD_LINEAR=m
-CONFIG_MD_RAID0=m
-CONFIG_MD_RAID1=m
+CONFIG_MD_RAID0=y
+CONFIG_MD_RAID1=y
 CONFIG_MD_RAID10=m
-CONFIG_MD_RAID5=m
+CONFIG_MD_RAID5=y
 CONFIG_MD_RAID6=m
 # CONFIG_MD_MULTIPATH is not set
 CONFIG_MD_FAULTY=m
@@ -418,17 +448,50 @@
 #
 # Fusion MPT device support
 #
-# CONFIG_FUSION is not set
+CONFIG_FUSION=m
+CONFIG_FUSION_MAX_SGE=40
+CONFIG_FUSION_CTL=m
+CONFIG_FUSION_LAN=m
 
 #
 # IEEE 1394 (FireWire) support
 #
-# CONFIG_IEEE1394 is not set
+CONFIG_IEEE1394=m
 
 #
+# Subsystem Options
+#
+# CONFIG_IEEE1394_VERBOSEDEBUG is not set
+# CONFIG_IEEE1394_OUI_DB is not set
+CONFIG_IEEE1394_EXTRA_CONFIG_ROMS=y
+CONFIG_IEEE1394_CONFIG_ROM_IP1394=y
+
+#
+# Device Drivers
+#
+CONFIG_IEEE1394_PCILYNX=m
+CONFIG_IEEE1394_OHCI1394=m
+
+#
+# Protocol Drivers
+#
+CONFIG_IEEE1394_VIDEO1394=m
+CONFIG_IEEE1394_SBP2=m
+# CONFIG_IEEE1394_SBP2_PHYS_DMA is not set
+CONFIG_IEEE1394_ETH1394=m
+CONFIG_IEEE1394_DV1394=m
+CONFIG_IEEE1394_RAWIO=m
+CONFIG_IEEE1394_CMP=m
+CONFIG_IEEE1394_AMDTP=m
+
+#
 # I2O device support
 #
-# CONFIG_I2O is not set
+CONFIG_I2O=m
+CONFIG_I2O_CONFIG=m
+CONFIG_I2O_BLOCK=m
+CONFIG_I2O_SCSI=m
+CONFIG_I2O_PROC=m
 
 #
 # Networking support
@@ -438,20 +501,28 @@
 #
 # Networking options
 #
-CONFIG_PACKET=y
+CONFIG_PACKET=m
 CONFIG_PACKET_MMAP=y
 CONFIG_UNIX=y
 CONFIG_NET_KEY=y
 CONFIG_INET=y
 CONFIG_IP_MULTICAST=y
-# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_ADVANCED_ROUTER=y
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_FWMARK=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+# CONFIG_IP_ROUTE_MULTIPATH_CACHED is not set
+CONFIG_IP_ROUTE_VERBOSE=y
 CONFIG_IP_PNP=y
 # CONFIG_IP_PNP_DHCP is not set
 CONFIG_IP_PNP_BOOTP=y
 # CONFIG_IP_PNP_RARP is not set
 # CONFIG_NET_IPIP is not set
-# CONFIG_NET_IPGRE is not set
-# CONFIG_IP_MROUTE is not set
+CONFIG_NET_IPGRE=m
+CONFIG_NET_IPGRE_BROADCAST=y
+CONFIG_IP_MROUTE=y
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
 # CONFIG_ARPD is not set
 CONFIG_SYN_COOKIES=y
 CONFIG_INET_AH=m
@@ -474,6 +545,7 @@
 CONFIG_IPV6_TUNNEL=m
 CONFIG_NETFILTER=y
 # CONFIG_NETFILTER_DEBUG is not set
+CONFIG_BRIDGE_NETFILTER=y
 
 #
 # IP: Netfilter Configuration
@@ -506,6 +578,7 @@
 CONFIG_IP_NF_MATCH_STATE=m
 CONFIG_IP_NF_MATCH_CONNTRACK=m
 CONFIG_IP_NF_MATCH_OWNER=m
+CONFIG_IP_NF_MATCH_PHYSDEV=m
 CONFIG_IP_NF_MATCH_ADDRTYPE=m
 CONFIG_IP_NF_MATCH_REALM=m
 CONFIG_IP_NF_MATCH_SCTP=m
@@ -560,11 +633,41 @@
 CONFIG_IP6_NF_MATCH_AHESP=m
 CONFIG_IP6_NF_MATCH_LENGTH=m
 CONFIG_IP6_NF_MATCH_EUI64=m
+CONFIG_IP6_NF_MATCH_PHYSDEV=m
 CONFIG_IP6_NF_FILTER=m
 CONFIG_IP6_NF_TARGET_LOG=m
 CONFIG_IP6_NF_MANGLE=m
 CONFIG_IP6_NF_TARGET_MARK=m
 CONFIG_IP6_NF_RAW=m
+
+#
+# DECnet: Netfilter Configuration
+#
+CONFIG_DECNET_NF_GRABULATOR=m
+
+#
+# Bridge: Netfilter Configuration
+#
+CONFIG_BRIDGE_NF_EBTABLES=m
+CONFIG_BRIDGE_EBT_BROUTE=m
+CONFIG_BRIDGE_EBT_T_FILTER=m
+CONFIG_BRIDGE_EBT_T_NAT=m
+CONFIG_BRIDGE_EBT_802_3=m
+CONFIG_BRIDGE_EBT_AMONG=m
+CONFIG_BRIDGE_EBT_ARP=m
+CONFIG_BRIDGE_EBT_IP=m
+CONFIG_BRIDGE_EBT_LIMIT=m
+CONFIG_BRIDGE_EBT_MARK=m
+CONFIG_BRIDGE_EBT_PKTTYPE=m
+CONFIG_BRIDGE_EBT_STP=m
+CONFIG_BRIDGE_EBT_VLAN=m
+CONFIG_BRIDGE_EBT_ARPREPLY=m
+CONFIG_BRIDGE_EBT_DNAT=m
+CONFIG_BRIDGE_EBT_MARK_T=m
+CONFIG_BRIDGE_EBT_REDIRECT=m
+CONFIG_BRIDGE_EBT_SNAT=m
+CONFIG_BRIDGE_EBT_LOG=m
+CONFIG_BRIDGE_EBT_ULOG=m
 CONFIG_XFRM=y
 CONFIG_XFRM_USER=y
 
@@ -577,29 +680,45 @@
 # CONFIG_SCTP_HMAC_NONE is not set
 # CONFIG_SCTP_HMAC_SHA1 is not set
 CONFIG_SCTP_HMAC_MD5=y
-# CONFIG_ATM is not set
-# CONFIG_BRIDGE is not set
+CONFIG_ATM=y
+CONFIG_ATM_CLIP=y
+# CONFIG_ATM_CLIP_NO_ICMP is not set
+CONFIG_ATM_LANE=m
+CONFIG_ATM_MPOA=m
+CONFIG_ATM_BR2684=m
+# CONFIG_ATM_BR2684_IPFILTER is not set
+CONFIG_BRIDGE=m
 # CONFIG_VLAN_8021Q is not set
-# CONFIG_DECNET is not set
-# CONFIG_LLC2 is not set
-# CONFIG_IPX is not set
-# CONFIG_ATALK is not set
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
+CONFIG_DECNET=m
+# CONFIG_DECNET_ROUTER is not set
+CONFIG_LLC=m
+CONFIG_LLC2=m
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+CONFIG_ATALK=m
+CONFIG_DEV_APPLETALK=y
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+CONFIG_IPDDP_DECAP=y
+CONFIG_X25=m
+CONFIG_LAPB=m
 # CONFIG_NET_DIVERT is not set
-# CONFIG_ECONET is not set
-# CONFIG_WAN_ROUTER is not set
+CONFIG_ECONET=m
+CONFIG_ECONET_AUNUDP=y
+CONFIG_ECONET_NATIVE=y
+CONFIG_WAN_ROUTER=m
 
 #
 # QoS and/or fair queueing
 #
 CONFIG_NET_SCHED=y
-# CONFIG_NET_SCH_CLK_JIFFIES is not set
-CONFIG_NET_SCH_CLK_GETTIMEOFDAY=y
+CONFIG_NET_SCH_CLK_JIFFIES=y
+# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set
 # CONFIG_NET_SCH_CLK_CPU is not set
 CONFIG_NET_SCH_CBQ=m
 CONFIG_NET_SCH_HTB=m
 CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_ATM=m
 CONFIG_NET_SCH_PRIO=m
 CONFIG_NET_SCH_RED=m
 CONFIG_NET_SCH_SFQ=m
@@ -620,7 +739,7 @@
 CONFIG_NET_CLS_U32=m
 # CONFIG_CLS_U32_PERF is not set
 # CONFIG_NET_CLS_IND is not set
-CONFIG_CLS_U32_MARK=y
+# CONFIG_CLS_U32_MARK is not set
 CONFIG_NET_CLS_RSVP=m
 CONFIG_NET_CLS_RSVP6=m
 CONFIG_NET_EMATCH=y
@@ -635,15 +754,107 @@
 #
 # Network testing
 #
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_NETPOLL is not set
-# CONFIG_NET_POLL_CONTROLLER is not set
-# CONFIG_HAMRADIO is not set
-# CONFIG_IRDA is not set
-# CONFIG_BT is not set
+CONFIG_NET_PKTGEN=m
+CONFIG_NETPOLL=y
+# CONFIG_NETPOLL_RX is not set
+# CONFIG_NETPOLL_TRAP is not set
+CONFIG_NET_POLL_CONTROLLER=y
+CONFIG_HAMRADIO=y
+
+#
+# Packet Radio protocols
+#
+CONFIG_AX25=m
+# CONFIG_AX25_DAMA_SLAVE is not set
+CONFIG_NETROM=m
+CONFIG_ROSE=m
+
+#
+# AX.25 network device drivers
+#
+CONFIG_MKISS=m
+CONFIG_6PACK=m
+CONFIG_BPQETHER=m
+CONFIG_BAYCOM_SER_FDX=m
+CONFIG_BAYCOM_SER_HDX=m
+CONFIG_BAYCOM_PAR=m
+CONFIG_YAM=m
+CONFIG_IRDA=m
+
+#
+# IrDA protocols
+#
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+# CONFIG_IRDA_ULTRA is not set
+
+#
+# IrDA options
+#
+CONFIG_IRDA_CACHE_LAST_LSAP=y
+CONFIG_IRDA_FAST_RR=y
+CONFIG_IRDA_DEBUG=y
+
+#
+# Infrared-port device drivers
+#
+
+#
+# SIR device drivers
+#
+CONFIG_IRTTY_SIR=m
+
+#
+# Dongle support
+#
+CONFIG_DONGLE=y
+CONFIG_ESI_DONGLE=m
+CONFIG_ACTISYS_DONGLE=m
+CONFIG_TEKRAM_DONGLE=m
+CONFIG_LITELINK_DONGLE=m
+CONFIG_MA600_DONGLE=m
+CONFIG_GIRBIL_DONGLE=m
+CONFIG_MCP2120_DONGLE=m
+CONFIG_OLD_BELKIN_DONGLE=m
+CONFIG_ACT200L_DONGLE=m
+
+#
+# Old SIR device drivers
+#
+CONFIG_IRPORT_SIR=m
+
+#
+# Old Serial dongle support
+#
+# CONFIG_DONGLE_OLD is not set
+
+#
+# FIR device drivers
+#
+CONFIG_VLSI_FIR=m
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_CMTP=m
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+# CONFIG_BT_HCIUART_BCSP_TXCRC is not set
+CONFIG_BT_HCIVHCI=m
 CONFIG_NETDEVICES=y
 CONFIG_DUMMY=m
-# CONFIG_BONDING is not set
+CONFIG_BONDING=m
 CONFIG_EQUALIZER=m
 CONFIG_TUN=m
 
@@ -660,33 +871,74 @@
 CONFIG_SGI_O2MACE_ETH=y
 # CONFIG_HAPPYMEAL is not set
 # CONFIG_SUNGEM is not set
-# CONFIG_NET_VENDOR_3COM is not set
+CONFIG_NET_VENDOR_3COM=y
+CONFIG_VORTEX=m
+CONFIG_TYPHOON=m
 
 #
 # Tulip family network device support
 #
-# CONFIG_NET_TULIP is not set
-# CONFIG_HP100 is not set
-# CONFIG_NET_PCI is not set
+CONFIG_NET_TULIP=y
+CONFIG_DE2104X=m
+CONFIG_TULIP=m
+# CONFIG_TULIP_MWI is not set
+# CONFIG_TULIP_MMIO is not set
+# CONFIG_TULIP_NAPI is not set
+CONFIG_DE4X5=m
+CONFIG_WINBOND_840=m
+CONFIG_DM9102=m
+CONFIG_HP100=m
+CONFIG_NET_PCI=y
+CONFIG_PCNET32=m
+CONFIG_AMD8111_ETH=m
+# CONFIG_AMD8111E_NAPI is not set
+CONFIG_ADAPTEC_STARFIRE=m
+# CONFIG_ADAPTEC_STARFIRE_NAPI is not set
+CONFIG_B44=m
+# CONFIG_FORCEDETH is not set
+CONFIG_EEPRO100=m
+CONFIG_E100=m
+CONFIG_FEALNX=m
+CONFIG_NATSEMI=m
+CONFIG_NE2K_PCI=m
+CONFIG_8139CP=m
+CONFIG_8139TOO=m
+CONFIG_8139TOO_PIO=y
+CONFIG_8139TOO_TUNE_TWISTER=y
+CONFIG_8139TOO_8129=y
+# CONFIG_8139_OLD_RX_RESET is not set
+# CONFIG_SIS900 is not set
+CONFIG_EPIC100=m
+CONFIG_SUNDANCE=m
+# CONFIG_SUNDANCE_MMIO is not set
+CONFIG_VIA_RHINE=m
+# CONFIG_VIA_RHINE_MMIO is not set
+# CONFIG_LAN_SAA9730 is not set
 
 #
 # Ethernet (1000 Mbit)
 #
-# CONFIG_DL2K is not set
-# CONFIG_E1000 is not set
-# CONFIG_NS83820 is not set
-# CONFIG_HAMACHI is not set
-# CONFIG_YELLOWFIN is not set
-# CONFIG_R8169 is not set
-# CONFIG_SK98LIN is not set
-# CONFIG_TIGON3 is not set
-# CONFIG_BNX2 is not set
+CONFIG_DL2K=m
+CONFIG_E1000=m
+# CONFIG_E1000_NAPI is not set
+CONFIG_NS83820=m
+CONFIG_HAMACHI=m
+CONFIG_YELLOWFIN=m
+CONFIG_R8169=m
+# CONFIG_R8169_NAPI is not set
+CONFIG_SK98LIN=m
+CONFIG_VIA_VELOCITY=m
+CONFIG_TIGON3=m
+CONFIG_BNX2=m
 
 #
 # Ethernet (10000 Mbit)
 #
-# CONFIG_IXGB is not set
-# CONFIG_S2IO is not set
+CONFIG_IXGB=m
+# CONFIG_IXGB_NAPI is not set
+CONFIG_S2IO=m
+# CONFIG_S2IO_NAPI is not set
+# CONFIG_2BUFF_MODE is not set
 
 #
 # Token Ring devices
@@ -702,31 +954,168 @@
 # Wan interfaces
 #
 # CONFIG_WAN is not set
+
+#
+# ATM drivers
+#
+# CONFIG_ATM_TCP is not set
+CONFIG_ATM_LANAI=m
+CONFIG_ATM_ENI=m
+# CONFIG_ATM_ENI_DEBUG is not set
+# CONFIG_ATM_ENI_TUNE_BURST is not set
+CONFIG_ATM_FIRESTREAM=m
+# CONFIG_ATM_ZATM is not set
+CONFIG_ATM_IDT77252=m
+# CONFIG_ATM_IDT77252_DEBUG is not set
+# CONFIG_ATM_IDT77252_RCV_ALL is not set
+CONFIG_ATM_IDT77252_USE_SUNI=y
+CONFIG_ATM_AMBASSADOR=m
+# CONFIG_ATM_AMBASSADOR_DEBUG is not set
+# CONFIG_ATM_HORIZON is not set
+CONFIG_ATM_FORE200E_MAYBE=m
+CONFIG_ATM_FORE200E_PCA=y
+CONFIG_ATM_FORE200E_PCA_DEFAULT_FW=y
+CONFIG_ATM_FORE200E_USE_TASKLET=y
+CONFIG_ATM_FORE200E_TX_RETRY=16
+CONFIG_ATM_FORE200E_DEBUG=0
+CONFIG_ATM_FORE200E=m
+CONFIG_ATM_HE=m
+# CONFIG_ATM_HE_USE_SUNI is not set
 # CONFIG_FDDI is not set
 # CONFIG_HIPPI is not set
 # CONFIG_PLIP is not set
 CONFIG_PPP=m
-# CONFIG_PPP_MULTILINK is not set
+CONFIG_PPP_MULTILINK=y
 CONFIG_PPP_FILTER=y
 CONFIG_PPP_ASYNC=m
 CONFIG_PPP_SYNC_TTY=m
 CONFIG_PPP_DEFLATE=m
 CONFIG_PPP_BSDCOMP=m
 CONFIG_PPPOE=m
+CONFIG_PPPOATM=m
 CONFIG_SLIP=m
 CONFIG_SLIP_COMPRESSED=y
 CONFIG_SLIP_SMART=y
 CONFIG_SLIP_MODE_SLIP6=y
-# CONFIG_NET_FC is not set
-# CONFIG_SHAPER is not set
-# CONFIG_NETCONSOLE is not set
+CONFIG_NET_FC=y
+CONFIG_SHAPER=m
+CONFIG_NETCONSOLE=m
 
 #
 # ISDN subsystem
 #
-# CONFIG_ISDN is not set
+CONFIG_ISDN=m
 
 #
+# Old ISDN4Linux
+#
+CONFIG_ISDN_I4L=m
+CONFIG_ISDN_PPP=y
+CONFIG_ISDN_PPP_VJ=y
+CONFIG_ISDN_MPP=y
+CONFIG_IPPP_FILTER=y
+CONFIG_ISDN_PPP_BSDCOMP=m
+CONFIG_ISDN_AUDIO=y
+CONFIG_ISDN_TTY_FAX=y
+CONFIG_ISDN_X25=y
+
+#
+# ISDN feature submodules
+#
+# CONFIG_ISDN_DRV_LOOP is not set
+# CONFIG_ISDN_DIVERSION is not set
+
+#
+# ISDN4Linux hardware drivers
+#
+
+#
+# Passive cards
+#
+CONFIG_ISDN_DRV_HISAX=m
+
+#
+# D-channel protocol features
+#
+CONFIG_HISAX_EURO=y
+CONFIG_DE_AOC=y
+# CONFIG_HISAX_NO_SENDCOMPLETE is not set
+# CONFIG_HISAX_NO_LLC is not set
+# CONFIG_HISAX_NO_KEYPAD is not set
+CONFIG_HISAX_1TR6=y
+CONFIG_HISAX_NI1=y
+CONFIG_HISAX_MAX_CARDS=8
+
+#
+# HiSax supported cards
+#
+CONFIG_HISAX_16_3=y
+# CONFIG_HISAX_TELESPCI is not set
+CONFIG_HISAX_S0BOX=y
+CONFIG_HISAX_FRITZPCI=y
+CONFIG_HISAX_AVM_A1_PCMCIA=y
+CONFIG_HISAX_ELSA=y
+CONFIG_HISAX_DIEHLDIVA=y
+CONFIG_HISAX_SEDLBAUER=y
+# CONFIG_HISAX_NETJET is not set
+# CONFIG_HISAX_NETJET_U is not set
+CONFIG_HISAX_NICCY=y
+CONFIG_HISAX_BKM_A4T=y
+CONFIG_HISAX_SCT_QUADRO=y
+CONFIG_HISAX_GAZEL=y
+# CONFIG_HISAX_HFC_PCI is not set
+CONFIG_HISAX_W6692=y
+CONFIG_HISAX_HFC_SX=y
+# CONFIG_HISAX_ENTERNOW_PCI is not set
+# CONFIG_HISAX_DEBUG is not set
+
+#
+# HiSax PCMCIA card service modules
+#
+
+#
+# HiSax sub driver modules
+#
+CONFIG_HISAX_HFC4S8S=m
+CONFIG_HISAX_FRITZ_PCIPNP=m
+
+#
+# Active cards
+#
+CONFIG_HYSDN=m
+CONFIG_HYSDN_CAPI=y
+
+#
+# CAPI subsystem
+#
+CONFIG_ISDN_CAPI=m
+CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
+CONFIG_ISDN_CAPI_MIDDLEWARE=y
+CONFIG_ISDN_CAPI_CAPI20=m
+CONFIG_ISDN_CAPI_CAPIFS_BOOL=y
+CONFIG_ISDN_CAPI_CAPIFS=m
+CONFIG_ISDN_CAPI_CAPIDRV=m
+
+#
+# CAPI hardware drivers
+#
+
+#
+# Active AVM cards
+#
+CONFIG_CAPI_AVM=y
+CONFIG_ISDN_DRV_AVMB1_B1PCI=m
+CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
+CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
+CONFIG_ISDN_DRV_AVMB1_T1PCI=m
+CONFIG_ISDN_DRV_AVMB1_C4=m
+
+#
+# Active Eicon DIVA Server cards
+#
+# CONFIG_CAPI_EICON is not set
+
+#
 # Telephony Support
 #
 # CONFIG_PHONE is not set
@@ -746,7 +1135,7 @@
 # CONFIG_INPUT_JOYDEV is not set
 # CONFIG_INPUT_TSDEV is not set
 CONFIG_INPUT_EVDEV=m
-# CONFIG_INPUT_EVBUG is not set
+CONFIG_INPUT_EVBUG=m
 
 #
 # Input Device Drivers
@@ -799,19 +1188,24 @@
 #
 CONFIG_SERIAL_CORE=y
 CONFIG_SERIAL_CORE_CONSOLE=y
-# CONFIG_SERIAL_JSM is not set
+CONFIG_SERIAL_JSM=m
 CONFIG_UNIX98_PTYS=y
 CONFIG_LEGACY_PTYS=y
 CONFIG_LEGACY_PTY_COUNT=256
 CONFIG_PRINTER=m
 # CONFIG_LP_CONSOLE is not set
-# CONFIG_PPDEV is not set
-# CONFIG_TIPAR is not set
+CONFIG_PPDEV=m
+CONFIG_TIPAR=m
 
 #
 # IPMI
 #
-# CONFIG_IPMI_HANDLER is not set
+CONFIG_IPMI_HANDLER=m
+# CONFIG_IPMI_PANIC_EVENT is not set
+CONFIG_IPMI_DEVICE_INTERFACE=m
+# CONFIG_IPMI_SI is not set
+CONFIG_IPMI_WATCHDOG=m
+CONFIG_IPMI_POWEROFF=m
 
 #
 # Watchdog Cards
@@ -856,7 +1250,7 @@
 #
 # I2C Algorithms
 #
-# CONFIG_I2C_ALGOBIT is not set
+CONFIG_I2C_ALGOBIT=m
 # CONFIG_I2C_ALGOPCF is not set
 # CONFIG_I2C_ALGOPCA is not set
 CONFIG_I2C_ALGO_SGI=m

Modified: trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/config/mips/sb1-swarm-bn
===================================================================
--- trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/config/mips/sb1-swarm-bn	2005-08-17 16:06:19 UTC (rev 3963)
+++ trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/config/mips/sb1-swarm-bn	2005-08-17 19:38:05 UTC (rev 3964)
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
 # Linux kernel version: 2.6.12
-# Wed Jul 13 16:26:48 2005
+# Wed Aug 17 18:59:04 2005
 #
 CONFIG_MIPS=y
 
@@ -25,11 +25,10 @@
 CONFIG_BSD_PROCESS_ACCT=y
 # CONFIG_BSD_PROCESS_ACCT_V3 is not set
 CONFIG_SYSCTL=y
-CONFIG_AUDIT=y
+# CONFIG_AUDIT is not set
 CONFIG_HOTPLUG=y
 CONFIG_KOBJECT_UEVENT=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
+# CONFIG_IKCONFIG is not set
 # CONFIG_CPUSETS is not set
 CONFIG_EMBEDDED=y
 CONFIG_KALLSYMS=y
@@ -53,7 +52,7 @@
 #
 CONFIG_MODULES=y
 CONFIG_MODULE_UNLOAD=y
-# CONFIG_MODULE_FORCE_UNLOAD is not set
+CONFIG_MODULE_FORCE_UNLOAD=y
 CONFIG_OBSOLETE_MODPARM=y
 CONFIG_MODVERSIONS=y
 # CONFIG_MODULE_SRCVERSION_ALL is not set
@@ -257,22 +256,25 @@
 # Block devices
 #
 # CONFIG_BLK_DEV_FD is not set
-# CONFIG_BLK_CPQ_DA is not set
-# CONFIG_BLK_CPQ_CISS_DA is not set
-# CONFIG_BLK_DEV_DAC960 is not set
-# CONFIG_BLK_DEV_UMEM is not set
+CONFIG_BLK_CPQ_DA=m
+CONFIG_BLK_CPQ_CISS_DA=m
+CONFIG_CISS_SCSI_TAPE=y
+CONFIG_BLK_DEV_DAC960=m
+CONFIG_BLK_DEV_UMEM=m
 # CONFIG_BLK_DEV_COW_COMMON is not set
 CONFIG_BLK_DEV_LOOP=m
 CONFIG_BLK_DEV_CRYPTOLOOP=m
 CONFIG_BLK_DEV_NBD=m
-# CONFIG_BLK_DEV_SX8 is not set
+CONFIG_BLK_DEV_SX8=m
 # CONFIG_BLK_DEV_UB is not set
 CONFIG_BLK_DEV_RAM=y
 CONFIG_BLK_DEV_RAM_COUNT=16
 CONFIG_BLK_DEV_RAM_SIZE=8192
 CONFIG_BLK_DEV_INITRD=y
 CONFIG_INITRAMFS_SOURCE=""
-# CONFIG_CDROM_PKTCDVD is not set
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
 
 #
 # IO Schedulers
@@ -281,7 +283,7 @@
 CONFIG_IOSCHED_AS=m
 CONFIG_IOSCHED_DEADLINE=m
 CONFIG_IOSCHED_CFQ=m
-# CONFIG_ATA_OVER_ETH is not set
+CONFIG_ATA_OVER_ETH=m
 
 #
 # ATA/ATAPI/MFM/RLL support
@@ -356,7 +358,7 @@
 #
 CONFIG_BLK_DEV_SD=m
 CONFIG_CHR_DEV_ST=m
-# CONFIG_CHR_DEV_OSST is not set
+CONFIG_CHR_DEV_OSST=m
 CONFIG_BLK_DEV_SR=m
 # CONFIG_BLK_DEV_SR_VENDOR is not set
 CONFIG_CHR_DEV_SG=m
@@ -384,19 +386,19 @@
 CONFIG_SCSI_ACARD=m
 CONFIG_SCSI_AACRAID=m
 CONFIG_SCSI_AIC7XXX=m
-CONFIG_AIC7XXX_CMDS_PER_DEVICE=8
-CONFIG_AIC7XXX_RESET_DELAY_MS=15000
-# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
+CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
+CONFIG_AIC7XXX_RESET_DELAY_MS=5000
+CONFIG_AIC7XXX_DEBUG_ENABLE=y
 CONFIG_AIC7XXX_DEBUG_MASK=0
-# CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set
+CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
 CONFIG_SCSI_AIC7XXX_OLD=m
 CONFIG_SCSI_AIC79XX=m
 CONFIG_AIC79XX_CMDS_PER_DEVICE=32
-CONFIG_AIC79XX_RESET_DELAY_MS=15000
-# CONFIG_AIC79XX_ENABLE_RD_STRM is not set
-# CONFIG_AIC79XX_DEBUG_ENABLE is not set
+CONFIG_AIC79XX_RESET_DELAY_MS=5000
+CONFIG_AIC79XX_ENABLE_RD_STRM=y
+CONFIG_AIC79XX_DEBUG_ENABLE=y
 CONFIG_AIC79XX_DEBUG_MASK=0
-# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
+CONFIG_AIC79XX_REG_PRETTY_PRINT=y
 CONFIG_SCSI_ADVANSYS=m
 CONFIG_MEGARAID_NEWGEN=y
 CONFIG_MEGARAID_MM=m
@@ -419,26 +421,28 @@
 CONFIG_SCSI_DMX3191D=m
 CONFIG_SCSI_EATA_PIO=m
 CONFIG_SCSI_FUTURE_DOMAIN=m
-# CONFIG_SCSI_IPS is not set
+CONFIG_SCSI_IPS=m
 CONFIG_SCSI_INITIO=m
-CONFIG_SCSI_INIA100=m
+# CONFIG_SCSI_INIA100 is not set
 CONFIG_SCSI_SYM53C8XX_2=m
 CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
 CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
 CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
 # CONFIG_SCSI_SYM53C8XX_IOMAPPED is not set
-# CONFIG_SCSI_IPR is not set
+CONFIG_SCSI_IPR=m
+# CONFIG_SCSI_IPR_TRACE is not set
+# CONFIG_SCSI_IPR_DUMP is not set
 # CONFIG_SCSI_PCI2000 is not set
 # CONFIG_SCSI_PCI2220I is not set
-# CONFIG_SCSI_QLOGIC_ISP is not set
+CONFIG_SCSI_QLOGIC_ISP=m
 CONFIG_SCSI_QLOGIC_FC=m
 CONFIG_SCSI_QLOGIC_FC_FIRMWARE=y
 CONFIG_SCSI_QLOGIC_1280=m
 CONFIG_SCSI_QLOGIC_1280_1040=y
 CONFIG_SCSI_LPFC=m
-# CONFIG_SCSI_DC395x is not set
+CONFIG_SCSI_DC395x=m
 CONFIG_SCSI_DC390T=m
-# CONFIG_SCSI_DEBUG is not set
+CONFIG_SCSI_DEBUG=m
 
 #
 # PCMCIA SCSI adapter support
@@ -451,14 +455,14 @@
 # Multi-device support (RAID and LVM)
 #
 CONFIG_MD=y
-CONFIG_BLK_DEV_MD=m
+CONFIG_BLK_DEV_MD=y
 CONFIG_MD_LINEAR=m
-CONFIG_MD_RAID0=m
-CONFIG_MD_RAID1=m
+CONFIG_MD_RAID0=y
+CONFIG_MD_RAID1=y
 CONFIG_MD_RAID10=m
-CONFIG_MD_RAID5=m
+CONFIG_MD_RAID5=y
 CONFIG_MD_RAID6=m
-CONFIG_MD_MULTIPATH=m
+# CONFIG_MD_MULTIPATH is not set
 CONFIG_MD_FAULTY=m
 CONFIG_BLK_DEV_DM=m
 CONFIG_DM_CRYPT=m
@@ -470,17 +474,50 @@
 #
 # Fusion MPT device support
 #
-# CONFIG_FUSION is not set
+CONFIG_FUSION=m
+CONFIG_FUSION_MAX_SGE=40
+CONFIG_FUSION_CTL=m
+CONFIG_FUSION_LAN=m
 
 #
 # IEEE 1394 (FireWire) support
 #
-# CONFIG_IEEE1394 is not set
+CONFIG_IEEE1394=m
 
 #
+# Subsystem Options
+#
+# CONFIG_IEEE1394_VERBOSEDEBUG is not set
+# CONFIG_IEEE1394_OUI_DB is not set
+CONFIG_IEEE1394_EXTRA_CONFIG_ROMS=y
+CONFIG_IEEE1394_CONFIG_ROM_IP1394=y
+
+#
+# Device Drivers
+#
+CONFIG_IEEE1394_PCILYNX=m
+CONFIG_IEEE1394_OHCI1394=m
+
+#
+# Protocol Drivers
+#
+CONFIG_IEEE1394_VIDEO1394=m
+CONFIG_IEEE1394_SBP2=m
+# CONFIG_IEEE1394_SBP2_PHYS_DMA is not set
+CONFIG_IEEE1394_ETH1394=m
+CONFIG_IEEE1394_DV1394=m
+CONFIG_IEEE1394_RAWIO=m
+CONFIG_IEEE1394_CMP=m
+CONFIG_IEEE1394_AMDTP=m
+
+#
 # I2O device support
 #
-# CONFIG_I2O is not set
+CONFIG_I2O=m
+CONFIG_I2O_CONFIG=m
+CONFIG_I2O_BLOCK=m
+CONFIG_I2O_SCSI=m
+CONFIG_I2O_PROC=m
 
 #
 # Networking support
@@ -490,19 +527,32 @@
 #
 # Networking options
 #
-CONFIG_PACKET=y
+CONFIG_PACKET=m
 CONFIG_PACKET_MMAP=y
 CONFIG_UNIX=y
 CONFIG_NET_KEY=m
 CONFIG_INET=y
-# CONFIG_IP_MULTICAST is not set
-# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_FWMARK=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+CONFIG_IP_ROUTE_MULTIPATH_CACHED=y
+CONFIG_IP_ROUTE_MULTIPATH_RR=m
+CONFIG_IP_ROUTE_MULTIPATH_RANDOM=m
+CONFIG_IP_ROUTE_MULTIPATH_WRANDOM=m
+CONFIG_IP_ROUTE_MULTIPATH_DRR=m
+CONFIG_IP_ROUTE_VERBOSE=y
 CONFIG_IP_PNP=y
 # CONFIG_IP_PNP_DHCP is not set
 CONFIG_IP_PNP_BOOTP=y
 # CONFIG_IP_PNP_RARP is not set
-CONFIG_NET_IPIP=m
+# CONFIG_NET_IPIP is not set
 CONFIG_NET_IPGRE=m
+CONFIG_NET_IPGRE_BROADCAST=y
+CONFIG_IP_MROUTE=y
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
 # CONFIG_ARPD is not set
 CONFIG_SYN_COOKIES=y
 CONFIG_INET_AH=m
@@ -525,6 +575,7 @@
 CONFIG_IPV6_TUNNEL=m
 CONFIG_NETFILTER=y
 # CONFIG_NETFILTER_DEBUG is not set
+CONFIG_BRIDGE_NETFILTER=y
 
 #
 # IP: Netfilter Configuration
@@ -557,6 +608,7 @@
 CONFIG_IP_NF_MATCH_STATE=m
 CONFIG_IP_NF_MATCH_CONNTRACK=m
 CONFIG_IP_NF_MATCH_OWNER=m
+CONFIG_IP_NF_MATCH_PHYSDEV=m
 CONFIG_IP_NF_MATCH_ADDRTYPE=m
 CONFIG_IP_NF_MATCH_REALM=m
 CONFIG_IP_NF_MATCH_SCTP=m
@@ -586,7 +638,7 @@
 CONFIG_IP_NF_TARGET_MARK=m
 CONFIG_IP_NF_TARGET_CLASSIFY=m
 CONFIG_IP_NF_TARGET_CONNMARK=m
-# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
+CONFIG_IP_NF_TARGET_CLUSTERIP=m
 CONFIG_IP_NF_RAW=m
 CONFIG_IP_NF_TARGET_NOTRACK=m
 CONFIG_IP_NF_ARPTABLES=m
@@ -611,11 +663,41 @@
 CONFIG_IP6_NF_MATCH_AHESP=m
 CONFIG_IP6_NF_MATCH_LENGTH=m
 CONFIG_IP6_NF_MATCH_EUI64=m
+CONFIG_IP6_NF_MATCH_PHYSDEV=m
 CONFIG_IP6_NF_FILTER=m
 CONFIG_IP6_NF_TARGET_LOG=m
 CONFIG_IP6_NF_MANGLE=m
 CONFIG_IP6_NF_TARGET_MARK=m
 CONFIG_IP6_NF_RAW=m
+
+#
+# DECnet: Netfilter Configuration
+#
+CONFIG_DECNET_NF_GRABULATOR=m
+
+#
+# Bridge: Netfilter Configuration
+#
+CONFIG_BRIDGE_NF_EBTABLES=m
+CONFIG_BRIDGE_EBT_BROUTE=m
+CONFIG_BRIDGE_EBT_T_FILTER=m
+CONFIG_BRIDGE_EBT_T_NAT=m
+CONFIG_BRIDGE_EBT_802_3=m
+CONFIG_BRIDGE_EBT_AMONG=m
+CONFIG_BRIDGE_EBT_ARP=m
+CONFIG_BRIDGE_EBT_IP=m
+CONFIG_BRIDGE_EBT_LIMIT=m
+CONFIG_BRIDGE_EBT_MARK=m
+CONFIG_BRIDGE_EBT_PKTTYPE=m
+CONFIG_BRIDGE_EBT_STP=m
+CONFIG_BRIDGE_EBT_VLAN=m
+CONFIG_BRIDGE_EBT_ARPREPLY=m
+CONFIG_BRIDGE_EBT_DNAT=m
+CONFIG_BRIDGE_EBT_MARK_T=m
+CONFIG_BRIDGE_EBT_REDIRECT=m
+CONFIG_BRIDGE_EBT_SNAT=m
+CONFIG_BRIDGE_EBT_LOG=m
+CONFIG_BRIDGE_EBT_ULOG=m
 CONFIG_XFRM=y
 CONFIG_XFRM_USER=y
 
@@ -628,18 +710,33 @@
 # CONFIG_SCTP_HMAC_NONE is not set
 # CONFIG_SCTP_HMAC_SHA1 is not set
 CONFIG_SCTP_HMAC_MD5=y
-# CONFIG_ATM is not set
-# CONFIG_BRIDGE is not set
+CONFIG_ATM=y
+CONFIG_ATM_CLIP=y
+# CONFIG_ATM_CLIP_NO_ICMP is not set
+CONFIG_ATM_LANE=m
+CONFIG_ATM_MPOA=m
+CONFIG_ATM_BR2684=m
+# CONFIG_ATM_BR2684_IPFILTER is not set
+CONFIG_BRIDGE=m
 # CONFIG_VLAN_8021Q is not set
-# CONFIG_DECNET is not set
-# CONFIG_LLC2 is not set
-# CONFIG_IPX is not set
-# CONFIG_ATALK is not set
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
+CONFIG_DECNET=m
+# CONFIG_DECNET_ROUTER is not set
+CONFIG_LLC=m
+CONFIG_LLC2=m
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+CONFIG_ATALK=m
+CONFIG_DEV_APPLETALK=y
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+CONFIG_IPDDP_DECAP=y
+CONFIG_X25=m
+CONFIG_LAPB=m
 # CONFIG_NET_DIVERT is not set
-# CONFIG_ECONET is not set
-# CONFIG_WAN_ROUTER is not set
+CONFIG_ECONET=m
+CONFIG_ECONET_AUNUDP=y
+CONFIG_ECONET_NATIVE=y
+CONFIG_WAN_ROUTER=m
 
 #
 # QoS and/or fair queueing
@@ -651,6 +748,7 @@
 CONFIG_NET_SCH_CBQ=m
 CONFIG_NET_SCH_HTB=m
 CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_ATM=m
 CONFIG_NET_SCH_PRIO=m
 CONFIG_NET_SCH_RED=m
 CONFIG_NET_SCH_SFQ=m
@@ -671,7 +769,7 @@
 CONFIG_NET_CLS_U32=m
 # CONFIG_CLS_U32_PERF is not set
 # CONFIG_NET_CLS_IND is not set
-CONFIG_CLS_U32_MARK=y
+# CONFIG_CLS_U32_MARK is not set
 CONFIG_NET_CLS_RSVP=m
 CONFIG_NET_CLS_RSVP6=m
 CONFIG_NET_EMATCH=y
@@ -686,12 +784,114 @@
 #
 # Network testing
 #
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_NETPOLL is not set
-# CONFIG_NET_POLL_CONTROLLER is not set
-# CONFIG_HAMRADIO is not set
-# CONFIG_IRDA is not set
-# CONFIG_BT is not set
+CONFIG_NET_PKTGEN=m
+CONFIG_NETPOLL=y
+# CONFIG_NETPOLL_RX is not set
+# CONFIG_NETPOLL_TRAP is not set
+CONFIG_NET_POLL_CONTROLLER=y
+CONFIG_HAMRADIO=y
+
+#
+# Packet Radio protocols
+#
+CONFIG_AX25=m
+# CONFIG_AX25_DAMA_SLAVE is not set
+CONFIG_NETROM=m
+CONFIG_ROSE=m
+
+#
+# AX.25 network device drivers
+#
+CONFIG_MKISS=m
+CONFIG_6PACK=m
+CONFIG_BPQETHER=m
+CONFIG_BAYCOM_SER_FDX=m
+CONFIG_BAYCOM_SER_HDX=m
+CONFIG_YAM=m
+CONFIG_IRDA=m
+
+#
+# IrDA protocols
+#
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+# CONFIG_IRDA_ULTRA is not set
+
+#
+# IrDA options
+#
+CONFIG_IRDA_CACHE_LAST_LSAP=y
+CONFIG_IRDA_FAST_RR=y
+CONFIG_IRDA_DEBUG=y
+
+#
+# Infrared-port device drivers
+#
+
+#
+# SIR device drivers
+#
+CONFIG_IRTTY_SIR=m
+
+#
+# Dongle support
+#
+CONFIG_DONGLE=y
+CONFIG_ESI_DONGLE=m
+CONFIG_ACTISYS_DONGLE=m
+CONFIG_TEKRAM_DONGLE=m
+CONFIG_LITELINK_DONGLE=m
+CONFIG_MA600_DONGLE=m
+CONFIG_GIRBIL_DONGLE=m
+CONFIG_MCP2120_DONGLE=m
+CONFIG_OLD_BELKIN_DONGLE=m
+CONFIG_ACT200L_DONGLE=m
+
+#
+# Old SIR device drivers
+#
+CONFIG_IRPORT_SIR=m
+
+#
+# Old Serial dongle support
+#
+# CONFIG_DONGLE_OLD is not set
+
+#
+# FIR device drivers
+#
+CONFIG_USB_IRDA=m
+CONFIG_SIGMATEL_FIR=m
+CONFIG_VLSI_FIR=m
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_CMTP=m
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIUSB=m
+CONFIG_BT_HCIUSB_SCO=y
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+# CONFIG_BT_HCIUART_BCSP_TXCRC is not set
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
 CONFIG_NETDEVICES=y
 CONFIG_DUMMY=m
 CONFIG_BONDING=m
@@ -730,9 +930,9 @@
 CONFIG_NET_PCI=y
 CONFIG_PCNET32=m
 CONFIG_AMD8111_ETH=m
-CONFIG_AMD8111E_NAPI=y
+# CONFIG_AMD8111E_NAPI is not set
 CONFIG_ADAPTEC_STARFIRE=m
-CONFIG_ADAPTEC_STARFIRE_NAPI=y
+# CONFIG_ADAPTEC_STARFIRE_NAPI is not set
 CONFIG_B44=m
 # CONFIG_FORCEDETH is not set
 CONFIG_EEPRO100=m
@@ -742,16 +942,16 @@
 CONFIG_NE2K_PCI=m
 CONFIG_8139CP=m
 CONFIG_8139TOO=m
-# CONFIG_8139TOO_PIO is not set
-# CONFIG_8139TOO_TUNE_TWISTER is not set
-# CONFIG_8139TOO_8129 is not set
+CONFIG_8139TOO_PIO=y
+CONFIG_8139TOO_TUNE_TWISTER=y
+CONFIG_8139TOO_8129=y
 # CONFIG_8139_OLD_RX_RESET is not set
 # CONFIG_SIS900 is not set
 CONFIG_EPIC100=m
 CONFIG_SUNDANCE=m
-CONFIG_SUNDANCE_MMIO=y
+# CONFIG_SUNDANCE_MMIO is not set
 CONFIG_VIA_RHINE=m
-CONFIG_VIA_RHINE_MMIO=y
+# CONFIG_VIA_RHINE_MMIO is not set
 # CONFIG_LAN_SAA9730 is not set
 
 #
@@ -759,12 +959,12 @@
 #
 CONFIG_DL2K=m
 CONFIG_E1000=m
-CONFIG_E1000_NAPI=y
+# CONFIG_E1000_NAPI is not set
 CONFIG_NS83820=m
 CONFIG_HAMACHI=m
 CONFIG_YELLOWFIN=m
 CONFIG_R8169=m
-CONFIG_R8169_NAPI=y
+# CONFIG_R8169_NAPI is not set
 CONFIG_NET_SB1250_MAC=y
 CONFIG_SK98LIN=m
 CONFIG_VIA_VELOCITY=m
@@ -775,9 +975,9 @@
 # Ethernet (10000 Mbit)
 #
 CONFIG_IXGB=m
-CONFIG_IXGB_NAPI=y
+# CONFIG_IXGB_NAPI is not set
 CONFIG_S2IO=m
-CONFIG_S2IO_NAPI=y
+# CONFIG_S2IO_NAPI is not set
 # CONFIG_2BUFF_MODE is not set
 
 #
@@ -799,6 +999,34 @@
 # Wan interfaces
 #
 # CONFIG_WAN is not set
+
+#
+# ATM drivers
+#
+CONFIG_ATM_TCP=m
+CONFIG_ATM_LANAI=m
+CONFIG_ATM_ENI=m
+# CONFIG_ATM_ENI_DEBUG is not set
+# CONFIG_ATM_ENI_TUNE_BURST is not set
+CONFIG_ATM_FIRESTREAM=m
+CONFIG_ATM_ZATM=m
+# CONFIG_ATM_ZATM_DEBUG is not set
+CONFIG_ATM_IDT77252=m
+# CONFIG_ATM_IDT77252_DEBUG is not set
+# CONFIG_ATM_IDT77252_RCV_ALL is not set
+CONFIG_ATM_IDT77252_USE_SUNI=y
+CONFIG_ATM_AMBASSADOR=m
+# CONFIG_ATM_AMBASSADOR_DEBUG is not set
+# CONFIG_ATM_HORIZON is not set
+CONFIG_ATM_FORE200E_MAYBE=m
+CONFIG_ATM_FORE200E_PCA=y
+CONFIG_ATM_FORE200E_PCA_DEFAULT_FW=y
+CONFIG_ATM_FORE200E_USE_TASKLET=y
+CONFIG_ATM_FORE200E_TX_RETRY=16
+CONFIG_ATM_FORE200E_DEBUG=0
+CONFIG_ATM_FORE200E=m
+CONFIG_ATM_HE=m
+# CONFIG_ATM_HE_USE_SUNI is not set
 # CONFIG_FDDI is not set
 # CONFIG_HIPPI is not set
 CONFIG_PPP=m
@@ -809,20 +1037,138 @@
 CONFIG_PPP_DEFLATE=m
 CONFIG_PPP_BSDCOMP=m
 CONFIG_PPPOE=m
+CONFIG_PPPOATM=m
 CONFIG_SLIP=m
 CONFIG_SLIP_COMPRESSED=y
 CONFIG_SLIP_SMART=y
 CONFIG_SLIP_MODE_SLIP6=y
-# CONFIG_NET_FC is not set
-# CONFIG_SHAPER is not set
-# CONFIG_NETCONSOLE is not set
+CONFIG_NET_FC=y
+CONFIG_SHAPER=m
+CONFIG_NETCONSOLE=m
 
 #
 # ISDN subsystem
 #
-# CONFIG_ISDN is not set
+CONFIG_ISDN=m
 
 #
+# Old ISDN4Linux
+#
+CONFIG_ISDN_I4L=m
+CONFIG_ISDN_PPP=y
+CONFIG_ISDN_PPP_VJ=y
+CONFIG_ISDN_MPP=y
+CONFIG_IPPP_FILTER=y
+CONFIG_ISDN_PPP_BSDCOMP=m
+CONFIG_ISDN_AUDIO=y
+CONFIG_ISDN_TTY_FAX=y
+CONFIG_ISDN_X25=y
+
+#
+# ISDN feature submodules
+#
+# CONFIG_ISDN_DRV_LOOP is not set
+# CONFIG_ISDN_DIVERSION is not set
+
+#
+# ISDN4Linux hardware drivers
+#
+
+#
+# Passive cards
+#
+CONFIG_ISDN_DRV_HISAX=m
+
+#
+# D-channel protocol features
+#
+CONFIG_HISAX_EURO=y
+CONFIG_DE_AOC=y
+# CONFIG_HISAX_NO_SENDCOMPLETE is not set
+# CONFIG_HISAX_NO_LLC is not set
+# CONFIG_HISAX_NO_KEYPAD is not set
+CONFIG_HISAX_1TR6=y
+CONFIG_HISAX_NI1=y
+CONFIG_HISAX_MAX_CARDS=8
+
+#
+# HiSax supported cards
+#
+CONFIG_HISAX_16_3=y
+# CONFIG_HISAX_TELESPCI is not set
+CONFIG_HISAX_S0BOX=y
+CONFIG_HISAX_FRITZPCI=y
+CONFIG_HISAX_AVM_A1_PCMCIA=y
+CONFIG_HISAX_ELSA=y
+CONFIG_HISAX_DIEHLDIVA=y
+CONFIG_HISAX_SEDLBAUER=y
+# CONFIG_HISAX_NETJET is not set
+# CONFIG_HISAX_NETJET_U is not set
+CONFIG_HISAX_NICCY=y
+CONFIG_HISAX_BKM_A4T=y
+CONFIG_HISAX_SCT_QUADRO=y
+CONFIG_HISAX_GAZEL=y
+# CONFIG_HISAX_HFC_PCI is not set
+CONFIG_HISAX_W6692=y
+CONFIG_HISAX_HFC_SX=y
+# CONFIG_HISAX_ENTERNOW_PCI is not set
+# CONFIG_HISAX_DEBUG is not set
+
+#
+# HiSax PCMCIA card service modules
+#
+CONFIG_HISAX_SEDLBAUER_CS=m
+CONFIG_HISAX_ELSA_CS=m
+CONFIG_HISAX_AVM_A1_CS=m
+CONFIG_HISAX_TELES_CS=m
+
+#
+# HiSax sub driver modules
+#
+CONFIG_HISAX_ST5481=m
+CONFIG_HISAX_HFCUSB=m
+CONFIG_HISAX_HFC4S8S=m
+CONFIG_HISAX_FRITZ_PCIPNP=m
+CONFIG_HISAX_HDLC=y
+
+#
+# Active cards
+#
+CONFIG_HYSDN=m
+CONFIG_HYSDN_CAPI=y
+
+#
+# CAPI subsystem
+#
+CONFIG_ISDN_CAPI=m
+CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
+CONFIG_ISDN_CAPI_MIDDLEWARE=y
+CONFIG_ISDN_CAPI_CAPI20=m
+CONFIG_ISDN_CAPI_CAPIFS_BOOL=y
+CONFIG_ISDN_CAPI_CAPIFS=m
+CONFIG_ISDN_CAPI_CAPIDRV=m
+
+#
+# CAPI hardware drivers
+#
+
+#
+# Active AVM cards
+#
+CONFIG_CAPI_AVM=y
+CONFIG_ISDN_DRV_AVMB1_B1PCI=m
+CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
+CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
+CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
+CONFIG_ISDN_DRV_AVMB1_T1PCI=m
+CONFIG_ISDN_DRV_AVMB1_C4=m
+
+#
+# Active Eicon DIVA Server cards
+#
+# CONFIG_CAPI_EICON is not set
+
+#
 # Telephony Support
 #
 # CONFIG_PHONE is not set
@@ -842,7 +1188,7 @@
 # CONFIG_INPUT_JOYDEV is not set
 # CONFIG_INPUT_TSDEV is not set
 CONFIG_INPUT_EVDEV=m
-# CONFIG_INPUT_EVBUG is not set
+CONFIG_INPUT_EVBUG=m
 
 #
 # Input Device Drivers
@@ -899,7 +1245,12 @@
 #
 # IPMI
 #
-# CONFIG_IPMI_HANDLER is not set
+CONFIG_IPMI_HANDLER=m
+# CONFIG_IPMI_PANIC_EVENT is not set
+CONFIG_IPMI_DEVICE_INTERFACE=m
+# CONFIG_IPMI_SI is not set
+CONFIG_IPMI_WATCHDOG=m
+CONFIG_IPMI_POWEROFF=m
 
 #
 # Watchdog Cards
@@ -1305,7 +1656,10 @@
 # USB Device Class drivers
 #
 CONFIG_USB_AUDIO=m
-CONFIG_USB_BLUETOOTH_TTY=m
+
+#
+# USB Bluetooth TTY can only be used with disabled Bluetooth subsystem
+#
 CONFIG_USB_MIDI=m
 CONFIG_USB_ACM=m
 CONFIG_USB_PRINTER=m
@@ -1455,6 +1809,8 @@
 #
 # USB ATM/DSL drivers
 #
+CONFIG_USB_ATM=m
+CONFIG_USB_SPEEDTOUCH=m
 
 #
 # USB Gadget Support

Added: trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/config/mipsel/r5k-cobalt
===================================================================
--- trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/config/mipsel/r5k-cobalt	2005-08-17 16:06:19 UTC (rev 3963)
+++ trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/config/mipsel/r5k-cobalt	2005-08-17 19:38:05 UTC (rev 3964)
@@ -0,0 +1,1226 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.12
+# Wed Aug 17 20:25:21 2005
+#
+CONFIG_MIPS=y
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+# CONFIG_CLEAN_COMPILE is not set
+CONFIG_BROKEN=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_BSD_PROCESS_ACCT=y
+# CONFIG_BSD_PROCESS_ACCT_V3 is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+CONFIG_HOTPLUG=y
+CONFIG_KOBJECT_UEVENT=y
+# CONFIG_IKCONFIG is not set
+CONFIG_EMBEDDED=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SHMEM=y
+CONFIG_CC_ALIGN_FUNCTIONS=0
+CONFIG_CC_ALIGN_LABELS=0
+CONFIG_CC_ALIGN_LOOPS=0
+CONFIG_CC_ALIGN_JUMPS=0
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_OBSOLETE_MODPARM=y
+CONFIG_MODVERSIONS=y
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+
+#
+# Machine selection
+#
+# CONFIG_MIPS_MTX1 is not set
+# CONFIG_MIPS_BOSPORUS is not set
+# CONFIG_MIPS_PB1000 is not set
+# CONFIG_MIPS_PB1100 is not set
+# CONFIG_MIPS_PB1500 is not set
+# CONFIG_MIPS_PB1550 is not set
+# CONFIG_MIPS_PB1200 is not set
+# CONFIG_MIPS_DB1000 is not set
+# CONFIG_MIPS_DB1100 is not set
+# CONFIG_MIPS_DB1500 is not set
+# CONFIG_MIPS_DB1550 is not set
+# CONFIG_MIPS_DB1200 is not set
+# CONFIG_MIPS_MIRAGE is not set
+CONFIG_MIPS_COBALT=y
+# CONFIG_MACH_DECSTATION is not set
+# CONFIG_MIPS_EV64120 is not set
+# CONFIG_MIPS_EV96100 is not set
+# CONFIG_MIPS_IVR is not set
+# CONFIG_MIPS_ITE8172 is not set
+# CONFIG_MACH_JAZZ is not set
+# CONFIG_LASAT is not set
+# CONFIG_MIPS_ATLAS is not set
+# CONFIG_MIPS_MALTA is not set
+# CONFIG_MIPS_SEAD is not set
+# CONFIG_MOMENCO_JAGUAR_ATX is not set
+# CONFIG_MOMENCO_OCELOT is not set
+# CONFIG_MOMENCO_OCELOT_3 is not set
+# CONFIG_MOMENCO_OCELOT_C is not set
+# CONFIG_MOMENCO_OCELOT_G is not set
+# CONFIG_MIPS_XXS1500 is not set
+# CONFIG_DDB5074 is not set
+# CONFIG_DDB5476 is not set
+# CONFIG_DDB5477 is not set
+# CONFIG_MACH_VR41XX is not set
+# CONFIG_PMC_YOSEMITE is not set
+# CONFIG_SGI_IP22 is not set
+# CONFIG_SGI_IP27 is not set
+# CONFIG_SGI_IP30 is not set
+# CONFIG_SGI_IP32 is not set
+# CONFIG_SIBYTE_SWARM is not set
+# CONFIG_SIBYTE_SENTOSA is not set
+# CONFIG_SIBYTE_RHONE is not set
+# CONFIG_SIBYTE_CARMEL is not set
+# CONFIG_SIBYTE_PTSWARM is not set
+# CONFIG_SIBYTE_LITTLESUR is not set
+# CONFIG_SIBYTE_CRHINE is not set
+# CONFIG_SIBYTE_CRHONE is not set
+# CONFIG_SNI_RM200_PCI is not set
+# CONFIG_TOSHIBA_JMR3927 is not set
+# CONFIG_TOSHIBA_RBTX4927 is not set
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_HAVE_DEC_LOCK=y
+CONFIG_DMA_NONCOHERENT=y
+CONFIG_I8259=y
+# CONFIG_CPU_BIG_ENDIAN is not set
+CONFIG_CPU_LITTLE_ENDIAN=y
+CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y
+CONFIG_IRQ_CPU=y
+CONFIG_MIPS_GT64111=y
+CONFIG_MIPS_L1_CACHE_SHIFT=5
+
+#
+# CPU selection
+#
+# CONFIG_CPU_MIPS32_R1 is not set
+# CONFIG_CPU_MIPS64_R1 is not set
+# CONFIG_CPU_R3000 is not set
+# CONFIG_CPU_TX39XX is not set
+# CONFIG_CPU_VR41XX is not set
+# CONFIG_CPU_R4300 is not set
+# CONFIG_CPU_R4X00 is not set
+# CONFIG_CPU_TX49XX is not set
+# CONFIG_CPU_R5000 is not set
+# CONFIG_CPU_R5432 is not set
+# CONFIG_CPU_R6000 is not set
+CONFIG_CPU_NEVADA=y
+# CONFIG_CPU_R8000 is not set
+# CONFIG_CPU_R10000 is not set
+# CONFIG_CPU_RM7000 is not set
+# CONFIG_CPU_RM9000 is not set
+# CONFIG_CPU_SB1 is not set
+CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
+CONFIG_SYS_SUPPORTS_64BIT_KERNEL=y
+CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
+CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y
+
+#
+# Kernel type
+#
+# CONFIG_MIPS32 is not set
+CONFIG_MIPS64=y
+CONFIG_64BIT=y
+CONFIG_PAGE_SIZE_4KB=y
+# CONFIG_PAGE_SIZE_8KB is not set
+# CONFIG_PAGE_SIZE_16KB is not set
+# CONFIG_PAGE_SIZE_64KB is not set
+CONFIG_CPU_HAS_LLSC=y
+CONFIG_CPU_HAS_LLDSCD=y
+CONFIG_CPU_HAS_SYNC=y
+# CONFIG_PREEMPT is not set
+
+#
+# Bus options (PCI, PCMCIA, EISA, ISA, TC)
+#
+CONFIG_HW_HAS_PCI=y
+CONFIG_PCI=y
+CONFIG_PCI_LEGACY_PROC=y
+CONFIG_PCI_NAMES=y
+# CONFIG_SGI_IOC3 is not set
+CONFIG_MMU=y
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+# CONFIG_PCCARD is not set
+
+#
+# PCI Hotplug Support
+#
+# CONFIG_HOTPLUG_PCI is not set
+
+#
+# Executable file formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_MISC is not set
+CONFIG_BUILD_ELF64=y
+CONFIG_MIPS32_COMPAT=y
+CONFIG_COMPAT=y
+CONFIG_MIPS32_O32=y
+CONFIG_MIPS32_N32=y
+CONFIG_BINFMT_ELF32=y
+CONFIG_SECCOMP=y
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+# CONFIG_FW_LOADER is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+# CONFIG_MTD is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_FD is not set
+# CONFIG_BLK_CPQ_DA is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=m
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+CONFIG_BLK_DEV_NBD=m
+# CONFIG_BLK_DEV_SX8 is not set
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=8192
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+# CONFIG_CDROM_PKTCDVD is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+CONFIG_IDE=y
+CONFIG_BLK_DEV_IDE=y
+
+#
+# Please see Documentation/ide.txt for help/info on IDE drives
+#
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=y
+# CONFIG_IDEDISK_MULTI_MODE is not set
+CONFIG_BLK_DEV_IDECD=m
+# CONFIG_BLK_DEV_IDETAPE is not set
+# CONFIG_BLK_DEV_IDEFLOPPY is not set
+# CONFIG_BLK_DEV_IDESCSI is not set
+# CONFIG_IDE_TASK_IOCTL is not set
+
+#
+# IDE chipset support/bugfixes
+#
+CONFIG_IDE_GENERIC=y
+CONFIG_BLK_DEV_IDEPCI=y
+# CONFIG_IDEPCI_SHARE_IRQ is not set
+# CONFIG_BLK_DEV_OFFBOARD is not set
+# CONFIG_BLK_DEV_GENERIC is not set
+# CONFIG_BLK_DEV_OPTI621 is not set
+CONFIG_BLK_DEV_IDEDMA_PCI=y
+# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
+# CONFIG_IDEDMA_PCI_AUTO is not set
+# CONFIG_BLK_DEV_AEC62XX is not set
+# CONFIG_BLK_DEV_ALI15X3 is not set
+# CONFIG_BLK_DEV_AMD74XX is not set
+# CONFIG_BLK_DEV_CMD64X is not set
+# CONFIG_BLK_DEV_TRIFLEX is not set
+# CONFIG_BLK_DEV_CY82C693 is not set
+# CONFIG_BLK_DEV_CS5520 is not set
+# CONFIG_BLK_DEV_CS5530 is not set
+# CONFIG_BLK_DEV_HPT34X is not set
+# CONFIG_BLK_DEV_HPT366 is not set
+# CONFIG_BLK_DEV_SC1200 is not set
+# CONFIG_BLK_DEV_PIIX is not set
+# CONFIG_BLK_DEV_NS87415 is not set
+# CONFIG_BLK_DEV_PDC202XX_OLD is not set
+# CONFIG_BLK_DEV_PDC202XX_NEW is not set
+# CONFIG_BLK_DEV_SVWKS is not set
+# CONFIG_BLK_DEV_SIIMAGE is not set
+# CONFIG_BLK_DEV_SLC90E66 is not set
+# CONFIG_BLK_DEV_TRM290 is not set
+CONFIG_BLK_DEV_VIA82CXXX=y
+# CONFIG_IDE_ARM is not set
+CONFIG_BLK_DEV_IDEDMA=y
+# CONFIG_IDEDMA_IVB is not set
+# CONFIG_IDEDMA_AUTO is not set
+# CONFIG_BLK_DEV_HD is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI=m
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=m
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+# CONFIG_BLK_DEV_SR is not set
+# CONFIG_CHR_DEV_SG is not set
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+# CONFIG_SCSI_MULTI_LUN is not set
+CONFIG_SCSI_CONSTANTS=y
+# CONFIG_SCSI_LOGGING is not set
+
+#
+# SCSI Transport Attributes
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+
+#
+# SCSI low-level drivers
+#
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
+# CONFIG_SCSI_3W_9XXX is not set
+# CONFIG_SCSI_ACARD is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_SCSI_AIC7XXX is not set
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+# CONFIG_SCSI_AIC79XX is not set
+# CONFIG_SCSI_ADVANSYS is not set
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_MEGARAID_LEGACY is not set
+# CONFIG_SCSI_SATA is not set
+# CONFIG_SCSI_CPQFCTS is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_EATA_PIO is not set
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_IPS is not set
+# CONFIG_SCSI_INITIO is not set
+# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_SYM53C8XX_2 is not set
+# CONFIG_SCSI_IPR is not set
+# CONFIG_SCSI_PCI2000 is not set
+# CONFIG_SCSI_PCI2220I is not set
+# CONFIG_SCSI_QLOGIC_ISP is not set
+# CONFIG_SCSI_QLOGIC_FC is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+# CONFIG_SCSI_LPFC is not set
+# CONFIG_SCSI_DC395x is not set
+# CONFIG_SCSI_DC390T is not set
+# CONFIG_SCSI_DEBUG is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_MD_LINEAR=m
+CONFIG_MD_RAID0=m
+CONFIG_MD_RAID1=m
+# CONFIG_MD_RAID10 is not set
+CONFIG_MD_RAID5=m
+# CONFIG_MD_RAID6 is not set
+CONFIG_MD_MULTIPATH=m
+# CONFIG_MD_FAULTY is not set
+CONFIG_BLK_DEV_DM=m
+# CONFIG_DM_CRYPT is not set
+# CONFIG_DM_SNAPSHOT is not set
+# CONFIG_DM_MIRROR is not set
+# CONFIG_DM_ZERO is not set
+# CONFIG_DM_MULTIPATH is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+CONFIG_IEEE1394=m
+
+#
+# Subsystem Options
+#
+# CONFIG_IEEE1394_VERBOSEDEBUG is not set
+# CONFIG_IEEE1394_OUI_DB is not set
+CONFIG_IEEE1394_EXTRA_CONFIG_ROMS=y
+CONFIG_IEEE1394_CONFIG_ROM_IP1394=y
+
+#
+# Device Drivers
+#
+
+#
+# Texas Instruments PCILynx requires I2C
+#
+CONFIG_IEEE1394_OHCI1394=m
+
+#
+# Protocol Drivers
+#
+CONFIG_IEEE1394_VIDEO1394=m
+# CONFIG_IEEE1394_SBP2 is not set
+CONFIG_IEEE1394_ETH1394=m
+CONFIG_IEEE1394_DV1394=m
+CONFIG_IEEE1394_RAWIO=m
+CONFIG_IEEE1394_CMP=m
+CONFIG_IEEE1394_AMDTP=m
+
+#
+# I2O device support
+#
+# CONFIG_I2O is not set
+
+#
+# Networking support
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+CONFIG_NET_KEY=m
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_PNP=y
+# CONFIG_IP_PNP_DHCP is not set
+CONFIG_IP_PNP_BOOTP=y
+# CONFIG_IP_PNP_RARP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_TUNNEL=m
+CONFIG_IP_TCPDIAG=y
+# CONFIG_IP_TCPDIAG_IPV6 is not set
+
+#
+# IP: Virtual Server Configuration
+#
+# CONFIG_IP_VS is not set
+CONFIG_IPV6=m
+CONFIG_IPV6_PRIVACY=y
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_IP_NF_CONNTRACK=m
+# CONFIG_IP_NF_CT_ACCT is not set
+# CONFIG_IP_NF_CONNTRACK_MARK is not set
+# CONFIG_IP_NF_CT_PROTO_SCTP is not set
+CONFIG_IP_NF_FTP=m
+CONFIG_IP_NF_IRC=m
+CONFIG_IP_NF_TFTP=m
+CONFIG_IP_NF_AMANDA=m
+CONFIG_IP_NF_QUEUE=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_LIMIT=m
+# CONFIG_IP_NF_MATCH_IPRANGE is not set
+CONFIG_IP_NF_MATCH_MAC=m
+CONFIG_IP_NF_MATCH_PKTTYPE=m
+CONFIG_IP_NF_MATCH_MARK=m
+CONFIG_IP_NF_MATCH_MULTIPORT=m
+CONFIG_IP_NF_MATCH_TOS=m
+CONFIG_IP_NF_MATCH_RECENT=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_DSCP=m
+CONFIG_IP_NF_MATCH_AH_ESP=m
+CONFIG_IP_NF_MATCH_LENGTH=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_MATCH_TCPMSS=m
+CONFIG_IP_NF_MATCH_HELPER=m
+CONFIG_IP_NF_MATCH_STATE=m
+CONFIG_IP_NF_MATCH_CONNTRACK=m
+CONFIG_IP_NF_MATCH_OWNER=m
+# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
+# CONFIG_IP_NF_MATCH_REALM is not set
+# CONFIG_IP_NF_MATCH_SCTP is not set
+# CONFIG_IP_NF_MATCH_COMMENT is not set
+# CONFIG_IP_NF_MATCH_HASHLIMIT is not set
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_LOG=m
+CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_IP_NF_TARGET_TCPMSS=m
+CONFIG_IP_NF_NAT=m
+CONFIG_IP_NF_NAT_NEEDED=y
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+# CONFIG_IP_NF_TARGET_NETMAP is not set
+# CONFIG_IP_NF_TARGET_SAME is not set
+CONFIG_IP_NF_NAT_SNMP_BASIC=m
+CONFIG_IP_NF_NAT_IRC=m
+CONFIG_IP_NF_NAT_FTP=m
+CONFIG_IP_NF_NAT_TFTP=m
+CONFIG_IP_NF_NAT_AMANDA=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_TOS=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_DSCP=m
+CONFIG_IP_NF_TARGET_MARK=m
+# CONFIG_IP_NF_TARGET_CLASSIFY is not set
+# CONFIG_IP_NF_RAW is not set
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+
+#
+# IPv6: Netfilter Configuration (EXPERIMENTAL)
+#
+CONFIG_IP6_NF_QUEUE=m
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_MATCH_LIMIT=m
+CONFIG_IP6_NF_MATCH_MAC=m
+CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_OPTS=m
+CONFIG_IP6_NF_MATCH_FRAG=m
+CONFIG_IP6_NF_MATCH_HL=m
+CONFIG_IP6_NF_MATCH_MULTIPORT=m
+CONFIG_IP6_NF_MATCH_OWNER=m
+CONFIG_IP6_NF_MATCH_MARK=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_AHESP=m
+CONFIG_IP6_NF_MATCH_LENGTH=m
+CONFIG_IP6_NF_MATCH_EUI64=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_LOG=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_TARGET_MARK=m
+# CONFIG_IP6_NF_RAW is not set
+CONFIG_XFRM=y
+CONFIG_XFRM_USER=m
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+# CONFIG_NET_CLS_ROUTE is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+
+#
+# ARCnet devices
+#
+# CONFIG_ARCNET is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=m
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_NET_VENDOR_3COM is not set
+
+#
+# Tulip family network device support
+#
+# CONFIG_NET_TULIP is not set
+# CONFIG_HP100 is not set
+CONFIG_NET_PCI=y
+# CONFIG_PCNET32 is not set
+# CONFIG_AMD8111_ETH is not set
+# CONFIG_ADAPTEC_STARFIRE is not set
+# CONFIG_B44 is not set
+# CONFIG_FORCEDETH is not set
+# CONFIG_EEPRO100 is not set
+# CONFIG_E100 is not set
+# CONFIG_FEALNX is not set
+# CONFIG_NATSEMI is not set
+# CONFIG_NE2K_PCI is not set
+# CONFIG_8139CP is not set
+# CONFIG_8139TOO is not set
+# CONFIG_SIS900 is not set
+# CONFIG_EPIC100 is not set
+# CONFIG_SUNDANCE is not set
+# CONFIG_VIA_RHINE is not set
+# CONFIG_LAN_SAA9730 is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+# CONFIG_DL2K is not set
+# CONFIG_E1000 is not set
+# CONFIG_NS83820 is not set
+# CONFIG_HAMACHI is not set
+# CONFIG_YELLOWFIN is not set
+# CONFIG_R8169 is not set
+# CONFIG_SK98LIN is not set
+# CONFIG_VIA_VELOCITY is not set
+# CONFIG_TIGON3 is not set
+# CONFIG_BNX2 is not set
+
+#
+# Ethernet (10000 Mbit)
+#
+# CONFIG_IXGB is not set
+# CONFIG_S2IO is not set
+
+#
+# Token Ring devices
+#
+# CONFIG_TR is not set
+
+#
+# Wireless LAN (non-hamradio)
+#
+# CONFIG_NET_RADIO is not set
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+CONFIG_PPP=m
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPPOE=m
+# CONFIG_SLIP is not set
+# CONFIG_NET_FC is not set
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Telephony Support
+#
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+# CONFIG_INPUT is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_I8042=y
+CONFIG_SERIO_SERPORT=y
+# CONFIG_SERIO_PCIPS2 is not set
+# CONFIG_SERIO_LIBPS2 is not set
+# CONFIG_SERIO_RAW is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+# CONFIG_VT is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250 is not set
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_JSM is not set
+CONFIG_UNIX98_PTYS=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=256
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+# CONFIG_WATCHDOG is not set
+CONFIG_RTC=y
+CONFIG_COBALT_LCD=y
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+# CONFIG_APPLICOM is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+# CONFIG_DRM is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+
+#
+# I2C support
+#
+# CONFIG_I2C is not set
+
+#
+# Dallas's 1-wire bus
+#
+# CONFIG_W1 is not set
+
+#
+# Misc devices
+#
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+
+#
+# Graphics support
+#
+# CONFIG_FB is not set
+
+#
+# Sound
+#
+CONFIG_SOUND=y
+
+#
+# Advanced Linux Sound Architecture
+#
+# CONFIG_SND is not set
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB=y
+# CONFIG_USB_DEBUG is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_BANDWIDTH is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+CONFIG_USB_EHCI_HCD=m
+# CONFIG_USB_EHCI_SPLIT_ISO is not set
+# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
+# CONFIG_USB_OHCI_HCD is not set
+# CONFIG_USB_UHCI_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_AUDIO=m
+# CONFIG_USB_BLUETOOTH_TTY is not set
+CONFIG_USB_MIDI=m
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+CONFIG_USB_STORAGE_FREECOM=y
+CONFIG_USB_STORAGE_ISD200=y
+CONFIG_USB_STORAGE_DPCM=y
+# CONFIG_USB_STORAGE_USBAT is not set
+CONFIG_USB_STORAGE_SDDR09=y
+CONFIG_USB_STORAGE_SDDR55=y
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+
+#
+# USB Input Devices
+#
+# CONFIG_USB_HID is not set
+
+#
+# USB HID Boot Protocol drivers
+#
+
+#
+# USB Imaging devices
+#
+CONFIG_USB_MDC800=m
+# CONFIG_USB_MICROTEK is not set
+
+#
+# USB Multimedia devices
+#
+
+#
+# Video4Linux support is needed for USB Multimedia device support
+#
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+
+#
+# USB Host-to-Host Cables
+#
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_GENESYS=y
+CONFIG_USB_NET1080=y
+CONFIG_USB_PL2301=y
+CONFIG_USB_KC2190=y
+
+#
+# Intelligent USB Devices/Gadgets
+#
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_EPSON2888=y
+CONFIG_USB_ZAURUS=y
+CONFIG_USB_CDCETHER=y
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_AX8817X=y
+CONFIG_USB_MON=y
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+# CONFIG_USB_SERIAL_AIRPRIME is not set
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_WHITEHEAT=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+# CONFIG_USB_SERIAL_CP2101 is not set
+# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+# CONFIG_USB_SERIAL_GARMIN is not set
+# CONFIG_USB_SERIAL_IPW is not set
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_PL2303=m
+# CONFIG_USB_SERIAL_HP4X is not set
+# CONFIG_USB_SERIAL_SAFE is not set
+# CONFIG_USB_SERIAL_TI is not set
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_EZUSB=y
+
+#
+# USB Miscellaneous drivers
+#
+CONFIG_USB_AUERSWALD=m
+CONFIG_USB_RIO500=m
+# CONFIG_USB_LEGOTOWER is not set
+CONFIG_USB_LCD=m
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_PHIDGETKIT is not set
+# CONFIG_USB_PHIDGETSERVO is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_SISUSBVGA is not set
+# CONFIG_USB_TEST is not set
+
+#
+# USB ATM/DSL drivers
+#
+
+#
+# USB Gadget Support
+#
+# CONFIG_USB_GADGET is not set
+
+#
+# MMC/SD Card support
+#
+# CONFIG_MMC is not set
+
+#
+# InfiniBand support
+#
+# CONFIG_INFINIBAND is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+# CONFIG_EXT2_FS_SECURITY is not set
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_FS_XATTR=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+# CONFIG_EXT3_FS_SECURITY is not set
+CONFIG_JBD=y
+# CONFIG_JBD_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+CONFIG_REISERFS_FS=m
+# CONFIG_REISERFS_CHECK is not set
+CONFIG_REISERFS_PROC_INFO=y
+# CONFIG_REISERFS_FS_XATTR is not set
+CONFIG_JFS_FS=m
+# CONFIG_JFS_POSIX_ACL is not set
+# CONFIG_JFS_SECURITY is not set
+# CONFIG_JFS_DEBUG is not set
+# CONFIG_JFS_STATISTICS is not set
+CONFIG_FS_POSIX_ACL=y
+
+#
+# XFS support
+#
+CONFIG_XFS_FS=m
+CONFIG_XFS_EXPORT=y
+# CONFIG_XFS_RT is not set
+# CONFIG_XFS_QUOTA is not set
+# CONFIG_XFS_SECURITY is not set
+CONFIG_XFS_POSIX_ACL=y
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+CONFIG_AUTOFS_FS=m
+CONFIG_AUTOFS4_FS=m
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+# CONFIG_ZISOFS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+# CONFIG_PROC_KCORE is not set
+CONFIG_SYSFS=y
+CONFIG_DEVFS_FS=y
+# CONFIG_DEVFS_MOUNT is not set
+# CONFIG_DEVFS_DEBUG is not set
+# CONFIG_DEVPTS_FS_XATTR is not set
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_XATTR is not set
+# CONFIG_HUGETLBFS is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_ASFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_CRAMFS is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V4 is not set
+# CONFIG_NFS_DIRECTIO is not set
+CONFIG_NFSD=m
+CONFIG_NFSD_V3=y
+# CONFIG_NFSD_V4 is not set
+# CONFIG_NFSD_TCP is not set
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_EXPORTFS=m
+CONFIG_SUNRPC=m
+# CONFIG_RPCSEC_GSS_KRB5 is not set
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+CONFIG_SMB_FS=m
+# CONFIG_SMB_NLS_DEFAULT is not set
+# CONFIG_CIFS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+CONFIG_SGI_PARTITION=y
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+
+#
+# Native Language Support
+#
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+# CONFIG_NLS_CODEPAGE_437 is not set
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+# CONFIG_NLS_CODEPAGE_850 is not set
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+# CONFIG_NLS_ASCII is not set
+# CONFIG_NLS_ISO8859_1 is not set
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+# CONFIG_NLS_ISO8859_15 is not set
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+# CONFIG_NLS_UTF8 is not set
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+# CONFIG_DEBUG_KERNEL is not set
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_CROSSCOMPILE is not set
+CONFIG_CMDLINE=""
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=m
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+# CONFIG_CRYPTO_WP512 is not set
+# CONFIG_CRYPTO_TGR192 is not set
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_AES=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_ARC4=m
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_ANUBIS is not set
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+# CONFIG_CRYPTO_CRC32C is not set
+CONFIG_CRYPTO_TEST=m
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+CONFIG_CRC_CCITT=m
+CONFIG_CRC32=m
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=m
+CONFIG_ZLIB_DEFLATE=m
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_GENERIC_IRQ_PROBE=y

Modified: trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/config/mipsel/sb1-swarm-bn
===================================================================
--- trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/config/mipsel/sb1-swarm-bn	2005-08-17 16:06:19 UTC (rev 3963)
+++ trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/config/mipsel/sb1-swarm-bn	2005-08-17 19:38:05 UTC (rev 3964)
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
-# Linux kernel version: 2.6.11
-# Tue Apr  5 01:30:19 2005
+# Linux kernel version: 2.6.12
+# Wed Aug 17 15:02:59 2005
 #
 CONFIG_MIPS=y
 
@@ -13,6 +13,7 @@
 CONFIG_BROKEN=y
 CONFIG_BROKEN_ON_SMP=y
 CONFIG_LOCK_KERNEL=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
 
 #
 # General setup
@@ -24,15 +25,17 @@
 CONFIG_BSD_PROCESS_ACCT=y
 # CONFIG_BSD_PROCESS_ACCT_V3 is not set
 CONFIG_SYSCTL=y
-CONFIG_AUDIT=y
-CONFIG_LOG_BUF_SHIFT=15
+# CONFIG_AUDIT is not set
 CONFIG_HOTPLUG=y
 CONFIG_KOBJECT_UEVENT=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
+# CONFIG_IKCONFIG is not set
+# CONFIG_CPUSETS is not set
 CONFIG_EMBEDDED=y
 CONFIG_KALLSYMS=y
 # CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_BASE_FULL=y
 CONFIG_FUTEX=y
 CONFIG_EPOLL=y
 # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -42,13 +45,14 @@
 CONFIG_CC_ALIGN_LOOPS=0
 CONFIG_CC_ALIGN_JUMPS=0
 # CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
 
 #
 # Loadable module support
 #
 CONFIG_MODULES=y
 CONFIG_MODULE_UNLOAD=y
-# CONFIG_MODULE_FORCE_UNLOAD is not set
+CONFIG_MODULE_FORCE_UNLOAD=y
 CONFIG_OBSOLETE_MODPARM=y
 CONFIG_MODVERSIONS=y
 # CONFIG_MODULE_SRCVERSION_ALL is not set
@@ -91,11 +95,11 @@
 # CONFIG_DDB5074 is not set
 # CONFIG_DDB5476 is not set
 # CONFIG_DDB5477 is not set
-# CONFIG_NEC_OSPREY is not set
 # CONFIG_MACH_VR41XX is not set
 # CONFIG_PMC_YOSEMITE is not set
 # CONFIG_SGI_IP22 is not set
 # CONFIG_SGI_IP27 is not set
+# CONFIG_SGI_IP30 is not set
 # CONFIG_SGI_IP32 is not set
 CONFIG_SIBYTE_SWARM=y
 # CONFIG_SIBYTE_SENTOSA is not set
@@ -128,7 +132,7 @@
 CONFIG_HAVE_DEC_LOCK=y
 CONFIG_DMA_COHERENT=y
 # CONFIG_CPU_BIG_ENDIAN is not set
-# CONFIG_CPU_LITTLE_ENDIAN=y
+CONFIG_CPU_LITTLE_ENDIAN=y
 CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y
 CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y
 CONFIG_SWAP_IO_SPACE=y
@@ -138,8 +142,8 @@
 #
 # CPU selection
 #
-# CONFIG_CPU_MIPS32 is not set
-# CONFIG_CPU_MIPS64 is not set
+# CONFIG_CPU_MIPS32_R1 is not set
+# CONFIG_CPU_MIPS64_R1 is not set
 # CONFIG_CPU_R3000 is not set
 # CONFIG_CPU_TX39XX is not set
 # CONFIG_CPU_VR41XX is not set
@@ -187,6 +191,7 @@
 CONFIG_PCI=y
 CONFIG_PCI_LEGACY_PROC=y
 CONFIG_PCI_NAMES=y
+# CONFIG_SGI_IOC3 is not set
 CONFIG_MMU=y
 
 #
@@ -251,22 +256,25 @@
 # Block devices
 #
 # CONFIG_BLK_DEV_FD is not set
-# CONFIG_BLK_CPQ_DA is not set
-# CONFIG_BLK_CPQ_CISS_DA is not set
-# CONFIG_BLK_DEV_DAC960 is not set
-# CONFIG_BLK_DEV_UMEM is not set
+CONFIG_BLK_CPQ_DA=m
+CONFIG_BLK_CPQ_CISS_DA=m
+CONFIG_CISS_SCSI_TAPE=y
+CONFIG_BLK_DEV_DAC960=m
+CONFIG_BLK_DEV_UMEM=m
 # CONFIG_BLK_DEV_COW_COMMON is not set
 CONFIG_BLK_DEV_LOOP=m
 CONFIG_BLK_DEV_CRYPTOLOOP=m
 CONFIG_BLK_DEV_NBD=m
-# CONFIG_BLK_DEV_SX8 is not set
+CONFIG_BLK_DEV_SX8=m
 # CONFIG_BLK_DEV_UB is not set
 CONFIG_BLK_DEV_RAM=y
 CONFIG_BLK_DEV_RAM_COUNT=16
 CONFIG_BLK_DEV_RAM_SIZE=8192
 CONFIG_BLK_DEV_INITRD=y
 CONFIG_INITRAMFS_SOURCE=""
-# CONFIG_CDROM_PKTCDVD is not set
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
 
 #
 # IO Schedulers
@@ -275,7 +283,7 @@
 CONFIG_IOSCHED_AS=m
 CONFIG_IOSCHED_DEADLINE=m
 CONFIG_IOSCHED_CFQ=m
-# CONFIG_ATA_OVER_ETH is not set
+CONFIG_ATA_OVER_ETH=m
 
 #
 # ATA/ATAPI/MFM/RLL support
@@ -350,7 +358,7 @@
 #
 CONFIG_BLK_DEV_SD=m
 CONFIG_CHR_DEV_ST=m
-# CONFIG_CHR_DEV_OSST is not set
+CONFIG_CHR_DEV_OSST=m
 CONFIG_BLK_DEV_SR=m
 # CONFIG_BLK_DEV_SR_VENDOR is not set
 CONFIG_CHR_DEV_SG=m
@@ -378,23 +386,24 @@
 CONFIG_SCSI_ACARD=m
 CONFIG_SCSI_AACRAID=m
 CONFIG_SCSI_AIC7XXX=m
-CONFIG_AIC7XXX_CMDS_PER_DEVICE=8
-CONFIG_AIC7XXX_RESET_DELAY_MS=15000
-# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
+CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
+CONFIG_AIC7XXX_RESET_DELAY_MS=5000
+CONFIG_AIC7XXX_DEBUG_ENABLE=y
 CONFIG_AIC7XXX_DEBUG_MASK=0
-# CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set
+CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
 CONFIG_SCSI_AIC7XXX_OLD=m
 CONFIG_SCSI_AIC79XX=m
 CONFIG_AIC79XX_CMDS_PER_DEVICE=32
-CONFIG_AIC79XX_RESET_DELAY_MS=15000
-# CONFIG_AIC79XX_ENABLE_RD_STRM is not set
-# CONFIG_AIC79XX_DEBUG_ENABLE is not set
+CONFIG_AIC79XX_RESET_DELAY_MS=5000
+CONFIG_AIC79XX_ENABLE_RD_STRM=y
+CONFIG_AIC79XX_DEBUG_ENABLE=y
 CONFIG_AIC79XX_DEBUG_MASK=0
-# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
+CONFIG_AIC79XX_REG_PRETTY_PRINT=y
 CONFIG_SCSI_ADVANSYS=m
 CONFIG_MEGARAID_NEWGEN=y
 CONFIG_MEGARAID_MM=m
 CONFIG_MEGARAID_MAILBOX=m
+CONFIG_MEGARAID_LEGACY=m
 CONFIG_SCSI_SATA=y
 CONFIG_SCSI_SATA_AHCI=m
 CONFIG_SCSI_SATA_SVW=m
@@ -408,36 +417,32 @@
 CONFIG_SCSI_SATA_ULI=m
 CONFIG_SCSI_SATA_VIA=m
 CONFIG_SCSI_SATA_VITESSE=m
-CONFIG_SCSI_BUSLOGIC=m
-# CONFIG_SCSI_OMIT_FLASHPOINT is not set
 # CONFIG_SCSI_CPQFCTS is not set
 CONFIG_SCSI_DMX3191D=m
-CONFIG_SCSI_EATA=m
-CONFIG_SCSI_EATA_TAGGED_QUEUE=y
-CONFIG_SCSI_EATA_LINKED_COMMANDS=y
-CONFIG_SCSI_EATA_MAX_TAGS=16
 CONFIG_SCSI_EATA_PIO=m
 CONFIG_SCSI_FUTURE_DOMAIN=m
-CONFIG_SCSI_GDTH=m
-# CONFIG_SCSI_IPS is not set
+CONFIG_SCSI_IPS=m
 CONFIG_SCSI_INITIO=m
-CONFIG_SCSI_INIA100=m
+# CONFIG_SCSI_INIA100 is not set
 CONFIG_SCSI_SYM53C8XX_2=m
 CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
 CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
 CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
 # CONFIG_SCSI_SYM53C8XX_IOMAPPED is not set
-# CONFIG_SCSI_IPR is not set
+CONFIG_SCSI_IPR=m
+# CONFIG_SCSI_IPR_TRACE is not set
+# CONFIG_SCSI_IPR_DUMP is not set
 # CONFIG_SCSI_PCI2000 is not set
 # CONFIG_SCSI_PCI2220I is not set
-# CONFIG_SCSI_QLOGIC_ISP is not set
+CONFIG_SCSI_QLOGIC_ISP=m
 CONFIG_SCSI_QLOGIC_FC=m
 CONFIG_SCSI_QLOGIC_FC_FIRMWARE=y
 CONFIG_SCSI_QLOGIC_1280=m
 CONFIG_SCSI_QLOGIC_1280_1040=y
-# CONFIG_SCSI_DC395x is not set
+CONFIG_SCSI_LPFC=m
+CONFIG_SCSI_DC395x=m
 CONFIG_SCSI_DC390T=m
-# CONFIG_SCSI_DEBUG is not set
+CONFIG_SCSI_DEBUG=m
 
 #
 # PCMCIA SCSI adapter support
@@ -450,35 +455,69 @@
 # Multi-device support (RAID and LVM)
 #
 CONFIG_MD=y
-CONFIG_BLK_DEV_MD=m
+CONFIG_BLK_DEV_MD=y
 CONFIG_MD_LINEAR=m
-CONFIG_MD_RAID0=m
-CONFIG_MD_RAID1=m
+CONFIG_MD_RAID0=y
+CONFIG_MD_RAID1=y
 CONFIG_MD_RAID10=m
-CONFIG_MD_RAID5=m
+CONFIG_MD_RAID5=y
 CONFIG_MD_RAID6=m
-CONFIG_MD_MULTIPATH=m
+# CONFIG_MD_MULTIPATH is not set
 CONFIG_MD_FAULTY=m
 CONFIG_BLK_DEV_DM=m
 CONFIG_DM_CRYPT=m
 CONFIG_DM_SNAPSHOT=m
 CONFIG_DM_MIRROR=m
 CONFIG_DM_ZERO=m
+# CONFIG_DM_MULTIPATH is not set
 
 #
 # Fusion MPT device support
 #
-# CONFIG_FUSION is not set
+CONFIG_FUSION=m
+CONFIG_FUSION_MAX_SGE=40
+CONFIG_FUSION_CTL=m
+CONFIG_FUSION_LAN=m
 
 #
 # IEEE 1394 (FireWire) support
 #
-# CONFIG_IEEE1394 is not set
+CONFIG_IEEE1394=m
 
 #
+# Subsystem Options
+#
+# CONFIG_IEEE1394_VERBOSEDEBUG is not set
+# CONFIG_IEEE1394_OUI_DB is not set
+CONFIG_IEEE1394_EXTRA_CONFIG_ROMS=y
+CONFIG_IEEE1394_CONFIG_ROM_IP1394=y
+
+#
+# Device Drivers
+#
+CONFIG_IEEE1394_PCILYNX=m
+CONFIG_IEEE1394_OHCI1394=m
+
+#
+# Protocol Drivers
+#
+CONFIG_IEEE1394_VIDEO1394=m
+CONFIG_IEEE1394_SBP2=m
+# CONFIG_IEEE1394_SBP2_PHYS_DMA is not set
+CONFIG_IEEE1394_ETH1394=m
+CONFIG_IEEE1394_DV1394=m
+CONFIG_IEEE1394_RAWIO=m
+CONFIG_IEEE1394_CMP=m
+CONFIG_IEEE1394_AMDTP=m
+
+#
 # I2O device support
 #
-# CONFIG_I2O is not set
+CONFIG_I2O=m
+CONFIG_I2O_CONFIG=m
+CONFIG_I2O_BLOCK=m
+CONFIG_I2O_SCSI=m
+CONFIG_I2O_PROC=m
 
 #
 # Networking support
@@ -488,20 +527,32 @@
 #
 # Networking options
 #
-CONFIG_PACKET=y
+CONFIG_PACKET=m
 CONFIG_PACKET_MMAP=y
-CONFIG_NETLINK_DEV=m
 CONFIG_UNIX=y
 CONFIG_NET_KEY=m
 CONFIG_INET=y
-# CONFIG_IP_MULTICAST is not set
-# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_FWMARK=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+CONFIG_IP_ROUTE_MULTIPATH_CACHED=y
+CONFIG_IP_ROUTE_MULTIPATH_RR=m
+CONFIG_IP_ROUTE_MULTIPATH_RANDOM=m
+CONFIG_IP_ROUTE_MULTIPATH_WRANDOM=m
+CONFIG_IP_ROUTE_MULTIPATH_DRR=m
+CONFIG_IP_ROUTE_VERBOSE=y
 CONFIG_IP_PNP=y
 # CONFIG_IP_PNP_DHCP is not set
 CONFIG_IP_PNP_BOOTP=y
 # CONFIG_IP_PNP_RARP is not set
-CONFIG_NET_IPIP=m
+# CONFIG_NET_IPIP is not set
 CONFIG_NET_IPGRE=m
+CONFIG_NET_IPGRE_BROADCAST=y
+CONFIG_IP_MROUTE=y
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
 # CONFIG_ARPD is not set
 CONFIG_SYN_COOKIES=y
 CONFIG_INET_AH=m
@@ -524,6 +575,7 @@
 CONFIG_IPV6_TUNNEL=m
 CONFIG_NETFILTER=y
 # CONFIG_NETFILTER_DEBUG is not set
+CONFIG_BRIDGE_NETFILTER=y
 
 #
 # IP: Netfilter Configuration
@@ -556,6 +608,7 @@
 CONFIG_IP_NF_MATCH_STATE=m
 CONFIG_IP_NF_MATCH_CONNTRACK=m
 CONFIG_IP_NF_MATCH_OWNER=m
+CONFIG_IP_NF_MATCH_PHYSDEV=m
 CONFIG_IP_NF_MATCH_ADDRTYPE=m
 CONFIG_IP_NF_MATCH_REALM=m
 CONFIG_IP_NF_MATCH_SCTP=m
@@ -585,7 +638,7 @@
 CONFIG_IP_NF_TARGET_MARK=m
 CONFIG_IP_NF_TARGET_CLASSIFY=m
 CONFIG_IP_NF_TARGET_CONNMARK=m
-# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
+CONFIG_IP_NF_TARGET_CLUSTERIP=m
 CONFIG_IP_NF_RAW=m
 CONFIG_IP_NF_TARGET_NOTRACK=m
 CONFIG_IP_NF_ARPTABLES=m
@@ -593,7 +646,7 @@
 CONFIG_IP_NF_ARP_MANGLE=m
 
 #
-# IPv6: Netfilter Configuration
+# IPv6: Netfilter Configuration (EXPERIMENTAL)
 #
 CONFIG_IP6_NF_QUEUE=m
 CONFIG_IP6_NF_IPTABLES=m
@@ -610,11 +663,41 @@
 CONFIG_IP6_NF_MATCH_AHESP=m
 CONFIG_IP6_NF_MATCH_LENGTH=m
 CONFIG_IP6_NF_MATCH_EUI64=m
+CONFIG_IP6_NF_MATCH_PHYSDEV=m
 CONFIG_IP6_NF_FILTER=m
 CONFIG_IP6_NF_TARGET_LOG=m
 CONFIG_IP6_NF_MANGLE=m
 CONFIG_IP6_NF_TARGET_MARK=m
 CONFIG_IP6_NF_RAW=m
+
+#
+# DECnet: Netfilter Configuration
+#
+CONFIG_DECNET_NF_GRABULATOR=m
+
+#
+# Bridge: Netfilter Configuration
+#
+CONFIG_BRIDGE_NF_EBTABLES=m
+CONFIG_BRIDGE_EBT_BROUTE=m
+CONFIG_BRIDGE_EBT_T_FILTER=m
+CONFIG_BRIDGE_EBT_T_NAT=m
+CONFIG_BRIDGE_EBT_802_3=m
+CONFIG_BRIDGE_EBT_AMONG=m
+CONFIG_BRIDGE_EBT_ARP=m
+CONFIG_BRIDGE_EBT_IP=m
+CONFIG_BRIDGE_EBT_LIMIT=m
+CONFIG_BRIDGE_EBT_MARK=m
+CONFIG_BRIDGE_EBT_PKTTYPE=m
+CONFIG_BRIDGE_EBT_STP=m
+CONFIG_BRIDGE_EBT_VLAN=m
+CONFIG_BRIDGE_EBT_ARPREPLY=m
+CONFIG_BRIDGE_EBT_DNAT=m
+CONFIG_BRIDGE_EBT_MARK_T=m
+CONFIG_BRIDGE_EBT_REDIRECT=m
+CONFIG_BRIDGE_EBT_SNAT=m
+CONFIG_BRIDGE_EBT_LOG=m
+CONFIG_BRIDGE_EBT_ULOG=m
 CONFIG_XFRM=y
 CONFIG_XFRM_USER=y
 
@@ -627,18 +710,33 @@
 # CONFIG_SCTP_HMAC_NONE is not set
 # CONFIG_SCTP_HMAC_SHA1 is not set
 CONFIG_SCTP_HMAC_MD5=y
-# CONFIG_ATM is not set
-# CONFIG_BRIDGE is not set
+CONFIG_ATM=y
+CONFIG_ATM_CLIP=y
+# CONFIG_ATM_CLIP_NO_ICMP is not set
+CONFIG_ATM_LANE=m
+CONFIG_ATM_MPOA=m
+CONFIG_ATM_BR2684=m
+# CONFIG_ATM_BR2684_IPFILTER is not set
+CONFIG_BRIDGE=m
 # CONFIG_VLAN_8021Q is not set
-# CONFIG_DECNET is not set
-# CONFIG_LLC2 is not set
-# CONFIG_IPX is not set
-# CONFIG_ATALK is not set
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
+CONFIG_DECNET=m
+# CONFIG_DECNET_ROUTER is not set
+CONFIG_LLC=m
+CONFIG_LLC2=m
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+CONFIG_ATALK=m
+CONFIG_DEV_APPLETALK=y
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+CONFIG_IPDDP_DECAP=y
+CONFIG_X25=m
+CONFIG_LAPB=m
 # CONFIG_NET_DIVERT is not set
-# CONFIG_ECONET is not set
-# CONFIG_WAN_ROUTER is not set
+CONFIG_ECONET=m
+CONFIG_ECONET_AUNUDP=y
+CONFIG_ECONET_NATIVE=y
+CONFIG_WAN_ROUTER=m
 
 #
 # QoS and/or fair queueing
@@ -650,6 +748,7 @@
 CONFIG_NET_SCH_CBQ=m
 CONFIG_NET_SCH_HTB=m
 CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_ATM=m
 CONFIG_NET_SCH_PRIO=m
 CONFIG_NET_SCH_RED=m
 CONFIG_NET_SCH_SFQ=m
@@ -662,6 +761,7 @@
 CONFIG_NET_QOS=y
 CONFIG_NET_ESTIMATOR=y
 CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=m
 CONFIG_NET_CLS_TCINDEX=m
 CONFIG_NET_CLS_ROUTE4=m
 CONFIG_NET_CLS_ROUTE=y
@@ -669,27 +769,134 @@
 CONFIG_NET_CLS_U32=m
 # CONFIG_CLS_U32_PERF is not set
 # CONFIG_NET_CLS_IND is not set
-CONFIG_CLS_U32_MARK=y
+# CONFIG_CLS_U32_MARK is not set
 CONFIG_NET_CLS_RSVP=m
 CONFIG_NET_CLS_RSVP6=m
+CONFIG_NET_EMATCH=y
+CONFIG_NET_EMATCH_STACK=32
+CONFIG_NET_EMATCH_CMP=m
+CONFIG_NET_EMATCH_NBYTE=m
+CONFIG_NET_EMATCH_U32=m
+CONFIG_NET_EMATCH_META=m
 # CONFIG_NET_CLS_ACT is not set
 CONFIG_NET_CLS_POLICE=y
 
 #
 # Network testing
 #
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_NETPOLL is not set
-# CONFIG_NET_POLL_CONTROLLER is not set
-# CONFIG_HAMRADIO is not set
-# CONFIG_IRDA is not set
-# CONFIG_BT is not set
+CONFIG_NET_PKTGEN=m
+CONFIG_NETPOLL=y
+# CONFIG_NETPOLL_RX is not set
+# CONFIG_NETPOLL_TRAP is not set
+CONFIG_NET_POLL_CONTROLLER=y
+CONFIG_HAMRADIO=y
+
+#
+# Packet Radio protocols
+#
+CONFIG_AX25=m
+# CONFIG_AX25_DAMA_SLAVE is not set
+CONFIG_NETROM=m
+CONFIG_ROSE=m
+
+#
+# AX.25 network device drivers
+#
+CONFIG_MKISS=m
+CONFIG_6PACK=m
+CONFIG_BPQETHER=m
+CONFIG_BAYCOM_SER_FDX=m
+CONFIG_BAYCOM_SER_HDX=m
+CONFIG_YAM=m
+CONFIG_IRDA=m
+
+#
+# IrDA protocols
+#
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+# CONFIG_IRDA_ULTRA is not set
+
+#
+# IrDA options
+#
+CONFIG_IRDA_CACHE_LAST_LSAP=y
+CONFIG_IRDA_FAST_RR=y
+CONFIG_IRDA_DEBUG=y
+
+#
+# Infrared-port device drivers
+#
+
+#
+# SIR device drivers
+#
+CONFIG_IRTTY_SIR=m
+
+#
+# Dongle support
+#
+CONFIG_DONGLE=y
+CONFIG_ESI_DONGLE=m
+CONFIG_ACTISYS_DONGLE=m
+CONFIG_TEKRAM_DONGLE=m
+CONFIG_LITELINK_DONGLE=m
+CONFIG_MA600_DONGLE=m
+CONFIG_GIRBIL_DONGLE=m
+CONFIG_MCP2120_DONGLE=m
+CONFIG_OLD_BELKIN_DONGLE=m
+CONFIG_ACT200L_DONGLE=m
+
+#
+# Old SIR device drivers
+#
+CONFIG_IRPORT_SIR=m
+
+#
+# Old Serial dongle support
+#
+# CONFIG_DONGLE_OLD is not set
+
+#
+# FIR device drivers
+#
+CONFIG_USB_IRDA=m
+CONFIG_SIGMATEL_FIR=m
+CONFIG_VLSI_FIR=m
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_CMTP=m
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIUSB=m
+CONFIG_BT_HCIUSB_SCO=y
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+# CONFIG_BT_HCIUART_BCSP_TXCRC is not set
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
 CONFIG_NETDEVICES=y
 CONFIG_DUMMY=m
 CONFIG_BONDING=m
 CONFIG_EQUALIZER=m
 CONFIG_TUN=m
-CONFIG_ETHERTAP=m
 
 #
 # ARCnet devices
@@ -723,29 +930,28 @@
 CONFIG_NET_PCI=y
 CONFIG_PCNET32=m
 CONFIG_AMD8111_ETH=m
-CONFIG_AMD8111E_NAPI=y
+# CONFIG_AMD8111E_NAPI is not set
 CONFIG_ADAPTEC_STARFIRE=m
-CONFIG_ADAPTEC_STARFIRE_NAPI=y
+# CONFIG_ADAPTEC_STARFIRE_NAPI is not set
 CONFIG_B44=m
 # CONFIG_FORCEDETH is not set
 CONFIG_EEPRO100=m
 CONFIG_E100=m
-CONFIG_E100_NAPI=y
 CONFIG_FEALNX=m
 CONFIG_NATSEMI=m
 CONFIG_NE2K_PCI=m
 CONFIG_8139CP=m
 CONFIG_8139TOO=m
-# CONFIG_8139TOO_PIO is not set
-# CONFIG_8139TOO_TUNE_TWISTER is not set
-# CONFIG_8139TOO_8129 is not set
+CONFIG_8139TOO_PIO=y
+CONFIG_8139TOO_TUNE_TWISTER=y
+CONFIG_8139TOO_8129=y
 # CONFIG_8139_OLD_RX_RESET is not set
 # CONFIG_SIS900 is not set
 CONFIG_EPIC100=m
 CONFIG_SUNDANCE=m
-CONFIG_SUNDANCE_MMIO=y
+# CONFIG_SUNDANCE_MMIO is not set
 CONFIG_VIA_RHINE=m
-CONFIG_VIA_RHINE_MMIO=y
+# CONFIG_VIA_RHINE_MMIO is not set
 # CONFIG_LAN_SAA9730 is not set
 
 #
@@ -753,23 +959,25 @@
 #
 CONFIG_DL2K=m
 CONFIG_E1000=m
-CONFIG_E1000_NAPI=y
+# CONFIG_E1000_NAPI is not set
 CONFIG_NS83820=m
 CONFIG_HAMACHI=m
 CONFIG_YELLOWFIN=m
 CONFIG_R8169=m
-CONFIG_R8169_NAPI=y
+# CONFIG_R8169_NAPI is not set
 CONFIG_NET_SB1250_MAC=y
 CONFIG_SK98LIN=m
 CONFIG_VIA_VELOCITY=m
+CONFIG_TIGON3=m
+CONFIG_BNX2=m
 
 #
 # Ethernet (10000 Mbit)
 #
 CONFIG_IXGB=m
-CONFIG_IXGB_NAPI=y
+# CONFIG_IXGB_NAPI is not set
 CONFIG_S2IO=m
-CONFIG_S2IO_NAPI=y
+# CONFIG_S2IO_NAPI is not set
 # CONFIG_2BUFF_MODE is not set
 
 #
@@ -791,6 +999,35 @@
 # Wan interfaces
 #
 # CONFIG_WAN is not set
+
+#
+# ATM drivers
+#
+CONFIG_ATM_TCP=m
+CONFIG_ATM_LANAI=m
+CONFIG_ATM_ENI=m
+# CONFIG_ATM_ENI_DEBUG is not set
+# CONFIG_ATM_ENI_TUNE_BURST is not set
+CONFIG_ATM_FIRESTREAM=m
+CONFIG_ATM_ZATM=m
+# CONFIG_ATM_ZATM_DEBUG is not set
+CONFIG_ATM_IDT77252=m
+# CONFIG_ATM_IDT77252_DEBUG is not set
+# CONFIG_ATM_IDT77252_RCV_ALL is not set
+CONFIG_ATM_IDT77252_USE_SUNI=y
+CONFIG_ATM_AMBASSADOR=m
+# CONFIG_ATM_AMBASSADOR_DEBUG is not set
+CONFIG_ATM_HORIZON=m
+# CONFIG_ATM_HORIZON_DEBUG is not set
+CONFIG_ATM_FORE200E_MAYBE=m
+CONFIG_ATM_FORE200E_PCA=y
+CONFIG_ATM_FORE200E_PCA_DEFAULT_FW=y
+CONFIG_ATM_FORE200E_USE_TASKLET=y
+CONFIG_ATM_FORE200E_TX_RETRY=16
+CONFIG_ATM_FORE200E_DEBUG=0
+CONFIG_ATM_FORE200E=m
+CONFIG_ATM_HE=m
+# CONFIG_ATM_HE_USE_SUNI is not set
 # CONFIG_FDDI is not set
 # CONFIG_HIPPI is not set
 CONFIG_PPP=m
@@ -801,20 +1038,144 @@
 CONFIG_PPP_DEFLATE=m
 CONFIG_PPP_BSDCOMP=m
 CONFIG_PPPOE=m
+CONFIG_PPPOATM=m
 CONFIG_SLIP=m
 CONFIG_SLIP_COMPRESSED=y
 CONFIG_SLIP_SMART=y
 CONFIG_SLIP_MODE_SLIP6=y
-# CONFIG_NET_FC is not set
-# CONFIG_SHAPER is not set
-# CONFIG_NETCONSOLE is not set
+CONFIG_NET_FC=y
+CONFIG_SHAPER=m
+CONFIG_NETCONSOLE=m
 
 #
 # ISDN subsystem
 #
-# CONFIG_ISDN is not set
+CONFIG_ISDN=m
 
 #
+# Old ISDN4Linux
+#
+CONFIG_ISDN_I4L=m
+CONFIG_ISDN_PPP=y
+CONFIG_ISDN_PPP_VJ=y
+CONFIG_ISDN_MPP=y
+CONFIG_IPPP_FILTER=y
+CONFIG_ISDN_PPP_BSDCOMP=m
+CONFIG_ISDN_AUDIO=y
+CONFIG_ISDN_TTY_FAX=y
+CONFIG_ISDN_X25=y
+
+#
+# ISDN feature submodules
+#
+CONFIG_ISDN_DRV_LOOP=m
+# CONFIG_ISDN_DIVERSION is not set
+
+#
+# ISDN4Linux hardware drivers
+#
+
+#
+# Passive cards
+#
+CONFIG_ISDN_DRV_HISAX=m
+
+#
+# D-channel protocol features
+#
+CONFIG_HISAX_EURO=y
+CONFIG_DE_AOC=y
+# CONFIG_HISAX_NO_SENDCOMPLETE is not set
+# CONFIG_HISAX_NO_LLC is not set
+# CONFIG_HISAX_NO_KEYPAD is not set
+CONFIG_HISAX_1TR6=y
+CONFIG_HISAX_NI1=y
+CONFIG_HISAX_MAX_CARDS=8
+
+#
+# HiSax supported cards
+#
+CONFIG_HISAX_16_3=y
+CONFIG_HISAX_TELESPCI=y
+CONFIG_HISAX_S0BOX=y
+CONFIG_HISAX_FRITZPCI=y
+CONFIG_HISAX_AVM_A1_PCMCIA=y
+CONFIG_HISAX_ELSA=y
+CONFIG_HISAX_DIEHLDIVA=y
+CONFIG_HISAX_SEDLBAUER=y
+CONFIG_HISAX_NETJET=y
+CONFIG_HISAX_NETJET_U=y
+CONFIG_HISAX_NICCY=y
+CONFIG_HISAX_BKM_A4T=y
+CONFIG_HISAX_SCT_QUADRO=y
+CONFIG_HISAX_GAZEL=y
+CONFIG_HISAX_HFC_PCI=y
+CONFIG_HISAX_W6692=y
+CONFIG_HISAX_HFC_SX=y
+CONFIG_HISAX_ENTERNOW_PCI=y
+# CONFIG_HISAX_DEBUG is not set
+
+#
+# HiSax PCMCIA card service modules
+#
+CONFIG_HISAX_SEDLBAUER_CS=m
+CONFIG_HISAX_ELSA_CS=m
+CONFIG_HISAX_AVM_A1_CS=m
+CONFIG_HISAX_TELES_CS=m
+
+#
+# HiSax sub driver modules
+#
+CONFIG_HISAX_ST5481=m
+CONFIG_HISAX_HFCUSB=m
+CONFIG_HISAX_HFC4S8S=m
+CONFIG_HISAX_FRITZ_PCIPNP=m
+CONFIG_HISAX_HDLC=y
+
+#
+# Active cards
+#
+CONFIG_HYSDN=m
+CONFIG_HYSDN_CAPI=y
+
+#
+# CAPI subsystem
+#
+CONFIG_ISDN_CAPI=m
+CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
+CONFIG_ISDN_CAPI_MIDDLEWARE=y
+CONFIG_ISDN_CAPI_CAPI20=m
+CONFIG_ISDN_CAPI_CAPIFS_BOOL=y
+CONFIG_ISDN_CAPI_CAPIFS=m
+CONFIG_ISDN_CAPI_CAPIDRV=m
+
+#
+# CAPI hardware drivers
+#
+
+#
+# Active AVM cards
+#
+CONFIG_CAPI_AVM=y
+CONFIG_ISDN_DRV_AVMB1_B1PCI=m
+CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
+CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
+CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
+CONFIG_ISDN_DRV_AVMB1_T1PCI=m
+CONFIG_ISDN_DRV_AVMB1_C4=m
+
+#
+# Active Eicon DIVA Server cards
+#
+CONFIG_CAPI_EICON=y
+CONFIG_ISDN_DIVAS=m
+CONFIG_ISDN_DIVAS_BRIPCI=y
+CONFIG_ISDN_DIVAS_PRIPCI=y
+CONFIG_ISDN_DIVAS_DIVACAPI=m
+CONFIG_ISDN_DIVAS_USERIDI=m
+CONFIG_ISDN_DIVAS_MAINT=m
+
+#
 # Telephony Support
 #
 # CONFIG_PHONE is not set
@@ -834,22 +1195,9 @@
 # CONFIG_INPUT_JOYDEV is not set
 # CONFIG_INPUT_TSDEV is not set
 CONFIG_INPUT_EVDEV=m
-# CONFIG_INPUT_EVBUG is not set
+CONFIG_INPUT_EVBUG=m
 
 #
-# Input I/O drivers
-#
-# CONFIG_GAMEPORT is not set
-CONFIG_SOUND_GAMEPORT=y
-CONFIG_SERIO=y
-# CONFIG_SERIO_I8042 is not set
-CONFIG_SERIO_SERPORT=y
-# CONFIG_SERIO_CT82C710 is not set
-# CONFIG_SERIO_PCIPS2 is not set
-# CONFIG_SERIO_LIBPS2 is not set
-CONFIG_SERIO_RAW=m
-
-#
 # Input Device Drivers
 #
 CONFIG_INPUT_KEYBOARD=y
@@ -867,6 +1215,17 @@
 # CONFIG_INPUT_MISC is not set
 
 #
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+# CONFIG_SERIO_I8042 is not set
+CONFIG_SERIO_SERPORT=y
+# CONFIG_SERIO_PCIPS2 is not set
+# CONFIG_SERIO_LIBPS2 is not set
+CONFIG_SERIO_RAW=m
+# CONFIG_GAMEPORT is not set
+
+#
 # Character devices
 #
 CONFIG_VT=y
@@ -884,6 +1243,8 @@
 #
 # Non-8250 serial port support
 #
+CONFIG_SERIAL_CORE=m
+CONFIG_SERIAL_JSM=m
 CONFIG_UNIX98_PTYS=y
 CONFIG_LEGACY_PTYS=y
 CONFIG_LEGACY_PTY_COUNT=256
@@ -891,7 +1252,12 @@
 #
 # IPMI
 #
-# CONFIG_IPMI_HANDLER is not set
+CONFIG_IPMI_HANDLER=m
+# CONFIG_IPMI_PANIC_EVENT is not set
+CONFIG_IPMI_DEVICE_INTERFACE=m
+CONFIG_IPMI_SI=m
+CONFIG_IPMI_WATCHDOG=m
+CONFIG_IPMI_POWEROFF=m
 
 #
 # Watchdog Cards
@@ -933,6 +1299,11 @@
 # CONFIG_RAW_DRIVER is not set
 
 #
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+
+#
 # I2C support
 #
 CONFIG_I2C=m
@@ -956,6 +1327,7 @@
 # CONFIG_I2C_AMD8111 is not set
 # CONFIG_I2C_I801 is not set
 # CONFIG_I2C_I810 is not set
+# CONFIG_I2C_PIIX4 is not set
 # CONFIG_I2C_ISA is not set
 # CONFIG_I2C_NFORCE2 is not set
 # CONFIG_I2C_PARPORT_LIGHT is not set
@@ -983,7 +1355,9 @@
 # CONFIG_SENSORS_ASB100 is not set
 # CONFIG_SENSORS_DS1621 is not set
 # CONFIG_SENSORS_FSCHER is not set
+# CONFIG_SENSORS_FSCPOS is not set
 # CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
 # CONFIG_SENSORS_IT87 is not set
 # CONFIG_SENSORS_LM63 is not set
 # CONFIG_SENSORS_LM75 is not set
@@ -994,9 +1368,11 @@
 # CONFIG_SENSORS_LM85 is not set
 # CONFIG_SENSORS_LM87 is not set
 # CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
 # CONFIG_SENSORS_MAX1619 is not set
 # CONFIG_SENSORS_PC87360 is not set
 # CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_SIS5595 is not set
 # CONFIG_SENSORS_SMSC47M1 is not set
 # CONFIG_SENSORS_VIA686A is not set
 # CONFIG_SENSORS_W83781D is not set
@@ -1006,6 +1382,7 @@
 #
 # Other I2C Chip support
 #
+# CONFIG_SENSORS_DS1337 is not set
 # CONFIG_SENSORS_EEPROM is not set
 # CONFIG_SENSORS_PCF8574 is not set
 # CONFIG_SENSORS_PCF8591 is not set
@@ -1069,6 +1446,11 @@
 # Graphics support
 #
 CONFIG_FB=y
+CONFIG_FB_CFB_FILLRECT=m
+CONFIG_FB_CFB_COPYAREA=m
+CONFIG_FB_CFB_IMAGEBLIT=m
+CONFIG_FB_SOFT_CURSOR=m
+# CONFIG_FB_MACMODES is not set
 CONFIG_FB_MODE_HELPERS=y
 CONFIG_FB_TILEBLITTING=y
 CONFIG_FB_CIRRUS=m
@@ -1077,6 +1459,8 @@
 CONFIG_FB_CYBER2000=m
 # CONFIG_FB_ASILIANT is not set
 # CONFIG_FB_IMSTT is not set
+CONFIG_FB_NVIDIA=m
+CONFIG_FB_NVIDIA_I2C=y
 CONFIG_FB_RIVA=m
 CONFIG_FB_RIVA_I2C=y
 # CONFIG_FB_RIVA_DEBUG is not set
@@ -1098,18 +1482,20 @@
 CONFIG_FB_ATY_XL_INIT=y
 CONFIG_FB_ATY_GX=y
 CONFIG_FB_SAVAGE=m
-CONFIG_FB_SAVAGE_I2C=m
-CONFIG_FB_SAVAGE_ACCEL=m
+CONFIG_FB_SAVAGE_I2C=y
+CONFIG_FB_SAVAGE_ACCEL=y
 # CONFIG_FB_SIS is not set
 # CONFIG_FB_NEOMAGIC is not set
 # CONFIG_FB_KYRO is not set
 CONFIG_FB_3DFX=m
 CONFIG_FB_3DFX_ACCEL=y
 CONFIG_FB_VOODOO1=m
+CONFIG_FB_SMIVGX=m
 CONFIG_FB_TRIDENT=m
 CONFIG_FB_TRIDENT_ACCEL=y
 # CONFIG_FB_PM3 is not set
 # CONFIG_FB_E1356 is not set
+CONFIG_FB_S1D13XXX=m
 # CONFIG_FB_VIRTUAL is not set
 
 #
@@ -1148,13 +1534,10 @@
 CONFIG_SND=m
 CONFIG_SND_TIMER=m
 CONFIG_SND_PCM=m
-CONFIG_SND_HWDEP=m
-CONFIG_SND_RAWMIDI=m
 # CONFIG_SND_SEQUENCER is not set
 CONFIG_SND_OSSEMUL=y
 CONFIG_SND_MIXER_OSS=m
 CONFIG_SND_PCM_OSS=m
-CONFIG_SND_BIT32_EMUL=m
 # CONFIG_SND_VERBOSE_PRINTK is not set
 # CONFIG_SND_DEBUG is not set
 
@@ -1207,6 +1590,7 @@
 # CONFIG_SND_VIA82XX is not set
 # CONFIG_SND_VIA82XX_MODEM is not set
 # CONFIG_SND_VX222 is not set
+# CONFIG_SND_HDA_INTEL is not set
 
 #
 # ALSA MIPS devices
@@ -1252,6 +1636,8 @@
 #
 # USB support
 #
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
 CONFIG_USB=m
 # CONFIG_USB_DEBUG is not set
 
@@ -1262,8 +1648,6 @@
 # CONFIG_USB_BANDWIDTH is not set
 # CONFIG_USB_DYNAMIC_MINORS is not set
 # CONFIG_USB_OTG is not set
-CONFIG_USB_ARCH_HAS_HCD=y
-CONFIG_USB_ARCH_HAS_OHCI=y
 
 #
 # USB Host Controller Drivers
@@ -1279,7 +1663,10 @@
 # USB Device Class drivers
 #
 CONFIG_USB_AUDIO=m
-CONFIG_USB_BLUETOOTH_TTY=m
+
+#
+# USB Bluetooth TTY can only be used with disabled Bluetooth subsystem
+#
 CONFIG_USB_MIDI=m
 CONFIG_USB_ACM=m
 CONFIG_USB_PRINTER=m
@@ -1289,12 +1676,11 @@
 #
 CONFIG_USB_STORAGE=m
 # CONFIG_USB_STORAGE_DEBUG is not set
-CONFIG_USB_STORAGE_RW_DETECT=y
 CONFIG_USB_STORAGE_DATAFAB=y
 CONFIG_USB_STORAGE_FREECOM=y
 CONFIG_USB_STORAGE_ISD200=y
 CONFIG_USB_STORAGE_DPCM=y
-CONFIG_USB_STORAGE_HP8200e=y
+CONFIG_USB_STORAGE_USBAT=y
 CONFIG_USB_STORAGE_SDDR09=y
 CONFIG_USB_STORAGE_SDDR55=y
 CONFIG_USB_STORAGE_JUMPSHOT=y
@@ -1329,7 +1715,6 @@
 #
 CONFIG_USB_MDC800=m
 CONFIG_USB_MICROTEK=m
-CONFIG_USB_HPUSBSCSI=m
 
 #
 # USB Multimedia devices
@@ -1342,6 +1727,7 @@
 CONFIG_USB_SE401=m
 CONFIG_USB_SN9C102=m
 CONFIG_USB_STV680=m
+CONFIG_USB_PWC=m
 
 #
 # USB Network Adapters
@@ -1375,6 +1761,7 @@
 # USB Network Adapters
 #
 CONFIG_USB_AX8817X=y
+CONFIG_USB_MON=m
 
 #
 # USB port drivers
@@ -1385,9 +1772,11 @@
 #
 CONFIG_USB_SERIAL=m
 CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_AIRPRIME=m
 # CONFIG_USB_SERIAL_BELKIN is not set
 # CONFIG_USB_SERIAL_WHITEHEAT is not set
 # CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
+CONFIG_USB_SERIAL_CP2101=m
 # CONFIG_USB_SERIAL_CYPRESS_M8 is not set
 # CONFIG_USB_SERIAL_EMPEG is not set
 # CONFIG_USB_SERIAL_FTDI_SIO is not set
@@ -1402,6 +1791,7 @@
 # CONFIG_USB_SERIAL_KOBIL_SCT is not set
 # CONFIG_USB_SERIAL_MCT_U232 is not set
 # CONFIG_USB_SERIAL_PL2303 is not set
+CONFIG_USB_SERIAL_HP4X=m
 # CONFIG_USB_SERIAL_SAFE is not set
 # CONFIG_USB_SERIAL_TI is not set
 # CONFIG_USB_SERIAL_CYBERJACK is not set
@@ -1411,7 +1801,6 @@
 #
 # USB Miscellaneous drivers
 #
-# CONFIG_USB_EMI26 is not set
 CONFIG_USB_AUERSWALD=m
 CONFIG_USB_RIO500=m
 CONFIG_USB_LEGOTOWER=m
@@ -1421,11 +1810,14 @@
 CONFIG_USB_PHIDGETKIT=m
 CONFIG_USB_PHIDGETSERVO=m
 CONFIG_USB_IDMOUSE=m
+CONFIG_USB_SISUSBVGA=m
 CONFIG_USB_TEST=m
 
 #
 # USB ATM/DSL drivers
 #
+CONFIG_USB_ATM=m
+CONFIG_USB_SPEEDTOUCH=m
 
 #
 # USB Gadget Support
@@ -1630,7 +2022,9 @@
 #
 # Kernel hacking
 #
+# CONFIG_PRINTK_TIME is not set
 # CONFIG_DEBUG_KERNEL is not set
+CONFIG_LOG_BUF_SHIFT=15
 # CONFIG_CROSSCOMPILE is not set
 CONFIG_CMDLINE=""
 # CONFIG_SB1XXX_CORELIS is not set
@@ -1653,6 +2047,7 @@
 CONFIG_CRYPTO_SHA256=m
 CONFIG_CRYPTO_SHA512=m
 CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_TGR192=m
 CONFIG_CRYPTO_DES=m
 CONFIG_CRYPTO_BLOWFISH=m
 CONFIG_CRYPTO_TWOFISH=m

Modified: trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/control.in/stub
===================================================================
--- trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/control.in/stub	2005-08-17 16:06:19 UTC (rev 3963)
+++ trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/control.in/stub	2005-08-17 19:38:05 UTC (rev 3964)
@@ -1,7 +1,7 @@
 Source: linux-patch- at kernver@-mips
 Section: devel
 Priority: optional
-Build-Depends: linux-source- at kernver@ (= @sourcever@), kernel-package (>= 9.000), debhelper (>= 4.1.0), module-init-tools, dpatch, bzip2
+Build-Depends: linux-source- at kernver@ (= @sourcever@), kernel-package (>= 9.006), debhelper (>= 4.1.0), module-init-tools, dpatch, bzip2
 Maintainer: Debian kernel team <debian-kernel at lists.debian.org>
 Uploaders: Thiemo Seufer <ths at debian.org>
 Standards-Version: 3.6.1

Modified: trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/flavours.mipsel
===================================================================
--- trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/flavours.mipsel	2005-08-17 16:06:19 UTC (rev 3963)
+++ trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/flavours.mipsel	2005-08-17 19:38:05 UTC (rev 3964)
@@ -1,7 +1,7 @@
 # Kernel flavours we build for mipsel
 #r3k-kn02
 #r4k-kn04
-#r5k-cobalt
+r5k-cobalt
 #r5k-lasat 
 sb1-swarm-bn
 #xxs1500

Modified: trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/patches/10_arch-makefile.dpatch
===================================================================
--- trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/patches/10_arch-makefile.dpatch	2005-08-17 16:06:19 UTC (rev 3963)
+++ trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/patches/10_arch-makefile.dpatch	2005-08-17 19:38:05 UTC (rev 3964)
@@ -29,15 +29,6 @@
 diff -u -p -r1.186 Makefile
 --- arch/mips/Makefile	18 Dec 2004 01:15:52 -0000	1.186
 +++ arch/mips/Makefile	10 Jan 2005 22:10:32 -0000
-@@ -56,7 +56,7 @@ ifdef CONFIG_BUILD_ELF64
- gas-abi			= 64
- ld-emul			= $(64bit-emul)
- vmlinux-32		= vmlinux.32
--vmlinux-64		= vmlinux
-+vmlinux-64		= vmlinux.64
- else
- gas-abi			= 32
- ld-emul			= $(32bit-emul)
 @@ -118,7 +118,7 @@ if $(CC) $$gcc_abi -S -o /dev/null -xc /
  else \
  	gcc_abi=; gcc_isa=-$(5); \

Modified: trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/patches/21_ip30.dpatch
===================================================================
--- trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/patches/21_ip30.dpatch	2005-08-17 16:06:19 UTC (rev 3963)
+++ trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/patches/21_ip30.dpatch	2005-08-17 19:38:05 UTC (rev 3964)
@@ -3,7 +3,7 @@
 ##
 ## All lines beginning with `## DP:' are a description of the patch.
 ## DP: Improved ioc3 driver, from
-## DP: ftp://ftp.linux-mips.org/pub/linux/mips/people/skylark/linux-mips-2.6.12-ip30-r23.patch.bz2
+## DP: ftp://ftp.linux-mips.org/pub/linux/mips/people/skylark/linux-mips-2.6.12-ip30-r25.patch.bz2
 
 if [ $# -lt 1 ]; then
     echo "`basename $0`: script expects -patch|-unpatch as argument" >&2
@@ -192,8 +192,8 @@
  EXTRA_AFLAGS := $(CFLAGS)
 diff -urN linux-2.6.12-ioc3/arch/mips/mm/dma-ip30.c linux-2.6.12-ip30/arch/mips/mm/dma-ip30.c
 --- linux-2.6.12-ioc3/arch/mips/mm/dma-ip30.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.12-ip30/arch/mips/mm/dma-ip30.c	2005-07-10 16:11:27.000000000 +0200
-@@ -0,0 +1,274 @@
++++ linux-2.6.12-ip30/arch/mips/mm/dma-ip30.c	2005-07-12 11:02:08.000000000 +0200
+@@ -0,0 +1,279 @@
 +/*
 + * 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
@@ -210,16 +210,21 @@
 +#include <linux/string.h>
 +#include <linux/pci.h>
 +
-+#ifdef CONFIG_SGI_IP30
 +#include <asm/mach-ip30/addrs.h>
-+#endif
 +#include <asm/cache.h>
 +#include <asm/pci/bridge.h>
 +
-+static inline dma_addr_t pdev_to_baddr(struct pci_dev *dev, dma_addr_t addr)
++static inline dma_addr_t pdev_to_baddr(struct pci_dev *dev, dma_addr_t addr, int virt, int size)
 +{
-+	if(dev->dma_mask == 0xFFFFFFFFFFFFFFFFUL)	/* 64-bit DMA */
-+		return BRIDGE_CONTROLLER(dev->bus)->baddr + addr;
++	if(dev->dma_mask == 0xFFFFFFFFFFFFFFFFUL) {	/* 64-bit DMA */
++		if(virt)
++			return (BRIDGE_CONTROLLER(dev->bus)->baddr + addr) | PCI64_ATTR_VIRTUAL;
++		if(size >= 0x200)
++			return (BRIDGE_CONTROLLER(dev->bus)->baddr + addr) | PCI64_ATTR_PREF;
++		if(addr >= 0x20000000 || addr < 0xA0000000)
++			return PCI32_DIRECT_BASE + addr - 0x20000000;
++		return (BRIDGE_CONTROLLER(dev->bus)->baddr + addr);
++	}
 +	if(addr < 0x20000000 || addr >= 0xA0000000) {
 +		printk(KERN_ERR "BRIDGE: Mapping can't be realized in direct DMA.\n");
 +		return -1;
@@ -227,10 +232,10 @@
 +	return PCI32_DIRECT_BASE + addr - 0x20000000;
 +}
 +
-+static inline dma_addr_t dev_to_baddr(struct device *dev, dma_addr_t addr)
++static inline dma_addr_t dev_to_baddr(struct device *dev, dma_addr_t addr, int virt, int size)
 +{
 +	if(dev)
-+		return pdev_to_baddr(to_pci_dev(dev), addr);
++		return pdev_to_baddr(to_pci_dev(dev), addr, virt, size);
 +	return addr;
 +}
 +
@@ -248,7 +253,7 @@
 +
 +	if (ret != NULL) {
 +		memset(ret, 0, size);
-+		*dma_handle = dev_to_baddr(dev, virt_to_phys(ret));
++		*dma_handle = dev_to_baddr(dev, virt_to_phys(ret), 1, size);
 +	}
 +
 +	return ret;
@@ -282,7 +287,7 @@
 +{
 +	BUG_ON(direction == DMA_NONE);
 +
-+	return dev_to_baddr(dev, __pa(ptr));
++	return dev_to_baddr(dev, __pa(ptr), 0, size);
 +}
 +
 +EXPORT_SYMBOL(dma_map_single);
@@ -304,7 +309,7 @@
 +
 +	for (i = 0; i < nents; i++, sg++) {
 +		sg->dma_address = (dma_addr_t) dev_to_baddr(dev,
-+			page_to_phys(sg->page) + sg->offset);
++			page_to_phys(sg->page) + sg->offset, 1, sg->length);
 +	}
 +
 +	return nents;
@@ -317,7 +322,7 @@
 +{
 +	BUG_ON(direction == DMA_NONE);
 +
-+	return dev_to_baddr(dev, page_to_phys(page) + offset);
++	return dev_to_baddr(dev, page_to_phys(page) + offset, 0, size);
 +}
 +
 +EXPORT_SYMBOL(dma_map_page);
@@ -430,7 +435,7 @@
 +{
 +	dma64_addr_t addr = page_to_phys(page) + offset;
 +
-+	return (dma64_addr_t) pdev_to_baddr(pdev, addr);
++	return (dma64_addr_t) pdev_to_baddr(pdev, addr, 0, PAGE_SIZE);
 +}
 +
 +EXPORT_SYMBOL(pci_dac_page_to_dma);
@@ -498,7 +503,7 @@
 +#ifdef CONFIG_MIPS64
 +unsigned long kernel_physaddr(unsigned long kva)
 +{
-+	if(kva&0xffffffff00000000UL==0xffffffff00000000UL)
++	if((kva & ~0xffffffffUL) == ~0xffffffffUL)
 +		return CPHYSADDR(kva);
 +	return XPHYSADDR(kva);
 +}
@@ -538,8 +543,8 @@
  obj-$(CONFIG_SNI_RM200_PCI)	+= fixup-sni.o ops-sni.o
 diff -urN linux-2.6.12-ioc3/arch/mips/pci/pci-ip30.c linux-2.6.12-ip30/arch/mips/pci/pci-ip30.c
 --- linux-2.6.12-ioc3/arch/mips/pci/pci-ip30.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.12-ip30/arch/mips/pci/pci-ip30.c	2005-07-10 15:51:00.000000000 +0200
-@@ -0,0 +1,483 @@
++++ linux-2.6.12-ip30/arch/mips/pci/pci-ip30.c	2005-07-13 08:19:23.000000000 +0200
+@@ -0,0 +1,484 @@
 +/*
 + * 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
@@ -935,8 +940,9 @@
 +	bridge->b_wid_control &= ~(BRIDGE_CTRL_IO_SWAP | BRIDGE_CTRL_MEM_SWAP);
 +
 +	for(i=0;i<8;i++)
-+		bridge->b_device[i].reg = 0x12091000;
-+
++		bridge->b_device[i].reg = BRIDGE_DEV_ERR_LOCK_EN | BRIDGE_DEV_VIRTUAL_EN |
++					  BRIDGE_DEV_PMU_WRGA_EN | BRIDGE_DEV_DIR_WRGA_EN |
++					  BRIDGE_DEV_SWAP_PMU | BRIDGE_DEV_SWAP_DIR | BRIDGE_DEV_COH;
 +	/*
 +	 * Configure direct-mapped DMA
 +	 */
@@ -949,8 +955,8 @@
 +	 * These are occult numbers of the Black Priesthood of Ancient Mu.
 +	 */
 +
-+	bridge->b_even_resp = 0x8888ba98;
-+	bridge->b_odd_resp = 0x8888ba98;
++	bridge->b_even_resp = 0xddcc9988;
++	bridge->b_odd_resp = 0xddcc9988;
 +
 +	/*
 +	 * Route all PCI bridge interrupts to the HEART ASIC. The idea is
@@ -1180,8 +1186,8 @@
 +	END(ip30_irq)
 diff -urN linux-2.6.12-ioc3/arch/mips/sgi-ip30/ip30-irq.c linux-2.6.12-ip30/arch/mips/sgi-ip30/ip30-irq.c
 --- linux-2.6.12-ioc3/arch/mips/sgi-ip30/ip30-irq.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.12-ip30/arch/mips/sgi-ip30/ip30-irq.c	2005-07-09 13:36:14.000000000 +0200
-@@ -0,0 +1,304 @@
++++ linux-2.6.12-ip30/arch/mips/sgi-ip30/ip30-irq.c	2005-07-13 10:00:38.000000000 +0200
+@@ -0,0 +1,307 @@
 +/*
 + * ip30-irq.c: Highlevel interrupt handling for IP30 architecture.
 + *
@@ -1280,8 +1286,9 @@
 +	unsigned long irqsel;
 +	int irqnum;
 +#ifdef DEBUG_IRQ
++	bridge_t *bvma = (bridge_t *)0x900000001F000000UL;
 +	if(irqs&~(15UL<<IRQ_TIMER_P(0)))
-+		printk("IP30: received HEART IRQs: 0x%016lx (mask 0x%016lx) PCPU%d\n",*HEART_ISR,*HEART_IMR(pcpu),pcpu);
++		printk("IP30: received HEART IRQs: 0x%016lx (mask 0x%016lx) PCPU%d BRIDGE %08x\n",*HEART_ISR,*HEART_IMR(pcpu),pcpu,bvma->b_int_status);
 +#endif
 +	/* check for all IRQs in decreasing priority order */
 +	irqsel=0x0004000000000000;
@@ -1307,7 +1314,9 @@
 +	unsigned long flags;
 +	unsigned int device;
 +	unsigned int pcpu;
-+	if(irq<IRQ_TIMER_P(0) || irq>IRQ_IPI_P(3))
++	if(irq == 14 || irq == 15)
++		pcpu=0;
++	else if(irq<IRQ_TIMER_P(0) || irq>IRQ_IPI_P(3))
 +		pcpu=heart_irq_thisowner=cpu_next_pcpu(heart_irq_thisowner);
 +	else
 +		pcpu=cpu_logical_map(smp_processor_id());
@@ -1488,8 +1497,8 @@
 +}
 diff -urN linux-2.6.12-ioc3/arch/mips/sgi-ip30/ip30-power.c linux-2.6.12-ip30/arch/mips/sgi-ip30/ip30-power.c
 --- linux-2.6.12-ioc3/arch/mips/sgi-ip30/ip30-power.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.12-ip30/arch/mips/sgi-ip30/ip30-power.c	2005-07-09 13:36:14.000000000 +0200
-@@ -0,0 +1,62 @@
++++ linux-2.6.12-ip30/arch/mips/sgi-ip30/ip30-power.c	2005-07-13 10:00:30.000000000 +0200
+@@ -0,0 +1,124 @@
 +/*
 + * ip30-power.c: Software powerdown and reset handling for IP30 architecture.
 + *
@@ -1507,10 +1516,12 @@
 +#include <linux/tty.h>
 +#include <linux/delay.h>
 +
++#include <asm/mach-ip30/addrs.h>
 +#include <asm/mach-ip30/heart.h>
 +#include <asm/reboot.h>
 +#include <asm/time.h>
 +#include <asm/io.h>
++#include <asm/pci/bridge.h>
 +
 +void ip30_machine_restart(char *command)
 +{
@@ -1524,10 +1535,14 @@
 +}
 +
 +void ip30_soft_powerdown(void);
++int ip30_clear_power_irq(void);
++int ip30_can_powerdown(void);
 +
 +void ip30_machine_power_off(void)
 +{
 +#ifdef CONFIG_SGI_IP30_RTC
++	if(!ip30_can_powerdown())
++		return;
 +	printk("Powering down, please wait...");
 +#ifdef CONFIG_SMP
 +	smp_send_stop();
@@ -1552,6 +1567,62 @@
 +{
 +	ip30_machine_power_off();
 +}
++
++/* power button */
++
++#define IP30_POWER_IRQ	14
++#define IP30_ACFAIL_IRQ	15
++
++static struct timer_list power_timer;
++
++static int is_shutdown;
++
++static void power_timeout(unsigned long data)
++{
++	ip30_machine_power_off();
++}
++
++static irqreturn_t power_irq(int irq, void *dev_id, struct pt_regs *regs)
++{
++	/* prepare for next IRQs */
++#ifdef CONFIG_SGI_IP30_RTC
++	if(!ip30_clear_power_irq())
++#endif
++		disable_irq_nosync(irq);
++
++	/* button pressed twice or no init */
++	if (is_shutdown || kill_proc(1,SIGINT,1)) {
++		printk(KERN_INFO "Immediate powerdown...\n");
++		ip30_machine_power_off();
++		return IRQ_HANDLED;
++	}
++
++	/* power button, set LEDs if we can */
++	is_shutdown = 1;
++	printk(KERN_INFO "Power button pressed, shutting down...\n");
++
++	init_timer(&power_timer);
++	power_timer.function = power_timeout;
++	power_timer.expires = jiffies + 30*HZ;
++	add_timer(&power_timer);
++
++	return IRQ_HANDLED;
++}
++
++static irqreturn_t acfail_irq(int irq, void *dev_id, struct pt_regs *regs)
++{
++	/* we have a bit of time here */
++	return IRQ_HANDLED;
++}
++
++static int __init reboot_setup(void)
++{
++	request_irq(IP30_POWER_IRQ, power_irq, 0, "powerbtn", NULL);
++	request_irq(IP30_ACFAIL_IRQ, acfail_irq, 0, "acfail", NULL);
++	return 0;
++}
++
++subsys_initcall(reboot_setup);
 diff -urN linux-2.6.12-ioc3/arch/mips/sgi-ip30/ip30-setup.c linux-2.6.12-ip30/arch/mips/sgi-ip30/ip30-setup.c
 --- linux-2.6.12-ioc3/arch/mips/sgi-ip30/ip30-setup.c	1970-01-01 01:00:00.000000000 +0100
 +++ linux-2.6.12-ip30/arch/mips/sgi-ip30/ip30-setup.c	2005-07-11 18:07:34.000000000 +0200
@@ -2076,8 +2147,8 @@
  obj-$(CONFIG_S3C2410_RTC) += s3c2410-rtc.o
 diff -urN linux-2.6.12-ioc3/drivers/char/ip30-leds.c linux-2.6.12-ip30/drivers/char/ip30-leds.c
 --- linux-2.6.12-ioc3/drivers/char/ip30-leds.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.12-ip30/drivers/char/ip30-leds.c	2005-07-09 13:36:14.000000000 +0200
-@@ -0,0 +1,231 @@
++++ linux-2.6.12-ip30/drivers/char/ip30-leds.c	2005-07-13 08:16:54.000000000 +0200
+@@ -0,0 +1,270 @@
 +/*
 + *	Driver for the LEDs in SGI Octane.
 + *
@@ -2097,6 +2168,7 @@
 +#include <linux/proc_fs.h>
 +#include <linux/smp_lock.h>
 +#include <linux/delay.h>
++#include <linux/notifier.h>
 +
 +#include <linux/miscdevice.h>
 +#include <linux/leds.h>
@@ -2236,6 +2308,42 @@
 +	&leds_fops
 +};
 +
++/* special hacks */
++
++static int panic_event(struct notifier_block *this, unsigned long event,
++                      void *ptr)
++{
++	del_timer(&leds_timer);
++	memset(leds_stream, 0xFF, LEDS_STREAM_SIZE);
++
++	leds_stream[0] = 0x00;
++	leds_stream[1] = 0x00;
++	leds_stream[2] = 0x01;
++	leds_stream[3] = 0xFF;
++
++	leds_stream[4] = 0x49;
++	leds_stream[5] = 0x01;
++
++	leds_stream[6] = 0x01;
++	leds_stream[7] = 0x00;
++	leds_stream[8] = 0x00;
++	leds_stream[9] = 0xFF;
++
++	leds_stream[10] = 0x89;
++	leds_stream[11] = 0x01;
++
++	leds_pc = 0;
++	leds_timer.expires = jiffies + 1;
++	leds_timer.function = leds_timer_proc;
++	add_timer(&leds_timer);
++
++	return NOTIFY_DONE;
++}
++
++static struct notifier_block panic_block = {
++	.notifier_call	= panic_event,
++};
++
 +/* IOC3 SuperIO probe */
 +
 +static int ioc3led_probe(struct ioc3_submodule *is, struct ioc3_driver_data *idd)
@@ -2275,6 +2383,8 @@
 +	leds_timer.function = leds_timer_proc;
 +	add_timer(&leds_timer);
 +
++	notifier_chain_register(&panic_notifier_list, &panic_block);
++
 +	return 0;
 +}
 +
@@ -2311,8 +2421,8 @@
 +module_exit(leds_exit);
 diff -urN linux-2.6.12-ioc3/drivers/char/ip30-rtc.c linux-2.6.12-ip30/drivers/char/ip30-rtc.c
 --- linux-2.6.12-ioc3/drivers/char/ip30-rtc.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.12-ip30/drivers/char/ip30-rtc.c	2005-07-09 13:36:14.000000000 +0200
-@@ -0,0 +1,353 @@
++++ linux-2.6.12-ip30/drivers/char/ip30-rtc.c	2005-07-13 09:34:21.000000000 +0200
+@@ -0,0 +1,395 @@
 +/*
 + *	Driver for the Maxim/Dallas DS1687 real time clock in SGI Octane.
 + *
@@ -2442,11 +2552,45 @@
 +
 +/* power-down logic */
 +
++static int ip30_soft_powerdown_called;
++static int ip30_clear_irq_called;
++
++int ip30_clear_power_irq(void)
++{
++	unsigned char val;
++
++	if(!ioc3) {
++		ip30_clear_irq_called = 1;
++		return 0;
++	}
++
++	spin_lock_irq(&rtc_lock);
++	val = ip30_rtc_read(0x0a);
++	ip30_rtc_write(0x0a, val | 0x10);
++	ip30_rtc_write(0x4a, 0x00);
++	spin_unlock_irq(&rtc_lock);
++	return 1;
++}
++
++int ip30_can_powerdown(void)
++{
++	if(!ioc3) {
++		ip30_soft_powerdown_called = 1;
++		return 0;
++	}
++	return 1;
++}
++
 +void ip30_soft_powerdown(void)
 +{
 +	unsigned char val;
 +	rtc_begin_access(1);
 +
++	if(!ioc3) {
++		ip30_soft_powerdown_called = 1;
++		return;
++	}
++
 +/* prepare the RTC for waking us up so we don't wind up dead */
 +	val = ip30_rtc_read(0x4b);
 +	val &= 0x2a;
@@ -2631,6 +2775,14 @@
 +
 +	write_sequnlock_irq(&xtime_lock);
 +
++	ip30_clear_power_irq();
++
++	if(ip30_clear_irq_called)
++		enable_irq(14);
++
++	if(ip30_soft_powerdown_called)
++		ip30_soft_powerdown();
++
 +	return 0;
 +}
 +
@@ -5115,13 +5267,23 @@
  
 diff -urN linux-2.6.12-ioc3/include/sound/rad1.h linux-2.6.12-ip30/include/sound/rad1.h
 --- linux-2.6.12-ioc3/include/sound/rad1.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.12-ip30/include/sound/rad1.h	2005-07-09 13:36:14.000000000 +0200
-@@ -0,0 +1,231 @@
++++ linux-2.6.12-ip30/include/sound/rad1.h	2005-07-25 07:10:34.000000000 +0200
+@@ -0,0 +1,111 @@
 +#ifndef _RAD1_H
 +#define _RAD1_H
 +
 +#include <linux/types.h>
 +
++#define RAD1_ADATRX	0
++#define RAD1_AESRX	1
++#define RAD1_ATOD	2
++#define RAD1_ADATSUBRX	3
++#define RAD1_AESSUBRX	4
++#define RAD1_ADATTX	5
++#define RAD1_AESTX	6
++#define RAD1_DTOA	7
++#define RAD1_STATUS	8
++
 +struct rad1regs {
 +	u32 pci_status;			/* 0x00000000 */
 +	u32 adat_rx_msc_ust; 		/* 0x00000004 */
@@ -5168,182 +5330,52 @@
 +
 +	u32 clockgen_ictl; 		/* 0x000000a0 */
 +	u32 clockgen_rem;	 	/* 0x000000a4 */
-+	u32 freq_synth3_mux_sel; 	/* 0x000000a8 */
-+	u32 freq_synth2_mux_sel; 	/* 0x000000ac */
-+	u32 freq_synth1_mux_sel; 	/* 0x000000b0 */
-+	u32 freq_synth0_mux_sel; 	/* 0x000000b4 */
++	u32 freq_synth_mux_sel[4]; 	/* 0x000000a8 */
 +	u32 mpll0_lock_control;		/* 0x000000b8 */
 +	u32 mpll1_lock_control;	 	/* 0x000000bc */
 +
 +	u32 _pad400[208];
 +
++	/* descriptor RAM */
 +	struct {
 +		u32 loadr; 		/* 0x00000400 + 12*idx */
 +		u32 hiadr; 		/* 0x00000404 + 12*idx */
 +		u32 control;		/* 0x00000408 + 12*idx */
 +	} pci_descr[16];
 +
-+	u32 pci_loadr_adat_rx;		/* 0x000004c0 */
-+	u32 pci_control_adat_rx;	/* 0x000004c4 */
-+	u32 pci_loadr_aes_rx;		/* 0x000004c8 */
-+	u32 pci_control_aes_rx;		/* 0x000004cc */
-+	u32 pci_loadr_atod;		/* 0x000004d0 */
-+	u32 pci_control_atod;		/* 0x000004d4 */
-+	u32 pci_loadr_adatsub_rx; 	/* 0x000004d8 */
-+	u32 pci_control_adatsub_rx; 	/* 0x000004dc */
-+	u32 pci_loadr_aessub_rx;	/* 0x000004e0 */
-+	u32 pci_control_aessub_rx; 	/* 0x000004e4 */
-+	u32 pci_loadr_adat_tx;		/* 0x000004e8 */
-+	u32 pci_control_adat_tx;	/* 0x000004ec */
-+	u32 pci_loadr_aes_tx;		/* 0x000004f0 */
-+	u32 pci_control_aes_tx;		/* 0x000004f4 */
-+	u32 pci_loadr_dtoa;		/* 0x000004f8 */
-+	u32 pci_control_dtoa;		/* 0x000004fc */
-+	u32 pci_loadr_status;		/* 0x00000500 */
-+	u32 pci_control_status;		/* 0x00000504 */
-+	u32 pci_hiadr_adat_rx; 	 	/* 0x00000508 */
-+	u32 pci_hiadr_aes_rx; 		/* 0x0000050c */
-+	u32 pci_hiadr_atod;		/* 0x00000510 */
-+	u32 pci_hiadr_adatsub_rx; 	/* 0x00000514 */
-+	u32 pci_hiadr_aessub_rx;	/* 0x00000518 */
-+	u32 pci_hiadr_adat_tx; 		/* 0x0000051c */
-+	u32 pci_hiadr_aes_tx;		/* 0x00000520 */
-+	u32 pci_hiadr_dtoa;		/* 0x00000524 */
-+	u32 pci_hiadr_status;		/* 0x00000528 */
++	/* running descriptors */
++	struct {
++		u32 loadr;
++		u32 control;
++	} pci_lc[9];
++	u32 pci_hiadr[9];
 +
 +	u32 _pad1000[693];
 +
-+	u32 adat_subcode_txa_u0_0;	/* 0x00001000 */
-+	u32 adat_subcode_txa_u0_1;	/* 0x00001004 */
-+	u32 adat_subcode_txa_u0_2;	/* 0x00001008 */
-+	u32 adat_subcode_txa_u0_3;	/* 0x0000100c */
-+	u32 adat_subcode_txa_u0_4;	/* 0x00001010 */
-+	u32 adat_subcode_txa_u0_5;	/* 0x00001014 */
-+	u32 adat_subcode_txa_u1_0;	/* 0x00001018 */
-+	u32 adat_subcode_txa_u1_1;	/* 0x0000101c */
-+	u32 adat_subcode_txa_u1_2;	/* 0x00001020 */
-+	u32 adat_subcode_txa_u1_3;	/* 0x00001024 */
-+	u32 adat_subcode_txa_u1_4;	/* 0x00001028 */
-+	u32 adat_subcode_txa_u1_5;	/* 0x0000102c */
-+	u32 adat_subcode_txa_u2_0;	/* 0x00001030 */
-+	u32 adat_subcode_txa_u2_1;	/* 0x00001034 */
-+	u32 adat_subcode_txa_u2_2;	/* 0x00001038 */
-+	u32 adat_subcode_txa_u2_3;	/* 0x0000103c */
-+	u32 adat_subcode_txa_u2_4;	/* 0x00001040 */
-+	u32 adat_subcode_txa_u2_5;	/* 0x00001044 */
-+	u32 adat_subcode_txa_u3_0;	/* 0x00001048 */
-+	u32 adat_subcode_txa_u3_1;	/* 0x0000104c */
-+	u32 adat_subcode_txa_u3_2;	/* 0x00001050 */
-+	u32 adat_subcode_txa_u3_3;	/* 0x00001054 */
-+	u32 adat_subcode_txa_u3_4;	/* 0x00001058 */
-+	u32 adat_subcode_txa_u3_5;	/* 0x0000105c */
++	u32 adat_subcode_txa_u[24];	/* 0x00001000 */
 +	u32 adat_subcode_txa_unused;	/* 0x00001060 */
 +
 +	u32 _pad1080[7];
 +
-+	u32 adat_subcode_txb_u0_0;	/* 0x00001080 */
-+	u32 adat_subcode_txb_u0_1;	/* 0x00001084 */
-+	u32 adat_subcode_txb_u0_2;	/* 0x00001088 */
-+	u32 adat_subcode_txb_u0_3;	/* 0x0000108c */
-+	u32 adat_subcode_txb_u0_4;	/* 0x00001090 */
-+	u32 adat_subcode_txb_u0_5;	/* 0x00001094 */
-+	u32 adat_subcode_txb_u1_0;	/* 0x00001098 */
-+	u32 adat_subcode_txb_u1_1;	/* 0x0000109c */
-+	u32 adat_subcode_txb_u1_2;	/* 0x000010a0 */
-+	u32 adat_subcode_txb_u1_3;	/* 0x000010a4 */
-+	u32 adat_subcode_txb_u1_4;	/* 0x000010a8 */
-+	u32 adat_subcode_txb_u1_5;	/* 0x000010ac */
-+	u32 adat_subcode_txb_u2_0;	/* 0x000010b0 */
-+	u32 adat_subcode_txb_u2_1;	/* 0x000010b4 */
-+	u32 adat_subcode_txb_u2_2;	/* 0x000010b8 */
-+	u32 adat_subcode_txb_u2_3;	/* 0x000010bc */
-+	u32 adat_subcode_txb_u2_4;	/* 0x000010c0 */
-+	u32 adat_subcode_txb_u2_5;	/* 0x000010c4 */
-+	u32 adat_subcode_txb_u3_0;	/* 0x000010c8 */
-+	u32 adat_subcode_txb_u3_1;	/* 0x000010cc */
-+	u32 adat_subcode_txb_u3_2;	/* 0x000010d0 */
-+	u32 adat_subcode_txb_u3_3;	/* 0x000010d4 */
-+	u32 adat_subcode_txb_u3_4;	/* 0x000010d8 */
-+	u32 adat_subcode_txb_u3_5;	/* 0x000010dc */
++	u32 adat_subcode_txb_u[24];	/* 0x00001080 */
 +	u32 adat_subcode_txb_unused;	/* 0x000010e0 */
 +
 +	u32 _pad1100[7];
 +
-+	u32 aes_subcode_txa_lu0;	/* 0x00001100 */
-+	u32 aes_subcode_txa_lu1;	/* 0x00001104 */
-+	u32 aes_subcode_txa_lu2;	/* 0x00001108 */
-+	u32 aes_subcode_txa_lu3;	/* 0x0000110c */
-+	u32 aes_subcode_txa_lu4;	/* 0x00001110 */
-+	u32 aes_subcode_txa_lu5;	/* 0x00001114 */
-+	u32 aes_subcode_txa_lc0;	/* 0x00001118 */
-+	u32 aes_subcode_txa_lc1;	/* 0x0000111c */
-+	u32 aes_subcode_txa_lc2;	/* 0x00001120 */
-+	u32 aes_subcode_txa_lc3;	/* 0x00001124 */
-+	u32 aes_subcode_txa_lc4;	/* 0x00001128 */
-+	u32 aes_subcode_txa_lc5;	/* 0x0000112c */
-+	u32 aes_subcode_txa_lv0;	/* 0x00001130 */
-+	u32 aes_subcode_txa_lv1;	/* 0x00001134 */
-+	u32 aes_subcode_txa_lv2;	/* 0x00001138 */
-+	u32 aes_subcode_txa_lv3;	/* 0x0000113c */
-+	u32 aes_subcode_txa_lv4;	/* 0x00001140 */
-+	u32 aes_subcode_txa_lv5;	/* 0x00001144 */
-+	u32 aes_subcode_txa_ru0;	/* 0x00001148 */
-+	u32 aes_subcode_txa_ru1;	/* 0x0000114c */
-+	u32 aes_subcode_txa_ru2;	/* 0x00001150 */
-+	u32 aes_subcode_txa_ru3;	/* 0x00001154 */
-+	u32 aes_subcode_txa_ru4;	/* 0x00001158 */
-+	u32 aes_subcode_txa_ru5;	/* 0x0000115c */
-+	u32 aes_subcode_txa_rc0;	/* 0x00001160 */
-+	u32 aes_subcode_txa_rc1;	/* 0x00001164 */
-+	u32 aes_subcode_txa_rc2;	/* 0x00001168 */
-+	u32 aes_subcode_txa_rc3;	/* 0x0000116c */
-+	u32 aes_subcode_txa_rc4;	/* 0x00001170 */
-+	u32 aes_subcode_txa_rc5;	/* 0x00001174 */
-+	u32 aes_subcode_txa_rv0;	/* 0x00001178 */
-+	u32 aes_subcode_txa_rv1;	/* 0x0000117c */
-+
-+	u32 aes_subcode_txb_lu0;	/* 0x00001180 */
-+	u32 aes_subcode_txb_lu1;	/* 0x00001184 */
-+	u32 aes_subcode_txb_lu2;	/* 0x00001188 */
-+	u32 aes_subcode_txb_lu3;	/* 0x0000118c */
-+	u32 aes_subcode_txb_lu4;	/* 0x00001190 */
-+	u32 aes_subcode_txb_lu5;	/* 0x00001194 */
-+	u32 aes_subcode_txb_lc0;	/* 0x00001198 */
-+	u32 aes_subcode_txb_lc1;	/* 0x0000119c */
-+	u32 aes_subcode_txb_lc2;	/* 0x000011a0 */
-+	u32 aes_subcode_txb_lc3;	/* 0x000011a4 */
-+	u32 aes_subcode_txb_lc4;	/* 0x000011a8 */
-+	u32 aes_subcode_txb_lc5;	/* 0x000011ac */
-+	u32 aes_subcode_txb_lv0;	/* 0x000011b0 */
-+	u32 aes_subcode_txb_lv1;	/* 0x000011b4 */
-+	u32 aes_subcode_txb_lv2;	/* 0x000011b8 */
-+	u32 aes_subcode_txb_lv3;	/* 0x000011bc */
-+	u32 aes_subcode_txb_lv4;	/* 0x000011c0 */
-+	u32 aes_subcode_txb_lv5;	/* 0x000011c4 */
-+	u32 aes_subcode_txb_ru0;	/* 0x000011c8 */
-+	u32 aes_subcode_txb_ru1;	/* 0x000011cc */
-+	u32 aes_subcode_txb_ru2;	/* 0x000011d0 */
-+	u32 aes_subcode_txb_ru3;	/* 0x000011d4 */
-+	u32 aes_subcode_txb_ru4;	/* 0x000011d8 */
-+	u32 aes_subcode_txb_ru5;	/* 0x000011dc */
-+	u32 aes_subcode_txb_rc0;	/* 0x000011e0 */
-+	u32 aes_subcode_txb_rc1;	/* 0x000011e4 */
-+	u32 aes_subcode_txb_rc2;	/* 0x000011e8 */
-+	u32 aes_subcode_txb_rc3;	/* 0x000011ec */
-+	u32 aes_subcode_txb_rc4;	/* 0x000011f0 */
-+	u32 aes_subcode_txb_rc5;	/* 0x000011f4 */
-+	u32 aes_subcode_txb_rv0;	/* 0x000011f8 */
-+	u32 aes_subcode_txb_rv1;	/* 0x000011fc */
-+
-+	u32 aes_subcode_txa_rv2;	/* 0x00001200 */
-+	u32 aes_subcode_txa_rv3;	/* 0x00001204 */
-+	u32 aes_subcode_txa_rv4;	/* 0x00001208 */
-+	u32 aes_subcode_txa_rv5;	/* 0x0000120c */
-+
-+	u32 aes_subcode_txb_rv2;	/* 0x00001210 */
-+	u32 aes_subcode_txb_rv3;	/* 0x00001214 */
-+	u32 aes_subcode_txb_rv4;	/* 0x00001218 */
-+	u32 aes_subcode_txb_rv5;	/* 0x0000121c */
++	u32 aes_subcode_txa_lu[6];	/* 0x00001100 */
++	u32 aes_subcode_txa_lc[6];	/* 0x00001118 */
++	u32 aes_subcode_txa_lv[6];	/* 0x00001130 */
++	u32 aes_subcode_txa_ru[6];	/* 0x00001148 */
++	u32 aes_subcode_txa_rc[6];	/* 0x00001160 */
++	u32 aes_subcode_txa_rv0[2];	/* 0x00001178 */
++	u32 aes_subcode_txb_lu[6];	/* 0x00001180 */
++	u32 aes_subcode_txb_lc[6];	/* 0x00001198 */
++	u32 aes_subcode_txb_lv[6];	/* 0x000011b0 */
++	u32 aes_subcode_txb_ru[6];	/* 0x000011c8 */
++	u32 aes_subcode_txb_rc[6];	/* 0x000011e0 */
++	u32 aes_subcode_txb_rv0[2];	/* 0x000011f8 */
++	u32 aes_subcode_txa_rv2[4];	/* 0x00001200 */
++	u32 aes_subcode_txb_rv2[4];	/* 0x00001210 */
 +	u32 aes_subcode_tx_unused; 	/* 0x00001220 */
 +};
 +
@@ -5546,6 +5578,252 @@
 +#define ODY_LO_SET	15
 +
 +#endif /* ODYSSEY_H */
+diff -urN linux-2.6.12-ioc3/sound/core/oss/linear.c linux-2.6.12-ip30/sound/core/oss/linear.c
+--- linux-2.6.12-ioc3/sound/core/oss/linear.c	2002-11-01 23:08:37.000000000 +0100
++++ linux-2.6.12-ip30/sound/core/oss/linear.c	2005-07-24 19:46:55.000000000 +0200
+@@ -26,6 +26,10 @@
+ #include <sound/pcm.h>
+ #include "pcm_plugin.h"
+ 
++#define SX_INLINES
++#include "plugin_ops.h"
++#undef SX_INLINES
++
+ /*
+  *  Basic linear conversion plugin
+  */
+diff -urN linux-2.6.12-ioc3/sound/core/oss/mulaw.c linux-2.6.12-ip30/sound/core/oss/mulaw.c
+--- linux-2.6.12-ioc3/sound/core/oss/mulaw.c	2005-01-13 15:07:10.000000000 +0100
++++ linux-2.6.12-ip30/sound/core/oss/mulaw.c	2005-07-24 19:47:08.000000000 +0200
+@@ -27,6 +27,10 @@
+ #include <sound/pcm.h>
+ #include "pcm_plugin.h"
+ 
++#define SX_INLINES
++#include "plugin_ops.h"
++#undef SX_INLINES
++
+ #define	SIGN_BIT	(0x80)		/* Sign bit for a u-law byte. */
+ #define	QUANT_MASK	(0xf)		/* Quantization field mask. */
+ #define	NSEGS		(8)		/* Number of u-law segments. */
+diff -urN linux-2.6.12-ioc3/sound/core/oss/plugin_ops.h linux-2.6.12-ip30/sound/core/oss/plugin_ops.h
+--- linux-2.6.12-ioc3/sound/core/oss/plugin_ops.h	2003-08-15 17:14:41.000000000 +0200
++++ linux-2.6.12-ip30/sound/core/oss/plugin_ops.h	2005-07-25 08:48:00.000000000 +0200
+@@ -19,6 +19,20 @@
+  *
+  */
+ 
++#ifdef SX_INLINES
++static inline u_int32_t sx24(u_int32_t x)
++{
++	if(x&0x00800000)
++		return x|0xFF000000;
++	return x&0x00FFFFFF;
++}
++static inline u_int32_t sx24s(u_int32_t x)
++{
++	if(x&0x00008000)
++		return x|0x000000FF;
++	return x&0xFFFFFF00;
++}
++#endif
+ 
+ #define as_u8(ptr) (*(u_int8_t*)(ptr))
+ #define as_u16(ptr) (*(u_int16_t*)(ptr))
+@@ -186,95 +200,95 @@
+ conv_xxx1_xxx1: as_u8(dst) = as_u8(src); goto CONV_END;
+ conv_xxx1_xx10: as_u16(dst) = (u_int16_t)as_u8(src) << 8; goto CONV_END;
+ conv_xxx1_xx01: as_u16(dst) = (u_int16_t)as_u8(src); goto CONV_END;
+-conv_xxx1_x100: as_u32(dst) = (u_int32_t)as_u8(src) << 16; goto CONV_END;
+-conv_xxx1_001x: as_u32(dst) = (u_int32_t)as_u8(src) << 8; goto CONV_END;
++conv_xxx1_x100: as_u32(dst) = sx24((u_int32_t)sx24(as_u8(src) << 16)); goto CONV_END;
++conv_xxx1_001x: as_u32(dst) = sx24s((u_int32_t)as_u8(src) << 8); goto CONV_END;
+ conv_xxx1_1000: as_u32(dst) = (u_int32_t)as_u8(src) << 24; goto CONV_END;
+ conv_xxx1_0001: as_u32(dst) = (u_int32_t)as_u8(src); goto CONV_END;
+ conv_xxx1_xxx9: as_u8(dst) = as_u8(src) ^ 0x80; goto CONV_END;
+ conv_xxx1_xx90: as_u16(dst) = (u_int16_t)(as_u8(src) ^ 0x80) << 8; goto CONV_END;
+ conv_xxx1_xx09: as_u16(dst) = (u_int16_t)(as_u8(src) ^ 0x80); goto CONV_END;
+-conv_xxx1_x900: as_u32(dst) = (u_int32_t)(as_u8(src) ^ 0x80) << 16; goto CONV_END;
+-conv_xxx1_009x: as_u32(dst) = (u_int32_t)(as_u8(src) ^ 0x80) << 8; goto CONV_END;
++conv_xxx1_x900: as_u32(dst) = sx24((u_int32_t)(as_u8(src) ^ 0x80) << 16); goto CONV_END;
++conv_xxx1_009x: as_u32(dst) = sx24s((u_int32_t)(as_u8(src) ^ 0x80) << 8); goto CONV_END;
+ conv_xxx1_9000: as_u32(dst) = (u_int32_t)(as_u8(src) ^ 0x80) << 24; goto CONV_END;
+ conv_xxx1_0009: as_u32(dst) = (u_int32_t)(as_u8(src) ^ 0x80); goto CONV_END;
+ conv_xx12_xxx1: as_u8(dst) = as_u16(src) >> 8; goto CONV_END;
+ conv_xx12_xx12: as_u16(dst) = as_u16(src); goto CONV_END;
+ conv_xx12_xx21: as_u16(dst) = swab16(as_u16(src)); goto CONV_END;
+-conv_xx12_x120: as_u32(dst) = (u_int32_t)as_u16(src) << 8; goto CONV_END;
+-conv_xx12_021x: as_u32(dst) = (u_int32_t)swab16(as_u16(src)) << 8; goto CONV_END;
++conv_xx12_x120: as_u32(dst) = sx24((u_int32_t)as_u16(src) << 8); goto CONV_END;
++conv_xx12_021x: as_u32(dst) = sx24s((u_int32_t)swab16(as_u16(src)) << 8); goto CONV_END;
+ conv_xx12_1200: as_u32(dst) = (u_int32_t)as_u16(src) << 16; goto CONV_END;
+ conv_xx12_0021: as_u32(dst) = (u_int32_t)swab16(as_u16(src)); goto CONV_END;
+ conv_xx12_xxx9: as_u8(dst) = (as_u16(src) >> 8) ^ 0x80; goto CONV_END;
+ conv_xx12_xx92: as_u16(dst) = as_u16(src) ^ 0x8000; goto CONV_END;
+ conv_xx12_xx29: as_u16(dst) = swab16(as_u16(src)) ^ 0x80; goto CONV_END;
+-conv_xx12_x920: as_u32(dst) = (u_int32_t)(as_u16(src) ^ 0x8000) << 8; goto CONV_END;
+-conv_xx12_029x: as_u32(dst) = (u_int32_t)(swab16(as_u16(src)) ^ 0x80) << 8; goto CONV_END;
++conv_xx12_x920: as_u32(dst) = sx24((u_int32_t)(as_u16(src) ^ 0x8000) << 8); goto CONV_END;
++conv_xx12_029x: as_u32(dst) = sx24s((u_int32_t)(swab16(as_u16(src)) ^ 0x80) << 8); goto CONV_END;
+ conv_xx12_9200: as_u32(dst) = (u_int32_t)(as_u16(src) ^ 0x8000) << 16; goto CONV_END;
+ conv_xx12_0029: as_u32(dst) = (u_int32_t)(swab16(as_u16(src)) ^ 0x80); goto CONV_END;
+ conv_xx12_xxx2: as_u8(dst) = as_u16(src) & 0xff; goto CONV_END;
+-conv_xx12_x210: as_u32(dst) = (u_int32_t)swab16(as_u16(src)) << 8; goto CONV_END;
+-conv_xx12_012x: as_u32(dst) = (u_int32_t)as_u16(src) << 8; goto CONV_END;
++conv_xx12_x210: as_u32(dst) = sx24((u_int32_t)swab16(as_u16(src)) << 8); goto CONV_END;
++conv_xx12_012x: as_u32(dst) = sx24s((u_int32_t)as_u16(src) << 8); goto CONV_END;
+ conv_xx12_2100: as_u32(dst) = (u_int32_t)swab16(as_u16(src)) << 16; goto CONV_END;
+ conv_xx12_0012: as_u32(dst) = (u_int32_t)as_u16(src); goto CONV_END; 
+ conv_xx12_xxxA: as_u8(dst) = (as_u16(src) ^ 0x80) & 0xff; goto CONV_END;
+ conv_xx12_xxA1: as_u16(dst) = swab16(as_u16(src) ^ 0x80); goto CONV_END;
+ conv_xx12_xx1A: as_u16(dst) = as_u16(src) ^ 0x80; goto CONV_END;
+-conv_xx12_xA10: as_u32(dst) = (u_int32_t)swab16(as_u16(src) ^ 0x80) << 8; goto CONV_END;
+-conv_xx12_01Ax: as_u32(dst) = (u_int32_t)(as_u16(src) ^ 0x80) << 8; goto CONV_END;
++conv_xx12_xA10: as_u32(dst) = sx24((u_int32_t)swab16(as_u16(src) ^ 0x80) << 8); goto CONV_END;
++conv_xx12_01Ax: as_u32(dst) = sx24s((u_int32_t)(as_u16(src) ^ 0x80) << 8); goto CONV_END;
+ conv_xx12_A100: as_u32(dst) = (u_int32_t)swab16(as_u16(src) ^ 0x80) << 16; goto CONV_END;
+ conv_xx12_001A: as_u32(dst) = (u_int32_t)(as_u16(src) ^ 0x80); goto CONV_END;
+ conv_x123_xxx1: as_u8(dst) = as_u32(src) >> 16; goto CONV_END;
+ conv_x123_xx12: as_u16(dst) = as_u32(src) >> 8; goto CONV_END;
+ conv_x123_xx21: as_u16(dst) = swab16(as_u32(src) >> 8); goto CONV_END;
+-conv_x123_x123: as_u32(dst) = as_u32(src); goto CONV_END;
+-conv_x123_321x: as_u32(dst) = swab32(as_u32(src)); goto CONV_END;
++conv_x123_x123: as_u32(dst) = sx24(as_u32(src)); goto CONV_END;
++conv_x123_321x: as_u32(dst) = sx24s(swab32(as_u32(src))); goto CONV_END;
+ conv_x123_1230: as_u32(dst) = as_u32(src) << 8; goto CONV_END;
+ conv_x123_0321: as_u32(dst) = swab32(as_u32(src)) >> 8; goto CONV_END;
+ conv_x123_xxx9: as_u8(dst) = (as_u32(src) >> 16) ^ 0x80; goto CONV_END;
+ conv_x123_xx92: as_u16(dst) = (as_u32(src) >> 8) ^ 0x8000; goto CONV_END;
+ conv_x123_xx29: as_u16(dst) = swab16(as_u32(src) >> 8) ^ 0x80; goto CONV_END;
+-conv_x123_x923: as_u32(dst) = as_u32(src) ^ 0x800000; goto CONV_END;
+-conv_x123_329x: as_u32(dst) = swab32(as_u32(src)) ^ 0x8000; goto CONV_END;
++conv_x123_x923: as_u32(dst) = sx24(as_u32(src) ^ 0x800000); goto CONV_END;
++conv_x123_329x: as_u32(dst) = sx24s(swab32(as_u32(src)) ^ 0x8000); goto CONV_END;
+ conv_x123_9230: as_u32(dst) = (as_u32(src) ^ 0x800000) << 8; goto CONV_END;
+ conv_x123_0329: as_u32(dst) = (swab32(as_u32(src)) >> 8) ^ 0x80; goto CONV_END;
+ conv_123x_xxx3: as_u8(dst) = (as_u32(src) >> 8) & 0xff; goto CONV_END;
+ conv_123x_xx32: as_u16(dst) = swab16(as_u32(src) >> 8); goto CONV_END;
+ conv_123x_xx23: as_u16(dst) = (as_u32(src) >> 8) & 0xffff; goto CONV_END;
+-conv_123x_x321: as_u32(dst) = swab32(as_u32(src)); goto CONV_END;
+-conv_123x_123x: as_u32(dst) = as_u32(src); goto CONV_END;
++conv_123x_x321: as_u32(dst) = sx24(swab32(as_u32(src))); goto CONV_END;
++conv_123x_123x: as_u32(dst) = sx24s(as_u32(src)); goto CONV_END;
+ conv_123x_3210: as_u32(dst) = swab32(as_u32(src)) << 8; goto CONV_END;
+ conv_123x_0123: as_u32(dst) = as_u32(src) >> 8; goto CONV_END;
+ conv_123x_xxxB: as_u8(dst) = ((as_u32(src) >> 8) & 0xff) ^ 0x80; goto CONV_END;
+ conv_123x_xxB2: as_u16(dst) = swab16((as_u32(src) >> 8) ^ 0x80); goto CONV_END;
+ conv_123x_xx2B: as_u16(dst) = ((as_u32(src) >> 8) & 0xffff) ^ 0x80; goto CONV_END;
+-conv_123x_xB21: as_u32(dst) = swab32(as_u32(src)) ^ 0x800000; goto CONV_END;
+-conv_123x_12Bx: as_u32(dst) = as_u32(src) ^ 0x8000; goto CONV_END;
++conv_123x_xB21: as_u32(dst) = sx24(swab32(as_u32(src)) ^ 0x800000); goto CONV_END;
++conv_123x_12Bx: as_u32(dst) = sx24s(as_u32(src) ^ 0x8000); goto CONV_END;
+ conv_123x_B210: as_u32(dst) = swab32(as_u32(src) ^ 0x8000) << 8; goto CONV_END;
+ conv_123x_012B: as_u32(dst) = (as_u32(src) >> 8) ^ 0x80; goto CONV_END;
+ conv_1234_xxx1: as_u8(dst) = as_u32(src) >> 24; goto CONV_END;
+ conv_1234_xx12: as_u16(dst) = as_u32(src) >> 16; goto CONV_END;
+ conv_1234_xx21: as_u16(dst) = swab16(as_u32(src) >> 16); goto CONV_END;
+-conv_1234_x123: as_u32(dst) = as_u32(src) >> 8; goto CONV_END;
+-conv_1234_321x: as_u32(dst) = swab32(as_u32(src)) << 8; goto CONV_END;
++conv_1234_x123: as_u32(dst) = sx24(as_u32(src) >> 8); goto CONV_END;
++conv_1234_321x: as_u32(dst) = sx24s(swab32(as_u32(src)) << 8); goto CONV_END;
+ conv_1234_1234: as_u32(dst) = as_u32(src); goto CONV_END;
+ conv_1234_4321: as_u32(dst) = swab32(as_u32(src)); goto CONV_END;
+ conv_1234_xxx9: as_u8(dst) = (as_u32(src) >> 24) ^ 0x80; goto CONV_END;
+ conv_1234_xx92: as_u16(dst) = (as_u32(src) >> 16) ^ 0x8000; goto CONV_END;
+ conv_1234_xx29: as_u16(dst) = swab16(as_u32(src) >> 16) ^ 0x80; goto CONV_END;
+-conv_1234_x923: as_u32(dst) = (as_u32(src) >> 8) ^ 0x800000; goto CONV_END;
+-conv_1234_329x: as_u32(dst) = (swab32(as_u32(src)) ^ 0x80) << 8; goto CONV_END;
++conv_1234_x923: as_u32(dst) = sx24((as_u32(src) >> 8) ^ 0x800000); goto CONV_END;
++conv_1234_329x: as_u32(dst) = sx24s((swab32(as_u32(src)) ^ 0x80) << 8); goto CONV_END;
+ conv_1234_9234: as_u32(dst) = as_u32(src) ^ 0x80000000; goto CONV_END;
+ conv_1234_4329: as_u32(dst) = swab32(as_u32(src)) ^ 0x80; goto CONV_END;
+ conv_1234_xxx4: as_u8(dst) = as_u32(src) & 0xff; goto CONV_END;
+ conv_1234_xx43: as_u16(dst) = swab16(as_u32(src)); goto CONV_END;
+ conv_1234_xx34: as_u16(dst) = as_u32(src) & 0xffff; goto CONV_END;
+-conv_1234_x432: as_u32(dst) = swab32(as_u32(src)) >> 8; goto CONV_END;
+-conv_1234_234x: as_u32(dst) = as_u32(src) << 8; goto CONV_END;
++conv_1234_x432: as_u32(dst) = sx24(swab32(as_u32(src)) >> 8); goto CONV_END;
++conv_1234_234x: as_u32(dst) = sx24s(as_u32(src) << 8); goto CONV_END;
+ conv_1234_xxxC: as_u8(dst) = (as_u32(src) & 0xff) ^ 0x80; goto CONV_END;
+ conv_1234_xxC3: as_u16(dst) = swab16(as_u32(src) ^ 0x80); goto CONV_END;
+ conv_1234_xx3C: as_u16(dst) = (as_u32(src) & 0xffff) ^ 0x80; goto CONV_END;
+-conv_1234_xC32: as_u32(dst) = (swab32(as_u32(src)) >> 8) ^ 0x800000; goto CONV_END;
+-conv_1234_23Cx: as_u32(dst) = (as_u32(src) ^ 0x80) << 8; goto CONV_END;
++conv_1234_xC32: as_u32(dst) = sx24((swab32(as_u32(src)) >> 8) ^ 0x800000); goto CONV_END;
++conv_1234_23Cx: as_u32(dst) = sx24s((as_u32(src) ^ 0x80) << 8); goto CONV_END;
+ conv_1234_C321: as_u32(dst) = swab32(as_u32(src) ^ 0x80); goto CONV_END;
+ conv_1234_123C: as_u32(dst) = as_u32(src) ^ 0x80; goto CONV_END;
+ }
+@@ -351,10 +365,10 @@
+ put_s16_xx12_xx92: as_u16(dst) = sample ^ 0x8000; goto PUT_S16_END;
+ put_s16_xx12_xx21: as_u16(dst) = swab16(sample); goto PUT_S16_END;
+ put_s16_xx12_xx29: as_u16(dst) = swab16(sample) ^ 0x80; goto PUT_S16_END;
+-put_s16_xx12_x120: as_u32(dst) = (u_int32_t)sample << 8; goto PUT_S16_END;
+-put_s16_xx12_x920: as_u32(dst) = (u_int32_t)(sample ^ 0x8000) << 8; goto PUT_S16_END;
+-put_s16_xx12_021x: as_u32(dst) = (u_int32_t)swab16(sample) << 8; goto PUT_S16_END;
+-put_s16_xx12_029x: as_u32(dst) = (u_int32_t)(swab16(sample) ^ 0x80) << 8; goto PUT_S16_END;
++put_s16_xx12_x120: as_u32(dst) = sx24((u_int32_t)sample << 8); goto PUT_S16_END;
++put_s16_xx12_x920: as_u32(dst) = sx24((u_int32_t)(sample ^ 0x8000) << 8); goto PUT_S16_END;
++put_s16_xx12_021x: as_u32(dst) = sx24s((u_int32_t)swab16(sample) << 8); goto PUT_S16_END;
++put_s16_xx12_029x: as_u32(dst) = sx24s((u_int32_t)(swab16(sample) ^ 0x80) << 8); goto PUT_S16_END;
+ put_s16_xx12_1200: as_u32(dst) = (u_int32_t)sample << 16; goto PUT_S16_END;
+ put_s16_xx12_9200: as_u32(dst) = (u_int32_t)(sample ^ 0x8000) << 16; goto PUT_S16_END;
+ put_s16_xx12_0021: as_u32(dst) = (u_int32_t)swab16(sample); goto PUT_S16_END;
+@@ -435,10 +449,10 @@
+ put_u32_1234_xx92: as_u16(dst) = (sample >> 16) ^ 0x8000; goto PUT_U32_END;
+ put_u32_1234_xx21: as_u16(dst) = swab16(sample >> 16); goto PUT_U32_END;
+ put_u32_1234_xx29: as_u16(dst) = swab16(sample >> 16) ^ 0x80; goto PUT_U32_END;
+-put_u32_1234_x123: as_u32(dst) = sample >> 8; goto PUT_U32_END;
+-put_u32_1234_x923: as_u32(dst) = (sample >> 8) ^ 0x800000; goto PUT_U32_END;
+-put_u32_1234_321x: as_u32(dst) = swab32(sample) << 8; goto PUT_U32_END;
+-put_u32_1234_329x: as_u32(dst) = (swab32(sample) ^ 0x80) << 8; goto PUT_U32_END;
++put_u32_1234_x123: as_u32(dst) = sx24(sample >> 8); goto PUT_U32_END;
++put_u32_1234_x923: as_u32(dst) = sx24((sample >> 8) ^ 0x800000); goto PUT_U32_END;
++put_u32_1234_321x: as_u32(dst) = sx24s(swab32(sample) << 8); goto PUT_U32_END;
++put_u32_1234_329x: as_u32(dst) = sx24s((swab32(sample) ^ 0x80) << 8); goto PUT_U32_END;
+ put_u32_1234_1234: as_u32(dst) = sample; goto PUT_U32_END;
+ put_u32_1234_9234: as_u32(dst) = sample ^ 0x80000000; goto PUT_U32_END;
+ put_u32_1234_4321: as_u32(dst) = swab32(sample); goto PUT_U32_END;
+@@ -517,9 +531,9 @@
+ put_u16h: as_u16(dst) = sample ^ 0x8000; goto PUT_END;
+ put_s16s: as_s16(dst) = swab16(sample); goto PUT_END;
+ put_u16s: as_u16(dst) = swab16(sample ^ 0x80); goto PUT_END;
+-put_s24h: as_s24(dst) = sample & 0xffffff; goto PUT_END;
++put_s24h: as_s24(dst) = sx24(sample & 0xffffff); goto PUT_END;
+ put_u24h: as_u24(dst) = sample ^ 0x80000000; goto PUT_END;
+-put_s24s: as_s24(dst) = swab32(sample & 0xffffff); goto PUT_END;
++put_s24s: as_s24(dst) = sx24s(swab32(sample & 0xffffff)); goto PUT_END;
+ put_u24s: as_u24(dst) = swab32(sample ^ 0x80); goto PUT_END;
+ put_s32h: as_s32(dst) = sample; goto PUT_END;
+ put_u32h: as_u32(dst) = sample ^ 0x80000000; goto PUT_END;
+diff -urN linux-2.6.12-ioc3/sound/core/oss/rate.c linux-2.6.12-ip30/sound/core/oss/rate.c
+--- linux-2.6.12-ioc3/sound/core/oss/rate.c	2005-01-13 15:07:10.000000000 +0100
++++ linux-2.6.12-ip30/sound/core/oss/rate.c	2005-07-24 19:47:17.000000000 +0200
+@@ -25,6 +25,10 @@
+ #include <sound/pcm.h>
+ #include "pcm_plugin.h"
+ 
++#define SX_INLINES
++#include "plugin_ops.h"
++#undef SX_INLINES
++
+ #define SHIFT	11
+ #define BITS	(1<<SHIFT)
+ #define R_MASK	(BITS-1)
+diff -urN linux-2.6.12-ioc3/sound/core/oss/route.c linux-2.6.12-ip30/sound/core/oss/route.c
+--- linux-2.6.12-ioc3/sound/core/oss/route.c	2005-01-13 15:07:10.000000000 +0100
++++ linux-2.6.12-ip30/sound/core/oss/route.c	2005-07-24 19:47:22.000000000 +0200
+@@ -26,6 +26,10 @@
+ #include <sound/pcm.h>
+ #include "pcm_plugin.h"
+ 
++#define SX_INLINES
++#include "plugin_ops.h"
++#undef SX_INLINES
++
+ /* The best possible hack to support missing optimization in gcc 2.7.2.3 */
+ #if ROUTE_PLUGIN_RESOLUTION & (ROUTE_PLUGIN_RESOLUTION - 1) != 0
+ #define div(a) a /= ROUTE_PLUGIN_RESOLUTION
 diff -urN linux-2.6.12-ioc3/sound/pci/Kconfig linux-2.6.12-ip30/sound/pci/Kconfig
 --- linux-2.6.12-ioc3/sound/pci/Kconfig	2005-03-18 21:40:42.000000000 +0100
 +++ linux-2.6.12-ip30/sound/pci/Kconfig	2005-07-09 13:36:14.000000000 +0200
@@ -5581,28 +5859,12 @@
  obj-$(CONFIG_SND_SONICVIBES) += snd-sonicvibes.o
 diff -urN linux-2.6.12-ioc3/sound/pci/rad1.c linux-2.6.12-ip30/sound/pci/rad1.c
 --- linux-2.6.12-ioc3/sound/pci/rad1.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.12-ip30/sound/pci/rad1.c	2005-07-09 13:36:14.000000000 +0200
-@@ -0,0 +1,478 @@
++++ linux-2.6.12-ip30/sound/pci/rad1.c	2005-07-25 08:33:37.000000000 +0200
+@@ -0,0 +1,1147 @@
 +/*
 + * rad1.c - ALSA driver for SGI RAD1 (as found in Octane and Octane2)
-+ * Copyright (C) 2004 by Stanislaw Skowronek <skylark at linux-mips.org>
++ * Copyright (C) 2004,5 by Stanislaw Skowronek <skylark at linux-mips.org>
 + *
-+ * The RAD1 chip can be construed as the ultimate evil. It sends no
-+ * interrupts on buffer completion, or even depending on the sample
-+ * rate. So we have to hook into the system timer and hope for the best.
-+ *
-+ * This driver allocates DMA descriptors 0 and 1 for analog output (DTOA).
-+ * The descriptors are used alternately. Crossing a descriptor boundary
-+ * is detected by polling PCI_CONTROL_DTOA (it contains the next
-+ * descriptor number) every 1ms. Believe it or not, IRIX does it this way.
-+ *
-+ * To add insult to injury, this chip clips (saturates) 32-bit data to
-+ * 24 bits. Unfortunately, ALSA lib can't be relied upon to sign-extend the
-+ * bytes written to the mmap area (non-sign-extended data cause problems
-+ * after clipping). This complicates the driver and makes it ugly.
-+ *
-+ * This driver is incomplete because of lack of documentation.
-+ *
 + * This program is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
 + * the Free Software Foundation; either version 2 of the License, or
@@ -5624,56 +5886,66 @@
 +#include <linux/pci.h>
 +#include <linux/slab.h>
 +#include <linux/timer.h>
++#include <linux/spinlock.h>
++
 +#include <sound/core.h>
 +#include <sound/initval.h>
 +#include <sound/pcm.h>
++#include <sound/control.h>
 +
 +#include <sound/rad1.h>
 +
-+#define RATE_IS_44100
++typedef struct snd_rad1_pipe {
++	unsigned long pma;	/* physical addr of the ring */
++	int *vma;		/* virtual addr of the ring */
++	snd_pcm_substream_t *subs;	/* ALSA substream */
++	snd_pcm_t *pcm;
++	unsigned int pnum;	/* number of periods */
++	unsigned int plen;	/* length of period (in bytes) */
++	unsigned int hptr;	/* hardware pointer */
++	int adma;		/* DMA active flag */
++	unsigned int qptr;	/* queue pointer */
++} rad1_pipe_t;
 +
-+typedef struct snd_rad1 rad1_t;
-+struct snd_rad1 {
-+	/* per-card */
++typedef struct snd_rad1 {
++	spinlock_t lock;
 +	snd_card_t *card;
-+	snd_pcm_t *pcm;
 +	struct pci_dev *pci;
 +	unsigned long mmio_phys;
 +	volatile struct rad1regs *mmio;
++	int timer_active;
 +	struct timer_list timer;
-+	/* per-channel */
-+	snd_pcm_substream_t *substream;
-+	int run_period;
-+	int run_period_next;
-+	int run_descr;
-+	int run_descr_next;
-+	int *dma_virt;
-+	unsigned long dma_phys;
-+	unsigned long dma_periods;
-+	unsigned long dma_period_bytes;
-+	int *vbuf_virt;
-+	unsigned long vbuf_phys;
-+	unsigned long vbuf_size;
-+	unsigned int virt_pos;
-+	int run_dma;
-+};
++	rad1_pipe_t pipes[9];
++	/* random stuff */
++	int last_aesrx_rate;
++	/* card controls */
++	unsigned int attctrl;	/* attenuation control */
++	unsigned int rt_atod;	/* AtoD routing */
++	unsigned int rt_aesr;	/* AES Rx routing */
++	unsigned int rt_adat;	/* ADAT Rx routing */
++	unsigned int rt_opto;	/* Optical Out routing */
++} rad1_t;
 +#define chip_t rad1_t
 +
-+void snd_rad1_hw_init(rad1_t *chip)
++static void snd_rad1_hw_init(rad1_t *chip)
 +{
 +	chip->mmio->reset=0xffffffff;
 +	udelay(1000);
 +	chip->mmio->reset=0xffe3cffe;
 +	chip->mmio->pci_holdoff=0x08000010;
 +	chip->mmio->pci_arb_control=0x00fac688;
-+	chip->mmio->atod_control=0x03000000;
-+	chip->mmio->dtoa_control=0x40000000;
-+	chip->mmio->aes_rx_control=0x00000010;
-+	chip->mmio->aes_tx_control=0x40000000;
-+	chip->mmio->adat_rx_control=0xa0000008;
-+	chip->mmio->adat_tx_control=0x20000000;
++	/* I/O routing */
++	chip->mmio->atod_control=0x03000000;	/* Mike 03000000; LineIn 05000000 */
++	chip->rt_atod=0x03000000;
++	chip->mmio->dtoa_control=0x20000000;	/* Default */
++	chip->mmio->aes_rx_control=0x00000018;	/* Optical In 00000018; AES In 00000010 */
++	chip->rt_aesr=0x00000018;
++	chip->mmio->aes_tx_control=0x40000000;	/* Default */
++	chip->mmio->adat_rx_control=0xa0000000;	/* Disabled A0000000; Optical In A0000018 */
++	chip->rt_adat=0xa0000000;
++	chip->mmio->adat_tx_control=0x20000000;	/* Default */
 +	chip->mmio->gpio3=0x00000002;
-+	chip->mmio->misc_control=0x00000480;
++	chip->mmio->misc_control=0x00001500;
 +	chip->mmio->mpll0_lock_control=0x9fffffff;
 +	chip->mmio->mpll1_lock_control=0x9fffffff;
 +	chip->mmio->reset=0xffe3c0fe;
@@ -5684,247 +5956,912 @@
 +	chip->mmio->reset=0xffe20000;
 +	chip->mmio->gpio2=0x00000002;
 +	chip->mmio->volume_control=0xd6d6d6d6;
++	chip->attctrl=0xd6d6d6d6;
++	udelay(1000);
++	chip->mmio->misc_control=0x00001040;	/* AES-Optical Out 00001040; AES-AES Out 00001440 */
++	chip->rt_opto=0x00001040;
++	chip->mmio->reset=0xffe20100;
++	chip->mmio->freq_synth_mux_sel[3]=0x00000001;
++	chip->mmio->clockgen_rem=0x0000ffff;
++	chip->mmio->clockgen_ictl=0x10000603;
++	chip->mmio->reset=0xffe20000;
++	chip->mmio->reset=0xffe20200;
++	chip->mmio->freq_synth_mux_sel[2]=0x00000001;
++	chip->mmio->clockgen_rem=0x0000ffff;
++	chip->mmio->clockgen_ictl=0x20000603;
++	chip->mmio->reset=0xffe20000;
++	chip->mmio->reset=0xffe20400;
++	chip->mmio->freq_synth_mux_sel[1]=0x00000001;
++	chip->mmio->clockgen_rem=0x0000ffff;
++	chip->mmio->clockgen_ictl=0x40000603;
++	chip->mmio->reset=0xffe20000;
++	chip->mmio->reset=0xffe20800;
++	chip->mmio->freq_synth_mux_sel[0]=0x00000001;
++	chip->mmio->clockgen_rem=0x0000ffff;
++	chip->mmio->clockgen_ictl=0x80000603;
++	chip->mmio->reset=0xffe20000;
 +	chip->mmio->gpio1=0x00000003;
-+	chip->mmio->clockgen_rem=0x0000ffff;
-+	chip->mmio->dtoa_control=0x40000000;
-+	chip->mmio->clockgen_ictl=0x40000403;
-+	chip->mmio->freq_synth2_mux_sel=0x00000000;
 +	udelay(10000);
 +}
 +
-+void snd_rad1_hw_set_descr(rad1_t *chip, int descr, int next)
++static void snd_rad1_setup_dma_pipe(rad1_t *chip, int pidx)
 +{
-+	unsigned long len = chip->dma_period_bytes;
-+	unsigned long addr = descr * len;
-+	addr += chip->vbuf_phys;
++	rad1_pipe_t *pipe=chip->pipes+pidx;
 +
-+	chip->mmio->pci_descr[descr].hiadr=(addr>>32)&0xffffffff;
-+	chip->mmio->pci_descr[descr].loadr=addr&0xffffffff;
-+	chip->mmio->pci_descr[descr].control=((-len)&0xffffff80)|(next<<3);
++	if((-pipe->pnum*pipe->plen)&0x7f)
++		printk(KERN_WARNING "rad1: pipe %d has unaligned size %d\n", pidx, pipe->pnum*pipe->plen);
++
++	chip->mmio->pci_descr[pidx].hiadr=pipe->pma>>32;
++	chip->mmio->pci_descr[pidx].loadr=pipe->pma&0xffffffff;
++	chip->mmio->pci_descr[pidx].control=((-pipe->pnum*pipe->plen)&0xffffff80)|(pidx<<3);
++
++	chip->mmio->pci_hiadr[pidx]=pipe->pma>>32;
++	chip->mmio->pci_lc[pidx].loadr=pipe->pma&0xffffffff;
++	chip->mmio->pci_lc[pidx].control=((-pipe->pnum*pipe->plen)&0xffffff80)|(pidx<<3);
 +}
 +
-+void snd_rad1_hw_prepare_dma(rad1_t *chip, int descr, int next)
++static void snd_rad1_activate_timer(rad1_t *chip)
 +{
-+	unsigned long len = chip->dma_period_bytes;
-+	unsigned long addr = descr * len;
-+	addr += chip->vbuf_phys;
++	if(!chip->timer_active) {
++		chip->timer.expires = jiffies + 1;
++		add_timer(&chip->timer);
++		chip->timer_active = 1;
++	}
++}
 +
-+	chip->mmio->pci_hiadr_dtoa=(addr>>32)&0xffffffff;
-+	chip->mmio->pci_loadr_dtoa=addr&0xffffffff;
-+	chip->mmio->pci_control_dtoa=((-len)&0xffffff80)|(next<<3);
++static void snd_rad1_run_pipe(rad1_t *chip, int pidx, int adma)
++{
++	rad1_pipe_t *pipe=chip->pipes+pidx;
++
++	if(pipe->adma != adma) {
++		pipe->adma = adma;
++		switch(pidx) {
++		case RAD1_ATOD:
++			chip->mmio->atod_control=chip->rt_atod|adma;
++			break;
++		case RAD1_DTOA:
++			chip->mmio->dtoa_control=0x20000000|adma;
++			break;
++		case RAD1_AESRX:
++			chip->mmio->aes_rx_control=chip->rt_aesr|adma;
++			break;
++		case RAD1_AESTX:
++			chip->mmio->aes_tx_control=0x40000000|adma;
++			break;
++		}
++	}
++
++	if(adma)
++		snd_rad1_activate_timer(chip);
 +}
 +
-+void snd_rad1_hw_run(rad1_t *chip, int run)
++static void snd_rad1_poll_pipe(rad1_t *chip, int pidx, int is_tx)
 +{
-+	chip->mmio->dtoa_control=0x40000000|(run?1:0);
++	rad1_pipe_t *pipe = chip->pipes+pidx;
++	unsigned int hptr = (pipe->pnum * pipe->plen) + (chip->mmio->pci_lc[pidx].control & 0xFFFFFF80);
++	unsigned long flags;
++
++	spin_lock_irqsave(&chip->lock, flags);
++	if(pipe->adma && pipe->subs) {
++		/* use hardware pointer to detect period crossing */
++		if(hptr/pipe->plen != pipe->hptr/pipe->plen) {
++			if(is_tx)
++				pipe->qptr = hptr/8;
++			else
++				pipe->qptr = pipe->hptr/8;
++			spin_unlock_irqrestore(&chip->lock, flags);
++			snd_pcm_period_elapsed(pipe->subs);
++			spin_lock_irqsave(&chip->lock, flags);
++		}
++		pipe->hptr = hptr;
++	}
++	spin_unlock_irqrestore(&chip->lock, flags);
 +}
 +
-+void snd_rad1_hw_setrate(rad1_t *chip, int rate)
++static void snd_rad1_poll_timer(unsigned long chip_virt)
 +{
++	rad1_t *chip = (rad1_t *)chip_virt;
++	int adma = 0;
++
++	if(chip->pipes[RAD1_ATOD].adma) {
++		snd_rad1_poll_pipe(chip, RAD1_ATOD, 0);
++		adma = 1;
++	}
++	if(chip->pipes[RAD1_DTOA].adma) {
++		snd_rad1_poll_pipe(chip, RAD1_DTOA, 1);
++		adma = 1;
++	}
++	if(chip->pipes[RAD1_AESRX].adma) {
++		snd_rad1_poll_pipe(chip, RAD1_AESRX, 0);
++		adma = 1;
++	}
++	if(chip->pipes[RAD1_AESTX].adma) {
++		snd_rad1_poll_pipe(chip, RAD1_AESTX, 1);
++		adma = 1;
++	}
++
++	if(adma) {
++		chip->timer.expires = jiffies+1;
++		add_timer(&chip->timer);
++	} else
++		chip->timer_active = 0;
++}
++
++static int snd_rad1_free_pipe(snd_pcm_substream_t *substream, int pidx)
++{
++	rad1_t *chip = snd_pcm_substream_chip(substream);
++	rad1_pipe_t *pipe=chip->pipes+pidx;
++	unsigned long flags;
++
++	spin_lock_irqsave(&chip->lock, flags);
++	snd_rad1_run_pipe(chip, pidx, 0);
++	pipe->subs = NULL;
++	spin_unlock_irqrestore(&chip->lock, flags);
++	return snd_pcm_lib_free_pages(substream);
++}
++
++static long snd_rad1_gcd(long x, long y)
++{
++	long t;
++	if(x<y) {
++		t=x;
++		x=y;
++		y=t;
++	}
++	while(y) {
++		y=x%(t=y);
++		x=t;
++	}
++	return x;
++}
++static void snd_rad1_red_frac(long *n, long *d, long max)
++{
++	long gcd=snd_rad1_gcd(*n, *d);
++	if(!gcd)
++		return;
++	*n /= gcd;
++	*d /= gcd;
++	/* lose precision */
++	while(*n>max || *d>max) {
++		*n >>= 1;
++		*d >>= 1;
++	}
++}
++static void snd_rad1_set_cg(rad1_t *chip, int cg, long rate, long base, unsigned muxsel)
++{
++	long div, rem;
++	unsigned flags;
++
++	snd_rad1_red_frac(&base, &rate, 0xFFFF);
++	div = base / rate;
++	rem = base % rate;
++	snd_rad1_red_frac(&rem, &rate, 0xFFFF);
++	flags = (rem*2<rate) ? 0x600 : 0x200;
++
++	chip->mmio->reset = 0xFFE20000|(0x100<<cg);
++	chip->mmio->freq_synth_mux_sel[3-cg] = muxsel;
++	chip->mmio->clockgen_rem = (rem<<16)|(0x10000-rate);
++	chip->mmio->clockgen_ictl = flags|(0x10000000<<cg)|(div-1);
++	chip->mmio->reset = 0xFFE20000;
++}
++/* select best master clock source for low jitter */
++static void snd_rad1_set_cgms(rad1_t *chip, int cg, long rate)
++{
++	if(!(176400%rate))
++		snd_rad1_set_cg(chip, cg, rate, 176400, 0);
++	else
++		snd_rad1_set_cg(chip, cg, rate, 192000, 1);
++}
++
++static void snd_rad1_set_aestx_subcode(rad1_t *chip, unsigned char *sub_lc, unsigned char *sub_rc)
++{
++	unsigned int i, j, lc[6], rc[6];
++	for(i=0;i<6;i++) {
++		lc[i]=rc[i]=0;
++		for(j=0;j<4;j++) {
++			lc[i]|=sub_lc[i*4+j]<<(j<<3);
++			rc[i]|=sub_rc[i*4+j]<<(j<<3);
++		}
++	}
++	for(i=0;i<6;i++) {
++		chip->mmio->aes_subcode_txa_lu[i]=0x00000000;
++		chip->mmio->aes_subcode_txa_lc[i]=lc[i];
++		chip->mmio->aes_subcode_txa_lv[i]=0x00000000;
++		chip->mmio->aes_subcode_txa_ru[i]=0x00000000;
++		chip->mmio->aes_subcode_txa_rc[i]=rc[i];
++		chip->mmio->aes_subcode_txb_lu[i]=0x00000000;
++		chip->mmio->aes_subcode_txb_lc[i]=lc[i];
++		chip->mmio->aes_subcode_txb_lv[i]=0x00000000;
++		chip->mmio->aes_subcode_txb_ru[i]=0x00000000;
++		chip->mmio->aes_subcode_txb_rc[i]=rc[i];
++	}
++	for(i=0;i<2;i++) {
++		chip->mmio->aes_subcode_txa_rv0[i]=0x00000000;
++		chip->mmio->aes_subcode_txb_rv0[i]=0x00000000;
++	}
++	for(i=0;i<4;i++) {
++		chip->mmio->aes_subcode_txa_rv2[i]=0x00000000;
++		chip->mmio->aes_subcode_txb_rv2[i]=0x00000000;
++	}
++}
++static void snd_rad1_genset_aestx_subcode(rad1_t *chip, int rate)
++{
++	unsigned char lc[24], rc[24];
++	int i;
++	for(i=0;i<24;i++)
++		lc[i]=rc[i]=0x00;
++	lc[0]=rc[0]=0x04;	/* PRO=0, !AUDIO=0, COPY=1, PRE=000, MODE=00 */
++	lc[1]=rc[1]=0x01;	/* Laser Optical, CD IEC-908 */
++	lc[2]=0x10;	/* SOURCE=0000, CHANNEL=0001 */
++	rc[2]=0x20;	/* SOURCE=0000, CHANNEL=0010 */
++	/* RAD1 systems have generally decent clock sources, so we mark them Level I */
 +	switch(rate) {
-+	case 48000:
-+		chip->mmio->freq_synth2_mux_sel=0x00000001;
-+		chip->mmio->clockgen_ictl=0x40000403;
++	case 32000:
++		lc[3]=rc[3]=0x0C;	/* Level I, 32 kHz */
 +		break;
 +	case 44100:
-+		chip->mmio->freq_synth2_mux_sel=0x00000000;
-+		chip->mmio->clockgen_ictl=0x40000403;
++		lc[3]=rc[3]=0x00;	/* Level I, 44.1 kHz */
 +		break;
-+	case 22050:
-+		chip->mmio->freq_synth2_mux_sel=0x00000000;
-+		chip->mmio->clockgen_ictl=0x40000404;
++	case 48000:
++		lc[3]=rc[3]=0x04;	/* Level I, 48 kHz */
 +		break;
-+	case 11025:
-+		chip->mmio->freq_synth2_mux_sel=0x00000000;
-+		chip->mmio->clockgen_ictl=0x40000405;
-+		break;
 +	default:
-+		printk(KERN_INFO "Unsupported playback PCM sample rate: %d\n",rate);
++		/* not a valid IEC-958 sample rate */
++		lc[3]=rc[3]=0x10;	/* Level III, 44.1 kHz */
 +	}
++	snd_rad1_set_aestx_subcode(chip, lc, rc);
 +}
 +
-+void snd_rad1_shift24(int *dest, int *src, unsigned count)
++static void snd_rad1_setrate_pipe(rad1_t *chip, int pidx, int rate)
 +{
-+	int i;
-+	for(i=0;i<count;i++)
-+		dest[i] = src[i] >> 8;
++	if(pidx == RAD1_ATOD)
++		snd_rad1_set_cgms(chip, 0, rate);
++	if(pidx == RAD1_DTOA)
++		snd_rad1_set_cgms(chip, 1, rate);
++	if(pidx == RAD1_AESTX) {
++		snd_rad1_set_cgms(chip, 2, rate);
++		snd_rad1_genset_aestx_subcode(chip, rate);
++	}
 +}
 +
-+void snd_rad1_poll_timer(unsigned long chip_virt)
++static int snd_rad1_prepare_pipe(snd_pcm_substream_t *substream, int pidx)
 +{
-+	rad1_t *chip = (rad1_t *)chip_virt;
-+	unsigned stat = chip->mmio->pci_control_dtoa;
-+	unsigned next = (stat>>3)&15;
++	rad1_t *chip = snd_pcm_substream_chip(substream);
++	snd_pcm_runtime_t *runtime = substream->runtime;
++	rad1_pipe_t *pipe=chip->pipes+pidx;
++	unsigned long flags;
 +
-+	if (next != chip->run_descr_next && chip->run_dma) {
-+		snd_pcm_period_elapsed(chip->substream);
++	spin_lock_irqsave(&chip->lock, flags);
++	snd_rad1_run_pipe(chip, pidx, 0);
++	spin_unlock_irqrestore(&chip->lock, flags);
 +
-+		chip->run_descr = chip->run_descr_next;
-+		chip->run_descr_next = next;
-+		chip->run_period = chip->run_period_next;
-+		chip->run_period_next = (chip->run_period + 1) % chip->dma_periods;
++	pipe->subs = substream;
++	pipe->vma = (int *)runtime->dma_area;
++	pipe->pma = runtime->dma_addr;
++	pipe->pnum = runtime->periods;
++	pipe->plen = frames_to_bytes(runtime, runtime->period_size);
 +
-+		snd_rad1_hw_set_descr(chip, chip->run_descr_next, chip->run_descr);
++	snd_rad1_setrate_pipe(chip, pidx, runtime->rate);
 +
-+		snd_rad1_shift24(chip->vbuf_virt + chip->run_descr_next * (chip->dma_period_bytes >> 2),
-+				 chip->dma_virt + chip->run_period * (chip->dma_period_bytes >> 2),
-+				 chip->dma_period_bytes >> 2);
-+		chip->virt_pos = chip->run_period_next * (chip->dma_period_bytes >> 3);
++	pipe->hptr = 0;
++	pipe->qptr = 0;
++	snd_rad1_setup_dma_pipe(chip, pidx);
++
++	return 0;
++}
++
++static void snd_rad1_detect_aesrx_rate(rad1_t *chip, snd_pcm_hardware_t *hw)
++{
++	int rate;
++	unsigned sc = ((chip->mmio->chip_status0)>>24)&7;
++	static int rates[8] = {0, 48000, 44100, 32000, 48000, 44100, 44056, 32000};
++
++	if(!rates[sc]) {
++		printk(KERN_INFO "Warning: Recording from an unlocked IEC958 source.\n");
++		printk(KERN_INFO "         Assuming sample rate: %d.\n", chip->last_aesrx_rate);
++		rate = chip->last_aesrx_rate;
++	} else
++		rate = rates[sc];
++	chip->last_aesrx_rate = rate;
++
++	hw->rate_min = hw->rate_max = rate;
++	switch(rate) {
++	case 32000:
++		hw->rates = SNDRV_PCM_RATE_32000;
++		break;
++	case 44056:
++		hw->rates = SNDRV_PCM_RATE_CONTINUOUS;
++		break;
++	case 44100:
++	default:
++		hw->rates = SNDRV_PCM_RATE_44100;
++		break;
++	case 48000:
++		hw->rates = SNDRV_PCM_RATE_48000;
 +	}
++}
 +
-+	if(chip->run_dma) {
-+		chip->timer.expires = jiffies+1;
-+		add_timer(&chip->timer);
++static int snd_rad1_trigger_pipe(snd_pcm_substream_t *substream, int pidx, int cmd)
++{
++	rad1_t *chip = snd_pcm_substream_chip(substream);
++	int result = 0;
++
++	switch(cmd) {
++	case SNDRV_PCM_TRIGGER_START:
++	case SNDRV_PCM_TRIGGER_RESUME:
++		snd_rad1_run_pipe(chip, pidx, 1);
++		break;
++	case SNDRV_PCM_TRIGGER_STOP:
++	case SNDRV_PCM_TRIGGER_SUSPEND:
++		snd_rad1_run_pipe(chip, pidx, 0);
++		break;
++	default:
++		result=-EINVAL;
 +	}
++	return result;
 +}
 +
-+static snd_pcm_hardware_t snd_rad1_playback_hw = {
-+	.info = (SNDRV_PCM_INFO_INTERLEAVED |
-+		 SNDRV_PCM_INFO_MMAP |
-+		 SNDRV_PCM_INFO_MMAP_VALID |
-+		 SNDRV_PCM_INFO_BLOCK_TRANSFER |
-+		 SNDRV_PCM_INFO_RESUME),
-+	.formats = SNDRV_PCM_FMTBIT_S32_BE,
-+	.rates = SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_22050 | SNDRV_PCM_RATE_11025,
-+	.rate_min = 11025,
++static snd_pcm_uframes_t snd_rad1_pointer_pipe(snd_pcm_substream_t *substream, int pidx)
++{
++	rad1_t *chip = snd_pcm_substream_chip(substream);
++	return chip->pipes[pidx].qptr;
++}
++
++/* ATOD pipe */
++
++static snd_pcm_hardware_t snd_rad1_atod_hw = {
++	.info = (SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID | SNDRV_PCM_INFO_BLOCK_TRANSFER),
++	.formats = SNDRV_PCM_FMTBIT_S24_BE,
++	.rates = SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000,
++	.rate_min = 32000,
 +	.rate_max = 48000,
 +	.channels_min = 2,
 +	.channels_max = 2,
 +	.buffer_bytes_max = 1048576,
-+	.period_bytes_min = 8192,
-+	.period_bytes_max = 262144,
-+	.periods_min = 8,
-+	.periods_max = 32,
++	.period_bytes_min = 4096,
++	.period_bytes_max = 4096,
++	.periods_min = 4,
++	.periods_max = 256,
 +};
++static int snd_rad1_atod_open(snd_pcm_substream_t *substream)
++{
++	snd_pcm_runtime_t *runtime = substream->runtime;
++	runtime->hw = snd_rad1_atod_hw;
++	return 0;
++}
++static int snd_rad1_atod_close(snd_pcm_substream_t *substream)
++{
++	rad1_t *chip = snd_pcm_substream_chip(substream);
++	snd_rad1_run_pipe(chip, RAD1_ATOD, 0);
++	return 0;
++}
++static int snd_rad1_atod_params(snd_pcm_substream_t *substream, snd_pcm_hw_params_t *hw_params)
++{
++	return snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(hw_params));
++}
++static int snd_rad1_atod_free(snd_pcm_substream_t *substream)
++{
++	return snd_rad1_free_pipe(substream, RAD1_ATOD);
++}
++static int snd_rad1_atod_prepare(snd_pcm_substream_t *substream)
++{
++	return snd_rad1_prepare_pipe(substream, RAD1_ATOD);
++}
++static int snd_rad1_atod_trigger(snd_pcm_substream_t *substream, int cmd)
++{
++	return snd_rad1_trigger_pipe(substream, RAD1_ATOD, cmd);
++}
++static snd_pcm_uframes_t snd_rad1_atod_pointer(snd_pcm_substream_t *substream)
++{
++	return snd_rad1_pointer_pipe(substream, RAD1_ATOD);
++}
++static snd_pcm_ops_t snd_rad1_atod_ops = {
++	.open = snd_rad1_atod_open,
++	.close = snd_rad1_atod_close,
++	.hw_params = snd_rad1_atod_params,
++	.hw_free = snd_rad1_atod_free,
++	.prepare = snd_rad1_atod_prepare,
++	.trigger = snd_rad1_atod_trigger,
++	.pointer = snd_rad1_atod_pointer,
++	.ioctl = snd_pcm_lib_ioctl,
++};
++static void snd_rad1_atod_pcm_free(snd_pcm_t *pcm)
++{
++	snd_pcm_lib_preallocate_free_for_all(pcm);
++}
++static int __devinit snd_rad1_new_atod(rad1_t *chip, int dev)
++{
++	snd_pcm_t *pcm;
++	int err;
++	if ((err = snd_pcm_new(chip->card, "RAD1 AtoD", dev, 0, 1, &pcm)) < 0)
++		return err;
++	pcm->private_data = chip;
++	pcm->private_free = snd_rad1_atod_pcm_free;
++	strcpy(pcm->name, "RAD1 AtoD");
++	chip->pipes[RAD1_ATOD].pcm = pcm;
++	snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_rad1_atod_ops);
++	snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(chip->pci), 65536, 65536);
++	return 0;
++}
 +
-+static int snd_rad1_playback_open(snd_pcm_substream_t *substream)
++/* DTOA pipe */
++
++static snd_pcm_hardware_t snd_rad1_dtoa_hw = {
++	.info = (SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID | SNDRV_PCM_INFO_BLOCK_TRANSFER),
++	.formats = SNDRV_PCM_FMTBIT_S24_BE,
++	.rates = SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000,
++	.rate_min = 32000,
++	.rate_max = 48000,
++	.channels_min = 2,
++	.channels_max = 2,
++	.buffer_bytes_max = 1048576,
++	.period_bytes_min = 4096,
++	.period_bytes_max = 4096,
++	.periods_min = 4,
++	.periods_max = 256,
++};
++static int snd_rad1_dtoa_open(snd_pcm_substream_t *substream)
 +{
 +	snd_pcm_runtime_t *runtime = substream->runtime;
++	runtime->hw = snd_rad1_dtoa_hw;
++	return 0;
++}
++static int snd_rad1_dtoa_close(snd_pcm_substream_t *substream)
++{
++	rad1_t *chip = snd_pcm_substream_chip(substream);
++	snd_rad1_run_pipe(chip, RAD1_DTOA, 0);
++	return 0;
++}
++static int snd_rad1_dtoa_params(snd_pcm_substream_t *substream, snd_pcm_hw_params_t *hw_params)
++{
++	return snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(hw_params));
++}
++static int snd_rad1_dtoa_free(snd_pcm_substream_t *substream)
++{
++	return snd_rad1_free_pipe(substream, RAD1_DTOA);
++}
++static int snd_rad1_dtoa_prepare(snd_pcm_substream_t *substream)
++{
++	return snd_rad1_prepare_pipe(substream, RAD1_DTOA);
++}
++static int snd_rad1_dtoa_trigger(snd_pcm_substream_t *substream, int cmd)
++{
++	return snd_rad1_trigger_pipe(substream, RAD1_DTOA, cmd);
++}
++static snd_pcm_uframes_t snd_rad1_dtoa_pointer(snd_pcm_substream_t *substream)
++{
++	return snd_rad1_pointer_pipe(substream, RAD1_DTOA);
++}
++static snd_pcm_ops_t snd_rad1_dtoa_ops = {
++	.open = snd_rad1_dtoa_open,
++	.close = snd_rad1_dtoa_close,
++	.hw_params = snd_rad1_dtoa_params,
++	.hw_free = snd_rad1_dtoa_free,
++	.prepare = snd_rad1_dtoa_prepare,
++	.trigger = snd_rad1_dtoa_trigger,
++	.pointer = snd_rad1_dtoa_pointer,
++	.ioctl = snd_pcm_lib_ioctl,
++};
++static void snd_rad1_dtoa_pcm_free(snd_pcm_t *pcm)
++{
++	snd_pcm_lib_preallocate_free_for_all(pcm);
++}
++static int __devinit snd_rad1_new_dtoa(rad1_t *chip, int dev)
++{
++	snd_pcm_t *pcm;
++	int err;
++	if ((err = snd_pcm_new(chip->card, "RAD1 DtoA", dev, 1, 0, &pcm)) < 0)
++		return err;
++	pcm->private_data = chip;
++	pcm->private_free = snd_rad1_dtoa_pcm_free;
++	strcpy(pcm->name, "RAD1 DtoA");
++	chip->pipes[RAD1_DTOA].pcm = pcm;
++	snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_rad1_dtoa_ops);
++	snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(chip->pci), 65536, 65536);
++	return 0;
++}
 +
-+	runtime->hw = snd_rad1_playback_hw;
++/* AESRX pipe */
++
++static snd_pcm_hardware_t snd_rad1_aesrx_hw = {
++	.info = (SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID | SNDRV_PCM_INFO_BLOCK_TRANSFER),
++	.formats = SNDRV_PCM_FMTBIT_S24_BE,
++	.rates = SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_32000,
++	.rate_min = 32000,
++	.rate_max = 48000,
++	.channels_min = 2,
++	.channels_max = 2,
++	.buffer_bytes_max = 1048576,
++	.period_bytes_min = 4096,
++	.period_bytes_max = 4096,
++	.periods_min = 4,
++	.periods_max = 256,
++};
++static int snd_rad1_aesrx_open(snd_pcm_substream_t *substream)
++{
++	snd_pcm_runtime_t *runtime = substream->runtime;
++	rad1_t *chip = snd_pcm_substream_chip(substream);
++	runtime->hw = snd_rad1_aesrx_hw;
++	snd_rad1_detect_aesrx_rate(chip, &runtime->hw);
 +	return 0;
 +}
++static int snd_rad1_aesrx_close(snd_pcm_substream_t *substream)
++{
++	rad1_t *chip = snd_pcm_substream_chip(substream);
++	snd_rad1_run_pipe(chip, RAD1_AESRX, 0);
++	return 0;
++}
++static int snd_rad1_aesrx_params(snd_pcm_substream_t *substream, snd_pcm_hw_params_t *hw_params)
++{
++	return snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(hw_params));
++}
++static int snd_rad1_aesrx_free(snd_pcm_substream_t *substream)
++{
++	return snd_rad1_free_pipe(substream, RAD1_AESRX);
++}
++static int snd_rad1_aesrx_prepare(snd_pcm_substream_t *substream)
++{
++	return snd_rad1_prepare_pipe(substream, RAD1_AESRX);
++}
++static int snd_rad1_aesrx_trigger(snd_pcm_substream_t *substream, int cmd)
++{
++	return snd_rad1_trigger_pipe(substream, RAD1_AESRX, cmd);
++}
++static snd_pcm_uframes_t snd_rad1_aesrx_pointer(snd_pcm_substream_t *substream)
++{
++	return snd_rad1_pointer_pipe(substream, RAD1_AESRX);
++}
++static snd_pcm_ops_t snd_rad1_aesrx_ops = {
++	.open = snd_rad1_aesrx_open,
++	.close = snd_rad1_aesrx_close,
++	.hw_params = snd_rad1_aesrx_params,
++	.hw_free = snd_rad1_aesrx_free,
++	.prepare = snd_rad1_aesrx_prepare,
++	.trigger = snd_rad1_aesrx_trigger,
++	.pointer = snd_rad1_aesrx_pointer,
++	.ioctl = snd_pcm_lib_ioctl,
++};
++static void snd_rad1_aesrx_pcm_free(snd_pcm_t *pcm)
++{
++	snd_pcm_lib_preallocate_free_for_all(pcm);
++}
++static int __devinit snd_rad1_new_aesrx(rad1_t *chip, int dev)
++{
++	snd_pcm_t *pcm;
++	int err;
++	if ((err = snd_pcm_new(chip->card, "RAD1 AES Rx", dev, 0, 1, &pcm)) < 0)
++		return err;
++	pcm->private_data = chip;
++	pcm->private_free = snd_rad1_aesrx_pcm_free;
++	strcpy(pcm->name, "RAD1 AES Rx");
++	chip->pipes[RAD1_AESRX].pcm = pcm;
++	snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_rad1_aesrx_ops);
++	snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(chip->pci), 65536, 65536);
++	chip->last_aesrx_rate = 44100;
++	return 0;
++}
 +
-+static int snd_rad1_playback_close(snd_pcm_substream_t *substream)
++/* AESTX pipe */
++
++static snd_pcm_hardware_t snd_rad1_aestx_hw = {
++	.info = (SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID | SNDRV_PCM_INFO_BLOCK_TRANSFER),
++	.formats = SNDRV_PCM_FMTBIT_S24_BE,
++	.rates = SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000,
++	.rate_min = 32000,
++	.rate_max = 48000,
++	.channels_min = 2,
++	.channels_max = 2,
++	.buffer_bytes_max = 1048576,
++	.period_bytes_min = 4096,
++	.period_bytes_max = 4096,
++	.periods_min = 4,
++	.periods_max = 256,
++};
++static int snd_rad1_aestx_open(snd_pcm_substream_t *substream)
 +{
++	snd_pcm_runtime_t *runtime = substream->runtime;
++	runtime->hw = snd_rad1_aestx_hw;
++	return 0;
++}
++static int snd_rad1_aestx_close(snd_pcm_substream_t *substream)
++{
 +	rad1_t *chip = snd_pcm_substream_chip(substream);
++	snd_rad1_run_pipe(chip, RAD1_AESTX, 0);
++	return 0;
++}
++static int snd_rad1_aestx_params(snd_pcm_substream_t *substream, snd_pcm_hw_params_t *hw_params)
++{
++	return snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(hw_params));
++}
++static int snd_rad1_aestx_free(snd_pcm_substream_t *substream)
++{
++	return snd_rad1_free_pipe(substream, RAD1_AESTX);
++}
++static int snd_rad1_aestx_prepare(snd_pcm_substream_t *substream)
++{
++	return snd_rad1_prepare_pipe(substream, RAD1_AESTX);
++}
++static int snd_rad1_aestx_trigger(snd_pcm_substream_t *substream, int cmd)
++{
++	return snd_rad1_trigger_pipe(substream, RAD1_AESTX, cmd);
++}
++static snd_pcm_uframes_t snd_rad1_aestx_pointer(snd_pcm_substream_t *substream)
++{
++	return snd_rad1_pointer_pipe(substream, RAD1_AESTX);
++}
++static snd_pcm_ops_t snd_rad1_aestx_ops = {
++	.open = snd_rad1_aestx_open,
++	.close = snd_rad1_aestx_close,
++	.hw_params = snd_rad1_aestx_params,
++	.hw_free = snd_rad1_aestx_free,
++	.prepare = snd_rad1_aestx_prepare,
++	.trigger = snd_rad1_aestx_trigger,
++	.pointer = snd_rad1_aestx_pointer,
++	.ioctl = snd_pcm_lib_ioctl,
++};
++static void snd_rad1_aestx_pcm_free(snd_pcm_t *pcm)
++{
++	snd_pcm_lib_preallocate_free_for_all(pcm);
++}
++static int __devinit snd_rad1_new_aestx(rad1_t *chip, int dev)
++{
++	snd_pcm_t *pcm;
++	int err;
++	if ((err = snd_pcm_new(chip->card, "RAD1 AES Tx", dev, 1, 0, &pcm)) < 0)
++		return err;
++	pcm->private_data = chip;
++	pcm->private_free = snd_rad1_aestx_pcm_free;
++	strcpy(pcm->name, "RAD1 AES Tx");
++	chip->pipes[RAD1_AESTX].pcm = pcm;
++	snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_rad1_aestx_ops);
++	snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(chip->pci), 65536, 65536);
++	return 0;
++}
 +
-+	chip->run_dma=0;
++/* Volume control */
++
++static int snd_rad1_control_pv_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo)
++{
++	uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER;
++	uinfo->count = 2;
++	uinfo->value.integer.min = 0;
++	uinfo->value.integer.max = 255;
 +	return 0;
 +}
 +
-+static int snd_rad1_pcm_hw_params(snd_pcm_substream_t *substream, snd_pcm_hw_params_t *hw_params)
++static int snd_rad1_control_pv_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *u)
 +{
-+	return snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(hw_params));
++	rad1_t *chip = snd_kcontrol_chip(kcontrol);
++	unsigned long flags;
++	int shift=kcontrol->private_value*16;
++
++	spin_lock_irqsave(&chip->lock, flags);
++	u->value.integer.value[0] = (chip->attctrl>>shift)&0xFF;
++	u->value.integer.value[1] = (chip->attctrl>>(8+shift))&0xFF;
++	spin_unlock_irqrestore(&chip->lock, flags);
++
++	return 0;
 +}
 +
-+static int snd_rad1_pcm_hw_free(snd_pcm_substream_t *substream)
++static int snd_rad1_control_pv_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *u)
 +{
-+	rad1_t *chip = snd_pcm_substream_chip(substream);
++	rad1_t *chip = snd_kcontrol_chip(kcontrol);
++	unsigned long flags;
++	int change = 0, shift=kcontrol->private_value*16;
 +
-+	if(chip->vbuf_virt) {
-+		chip->run_dma=0;
-+		dma_free_coherent(NULL, chip->vbuf_size, chip->vbuf_virt, chip->vbuf_phys);
-+		chip->vbuf_virt = NULL;
++	spin_lock_irqsave(&chip->lock, flags);
++	if(u->value.integer.value[0] != ((chip->attctrl>>shift)&0xFF))
++		change = 1;
++	if(u->value.integer.value[1] != ((chip->attctrl>>(8+shift))&0xFF))
++		change = 1;
++	if(change) {
++		chip->attctrl &= 0xFFFF<<(16-shift);
++		chip->attctrl |= u->value.integer.value[0]<<shift;
++		chip->attctrl |= u->value.integer.value[1]<<(8+shift);
++		chip->mmio->volume_control = chip->attctrl;
 +	}
-+	return snd_pcm_lib_free_pages(substream);
++	spin_unlock_irqrestore(&chip->lock, flags);
++
++	return change;
 +}
 +
-+static int snd_rad1_pcm_prepare(snd_pcm_substream_t *substream)
++/* AES Tx route control */
++
++static int snd_rad1_control_tr_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo)
 +{
-+	rad1_t *chip = snd_pcm_substream_chip(substream);
-+	snd_pcm_runtime_t *runtime = substream->runtime;
-+	dma_addr_t dma_handle;
++	static char *rts[2] = {"Optical", "Coaxial"};
 +
-+	del_timer(&chip->timer);
-+	snd_rad1_hw_run(chip, 0);
++	uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED;
++	uinfo->count = 1;
++	uinfo->value.enumerated.items = 2;
++	if(uinfo->value.enumerated.item > 1)
++		uinfo->value.enumerated.item = 1;
++	strcpy(uinfo->value.enumerated.name, rts[uinfo->value.enumerated.item]);
++	return 0;
++}
 +
-+	chip->substream = substream;
++static int snd_rad1_control_tr_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *u)
++{
++	rad1_t *chip = snd_kcontrol_chip(kcontrol);
++	unsigned long flags;
 +
-+	chip->dma_phys = runtime->dma_addr;
-+	chip->dma_virt = (int *)runtime->dma_area;
-+	chip->dma_periods = runtime->periods;
-+	chip->dma_period_bytes = frames_to_bytes(runtime, runtime->period_size);
++	spin_lock_irqsave(&chip->lock, flags);
++	if(chip->rt_opto == 0x00001440)
++		u->value.enumerated.item[0] = 1;
++	else
++		u->value.enumerated.item[0] = 0;
++	spin_unlock_irqrestore(&chip->lock, flags);
 +
-+	if(chip->vbuf_virt)
-+		dma_free_coherent(NULL, chip->vbuf_size, chip->vbuf_virt, chip->vbuf_phys);
-+	chip->vbuf_size = chip->dma_period_bytes * 2;
-+	chip->vbuf_virt = dma_alloc_coherent(NULL, chip->vbuf_size, &dma_handle, GFP_KERNEL);
-+	if(!chip->vbuf_virt) {
-+		printk(KERN_ERR "rad1: can't allocate DMA buffer memory!\n");
-+		return -ENOMEM;
++	return 0;
++}
++
++static int snd_rad1_control_tr_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *u)
++{
++	rad1_t *chip = snd_kcontrol_chip(kcontrol);
++	unsigned long flags;
++	int change = 0;
++
++	spin_lock_irqsave(&chip->lock, flags);
++	if(u->value.enumerated.item[0] && chip->rt_opto != 0x00001440)
++		change = 1;
++	if(!u->value.enumerated.item[0] && chip->rt_opto == 0x00001440)
++		change = 1;
++	if(change) {
++		if(u->value.enumerated.item[0])
++			chip->rt_opto = 0x00001440;
++		else
++			chip->rt_opto = 0x00001040;
++		chip->mmio->misc_control = chip->rt_opto;
 +	}
-+	chip->vbuf_phys = dma_handle;
-+	memset(chip->vbuf_virt, 0, chip->vbuf_size);
++	spin_unlock_irqrestore(&chip->lock, flags);
 +
-+	snd_rad1_hw_setrate(chip, runtime->rate);
++	return change;
++}
 +
-+	chip->run_descr = 0;
-+	chip->run_descr_next = 1;
-+	chip->run_period = 0;
-+	chip->run_period_next = 1;
-+	chip->virt_pos = 0;
-+	snd_rad1_hw_set_descr(chip, 0, 1);
-+	snd_rad1_hw_set_descr(chip, 1, 0);
-+	snd_rad1_hw_prepare_dma(chip, 0, 1);
++/* AES Rx route control */
 +
-+	chip->timer.expires = jiffies + 1;
-+	chip->timer.function = snd_rad1_poll_timer;
-+	chip->timer.data = (unsigned long)chip;
-+	chip->run_dma=1;
-+	add_timer(&chip->timer);
++static int snd_rad1_control_rr_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *u)
++{
++	rad1_t *chip = snd_kcontrol_chip(kcontrol);
++	unsigned long flags;
 +
++	spin_lock_irqsave(&chip->lock, flags);
++	if(chip->rt_aesr == 0x00000010)
++		u->value.enumerated.item[0] = 1;
++	else
++		u->value.enumerated.item[0] = 0;
++	spin_unlock_irqrestore(&chip->lock, flags);
++
 +	return 0;
 +}
 +
-+static int snd_rad1_pcm_trigger(snd_pcm_substream_t *substream, int cmd)
++static int snd_rad1_control_rr_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *u)
 +{
-+	rad1_t *chip = snd_pcm_substream_chip(substream);
++	rad1_t *chip = snd_kcontrol_chip(kcontrol);
++	unsigned long flags;
++	int change = 0;
 +
-+	switch(cmd) {
-+	case SNDRV_PCM_TRIGGER_START:
-+	case SNDRV_PCM_TRIGGER_RESUME:
-+		snd_rad1_hw_run(chip, 1);
-+		return 0;
-+	case SNDRV_PCM_TRIGGER_STOP:
-+	case SNDRV_PCM_TRIGGER_SUSPEND:
-+		snd_rad1_hw_run(chip, 0);
-+		return 0;
-+	default:
-+		return -EINVAL;
++	spin_lock_irqsave(&chip->lock, flags);
++	if(u->value.enumerated.item[0] && chip->rt_aesr != 0x00000010)
++		change = 1;
++	if(!u->value.enumerated.item[0] && chip->rt_aesr == 0x00000010)
++		change = 1;
++	if(change) {
++		if(u->value.enumerated.item[0]) {
++			chip->rt_aesr = 0x00000010;
++			chip->rt_adat = 0xA0000018;
++		} else {
++			chip->rt_aesr = 0x00000018;
++			chip->rt_adat = 0xA0000000;
++		}
++		chip->mmio->aes_rx_control=chip->rt_aesr|chip->pipes[RAD1_AESRX].adma;
++		chip->mmio->adat_rx_control=chip->rt_adat|chip->pipes[RAD1_ADATRX].adma;
 +	}
++	spin_unlock_irqrestore(&chip->lock, flags);
++
++	return change;
 +}
 +
-+static snd_pcm_uframes_t snd_rad1_pcm_pointer(snd_pcm_substream_t *substream)
++/* AtoD route control */
++
++static int snd_rad1_control_ar_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo)
 +{
-+	rad1_t *chip = snd_pcm_substream_chip(substream);
++	static char *rts[2] = {"Mic", "Line"};
 +
-+	return chip->virt_pos;
++	uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED;
++	uinfo->count = 1;
++	uinfo->value.enumerated.items = 2;
++	if(uinfo->value.enumerated.item > 1)
++		uinfo->value.enumerated.item = 1;
++	strcpy(uinfo->value.enumerated.name, rts[uinfo->value.enumerated.item]);
++	return 0;
 +}
 +
-+static snd_pcm_ops_t snd_rad1_playback_ops = {
-+	.open = snd_rad1_playback_open,
-+	.close = snd_rad1_playback_close,
-+	.hw_params = snd_rad1_pcm_hw_params,
-+	.hw_free = snd_rad1_pcm_hw_free,
-+	.prepare = snd_rad1_pcm_prepare,
-+	.trigger = snd_rad1_pcm_trigger,
-+	.pointer = snd_rad1_pcm_pointer,
-+	.ioctl = snd_pcm_lib_ioctl,
++static int snd_rad1_control_ar_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *u)
++{
++	rad1_t *chip = snd_kcontrol_chip(kcontrol);
++	unsigned long flags;
++
++	spin_lock_irqsave(&chip->lock, flags);
++	if(chip->rt_atod == 0x05000000)
++		u->value.enumerated.item[0] = 1;
++	else
++		u->value.enumerated.item[0] = 0;
++	spin_unlock_irqrestore(&chip->lock, flags);
++
++	return 0;
++}
++
++static int snd_rad1_control_ar_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *u)
++{
++	rad1_t *chip = snd_kcontrol_chip(kcontrol);
++	unsigned long flags;
++	int change = 0;
++
++	spin_lock_irqsave(&chip->lock, flags);
++	if(u->value.enumerated.item[0] && chip->rt_atod != 0x05000000)
++		change = 1;
++	if(!u->value.enumerated.item[0] && chip->rt_atod == 0x05000000)
++		change = 1;
++	if(change) {
++		if(u->value.enumerated.item[0])
++			chip->rt_atod = 0x05000000;
++		else
++			chip->rt_atod = 0x03000000;
++		chip->mmio->atod_control=chip->rt_atod|chip->pipes[RAD1_ATOD].adma;
++	}
++	spin_unlock_irqrestore(&chip->lock, flags);
++
++	return change;
++}
++
++static snd_kcontrol_new_t snd_rad1_controls[] = {
++{
++	.iface =	SNDRV_CTL_ELEM_IFACE_MIXER,
++	.name =		"Master Playback Volume",
++	.info =		snd_rad1_control_pv_info,
++	.get =		snd_rad1_control_pv_get,
++	.put =		snd_rad1_control_pv_put,
++	.private_value = 1
++},
++{
++	.iface =	SNDRV_CTL_ELEM_IFACE_MIXER,
++	.name =		"Line Capture Volume",
++	.info =		snd_rad1_control_pv_info,
++	.get =		snd_rad1_control_pv_get,
++	.put =		snd_rad1_control_pv_put,
++	.private_value = 0
++},
++{
++	.iface =	SNDRV_CTL_ELEM_IFACE_MIXER,
++	.name =		"IEC958 Playback Routing",
++	.info =		snd_rad1_control_tr_info,
++	.get =		snd_rad1_control_tr_get,
++	.put =		snd_rad1_control_tr_put
++},
++{
++	.iface =	SNDRV_CTL_ELEM_IFACE_MIXER,
++	.name =		"IEC958 Capture Routing",
++	.info =		snd_rad1_control_tr_info, /* clone */
++	.get =		snd_rad1_control_rr_get,
++	.put =		snd_rad1_control_rr_put
++},
++{
++	.iface =	SNDRV_CTL_ELEM_IFACE_MIXER,
++	.name =		"Line Capture Routing",
++	.info =		snd_rad1_control_ar_info,
++	.get =		snd_rad1_control_ar_get,
++	.put =		snd_rad1_control_ar_put
++},
 +};
 +
-+static int __devinit snd_rad1_new_pcm(rad1_t *chip)
++static int snd_rad1_add_controls(rad1_t *chip)
 +{
-+	snd_pcm_t *pcm;
-+	int err;
-+	init_timer(&chip->timer);
-+	if ((err = snd_pcm_new(chip->card, "RAD1 PCM", 0, 1, 0, &pcm)) < 0)
-+		return err;
-+	pcm->private_data = chip;
-+	strcpy(pcm->name, "RAD1 PCM");
-+	chip->pcm = pcm;
-+	snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_rad1_playback_ops);
-+	snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(chip->pci), 262144, 262144);
++	int idx, err;
++
++	for(idx=0;idx<5;idx++)
++		if((err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_rad1_controls[idx], chip))) < 0)
++			return err;
 +	return 0;
 +}
 +
@@ -5935,8 +6872,10 @@
 +
 +static int snd_rad1_free(rad1_t *chip)
 +{
-+	if (chip->mmio)
++	if (chip->mmio) {
 +		iounmap((void *)(chip->mmio));
++		chip->mmio = NULL;
++	}
 +	pci_release_regions(chip->pci);
 +	kfree(chip);
 +	return 0;
@@ -5965,9 +6904,15 @@
 +	if (chip == NULL)
 +		return -ENOMEM;
 +
++	init_timer(&chip->timer);
++	chip->timer.function = snd_rad1_poll_timer;
++	chip->timer.data = (unsigned long)chip;
++
 +	chip->card = card;
 +	chip->pci = pci;
 +
++	spin_lock_init(&chip->lock);
++
 +	pci_set_master(pci);
 +
 +	if ((err = pci_request_regions(pci, "RAD1")) < 0) {
@@ -5989,7 +6934,7 @@
 +}
 +
 +static struct pci_device_id snd_rad1_ids[] = {
-+	{ 0x10a9, 0x0005, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, },
++	{ PCI_VENDOR_ID_SGI, PCI_DEVICE_ID_SGI_RAD1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, },
 +	{ 0, },
 +};
 +
@@ -6016,13 +6961,15 @@
 +	}
 +
 +	strcpy(card->driver, "RAD1");
-+	strcpy(card->shortname, "SGI RAD Pro Audio");
-+	sprintf(card->longname, "%s at 0x%lx", card->shortname, chip->mmio_phys);
++	strcpy(card->shortname, "RADAudio");
++	sprintf(card->longname, "SGI RAD Audio at 0x%lx", chip->mmio_phys);
 +
-+	if ((err = snd_rad1_new_pcm(chip)) < 0) {
-+		snd_card_free(card);
-+		return err;
-+	}
++	/* create pipes */
++	snd_rad1_new_dtoa(chip, 0);
++	snd_rad1_new_atod(chip, 1);
++	snd_rad1_new_aestx(chip, 2);
++	snd_rad1_new_aesrx(chip, 3);
++	snd_rad1_add_controls(chip);
 +
 +	if ((err = snd_card_register(card)) < 0) {
 +		snd_card_free(card);

Deleted: trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/patches-2.4/10_cobalt-patch.dpatch
===================================================================
--- trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/patches-2.4/10_cobalt-patch.dpatch	2005-08-17 16:06:19 UTC (rev 3963)
+++ trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/patches-2.4/10_cobalt-patch.dpatch	2005-08-17 19:38:05 UTC (rev 3964)
@@ -1,492 +0,0 @@
-#! /bin/sh -e
-## 10_cobalt-patch.dpatch by Karsten Merker <karsten at excalibur.cologne.de>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Cobalt fixes for 2.4 from http://www.colonel-panic.org/cobalt-mips/
-## DP: cobalt-patch-2.4.x-20040411
-
-if [ $# -lt 1 ]; then
-    echo "`basename $0`: script expects -patch|-unpatch as argument" >&2
-    exit 1
-fi
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch} ${2:+-d $2}"
-
-case "$1" in
-    -patch) patch -p1 ${patch_opts} < $0;;
-    -unpatch) patch -R -p1 ${patch_opts} < $0;;
-    *)
-        echo "`basename $0`: script expects -patch|-unpatch as argument" >&2
-        exit 1;;
-esac
-
-exit 0
-
-diff -urN linux.cvs/arch/mips/cobalt/pci.c linux.pdh/arch/mips/cobalt/pci.c
---- linux.cvs/arch/mips/cobalt/pci.c	2003-07-05 14:17:03.000000000 +0100
-+++ linux.pdh/arch/mips/cobalt/pci.c	2004-04-11 16:27:59.000000000 +0100
-@@ -211,7 +211,14 @@
- 	pci_write_config_byte(dev, PCI_LATENCY_TIMER, 64);
- 	pci_write_config_byte(dev, PCI_CACHE_LINE_SIZE, 7);
- 
--	/* On all machines prior to Q2, we had the STOP line disconnected
-+	/* The code described by the comment below has been removed
-+	 * as it causes bus mastering by the Ethernet controllers
-+	 * to break under any kind of network load. We always set
-+	 * the retry timeouts to their maximum.
-+	 *
-+	 * --x--x--x--x--x--x--x--x--x--x--x--x--x--x--x--x--x--x--x--x--
-+	 *
-+	 * On all machines prior to Q2, we had the STOP line disconnected
- 	 * from Galileo to VIA on PCI.  The new Galileo does not function
- 	 * correctly unless we have it connected.
- 	 *
-@@ -220,10 +227,16 @@
- 	 */
- 	pci_read_config_word(dev, PCI_REVISION_ID, &galileo_id);
- 	galileo_id &= 0xff;     /* mask off class info */
-+
-+	printk("Galileo ID: %u\n", galileo_id);
-+
-+#if 0
- 	if (galileo_id >= 0x10) {
- 		/* New Galileo, assumes PCI stop line to VIA is connected. */
- 		GALILEO_OUTL(0x4020, GT_PCI0_TOR_OFS);
--	} else if (galileo_id == 0x1 || galileo_id == 0x2) {
-+	} else if (galileo_id == 0x1 || galileo_id == 0x2)
-+#endif
-+	{
- 		signed int timeo;
- 		/* XXX WE MUST DO THIS ELSE GALILEO LOCKS UP! -DaveM */
- 		timeo = GALILEO_INL(GT_PCI0_TOR_OFS);
-diff -urN linux.cvs/arch/mips/cobalt/setup.c linux.pdh/arch/mips/cobalt/setup.c
---- linux.cvs/arch/mips/cobalt/setup.c	2003-07-05 14:17:03.000000000 +0100
-+++ linux.pdh/arch/mips/cobalt/setup.c	2004-04-11 17:50:11.000000000 +0100
-@@ -34,6 +34,8 @@
- extern struct rtc_ops std_rtc_ops;
- extern struct ide_ops std_ide_ops;
- 
-+extern int cobalt_board_id;
-+
- 
- char arcs_cmdline[CL_SIZE] = {
-  "console=ttyS0,115200 "
-@@ -49,6 +51,16 @@
- 
- const char *get_system_type(void)
- {
-+	switch (cobalt_board_id) {
-+		case COBALT_BRD_ID_QUBE1:
-+			return "Cobalt Qube";
-+		case COBALT_BRD_ID_RAQ1:
-+			return "Cobalt RaQ";
-+		case COBALT_BRD_ID_QUBE2:
-+			return "Cobalt Qube2";
-+		case COBALT_BRD_ID_RAQ2:
-+			return "Cobalt RaQ2";
-+	}
- 	return "MIPS Cobalt";
- }
- 
-@@ -98,13 +110,96 @@
- 	/*ns16550_setup_console();*/
- }
- 
-+#ifdef CONFIG_BLK_DEV_INITRD
-+
-+static int __init initrd_setup(unsigned long memsz)
-+{
-+	extern unsigned long initrd_start, initrd_end;
-+	extern char __rd_start, __rd_end;
-+
-+	unsigned long start, size, phys;
-+	char *ptr;
-+
-+	if (!memcmp(arcs_cmdline, "initrd=", 7))
-+		ptr = arcs_cmdline;
-+	else {
-+		ptr = strstr(arcs_cmdline, " initrd=");
-+		if (!ptr)
-+			return 0;
-+		++ptr;
-+	}
-+
-+	size = simple_strtoul(ptr + 7, &ptr, 16);
-+	if (*ptr != '@')
-+		goto invalid;
-+
-+	start = simple_strtoul(ptr + 1, &ptr, 16);
-+	if (*ptr && *ptr != ' ')
-+		goto invalid;
-+
-+	phys = CPHYSADDR(start);
-+	if (phys + size > memsz) {
-+invalid:
-+		printk(KERN_WARNING "initrd: command line parameter invalid\n");
-+		return 0;
-+	}
-+
-+	if (!size)
-+		return 0;
-+
-+	/* an embedded ramdisk overrides us (arch/mips/kernel/setup.c) */
-+
-+	if (&__rd_start != &__rd_end) {
-+		printk(KERN_WARNING "initrd: overridden by embedded ramdisk\n");
-+		return 0;
-+	}
-+
-+	initrd_start = start;
-+	initrd_end = start + size;
-+
-+	add_memory_region(0x0, phys, BOOT_MEM_RAM);
-+	add_memory_region(phys, size, BOOT_MEM_RESERVED);
-+	phys += size;
-+	add_memory_region(phys, memsz - phys, BOOT_MEM_RAM);
-+
-+	return 1;
-+}
-+
-+#endif /* CONFIG_BLK_DEV_INITRD */
-+
- /* Prom init. We read our one and only communication with the
--    firmware. Grab the amount of installed memory */
--void __init prom_init(int argc)
-+    firmware. Grab the amount of installed memory.
-+    Better boot loaders pass a command line too :-) */
-+void __init prom_init(int argc, char *argv[])
- {
-+	int indx, posn, nchr;
-+	unsigned long memsz;
-+
- 	mips_machgroup = MACH_GROUP_COBALT;
- 
--	add_memory_region(0x0, argc & 0x7fffffff, BOOT_MEM_RAM);
-+	memsz = argc & 0x7fff0000;
-+	argc &= 0xffff;
-+
-+	if (argc) {
-+		arcs_cmdline[0] = '\0';
-+		posn = 0;
-+		for (indx = 1; indx < argc; ++indx) {
-+			nchr = strlen(argv[indx]);
-+			if (posn + 1 + nchr + 1 > sizeof(arcs_cmdline))
-+				break;
-+			if (posn)
-+				arcs_cmdline[posn++] = ' ';
-+			strcpy(arcs_cmdline + posn, argv[indx]);
-+			posn += nchr;
-+		}
-+	}
-+
-+#ifdef CONFIG_BLK_DEV_INITRD
-+	if (!initrd_setup(memsz))
-+#endif
-+	{
-+		add_memory_region(0x0, memsz, BOOT_MEM_RAM);
-+	}
- }
- 
- void __init prom_free_prom_memory(void)
-diff -urN linux.cvs/arch/mips/defconfig-cobalt linux.pdh/arch/mips/defconfig-cobalt
---- linux.cvs/arch/mips/defconfig-cobalt	2004-03-15 20:50:55.000000000 +0000
-+++ linux.pdh/arch/mips/defconfig-cobalt	2004-04-11 16:27:59.000000000 +0100
-@@ -13,7 +13,9 @@
- #
- # Loadable module support
- #
--# CONFIG_MODULES is not set
-+CONFIG_MODULES=y
-+# CONFIG_MODVERSIONS is not set
-+CONFIG_KMOD=y
- 
- #
- # Machine selection
-@@ -168,7 +170,7 @@
- # CONFIG_BLK_DEV_DAC960 is not set
- # CONFIG_BLK_DEV_UMEM is not set
- # CONFIG_BLK_DEV_SX8 is not set
--CONFIG_BLK_DEV_LOOP=y
-+# CONFIG_BLK_DEV_LOOP is not set
- # CONFIG_BLK_DEV_NBD is not set
- # CONFIG_BLK_DEV_RAM is not set
- # CONFIG_BLK_DEV_INITRD is not set
-@@ -624,15 +626,15 @@
- #
- # CONFIG_CODA_FS is not set
- # CONFIG_INTERMEZZO_FS is not set
--CONFIG_NFS_FS=y
-+# CONFIG_NFS_FS is not set
- # CONFIG_NFS_V3 is not set
- # CONFIG_NFS_DIRECTIO is not set
- # CONFIG_ROOT_NFS is not set
- # CONFIG_NFSD is not set
- # CONFIG_NFSD_V3 is not set
- # CONFIG_NFSD_TCP is not set
--CONFIG_SUNRPC=y
--CONFIG_LOCKD=y
-+# CONFIG_SUNRPC is not set
-+# CONFIG_LOCKD is not set
- # CONFIG_SMB_FS is not set
- # CONFIG_NCP_FS is not set
- # CONFIG_NCPFS_PACKET_SIGNING is not set
-@@ -648,22 +650,8 @@
- #
- # Partition Types
- #
--CONFIG_PARTITION_ADVANCED=y
--# CONFIG_ACORN_PARTITION is not set
--# CONFIG_OSF_PARTITION is not set
--# CONFIG_AMIGA_PARTITION is not set
--# CONFIG_ATARI_PARTITION is not set
--# CONFIG_MAC_PARTITION is not set
-+# CONFIG_PARTITION_ADVANCED is not set
- CONFIG_MSDOS_PARTITION=y
--# CONFIG_BSD_DISKLABEL is not set
--# CONFIG_MINIX_SUBPARTITION is not set
--# CONFIG_SOLARIS_X86_PARTITION is not set
--# CONFIG_UNIXWARE_DISKLABEL is not set
--# CONFIG_LDM_PARTITION is not set
--CONFIG_SGI_PARTITION=y
--# CONFIG_ULTRIX_PARTITION is not set
--# CONFIG_SUN_PARTITION is not set
--# CONFIG_EFI_PARTITION is not set
- # CONFIG_SMB_NLS is not set
- # CONFIG_NLS is not set
- 
-@@ -695,7 +683,7 @@
- #
- # Kernel hacking
- #
--CONFIG_CROSSCOMPILE=y
-+# CONFIG_CROSSCOMPILE is not set
- # CONFIG_RUNTIME_DEBUG is not set
- # CONFIG_KGDB is not set
- # CONFIG_GDB_CONSOLE is not set
-diff -urN linux.cvs/arch/mips/ld.script.in linux.pdh/arch/mips/ld.script.in
---- linux.cvs/arch/mips/ld.script.in	2004-02-06 15:14:07.000000000 +0000
-+++ linux.pdh/arch/mips/ld.script.in	2004-04-11 16:27:59.000000000 +0100
-@@ -30,6 +30,10 @@
-   __ksymtab : { *(__ksymtab) }
-   __stop___ksymtab = .;
- 
-+  __start___kallsyms = .;	/* All kernel symbols */
-+  __kallsyms : { *(__kallsyms) }
-+  __stop___kallsyms = .;
-+
-   _etext = .;
- 
-   . = ALIGN(8192);
-diff -urN linux.cvs/arch/mips/lib/dump_tlb.c linux.pdh/arch/mips/lib/dump_tlb.c
---- linux.cvs/arch/mips/lib/dump_tlb.c	2004-02-11 15:05:10.000000000 +0000
-+++ linux.pdh/arch/mips/lib/dump_tlb.c	2004-04-11 16:27:59.000000000 +0100
-@@ -32,6 +32,7 @@
- 	case PM_256M:	return "256Mb";
- #endif
- 	}
-+	return "???";
- }
- 
- void dump_tlb(int first, int last)
-diff -urN linux.cvs/arch/mips/lib/rtc-no.c linux.pdh/arch/mips/lib/rtc-no.c
---- linux.cvs/arch/mips/lib/rtc-no.c	2004-01-08 18:31:49.000000000 +0000
-+++ linux.pdh/arch/mips/lib/rtc-no.c	2004-04-11 16:27:59.000000000 +0100
-@@ -29,5 +29,3 @@
-     .rtc_write_data = (void *) &shouldnt_happen,
-     .rtc_bcd_mode   = (void *) &shouldnt_happen
- };
--
--EXPORT_SYMBOL(rtc_ops);
-diff -urN linux.cvs/drivers/net/tulip/eeprom.c linux.pdh/drivers/net/tulip/eeprom.c
---- linux.cvs/drivers/net/tulip/eeprom.c	2003-02-25 22:03:08.000000000 +0000
-+++ linux.pdh/drivers/net/tulip/eeprom.c	2004-04-11 16:27:59.000000000 +0100
-@@ -62,6 +62,22 @@
- 	 */
- 	{ 0x1e00, 0x0000, 0x000b, 0x8f01, 0x0103, 0x0300, 0x0821, 0x000, 0x0001, 0x0000, 0x01e1 }
-   },
-+  {"Cobalt Microserver", 0, 0x10, 0xE0, {0x1e00, /* 0 == controller #, 1e == offset	*/
-+					 0x0000, /* 0 == high offset, 0 == gap		*/
-+					 0x0800, /* Default Autoselect			*/
-+					 0x8001, /* 1 leaf, extended type, bogus len	*/
-+					 0x0003, /* Type 3 (MII), PHY #0		*/
-+					 0x0400, /* 0 init instr, 4 reset instr		*/
-+					 0x0801, /* Set control mode, GP0 output	*/
-+					 0x0000, /* Drive GP0 Low (RST is active low)	*/
-+					 0x0800, /* control mode, GP0 input (undriven)	*/
-+					 0x0000, /* clear control mode			*/
-+					 0x7800, /* 100TX FDX + HDX, 10bT FDX + HDX	*/
-+					 0x01e0, /* Advertise all above			*/
-+					 0x5000, /* FDX all above			*/
-+					 0x1800, /* Set fast TTM in 100bt modes		*/
-+					 0x0000, /* PHY cannot be unplugged		*/
-+  }},
-   {0, 0, 0, 0, {}}};
- 
- 
-diff -urN linux.cvs/drivers/net/tulip/media.c linux.pdh/drivers/net/tulip/media.c
---- linux.cvs/drivers/net/tulip/media.c	2003-02-25 22:03:08.000000000 +0000
-+++ linux.pdh/drivers/net/tulip/media.c	2004-04-11 16:27:59.000000000 +0100
-@@ -400,6 +400,9 @@
- 	}
- 
- 	tp->csr6 = new_csr6 | (tp->csr6 & 0xfdff) | (tp->full_duplex ? 0x0200 : 0);
-+
-+	udelay(1000);
-+
- 	return;
- }
- 
-diff -urN linux.cvs/drivers/net/tulip/tulip_core.c linux.pdh/drivers/net/tulip/tulip_core.c
---- linux.cvs/drivers/net/tulip/tulip_core.c	2003-11-19 18:49:50.000000000 +0000
-+++ linux.pdh/drivers/net/tulip/tulip_core.c	2004-04-11 16:27:59.000000000 +0100
-@@ -1595,8 +1595,8 @@
-                     (PCI_SLOT(pdev->devfn) == 12))) {
-                        /* Cobalt MAC address in first EEPROM locations. */
-                        sa_offset = 0;
--                       /* No media table either */
--                       tp->flags &= ~HAS_MEDIA_TABLE;
-+		       /* Ensure our media table fixup get's applied */
-+		       memcpy(ee_data + 16, ee_data, 8);
-                }
- #endif
- #ifdef __hppa__
-diff -urN linux.cvs/include/asm-mips/cobalt/ide.h linux.pdh/include/asm-mips/cobalt/ide.h
---- linux.cvs/include/asm-mips/cobalt/ide.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux.pdh/include/asm-mips/cobalt/ide.h	2004-04-11 16:27:59.000000000 +0100
-@@ -0,0 +1,71 @@
-+/*
-+ * PIO "in" transfers can cause D-cache lines to be allocated
-+ * to the data being read. If the target is the page cache then
-+ * the kernel can create a user space mapping of the same page
-+ * without flushing it from the D-cache. This has large potential
-+ * to create cache aliases. The Cobalts seem to trigger this
-+ * problem easily.
-+ *
-+ * MIPs doesn't have a flush_dcache_range() so we roll
-+ * our own.
-+ *
-+ * -- pdh
-+ */
-+
-+#include <asm/r4kcache.h>
-+
-+static inline void __flush_dcache(void)
-+{
-+	unsigned long dc_size, dc_line, addr, end;
-+
-+	dc_size = current_cpu_data.dcache.ways << current_cpu_data.dcache.waybit;
-+	dc_line = current_cpu_data.dcache.linesz;
-+
-+	addr = KSEG0;
-+	end = addr + dc_size;
-+
-+	for (; addr < end; addr += dc_line)
-+		flush_dcache_line_indexed(addr);
-+}
-+
-+static inline void __flush_dcache_range(unsigned long start, unsigned long end)
-+{
-+	unsigned long dc_size, dc_line, addr;
-+
-+	dc_size = current_cpu_data.dcache.ways << current_cpu_data.dcache.waybit;
-+	dc_line = current_cpu_data.dcache.linesz;
-+
-+	addr = start & ~(dc_line - 1);
-+	end += dc_line - 1;
-+
-+	if (end - addr < dc_size)
-+		for (; addr < end; addr += dc_line)
-+			flush_dcache_line(addr);
-+	else
-+		__flush_dcache();
-+}
-+
-+static inline void __ide_insw(unsigned long port, void *addr, unsigned int count)
-+{
-+	__insw(port, addr, count);
-+
-+	__flush_dcache_range((unsigned long) addr, (unsigned long) addr + count * 2);
-+}
-+
-+static inline void __ide_insl(unsigned long port, void *addr, unsigned int count)
-+{
-+	__insl(port, addr, count);
-+
-+	__flush_dcache_range((unsigned long) addr, (unsigned long) addr + count * 4);
-+}
-+
-+#undef insw
-+#undef insl
-+
-+#define insw(p,a,n)		__ide_insw((p),(a),(n))
-+#define insl(p,a,n)		__ide_insl((p),(a),(n))
-+
-+#define __ide_mm_insw(p,a,n)	do{BUG();}while(0)
-+#define __ide_mm_insl(p,a,n)	do{BUG();}while(0)
-+#define __ide_mm_outsw(p,a,n)	do{BUG();}while(0)
-+#define __ide_mm_outsl(p,a,n)	do{BUG();}while(0)
-diff -urN linux.cvs/include/asm-mips/ide.h linux.pdh/include/asm-mips/ide.h
---- linux.cvs/include/asm-mips/ide.h	2003-07-15 16:08:33.000000000 +0100
-+++ linux.pdh/include/asm-mips/ide.h	2004-04-11 17:21:40.000000000 +0100
-@@ -68,7 +68,11 @@
- #define ide_ack_intr(hwif)	((hwif)->hw.ack_intr ? (hwif)->hw.ack_intr(hwif) : 1)
- #endif
- 
-+#ifdef CONFIG_MIPS_COBALT
-+#include <asm/cobalt/ide.h>
-+#else
- #include <asm-generic/ide_iops.h>
-+#endif
- 
- #endif /* __KERNEL__ */
- 
-diff -urN linux.cvs/include/linux/udf_fs_sb.h linux.pdh/include/linux/udf_fs_sb.h
---- linux.cvs/include/linux/udf_fs_sb.h	2002-06-26 23:36:46.000000000 +0100
-+++ linux.pdh/include/linux/udf_fs_sb.h	2004-04-11 16:27:59.000000000 +0100
-@@ -18,7 +18,7 @@
- #ifndef _UDF_FS_SB_H
- #define _UDF_FS_SB_H 1
- 
--#pragma pack(1)
-+//#pragma pack(1)
- 
- #define UDF_MAX_BLOCK_LOADED	8
- 
-@@ -31,13 +31,13 @@
- {
- 	__u16	s_packet_len;
- 	struct buffer_head *s_spar_map[4];
--};
-+} __attribute__((packed));
- 
- struct udf_virtual_data
- {
- 	__u32	s_num_entries;
- 	__u16	s_start_offset;
--};
-+} __attribute__((packed));
- 
- struct udf_bitmap
- {
-@@ -45,7 +45,7 @@
- 	__u32			s_extPosition;
- 	__u16			s_nr_groups;
- 	struct buffer_head 	**s_block_bitmap;
--};
-+} __attribute__((packed));
- 
- struct udf_part_map
- {
-@@ -71,9 +71,9 @@
- 	__u32	(*s_partition_func)(struct super_block *, __u32, __u16, __u32);
- 	__u16	s_volumeseqnum;
- 	__u16	s_partition_flags;
--};
-+} __attribute__((packed));
- 
--#pragma pack()
-+//#pragma pack()
- 
- struct udf_sb_info
- {

Modified: trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/rules
===================================================================
--- trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/rules	2005-08-17 16:06:19 UTC (rev 3963)
+++ trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/rules	2005-08-17 19:38:05 UTC (rev 3964)
@@ -112,15 +112,15 @@
 	dh_testroot
 	$(foreach fla,$(flavours), \
 		$(MAKE) -C debian flavour=$(fla) build-flavour && \
-		cp -l debian/linux-image-$(kernver)-$(abiver)-$(fla)_$(debver)_$(debarch).deb .. && \
-		cp -l debian/linux-headers-$(kernver)-$(abiver)-$(fla)_$(debver)_$(debarch).deb .. &&) :
+		cp -lf debian/linux-image-$(kernver)-$(abiver)-$(fla)_$(debver)_$(debarch).deb .. && \
+		cp -lf debian/linux-headers-$(kernver)-$(abiver)-$(fla)_$(debver)_$(debarch).deb .. &&) :
 
 binary-headers: patch
 	dh_testdir
 	dh_testroot
 ifneq ($(flavours),)
 	$(MAKE) -C debian build-generic-headers
-	cp -l debian/linux-headers-$(kernver)-$(abiver)_$(debver)_$(debarch).deb ..
+	cp -lf debian/linux-headers-$(kernver)-$(abiver)_$(debver)_$(debarch).deb ..
 endif
 
 binary-arch: binary-images binary-headers

Modified: trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/sourceversion
===================================================================
--- trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/sourceversion	2005-08-17 16:06:19 UTC (rev 3963)
+++ trunk/kernel/mips/linux-patch-2.6.12-mips-2.6.12/debian/sourceversion	2005-08-17 19:38:05 UTC (rev 3964)
@@ -1 +1 @@
-2.6.12-1
+2.6.12-2




More information about the Kernel-svn-changes mailing list