# This is a BitKeeper generated patch for the following project: # Project Name: Linux kernel tree # This patch format is intended for GNU patch command version 2.5 or higher. # This patch includes the following deltas: # ChangeSet v2.5.70 -> 1.1274 # drivers/i2c/chips/w83781d.c 1.7 -> 1.9 # drivers/base/sys.c 1.16 -> 1.17 # drivers/net/8139too.c 1.55 -> 1.57 # drivers/hotplug/cpqphp_core.c 1.17 -> 1.19 drivers/pci/hotplug/cpqphp_core.c (moved) # arch/ppc/boot/prep/vreset.c 1.7 -> 1.8 # include/asm-ppc64/smp.h 1.7 -> 1.8 # drivers/hotplug/acpiphp_pci.c 1.4 -> 1.6 drivers/pci/hotplug/acpiphp_pci.c (moved) # include/linux/rocket.h 1.1 -> 1.2 drivers/char/rocket.h (moved) # include/asm-alpha/agp_backend.h 1.2 -> 1.3 # drivers/net/defxx.c 1.17 -> 1.18 # drivers/scsi/arm/oak.c 1.18 -> 1.19 # net/ipv4/netfilter/ip_conntrack_core.c 1.29 -> 1.30 # drivers/mtd/maps/Makefile 1.8 -> 1.9 # drivers/hotplug/ibmphp_pci.c 1.6 -> 1.7 drivers/pci/hotplug/ibmphp_pci.c (moved) # drivers/mtd/devices/slram.c 1.6 -> 1.7 # include/linux/proc_fs.h 1.18 -> 1.20 # drivers/scsi/megaraid.c 1.45 -> 1.47 # include/pcmcia/ds.h 1.10 -> 1.11 # arch/ppc64/kernel/signal.c 1.27 -> 1.28 # drivers/pci/search.c 1.3 -> 1.6 # fs/jffs2/compr_zlib.c 1.7 -> 1.8 # include/linux/mtd/cfi_endian.h 1.2 -> 1.3 # drivers/net/irda/nsc-ircc.c 1.23 -> 1.25 # include/linux/kernel.h 1.37 -> 1.38 # drivers/scsi/dpti.h 1.9 -> 1.10 # drivers/scsi/aic7xxx/aic79xx_core.c 1.24 -> 1.28 # include/asm-x86_64/smp.h 1.6 -> 1.8 # drivers/char/specialix_io8.h 1.2 -> 1.3 # drivers/mtd/devices/doc2000.c 1.5 -> 1.6 # drivers/scsi/imm.h 1.8 -> 1.10 # drivers/scsi/in2000.h 1.10 -> 1.11 # include/net/route.h 1.21 -> 1.22 # drivers/mtd/maps/cfi_flagadm.c 1.3 -> 1.4 # arch/arm/mach-sa1100/pfs168.c 1.12 -> 1.13 # arch/ppc/kernel/align.c 1.6 -> 1.7 # include/asm-ppc/hardirq.h 1.19 -> 1.20 # arch/ppc/xmon/xmon.c 1.12 -> 1.13 # arch/ppc/8260_io/enet.c 1.8 -> 1.11 # drivers/scsi/aic7xxx/aic79xx_reg_print.c_shipped 1.10 -> 1.12 # include/asm-h8300/bug.h 1.1 -> 1.2 # drivers/usb/input/hid.h 1.24 -> 1.26 # drivers/mtd/devices/Makefile 1.4 -> 1.5 # drivers/char/esp.c 1.19 -> 1.20 # drivers/usb/media/konicawc.c 1.21 -> 1.22 # drivers/video/matrox/matroxfb_maven.c 1.12 -> 1.13 # net/ipv4/syncookies.c 1.13 -> 1.14 # net/llc/af_llc.c 1.41 -> 1.42 # drivers/scsi/ips.c 1.57 -> 1.58 # drivers/usb/misc/usblcd.c 1.8 -> 1.9 # arch/sparc64/boot/Makefile 1.8 -> 1.9 # net/ipx/ipx_proc.c 1.6 -> 1.7 # net/bluetooth/rfcomm/core.c 1.21 -> 1.22 # include/asm-ppc/processor.h 1.29 -> 1.31 # drivers/usb/input/kbtab.c 1.2 -> 1.3 # fs/jffs2/background.c 1.18 -> 1.19 # drivers/net/irda/toshoboe.c 1.17 -> 1.19 # kernel/rcupdate.c 1.4 -> 1.5 # arch/ppc/4xx_io/serial_sicc.c 1.9 -> 1.10 # include/sound/initval.h 1.9 -> 1.10 # sound/i2c/cs8427.c 1.6 -> 1.7 # drivers/usb/storage/protocol.c 1.9 -> 1.10 # fs/libfs.c 1.19 -> 1.20 # drivers/char/vme_scc.c 1.18 -> 1.20 # arch/x86_64/kernel/traps.c 1.21 -> 1.22 # fs/reiserfs/file.c 1.19 -> 1.20 # drivers/scsi/fcal.h 1.7 -> 1.8 # drivers/media/video/cpia_usb.c 1.20 -> 1.21 # arch/um/drivers/daemon_kern.c 1.3 -> 1.4 # arch/x86_64/mm/fault.c 1.12 -> 1.13 # drivers/scsi/aic7xxx/aic7xxx_proc.c 1.10 -> 1.11 # sound/drivers/opl3/Makefile 1.12 -> 1.14 # drivers/net/ptifddi.c 1.4 -> (deleted) # arch/um/drivers/mcast_kern.c 1.4 -> 1.5 # sound/pci/Makefile 1.12 -> 1.14 # arch/arm/mach-sa1100/adsbitsy.c 1.16 -> 1.17 # net/ipv4/tcp_diag.c 1.8 -> 1.9 # kernel/ksyms.c 1.200 -> 1.201 # drivers/scsi/scsi_devinfo.h 1.1 -> 1.2 # arch/ppc/xmon/start.c 1.12 -> 1.14 # sound/pci/korg1212/korg1212.c 1.22 -> 1.23 # drivers/video/matrox/matroxfb_Ti3026.c 1.6 -> 1.7 # drivers/isdn/hardware/avm/avm_cs.c 1.7.1.1 -> 1.9 # sound/pci/ac97/ac97_patch.h 1.6 -> 1.7 # include/asm-ppc/uaccess.h 1.7 -> 1.8 # drivers/char/watchdog/i810-tco.c 1.16 -> 1.17 # drivers/mtd/nand/Makefile 1.6 -> 1.7 # include/linux/jffs2_fs_sb.h 1.9 -> 1.10 # arch/i386/kernel/cpu/cpufreq/powernow-k7.c 1.13 -> 1.14 # sound/ppc/tumbler.c 1.10 -> 1.12 # scripts/kconfig/lkc.h 1.3 -> 1.5 # arch/ppc/xmon/ppc-opc.c 1.3 -> 1.4 # drivers/mtd/nftlcore.c 1.43 -> 1.44 # drivers/net/pci-skeleton.c 1.21 -> 1.22 # drivers/scsi/g_NCR5380.h 1.8 -> 1.10 # include/asm-arm/dma-mapping.h 1.5 -> 1.6 # include/asm-arm/bug.h 1.2 -> 1.3 # arch/alpha/kernel/sys_sio.c 1.6 -> 1.7 # include/linux/aio.h 1.9 -> 1.10 # arch/ppc/mm/mem_pieces.c 1.5 -> 1.6 # include/asm-ia64/bug.h 1.1 -> 1.2 # include/linux/mtd/mtd.h 1.5 -> 1.6 # drivers/usb/class/usb-midi.c 1.17 -> 1.18 # drivers/char/isicom.c 1.18 -> 1.19 # drivers/char/Kconfig 1.13 -> 1.14 # drivers/scsi/scsi_pc98.c 1.2 -> 1.3 # drivers/video/Kconfig 1.22 -> 1.23 # drivers/net/bmac.c 1.15 -> 1.16 # include/linux/kobject.h 1.20 -> 1.21 # Documentation/sound/alsa/CMIPCI.txt 1.4 -> 1.5 # fs/jffs2/readinode.c 1.8 -> 1.9 # drivers/usb/storage/jumpshot.c 1.17 -> 1.18 # fs/jffs2/malloc.c 1.6 -> 1.7 # net/core/flow.c 1.2 -> 1.4 # drivers/atm/Makefile 1.19 -> 1.20 # net/sctp/associola.c 1.45 -> 1.46 # drivers/net/3c509.c 1.36 -> 1.37 # include/linux/timex.h 1.5 -> 1.6 # drivers/usb/net/cdc-ether.c 1.28 -> 1.30 # scripts/kconfig/qconf.cc 1.5 -> 1.7 # drivers/hotplug/cpcihp_zt5550.h 1.1 -> 1.2 drivers/pci/hotplug/cpcihp_zt5550.h (moved) # drivers/mtd/devices/mtdram.c 1.4 -> 1.5 # include/asm-arm/hardware.h 1.1 -> 1.2 # arch/x86_64/kernel/setup.c 1.14 -> 1.16 # sound/sparc/cs4231.c 1.10 -> 1.11 # arch/um/os-Linux/drivers/ethertap_kern.c 1.3 -> 1.4 # arch/ia64/sn/io/pciba.c 1.7 -> 1.8 # include/linux/mtd/pmc551.h 1.2 -> 1.3 # include/linux/matroxfb.h 1.1 -> 1.2 # drivers/net/net_init.c 1.12 -> 1.17 # drivers/scsi/fcal.c 1.10 -> 1.11 # drivers/block/ioctl.c 1.54 -> 1.55 # drivers/scsi/aha152x.c 1.30 -> 1.31 # drivers/serial/8250.c 1.28.1.8 -> 1.32 # sound/pci/ice1712/ice1712.h 1.7 -> 1.9 # drivers/scsi/hosts.c 1.64.1.1 -> 1.70 # drivers/usb/input/wacom.c 1.27 -> 1.28 # sound/core/hwdep.c 1.13 -> 1.14 # arch/i386/mach-generic/default.c 1.2 -> 1.3 # include/linux/i2c-id.h 1.11 -> 1.12 # arch/i386/mach-visws/visws_apic.c 1.8 -> 1.9 # net/sctp/input.c 1.28 -> 1.29 # sound/arm/sa11xx-uda1341.c 1.11 -> 1.12 # fs/fat/dir.c 1.15 -> 1.17 # arch/arm/mach-sa1100/dma.c 1.3 -> 1.4 # sound/isa/sb/sb8_midi.c 1.5 -> 1.7 # arch/ppc/kernel/ppc_htab.c 1.13 -> 1.14 # drivers/base/core.c 1.68 -> 1.70 # net/ipv6/ip6_output.c 1.26 -> 1.30 # drivers/net/sb1000.c 1.19 -> 1.20 # drivers/scsi/aic7xxx/aic7xxx_pci.c 1.14 -> 1.17 # drivers/scsi/cpqfcTSinit.c 1.37 -> 1.38 # net/ipv4/ip_input.c 1.15 -> 1.16 # drivers/net/sk98lin/skproc.c 1.6 -> 1.7 # drivers/scsi/atp870u.h 1.9 -> 1.10 # net/llc/llc_conn.c 1.26 -> 1.28 # drivers/usb/serial/io_edgeport.c 1.44 -> 1.45 # drivers/scsi/aic7xxx/aiclib.h 1.8 -> 1.9 # drivers/base/init.c 1.3 -> 1.4 # arch/x86_64/lib/usercopy.c 1.5 -> 1.6 # arch/i386/kernel/irq.c 1.36 -> 1.37 # include/linux/raid/md.h 1.27 -> 1.29 # net/sctp/sm_statefuns.c 1.48 -> 1.49 # include/asm-i386/stat.h 1.3 -> 1.4 # arch/ppc/syslib/Makefile 1.5 -> 1.6 # Documentation/usb/proc_usb_info.txt 1.4 -> 1.5 # drivers/net/wireless/hermes.h 1.13 -> 1.14 # drivers/video/matrox/matroxfb_misc.h 1.2 -> 1.3 # drivers/scsi/aic7xxx/aic7xxx_osm.c 1.36.1.1 -> 1.42 # mm/page_alloc.c 1.158 -> 1.161 # drivers/scsi/scsi_proc.c 1.22 -> 1.25 # arch/ppc/8260_io/uart.c 1.18 -> 1.20 # arch/alpha/kernel/pci.c 1.31 -> 1.32 # include/asm-ppc64/pci-bridge.h 1.6 -> 1.7 # arch/ppc/syslib/prom.c 1.19 -> 1.20 # sound/pci/cs46xx/cs46xx_lib.c 1.33 -> 1.34 # net/ipv6/ipv6_sockglue.c 1.19 -> 1.20 # arch/arm/mm/init.c 1.21 -> 1.22 # drivers/scsi/sun3_scsi.h 1.6 -> 1.7 # include/linux/if_ec.h 1.4 -> 1.5 # drivers/char/dz.c 1.20 -> 1.22 # net/x25/x25_timer.c 1.10 -> 1.12 # net/ipv6/sysctl_net_ipv6.c 1.5 -> 1.6 # include/net/ipx.h 1.10 -> 1.11 # arch/i386/kernel/smp.c 1.31 -> 1.32 # arch/m68knommu/platform/68328/entry.S 1.4 -> 1.5 # drivers/serial/mcfserial.h 1.2 -> 1.3 # drivers/base/interface.c 1.14 -> 1.15 # net/ipv6/datagram.c 1.10 -> 1.11 # arch/alpha/kernel/core_marvel.c 1.11 -> 1.12 # drivers/scsi/arm/cumana_1.c 1.17 -> 1.18 # net/llc/llc_proc.c 1.10 -> 1.11 # drivers/macintosh/via-cuda.c 1.8 -> 1.9 # arch/ia64/sn/io/sn2/pci_bus_cvlink.c 1.2 -> 1.3 # Documentation/sound/alsa/ALSA-Configuration.txt 1.5 -> 1.9 # drivers/acorn/char/Makefile 1.13 -> 1.14 # net/x25/x25_out.c 1.8 -> 1.9 # include/linux/init_task.h 1.25 -> 1.26 # drivers/scsi/sun3_NCR5380.c 1.15.1.1 -> 1.17 # include/linux/serialP.h 1.8 -> 1.9 # arch/mips64/mips-boards/generic/pci.c 1.5 -> 1.6 # drivers/net/tokenring/skisa.c 1.9 -> 1.10 # fs/jffs2/erase.c 1.10 -> 1.11 # include/linux/sched.h 1.148 -> 1.150 # kernel/fork.c 1.122 -> 1.123 # net/sunrpc/svcsock.c 1.48 -> 1.50 # include/linux/ptrace.h 1.9 -> 1.10 # sound/isa/als100.c 1.13 -> 1.14 # arch/i386/kernel/cpu/cpufreq/acpi.c 1.6 -> 1.7 # sound/pci/ice1712/delta.c 1.8 -> 1.9 # drivers/macintosh/nvram.c 1.6 -> 1.7 # drivers/block/ll_rw_blk.c 1.170 -> 1.173 # kernel/sysctl.c 1.42 -> 1.45 # drivers/scsi/ibmmca.c 1.18 -> 1.19 # sound/core/seq/seq_memory.c 1.7 -> 1.8 # fs/jffs2/os-linux.h 1.9 -> 1.10 # net/atm/mpc.h 1.1 -> 1.2 # net/ipv4/xfrm4_tunnel.c 1.6 -> 1.7 # include/linux/writeback.h 1.20 -> 1.21 # drivers/hotplug/ibmphp.h 1.7 -> 1.8 drivers/pci/hotplug/ibmphp.h (moved) # include/linux/mtd/nand_ids.h 1.1 -> (deleted) # drivers/video/Makefile 1.84 -> 1.85 # drivers/usb/image/hpusbscsi.h 1.11 -> 1.12 # include/asm-ppc64/thread_info.h 1.7 -> 1.8 # arch/v850/kernel/rte_cb_leds.c 1.3 -> 1.4 # include/net/tcp.h 1.39 -> 1.44 # drivers/scsi/dtc.h 1.8 -> 1.9 # drivers/mtd/maps/pcmciamtd.c 1.3 -> 1.5 # include/linux/serial_core.h 1.23 -> 1.24 # net/ipv4/xfrm4_input.c 1.5 -> 1.6 # arch/arm/mach-sa1100/badge4.c 1.12 -> 1.13 # drivers/base/platform.c 1.9 -> 1.10 # arch/v850/kernel/head.S 1.2 -> 1.3 # lib/zlib_deflate/deflate.c 1.1 -> 1.8 # drivers/s390/net/lcs.c 1.14 -> 1.15 # sound/core/seq/seq_clientmgr.c 1.17 -> 1.18 # drivers/serial/amba.c 1.15.1.6 -> 1.20 # sound/isa/cs423x/cs4236.c 1.14 -> 1.17 # drivers/net/amd8111e.h 1.1 -> 1.2 # drivers/net/tlan.c 1.22 -> 1.24 # sound/oss/esssolo1.c 1.27 -> 1.28 # fs/dcache.c 1.56 -> 1.57 # drivers/ieee1394/sbp2.c 1.31 -> 1.34 # net/sctp/endpointola.c 1.23 -> 1.24 # fs/attr.c 1.15 -> 1.17 # Documentation/vm/hugetlbpage.txt 1.5 -> 1.6 # include/asm-i386/thread_info.h 1.11 -> 1.12 # net/ipv4/af_inet.c 1.50 -> 1.54 # mm/vmscan.c 1.158 -> 1.159 # fs/smbfs/proc.c 1.29 -> 1.30 # sound/pci/rme9652/hammerfall_mem.c 1.13 -> 1.15 # arch/i386/kernel/cpu/cpufreq/powernow-k6.c 1.14 -> 1.15 # include/net/llc_c_ev.h 1.7 -> 1.8 # include/net/rose.h 1.2 -> 1.3 # drivers/scsi/NCR_D700.c 1.10 -> 1.12 # fs/proc/proc_misc.c 1.77 -> 1.78 # drivers/macintosh/via-pmu68k.c 1.9 -> 1.10 # drivers/serial/sa1100.c 1.16.1.9 -> 1.21 # sound/isa/cmi8330.c 1.14 -> 1.15 # arch/mips/kernel/irq.c 1.9 -> 1.10 # include/asm-ppc64/bug.h 1.2 -> 1.3 # lib/zlib_inflate/inffast.h 1.1 -> 1.2 # net/sctp/sm_make_chunk.c 1.46 -> 1.47 # drivers/scsi/dc395x.c 1.2 -> 1.6 # net/ax25/ax25_dev.c 1.7 -> 1.8 # drivers/i2c/i2c-core.c 1.38 -> 1.39 # arch/x86_64/kernel/apic.c 1.17 -> 1.18 # drivers/net/sk98lin/skge.c 1.17 -> 1.19 # arch/ia64/hp/common/sba_iommu.c 1.20 -> 1.21 # include/asm-i386/bug.h 1.2 -> 1.3 # sound/core/rawmidi.c 1.24 -> 1.25 # include/linux/genhd.h 1.53 -> 1.55 # drivers/cpufreq/proc_intf.c 1.2 -> 1.3 # arch/i386/Kconfig 1.57 -> 1.58 # drivers/sbus/char/aurora.c 1.24 -> 1.26 # drivers/video/matrox/matroxfb_crtc2.h 1.3 -> 1.4 # sound/core/control.c 1.20.1.1 -> 1.23 # drivers/base/node.c 1.11 -> 1.12 # drivers/scsi/53c700.c 1.29 -> 1.33 # arch/v850/kernel/ma.c 1.2 -> 1.3 # drivers/hotplug/ibmphp_ebda.c 1.9 -> 1.10 drivers/pci/hotplug/ibmphp_ebda.c (moved) # drivers/hotplug/cpci_hotplug.h 1.1 -> 1.2 drivers/pci/hotplug/cpci_hotplug.h (moved) # arch/x86_64/kernel/x8664_ksyms.c 1.14 -> 1.15 # drivers/atm/he.c 1.7 -> 1.12 # net/x25/x25_proc.c 1.3 -> 1.4 # include/linux/if_pppox.h 1.9 -> 1.10 # drivers/sbus/char/envctrl.c 1.14 -> 1.15 # net/ax25/ax25_in.c 1.9 -> 1.11 # drivers/mtd/maps/cstm_mips_ixx.c 1.4 -> 1.5 # include/asm-um/processor-ppc.h 1.1 -> 1.2 # net/ipv4/udp.c 1.40 -> 1.42 # net/ipx/af_ipx.c 1.34 -> 1.36 # sound/isa/opti9xx/opti92x-ad1848.c 1.13.1.2 -> 1.18 # fs/jbd/journal.c 1.32 -> 1.33 # arch/v850/kernel/process.c 1.5 -> 1.7 # drivers/mtd/maps/octagon-5066.c 1.6 -> 1.7 # drivers/char/rocket_int.h 1.4 -> 1.6 # arch/ppc64/boot/zlib.c 1.2 -> 1.4 # fs/devfs/base.c 1.90 -> 1.91 # init/main.c 1.99 -> 1.102 # drivers/scsi/fd_mcs.h 1.7 -> 1.8 # arch/ppc/boot/simple/misc-embedded.c 1.7 -> 1.8 # drivers/net/wireless/hermes.c 1.12 -> 1.13 # drivers/scsi/g_NCR5380.c 1.18 -> 1.19 # drivers/usb/media/ultracam.c 1.12 -> 1.13 # sound/core/init.c 1.16.1.1 -> 1.20 # include/linux/signal.h 1.11 -> 1.13 # include/net/bluetooth/l2cap.h 1.7 -> 1.8 # drivers/mtd/maps/tqm8xxl.c 1.2 -> 1.3 # net/bluetooth/af_bluetooth.c 1.18 -> 1.19 # drivers/scsi/dc390.h 1.6 -> 1.7 # arch/ppc/mm/pgtable.c 1.11 -> 1.12 # fs/jffs2/nodemgmt.c 1.8 -> 1.9 # drivers/mtd/maps/impa7.c 1.2 -> 1.3 # drivers/mtd/Kconfig 1.1 -> 1.2 # drivers/net/ixgb/ixgb_main.c 1.5 -> 1.6 # drivers/scsi/scsi_sysfs.c 1.16 -> 1.21 # net/sctp/transport.c 1.20 -> 1.21 # arch/m68knommu/kernel/ints.c 1.3 -> (deleted) # include/asm-v850/bug.h 1.1 -> 1.2 # include/asm-alpha/ptrace.h 1.1 -> 1.2 # include/linux/cpu.h 1.6 -> 1.7 # drivers/serial/sunsu.c 1.30.1.6 -> 1.35 # drivers/md/raid5.c 1.67 -> 1.73 # include/asm-v850/sim.h 1.3 -> 1.4 # arch/ppc/platforms/residual.c 1.9 -> 1.10 # include/net/bluetooth/sco.h 1.1 -> 1.2 # fs/partitions/mac.c 1.4 -> 1.5 # sound/drivers/opl3/opl3_lib.c 1.8 -> 1.9 # include/asm-m68knommu/bug.h 1.1 -> 1.2 # net/sctp/output.c 1.30 -> 1.31 # arch/ppc/kernel/traps.c 1.19 -> 1.23 # drivers/char/synclinkmp.c 1.13 -> 1.14 # drivers/serial/anakin.c 1.12.1.4 -> 1.15 # kernel/cpufreq.c 1.32 -> 1.34 # net/atm/atm_misc.c 1.3 -> 1.4 # drivers/char/cyclades.c 1.22 -> 1.23 # sound/isa/cs423x/cs4231_lib.c 1.15 -> 1.16 # drivers/i2c/Kconfig 1.8 -> 1.9 # drivers/usb/image/microtek.h 1.7 -> 1.8 # drivers/char/dz.h 1.1 -> 1.3 # include/linux/xfrm.h 1.9 -> 1.11 # drivers/char/watchdog/amd7xx_tco.c 1.5 -> 1.6 # arch/m68knommu/kernel/process.c 1.2 -> 1.3 # include/asm-ppc/thread_info.h 1.7 -> 1.8 # include/linux/istallion.h 1.2 -> 1.3 # arch/ppc/mm/init.c 1.29 -> 1.30 # net/ipv6/xfrm6_policy.c 1.6 -> 1.7 # drivers/net/fc/iph5526.c 1.22 -> 1.24 # include/linux/blkdev.h 1.105 -> 1.107 # include/net/ip6_route.h 1.8 -> 1.9 # drivers/scsi/NCR53C9x.c 1.22 -> 1.23 # include/video/edid.h 1.1 -> 1.2 # kernel/time.c 1.11 -> 1.12 # drivers/mtd/maps/fortunet.c 1.2 -> 1.3 # drivers/block/cciss_scsi.c 1.14 -> 1.15 # include/asm-ppc/ocp.h 1.2 -> 1.3 # drivers/message/fusion/mptbase.c 1.10 -> 1.12 # drivers/block/nbd.c 1.55 -> 1.56 # include/linux/udp.h 1.6 -> 1.7 # drivers/scsi/wd33c93.h 1.5 -> 1.6 # drivers/usb/serial/safe_serial.c 1.13 -> 1.14 # sound/isa/Makefile 1.11 -> 1.12 # drivers/acorn/char/defkeymap-acorn.map 1.1 -> (deleted) # drivers/serial/core.c 1.61 -> 1.62 # drivers/scsi/3w-xxxx.h 1.21 -> 1.22 # drivers/ieee1394/ieee1394_core.c 1.30 -> 1.32 # sound/isa/ad1816a/ad1816a.c 1.8 -> 1.9 # sound/pci/ice1712/ews.c 1.8 -> 1.9 # scripts/kconfig/mconf.c 1.5 -> 1.6 # lib/zlib_deflate/defutil.h 1.1 -> 1.3 # arch/m68knommu/platform/68VZ328/de2/config.c 1.3 -> 1.4 # drivers/base/bus.c 1.47 -> 1.48 # drivers/net/rrunner.c 1.16 -> 1.17 # drivers/media/video/bw-qcam.c 1.11 -> 1.12 # Documentation/00-INDEX 1.8 -> 1.9 # drivers/scsi/NCR5380.c 1.17 -> 1.18 # net/bluetooth/sco.c 1.17 -> 1.19 # drivers/net/wireless/Kconfig 1.6 -> 1.9 # kernel/softirq.c 1.39 -> 1.40 # net/ipv4/Makefile 1.18 -> 1.19 # scripts/kconfig/symbol.c 1.4 -> 1.12 # net/x25/x25_subr.c 1.9 -> 1.11 # net/key/af_key.c 1.37 -> 1.40 # drivers/mtd/maps/sa1100-flash.c 1.10 -> 1.12 # drivers/scsi/sr.c 1.78 -> 1.80 # drivers/scsi/aha1740.c 1.15 -> 1.16 # arch/x86_64/kernel/smp.c 1.15 -> 1.16 # arch/i386/pci/i386.c 1.14 -> 1.15 # include/asm-x86_64/uaccess.h 1.9 -> 1.10 # include/linux/ethtool.h 1.14 -> 1.16 # lib/zlib_deflate/deftree.c 1.1 -> 1.5 # drivers/net/irda/irtty.c 1.18 -> 1.20 # net/bridge/br_input.c 1.12 -> 1.13 # drivers/scsi/scsi.h 1.79 -> 1.83 # arch/v850/kernel/rte_mb_a_pci.c 1.6 -> 1.7 # fs/jffs2/wbuf.c 1.6 -> 1.7 # include/asm-generic/percpu.h 1.6 -> 1.7 # drivers/pcmcia/cs.c 1.28 -> 1.29 # include/linux/fs.h 1.248 -> 1.250 # drivers/video/sa1100fb.c 1.28 -> 1.29 # drivers/usb/storage/usb.c 1.60 -> 1.64 # drivers/net/tokenring/abyss.c 1.8 -> 1.9 # fs/fat/file.c 1.19 -> 1.20 # arch/ppc/kernel/module.c 1.8 -> 1.9 # drivers/scsi/t128.h 1.7 -> 1.8 # arch/i386/kernel/entry.S 1.62 -> 1.63 # Documentation/kobject.txt 1.6 -> 1.7 # drivers/usb/media/ibmcam.c 1.18 -> 1.19 # net/ax25/ax25_std_timer.c 1.5 -> 1.7 # drivers/mtd/chips/Makefile 1.6 -> 1.7 # include/linux/trdevice.h 1.3 -> 1.4 # include/asm-x86_64/apicdef.h 1.2 -> 1.3 # drivers/sgi/char/sgiserial.c 1.14 -> 1.15 # drivers/usb/image/scanner.c 1.59 -> 1.62 # drivers/hotplug/ibmphp_hpc.c 1.10 -> 1.11 drivers/pci/hotplug/ibmphp_hpc.c (moved) # arch/ppc64/defconfig 1.27 -> 1.28 # fs/jffs2/gc.c 1.12 -> 1.13 # include/net/sctp/sctp.h 1.37 -> 1.38 # drivers/scsi/aic7xxx/aic79xx_osm_pci.c 1.7 -> 1.8 # arch/arm/mach-sa1100/generic.c 1.18 -> 1.19 # drivers/mtd/chips/amd_flash.c 1.5 -> 1.6 # include/asm-i386/node.h 1.3 -> 1.4 # drivers/char/ser_a2232.c 1.10 -> 1.12 # drivers/net/pcnet32.c 1.34 -> 1.35 # net/ipv4/tcp.c 1.40 -> 1.43 # drivers/char/n_hdlc.c 1.15 -> 1.16 # Documentation/scsi/aic7xxx.txt 1.7 -> 1.8 # lib/zlib_inflate/infcodes.h 1.1 -> 1.3 # net/ipv6/netfilter/ip6_queue.c 1.10 -> 1.12 # Documentation/filesystems/proc.txt 1.14 -> 1.15 # drivers/pci/pci.c 1.53 -> 1.55 # arch/m68knommu/kernel/Makefile 1.4 -> 1.5 # arch/ppc/8xx_io/enet.c 1.10 -> 1.13 # drivers/net/Makefile 1.61 -> 1.63 # arch/alpha/kernel/smp.c 1.35 -> 1.36 # drivers/mtd/chips/cfi_cmdset_0001.c 1.7 -> 1.8 # include/linux/fcdevice.h 1.3 -> 1.4 # net/ipv4/ip_fragment.c 1.8 -> 1.10 # drivers/mtd/nand/nand_ecc.c 1.4 -> 1.5 # drivers/ide/ide.c 1.66 -> 1.71 # drivers/md/md.c 1.169 -> 1.173 # arch/x86_64/ia32/Makefile 1.14 -> 1.15 # arch/alpha/kernel/core_titan.c 1.16 -> 1.17 # net/atm/proc.c 1.15 -> 1.17 # sound/oss/via82cxxx_audio.c 1.27 -> 1.28 # drivers/serial/clps711x.c 1.12.1.5 -> 1.15 # net/unix/garbage.c 1.7 -> 1.8 # drivers/mtd/chips/Kconfig 1.1 -> 1.3 # drivers/scsi/ncr53c8xx.c 1.27.1.1 -> 1.29 # sound/Makefile 1.16 -> 1.17 # net/ipv4/ip_sockglue.c 1.16 -> 1.17 # drivers/scsi/advansys.c 1.33 -> 1.34 # drivers/ieee1394/ieee1394.h 1.6 -> 1.7 # drivers/scsi/aic7xxx/aic7xxx_osm_pci.c 1.8 -> 1.9 # drivers/mtd/maps/vmax301.c 1.6 -> 1.7 # include/asm-ppc/module.h 1.7 -> 1.8 # arch/ppc/boot/lib/zlib.c 1.4 -> 1.6 # drivers/mtd/devices/doc2001.c 1.4 -> 1.5 # net/ipv6/icmp.c 1.32 -> 1.34 # drivers/net/wireless/orinoco.h 1.12 -> 1.13 # Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl 1.8 -> 1.10 # sound/usb/usbmixer.c 1.12.1.1 -> 1.15 # include/linux/wanrouter.h 1.7 -> 1.8 # drivers/usb/media/se401.c 1.36 -> 1.37 # include/asm-ia64/pgtable.h 1.18 -> 1.19 # arch/ppc/platforms/gemini_pci.c 1.7 -> 1.8 # arch/mips/au1000/common/serial.c 1.16 -> 1.18 # drivers/usb/serial/visor.c 1.61 -> 1.62 # drivers/net/wan/lmc/lmc_debug.c 1.3 -> 1.4 # net/ipv6/reassembly.c 1.12 -> 1.16 # drivers/isdn/hisax/sedlbauer_cs.c 1.8 -> 1.9 # include/sound/sndmagic.h 1.11 -> 1.12 # drivers/mtd/chips/map_ram.c 1.5 -> 1.6 # include/asm-parisc/thread_info.h 1.2 -> 1.3 # fs/jffs2/read.c 1.6 -> 1.7 # fs/jffs2/compr.c 1.4 -> 1.5 # net/irda/ircomm/ircomm_tty.c 1.21 -> 1.22 # net/irda/af_irda.c 1.43 -> 1.45 # drivers/usb/media/ov511.c 1.44 -> 1.45 # drivers/net/wan/lmc/lmc_main.c 1.14 -> 1.16 # drivers/scsi/hosts.h 1.63 -> 1.67 # drivers/base/cpu.c 1.11 -> 1.13 # drivers/scsi/NCR53C9x.h 1.7 -> 1.8 # drivers/char/pty.c 1.17 -> 1.18 # arch/v850/kernel/rte_cb_multi.c 1.5 -> 1.6 # drivers/usb/misc/emi26.c 1.7 -> 1.8 # net/sctp/outqueue.c 1.34 -> 1.35 # drivers/video/i810/i810_main.c 1.9 -> 1.10 # arch/ppc/boot/common/mpc10x_memory.c 1.3 -> 1.4 # include/linux/serial167.h 1.3 -> 1.4 # drivers/tc/zs.h 1.3 -> 1.4 # net/ipv4/tcp_ipv4.c 1.57 -> 1.59 # fs/reiserfs/inode.c 1.77 -> 1.78 # drivers/ieee1394/ieee1394_transactions.c 1.11 -> 1.12 # drivers/message/fusion/linux_compat.h 1.8 -> 1.9 # include/asm-um/thread_info.h 1.3 -> 1.4 # fs/jffs2/super.c 1.23 -> 1.24 # fs/char_dev.c 1.18 -> 1.20 # drivers/hotplug/acpiphp_glue.c 1.10 -> 1.13 drivers/pci/hotplug/acpiphp_glue.c (moved) # arch/i386/kernel/io_apic.c 1.67 -> 1.69 # net/core/filter.c 1.4 -> 1.6 # net/atm/lec.h 1.5 -> 1.6 # sound/core/pcm_native.c 1.30.1.1 -> 1.36 # arch/sparc64/defconfig 1.86 -> 1.87 # drivers/usb/media/vicam.c 1.36 -> 1.37 # drivers/scsi/scsi_devinfo.c 1.1 -> 1.2 # sound/pci/ice1712/ice1712.c 1.13 -> 1.16 # sound/pci/rme9652/hdsp.c 1.17 -> 1.18 # scripts/kconfig/lkc_proto.h 1.1 -> 1.3 # mm/filemap.c 1.193 -> 1.197 # include/asm-h8300/thread_info.h 1.1 -> 1.2 # drivers/char/ip2/i2lib.h 1.4 -> 1.5 # arch/m68knommu/platform/5206e/config.c 1.3 -> 1.4 # net/ipv4/netfilter/ipt_ULOG.c 1.8 -> 1.9 # fs/namei.c 1.72 -> 1.73 # net/decnet/dn_nsp_in.c 1.10 -> 1.12 # drivers/usb/serial/whiteheat.c 1.37 -> 1.38 # Documentation/kbuild/kconfig-language.txt 1.2 -> 1.3 # sound/isa/sb/emu8000.c 1.9 -> 1.10 # net/ax25/ax25_ip.c 1.7 -> 1.8 # arch/sparc/prom/console.c 1.4 -> 1.5 # drivers/char/agp/generic.c 1.51 -> 1.52 # drivers/mtd/chips/chipreg.c 1.5 -> 1.6 # drivers/char/pcmcia/synclink_cs.c 1.16 -> 1.18 # drivers/pci/pci.h 1.4 -> 1.8 # drivers/hotplug/cpqphp_ctrl.c 1.11 -> 1.12 drivers/pci/hotplug/cpqphp_ctrl.c (moved) # drivers/mtd/maps/ceiva.c 1.3 -> 1.4 # drivers/ide/pci/cs5530.c 1.11 -> 1.12 # drivers/acorn/char/keyb_arc.c 1.5 -> (deleted) # include/linux/fddidevice.h 1.2 -> 1.3 # net/socket.c 1.64 -> 1.65 # include/asm-i386/mach-generic/mach_apic.h 1.2 -> 1.3 # sound/pci/Kconfig 1.5 -> 1.7 # drivers/usb/media/dsbr100.c 1.16 -> 1.17 # arch/sh/kernel/irq.c 1.11 -> 1.12 # drivers/char/synclink.c 1.35 -> 1.36 # drivers/scsi/gdth.h 1.12 -> 1.13 # fs/smbfs/sock.c 1.14 -> 1.15 # drivers/scsi/aic7xxx/aic7xxx_osm.h 1.44 -> 1.49 # arch/mips/ddb5476/pci.c 1.8 -> 1.9 # net/netrom/nr_in.c 1.5 -> 1.7 # drivers/scsi/sr.h 1.9 -> 1.10 # scripts/kconfig/expr.c 1.1 -> 1.4 # drivers/net/e1000/e1000_main.c 1.70 -> 1.71 # arch/arm/mach-pxa/lubbock.c 1.10 -> 1.11 # ipc/sem.c 1.18 -> 1.19 # drivers/net/sunqe.c 1.14 -> 1.17 # drivers/char/hw_random.c 1.10 -> 1.11 # sound/pci/ac97/ac97_codec.c 1.35 -> 1.40 # include/sound/version.h 1.53 -> 1.59 # fs/ncpfs/sock.c 1.14 -> 1.15 # drivers/hotplug/pci_hotplug.h 1.7 -> 1.8 drivers/pci/hotplug/pci_hotplug.h (moved) # arch/v850/as85ep1-rom.ld 1.1 -> 1.2 # drivers/net/irda/sa1100_ir.c 1.11 -> 1.13 # drivers/net/irda/w83977af_ir.c 1.19 -> 1.21 # drivers/base/base.h 1.26 -> 1.27 # arch/i386/kernel/dmi_scan.c 1.34 -> 1.35 # drivers/scsi/fd_mcs.c 1.13 -> 1.14 # sound/drivers/mpu401/mpu401_uart.c 1.16 -> 1.17 # fs/proc/proc_tty.c 1.6 -> 1.7 # include/linux/sysfs.h 1.26 -> 1.27 # include/linux/ide.h 1.53 -> 1.55 # fs/exec.c 1.84 -> 1.85 # drivers/scsi/nsp32.c 1.11 -> 1.13 # drivers/mtd/mtdblock.c 1.43 -> 1.44 # arch/cris/drivers/lpslave/e100lpslavenet.c 1.5 -> 1.6 # include/asm-v850/thread_info.h 1.2 -> 1.3 # drivers/usb/storage/transport.c 1.71 -> 1.76 # drivers/scsi/aacraid/linit.c 1.18 -> 1.19 # drivers/serial/sunsab.c 1.27 -> 1.29 # sound/pci/ice1712/Makefile 1.5 -> 1.8 # drivers/mtd/maps/pci.c 1.2 -> 1.3 # include/linux/isicom.h 1.3 -> 1.4 # fs/eventpoll.c 1.19 -> 1.20 # net/llc/llc_main.c 1.28 -> 1.29 # include/net/snmp.h 1.7 -> 1.8 # arch/mips/mips-boards/generic/pci.c 1.7 -> 1.8 # include/linux/mtd/map.h 1.6 -> 1.7 # drivers/hotplug/acpiphp_res.c 1.2 -> 1.3 drivers/pci/hotplug/acpiphp_res.c (moved) # include/linux/mtd/cfi.h 1.6 -> 1.8 # net/ipv6/raw.c 1.29 -> 1.30 # arch/arm/kernel/bios32.c 1.22 -> 1.23 # kernel/signal.c 1.85 -> 1.86 # drivers/usb/storage/transport.h 1.23 -> 1.26 # drivers/usb/image/scanner.h 1.35 -> 1.36 # drivers/scsi/cpqfcTS.h 1.8 -> 1.9 # arch/sparc64/solaris/timod.c 1.14 -> 1.15 # drivers/scsi/pcmcia/nsp_cs.h 1.9 -> 1.10 # drivers/usb/storage/initializers.c 1.5 -> 1.6 # include/net/irda/ircomm_tty.h 1.7 -> 1.8 # include/asm-ppc64/paca.h 1.7 -> 1.8 # drivers/char/pcxx.h 1.2 -> 1.3 # net/ipv6/proc.c 1.14 -> 1.16 # drivers/net/irda/ali-ircc.c 1.19 -> 1.21 # drivers/usb/misc/auerswald.c 1.31 -> 1.32 # net/atm/br2684.c 1.2 -> 1.3 # drivers/message/fusion/mptscsih.c 1.23 -> 1.24 # drivers/scsi/atp870u.c 1.20 -> 1.21 # sound/isa/dt019x.c 1.13 -> 1.14 # sound/oss/awe_wave.c 1.12 -> 1.13 # drivers/mtd/devices/Kconfig 1.1 -> 1.3 # drivers/char/sx.c 1.30 -> 1.32 # net/netsyms.c 1.77 -> 1.79 # net/ipv4/netfilter/ipfwadm_core.c 1.16 -> 1.17 # drivers/mtd/maps/dc21285.c 1.5 -> 1.6 # drivers/ide/setup-pci.c 1.13 -> 1.15 # drivers/ide/ide-disk.c 1.44 -> 1.45 # include/linux/pci_ids.h 1.101 -> 1.102 # drivers/usb/serial/usb-serial.c 1.78 -> 1.80 # drivers/hotplug/Kconfig 1.7 -> 1.8 drivers/pci/hotplug/Kconfig (moved) # include/linux/irq.h 1.6 -> 1.7 # sound/core/pcm_lib.c 1.19 -> 1.21 # sound/pci/ymfpci/ymfpci.c 1.11 -> 1.12 # drivers/macintosh/macserial.h 1.6 -> 1.7 # sound/pci/trident/trident_synth.c 1.5 -> 1.6 # drivers/sbus/char/bbc_envctrl.c 1.4 -> 1.5 # include/scsi/sg.h 1.11 -> 1.12 # drivers/net/ptifddi_asm.h 1.1 -> (deleted) # arch/m68knommu/vmlinux.lds.S 1.8 -> 1.9 # drivers/usb/input/hid-input.c 1.17 -> 1.19 # include/asm-ppc/system.h 1.18 -> 1.19 # include/asm-alpha/unistd.h 1.18 -> 1.19 # scripts/kconfig/qconf.h 1.3 -> 1.4 # arch/arm/mach-sa1100/graphicsmaster.c 1.17 -> 1.18 # include/asm-ppc64/signal.h 1.4.1.1 -> 1.6 # sound/isa/es18xx.c 1.16.1.2 -> 1.18 # sound/usb/usbquirks.h 1.13 -> 1.14 # drivers/md/linear.c 1.30 -> 1.33 # drivers/net/ptifddi.h 1.1 -> (deleted) # drivers/usb/input/hiddev.c 1.33 -> 1.34 # arch/ia64/mm/init.c 1.35 -> 1.36 # arch/ia64/kernel/module.c 1.4 -> 1.5 # include/asm-m68knommu/thread_info.h 1.2 -> 1.3 # drivers/sgi/char/sgiserial.h 1.2 -> 1.3 # drivers/serial/mcfserial.c 1.10 -> 1.11 # arch/x86_64/kernel/irq.c 1.15 -> 1.16 # Documentation/networking/ip-sysctl.txt 1.16 -> 1.17 # drivers/mtd/chips/cfi_cmdset_0002.c 1.8 -> 1.9 # arch/sparc64/kernel/systbls.S 1.38 -> 1.39 # drivers/mtd/Makefile 1.10 -> 1.11 # lib/zlib_inflate/infcodes.c 1.1 -> 1.3 # drivers/char/serial167.c 1.23 -> 1.25 # arch/x86_64/kernel/pci-gart.c 1.10 -> 1.11 # drivers/net/hamradio/dmascc.c 1.13 -> 1.16 # include/linux/usb.h 1.77 -> 1.78 # arch/ppc64/kernel/irq.c 1.25 -> 1.28 # drivers/hotplug/cpci_hotplug_core.c 1.5 -> 1.6 drivers/pci/hotplug/cpci_hotplug_core.c (moved) # arch/arm/common/Makefile 1.2 -> 1.3 # drivers/mtd/devices/lart.c 1.1 -> 1.2 # drivers/net/irda/donauboe.c 1.8 -> 1.10 # drivers/media/radio/radio-cadet.c 1.13 -> 1.14 # fs/jffs2/fs.c 1.11 -> 1.12 # drivers/net/wan/pc300_tty.c 1.10 -> 1.11 # sound/isa/sb/sb8_main.c 1.5 -> 1.6 # fs/fat/inode.c 1.65 -> 1.68 # drivers/net/tun.c 1.17 -> 1.18 # drivers/ide/ide-cd.c 1.45 -> 1.49 # sound/pci/rme9652/rme9652.c 1.18 -> 1.19 # arch/cris/drivers/ethernet.c 1.11 -> 1.12 # fs/reiserfs/super.c 1.63 -> 1.65 # net/core/dv.c 1.6 -> 1.7 # fs/binfmt_elf.c 1.45 -> 1.46 # drivers/acpi/pci_irq.c 1.16 -> 1.17 # drivers/net/wan/lmc/lmc_var.h 1.4 -> 1.5 # sound/pci/ice1712/ice1724.c 1.3 -> 1.6 # include/sound/sb.h 1.7 -> 1.9 # drivers/md/multipath.c 1.48 -> 1.51 # drivers/video/matrox/matroxfb_DAC1064.c 1.14 -> 1.15 # fs/jfs/super.c 1.33.1.2 -> 1.35 # drivers/scsi/sg.c 1.56 -> 1.58 # drivers/usb/serial/pl2303.c 1.40 -> 1.41 # net/sched/sch_atm.c 1.10 -> 1.11 # drivers/char/riscom8.c 1.15 -> 1.17 # drivers/scsi/BusLogic.h 1.14 -> 1.15 # arch/ppc/8260_io/fcc_enet.c 1.9 -> 1.13 # arch/v850/Kconfig 1.10 -> 1.11 # fs/aio.c 1.31 -> 1.32 # drivers/scsi/aic7xxx/aic7xxx_core.c 1.28 -> 1.31 # arch/x86_64/kernel/nmi.c 1.10 -> 1.11 # drivers/usb/usb-skeleton.c 1.36 -> 1.37 # drivers/usb/serial/ir-usb.c 1.28 -> 1.29 # drivers/usb/serial/digi_acceleport.c 1.33 -> 1.34 # drivers/ide/Kconfig 1.11 -> 1.12 # drivers/net/arcnet/rfc1201.c 1.5 -> 1.6 # drivers/net/8139cp.c 1.38 -> 1.39 # drivers/usb/core/hub.c 1.63 -> 1.67 # net/core/netfilter.c 1.20 -> 1.21 # drivers/usb/net/catc.c 1.23 -> 1.25 # drivers/video/matrox/i2c-matroxfb.c 1.8 -> 1.9 # arch/ppc/kernel/pci.c 1.26 -> 1.29 # drivers/mtd/maps/pnc2000.c 1.4 -> 1.5 # drivers/pci/setup-irq.c 1.3 -> 1.4 # drivers/block/genhd.c 1.88 -> 1.89 # arch/ppc64/kernel/setup.c 1.24.1.2 -> 1.28 # drivers/net/e100/e100_main.c 1.72 -> 1.76 # include/linux/pci.h 1.77 -> 1.85 # arch/um/drivers/net_kern.c 1.11 -> 1.14 # drivers/scsi/aic7xxx/aic79xx_inline.h 1.10 -> 1.12 # drivers/scsi/aic7xxx/aic79xx_pci.c 1.10 -> 1.12 # include/asm-arm/thread_info.h 1.6 -> 1.7 # fs/jffs2/write.c 1.10 -> 1.11 # drivers/scsi/osst.c 1.45 -> 1.46 # arch/i386/kernel/setup.c 1.82 -> 1.83 # net/wanrouter/wanproc.c 1.19 -> 1.20 # drivers/isdn/hisax/elsa_cs.c 1.5 -> 1.6 # include/linux/tcp.h 1.10 -> 1.11 # Documentation/DocBook/Makefile 1.39 -> 1.40 # arch/alpha/kernel/signal.c 1.18 -> 1.19 # include/asm-um/bug.h 1.1 -> 1.2 # arch/um/sys-ppc/Makefile 1.3 -> 1.4 # drivers/mtd/mtdcore.c 1.4 -> 1.5 # arch/ppc/kernel/process.c 1.34 -> 1.36 # drivers/atm/idt77252.c 1.13 -> 1.14 # drivers/scsi/scsi_debug.h 1.15 -> 1.16 # drivers/video/aty/aty128fb.c 1.37 -> 1.38 # drivers/scsi/gdth_proc.c 1.13 -> 1.14 # include/sound/pcm.h 1.14 -> 1.16 # arch/mips/ddb5074/pci.c 1.9 -> 1.10 # arch/arm/mach-sa1100/neponset.c 1.18 -> 1.19 # drivers/mtd/devices/docecc.c 1.6 -> 1.7 # net/ipv4/ipmr.c 1.19 -> 1.20 # drivers/scsi/AM53C974.c 1.13 -> 1.14 # arch/i386/kernel/cpu/cpufreq/gx-suspmod.c 1.8 -> 1.9 # drivers/mtd/mtdblock_ro.c 1.26 -> 1.27 # arch/arm/mach-sa1100/xp860.c 1.10 -> 1.11 # arch/ia64/hp/sim/simserial.c 1.16 -> 1.17 # arch/x86_64/kernel/suspend.c 1.5 -> 1.6 # include/asm-ia64/smp.h 1.9 -> 1.10 # drivers/mtd/maps/elan-104nc.c 1.5 -> 1.6 # arch/ppc/boot/common/misc-common.c 1.9 -> 1.10 # include/linux/hugetlb.h 1.16 -> 1.17 # net/ipx/ipx_route.c 1.1 -> 1.2 # drivers/net/tokenring/smctr.c 1.20 -> 1.21 # sound/isa/sb/es968.c 1.12.1.1 -> 1.16 # include/asm-v850/nb85e_cache.h 1.3 -> 1.4 # include/linux/msdos_fs_sb.h 1.9 -> 1.10 # drivers/net/wan/sdla_chdlc.c 1.27 -> 1.28 # include/linux/spinlock.h 1.23 -> 1.24 # drivers/scsi/scsi_syms.c 1.36 -> 1.38 # net/econet/af_econet.c 1.18 -> 1.20 # drivers/ide/ide-floppy.c 1.27 -> 1.28 # drivers/usb/storage/isd200.c 1.29 -> 1.30 # drivers/media/video/zr36120.c 1.18 -> 1.19 # sound/oss/dmasound/Kconfig 1.1 -> 1.2 # net/netrom/nr_out.c 1.5 -> 1.6 # include/net/dn_fib.h 1.6 -> 1.7 # drivers/scsi/scsi_lib.c 1.90 -> 1.92 # net/rose/af_rose.c 1.23 -> 1.26 # net/netrom/af_netrom.c 1.25 -> 1.27 # net/llc/llc_if.c 1.21 -> 1.22 # fs/sysfs/bin.c 1.5 -> 1.6 # include/asm-alpha/bitops.h 1.10 -> 1.11 # sound/core/ioctl32/rawmidi32.c 1.11 -> 1.13 # sound/i2c/l3/uda1341.c 1.8 -> 1.9 # drivers/usb/storage/scsiglue.c 1.42 -> 1.45 # drivers/message/fusion/mptlan.c 1.9 -> 1.10 # drivers/usb/core/devio.c 1.47 -> 1.48 # arch/mips/ddb5xxx/ddb5477/pci.c 1.1 -> 1.2 # drivers/usb/input/xpad.c 1.14 -> 1.15 # drivers/video/matrox/matroxfb_base.h 1.19 -> 1.22 # net/netlink/af_netlink.c 1.25 -> 1.27 # fs/coda/inode.c 1.25 -> 1.26 # fs/ncpfs/inode.c 1.42 -> 1.43 # net/ipv6/ipcomp6.c 1.3 -> 1.4 # drivers/scsi/dmx3191d.h 1.6 -> 1.7 # net/core/dev.c 1.83 -> 1.84 # kernel/compat.c 1.14 -> 1.15 # net/xfrm/xfrm_policy.c 1.27 -> 1.33 # drivers/net/irda/irda-usb.c 1.38 -> 1.40 # net/ipv6/Kconfig 1.4 -> 1.5 # net/decnet/netfilter/dn_rtmsg.c 1.2 -> 1.3 # drivers/char/generic_serial.c 1.10 -> 1.11 # fs/jffs2/build.c 1.5 -> 1.6 # drivers/char/mem.c 1.38 -> 1.39 # arch/ppc64/kernel/traps.c 1.16.1.1 -> 1.18 # drivers/scsi/scsi.c 1.112 -> 1.113 # drivers/usb/core/usb.c 1.123 -> 1.125 # arch/ppc/platforms/pmac_pci.c 1.15 -> 1.16 # drivers/usb/storage/initializers.h 1.4 -> 1.5 # include/linux/reiserfs_fs_sb.h 1.22 -> 1.23 # drivers/net/r8169.c 1.10 -> 1.11 # kernel/posix-timers.c 1.16 -> 1.17 # arch/ppc64/kernel/head.S 1.31 -> 1.35 # drivers/isdn/hardware/eicon/divamnt.c 1.6 -> 1.7 # sound/ppc/awacs.c 1.10 -> 1.12 # drivers/scsi/atari_scsi.h 1.5 -> 1.6 # arch/v850/kernel/ptrace.c 1.1 -> 1.2 # lib/zlib_inflate/inflate.c 1.3 -> 1.6 # drivers/scsi/arm/arxescsi.c 1.19 -> 1.20 # drivers/scsi/arm/acornscsi.c 1.30 -> 1.31 # include/asm-ppc/ptrace.h 1.6 -> 1.7 # drivers/hotplug/cpcihp_generic.c 1.2 -> 1.3 drivers/pci/hotplug/cpcihp_generic.c (moved) # sound/pci/emu10k1/emufx.c 1.20 -> 1.21 # drivers/pci/pci.ids 1.44 -> 1.45 # net/decnet/af_decnet.c 1.25 -> 1.26 # include/asm-ppc64/uaccess.h 1.6 -> 1.7 # include/linux/mtd/nand_ecc.h 1.1 -> 1.2 # drivers/char/serial_tx3912.c 1.13 -> 1.14 # drivers/scsi/megaraid.h 1.18 -> 1.19 # drivers/scsi/NCR5380.h 1.7 -> 1.8 # sound/isa/gus/gus_synth.c 1.6 -> 1.7 # include/asm-ppc/semaphore.h 1.9 -> 1.10 # drivers/net/pcmcia/ibmtr_cs.c 1.13 -> 1.14 # include/net/bluetooth/hci_core.h 1.12 -> 1.13 # Documentation/DMA-mapping.txt 1.14 -> 1.15 # drivers/net/wireless/ieee802_11.h 1.2 -> 1.3 # sound/oss/cmpci.c 1.22 -> 1.23 # include/asm-x86_64/suspend.h 1.5 -> 1.6 # include/sound/ac97_codec.h 1.18 -> 1.19 # drivers/ide/ide-proc.c 1.10 -> 1.13 # drivers/scsi/aic7xxx/aic7xxx.h 1.13 -> 1.15 # arch/m68k/atari/hades-pci.c 1.6 -> 1.7 # include/linux/mtd/doc2000.h 1.4 -> 1.5 # drivers/usb/net/usbnet.c 1.52 -> 1.54 # net/bluetooth/rfcomm/tty.c 1.20 -> 1.22 # sound/isa/gus/interwave.c 1.12.1.1 -> 1.14 # drivers/md/raid1.c 1.62 -> 1.67 # drivers/base/firmware.c 1.6 -> 1.7 # fs/proc/kcore.c 1.7 -> 1.8 # include/asm-x86_64/cpufeature.h 1.3 -> 1.4 # include/net/netrom.h 1.2 -> 1.3 # arch/x86_64/kernel/asm-offsets.c 1.3 -> 1.4 # fs/jffs2/nodelist.c 1.8 -> 1.9 # fs/cifs/cifsfs.c 1.14.1.2 -> 1.16 # arch/ppc64/Kconfig 1.15 -> 1.18 # drivers/md/raid0.c 1.26 -> 1.32 # drivers/hotplug/pcihp_skeleton.c 1.2 -> 1.3 drivers/pci/hotplug/pcihp_skeleton.c (moved) # arch/ppc64/kernel/xics.c 1.22.1.2 -> 1.24 # include/linux/sysctl.h 1.44 -> 1.47 # arch/ppc/kernel/head.S 1.31 -> 1.32 # include/pcmcia/driver_ops.h 1.4 -> (deleted) # include/asm-ppc/mmu_context.h 1.12 -> 1.13 # include/linux/zlib.h 1.2 -> 1.6 # drivers/s390/net/ctctty.c 1.12 -> 1.14 # drivers/net/tg3.c 1.69 -> 1.71 # include/linux/smp.h 1.23 -> 1.25 # sound/core/ioctl32/timer32.c 1.11 -> 1.13 # arch/sparc64/kernel/sys_sparc.c 1.19 -> 1.21 # include/asm-i386/memblk.h 1.3 -> 1.4 # drivers/net/wan/lmc/lmc_proto.c 1.7 -> 1.8 # include/linux/mmzone.h 1.37 -> 1.39 # net/ipv4/raw.c 1.31 -> 1.33 # drivers/scsi/aic7xxx/aic79xx_osm.c 1.42 -> 1.46 # include/linux/list.h 1.29 -> 1.30 # include/asm-v850/bitops.h 1.2 -> 1.3 # net/ipv6/af_inet6.c 1.44 -> 1.50 # net/ipv6/tcp_ipv6.c 1.56 -> 1.59 # drivers/net/sungem.h 1.11 -> 1.12 # net/bluetooth/hci_sock.c 1.21 -> 1.22 # drivers/usb/serial/kl5kusb105.c 1.22 -> 1.23 # sound/pci/ice1712/ak4524.c 1.9 -> (deleted) # sound/i2c/Makefile 1.9 -> 1.10 # drivers/net/wireless/wavelan_cs.c 1.22.1.1 -> 1.24 # drivers/scsi/mac_scsi.h 1.4 -> 1.5 # arch/ppc/boot/common/Makefile 1.5 -> 1.6 # net/xfrm/xfrm_user.c 1.21 -> 1.25 # drivers/ide/pci/hpt366.c 1.18 -> 1.19 # drivers/net/amd8111e.c 1.4 -> 1.5 # drivers/mtd/chips/sharp.c 1.6 -> 1.8 # drivers/usb/media/dabusb.c 1.28 -> 1.29 # drivers/video/matrox/matroxfb_accel.c 1.8 -> 1.9 # drivers/char/epca.h 1.3 -> 1.4 # drivers/mtd/redboot.c 1.3 -> 1.4 # drivers/block/loop.c 1.88 -> 1.89 # drivers/char/agp/Kconfig 1.21 -> 1.22 # fs/buffer.c 1.200 -> 1.202 # drivers/pnp/resource.c 1.12 -> 1.13 # drivers/mtd/maps/iq80321.c 1.2 -> (deleted) # net/decnet/dn_timer.c 1.4 -> 1.5 # drivers/pci/proc.c 1.24 -> 1.26 # include/sound/trident.h 1.7.1.1 -> 1.9 # arch/m68knommu/platform/5206/config.c 1.3 -> 1.4 # drivers/scsi/atari_NCR5380.c 1.12.1.1 -> 1.14 # net/ipv4/esp.c 1.29 -> 1.31 net/ipv4/esp4.c (moved) # drivers/usb/core/hcd.c 1.63 -> 1.64 # drivers/usb/input/hid-core.c 1.56 -> 1.58 # include/pcmcia/bus_ops.h 1.4 -> (deleted) # arch/ppc64/mm/init.c 1.43 -> 1.44 # drivers/usb/serial/belkin_sa.c 1.35 -> 1.36 # drivers/scsi/aha1740.h 1.6 -> 1.7 # drivers/char/epca.c 1.22 -> 1.23 # include/linux/raid/raid1.h 1.16 -> 1.17 # net/rose/rose_in.c 1.6 -> 1.8 # Documentation/sound/alsa/OSS-Emulation.txt 1.2 -> 1.3 # include/asm-i386/smp.h 1.25 -> 1.26 # drivers/scsi/ppa.c 1.21 -> 1.23 # drivers/mtd/nand/spia.c 1.5 -> 1.6 # lib/zlib_inflate/infblock.h 1.1 -> 1.3 # drivers/char/tty_io.c 1.101 -> 1.106 # drivers/mtd/chips/jedec.c 1.9 -> 1.11 # arch/x86_64/pci/irq.c 1.8 -> 1.9 # drivers/mtd/maps/sbc_gxx.c 1.4 -> 1.5 # drivers/usb/input/powermate.c 1.13 -> 1.14 # fs/bio.c 1.44 -> 1.47 # net/ipv6/ndisc.c 1.38 -> 1.42 # arch/ppc/boot/Makefile 1.16 -> 1.17 # arch/ppc64/kernel/process.c 1.32 -> 1.34 # drivers/char/pcxx.c 1.11 -> 1.12 # sound/pci/maestro3.c 1.20 -> 1.22 # include/sound/asequencer.h 1.3 -> 1.4 # drivers/hotplug/cpqphp_nvram.h 1.1 -> 1.2 drivers/pci/hotplug/cpqphp_nvram.h (moved) # MAINTAINERS 1.140 -> 1.143 # net/sctp/ipv6.c 1.41 -> 1.43 # drivers/net/sundance.c 1.42 -> 1.44 # net/sctp/protocol.c 1.48 -> 1.51 # drivers/usb/net/rtl8150.c 1.24 -> 1.26 # fs/reiserfs/journal.c 1.68 -> 1.69 # sound/pci/intel8x0.c 1.33 -> 1.35 # sound/pci/ice1712/revo.c 1.1 -> 1.3 # include/linux/zutil.h 1.2 -> 1.5 # net/core/dst.c 1.12 -> 1.13 # kernel/exec_domain.c 1.14 -> 1.15 # arch/ppc64/kernel/pci_dma.c 1.14 -> 1.16 # fs/reiserfs/prints.c 1.22 -> 1.23 # drivers/scsi/scsi_debug.c 1.37 -> 1.38 # drivers/char/rio/rio_linux.c 1.20 -> 1.22 # sound/core/ioctl32/pcm32.c 1.13 -> 1.15 # net/core/datagram.c 1.9 -> 1.10 # drivers/hotplug/cpcihp_zt5550.c 1.1 -> 1.2 drivers/pci/hotplug/cpcihp_zt5550.c (moved) # net/atm/lec.c 1.22 -> 1.25 # drivers/scsi/aic7xxx/aic79xx_osm.h 1.29 -> 1.33 # drivers/char/istallion.c 1.22 -> 1.24 # drivers/scsi/aic7xxx/aic7xxx_reg.h_shipped 1.11 -> 1.12 # mm/mmap.c 1.84 -> 1.85 # fs/proc/base.c 1.47 -> 1.48 # drivers/ieee1394/eth1394.c 1.13 -> 1.15 # arch/ia64/hp/sim/simeth.c 1.7 -> 1.8 # drivers/video/i810/i810_main.h 1.5 -> 1.6 # sound/usb/usbaudio.h 1.14 -> 1.15 # scripts/kconfig/expr.h 1.4 -> 1.10 # drivers/mtd/maps/physmap.c 1.4 -> 1.7 # drivers/mtd/chips/map_rom.c 1.5 -> 1.6 # sound/pci/ac97/Makefile 1.11 -> 1.12 # drivers/hotplug/acpiphp_core.c 1.2 -> 1.3 drivers/pci/hotplug/acpiphp_core.c (moved) # sound/core/timer.c 1.17 -> 1.18 # include/sound/cs8427.h 1.1 -> 1.2 # drivers/message/i2o/i2o_core.c 1.20 -> 1.22 # net/unix/af_unix.c 1.44 -> 1.46 # arch/alpha/kernel/systbls.S 1.6 -> 1.7 # Documentation/filesystems/jfs.txt 1.4 -> 1.5 # include/asm-sparc64/bug.h 1.2 -> 1.3 # arch/um/os-Linux/drivers/tuntap_kern.c 1.3 -> 1.4 # include/net/x25.h 1.7 -> 1.8 # include/linux/tty_driver.h 1.7 -> 1.8 # net/ipv6/esp6.c 1.16 -> 1.17 # drivers/net/tokenring/ibmtr.c 1.14 -> 1.15 # arch/v850/vmlinux.lds.S 1.8 -> 1.9 # include/asm-arm/uaccess.h 1.10 -> 1.11 # drivers/net/arcnet/rfc1051.c 1.4 -> 1.5 # drivers/usb/class/cdc-acm.c 1.40 -> 1.41 # drivers/usb/input/hid-tmff.c 1.2 -> 1.3 # drivers/usb/misc/rio500.c 1.21 -> 1.23 # drivers/net/pppoe.c 1.25 -> 1.28 # sound/pci/trident/trident_main.c 1.19 -> 1.20 # drivers/scsi/osst.h 1.9 -> 1.10 # drivers/hotplug/cpci_hotplug_pci.c 1.7 -> 1.10 drivers/pci/hotplug/cpci_hotplug_pci.c (moved) # arch/ppc/boot/ld.script 1.4 -> 1.6 # drivers/base/power.c 1.18 -> 1.19 # arch/mips/baget/vacserial.c 1.13 -> 1.14 # drivers/scsi/ide-scsi.c 1.24 -> 1.25 # drivers/scsi/st.c 1.62 -> 1.63 # net/bluetooth/rfcomm/sock.c 1.17 -> 1.20 # net/rose/rose_timer.c 1.8 -> 1.10 # fs/vfat/namei.c 1.31 -> 1.32 # drivers/scsi/eata_pio.c 1.17.1.1 -> 1.19 # sound/core/oss/mixer_oss.c 1.17 -> 1.18 # sound/isa/sb/sb8.c 1.11 -> 1.12 # sound/ppc/pmac.h 1.4 -> 1.5 # drivers/usb/storage/usb.h 1.25 -> 1.27 # drivers/isdn/i4l/isdn_tty.h 1.16 -> 1.17 # fs/cifs/smberr.h 1.1 -> 1.2 # arch/m68knommu/kernel/setup.c 1.3 -> 1.4 # fs/namespace.c 1.45 -> 1.46 # drivers/scsi/arm/powertec.c 1.25 -> 1.26 # net/atm/svc.c 1.9 -> 1.10 # arch/x86_64/kernel/sys_x86_64.c 1.8 -> 1.9 # drivers/usb/serial/keyspan_pda.c 1.30 -> 1.31 # include/asm-ia64/ptrace.h 1.10 -> 1.11 # drivers/video/matrox/matroxfb_misc.c 1.9 -> 1.10 # include/net/ax25.h 1.10 -> 1.12 # net/atm/pppoatm.c 1.6 -> 1.7 # net/sctp/sm_sideeffect.c 1.43 -> 1.44 # kernel/resource.c 1.10 -> 1.11 # fs/jfs/resize.c 1.8 -> 1.9 # include/asm-m68k/thread_info.h 1.4 -> 1.5 # Makefile 1.408 -> 1.410 # drivers/isdn/hisax/avma1_cs.c 1.4.1.1 -> 1.6 # fs/fcntl.c 1.26 -> 1.28 # sound/pci/cmipci.c 1.23 -> 1.24 # include/net/dn.h 1.7 -> 1.8 # drivers/mtd/nftlmount.c 1.7 -> 1.8 # fs/jffs2/compr_rtime.c 1.4 -> 1.5 # drivers/usb/serial/mct_u232.c 1.37 -> 1.38 # fs/ext3/inode.c 1.67 -> 1.68 # include/asm-ppc/prep_nvram.h 1.4 -> 1.5 # drivers/scsi/sym53c8xx.c 1.34.1.1 -> 1.36 # net/packet/af_packet.c 1.27 -> 1.29 # drivers/char/agp/amd-k8-agp.c 1.41 -> 1.42 # drivers/net/irda/irport.c 1.18 -> 1.20 # drivers/net/pcmcia/fmvj18x_cs.c 1.20 -> 1.21 # drivers/scsi/aic7xxx/aic79xx.h 1.11 -> 1.12 # arch/cris/drivers/serial.c 1.17 -> 1.18 # include/asm-i386/cpu.h 1.3 -> 1.4 # drivers/scsi/ibmmca.h 1.8 -> 1.9 # drivers/usb/media/stv680.c 1.26 -> 1.27 # include/asm-s390/thread_info.h 1.4 -> 1.5 # drivers/mtd/maps/sun_uflash.c 1.3 -> 1.4 # fs/dquot.c 1.62 -> 1.63 # sound/core/sound.c 1.27 -> 1.30 # mm/page-writeback.c 1.64 -> 1.68 # net/sunrpc/xprt.c 1.59 -> 1.61 # drivers/scsi/wd33c93.c 1.13 -> 1.14 # arch/sh/kernel/pci-sh7751.c 1.7 -> 1.8 # drivers/net/wireless/orinoco_pci.c 1.5 -> 1.6 # drivers/net/arcnet/arcnet.c 1.12 -> 1.13 # sound/core/sgbuf.c 1.4.1.1 -> 1.6 # arch/x86_64/defconfig 1.20 -> 1.21 # include/net/ip.h 1.21 -> 1.22 # net/bluetooth/bnep/core.c 1.17 -> 1.18 # drivers/char/mxser.c 1.22 -> 1.23 # net/ipv4/tcp_output.c 1.27 -> 1.30 # drivers/video/sis/sis_main.c 1.21 -> 1.23 # arch/ppc64/mm/numa.c 1.4 -> 1.5 # drivers/usb/serial/keyspan.h 1.18 -> 1.19 # drivers/acpi/processor.c 1.38 -> 1.39 # net/ax25/ax25_route.c 1.10 -> 1.11 # drivers/video/matrox/matroxfb_base.c 1.35 -> 1.37 # drivers/scsi/scsi_priv.h 1.6 -> 1.13 # net/bluetooth/l2cap.c 1.28 -> 1.30 # drivers/mtd/mtdchar.c 1.13 -> 1.14 # drivers/scsi/pas16.h 1.7 -> 1.8 # drivers/char/rocket.c 1.20 -> 1.23 # drivers/ide/legacy/ide-cs.c 1.9 -> 1.10 # net/ax25/ax25_ds_in.c 1.5 -> 1.7 # security/Kconfig 1.5 -> 1.6 # arch/m68knommu/Kconfig 1.11 -> 1.12 # sound/core/Makefile 1.26 -> 1.30 # arch/ppc64/kernel/syscalls.c 1.10 -> 1.11 # drivers/mtd/maps/nora.c 1.4 -> (deleted) # include/sound/uda1341.h 1.3 -> 1.4 # drivers/mtd/maps/scx200_docflash.c 1.1 -> 1.2 # include/asm-x86_64/thread_info.h 1.11 -> 1.12 # drivers/scsi/gdth_proc.h 1.4 -> 1.5 # drivers/mtd/devices/docprobe.c 1.5 -> 1.6 # arch/ppc64/kernel/sys_ppc32.c 1.61 -> 1.62 # drivers/pci/pci-driver.c 1.26 -> 1.29 # include/linux/ipv6.h 1.8 -> 1.9 # sound/drivers/Makefile 1.8 -> 1.9 # arch/arm/mach-integrator/arch.c 1.8 -> 1.10 arch/arm/mach-integrator/core.c (moved) # drivers/mtd/cmdline.c 1.3 -> 1.5 drivers/mtd/cmdlinepart.c (moved) # drivers/pci/probe.c 1.39 -> 1.42 # drivers/video/riva/fbdev.c 1.46 -> 1.47 # drivers/scsi/fdomain.c 1.21 -> 1.22 # sound/pci/sonicvibes.c 1.16 -> 1.17 # drivers/hotplug/Makefile 1.14 -> 1.15 drivers/pci/hotplug/Makefile (moved) # include/net/tcp_ecn.h 1.4 -> 1.5 # include/asm-sparc64/thread_info.h 1.10 -> 1.11 # drivers/isdn/i4l/isdn_tty.c 1.47 -> 1.49 # arch/i386/kernel/cpu/cpufreq/longrun.c 1.13 -> 1.14 # arch/arm/mach-integrator/pci_v3.c 1.15 -> 1.16 # Documentation/filesystems/fat_cvf.txt 1.2 -> (deleted) # drivers/usb/net/kaweth.c 1.41 -> 1.42 # arch/ppc64/kernel/prom.c 1.25.1.1 -> 1.28 # drivers/scsi/arm/cumana_2.c 1.27 -> 1.28 # net/ipv6/ipv6_syms.c 1.13 -> 1.14 # drivers/net/wan/z85230.h 1.4 -> 1.5 # drivers/mtd/chips/map_absent.c 1.2 -> 1.3 # include/asm-mips/bug.h 1.1 -> 1.2 # arch/m68knommu/platform/5206/ARNEWSH/crt0_ram.S 1.1 -> 1.2 # kernel/module.c 1.82 -> 1.84 # net/xfrm/xfrm_state.c 1.26 -> 1.28 # sound/pci/emu10k1/irq.c 1.6 -> 1.7 # drivers/scsi/in2000.c 1.19.1.1 -> 1.21 # sound/usb/usbaudio.c 1.34.1.1 -> 1.39 # include/net/sock.h 1.40 -> 1.43 # include/asm-ppc64/elf.h 1.10 -> 1.12 # arch/ppc/8xx_io/uart.c 1.24 -> 1.26 # arch/ppc64/kernel/iSeries_setup.c 1.12 -> 1.13 # include/asm-parisc/bug.h 1.3 -> 1.4 # net/netrom/nr_timer.c 1.7 -> 1.9 # drivers/usb/serial/Kconfig 1.7 -> 1.8 # net/rxrpc/transport.c 1.2 -> 1.3 # drivers/mtd/mtdconcat.c 1.1 -> 1.2 # drivers/acorn/char/defkeymap-acorn.c_shipped 1.3 -> (deleted) # lib/zlib_inflate/infblock.c 1.1 -> 1.3 # net/ipv4/sysctl_net_ipv4.c 1.10 -> 1.11 # net/core/sock.c 1.25 -> 1.27 # include/net/af_unix.h 1.4 -> 1.5 # Documentation/sysctl/vm.txt 1.9 -> 1.10 # arch/ppc64/kernel/smp.c 1.35 -> 1.37 # drivers/net/ppp_async.c 1.10 -> 1.11 # drivers/net/eepro.c 1.17 -> 1.18 # drivers/ide/pci/pdc202xx_new.c 1.15 -> 1.16 # scripts/kconfig/zconf.l 1.6 -> 1.7 # include/asm-m68k/bug.h 1.1 -> 1.2 # include/asm-s390/bug.h 1.1 -> 1.2 # net/bluetooth/bnep/netdev.c 1.3 -> 1.4 # net/ipv6/ip6_input.c 1.12 -> 1.13 # include/asm-ppc/bug.h 1.2 -> 1.4 # drivers/mtd/mtdpart.c 1.4 -> 1.5 # include/net/ip6_fib.h 1.5 -> 1.7 # include/linux/raid/multipath.h 1.15 -> 1.17 # lib/zlib_inflate/infutil.h 1.2 -> 1.4 # net/ipv6/route.c 1.40 -> 1.43 # drivers/serial/21285.c 1.13.1.6 -> 1.17 # include/asm-ia64/percpu.h 1.7 -> 1.8 # drivers/char/stallion.c 1.23 -> 1.26 # drivers/usb/class/bluetty.c 1.41 -> 1.42 # net/ipv4/tcp_input.c 1.36 -> 1.39 # sound/isa/wavefront/wavefront.c 1.11.1.1 -> 1.14 # include/sound/info.h 1.8 -> 1.9 # include/linux/zconf.h 1.2 -> 1.8 # drivers/scsi/sd.c 1.113 -> 1.117 # drivers/mtd/maps/epxa10db-flash.c 1.3 -> 1.4 # net/ax25/ax25_std_in.c 1.5 -> 1.7 # drivers/acorn/char/mouse_ps2.c 1.6 -> (deleted) # net/ipv4/tcp_minisocks.c 1.33 -> 1.35 # drivers/usb/input/aiptek.c 1.15 -> 1.16 # drivers/video/matrox/matroxfb_accel.h 1.3 -> 1.4 # drivers/pcmcia/ds.c 1.27.1.1 -> 1.29 # drivers/usb/input/hid-lgff.c 1.4 -> 1.5 # include/net/dn_nsp.h 1.4 -> 1.5 # arch/ppc64/kernel/pacaData.c 1.6 -> 1.7 # drivers/net/bonding/bond_3ad.c 1.1 -> 1.2 # net/ipv4/Kconfig 1.7 -> 1.8 # drivers/block/DAC960.c 1.59 -> 1.60 # drivers/usb/media/pwc-if.c 1.34 -> 1.36 # drivers/scsi/aic7xxx/aic79xx_proc.c 1.9 -> 1.10 # arch/ppc64/kernel/stab.c 1.10 -> 1.11 # drivers/mtd/chips/cfi_probe.c 1.5 -> 1.6 # drivers/sbus/char/aurora.h 1.2 -> 1.3 # net/atm/signaling.c 1.8 -> 1.9 # drivers/usb/storage/unusual_devs.h 1.38 -> 1.40 # net/llc/llc_sap.c 1.18 -> 1.19 # drivers/net/tokenring/olympic.c 1.21 -> 1.22 # arch/ia64/sn/io/pci_bus_cvlink.c 1.6 -> 1.7 # Documentation/scsi/scsi_mid_low_api.txt 1.12 -> 1.13 # arch/v850/kernel/irq.c 1.6 -> 1.9 # drivers/mtd/devices/pmc551.c 1.10 -> 1.11 # arch/arm/mach-footbridge/isa-irq.c 1.6 -> 1.7 # drivers/mtd/nand/Kconfig 1.1 -> 1.2 # include/linux/hayesesp.h 1.2 -> 1.3 # include/asm-x86_64/bootsetup.h 1.2 -> 1.3 # include/linux/bio.h 1.30 -> 1.31 # mm/slab.c 1.81 -> 1.86 # include/linux/module.h 1.63 -> 1.65 # arch/i386/kernel/suspend.c 1.16 -> 1.17 # arch/alpha/kernel/irq.c 1.21 -> 1.22 # include/sound/pcm_sgbuf.h 1.7 -> (deleted) # drivers/mtd/maps/integrator-flash.c 1.3 -> 1.4 # drivers/mtd/maps/netsc520.c 1.3 -> 1.4 # include/net/bluetooth/rfcomm.h 1.8 -> 1.9 # arch/arm/mm/consistent.c 1.11 -> 1.12 # drivers/usb/serial/ftdi_sio.c 1.42 -> 1.43 # drivers/sbus/char/bbc_i2c.c 1.3 -> 1.4 # include/net/udp.h 1.10 -> 1.11 # arch/x86_64/Kconfig 1.19 -> 1.20 # include/linux/rtnetlink.h 1.15 -> 1.17 # fs/filesystems.c 1.16 -> 1.17 # include/linux/msdos_fs.h 1.23 -> 1.25 # drivers/scsi/scsi_scan.c 1.85 -> 1.87 # sound/pci/fm801.c 1.17 -> 1.18 # drivers/scsi/aic7xxx/aic7xxx.seq 1.9 -> 1.11 # sound/core/seq/oss/seq_oss.c 1.4 -> 1.5 # kernel/sched.c 1.186 -> 1.189 # fs/jffs2/dir.c 1.25 -> 1.26 # include/linux/atalk.h 1.5 -> 1.6 # arch/m68knommu/platform/5307/Makefile 1.5 -> 1.6 # drivers/scsi/mac_NCR5380.c 1.8.1.1 -> 1.10 # drivers/block/deadline-iosched.c 1.20 -> 1.21 # drivers/Makefile 1.33 -> 1.35 # net/ipv6/netfilter/ip6t_owner.c 1.4 -> 1.5 # sound/isa/sb/sb16.c 1.15 -> 1.17 # net/ipv6/ip6_fib.c 1.18 -> 1.20 # include/linux/mtd/nftl.h 1.3 -> 1.4 # net/llc/llc_mac.c 1.21 -> 1.22 # include/net/ipv6.h 1.14 -> 1.18 # drivers/ieee1394/iso.c 1.5 -> 1.6 # arch/um/kernel/irq.c 1.8 -> 1.9 # scripts/Makefile.build 1.36 -> 1.37 # drivers/scsi/st.h 1.13 -> 1.14 # arch/v850/kernel/rte_ma1_cb.c 1.3 -> 1.4 # net/atm/mpc.c 1.15 -> 1.17 # drivers/scsi/dpt_i2o.c 1.29 -> 1.30 # arch/ppc/kernel/irq.c 1.26 -> 1.29 # sound/pci/ens1370.c 1.29 -> 1.32 # drivers/video/matrox/matroxfb_g450.c 1.12 -> 1.13 # drivers/hotplug/pci_hotplug_core.c 1.38 -> 1.39 drivers/pci/hotplug/pci_hotplug_core.c (moved) # net/ipv6/udp.c 1.36 -> 1.38 # include/linux/atmdev.h 1.13 -> 1.14 # drivers/hotplug/cpqphp.h 1.9 -> 1.10 drivers/pci/hotplug/cpqphp.h (moved) # drivers/usb/serial/ipaq.c 1.29 -> 1.30 # drivers/mtd/ftl.c 1.46 -> 1.47 # sound/core/seq/instr/Makefile 1.14 -> 1.15 # include/asm-ppc/io.h 1.12 -> 1.13 # lib/zlib_inflate/infutil.c 1.1 -> 1.3 # arch/sparc64/kernel/sparc64_ksyms.c 1.48 -> 1.49 # drivers/mtd/maps/l440gx.c 1.2 -> 1.3 # include/asm-alpha/bug.h 1.1 -> 1.2 # fs/fat/cache.c 1.16 -> 1.19 # arch/x86_64/kernel/reboot.c 1.5 -> 1.7 # include/net/xfrm.h 1.39 -> 1.42 # kernel/timer.c 1.53 -> 1.57 # sound/pci/via82xx.c 1.31 -> 1.33 # drivers/video/matrox/matroxfb_crtc2.c 1.23 -> 1.24 # scripts/kconfig/zconf.tab.c_shipped 1.6 -> 1.12 # fs/sysfs/inode.c 1.85 -> 1.86 # drivers/tc/zs.c 1.16 -> 1.18 # drivers/net/pcmcia/pcnet_cs.c 1.18 -> 1.19 # drivers/serial/nb85e_uart.c 1.11 -> 1.12 # include/linux/raid/raid5.h 1.15 -> 1.17 # arch/ppc64/kernel/sys32.S 1.13 -> (deleted) # net/ipv4/netfilter/ipchains_core.c 1.15 -> 1.16 # drivers/scsi/ppa.h 1.8 -> 1.9 # drivers/scsi/aic7xxx/aic79xx.seq 1.10 -> 1.13 # include/linux/mtd/compatmac.h 1.5 -> 1.6 # drivers/ieee1394/ohci1394.c 1.36 -> 1.38 # fs/fat/misc.c 1.14 -> 1.16 # drivers/char/vt.c 1.45 -> 1.48 # sound/isa/cs423x/Makefile 1.9 -> 1.10 # include/linux/generic_serial.h 1.4 -> 1.5 # drivers/net/Kconfig 1.28 -> 1.29 # arch/ppc64/kernel/pci.c 1.30 -> 1.32 # arch/ppc64/boot/Makefile 1.13 -> 1.14 # arch/arm/mach-sa1100/system3.c 1.17 -> 1.18 # drivers/hotplug/ibmphp_res.c 1.6 -> 1.7 drivers/pci/hotplug/ibmphp_res.c (moved) # include/linux/jffs2.h 1.5 -> 1.6 # net/ipv4/ipcomp.c 1.10 -> 1.11 # net/ipv6/mcast.c 1.20 -> 1.21 # sound/pci/nm256/nm256.c 1.16 -> 1.19 # include/sound/mpu401.h 1.10 -> 1.11 # sound/core/oss/pcm_oss.c 1.22 -> 1.24 # sound/isa/Kconfig 1.3 -> 1.5 # drivers/pci/setup-res.c 1.17 -> 1.18 # include/net/llc_conn.h 1.13 -> 1.14 # drivers/base/driver.c 1.21 -> 1.22 # sound/pci/ymfpci/ymfpci_main.c 1.19 -> 1.20 # drivers/usb/serial/kobil_sct.c 1.8 -> 1.10 # drivers/net/tokenring/tmspci.c 1.11 -> 1.12 # include/linux/stallion.h 1.2 -> 1.3 # arch/ppc64/kernel/misc.S 1.58 -> 1.59 # drivers/video/cirrusfb.c 1.23 -> 1.24 # sound/oss/maestro.c 1.29 -> 1.30 # arch/ia64/kernel/irq.c 1.23 -> 1.24 # drivers/ieee1394/eth1394.h 1.6 -> 1.8 # net/ipv4/ah.c 1.23 -> 1.24 net/ipv4/ah4.c (moved) # drivers/usb/serial/omninet.c 1.29 -> 1.30 # lib/zlib_inflate/inftrees.c 1.1 -> 1.4 # arch/ppc/kernel/entry.S 1.27 -> 1.29 # include/asm-x86_64/apic.h 1.6 -> 1.7 # drivers/usb/input/pid.c 1.7 -> 1.8 # drivers/video/fbmon.c 1.8 -> 1.9 # include/net/irda/af_irda.h 1.3 -> 1.4 # include/asm-x86_64/proto.h 1.9 -> 1.10 # drivers/char/ser_a2232.h 1.1 -> 1.3 # include/linux/reiserfs_fs.h 1.48 -> 1.49 # drivers/char/specialix.c 1.15 -> 1.17 # arch/arm/mach-integrator/Makefile 1.7 -> 1.8 # fs/cifs/netmisc.c 1.6 -> 1.7 # drivers/hotplug/cpqphp_nvram.c 1.7 -> 1.8 drivers/pci/hotplug/cpqphp_nvram.c (moved) # include/asm-ppc/types.h 1.7 -> 1.8 # drivers/media/video/zoran_procfs.c 1.2 -> 1.3 # include/asm-ppc/dma.h 1.5 -> 1.6 # drivers/mtd/chips/gen_probe.c 1.1 -> 1.2 # include/linux/mtd/flashchip.h 1.2 -> 1.3 # arch/x86_64/kernel/bluesmoke.c 1.10 -> 1.11 # arch/alpha/kernel/ptrace.c 1.14 -> 1.15 # include/asm-sh/bug.h 1.1 -> 1.2 # kernel/cpu.c 1.3 -> 1.4 # arch/arm/lib/putuser.S 1.3 -> 1.4 # include/linux/mtd/nand.h 1.1 -> 1.2 # net/core/net-sysfs.c 1.2 -> 1.4 # fs/hugetlbfs/inode.c 1.24 -> 1.26 # fs/proc/inode.c 1.22 -> 1.23 # arch/sparc64/kernel/ioctl32.c 1.63 -> 1.64 # net/appletalk/atalk_proc.c 1.3 -> 1.4 # drivers/scsi/aic7xxx_old/aic7xxx_proc.c 1.8 -> 1.9 # arch/cris/drivers/serial.h 1.6 -> 1.7 # drivers/net/wireless/orinoco_cs.c 1.19.1.1 -> 1.22 # scripts/kconfig/menu.c 1.5 -> 1.11 # drivers/scsi/Kconfig 1.21 -> 1.22 # sound/core/seq/Makefile 1.24 -> 1.27 # drivers/net/wan/lmc/lmc_media.c 1.5 -> 1.6 # fs/cifs/connect.c 1.17 -> 1.18 # include/linux/device.h 1.91 -> 1.98 # drivers/net/pppox.c 1.13 -> 1.14 # drivers/macintosh/via-pmu.c 1.19 -> 1.21 # arch/arm/kernel/process.c 1.28 -> 1.29 # sound/drivers/dummy.c 1.15 -> 1.17 # include/linux/percpu.h 1.5 -> 1.7 # drivers/net/dl2k.h 1.11 -> 1.12 # scripts/kconfig/conf.c 1.5 -> 1.9 # arch/ppc/kernel/ppc_ksyms.c 1.39 -> 1.41 # drivers/usb/serial/cyberjack.c 1.27 -> 1.28 # lib/kobject.c 1.21 -> 1.24 # drivers/pci/Makefile 1.28 -> 1.29 # arch/ppc64/kernel/signal32.c 1.39 -> 1.40 # scripts/kconfig/zconf.y 1.5 -> 1.11 # include/asm-alpha/thread_info.h 1.5 -> 1.6 # sound/Kconfig 1.2 -> 1.3 # arch/ppc/kernel/misc.S 1.43 -> 1.44 # arch/arm/common/sa1111.c 1.25 -> 1.26 # drivers/net/ppp_deflate.c 1.10 -> 1.11 # scripts/kconfig/lex.zconf.c_shipped 1.6 -> 1.7 # drivers/mtd/maps/iq80310.c 1.4 -> 1.5 # net/ax25/af_ax25.c 1.22 -> 1.24 # drivers/pci/hotplug.c 1.14 -> 1.15 # sound/isa/gus/gus_irq.c 1.5 -> 1.6 # drivers/video/i810/i810.h 1.6 -> 1.7 # arch/v850/kernel/entry.S 1.7 -> 1.11 # drivers/serial/68328serial.h 1.3 -> 1.4 # net/ax25/ax25_ds_timer.c 1.9 -> 1.11 # arch/m68knommu/mm/memory.c 1.1 -> 1.2 # drivers/mtd/afs.c 1.2 -> 1.3 # drivers/net/setup.c 1.13 -> (deleted) # drivers/scsi/aic7xxx/aic79xx.reg 1.10 -> 1.12 # sound/pci/ac97/ac97_patch.c 1.10 -> 1.13 # net/ipv4/tcp_timer.c 1.13 -> 1.15 # drivers/mtd/maps/uclinux.c 1.2 -> 1.3 # drivers/media/video/Kconfig 1.6 -> 1.7 # include/linux/mtd/partitions.h 1.2 -> 1.3 # drivers/net/bonding/bond_main.c 1.22 -> 1.23 # net/atm/raw.c 1.3 -> 1.4 # drivers/usb/core/Kconfig 1.2 -> 1.3 # fs/jffs2/scan.c 1.9 -> 1.10 # drivers/pci/pool.c 1.12 -> 1.13 # net/ipv4/netfilter/ipt_owner.c 1.8 -> 1.9 # net/ipv6/addrconf.c 1.45 -> 1.49 # drivers/char/agp/isoch.c 1.7 -> 1.8 # crypto/Kconfig 1.14 -> 1.16 # drivers/bluetooth/hci_usb.c 1.28 -> 1.29 # drivers/char/moxa.c 1.18 -> 1.19 # drivers/hotplug/cpqphp_pci.c 1.18 -> 1.21 drivers/pci/hotplug/cpqphp_pci.c (moved) # drivers/scsi/3w-xxxx.c 1.32 -> 1.33 # drivers/usb/input/usbmouse.c 1.25 -> 1.26 # sound/pci/ali5451/ali5451.c 1.26 -> 1.28 # net/ax25/ax25_subr.c 1.6 -> 1.8 # drivers/mtd/maps/autcpu12-nvram.c 1.2 -> 1.3 # drivers/mtd/maps/sc520cdp.c 1.3 -> 1.4 # net/ipv4/icmp.c 1.30 -> 1.31 # drivers/net/ppp_generic.c 1.30 -> 1.32 # net/sctp/ulpqueue.c 1.22 -> 1.24 # sound/core/pcm_sgbuf.c 1.11 -> (deleted) # arch/ppc/8xx_io/fec.c 1.13 -> 1.16 # arch/sparc64/prom/console.c 1.1 -> 1.2 # arch/ppc/kernel/setup.c 1.38 -> 1.39 # include/linux/netdevice.h 1.38 -> 1.40 # drivers/net/tokenring/madgemc.c 1.14 -> 1.15 # drivers/isdn/hisax/st5481_init.c 1.8 -> 1.9 # drivers/macintosh/apm_emu.c 1.6 -> 1.7 # drivers/usb/Makefile 1.43 -> 1.45 # scripts/kconfig/gconf.c 1.3 -> 1.4 # sound/isa/azt2320.c 1.10 -> 1.12 # crypto/sha512.c 1.1 -> 1.2 # arch/ia64/Kconfig 1.21 -> 1.22 # drivers/scsi/BusLogic.c 1.19 -> 1.20 # drivers/mtd/maps/solutionengine.c 1.2 -> 1.3 # drivers/hotplug/cpqphp_sysfs.c 1.8 -> 1.9 drivers/pci/hotplug/cpqphp_sysfs.c (moved) # net/x25/af_x25.c 1.25 -> 1.27 # include/asm-ppc64/mmzone.h 1.10 -> 1.11 # include/asm-sparc/thread_info.h 1.4 -> 1.5 # arch/ppc/kernel/syscalls.c 1.9 -> 1.11 # drivers/scsi/arm/ecoscsi.c 1.16 -> 1.18 # drivers/atm/iphase.c 1.21 -> 1.22 # drivers/pnp/pnpbios/proc.c 1.8 -> 1.9 # sound/usb/usbmixer_maps.c 1.2 -> 1.3 # sound/core/sound_oss.c 1.5 -> 1.6 # drivers/pci/bus.c 1.4 -> 1.6 # sound/core/info.c 1.26 -> 1.28 # drivers/usb/input/usbkbd.c 1.29 -> 1.30 # drivers/char/sh-sci.c 1.19 -> 1.21 # sound/ppc/keywest.c 1.8 -> 1.9 # include/asm-cris/bug.h 1.1 -> 1.2 # drivers/char/selection.c 1.4 -> 1.5 # net/appletalk/aarp.c 1.10 -> 1.11 # include/linux/raid/linear.h 1.4 -> 1.5 # drivers/net/arcnet/arc-rawmode.c 1.4 -> 1.5 # drivers/net/sungem.c 1.36 -> 1.37 # drivers/serial/68360serial.c 1.12 -> 1.13 # arch/x86_64/pci/x86-64.c 1.6 -> 1.7 # drivers/net/tokenring/proteon.c 1.2 -> 1.3 # include/linux/bitops.h 1.3 -> 1.4 # drivers/video/radeonfb.c 1.28 -> 1.29 # drivers/net/ns83820.c 1.25 -> 1.26 # drivers/block/cciss.c 1.81 -> 1.82 # arch/um/drivers/pcap_kern.c 1.2 -> 1.3 # arch/ppc/platforms/prep_pci.c 1.19 -> 1.20 # drivers/net/wireless/orinoco_plx.c 1.10 -> 1.11 # lib/zlib_inflate/inffast.c 1.1 -> 1.3 # drivers/net/wireless/airport.c 1.13 -> 1.14 # drivers/usb/serial/io_ti.c 1.17 -> 1.18 # drivers/macintosh/macserial.c 1.21 -> 1.24 # drivers/parport/parport_pc.c 1.38 -> 1.39 # drivers/mtd/maps/dbox2-flash.c 1.3 -> 1.4 # security/root_plug.c 1.2 -> 1.3 # drivers/net/wireless/netwave_cs.c 1.16.1.1 -> 1.18 # drivers/usb/gadget/ether.c 1.4 -> 1.5 # drivers/net/hamradio/mkiss.c 1.10 -> 1.11 # drivers/serial/68328serial.c 1.8 -> 1.9 # net/rose/rose_route.c 1.7 -> 1.9 # net/atm/clip.c 1.12 -> 1.13 # drivers/net/tokenring/lanstreamer.c 1.17 -> 1.19 # include/asm-ppc64/topology.h 1.7 -> 1.8 # drivers/mtd/maps/Kconfig 1.4 -> 1.6 # net/rose/rose_subr.c 1.7 -> 1.9 # arch/m68knommu/platform/68328/pilot/crt0_rom.S 1.2 -> 1.3 # include/asm-mips64/bug.h 1.1 -> 1.2 # net/wanrouter/af_wanpipe.c 1.24 -> 1.26 # sound/core/memalloc.c 1.4.1.1 -> 1.8 # include/linux/if_wanpipe.h 1.5 -> 1.6 # net/decnet/dn_nsp_out.c 1.8 -> 1.10 # net/llc/llc_c_ac.c 1.20 -> 1.21 # sound/isa/opl3sa2.c 1.16.1.2 -> 1.19 # drivers/usb/class/audio.c 1.36 -> 1.37 # kernel/kallsyms.c 1.9 -> 1.10 # drivers/usb/net/pegasus.h 1.24 -> 1.25 # arch/ppc64/kernel/Makefile 1.23 -> 1.24 # net/x25/x25_in.c 1.10 -> 1.12 # drivers/mtd/maps/ocelot.c 1.3 -> 1.4 # arch/ppc64/lib/copyuser.S 1.3 -> 1.4 # include/linux/msdos_fs_i.h 1.4 -> 1.6 # include/linux/mtd/jedec.h 1.2 -> 1.3 # drivers/usb/serial/empeg.c 1.37 -> 1.39 # arch/ppc/kernel/signal.c 1.22 -> 1.23 # arch/ppc/kernel/head_4xx.S 1.13 -> 1.14 # include/asm-x86_64/bug.h 1.1 -> 1.2 # scripts/kconfig/confdata.c 1.4 -> 1.9 # drivers/usb/net/pegasus.c 1.46 -> 1.48 # arch/ppc/Kconfig 1.21 -> 1.22 # drivers/scsi/esp.c 1.26 -> 1.27 # net/ipv4/ip_output.c 1.36 -> 1.37 # drivers/scsi/pcmcia/nsp_cs.c 1.21 -> 1.22 # drivers/net/tokenring/3c359.c 1.8 -> 1.9 # drivers/scsi/aic7xxx/aic79xx_seq.h_shipped 1.10 -> 1.13 # include/linux/raid/raid0.h 1.2 -> 1.4 # drivers/scsi/wd7000.c 1.24 -> 1.25 # drivers/scsi/advansys.h 1.10 -> 1.11 # drivers/parport/parport_cs.c 1.7 -> 1.8 # arch/ppc64/kernel/iSeries_pci.c 1.10 -> 1.11 # drivers/usb/storage/datafab.c 1.15 -> 1.16 # drivers/pcmcia/pci_socket.c 1.17 -> 1.18 # net/bridge/br_if.c 1.15 -> 1.16 # fs/inode.c 1.96 -> 1.97 # drivers/scsi/arm/eesox.c 1.27 -> 1.28 # arch/ia64/kernel/smp.c 1.24 -> 1.25 # drivers/serial/sunzilog.c 1.30 -> 1.31 # drivers/hotplug/acpiphp.h 1.4 -> 1.5 drivers/pci/hotplug/acpiphp.h (moved) # drivers/base/class.c 1.28.1.1 -> 1.35 # net/ipv4/route.c 1.61 -> 1.62 # drivers/scsi/imm.c 1.20 -> 1.22 # drivers/scsi/aic7xxx/aic79xx_reg.h_shipped 1.10 -> 1.13 # drivers/usb/image/hpusbscsi.c 1.26 -> 1.29 # drivers/mtd/maps/rpxlite.c 1.5 -> 1.6 # drivers/net/sk98lin/h/skdrv2nd.h 1.3 -> 1.4 # drivers/scsi/aic7xxx/aic7xxx.reg 1.9 -> 1.10 # arch/v850/kernel/mach.h 1.2 -> 1.3 # drivers/block/acsi.c 1.50 -> 1.51 # include/asm-ppc64/system.h 1.17 -> 1.18 # drivers/char/ip2/i2lib.c 1.6 -> 1.7 # include/linux/hippidevice.h 1.2 -> 1.3 # drivers/usb/storage/freecom.c 1.25 -> 1.26 # drivers/block/scsi_ioctl.c 1.27 -> 1.29 # drivers/scsi/qla1280.h 1.15 -> 1.18 # drivers/base/memblk.c 1.7 -> 1.8 # include/sound/core.h 1.22 -> 1.25 # drivers/mtd/chips/jedec_probe.c 1.5 -> 1.7 # fs/jffs2/file.c 1.19 -> 1.20 # net/appletalk/ddp.c 1.23 -> 1.25 # arch/i386/pci/irq.c 1.23 -> 1.24 # include/linux/isdn.h 1.81 -> 1.83 # drivers/char/amiserial.c 1.21 -> 1.22 # drivers/message/fusion/mptscsih.h 1.16 -> 1.17 # drivers/scsi/qla1280.c 1.33 -> 1.37 # arch/arm/mach-integrator/irq.c 1.4 -> (deleted) # include/linux/cyclades.h 1.5 -> 1.6 # sound/drivers/mpu401/Makefile 1.12 -> 1.15 # arch/mips64/sgi-ip32/ip32-pci.c 1.6 -> 1.7 # arch/ppc/platforms/chrp_pci.c 1.12 -> 1.13 # sound/core/pcm.c 1.13.1.1 -> 1.15 # drivers/scsi/aic7xxx/aic7xxx_inline.h 1.10 -> 1.11 # drivers/pci/access.c 1.5 -> 1.6 # drivers/char/riscom8.h 1.1 -> 1.2 # drivers/net/wan/sdla.c 1.10 -> 1.12 # drivers/macintosh/adb.c 1.19 -> 1.20 # arch/ppc/platforms/Makefile 1.17 -> 1.18 # drivers/mtd/maps/cdb89712.c 1.2 -> 1.3 # drivers/video/pm2fb.c 1.20 -> 1.21 # include/asm-sparc/bug.h 1.2 -> 1.3 # sound/ppc/pmac.c 1.13 -> 1.15 # drivers/net/wireless/orinoco.c 1.23 -> 1.24 # fs/msdos/namei.c 1.27 -> 1.28 # net/rose/rose_out.c 1.4 -> 1.5 # drivers/hotplug/ibmphp_core.c 1.26 -> 1.32 drivers/pci/hotplug/ibmphp_core.c (moved) # Documentation/scsi/dc395x.txt 1.1 -> 1.2 # sound/pci/ice1712/envy24ht.h 1.2 -> 1.3 # drivers/mtd/maps/edb7312.c 1.2 -> 1.3 # drivers/usb/image/microtek.c 1.29 -> 1.31 # arch/arm/mach-sa1100/jornada720.c 1.11 -> 1.12 # include/asm-ppc/ipc.h 1.3 -> 1.4 # lib/zlib_inflate/inftrees.h 1.1 -> 1.3 # net/core/iovec.c 1.5 -> 1.9 # arch/arm/mach-integrator/mm.c 1.4 -> (deleted) # drivers/char/ip2main.c 1.31 -> 1.33 # arch/ppc64/boot/main.c 1.6 -> 1.7 # fs/jffs2/nodelist.h 1.8 -> 1.9 # Documentation/kernel-parameters.txt 1.21 -> 1.23 # net/core/rtnetlink.c 1.14 -> 1.15 # net/bluetooth/bnep/sock.c 1.10 -> 1.11 # net/ipv4/netfilter/ip_queue.c 1.13 -> 1.14 # arch/ppc64/kernel/pSeries_pci.c 1.23 -> 1.24 # net/netrom/nr_subr.c 1.6 -> 1.8 # drivers/mtd/nand/nand.c 1.2 -> 1.3 # drivers/scsi/sym53c8xx_2/sym_glue.c 1.20.1.1 -> 1.22 # net/atm/common.c 1.25 -> 1.27 # net/sctp/socket.c 1.69 -> 1.71 # drivers/scsi/tmscsim.c 1.19 -> 1.20 # arch/ppc/vmlinux.lds.S 1.19 -> 1.20 # arch/mips/sni/pci.c 1.7 -> 1.8 # drivers/scsi/aic7xxx/aic7xxx_seq.h_shipped 1.11 -> 1.12 # drivers/net/wireless/Makefile 1.10 -> 1.12 # (new) -> 1.1 sound/pcmcia/Makefile # (new) -> 1.2 sound/pci/ice1712/ak4xxx.c # (new) -> 1.1 drivers/mtd/devices/doc2001plus.c # (new) -> 1.1 sound/pci/vx222/vx222_ops.c # (new) -> 1.1 drivers/mtd/mtd_blkdevs.c # (new) -> 1.1 sound/pcmcia/vx/vxp_mixer.c # (new) -> 1.2 drivers/mtd/maps/map_funcs.c # (new) -> 1.1 sound/pcmcia/vx/vx_entry.c # (new) -> 1.1 drivers/mtd/devices/ms02-nv.c # (new) -> 1.1 arch/arm/common/platform.c # (new) -> 1.1 sound/pcmcia/vx/Makefile # (new) -> 1.1 include/sound/vx_core.h # (new) -> 1.1 drivers/mtd/inftlmount.c # (new) -> 1.1 sound/drivers/vx/vx_pcm.c # (new) -> 1.1 drivers/mtd/inftlcore.c # (new) -> 1.1 sound/drivers/vx/Makefile # (new) -> 1.2 sound/isa/sscape.c # (new) -> 1.1 drivers/net/wireless/orinoco_tmd.c # (new) -> 1.1 drivers/mtd/nand/autcpu12.c # (new) -> 1.1 drivers/mtd/maps/lasat.c # (new) -> 1.1 sound/pcmcia/vx/vxpocket.c # (new) -> 1.1 drivers/mtd/maps/h720x-flash.c # (new) -> 1.1 sound/pcmcia/vx/vxp440.c # (new) -> 1.1 drivers/mtd/maps/dilnetpc.c # (new) -> 1.1 sound/i2c/other/Makefile # (new) -> 1.1 sound/pcmcia/vx/vxp_ops.c # (new) -> 1.1 sound/drivers/vx/vx_mixer.c # (new) -> 1.2 drivers/mtd/maps/amd76xrom.c # (new) -> 1.1 drivers/mtd/maps/nettel.c # (new) -> 1.1 drivers/net/wireless/atmel.c # (new) -> 1.1 sound/drivers/opl4/opl4_mixer.c # (new) -> 1.1 drivers/mtd/mtdblock.h # (new) -> 1.1 sound/pcmcia/vx/vxpocket.h # (new) -> 1.1 sound/drivers/vx/vx_uer.c # (new) -> 1.1 drivers/mtd/maps/mbx860.c # (new) -> 1.1 arch/m68knommu/platform/5307/ints.c # (new) -> 1.1 drivers/mtd/chips/cfi_cmdset_0020.c # (new) -> 1.1 sound/pci/ice1712/aureon.c # (new) -> 1.1 sound/drivers/vx/vx_hwdep.c # (new) -> 1.1 drivers/mtd/maps/arctic-mtd.c # (new) -> 1.1 drivers/mtd/nand/nand_ids.c # (new) -> 1.1 sound/drivers/vx/vx_cmd.h # (new) -> 1.1 sound/parisc/harmony.c # (new) -> 1.1 sound/drivers/opl4/opl4_local.h # (new) -> 1.1 sound/drivers/opl4/opl4_synth.c # (new) -> 1.1 Documentation/DocBook/gadget.tmpl # (new) -> 1.1 include/sound/opl4.h # (new) -> 1.1 drivers/net/wireless/atmel_cs.c # (new) -> 1.1 drivers/mtd/devices/ms02-nv.h # (new) -> 1.1 sound/drivers/opl4/opl4_seq.c # (new) -> 1.1 sound/pcmcia/Kconfig # (new) -> 1.1 Documentation/rocket.txt # (new) -> 1.1 sound/pci/vx222/vx222.c # (new) -> 1.1 drivers/mtd/maps/scb2_flash.c # (new) -> 1.1 sound/parisc/Kconfig # (new) -> 1.1 sound/pci/azt3328.c # (new) -> 1.1 include/linux/mtd/blktrans.h # (new) -> 1.1 drivers/mtd/maps/beech-mtd.c # (new) -> 1.1 drivers/mtd/maps/lubbock-flash.c # (new) -> 1.2 include/linux/topology.h # (new) -> 1.1 include/asm-i386/mach-generic/mach_apicdef.h # (new) -> 1.1 drivers/mtd/maps/redwood.c # (new) -> 1.1 sound/drivers/vx/vx_cmd.c # (new) -> 1.2 include/sound/ak4xxx-adda.h # (new) -> 1.1 drivers/mtd/maps/ebony.c # (new) -> 1.1 sound/pci/vx222/Makefile # (new) -> 1.1 sound/drivers/opl4/Makefile # (new) -> 1.2 sound/drivers/vx/vx_core.c # (new) -> 1.1 include/linux/mtd/inftl.h # (new) -> 1.1 drivers/mtd/maps/tsunami_flash.c # (new) -> 1.1 sound/drivers/opl4/opl4_lib.c # (new) -> 1.1 sound/drivers/opl4/opl4_proc.c # (new) -> 1.2 sound/i2c/other/ak4xxx-adda.c # (new) -> 1.1 sound/pci/vx222/vx222.h # (new) -> 1.1 sound/parisc/Makefile # (new) -> 1.1 drivers/mtd/nand/edb7312.c # (new) -> 1.1 sound/pci/ice1712/aureon.h # (new) -> 1.1 drivers/mtd/maps/pb1xxx-flash.c # (new) -> 1.1 sound/pci/azt3328.h # (new) -> 1.1 drivers/mtd/maps/ich2rom.c # (new) -> 1.1 sound/drivers/opl4/yrw801.c # # The following is the BitKeeper ChangeSet Log # -------------------------------------------- # 03/05/26 torvalds@home.transmeta.com 1.1229.8.33 # Linux v2.5.70 # -------------------------------------------- # 03/05/27 davej@codemonkey.org.uk 1.1229.9.1 # [AGPGART] Compilation fix. # Death of a typedef in an earlier cset broke i810fb # -------------------------------------------- # 03/05/27 davej@codemonkey.org.uk 1.1229.9.2 # [AGPGART] Remove useless early agp_init() from i810fb # agp_init() just printk's a banner. This is unnecessary at this early stage. # -------------------------------------------- # 03/05/26 jejb@raven.il.steeleye.com 1.1229.10.1 # Automerge # -------------------------------------------- # 03/05/26 jejb@raven.il.steeleye.com 1.1229.8.34 # Merge raven.il.steeleye.com:/home/jejb/BK/scsi-misc-2.5 # into raven.il.steeleye.com:/home/jejb/BK/scsi-for-linus-2.5 # -------------------------------------------- # 03/05/27 davej@tetrachloride.(none) 1.1229.11.1 # Merge tetrachloride.(none):/mnt/raid/src/kernel/2.5/bk-linus # into tetrachloride.(none):/mnt/raid/src/kernel/2.5/agpgart # -------------------------------------------- # 03/05/26 jejb@raven.il.steeleye.com 1.1229.8.35 # Merge raven.il.steeleye.com:/mnt1/jejb/BK/scsi-aic-2.5 # into raven.il.steeleye.com:/home/jejb/BK/scsi-for-linus-2.5 # -------------------------------------------- # 03/05/26 akpm@digeo.com 1.1229.12.1 # [PATCH] truncate and timestamps # # This patch will put us back to the 2.4 behaviour while preserving the # truncation speedup. It's a bit dopey (why do the timestamp update in # the fs at all?) but changing this stuff tends to cause subtle # problems. # -------------------------------------------- # 03/05/27 paulus@samba.org 1.1241 # Merge samba.org:/home/paulus/kernel/linux-2.5 # into samba.org:/home/paulus/kernel/for-linus-ppc # -------------------------------------------- # 03/05/26 acme@conectiva.com.br 1.1229.13.1 # o wanrouter: fix bug introduced by latest namespace fix # # Thanks to Adrian Bunk for reporting. # -------------------------------------------- # 03/05/26 torvalds@home.transmeta.com 1.1229.8.36 # Merge bk://linux-scsi.bkbits.net/scsi-for-linus-2.5 # into home.transmeta.com:/home/torvalds/v2.5/linux # -------------------------------------------- # 03/05/26 bcollins@debian.org 1.1229.8.37 # [PATCH] Update IEEE1394 (r939) # # - Adds fragementation support to eth1394 # - Fix race conditition in packet completion task call # - Fix lack of proper logic in tlabel allocation # - Fix brokeness introduced by "stanford checker fixes for memset" in # ohci1394 # - Add trivial PM resume callback in ohci1394 to support sleep/resume. # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.38 # [PATCH] callout removal: ircomm_tty # # callout removal: ircomm_tty # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.39 # [PATCH] callout removal: mcfserial # # callout removal: mcfserial # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.40 # [PATCH] callout removal: 68360 # # callout removal: 68360 # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.41 # [PATCH] callout removal: tc_zs # # callout removal: tc_zs # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.42 # [PATCH] callout removal: sgiserial # # callout removal: sgiserial # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.43 # [PATCH] callout removal: aurora # # callout removal: aurora # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.44 # [PATCH] callout removal: stallion # # callout removal: stallion # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.45 # [PATCH] callout removal: rio # # callout removal: rio # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.46 # [PATCH] callout removal: sx # # callout removal: sx # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.47 # [PATCH] callout removal: specialix # # callout removal: specialix # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.48 # [PATCH] callout removal: a2232 # # callout removal: a2232 # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.49 # [PATCH] callout removal: riscom8 # # callout removal: riscom8 # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.50 # [PATCH] callout removal: istallion # # callout removal: istallion # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.51 # [PATCH] callout removal: sci # # callout removal: sci # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.52 # [PATCH] callout removal: vme # # callout removal: vme # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.53 # [PATCH] callout removal: tx3912 # # callout removal: tx3912 # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.54 # [PATCH] callout removal: generic_serial # # callout removal: generic_serial # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.55 # [PATCH] callout removal: isicom # # callout removal: isicom # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.56 # [PATCH] callout removal: 68328 # # callout removal: 68328 # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.57 # [PATCH] callout removal: chdlc # # callout removal: chdlc # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.58 # [PATCH] callout removal: pc300 # # callout removal: pc300 # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.59 # [PATCH] callout removal: macserial # # callout removal: macserial # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.60 # [PATCH] callout removal: synclink_cs # # callout removal: synclink_cs # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.61 # [PATCH] callout removal: synclinkmp # # callout removal: synclinkmp # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.62 # [PATCH] callout removal: synclink # # callout removal: synclink # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.63 # [PATCH] callout removal: serial167 # # callout removal: serial167 # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.64 # [PATCH] callout removal: rocket # # callout removal: rocket # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.65 # [PATCH] callout removal: pcxx # # callout removal: pcxx # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.66 # [PATCH] callout removal: mxser # # callout removal: mxser # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.67 # [PATCH] callout removal: moxa # # callout removal: moxa # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.68 # [PATCH] callout removal: ip2 # # callout removal: ip2 # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.69 # [PATCH] callout removal: esp # # callout removal: esp # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.70 # [PATCH] callout removal: epca # # callout removal: epca # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.71 # [PATCH] callout removal: dz # # callout removal: dz # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.72 # [PATCH] callout removal: cyclades # # callout removal: cyclades # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.73 # [PATCH] callout removal: amiserial # # callout removal: amiserial # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.74 # [PATCH] callout removal: 8xx_uart # # callout removal: 8xx_uart # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.75 # [PATCH] callout removal: 8260_uart # # callout removal: 8260_uart # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.76 # [PATCH] callout removal: sicc # # callout removal: sicc # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.77 # [PATCH] callout removal: vacserial # # callout removal: vacserial # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.78 # [PATCH] callout removal: mips # # callout removal: mips # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.79 # [PATCH] callout removal: simserial # # callout removal: simserial # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.80 # [PATCH] callout removal: cris # # callout removal: cris # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.81 # [PATCH] callout removal: isdn # # callout removal: isdn # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.82 # [PATCH] callout removal: cleanup # # misc cleanup - switched to standard constant names for .subtype in the # drivers that had private equivalents, removed unused ->callout_termios # and friends from the last places where they were defined. # -------------------------------------------- # 03/05/26 viro@www.linux.org.uk 1.1229.8.83 # [PATCH] callout removal: callout is gone # # OK, that's it - no callout drivers left, so we drop the warning from # tty_open() and kill the code that handles them in /proc/tty/drivers. # -------------------------------------------- # 03/05/26 neilb@cse.unsw.edu.au 1.1229.8.84 # [PATCH] md: Export bio_split_pool for md to use. # -------------------------------------------- # 03/05/26 neilb@cse.unsw.edu.au 1.1229.8.85 # [PATCH] md: Use new single page bio splitting for raid0 and linear # # Sometimes raid0 and linear are required to take a single page bio that # spans two devices. We use bio_split to split such a bio into two. # # The the same time, bio.h is included by linux/raid/md.h so # we don't included it elsewhere anymore. # # We also modify the mergeable_bvec functions to allow a bvec # that doesn't fit if it is the first bvec to be added to # the bio, and be careful never to return a negative length from a # bvec_mergable funciton. # -------------------------------------------- # 03/05/26 neilb@cse.unsw.edu.au 1.1229.8.86 # [PATCH] md: Handle concurrent failure of two drives in raid5 # # If two drives both fail during a write request, raid5 doesn't # cope properly and will eventually oops. # # With this patch, blocks that have already been 'written' # are failed when double drive failure is noticed, as well as # blocks that are about to be written. # -------------------------------------------- # 03/05/26 neilb@cse.unsw.edu.au 1.1229.8.87 # [PATCH] md: Improve test for which raid1 device doesn't need to be written to. # # Instead of testing last_used (which could change in unusual circumstances) we # test against the bdev that we read frmo, and don't write back to there. # -------------------------------------------- # 03/05/26 neilb@cse.unsw.edu.au 1.1229.8.88 # [PATCH] md: Fix simple off-by-one error in md driver. # -------------------------------------------- # 03/05/26 neilb@cse.unsw.edu.au 1.1229.8.89 # [PATCH] md: Get rid of vmalloc/vfree from raid0 # # raid0 currently uses vmalloc instead of kmalloc. This patch # changes to kmalloc. # There is one allocation that can occasionally be very large - the hash_table. # A subsequent patch will address this issue. # -------------------------------------------- # 03/05/26 neilb@cse.unsw.edu.au 1.1229.8.90 # [PATCH] md: Always allow a half-built md array to be stopped. # # When starting an array fails, we have to tear it down, but # in some circumstances (particularly autostart_array) the # reference count will be 3, so do_md_stop will fail. # # With this patch we only worry about the number of users # is the array has been fully started. # -------------------------------------------- # 03/05/26 neilb@cse.unsw.edu.au 1.1229.8.91 # [PATCH] md: Improve raid0 mapping code to simplify and reduce mem usage. # # To cope with a raid0 array with differing sized devices, # raid0 divides an array into "strip zones". # The first zone covers the start of all devices, upto an offset # equal to the size of the smallest device. # # The second strip zone covers the remaining devices upto the size of the # next smallest size, etc. # # In order to determing which strip zone a given address is in, # the array is logically divided into slices the size of the smallest # zone, and a 'hash' table is created listing the first and, if relevant, # second zone in each slice. # # As the smallest slice can be very small (imagine an array with a # 76G drive and a 75.5G drive) this hash table can be rather large. # # With this patch, we limit the size of the hash table to one page, # at the possible cost of making several probes into the zone list # before we find the correct zone. # # We also cope with the possibility that a zone could be larger than # a 32bit sector address would allow. # -------------------------------------------- # 03/05/26 neilb@cse.unsw.edu.au 1.1229.8.92 # [PATCH] md: Remove dependancy on MD_SB_DISKS from multipath # # Multipath has a dependancy on MD_SB_DISKS which is no # longer authoritative. We change it to use a separately # allocated array. # -------------------------------------------- # 03/05/26 neilb@cse.unsw.edu.au 1.1229.8.93 # [PATCH] md: Remove dependancy on MD_SB_DISKS from raid5 # # One embeded array gets moved to end of structure and # sized dynamically. # -------------------------------------------- # 03/05/26 neilb@cse.unsw.edu.au 1.1229.8.94 # [PATCH] md: Remove dependancy on MD_SB_DISKS from raid0 # # Arrays with type-1 superblock can have more than # MD_SB_DISKS, so we remove the dependancy on that number from # raid0, replacing several fixed sized arrays with one # dynamically allocated array. # -------------------------------------------- # 03/05/26 neilb@cse.unsw.edu.au 1.1229.8.95 # [PATCH] md: Remove MD_SB_DISKS limits from raid1 # # raid1 uses MD_SB_DISKS to size two data structures, # but the new version-1 superblock allows for more than # this number of disks (and most actual arrays use many # fewer). # This patch sizes to two arrays dynamically. # One becomes a separate kmalloced array. # The other is moved to the end of the containing structure # and appropriate extra space is allocated. # # Also, change r1buf_pool_alloc (which allocates buffers for # a mempool for doing re-sync) to not get r1bio structures # from the r1bio pool (which could exhaust the pool) but instead # to allocate them separately. # -------------------------------------------- # 03/05/26 neilb@cse.unsw.edu.au 1.1229.8.96 # [PATCH] md: Remove dependance on MD_SB_DISKS in linear personality # # Linear uses one array sized by MD_SB_DISKS inside a structure. # We move it to the end of the structure, declare it as size 0, # and arrange for approprate extra space to be allocated on # structure allocation. # -------------------------------------------- # 03/05/26 neilb@cse.unsw.edu.au 1.1229.8.97 # [PATCH] md: Replace bdev_partition_name with calls to bdevname # -------------------------------------------- # 03/05/26 gerg@snapgear.com 1.1229.8.98 # [PATCH] create m68knommu/coldfire specific ints.c # # Create a m68knommu/ColdFire specific ints.c. It is just simpler to # have one for each sub-architecture (which means we currently need 3 # for the 3 prominant m68knommu families). Each can handle the hardware # setup differences, and there is a few at this level. # -------------------------------------------- # 03/05/26 gerg@snapgear.com 1.1229.8.99 # [PATCH] remove common m68knommu ints.c # # Remove the m68knommu common ints.c. No longer needed with each # sub-architecture now having its own. # -------------------------------------------- # 03/05/26 gerg@snapgear.com 1.1229.8.100 # [PATCH] don't compile m68knommu/kernel ints.c # # Modify m68knommu/kernel Makefile to no longer compile removed # common ints.c. # -------------------------------------------- # 03/05/26 gerg@snapgear.com 1.1229.8.101 # [PATCH] compile m68knommu/ColdFire ints.c # # Add the m68knommu/Coldfire specific ints.c to build list. # -------------------------------------------- # 03/05/27 shmulik.hen@intel.com 1.1229.14.1 # [netdrvr bonding] fix long failover in 802.3ad mode # # This patch fixes the bug reported by Jay on April 3rd regarding long # failover time when releasing the last slave in the active aggregator. The # fix, as suggested by Jay, is to follow the spec recommendation and send a # LACPDU to the partner saying this port is no longer aggregatable and # therefore trigger an immediate re-selection of a new aggregator instead of # waiting the entire expiration timeout. # -------------------------------------------- # 03/05/27 shmulik.hen@intel.com 1.1229.14.2 # [netdrvr bonding] fix ABI version control problem # # This fix makes bonding not commit to a specific ABI version if the ioctl # command is not supported by bonding. # # (It also removes the '\n' in the continuous printk reporting the link down # event in bond_mii_monitor - it got in there by mistake in our previous # patch set and caused log messages to appear funny in some situations). # -------------------------------------------- # 03/05/27 bunk@fs.tum.de 1.1229.14.3 # [wan lmc] remove 2.0.x-era code # # The patch below removes obsolete #if'd code for kernel 2.0 and 2.2 from # drivers/net/wan/lmc/* (this includes the expansion of some #define's # that were definded differently for different kernel versions). # -------------------------------------------- # 03/05/27 edward_peng@dlink.com.tw 1.1229.14.4 # [netdrvr sundance] fix flow control bug # -------------------------------------------- # 03/05/27 edward_peng@dlink.com.tw 1.1229.14.5 # [netdrvr sundance] fix another flow control bug # -------------------------------------------- # 03/05/27 jgarzik@redhat.com 1.1229.14.6 # [netdrvr eepro] update MODULE_AUTHOR per old-author request # -------------------------------------------- # 03/05/27 engebret@us.ibm.com 1.1229.14.7 # [netdrvr pcnet32] bug fixes # # I would like to see a couple of the pcnet32 changes that I think we can # agree on be put into the trees so a couple of the potential defects can be # avoided. The following patch contains just these pieces. The only # controversial one is an arbitrary change in the number of iterations in a # while loop spinning on hardware state. No matter how this is done, I am # not especially fond of this bit of code as it has no reasonable error # recovery path -- however, as a half-way, incremental solution, increasing # the polling time should help as the 100 value was certainly found to be # insufficient. 1000 may not be sufficient either, but it is certainly no # worse. # # Both of the other changes were hit in testing (and I belive the wmb() at a # customer even), so it would help reduce some debug if these go in. Any # feedback is appreciated - thanks. # -------------------------------------------- # 03/05/27 paulus@samba.org 1.1242 # Merge samba.org:/home/paulus/kernel/linux-2.5 # into samba.org:/home/paulus/kernel/for-linus-ppc # -------------------------------------------- # 03/05/26 torvalds@home.transmeta.com 1.1229.8.102 # Merge bk://kernel.bkbits.net/jgarzik/net-drivers-2.5 # into home.transmeta.com:/home/torvalds/v2.5/linux # -------------------------------------------- # 03/05/26 torvalds@home.transmeta.com 1.1229.8.103 # Remove a few zero-sized files, as noted by David Gibson. # -------------------------------------------- # 03/05/26 davem@nuts.ninka.net 1.1229.7.27 # Merge nuts.ninka.net:/home/davem/src/BK/network-2.5 # into nuts.ninka.net:/home/davem/src/BK/net-2.5 # -------------------------------------------- # 03/05/27 davem@nuts.ninka.net 1.1229.7.28 # Merge bk://kernel.bkbits.net/acme/net-2.5 # into nuts.ninka.net:/home/davem/src/BK/net-2.5 # -------------------------------------------- # 03/05/27 yoshfuji@linux-ipv6.org 1.1229.7.29 # [CRYPTO]: Fix compiler warnings in sha512.c # -------------------------------------------- # 03/05/27 yoshfuji@linux-ipv6.org 1.1229.7.30 # [IPV6]: Fix possible idev leakage in icmp.c # -------------------------------------------- # 03/05/27 davem@nuts.ninka.net 1.1229.7.31 # [NET]: One too many IRQ_HANDLED added to sunqe.c driver. # -------------------------------------------- # 03/05/27 yoshfuji@linux-ipv6.org 1.1229.7.32 # [IPV6]: Fix possible oops in ndisc_send_na. # -------------------------------------------- # 03/05/27 herbert@gondor.apana.org.au 1.1229.7.33 # [IPSEC]: Order SPD using priority. # -------------------------------------------- # 03/05/27 paulus@samba.org 1.1243 # Merge samba.org:/stuff/paulus/kernel/linux-2.5 # into samba.org:/stuff/paulus/kernel/for-linus-ppc # -------------------------------------------- # 03/05/27 davej@codemonkey.org.uk 1.1229.11.2 # [AGPGART] Yet another missed typedef compile fix. # -------------------------------------------- # 03/05/27 davej@tetrachloride.(none) 1.1229.8.104 # Merge tetrachloride.(none):/mnt/raid/src/kernel/2.5/bk-linus # into tetrachloride.(none):/mnt/raid/src/kernel/2.5/agpgart # -------------------------------------------- # 03/05/27 oliver@vermuden.neukum.org 1.1164.11.1 # 01-debug-cleanup.patch # -------------------------------------------- # 03/05/27 shaggy@shaggy.austin.ibm.com 1.1229.15.1 # Merge jfs@jfs.bkbits.net:linux-2.5 # into shaggy.austin.ibm.com:/shaggy/bk/jfs-2.5 # -------------------------------------------- # 03/05/27 axboe@suse.de 1.1229.16.1 # [PATCH] remove buggy BUG_ON in ide-cd # # Alan (or someone else) added a buggy BUG_ON() in ide-cd. We can address > # 32-bit just fine with 2kb block size. People are hitting this, just got # one more report today... # -------------------------------------------- # 03/05/27 torvalds@home.transmeta.com 1.1229.17.1 # Merge bk://kernel.bkbits.net/davem/net-2.5 # into home.transmeta.com:/home/torvalds/v2.5/linux # -------------------------------------------- # 03/05/27 cifs.adm@hostme.bitkeeper.com 1.1229.18.1 # Merge bk://linux.bkbits.net/linux-2.5 # into hostme.bitkeeper.com:/ua/repos/c/cifs/linux-2.5cifs # -------------------------------------------- # 03/05/27 stevef@smfhome1.austin.rr.com 1.1229.18.2 # adjust for change of devname to const char (new mount format) # -------------------------------------------- # 03/05/27 torvalds@penguin.transmeta.com 1.1229.8.105 # Merge bk://cifs.bkbits.net/linux-2.5cifs # into penguin.transmeta.com:/home/torvalds/v2.5/linux # -------------------------------------------- # 03/05/27 viro@parcelfarce.linux.theplanet.co.uk 1.1229.8.106 # [PATCH] Fix sound lockup - missing chardev init # # Argh. Missing initialization in char_dev.c - it's definitely # responsible for crap on unload. Load side appears to be something else, # though... # -------------------------------------------- # 03/05/27 axboe@suse.de 1.1229.8.107 # [PATCH] blk layer tag resize # # This allows drivers to resize their tag depth at run-time. # -------------------------------------------- # 03/05/27 torvalds@home.transmeta.com 1.1229.17.2 # Merge bk://linus@bkbits.net/linux-2.5 # into home.transmeta.com:/home/torvalds/v2.5/linux # -------------------------------------------- # 03/05/28 anton@samba.org 1.1229.19.1 # ppc64: merge some conflicts # -------------------------------------------- # 03/05/28 anton@samba.org 1.1229.19.2 # ppc64: merge conflicts # -------------------------------------------- # 03/05/27 viro@parcelfarce.linux.theplanet.co.uk 1.1229.17.3 # [PATCH] procfs bug exposed by cdev changes # # fs/inode.c assumes that any ->delete_inode() will call clear_inode(). # procfs instance doesn't. It had passed unpunished for a while; cdev changes # combined with ALSA creating character devices in procfs made it fatal. # # Patch follows. It had fixed ALSA-triggered memory corruption here - # what happens in vanilla 2.5.70 is that clear_inode() is not called when # procfs character device inodes are freed. That leaves a freed inode on # a cyclic list, with obvious unpleasantness following when we try to traverse # it (e.g. when unregistering a device). # -------------------------------------------- # 03/05/27 miles@lsi.nec.co.jp 1.1229.17.4 # [PATCH] Remove some unneeded register saving on the v850 # # These registers are now saved in a difference place, but the old code # was inadvertently left in. # -------------------------------------------- # 03/05/27 miles@lsi.nec.co.jp 1.1229.17.5 # [PATCH] Include in arch/v850/kernel/rte_cb_leds.c # # This is to define `struct file'; apparently some include-file change # removed a previous implicit include. # -------------------------------------------- # 03/05/27 miles@lsi.nec.co.jp 1.1229.17.6 # [PATCH] Miscellaneous v850 whitespace and comment cleanups # -------------------------------------------- # 03/05/27 miles@lsi.nec.co.jp 1.1229.17.7 # [PATCH] Handle new do_fork return value on v850 # -------------------------------------------- # 03/05/27 miles@lsi.nec.co.jp 1.1229.17.8 # [PATCH] Add __KERNEL__ guard to nb85e_cache.h on v850 # # This header ends up getting included by uClibc (though nothing in it is # used), so this protection is necessary to avoid problems with kernel-only # typedefs. # -------------------------------------------- # 03/05/27 miles@lsi.nec.co.jp 1.1229.17.9 # [PATCH] Add leading underline to new linker-script symbols on the v850 # # This is needed to match the output of the C compiler. # -------------------------------------------- # 03/05/27 miles@lsi.nec.co.jp 1.1229.17.10 # [PATCH] Whitespace and comment cleanups for v850 entry.S # -------------------------------------------- # 03/05/27 miles@lsi.nec.co.jp 1.1229.17.11 # [PATCH] Add v850 support for hardware single-step (via ptrace) # -------------------------------------------- # 03/05/27 miles@lsi.nec.co.jp 1.1229.17.12 # [PATCH] Update irq.c on v850 to use irqreturn_t # -------------------------------------------- # 03/05/27 miles@lsi.nec.co.jp 1.1229.17.13 # [PATCH] const-qualify memory arg in v850's __test_bit # # This silences at least one compile-time warning... :-) # -------------------------------------------- # 03/05/28 anton@samba.org 1.1229.20.1 # Merge samba.org:/scratch/anton/linux-2.5 # into samba.org:/scratch/anton/tmp3 # -------------------------------------------- # 03/05/27 hirofumi@mail.parknet.co.jp 1.1229.17.14 # [PATCH] Adds the large partition (> 128GB) support to FAT (1/5) # # This adds large partition (> 128GB) support to FAT. # -------------------------------------------- # 03/05/27 hirofumi@mail.parknet.co.jp 1.1229.17.15 # [PATCH] Fix VFAT_IOCTL_READDIR_BOTH/_SHORT ioctl (2/5) # # This fixes the return value of ioctl() for enables using the same way as # readdir(). # # put/get_user() return code check patch from John R R Leavitt # # -------------------------------------------- # 03/05/27 hirofumi@mail.parknet.co.jp 1.1229.17.16 # [PATCH] Remove Documentation/filesystems/fat_cvf.txt (3/5) # # This removes the obsolete Documentation/filesystems/fat_cvf.txt. # -------------------------------------------- # 03/05/27 hirofumi@mail.parknet.co.jp 1.1229.17.17 # [PATCH] FAT cluster chain cache per superblock (4/5) # # This shifts the data position caches from module to per-superblock, and # cleanups. # -------------------------------------------- # 03/05/27 hirofumi@mail.parknet.co.jp 1.1229.17.18 # [PATCH] FAT cluster chain cache per inode (5/5) # # This adds a cache of lastest accessed cluster to inode for sequential # access. # # The following is 500M file of FAT-to-FAT copy test, this may be a most # different case in usual operations, because maximum readahead window # flush the all caches. # # 512 bytes blocksize, 4096 bytes cluster size. # # linux-2.5.69-bk12 # root@devron (a)[1232]# time cp file file1 # # real 7m58.900s # user 0m0.267s # sys 6m44.258s # # linux-2.5.69-bk12+patch # root@devron (a)[1576]# time cp file file1 # # real 2m44.309s # user 0m0.270s # sys 0m28.631s # -------------------------------------------- # 03/05/27 ink@jurassic.park.msu.ru 1.1229.17.19 # [PATCH] alpha: compile warning fix # # Make the "addr" arg to test_bit "const" to prevent flood of compile # warnings in networking code. # -------------------------------------------- # 03/05/27 ink@jurassic.park.msu.ru 1.1229.17.20 # [PATCH] alpha: fix panic on smp boot (fork_by_hand) # -------------------------------------------- # 03/05/27 ink@jurassic.park.msu.ru 1.1229.17.21 # [PATCH] alpha: typo in EISA bridge detection # -------------------------------------------- # 03/05/27 ink@jurassic.park.msu.ru 1.1229.17.22 # [PATCH] alpha: single-step breakpoints - updated fix # # Restore 2.4 behavior when setting the single step breakpoints. # -------------------------------------------- # 03/05/27 elenstev@mesatop.com 1.1229.17.23 # [PATCH] Use '#ifdef' to test for CONFIG options # -------------------------------------------- # 03/05/27 herbert@gondor.apana.org.au 1.1229.7.34 # [NET]: Missing refcount bump in flow cache. # -------------------------------------------- # 03/05/27 davem@nuts.ninka.net 1.1229.7.35 # [IPV4/IPV6]: Use Jenkins hash for fragment reassembly handling. # -------------------------------------------- # 03/05/27 davem@nuts.ninka.net 1.1229.7.36 # [IPV6]: Input full addresses into TCP_SYNQ hash function. # -------------------------------------------- # 03/05/28 davem@nuts.ninka.net 1.1229.7.37 # [IPV4]: Add sysctl to control ipfrag_secret_interval. # -------------------------------------------- # 03/05/28 acme@conectiva.com.br 1.1229.17.24 # o net: abstract access to struct sock ->flags # # This makes: # # 1. simpler primitive to access struct sock flags, shorter # 2. we check if the flag is valid by using enum sock_flags # 3. we can change the implementation to an open coded bit operations # if it proves to be faster than the more general bit manipulation # routines now used, i.e. we only have to change sock.h, not the # whole net tree like now # -------------------------------------------- # 03/05/28 paulus@samba.org 1.1244 # Merge samba.org:/stuff/paulus/kernel/linux-2.5 # into samba.org:/stuff/paulus/kernel/for-linus-ppc # -------------------------------------------- # 03/05/28 yoshfuji@linux-ipv6.org 1.1229.7.38 # [IPV6]: Clean up ip6_dst_alloc() calls. # -------------------------------------------- # 03/05/28 bdschuym@pandora.be 1.1229.7.39 # [BRIDGE]: Remove unnecessary code in br_input. # -------------------------------------------- # 03/05/28 yoshfuji@linux-ipv6.org 1.1229.7.40 # [IPV6]: Always remove fragment header. # -------------------------------------------- # 03/05/28 yoshfuji@linux-ipv6.org 1.1229.7.41 # [IPV6]: Fix possible dst leakage in ndisc_send_redirect. # -------------------------------------------- # 03/05/28 davem@nuts.ninka.net 1.1229.7.42 # [IPV6]: Fix typo in defragmentation changes. # -------------------------------------------- # 03/05/28 oliver@vermuden.neukum.org 1.1164.11.2 # - major cleanup of the module code # -------------------------------------------- # 03/05/28 rmk@flint.arm.linux.org.uk 1.1229.21.1 # [ARM] Fix GCC3.3 build error # # GCC 3.3 complains that r2 overlaps input operands when a u64 pointer # is passed into __put_user(). Fix this by using ip as a temporary # register instead. # -------------------------------------------- # 03/05/28 shaggy@shaggy.austin.ibm.com 1.1229.22.1 # Merge jfs@jfs.bkbits.net:linux-2.5 # into shaggy.austin.ibm.com:/shaggy/bk/jfs-2.5 # -------------------------------------------- # 03/05/28 rmk@flint.arm.linux.org.uk 1.1229.21.2 # [ARM] Remove old 26-bit ARM keyboard drivers # # Also remove mouse_ps2.c which was never referenced from the Makefile. # -------------------------------------------- # 03/05/28 rmk@flint.arm.linux.org.uk 1.1229.21.3 # [ARM] Declare mmu_gathers using DEFINE_PER_CPU. # -------------------------------------------- # 03/05/28 perex@suse.cz 1.1229.1.145 # Merge suse.cz:/home/perex/bk/linux-sound/linux-2.5 # into suse.cz:/home/perex/bk/linux-sound/linux-sound # -------------------------------------------- # 03/05/28 proski@org.rmk.(none) 1.1127.7.2 # [PATCH] Fix crash when unloading yenta_socket in Linux 2.5.69 # # socket->base is unmapped in yenta_close(), which is called by # cardbus_remove(). The value of socket->base is not changed to # NULL, so it becomes invalid. # # Then cardbus_remove() calls class_device_unregister(), which calls # pcmcia_unregister_socket(), which it turn tries to access memory # space of the socket. # -------------------------------------------- # 03/05/28 rmk@flint.arm.linux.org.uk 1.1229.23.1 # Merge flint.arm.linux.org.uk:/usr/src/linux-bk-2.5/linux-2.5 # into flint.arm.linux.org.uk:/usr/src/linux-bk-2.5/linux-2.5-pcmcia # -------------------------------------------- # 03/05/28 dwmw2@infradead.org 1.1229.24.1 # MTD and JFFS2 update. # # - JFFS2 bugfixes and performance improvements # - Support for 64-bit flash arrangements # - Optimise for linear mappings of flash, without out-of-line access functions # - New map drivers # - Updated NAND flash support, new board drivers # - Support for DiskOnChip Millennium Plus and INFTL translation layer # - Clean up all translation layers with a single blkdev helper library. # - Fix races in MTD device registration/deregistration # - Add support for new flash chips # - Clean up partition parsing code # # More detailed comments in per-file changelogs. # -------------------------------------------- # 03/05/28 dwmw2@infradead.org 1.1229.24.2 # Final cleanups for MTD merge. # -------------------------------------------- # 03/05/28 torvalds@home.transmeta.com 1.1229.23.2 # Make zlib_inflate look more like ANSI C code. # # Anybody who still thinks K&R makes sense should just be shot. # -------------------------------------------- # 03/05/28 torvalds@home.transmeta.com 1.1229.23.3 # Merge master.kernel.org:/home/dwmw2/BK/mtd-forlinus-2.5 # into home.transmeta.com:/home/torvalds/v2.5/linux # -------------------------------------------- # 03/05/28 Matt_Domsch@dell.com 1.1229.25.1 # dynids: use list_add_tail # # instead of list_add, such that later entries come later in the scanned list. # -------------------------------------------- # 03/05/28 Matt_Domsch@dell.com 1.1229.25.2 # dynids: free dynids on driver unload # -------------------------------------------- # 03/05/28 torvalds@home.transmeta.com 1.1229.21.4 # Merge bk://bk.arm.linux.org.uk/linux-2.5-rmk # into home.transmeta.com:/home/torvalds/v2.5/linux # -------------------------------------------- # 03/05/28 torvalds@home.transmeta.com 1.1243.1.1 # Merge bk://ppc.bkbits.net/for-linus-ppc # into home.transmeta.com:/home/torvalds/v2.5/linux # -------------------------------------------- # 03/05/28 davem@nuts.ninka.net 1.1229.7.43 # [TCP]: Do not access inet_sk() of a time-wait bucket. # # Bug discovered by Mandred Spraul. # -------------------------------------------- # 03/05/28 davem@nuts.ninka.net 1.1243.1.2 # Merge nuts.ninka.net:/home/davem/src/BK/network-2.5 # into nuts.ninka.net:/home/davem/src/BK/net-2.5 # -------------------------------------------- # 03/05/28 jgarzik@redhat.com 1.1229.23.4 # [netdrvr tlan] cleanup # # * use pci_{request,release}_regions for PCI devices # * use alloc_etherdev (fixes race) # * propagate error returns from pci_xxx function errors # -------------------------------------------- # 03/05/28 david@gibson.dropbear.id.au 1.1243.1.3 # [PATCH] Update orinoco driver to 0.13e # # This updates the orinoco driver, fixing many bugs and adding some minor # features. It also adds a new module, orinoco_tmd for devices based on # the TMD7168 PCI<->PCMCIA adaptor. # -------------------------------------------- # 03/05/28 jgarzik@redhat.com 1.1229.23.5 # [netdrvr] s/init_etherdev/alloc_etherdev/ in code comments, # in 8139too and pci-skeleton drivers. # -------------------------------------------- # 03/05/29 jgarzik@redhat.com 1.1229.23.6 # [netdrvr 8139too] respond to "isn't this racy?" comment # -------------------------------------------- # 03/05/29 jgarzik@redhat.com 1.1229.23.7 # Merge redhat.com:/garz/repo/init-etherdev-2.5 # into redhat.com:/garz/repo/net-drivers-2.5 # -------------------------------------------- # 03/05/28 anton@samba.org 1.1243.1.4 # [PATCH] compat_wait4 fix # # sys_wait4 can return a pid and in this case we want to copy the struct # rusage out to userspace. # -------------------------------------------- # 03/05/29 jgarzik@redhat.com 1.1229.23.8 # [netdrvr r8169] use alloc_etherdev, pci_disable_device # -------------------------------------------- # 03/05/28 davem@nuts.ninka.net 1.1243.2.1 # [SPARC64]: Fix probe error handling in envctrl.c driver. # -------------------------------------------- # 03/05/28 davem@nuts.ninka.net 1.1243.2.2 # [SPARC64]: Fix probe error handling in bbc_{envctrl,i2c}.c driver. # -------------------------------------------- # 03/05/29 anton@samba.org 1.1229.20.2 # ppc64: Always pass non segment faults on the 0xc region up to do_page_fault # -------------------------------------------- # 03/05/29 dwmw2@infradead.org 1.1243.1.5 # Merge master.kernel.org:/home/torvalds/BK/linux-2.5 # into infradead.org:/inst/bk/linus-2.5 # -------------------------------------------- # 03/05/29 yoshfuji@linux-ipv6.org 1.1243.3.1 # [IPV6]: Fix default router selection in some cases. # -------------------------------------------- # 03/05/29 davem@nuts.ninka.net 1.1243.2.3 # [SPARC64]: Do not export {un,}register_ioctl32_converstion twice. # -------------------------------------------- # 03/05/29 davem@nuts.ninka.net 1.1243.3.2 # Merge bk://kernel.bkbits.net/acme/net-2.5 # into nuts.ninka.net:/home/davem/src/BK/net-2.5 # -------------------------------------------- # 03/05/29 hch@lst.de 1.1243.3.3 # [NET]: Remove sdla from setup.c # -------------------------------------------- # 03/05/29 hch@lst.de 1.1243.2.4 # [SPARC64]: Kill sys_aplib. # -------------------------------------------- # 03/05/29 chas@cmf.nrl.navy.mil 1.1243.3.4 # [ATM]: lane and mpoa module refcounting and locking cleanup. # -------------------------------------------- # 03/05/29 jgarzik@redhat.com 1.1243.3.5 # [ROSE]: Kill kfree of net_device->name. # -------------------------------------------- # 03/05/29 yoshfuji@linux-ipv6.org 1.1243.3.6 # [IPV6]: Add ip6frag sysctls. # -------------------------------------------- # 03/05/29 dwmw2@infradead.org 1.1243.1.6 # Fix some accidental regressions which slipped in with the MTD merge. # # - Unrevert strncpy->strlcpy change in JEDEC chip driver # - Fix partition handling in physmap map driver # - Switch sa1100-flash map driver back to rmk's version. # -------------------------------------------- # 03/05/29 paulus@samba.org 1.1245 # Merge samba.org:/stuff/paulus/kernel/linux-2.5 # into samba.org:/stuff/paulus/kernel/for-linus-ppc # -------------------------------------------- # 03/05/29 davem@nuts.ninka.net 1.1243.3.7 # [NET}: Fix typo in sock_set_flag changes. # -------------------------------------------- # 03/05/30 anton@samba.org 1.1243.4.1 # Merge samba.org:/scratch/anton/linux-2.5 # into samba.org:/scratch/anton/tmp3 # -------------------------------------------- # 03/05/29 gerg@snapgear.com 1.1243.1.7 # [PATCH] fix calls to do_fork() # # Change the m68knommu specific calls to do_fork() to match # its pid return vlue. # -------------------------------------------- # 03/05/29 gerg@snapgear.com 1.1243.1.8 # [PATCH] remove obsolete BLKMEM driver reference # -------------------------------------------- # 03/05/29 gerg@snapgear.com 1.1243.1.9 # [PATCH] cleanup is_in_rom() checker # # Clean up the dodgy is_in_rom() code for m68knommu targets. # # Now that all the m68knommu sub-architectures (68x328, 68360 # and ColdFire) have the same memory setup support we can # make this code the same for all targets. # -------------------------------------------- # 03/05/29 gerg@snapgear.com 1.1243.1.10 # [PATCH] fix broken trace flag check in 68328 system call entry # -------------------------------------------- # 03/05/29 gerg@snapgear.com 1.1243.1.11 # [PATCH] security init call support in linker script # # Linker script updates for m68knommu architecture: # # - fix _ramend for DragonEngine2 board # - add security init call support # -------------------------------------------- # 03/05/29 shaggy@shaggy.austin.ibm.com 1.1229.22.2 # JFS: resize fixes # # Bmap control page was not always being updated. # Superblock's s_size field was incorrectly set on big-endian hardware. # -------------------------------------------- # 03/05/29 shaggy@shaggy.austin.ibm.com 1.1243.5.1 # Merge jfs@jfs.bkbits.net:linux-2.5 # into shaggy.austin.ibm.com:/shaggy/bk/jfs-2.5 # -------------------------------------------- # 03/05/29 alan@lxorguk.ukuu.org.uk 1.1229.23.9 # [netdrvr tlan] fix 64-bit issues # -------------------------------------------- # 03/05/29 perex@suse.cz 1.1243.1.12 # Merge suse.cz:/home/perex/bk/linux-sound/linux-2.5 # into suse.cz:/home/perex/bk/linux-sound/linux-sound # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.1 # o drivers/bluetooth/hci_usb: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.2 # o drivers/isdn/hisax/st5481: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.3 # o drivers/media/video/cpia_usb: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.4 # o drivers/net/irda/irda-usb: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.5 # o drivers/class/audio: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.6 # o drivers/class/bluetty: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.7 # o drivers/class/cdc-acm: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.8 # o drivers/class/usb-midi: initialize struct usb_driver ->owner field # # And remove MOD_{INC,DEC}_USE_COUNT # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.9 # o drivers/usb/core/devio: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.10 # o drivers/usb/core/hub: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.11 # o drivers/usb/image/hpusbscsi: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.12 # o drivers/usb/image/microtek: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.13 # o drivers/usb/image/scanner: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.14 # o drivers/usb/input/aiptek: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.15 # o drivers/usb/input/hid-core: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.16 # o drivers/usb/input/hiddev: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.17 # o drivers/usb/input/kbtab: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.18 # o drivers/usb/input/powermate: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.19 # o drivers/usb/input/usbkbd: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.20 # o drivers/usb/input/usbmouse: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.21 # o drivers/usb/input/wacom: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.22 # o drivers/usb/input/xpad: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.23 # o drivers/usb/media/dabusb: initialize struct usb_driver ->owner field # # Also remove MOD_{INC,DEC}_USE_COUNT # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.24 # o drivers/usb/media/dsbr100: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.25 # o drivers/usb/media/ibmcam: remove MOD_{INC,DEC}_USE_COUNT # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.26 # o drivers/usb/media/konicawc: remove MOD_{DEC,INC}_USE_COUNT # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.27 # o drivers/usb/media/ov511: initialize struct usb_driver ->owner field # # Also remove MOD_{INC,DEC}_USE_COUNT # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.28 # o drivers/usb/media/pwc-if: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.29 # o drivers/usb/media/se401: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.30 # o drivers/usb/media/stv680: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.31 # o drivers/usb/media/ultracam: remove MOD_{INC,DEC}_USE_COUNT # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.32 # o drivers/usb/media/vicam: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.33 # o drivers/usb/misc/auerswald: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.34 # o drivers/usb/misc/emi26: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.35 # o drivers/usb/misc/rio500: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.36 # o drivers/usb/misc/usblcd: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.37 # o drivers/usb/net/catc: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.38 # o drivers/usb/net/cdc-ether: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.39 # o drivers/usb/net/pegasus: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.40 # o drivers/usb/net/rtl8150: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.41 # o drivers/usb/net/usbnet: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.42 # o drivers/usb/serial/belkin_sa: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 reeja.john@amd.com 1.1229.23.10 # [netdrvr amd8111e] interrupt coalescing, libmii, bug fixes # # * Dynamic interrupt coalescing # * mii lib support # * dynamic IPG support (disabled by default) # * jumbo frame fix # * vlan fix # * rx irq coalescing fix # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.43 # o drivers/usb/serial/cyberjack: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.44 # o drivers/usb/serial/digi_acceleport: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.45 # o drivers/usb/serial/empeg: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.46 # o drivers/usb/serial/ftdi_sio: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.47 # o drivers/usb/serial/io_edgeport: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 shemminger@osdl.org 1.1229.23.11 # [netdrvr e100] initialize callbacks before registering netdev # # Ouch. # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.48 # o drivers/usb/serial/io_ti: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/30 anton@samba.org 1.1243.4.2 # ppc64: Add some branch prediction # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.49 # o drivers/usb/serial/ipaq: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.50 # o drivers/usb/serial/ir-usb: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.51 # o drivers/usb/serial/keyspan: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.52 # o drivers/usb/serial/kl5kusb105: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.53 # o drivers/usb/serial/mct_u232: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/30 anton@samba.org 1.1243.7.1 # Merge samba.org:/scratch/anton/linux-2.5 # into samba.org:/scratch/anton/tmp3 # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.54 # o drivers/usb/serial/omninet: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.55 # o drivers/usb/serial/pl2303: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.56 # o drivers/usb/serial/safe_serial: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 greg@kroah.com 1.1243.8.1 # USB: build gadget drivers if they are built into the kernel. # # Somehow this got merged away... # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.57 # o drivers/usb/serial/usb-serial: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.58 # o drivers/usb/serial/visor: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.59 # o drivers/usb/serial/whiteheat: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.60 # o drivers/usb/storage/usb: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/29 acme@conectiva.com.br 1.1243.6.61 # o drivers/usb/usb-skeleton: initialize struct usb_driver ->owner field # -------------------------------------------- # 03/05/30 anton@samba.org 1.1243.7.2 # ppc64: remove ioperm # -------------------------------------------- # 03/05/29 greg@kroah.com 1.1243.8.2 # USB: fix up unusual_devs.h merge mess # # Thanks to Per Winkvist for the info and patches to do this. # -------------------------------------------- # 03/05/29 greg@kroah.com 1.1243.9.1 # Merge http://mdomsch.bkbits.net/linux-2.5-dynids # into kroah.com:/home/greg/linux/BK/pci-2.5 # -------------------------------------------- # 03/05/29 oliver@neukum.org 1.1243.8.3 # [PATCH] USB: allocate memory for reset earlier # # if we fail with -ENOMEM, we should do it before the device must be # reparsed. # -------------------------------------------- # 03/05/29 mdharm-usb@one-eyed-alien.net 1.1243.8.4 # [PATCH] USB: storage: abort and disconnect handling. # # This patch re-organizes abort handling and enhances disconnect handling. # # Not only do we keep track of the state (ABORTING, IDLE, etc.), but during # an abort we now introduce the idea of 'okay to send' or not. The idea is # that we can now implement reset-after-abort properly. # # We also track if we're disconnecting, and use that data to determine if we # can submit URBs or not. Which means we can now disconnect during an abort. # # This patch is from Alan Stern. # -------------------------------------------- # 03/05/29 mdharm-usb@one-eyed-alien.net 1.1243.8.5 # [PATCH] USB: storage: collapse one-use functions # # This patch collapses some one-use functions into their callers. It also # clones some code for control transfers so we can implement abortable # control transfers with timeout. # # This patch is from Alan Stern. # # Remove usb_stor_bulk_msg() and usb_stor_interrupt_msg(). Move their # functionality into usb_stor_bulk_transfer_buf() and # usb_stor_intr_transfer(). # # Move the functionality of usb_stor_control_msg() into # usb_stor_ctrl_transfer(). # # Remove the unused act_len parameter from usb_stor_intr_transfer(). # -------------------------------------------- # 03/05/29 hch@lst.de 1.1243.8.6 # [PATCH] use second arg to scsi_add_host in usb storage # # That way we don't need the addition scsi_set_device call. # -------------------------------------------- # 03/05/29 hch@lst.de 1.1243.8.7 # [PATCH] fix scsi_register_host abuse in usb scanner drivers # # They should be using scsi_add_host directly. I had to rewrite # half of the drivers, though to fix horrible braindamage like # leaving dangling scsi structures around after ->disconnect. # # Gettig rid of the remaining scsi_register_host callers is required # for the scsi stack to move forward so please try to forward this # to Linus in a timely mannor, thanks! # -------------------------------------------- # 03/05/29 torvalds@home.transmeta.com 1.1243.10.1 # Merge bk://kernel.bkbits.net/jgarzik/net-drivers-2.5 # into home.transmeta.com:/home/torvalds/v2.5/linux # -------------------------------------------- # 03/05/29 elenstev@mesatop.com 1.1243.10.2 # [PATCH] K&R to ANSI C conversions for zlib # # Here are some more K&R to ANSI C conversions. # -------------------------------------------- # 03/05/29 elenstev@mesatop.com 1.1243.10.3 # [PATCH] Yet more K&R to ANSI C conversions # # More K&R to ANSI C conversions for lib/zlib_deflate. # -------------------------------------------- # 03/05/29 jgarzik@redhat.com 1.1229.23.12 # Cset exclude: shemminger@osdl.org|ChangeSet|20030529205634|46794 # # The needed fix winds up breaking SG, checksumming, and other stuff # in the process. # -------------------------------------------- # 03/05/29 jgarzik@redhat.com 1.1243.10.4 # Merge redhat.com:/garz/repo/linus-2.5 # into redhat.com:/garz/repo/net-drivers-2.5 # -------------------------------------------- # 03/05/29 scott.feldman@intel.com 1.1243.10.5 # [netdrvr e100] move register_netdev below netdev struct init # # (i.e. the better fix) # -------------------------------------------- # 03/05/29 chas@cmf.nrl.navy.mil 1.1243.3.8 # [ATM]: HE driver coding style conformance. # -------------------------------------------- # 03/05/29 chas@cmf.nrl.navy.mil 1.1243.3.9 # [ATM]: HE driver misc irq handler cleanups. # -------------------------------------------- # 03/05/29 chas@cmf.nrl.navy.mil 1.1243.3.10 # [ATM]: Move rategrid off stack in HE driver. # -------------------------------------------- # 03/05/29 shemminger@osdl.org 1.1243.3.11 # [BRIDGE]: Make delete bridge work with current unregister semantics. # -------------------------------------------- # 03/05/29 shemminger@osdl.org 1.1243.3.12 # [NET]: Sysfs netdev cleanup and bugfix. # # A couple of bugs in netdev_unregister_sysfs; still working on the harder # refcount issues. # - if driver sets get_stats after register then unregister # will attempt to delete kobject that has not be initialized. # - unregister should call kobject_unregister not kobject_del. # # cleanup's: # - use strlcpy instead of snprintf # - don't need to memset the stats kobject # -------------------------------------------- # 03/05/29 jmm@informatik.uni-bremen.de 1.1243.3.13 # [CRYPTO]: Default CRYPTO and MD5 to y if IPV6_PRIVACY is enabled. # -------------------------------------------- # 03/05/29 shemminger@osdl.org 1.1243.3.14 # [NET]: Kill deprecated if_port_text and users. # -------------------------------------------- # 03/05/29 davem@nuts.ninka.net 1.1243.3.15 # [ATM]: Fix driver Makefile clean-files. # -------------------------------------------- # 03/05/29 greg@kroah.com 1.1243.6.62 # Merge bk://kernel.bkbits.net/acme/usb-2.5 # into kroah.com:/home/greg/linux/BK/gregkh-2.5 # -------------------------------------------- # 03/05/29 davem@kernel.bkbits.net 1.1243.11.1 # Merge davem@nuts.ninka.net:/home/davem/src/BK/net-2.5 # into kernel.bkbits.net:/home/davem/net-2.5 # -------------------------------------------- # 03/05/29 gerg@snapgear.com 1.1243.10.6 # [PATCH] conditional ROMfs copy for ARNEWSH/5206 setup # # Make the ROMfs copy in the startup code for ARNEWSH/5260 board # conditional on actually using a ROMfs setup. # -------------------------------------------- # 03/05/29 gerg@snapgear.com 1.1243.10.7 # [PATCH] support BOOTPARAM's on m68knommu/5206 targets # # Support pre-configured boot arguments on m68knommu/5206 targets. # -------------------------------------------- # 03/05/29 gerg@snapgear.com 1.1243.10.8 # [PATCH] support BOOTPARAM's on m68knommu/5206e targets # # Support pre-configured boot arguments on m68knommu/5206e targets. # -------------------------------------------- # 03/05/29 gerg@snapgear.com 1.1243.10.9 # [PATCH] m68knommu/pilot startup copy init segment to RAM # # The m68knommu/pilot startup code is not copying the init segment to # RAM currently. Fix it to copy all of the data and init sections to RAM. # -------------------------------------------- # 03/05/29 davem@kernel.bkbits.net 1.1243.10.10 # Merge davem@nuts.ninka.net:/home/davem/src/BK/sparc-2.5 # into kernel.bkbits.net:/home/davem/sparc-2.5 # -------------------------------------------- # 03/05/29 bcollins@debian.org 1.1243.6.63 # [PATCH] USB Multi-input quirk # -------------------------------------------- # 03/05/29 david-b@pacbell.net 1.1243.6.64 # [PATCH] USB: ethernet "gadget", rx overflows happen # # I tightened up rx overflow logic in the net2280 driver # a while back, and it broke MTU size packets in this # driver (host pads them out). This patch accomodates it # by allocating a slightly larger buffer (almost 3*512). # -------------------------------------------- # 03/05/29 hwahl@hwahl.de 1.1243.6.65 # [PATCH] USB: Patch for Samsung Digimax 410 # # *** a/drivers/usb/storage/unusual_devs.h 2003-05-22 20:54:26.000000000 +0200 # -------------------------------------------- # 03/05/29 akpm@digeo.com 1.1243.12.1 # [PATCH] fix typo in coda # # We want an "|" in there, not "||". # -------------------------------------------- # 03/05/29 akpm@digeo.com 1.1243.12.2 # [PATCH] Fix suspend with pccardd running # # From: Pavel Machek # # This fixes suspend when pccards are used... # -------------------------------------------- # 03/05/29 akpm@digeo.com 1.1243.12.3 # [PATCH] fix oops on resume from apm bios initiated suspend # # From: Milton Miller # # mm is NULL for kernel threads without their own context. active_mm is # maintained the one we lazly switch from. # # Without this patch, apm bios initiated suspend events (eg panel close) # cause an oops on resume in the LDT restore, killing kapmd, which causes # further events to not be polled. # -------------------------------------------- # 03/05/29 akpm@digeo.com 1.1243.12.4 # [PATCH] export mmu_cr4_features to modules # # From: Jan Marek # # The DRM modules (i810) need this symbol. # # As this is a special-case for one particular in-kernel module I changed Jan's # patch from EXPORT_SYMBOL to EXPORT_SYMBOL_GPL. # -------------------------------------------- # 03/05/29 akpm@digeo.com 1.1243.12.5 # [PATCH] [VISWS] irqreturn_t conversion # # From: Andrey Panin # # This small patch (against 2.5.70) updates visws_apic.c in accordance # with linux irq handling changes. # -------------------------------------------- # 03/05/29 akpm@digeo.com 1.1243.12.6 # [PATCH] Fix CONFIG_PROCFS=n # # From: Manfred Spraul # # three build fixes for CONFIG_PROC_FS=n: # # include/linux/procfs.h: # # - add missing proc_pid_unhash, proc_pid_flush declarations. static # inline functions that do nothing. # # - move semicolons around for kclist_{add,del}. gcc-3.2.2 doesn't like # the current syntax. # # drivers/net/pppoe.c: # # - proc_net doesn't exist if CONFIG_PROC_FS=n. # # drivers/scsi/scsi_priv.h: # # - add missing brackets to macro definition. # -------------------------------------------- # 03/05/29 akpm@digeo.com 1.1243.12.7 # [PATCH] zoran user-pointer fix # # From: Hollis Blanchard # # Fix a user pointer deref, found by the Stanford checker. # -------------------------------------------- # 03/05/29 akpm@digeo.com 1.1243.12.8 # [PATCH] irq balance logic fix # # From: Andi Kleen # # The logic is: the global variable is set to the magic value # IRQBALANCE_CHECK_ARCH. It can be overwritten by a __setup function. If # the magic value is still set when the irq balancer is started it asks the # subarchitecture using the NO_BALANCE_IRQ macro. This is defined to a # genapic field in the generic architecture, otherwise constant. Then the # global variable is set and when it is true no balancing happens. # # Previously I had this wrong in that it always disabled it. # # This part should be correct, but it still doesn't seem to work. # # (I left the printk in there until the problem is debugged, could be removed # of course) # -------------------------------------------- # 03/05/29 akpm@digeo.com 1.1243.12.9 # [PATCH] kill lock_kernel() in inode_setattr() # # All we're doing in there is writing things into the inode. I see no need for # the lock_kernel(). # # And holding lock_kernel() across mark_inode_dirty() hurts on big SMP. # -------------------------------------------- # 03/05/29 akpm@digeo.com 1.1243.12.10 # [PATCH] i2o memleak comment # # From: Andy Whitcroft # # There's a spot in i2o where we deliberately leak some memory when the # hardware plays up. The alternative is to let the hardware scribble on it at # some unknown time in the future. # # Things like the Stanford checker keep alleging that this is a bug. So shut # them up with a comment # -------------------------------------------- # 03/05/29 akpm@digeo.com 1.1243.12.11 # [PATCH] write_one_page() fixlets # # - set the number of pages to be written to "1". # # - Don't test PG_writeback twice. # -------------------------------------------- # 03/05/29 akpm@digeo.com 1.1243.12.12 # [PATCH] speed up the unlink speedup # # I'm not sure why I used igrab() in unlink(). igrab takes the oft-taken # inode_lock. # # The caller has a ref, so a simple increment of i_count will suffice. # -------------------------------------------- # 03/05/29 akpm@digeo.com 1.1243.12.13 # [PATCH] Remove unneeded fcntl check # # The NR_OPEN check in F_DUPFD is unneeded. viro says: # # "We check the limits in locate_fd() (called by dupfd()). Check for NR_OPEN # can (and should) be dropped - locate_fd() will never go beyond that # (expand_fd() will check it and refuse to go). # # "IOW, simply lose the check. We _might_ want to check signedness, but that's # it (IOW, check that arg will fit into 0..MAX_INT; second argument of dupfd() # is an int). OTOH, we might actually make dupfd() et.al. take unsigned long # and kill that crap completely." # # And indeed, the signedness is suspicious, so make various things in there # unsigned too. # -------------------------------------------- # 03/05/29 akpm@digeo.com 1.1243.12.14 # [PATCH] unregister_netdev cleanups # # Replace # # rtnl_lock(); # register_netdevice(dev); # rtnl_unlock(); # # with the equivalent # # register_netdev(); # # in numerous places. # -------------------------------------------- # 03/05/29 akpm@digeo.com 1.1243.12.15 # [PATCH] support 64 bit pci_alloc_consistent # # From: Jes Sorensen # # This is patch which provides support for 64 bit address allocations from # pci_alloc_consistent(), based on the address mask set through # pci_set_consistent_dma_mask(). This is necessary on some platforms which # are unable to provide physical memory in the lower 4GB block and do not # provide IOMMU support for cards operating in certain bus modes, such as # PCI-X on the SGI SN2. # # The default mask for pci_alloc_consistent() is still 32 bit as there are 64 # bit capable hardware out there that doesn't support 64 bit addresses for # descripters etc. Likewise, platforms which provide IOMMU support in all # bus modes can ignore struct pci_dev->consistent_dma_mask and just return a # 32 bit address as before. # # The patch also includes changes to tg3.c to make it use the new api as well # as a documentation update. I have done my best on the documentation part, # if anyone feel the can make my scribbles clearer, please do. # # Thanks to Dave Miller, Grant Grundler, James Bottomley, Colin Ngam, and # Jeremy Higdon for input and code/documentation portions. # -------------------------------------------- # 03/05/29 akpm@digeo.com 1.1243.12.16 # [PATCH] svcsock use-after-free fix # # From: Neil Brown # # Extract ->stamp from skb *before* freeing it in svcsock.c # # As we sometime copy and free an skb, and sometime us it in-place, we must # be careful to extract information from it *before* it might be freed, not # after. # # Manfred's page-unmapping debug patch found this one. # -------------------------------------------- # 03/05/29 akpm@digeo.com 1.1243.12.17 # [PATCH] Fix writev when a segment generates EFAULT # # From: Martin Schwidefsky # # If writev() is passed a vector in which the second or later segment generates # a fault it will currently return -EFAULT. # # It shouldn't. It should write what it can and return the number of bytes # which were successfully copied. # # Fix that up by writing the partial result and then returning the right value. # -------------------------------------------- # 03/05/29 akpm@digeo.com 1.1243.12.18 # [PATCH] Fixes trivial error in # # From: Herbert Xu # # This patch adds a pair of missing quotes. # -------------------------------------------- # 03/05/29 akpm@digeo.com 1.1243.3.16 # [NET]: Convert rtnl_lock/register_netdevice/rtnl_unlock to register_netdev. # -------------------------------------------- # 03/05/29 davem@kernel.bkbits.net 1.1243.11.2 # Merge davem@nuts.ninka.net:/home/davem/src/BK/net-2.5 # into kernel.bkbits.net:/home/davem/net-2.5 # -------------------------------------------- # 03/05/29 torvalds@home.transmeta.com 1.1243.12.19 # Merge bk://kernel.bkbits.net/davem/net-2.5 # into home.transmeta.com:/home/torvalds/v2.5/linux # -------------------------------------------- # 03/05/29 torvalds@home.transmeta.com 1.1243.10.11 # Merge bk://kernel.bkbits.net/davem/sparc-2.5 # into home.transmeta.com:/home/torvalds/v2.5/linux # -------------------------------------------- # 03/05/30 paulus@samba.org 1.1246 # Merge samba.org:/home/paulus/kernel/linux-2.5 # into samba.org:/home/paulus/kernel/for-linus-ppc # -------------------------------------------- # 03/05/30 shaggy@shaggy.austin.ibm.com 1.1243.10.12 # Merge jfs@jfs.bkbits.net:linux-2.5 # into shaggy.austin.ibm.com:/shaggy/bk/jfs-2.5 # -------------------------------------------- # 03/05/30 greg@kroah.com 1.1243.6.66 # [PATCH] USB: remove some old references to /proc/bus/usb/drivers # # This is needed, as the file was deleted over a year ago... # -------------------------------------------- # 03/05/30 stern@rowland.harvard.edu 1.1243.6.67 # [PATCH] USB: fix address assignment after device reset # # Until my ambitious project gets going, this patch at least fixes the # problem of assigning a device's new address following a device reset. # The only change needed to David's original suggestion was to handle the # pathway involved in registering root hubs. # -------------------------------------------- # 03/05/30 proski@gnu.org 1.1243.6.68 # [PATCH] USB: name uninitialized in scanner.c # # Linux 2.5.69-bk18 prints something strange to the kernel log when the USB # scanner is attached. It turns out drivers/usb/image/scanner.c uses # uninitialized variable "name" in probe_scanner() in the printk() call. # That means that random memory is read and output to the kernel log. # -------------------------------------------- # 03/05/30 hch@lst.de 1.1243.13.1 # [PATCH] driver model for scsi upper drivers, take 2 # # On Tue, May 27, 2003 at 09:32:18AM +0200, Christoph Hellwig wrote: # > - removed the tape sysfs pseudodevice crap that caused hangs # > - switched sg to a class_interface. This means sg can be used # > on devices already claimed be an upper driver again. This # > also means I had to remove the sg sysfs attributes temporarily # > because the old mechanism is gone, but I'll restore them # > differently in a followon patch. # # Yikes, this was the old patch again. Here's the right one: # -------------------------------------------- # 03/05/30 jejb@raven.il.steeleye.com 1.1243.13.2 # Fix __exit routine of NCR_D700 # -------------------------------------------- # 03/05/30 greg@kroah.com 1.1243.6.69 # Merge kroah.com:/home/greg/linux/BK/bleed-2.5 # into kroah.com:/home/greg/linux/BK/gregkh-2.5 # -------------------------------------------- # 03/05/30 hch@lst.de 1.1243.13.3 # [PATCH] LDM-based scsi host lookup # # Replace scsi_host_hn_get with scsi_host_lookup that walks # through the shost class and gets a proper reference to the # host. This should fix the OOPS that Douglas saw last week. # -------------------------------------------- # 03/05/30 hch@lst.de 1.1243.13.4 # [PATCH] switch /proc/scsi/scsi to seq_file and proper device model # -------------------------------------------- # 03/05/30 hch@lst.de 1.1243.13.5 # [PATCH] kill scsi_host_get_next # # The only reamining user was a horrible hack with a big XXX: # in scsi_pc98.c. Remove it and add an even bigger XXX there, # we don't want to keep this function (and the scsi hostlist) # around just for this. # -------------------------------------------- # 03/05/30 B.Zolnierkiewicz@elka.pw.edu.pl 1.1243.14.1 # [PATCH] allow "hdX=scsi" for modular scsi/ide-scsi # # Allow a user to mark a device as for scsi # emulation at boot even with modular scsi/ide-scsi. # (from 2.4 patch by Matan Ziv-Av) # -------------------------------------------- # 03/05/30 B.Zolnierkiewicz@elka.pw.edu.pl 1.1243.14.2 # [PATCH] kill "hdX=noremap" # # Since Andries killed ide-geometry, remove "hdX=noremap" # parameter as it is no longer needed. # -------------------------------------------- # 03/05/30 B.Zolnierkiewicz@elka.pw.edu.pl 1.1243.14.3 # [PATCH] fix two IDE list_head problems # # Fix two problems related to list_head's (there are more, wip). # Second bug was uncovered by wli's list_head debugging patch, thanks wli! # # - Remove ata_unused list and use &idedefault_driver->drives only, # fixes list corruption (ata_unused will be later ressurected for hotplug). # # - Do not add same device twice to &idedefault_driver->drives, triggered # by first calling ide_unregister_subdriver() and later ata_attach(). # -------------------------------------------- # 03/05/30 hch@lst.de 1.1243.13.6 # [PATCH] kill remaining direct uses of scsi_register_host # # Together with a patch for the usb imaging drivers I just sent to # Greg this will allow us to get rid of scsi_register_host as exported # API, leaving it only for use of scsi_module.c. # -------------------------------------------- # 03/05/30 axboe@suse.de 1.1243.14.4 # [PATCH] copy the tag_map # # From: Milton Miller # -------------------------------------------- # 03/05/30 axboe@suse.de 1.1243.14.5 # [PATCH] ide-cd buglets # # Assorted small ide-cd fixes, found and fixed by Andy Polyakov # . # # - CHECK_CONDITION really wants to be SAM_STAT_CHECK_CONDITION, the damn # bit shift by one bit again # # - Set sense_len correctly # # - Do post_transform() on the right buffer. # -------------------------------------------- # 03/05/30 axboe@suse.de 1.1243.14.6 # [PATCH] scsi_ioctl HZ fixes # # According to http://www.torque.net/sg/p/sg_v3_ho.html, SG HOWTO, # SG_[GET|SET]_TIMEOUTs are measured in "jiffies," while timeout field # of SG_IO structure - in milliseconds. Inconsistent? Yes. Yet it's no # excuse to disregard the specification. "Jiffies" are USER_HZ, 10ms on # IA-32 platforms and has to be scaled to kernel "jiffies," as suggested # below. As for "(jiffies - start_time) * (1000 / HZ)" vs. # "((jiffies - start_time) * 1000) / HZ." Just think that HZ is 1024 on # some platforms... # -------------------------------------------- # 03/05/30 jejb@raven.il.steeleye.com 1.1243.13.7 # Automerge # -------------------------------------------- # 03/05/30 axboe@suse.de 1.1243.15.1 # [PATCH] ide-cd/scsi/block fixups for SG_IO # # - Kill the bogus ret transformation in block/ioctl.c if we return # -EINVAL, doesn't make any sense. # # - Don't allow sg_reserved_size to be set bigger than a request we can # deal with... # # - timeout fixes. # # - Cleanup of user access. # # - Set SAM_STAT_CHECK_CONDITION, not CHECK_CONDITION which needs to be # bit shifted 1 up. # # - Set sense_len correctly. # # - Account sense_len correctly, don't just increment by 1... # # - Use the correct pointer in post transform. # # - Fix oops in bio_map_user(), it must get the extra reference prior to # calling bio_unmap_user() itself too. # -------------------------------------------- # 03/05/30 torvalds@home.transmeta.com 1.1243.14.7 # Heh. Jens clashes with himself. # -------------------------------------------- # 03/05/30 torvalds@home.transmeta.com 1.1243.10.13 # Merge http://jfs.bkbits.net/linux-2.5 # into home.transmeta.com:/home/torvalds/v2.5/linux # -------------------------------------------- # 03/05/30 akpm@digeo.com 1.1243.10.14 # [PATCH] fix generic_file_write() # # The recent writev() fix broke the invariant that ->commit_write _must_ be # called after a successful ->prepare_write(). It leaves ext3 with a # transaction stuck open and the filesystem locks up. # -------------------------------------------- # 03/05/30 greg@kroah.com 1.1243.6.70 # Merge kroah.com:/home/greg/linux/BK/bleed-2.5 # into kroah.com:/home/greg/linux/BK/gregkh-2.5 # -------------------------------------------- # 03/05/30 henning@meier-geinitz.de 1.1243.6.71 # [PATCH] USB: new vendor/product ids for scanner driver # # This patch adds some new vendor/product ids for the USB scanner # driver. # -------------------------------------------- # 03/05/30 paulkf@microgate.com 1.1243.10.15 # [PATCH] tty_register_driver # # This patch reinstates the ability of tty devices to use dynamically # allocated major numbers yet specify the minor numbers statically. # # The synclink drivers do this. # -------------------------------------------- # 03/05/30 torvalds@penguin.transmeta.com 1.1243.6.72 # Merge bk://kernel.bkbits.net/gregkh/linux/linus-2.5 # into penguin.transmeta.com:/home/torvalds/v2.5/linux # -------------------------------------------- # 03/05/30 bellucda@tiscali.it 1.1243.16.1 # [PATCH] USB: replaced BKL in rio500.c # -------------------------------------------- # 03/05/31 anton@samba.org 1.1243.6.73 # Merge samba.org:/scratch/anton/linux-2.5 # into samba.org:/scratch/anton/tmp3 # -------------------------------------------- # 03/05/30 mochel@osdl.org 1.1229.26.1 # Merge bk://ldm.bkbits.net/linux-2.5-core # into osdl.org:/home/mochel/src/kernel/devel/linux-2.5-core # -------------------------------------------- # 03/05/30 dougg@torque.net 1.1243.17.1 # [PATCH] sg driver for lk 2.5.70 # # This is a bug fix for a flawed patch I put in lk 2.4.19 # (sg version 3.1.24) and has been carried through into # the 2.5 series. Thanks to Andy Polyakov # for pointing this out (more than once). # # The sg.h header didn't get updated last time I submitted # an sg patch so this patch also addresses that. # -------------------------------------------- # 03/05/30 greg@kroah.com 1.1243.18.1 # Merge kroah.com:/home/greg/linux/BK/bleed-2.5 # into kroah.com:/home/greg/linux/BK/gregkh-2.5 # -------------------------------------------- # 03/05/30 jejb@raven.il.steeleye.com 1.1243.13.8 # Automerge # -------------------------------------------- # 03/05/30 jejb@raven.il.steeleye.com 1.1243.13.9 # Merge raven.il.steeleye.com:/home/jejb/BK/scsi-sg-2.5 # into raven.il.steeleye.com:/home/jejb/BK/scsi-misc-2.5 # -------------------------------------------- # 03/05/31 paulus@samba.org 1.1247 # Merge samba.org:/home/paulus/kernel/linux-2.5 # into samba.org:/home/paulus/kernel/for-linus-ppc # -------------------------------------------- # 03/05/30 acme@conectiva.com.br 1.1243.19.1 # o n_hdlc: CodingStyle cleanups and removal of old stuff # # - remove include kerneld.h, long gone # - some 80 column reformatting # - removal of typedefs # - c99 style documentation, using the existing function documentation # - add MODULE_AUTHOR # - remove GET_USER, COPY_TO_USER and friends # - remove ssize_t typedef, already in the kernel headers # - remove rw_count_t and rw_ret_t, use simple int and size_t as in the # tty ops prototypes and avoiding casts for return # - make strings in printk in init/exit module routines __initdata/__exitdata # saving some bytes after module init and for the case where this driver is # statically linked in the kernel (__exitdata is trown away) # # This makes this driver comply with parts of CodingStyle (more to be done) and # makes it looks more like the rest of the kernel, making it easier to read/debug. # # Have been using this modifications with ADSL/syncppp for some time, working well. # -------------------------------------------- # 03/05/31 davem@nuts.ninka.net 1.1243.20.1 # [SPARC64]: Fix sys_shmat handling for 64-bit binaries. # -------------------------------------------- # 03/05/31 herbert@gondor.apana.org.au 1.1243.21.1 # [XFRM]: u64 --> __u64 in linux/xfrm.h # -------------------------------------------- # 03/05/31 perex@suse.cz 1.1243.1.13 # Merge suse.cz:/home/perex/bk/linux-sound/linux-2.5 # into suse.cz:/home/perex/bk/linux-sound/linux-sound # -------------------------------------------- # 03/05/31 vandrove@vc.cvut.cz 1.1243.20.2 # [PATCH] matroxfb update to new API # # This updates the matroxfb driver to the new framebuffer API. # # I'm sorry that it is quite large, but due to completely changed # underlying API there is no reasonable way how to split it into smaller # pieces. # # - Removed support for text mode. No way for it with current API. # - Removed support for hardware cursor. Generic cursor code has enough # troubles as is, in software mode. # - No reasonable fbset support... It is especially annoying on multihead # system, as 'stty cols XXX rows YYY' does not change pixclock... # - Removed fastfont support. No way for it with current API. # # (Mis)features inherited from generic fbdev API: # - Cursor on other framebuffers than primary one does not blink. # - Contents of visible, but not foreground, display is not updated. # -------------------------------------------- # 03/05/31 elenstev@mesatop.com 1.1243.20.3 # [PATCH] More ANSI C cleanup of zlib # # More zlib K&R to ANSI C function header conversions. # -------------------------------------------- # 03/05/31 manfred@colorfullife.com 1.1243.20.4 # [PATCH] Prepare for page unmapper # # Avoid touching the next page in the NMI handler stack validity check. # # That way, we can start unmapping pages that aren't in use, without # triggering this case. # -------------------------------------------- # 03/05/31 acme@conectiva.com.br 1.1243.20.5 # o net: reduce the data dependency of struct sock/struct tcp_tw_bucket # # With this the area that is shared among struct sock and struct tcp_tw_bucket # is exact, i.e. there is no fields that are in struct sock and only reused # for other reasons in tcp_tw_bucket, while keeping both struct free of holes. # -------------------------------------------- # 03/06/01 anton@samba.org 1.1243.6.74 # ppc64: threaded coredump support # -------------------------------------------- # 03/06/01 anton@samba.org 1.1243.6.75 # ppc64: fix copy_from_user leak, from Milton Miller # -------------------------------------------- # 03/06/01 anton@samba.org 1.1243.6.76 # ppc64: Add warning for unhandled irqs # -------------------------------------------- # 03/05/31 davem@nuts.ninka.net 1.1243.22.1 # Merge nuts.ninka.net:/home/davem/src/BK/network-2.5 # into nuts.ninka.net:/home/davem/src/BK/net-2.5 # -------------------------------------------- # 03/05/31 herbert@gondor.apana.org.au 1.1243.22.2 # [XFRM_USER]: Fix xfrm_state_lookup args in xfrm_add_sa. # -------------------------------------------- # 03/05/31 herbert@gondor.apana.org.au 1.1243.22.3 # [XFRM_USER]: Rename confusing member of struct xfrm_usersa_id. # -------------------------------------------- # 03/05/31 kaber@trash.net 1.1243.22.4 # [PPP] fix memory leak in ioctl error path # -------------------------------------------- # 03/05/31 herbert@gondor.apana.org.au 1.1243.22.5 # [XFRM]: Too many reference drops of delpol in xfrm_policy_insert. # -------------------------------------------- # 03/06/01 davem@nuts.ninka.net 1.1243.20.6 # Merge bk://kernel.bkbits.net/acme/sock-2.5 # into nuts.ninka.net:/home/davem/src/BK/net-2.5 # -------------------------------------------- # 03/06/01 davem@nuts.ninka.net 1.1243.20.7 # [XFRM]: Handle use_time expiration properly. # -------------------------------------------- # 03/06/01 perex@suse.cz 1.1243.1.14 # ALSA update 0.9.4 # - added drivers for Digigram VXPocket V2, VXPocket 440 (pcmcia) # - added driver for Digigram VXP220 V2/Mic (PCI) # - added driver Harmony chipset (parisc) # - added OPL4 driver # - code cleanups - removed 2.2 and 2.4 code # - nm256 driver - added Dell Latitude LS workaround # - ac97 driver - fixes in intialization # - usb audio driver - strlcat() fixes # -------------------------------------------- # 03/06/02 paulus@samba.org 1.1248 # Merge samba.org:/stuff/paulus/kernel/linux-2.5 # into samba.org:/stuff/paulus/kernel/for-linus-ppc # -------------------------------------------- # 03/06/01 torvalds@home.transmeta.com 1.1243.1.15 # Merge http://linux-sound.bkbits.net/linux-sound # into home.transmeta.com:/home/torvalds/v2.5/linux # -------------------------------------------- # 03/06/01 viro@parcelfarce.linux.theplanet.co.uk 1.1243.1.16 # [PATCH] Fix disk partitioning with multiple IDE disks # # Now that we use idedefault_driver.drives instead of ata_unused, the order # of drives on the driver->drives becomes significant; note that when we added # to ata_unused, we had done that to the end of list. # # So we should do the same with the "drives" list. # -------------------------------------------- # 03/06/01 greg@kroah.com 1.1243.18.2 # Cset exclude: greg@kroah.com|ChangeSet|20030529215347|05329 # -------------------------------------------- # 03/06/01 mdharm-usb@one-eyed-alien.net 1.1243.18.3 # [PATCH] USB: usb-storage: fix typo # # Typo fix. We need bitwise-OR here. # -------------------------------------------- # 03/06/01 mdharm-usb@one-eyed-alien.net 1.1243.18.4 # [PATCH] USB: usb-storage: timeouts and aborts # # This patch adds timeouts to usb_stor_control_msg(). Now we will no longer # have to use the usb_control_msg() routine in the usb core, so all our # control messages can be interrupted by scsi aborts or disconnects. # # This also includes the new serial-number for auto-REQUEST-SENSE change. # The new serial number has one bit toggled from the old, guaranteeing that # it is unique. # # Following a suggestion of David Brownell, this makes the transport-reset # function attempt to clear a halt condition on both bulk pipes even if one # of them fails. # -------------------------------------------- # 03/06/01 mdharm-usb@one-eyed-alien.net 1.1243.18.5 # [PATCH] USB: usb-storage: usb_stor_control_msg() and stuff # # This patch replaces usb_control_msg() with usb_stor_control_msg() everywhere, # which allows better abort/disconnect processing. # # Some comments are fixed-up. # # The GetMaxLUN function is moved later so URBs are initialized (now that it # uses the new control_msg() ). # # There is also some locking cleanup during reset. # -------------------------------------------- # 03/06/01 mdharm-usb@one-eyed-alien.net 1.1243.18.6 # [PATCH] USB: usb-storage: change result codes # # This patch changes to SAM_STAT_ result codes, which is (a) preferred, # according to the code comments, and (b) removes some odd-looking # bit-shifting. # -------------------------------------------- # 03/06/01 oliver@neukum.org 1.1243.18.7 # [PATCH] USB: return errors when disabling a port # # this allows us to learn about a port that cannot be disabled. It's needed # for a superrobust usb_reset_device(). # -------------------------------------------- # 03/06/01 mochel@osdl.org 1.1243.1.17 # Merge osdl.org:/home/mochel/src/kernel/devel/linux-2.5-virgin # into osdl.org:/home/mochel/src/kernel/devel/linux-2.5-core # -------------------------------------------- # 03/06/02 paulus@samba.org 1.1249 # Merge samba.org:/stuff/paulus/kernel/linux-2.5 # into samba.org:/stuff/paulus/kernel/for-linus-ppc # -------------------------------------------- # 03/06/02 davem@nuts.ninka.net 1.1243.23.1 # [SOUND]: Revert buggy ALSA merge ioctl32 changes. # -------------------------------------------- # 03/06/02 davem@nuts.ninka.net 1.1243.23.2 # [SOUND]: vx/vx_core.c needs linux/init.h # -------------------------------------------- # 03/06/02 davem@nuts.ninka.net 1.1243.23.3 # [SOUND]: Fix sparc cs4231 driver build due to pcm list changes. # -------------------------------------------- # 03/06/02 davem@nuts.ninka.net 1.1243.23.4 # [SPARC64]: Update defconfig. # -------------------------------------------- # 03/06/02 davidvh@cox.net 1.1243.13.10 # [PATCH] Fix compilation errors in ppa and imm modules # # This patch is a resend from LKML since it has yet to be applied in # either bk7. Patrick suggested I send it here. This patch fixes # compilation failures in ppa.c and imm.c that were introduced in 2.5.70-bk1. # # * Removes the 'int hostno' parameter from imm_proc_info(). # Parameter isn't used and breaks the pointer matching for Scsi_Host. # * Added the prototype for imm_proc_info() in imm.h # * Modified line 280 of ppa.c to match concept on line 263 of imm.c. # -------------------------------------------- # 03/06/03 anton@samba.org 1.1243.24.1 # Merge samba.org:/scratch/anton/linux-2.5 # into samba.org:/scratch/anton/tmp3 # -------------------------------------------- # 03/06/02 mhoffman@lightlink.com 1.1243.25.1 # [PATCH] I2C: fix oops w83781d during rmmod # # This fixes the oops during w83781d module removal by putting the # subclient registration back in. While I was in there, I split # w83781d_detect in half in an attempt to reduce the goto madness. # # So, the /sys tree looks like this, where 48 & 49 are the subclients. # There are no entries (besides name & power) for the subclients. # # /sys/bus/i2c/ # |-- devices # | |-- 0-002d -> ../../../devices/pci0/00:02.1/i2c-0/0-002d # | |-- 0-0048 -> ../../../devices/pci0/00:02.1/i2c-0/0-0048 # | `-- 0-0049 -> ../../../devices/pci0/00:02.1/i2c-0/0-0049 # `-- drivers # |-- i2c_adapter # `-- w83781d # |-- 0-002d -> ../../../../devices/pci0/00:02.1/i2c-0/0-002d # |-- 0-0048 -> ../../../../devices/pci0/00:02.1/i2c-0/0-0048 # `-- 0-0049 -> ../../../../devices/pci0/00:02.1/i2c-0/0-0049 # # Also, I fixed a bug where this driver would request and release an # ISA region, then poke around in that region, then finally request # it again. # # This patch against 2.5.70 works for me vs. an SMBus adapter. It needs # re-testing against an ISA adapter since my particular chip is SMBus only. # -------------------------------------------- # 03/06/02 bunk@fs.tum.de 1.1243.18.8 # [PATCH] SECURITY_ROOTPLUG must depend on USB # # The following patch lets SECURITY_ROOTPLUG depend on USB (otherwise # there are link errors since Root Plug Support needs # usb_bus_list{,_lock}): # -------------------------------------------- # 03/06/02 greg@kroah.com 1.1243.18.9 # [PATCH] USB: add usb_find_device() function to USB core. # -------------------------------------------- # 03/06/02 greg@kroah.com 1.1243.18.10 # [PATCH] Root plug: remove USB bus walking functions, now use usb_find_device(). # # Also fixed compiler warnings about the dbg() function. # -------------------------------------------- # 03/06/02 wahrenbruch@kobil.de 1.1243.18.11 # [PATCH] USB: kobil_sct.c added support for KAAN SIM Reader # # as promised - here is the patch for 2.5.70: # Added support for KAAN SIM in kobil_sct. # -------------------------------------------- # 03/06/02 greg@kroah.com 1.1243.18.12 # [PATCH] USB: added .owner to kobil_sct driver # -------------------------------------------- # 03/06/02 greg@kroah.com 1.1243.23.5 # Merge kroah.com:/home/greg/linux/BK/bleed-2.5 # into kroah.com:/home/greg/linux/BK/gregkh-2.5 # -------------------------------------------- # 03/06/03 anton@samba.org 1.1243.24.2 # ppc64: remove sys32.S # -------------------------------------------- # 03/06/02 davidel@xmailserver.org 1.1243.26.1 # [PATCH] epoll race fix # # The was a race triggered by heavy MT usage that could have caused # processes in D state. Bad Davide, bad ... # # Also, the semaphore is now per-epoll-fd and not global. Plus some comment # adjustment. # -------------------------------------------- # 03/06/02 bcollins@debian.org 1.1243.26.2 # [PATCH] Update IEEE1394 (r946) # # ETH1394: Use 64bit EUI as the hardware address. # ETH1394: Support broadcast packets. # SBP2 : Fix max_payload for > S400 # CORE : Fix iso.c compilation by including linux/sched.h directly. # -------------------------------------------- # 03/06/03 anton@samba.org 1.1243.27.1 # Merge samba.org:/scratch/anton/linux-2.5 # into samba.org:/scratch/anton/tmp3 # -------------------------------------------- # 03/06/02 zippel@linux-m68k.org 1.1243.26.3 # [PATCH] Remove old code and macros # # Remove old code and debugging macros which were used by the cml1->kconfig # converter. # -------------------------------------------- # 03/06/02 zippel@linux-m68k.org 1.1243.26.4 # [PATCH] Change P_ROOTMENU into a MENU_ROOT flag # # This changes P_ROOTMENU into a MENU_ROOT flag and also fixes some qconf # usability problems. # # Some gconf fixes by Romain Lievin . # -------------------------------------------- # 03/06/02 zippel@linux-m68k.org 1.1243.26.5 # [PATCH] add new keywords to parser # # Add the following new keywords: def_tristate, def_bool, def_boolean, # select, enable and range. # # Add support for def_tristate and def_bool, which combines default and # bool/tristate into a single statement and a allows simpler definition # of derived symbols. # -------------------------------------------- # 03/06/02 zippel@linux-m68k.org 1.1243.26.6 # [PATCH] expression support # # "default" accepts now not only a single symbol but also an expression # which can be assigned to boolean and tristate symbols. # -------------------------------------------- # 03/06/02 zippel@linux-m68k.org 1.1243.26.7 # [PATCH] reverse dependency support # # The 'select' keyword defines a lower limit for symbols and allows to # select other symbols when a symbol is selected, e.g.: # # config JOLIET # bool "Microsoft Joliet CDROM extensions" # select NLS # # This means when JOLIET is selected, NLS will be selected as well. # -------------------------------------------- # 03/06/02 zippel@linux-m68k.org 1.1243.26.8 # [PATCH] support for 'range' # # The 'range' keyword allows to define a lower and upper limit for integer # and hex symbols. # -------------------------------------------- # 03/06/02 zippel@linux-m68k.org 1.1243.26.9 # [PATCH] add more warnings # # Add a number of warnings to avoid misuse of the previously added features # (most important check for recursive dependencies). # -------------------------------------------- # 03/06/02 zippel@linux-m68k.org 1.1243.26.10 # [PATCH] front end updates # # conf: better choice interface # don't ask for unchangable symbols # # mconf: mark unchangable symbols with '---' # update exit text (from Sam Ravnborg ) # # qconf: update debug output # -------------------------------------------- # 03/06/02 zippel@linux-m68k.org 1.1243.26.11 # [PATCH] create configuration in the destination directory # # This creates the configuration in the destination directory instead of # the current directory. # -------------------------------------------- # 03/06/02 zippel@linux-m68k.org 1.1243.26.12 # [PATCH] update kconfig documentation # # Fix various typos and and information about the new kconfig features. # -------------------------------------------- # 03/06/02 viro@parcelfarce.linux.theplanet.co.uk 1.1243.26.13 # [PATCH] ->minor_shift removal # # disk->minor_shift is not used anymore. Remove it. # -------------------------------------------- # 03/06/02 akpm@digeo.com 1.1243.26.14 # [PATCH] magazine layer for slab # # From: Manfred Spraul # # slab.c is not very efficient for passing objects between cpus. Usually this # is a rare event, but with network routing and cpu-affine NICs it is possible # that nearly all allocation operations will occur on one cpu, and nearly all # free operations on another cpu. # # This causes slab memory to be returned to slab's free page list rather than # being cached on behalf of the particular slab cache. # # The attached patch solves that by adding an array of objects that is shared # by all cpus. Instead of multiple linked list operations per object, object # pointers are now passed to/from the shared array (and thus between cpus) with # memcopy operations. On uniprocessor, the default array size is 0, because # the shared array and the per-cpu head array are redundant. # # Additionally, the patch exports more statistics in /proc/slabinfo and make # the array sizes tunable by writing to /proc/slabinfo. Both changes break # backward compatibility, user space scripts must look at the slabinfo version # and act accordingly. # # The size of the new shared array may be altered at runtime, by writing to # /proc/slabinfo. # # The new parameters for writing to /proc/slabinfo are: # # #echo "cache-name limit batchcount shared" > /proc/slabinfo # # For example "size-4096 120 60 8" improves the slab efficiency for network # routing, because the default values (24 12 8) are too small for the large # series generated due to irq mitigation. Note that only root has write # permissions to /proc/slabinfo. # # These changes provided an overall 12% speedup in Robert Olson's gigE # packet-formwarding testing on 2-way. # -------------------------------------------- # 03/06/02 akpm@digeo.com 1.1243.26.15 # [PATCH] Additional fields in slabinfo # # From: Manfred Spraul # # We need to present more information in /proc/slabinfo now the magazine # layer has been added. # # The slabinfo version has been updated to 2.0. # -------------------------------------------- # 03/06/02 akpm@digeo.com 1.1243.26.16 # [PATCH] initialise vma->vm_next in do_mmap_pgoff() # # We end up inspecting this field in zap_page_range(), on the mmap error path. # Best initialise it to something... # -------------------------------------------- # 03/06/02 akpm@digeo.com 1.1243.26.17 # [PATCH] More irq balance fixes # # From: Andi Kleen # # John Stultz noticed that kirqd didn't start because of another logic error, # which broke irq balancing. This was still a fallout from the generic # subarchitecture changes. # # Actually it still refuses to balance anything on my test box, but perhaps # I'm just not able to generate enough interrupts. # # Anyways, with this patch the thread is running again at least. # -------------------------------------------- # 03/06/02 akpm@digeo.com 1.1243.26.18 # [PATCH] dirty_writeback_centisecs fixes # # This /proc tunable sets the kupdate interval. It has a couple of problems: # # - No way to turn it off completely (userspace dirty memory management # solutions require this). # # - If it has been set to one hour and then the user resets it to five # seconds, that resetting will not take effect for up to an hour. # # Fix that up by providing a sysctl handler. Setting the tunable to zero now # disables the kupdate function. # -------------------------------------------- # 03/06/02 akpm@digeo.com 1.1243.26.19 # [PATCH] Copy nanosecond stat values for i386 # # From: Andi Kleen # # A brown paper bag bug, noticed by Ralf Baechle. # # i386 needs to define STAT_HAVE_NSEC too, otherwise it won't copy # the nanosecond values to user space. # -------------------------------------------- # 03/06/02 akpm@digeo.com 1.1243.26.20 # [PATCH] Some subarch warning fixes # # From: Andi Kleen # # Some recent subarch interface changes caused macro redefinition warnings # for GET_APIC_ID and APIC_ID_MASK with the generic subarchitecture. Fixing # it properly required some reorganization by giving the generic arch a # mach_apicdef.h too. # -------------------------------------------- # 03/06/02 akpm@digeo.com 1.1243.26.21 # [PATCH] MTD build fix # # From: Adrian Bunk # # Fix this: # # drivers/mtd/maps/map_funcs.c: In function `simple_map_read64': # drivers/mtd/maps/map_funcs.c:38: warning: implicit declaration of # function `__raw_readll' # -------------------------------------------- # 03/06/02 akpm@digeo.com 1.1243.26.22 # [PATCH] improved core support for time-interpolation # # From: David Mosberger # # Basically, what the patch does is provide two hooks such that platforms # (and subplatforms) can provide time-interpolation in a way that guarantees # that two causally related gettimeofday() calls will never see time going # backwards (unless there is a settimeofday() call, of course). # # There is some evidence that the current scheme does work: we use it on ia64 # both for cycle-counter-based interpolation and the SGI folks use it with a # chipset-based high-performance counter. # # # It seems like enough platforms do this sort of thing to provide _some_ # support in the core, especially because it's rather tricky to guarantee # that time never goes backwards (short of a settimeofday, of course). # # This patch is based on something Jes Sorensen wrote for the SGI Itanium 2 # platform (which has a chipset-internal high-res clock). I adapted it so it # can be used for cycle-counter interpolation also. The net effect is that # "last_time_offset" can be removed completely from the kernel. # # The basic idea behind the patch is simply: every time you advance xtime by # N nanoseconds, you call update_wall_time_hook(NSEC). Every time the time # gets set (i.e., discontinuity is OK), reset_wall_time_hook() is called. # -------------------------------------------- # 03/06/02 akpm@digeo.com 1.1243.26.23 # [PATCH] ext3: fix for blocksize < PAGE_CACHE_SIZE # # If a buffer_head is outside i_size, block_write_full_page() will leave it # !buffer_mapped(). We shouldn't attach that buffer to the transaction for # writeout! # # This bug has been in 2.5 for some time. # -------------------------------------------- # 03/06/02 akpm@digeo.com 1.1243.26.24 # [PATCH] /proc/kcore fixes # # From: Tony Luck # # /proc/kcore has been broken on some architectures for a long time. Problems # surround the fact that some architectures allocate memory for vmalloc() and # thus modules at addresses below PAGE_OFFSET, which results in negative file # offsets in the virtual core file image provided by /proc/kcore. There are # also pending problems for discontig memory systems as /proc/kcore just # pretends that there are no holes between "PAGE_OFFSET" and "high_memory", so # an unwary user (ok super-user) can read non-existant memory which may do bad # things. There may also be kernel objects that would be nice to view in # /proc/kcore, but do not show up there. # # A pending change on ia64 to allow booting on machines that don't have # physical memory in any convenient pre-determined place will make things even # worse, because the kernel itself won't show up in the current implementation # of /proc/kcore! # # The patch attached provides enough hooks that each architecture should be # able to make /proc/kcore useful. The patch is INCOMPLETE in that *use* of # those hooks is ONLY PROVIDED FOR IA64. # # Here's how it works. The default code in fs/proc/kcore.c doesn't set up any # "elf_phdr" sections ... it is left to each architecture to make appropriate # calls to "kclist_add()" to specify a base address and size for each piece of # kernel virtual address space that needs to be made accessible through # /proc/kcore. To get the old functionality, you'll need two calls that look # something like: # # kclist_add(&kcore_mem, __va(0), # max_low_pfn * PAGE_SIZE); # kclist_add(&kcore_vmem, (void *)VMALLOC_START, # VMALLOC_END-VMALLOC_START); # # The first makes all of memory visible (__i386__, __mc68000__ and __x86_64__ # should use __va(PAGE_SIZE) to duplicate the original lack of access to page # 0). The second provides a single map for all "vmalloc" space (the code still # searches the vmlist to see what actually exists before accessing it). # # Other blocks of kernel virtual space can be added as needed, and removed # again (with kclist_del()). E.g. discontiguous memory machines can add an # entry for each block of memory. Architectures that allocate memory for # modules someplace outside of vmalloc-land can add/remove entries on module # insert and remove. # # The second piece of abstraction is the kc_vaddr_to_offset() and # kc_offset_to_vaddr() macros. These provide mappings from kernel virtual # addresses to offsets in the virtual file that /proc/kcore instantiates. I # hope they are sufficient to avoid negative offset problems that plagued the # old /proc/kcore. Default versions are provided for the old behaviour # (mapping simply adds/subtracts PAGE_OFFSET). For ia64 I just need to use a # different offset as all kernel virtual allocations are in the high 37.5% of # the 64-bit virtual address space. x86_64 was the other architecture with # this problem. I don't know enough (anything) about the kernel memory map on # x86_64, so I hope these provide a big enough hook. I'm hoping that you have # some low stuff, and some high stuff with a big hole in the middle ... in # which case the macros might look something like: # # #define kc_vaddr_to_offset(v) ((v) < 0x1000000000000000 ? (v) : \ # ((v) - 0xF000000000000000)) # # But if you have interesting stuff scattered across *every* part of the # unsigned address range, then you won't be able to squeeze it all into a # signed file offset. # # There are a couple of bug fixes too: # 1) get_kcore_size() didn't account for the elf_prstatus, elf_prpsinfo # and task_struct that are placed in the PT_NOTE section that is # part of the header. We were saved on most configurations by the # round-up to PAGE_SIZE ... but it's possible that some architectures # or machines corrupted memory beyond the space allocated for the # header. # # 2) The size of the PT_NOTES section was incorrectly set to the size # of the last note, rather than the sum of the sizes of all the notes. # -------------------------------------------- # 03/06/02 akpm@digeo.com 1.1243.26.25 # [PATCH] remove 16-bit pid assumption from ipc/sem.c # # From: Manfred Spraul # # SysV sem operations that involve multiple semaphores can fail in the # middle, and then sempid (pid of the last successful operation) must be # restored. This happens with "sempid >>= 16" - broken due to the 32-bit pid # values. The attached patch fixes that by reordering the updates of the # semaphore fields. # # Additionally, the patch fixes the corruption of the sempid value that occurs # if a wait-for-zero operation fails. # # The patch is more than two years old, and was in -dj and -ak kernels. # -------------------------------------------- # 03/06/03 paulus@samba.org 1.1250 # Merge samba.org:/home/paulus/kernel/linux-2.5 # into samba.org:/home/paulus/kernel/for-linus-ppc # -------------------------------------------- # 03/06/02 jim.houston@attbi.com 1.1243.26.26 # [PATCH] preallocate signal queue resource - Posix timers # # This adds a new interface to kernel/signal.c which allows signals to be # sent using preallocated sigqueue structures. It also modifies # kernel/posix-timers.c to use this interface. # # The current timer code may fail to deliver a timer expiry signal if # there are no sigqueue structures available at the time of the expiry. # The Posix specification is clear that the signal queuing resource should # be allocated at timer_create time. This allows the error to be returned # to the application rather than silently losing the signal. # # This patch does not change the sigqueue structure allocation policy. I # hope to revisit that in another patch. # # Here is the definition for the new interface: # # struct sigqueue *sigqueue_alloc(void) # Preallocate a sigqueue structure for use with the functions # described below. # # void sigqueue_free(struct sigqueue *q) # Free a preallocated sigqueue structure. If the sigqueue # structure being freed is still queued, it will be removed # from the queue. I currently leave the signal pending. # It may be delivered without the siginfo structure. # # int send_sigqueue(int sig, struct sigqueue *q, struct task_struct *p) # This function is equivalent to send_sig_info(). It queues # a signal to the specified thread using the supplied sigqueue # structure. The caller is expected to fill in the siginfo_t # which is part of the sigqueue structure. # # int send_group_sigqueue(int sig, struct sigqueue *q, struct task_struct *p) # This function is equivalent to send_group_sig_info(). It queues # the signal to a process allowing the system to select which thread # will receive the signal in a multi-threaded process. # Again, the sigqueue structure is used to queue the signal. # # Both send_sigqueue() and send_group_sigqueue() return 0 if the signal # is queued. They return 1 if the signal was not queued because the # process is ignoring the signal. # # Both versions include code to increment the si_overrun count if the # sigqueue entry is for a Posix timer and they are called while the # sigqueue entry is still queued. Yes, I know that the current code # doesn't rearm the timer until the signal is delivered. Having this # extra bit of code doesn't do any harm, and I plan to use it. # # These routines do not check if there already is a legacy (non-realtime) # signal pending. They always queue the signal. This requires that # collect_signal() always checks if there is another matching siginfo # before clearing the signal bit. # -------------------------------------------- # 03/06/02 torvalds@home.transmeta.com 1.1243.23.6 # Merge penguin:v2.5/linux # into home.transmeta.com:/home/torvalds/v2.5/linux # -------------------------------------------- # 03/06/02 viro@parcelfarce.linux.theplanet.co.uk 1.1243.28.1 # [NET]: Eliminate {init,register,unregister}_fcdev. # -------------------------------------------- # 03/06/02 viro@parcelfarce.linux.theplanet.co.uk 1.1243.28.2 # [NET]: Eliminate init_hippi_dev and {un,}register_hipdev. # -------------------------------------------- # 03/06/02 viro@parcelfarce.linux.theplanet.co.uk 1.1243.28.3 # [NET]: Convert most tokenring drivers away from {init,register,unregister}_trdev, only ibmtr remains. # -------------------------------------------- # 03/06/02 davem@nuts.ninka.net 1.1243.28.4 # [NET]: Kill PTI fddi driver, never completed and no plans to finish. # -------------------------------------------- # 03/06/02 viro@parcelfarce.linux.theplanet.co.uk 1.1243.28.5 # [NET]: Eliminate init_fddidev. # -------------------------------------------- # 03/06/03 anton@samba.org 1.1243.27.2 # ppc64: ppc64 update # -------------------------------------------- # 03/06/02 davem@nuts.ninka.net 1.1243.28.6 # [NET]: Fix CONFIG_HIPPI build. # -------------------------------------------- # 03/06/02 davem@nuts.ninka.net 1.1243.28.7 # [NET]: Fix typos in init_trdev changes to lanstreamer.c # -------------------------------------------- # 03/06/03 anton@samba.org 1.1243.23.7 # Merge samba.org:/scratch/anton/linux-2.5 # into samba.org:/scratch/anton/tmp3 # -------------------------------------------- # 03/06/03 anton@samba.org 1.1243.23.8 # ppc64: copy_tofrom_user exception handling fix from Paul Mackerras # -------------------------------------------- # 03/06/02 davem@nuts.ninka.net 1.1243.28.8 # [NET]: Eliminate {init,register,unregister}_trdev(). # -------------------------------------------- # 03/06/03 anton@samba.org 1.1243.23.9 # ppc64: kcore support # -------------------------------------------- # 03/06/03 anton@samba.org 1.1243.23.10 # ppc64: Increase maximum allocation size to 16MB for largepage support # -------------------------------------------- # 03/06/03 davem@nuts.ninka.net 1.1243.28.9 # [NET]: Eliminate init_etherdev usage from arch/um drivers. # -------------------------------------------- # 03/06/03 anton@samba.org 1.1243.23.11 # ppc64: FORCE_MAX_ZONEORDER is actually order + 1, from Dave Gibson # -------------------------------------------- # 03/06/03 anton@samba.org 1.1243.23.12 # ppc64: fix compile error introduced in threaded coredump patch # -------------------------------------------- # 03/06/03 davem@nuts.ninka.net 1.1243.28.10 # [IPV6]: In ipv6_add_dev dont call __ipv6_regen_rndid without initial reference held. # # Based upon a report from Andrew Morton. # -------------------------------------------- # 03/06/03 davem@nuts.ninka.net 1.1243.28.11 # [NET]: Use INIT_LIST_HEAD in arch/um/drivers/net_kern.c # -------------------------------------------- # 03/06/03 davem@kernel.bkbits.net 1.1243.29.1 # Merge davem@nuts.ninka.net:/home/davem/src/BK/net-2.5 # into kernel.bkbits.net:/home/davem/net-2.5 # -------------------------------------------- # 03/06/03 davem@nuts.ninka.net 1.1243.28.12 # [NET]: Typo in iph5527.c driver changes. # -------------------------------------------- # 03/06/03 davem@kernel.bkbits.net 1.1243.29.2 # Merge davem@nuts.ninka.net:/home/davem/src/BK/net-2.5 # into kernel.bkbits.net:/home/davem/net-2.5 # -------------------------------------------- # 03/06/03 herbert@gondor.apana.org.au 1.1243.29.3 # [PATCH] Fix ide-mod unload crash # # This patch fixes an unload crash when no PCI drivers are loaded. # -------------------------------------------- # 03/06/03 hch@lst.de 1.1243.29.4 # [PATCH] fix signal.h compilation on PPC # # signal.h uses spinlock_t now so it needs to include spinlock.h. # Without this compilation failes on PPC. # -------------------------------------------- # 03/06/03 torvalds@home.transmeta.com 1.1243.23.13 # Merge http://ppc.bkbits.net/for-linus-ppc64 # into home.transmeta.com:/home/torvalds/v2.5/linux # -------------------------------------------- # 03/06/03 davidm@napali.hpl.hp.com 1.1243.23.14 # [PATCH] fix TCP roundtrip time update code # # One of those very-hard-to-track-down, trivial-to-fix kind of problems: # without this patch, TCP roundtrip time measurements will corrupt the # routing cache's RTT estimates under heavy network load (the bug causes # RTAX_RTT to go negative, but since its type is u32, you end up with a # huge positive value...). From there on, later TCP connections quickly # will go south. # # The typo was introduced 8 months ago in v1.29 of the file by the patch # entitled "Cleanup DST metrics and abstrct MSS/PMTU further". # -------------------------------------------- # 03/06/03 anton@samba.org 1.1243.23.15 # [PATCH] fix matroxfb compile on ppc64] # # Here we really want CONFIG_ALL_PPC, since these headers are only valid # for PPC Mac machines (barf: badly named config option). # -------------------------------------------- # 03/06/03 markh@osdl.org 1.1243.23.16 # [PATCH] megaraid driver fix for 2.5.70 # # A recent change to the megaraid driver to fix some memset calls resulted # in overflowing the arrays being cleared and causing a system panic. # This patch fixes the problem by making sure that the arrays being # cleared are dimensioned to the correct size. The patch has been tested # on osdl's stp machines that have megaraid controllers. # -------------------------------------------- # 03/06/03 jejb@raven.il.steeleye.com 1.1243.23.17 # Merge raven.il.steeleye.com:/home/jejb/BK/scsi-misc-2.5 # into raven.il.steeleye.com:/home/jejb/BK/scsi-for-linus-2.5 # -------------------------------------------- # 03/06/03 mochel@osdl.org 1.1243.1.18 # Merge osdl.org:/home/mochel/src/kernel/devel/linux-2.5-virgin # into osdl.org:/home/mochel/src/kernel/devel/linux-2.5-core # -------------------------------------------- # 03/06/03 sam@mars.ravnborg.org 1.1243.30.1 # kbuild: Updated make help # # Patches originally by Adrian Bunk and Rudmer van Dijk. # Included "make V=0|1" and "make C=1" # -------------------------------------------- # 03/06/03 sam@mars.ravnborg.org 1.1243.30.2 # kbuild: Silence kbuild with make V=0 # # With make version 3.80 kbuild echo'ed the fixdep command # executed each time a c file was compiled. # This has been tracked down to a bug in version 3.80 of make. # Avoiding newlines in canned command sequences avoid this problem. # # At the same time consolidated similar code in Makefile.build, # and avoiding a few ifdef/endif pairs resulting in a more readable makefile. # -------------------------------------------- # 03/06/03 mochel@osdl.org 1.1243.1.19 # [driver model] Clean up CPU unregistration. # # From Dave Jones. # -------------------------------------------- # 03/06/03 sam@mars.ravnborg.org 1.1243.30.3 # kbuild: CROSS_COMPILE and ARCH definitions # # Patch originally by Jesse Barnes # # Previously the user were required to supply CROSS_COMPILE and ARCH on the # commandline to make, alternatively they patched the Makefile direct. # The following patch allows the user to specify the value of these in # a variable assigned during init or similar. # # -------------------------------------------- # 03/06/03 mochel@osdl.org 1.1243.1.20 # Driver Class: don't call put_device() when we never called get_device() # # From Greg: # # This fixes a oops when unplugging pci network devices. # -------------------------------------------- # 03/06/04 paulus@samba.org 1.1251 # Merge samba.org:/stuff/paulus/kernel/linux-2.5 # into samba.org:/stuff/paulus/kernel/for-linus-ppc # -------------------------------------------- # 03/06/03 mochel@osdl.org 1.1243.1.21 # [driver model] Clean up class release handling. # # Based on a patch by Stephen Hemminger. # -------------------------------------------- # 03/06/03 mochel@osdl.org 1.1243.1.22 # [kobject] Update Documentation and licenses. # # - Make it very explicit that supplying an object desctructor is imperative # if using the interface for object reference counting. # # - Add GPL statement to the source files. # # - Add GFL (http://www.fsf.org/licenses/fdl.html) statement to documentation. # -------------------------------------------- # 03/06/03 mochel@osdl.org 1.1243.1.23 # [driver model] Update copyrights and license statements. # # It's a slow afternoon. # -------------------------------------------- # 03/06/03 mochel@osdl.org 1.1243.1.24 # [driver model] fix comment in device.h # -------------------------------------------- # 03/06/03 ldm.adm@hostme.bitkeeper.com 1.1243.31.1 # Merge hostme.bitkeeper.com:/ua/repos/l/ldm/linux-2.5 # into hostme.bitkeeper.com:/ua/repos/l/ldm/linux-2.5-core # -------------------------------------------- # 03/06/03 greg@kroah.com 1.1243.9.2 # [PATCH] PCI: make pci_setup_device(), pci_alloc_primary_bus() and pci_alloc_primary_bus_parented() static # # No one is calling these functions. # -------------------------------------------- # 03/06/03 greg@kroah.com 1.1243.9.3 # [PATCH] PCI: make pools_lock and pci_lock static. # # No one is using them outside the pci core. # -------------------------------------------- # 03/06/03 greg@kroah.com 1.1243.9.4 # [PATCH] ACPI PCI Hotplug: remove hand made pci_find_bus function # -------------------------------------------- # 03/06/03 greg@kroah.com 1.1243.9.5 # [PATCH] IBM PCI hotplug: remove hand made pci_find_bus function. # -------------------------------------------- # 03/06/03 B.Zolnierkiewicz@elka.pw.edu.pl 1.1243.23.18 # [PATCH] create /proc/ide/hdX/capacity only once # # In ide_register_subdriver() create drive->proc entries only if driver is # not idedefault_driver. # # [ There won't be /proc/ide/hdX/capacity for devices attached # to idedefault_driver now, it reported 0x7fffffff previously. ] # # Do not create drive->proc entries in create_proc_ide_drives(), they are # added later in ide_register_subdriver(). # -------------------------------------------- # 03/06/03 B.Zolnierkiewicz@elka.pw.edu.pl 1.1243.23.19 # [PATCH] kill recreate_proc_ide_device() # # It is unused and not needed # -------------------------------------------- # 03/06/03 hawkes@oss.sgi.com 1.1243.23.20 # [PATCH] 2.5.70 remove smp_send_reschedule() cruft # # smp_send_reschedule_all() is unused in 2.5 and can be eliminated. # -------------------------------------------- # 03/06/03 mochel@osdl.org 1.1243.1.25 # Merge osdl.org:/home/mochel/src/kernel/devel/linux-2.5-virgin # into osdl.org:/home/mochel/src/kernel/devel/linux-2.5-core # -------------------------------------------- # 03/06/03 mochel@osdl.org 1.1243.1.26 # Merge bk://ldm@bkbits.net/linux-2.5-core # into osdl.org:/home/mochel/src/kernel/devel/linux-2.5-core # -------------------------------------------- # 03/06/03 ahaas@airmail.net 1.1243.23.21 # [PATCH] C99 patches for fs/ # # Add C99 initializers to fs/bio.c and fs/dquot.c. And fs/libfs.c had an # obsolete GCC style initialzers that is converted to C99 style. # -------------------------------------------- # 03/06/03 ahaas@airmail.net 1.1243.23.22 # [PATCH] C99 struct initializers for kernel files # -------------------------------------------- # 03/06/03 torvalds@home.transmeta.com 1.1243.1.27 # Merge bk://ldm.bkbits.net/linux-2.5-core # into home.transmeta.com:/home/torvalds/v2.5/linux # -------------------------------------------- # 03/06/03 greg@kroah.com 1.1243.9.6 # [PATCH] IBM PCI hotplug: remove direct access of pci_devices variable. # -------------------------------------------- # 03/06/03 greg@kroah.com 1.1243.9.7 # PCI Hotplug: move drivers/hotplug/* to drivers/pci/hotplug/* # # This will let include/linux/pci.h get smaller, and is what I should # have done in the first place 2 years ago... # -------------------------------------------- # 03/06/03 davem@nuts.ninka.net 1.1243.32.1 # Merge bk://kernel.bkbits.net/acme/net-2.5 # into nuts.ninka.net:/home/davem/src/BK/net-2.5 # -------------------------------------------- # 03/06/03 chas@cmf.nrl.navy.mil 1.1243.32.2 # [ATM]: more cleanup in HE driver # -------------------------------------------- # 03/06/03 davem@nuts.ninka.net 1.1243.32.3 # [NET]: Use INIT_LIST_HEAD correctly in arch/um/drivers/net_kern.c # -------------------------------------------- # 03/06/03 rddunlap@osdl.org 1.1243.32.4 # [NET]: add RFC references for Linux SNMP MIBs. # -------------------------------------------- # 03/06/03 rddunlap@osdl.org 1.1243.32.5 # [NET]: Typo corrections only. # -------------------------------------------- # 03/06/03 rddunlap@osdl.org 1.1243.32.6 # [IPV6]: Add IPv6 routing table statistic: fib_discarded_routes. # -------------------------------------------- # 03/06/03 yoshfuji@linux-ipv6.org 1.1243.32.7 # [NET]: Add ip-sysctl.txt entries for missing ip{,6}frag_* sysctls. # -------------------------------------------- # 03/06/03 hch@lst.de 1.1243.32.8 # [NET]: Move dmascc away from setup.c # -------------------------------------------- # 03/06/03 yoshfuji@linux-ipv6.org 1.1243.32.9 # [IPV6]: Set dead flag on idev if snmp6_register_dev() fails. # -------------------------------------------- # 03/06/03 davem@nuts.ninka.net 1.1243.32.10 # [IPSEC]: {esp,ah} --> {esp4,ah4}. # -------------------------------------------- # 03/06/03 hch@lst.de 1.1243.32.11 # [NET]: Fix non-modular sdla.c build. # -------------------------------------------- # 03/06/03 yoshfuji@linux-ipv6.org 1.1243.32.12 # [IPV6]: Fix several errors in udpv6_connect(). # # - Pointer within an automatic storage class variable fl was illegally # cached using ip6_dst_store() # - uninitialized saddr was copied to fl.fl6_src # - dont cache if ipv6_saddr_get() failed. # # Based upon patch from Ville Nuorvala (vnuorval@tcs.hut.fi) # -------------------------------------------- # 03/06/03 greg@kroah.com 1.1243.9.8 # [PATCH] PCI: Remove a lot of PCI core only functions from include/linux/pci.h # -------------------------------------------- # 03/06/03 jmorris@intercode.com.au 1.1243.32.13 # [CRYPTO]: Use "select" kconfig facility instead of fragile defaults. # -------------------------------------------- # 03/06/03 greg@kroah.com 1.1243.9.9 # [PATCH] PCI: remove CONFIG_PROC_FS checks in .c files. # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.9.10 # [PATCH] PCI: Move more functions out of include/linux/pci.h that don't need to be there. # -------------------------------------------- # 03/06/04 yoshfuji@linux-ipv6.org 1.1243.32.14 # [IPV6]: typo, unrequired #undef and bad operator precedence. # - no need to #undef CONFIG_IPV6_SUBTREE # - use parentheses around "&" and "|". # - fib_repair_tree() is typo. # -------------------------------------------- # 03/06/04 hch@lst.de 1.1243.32.15 # [NET]: Kill useless/wrong Version line from net/core/dv.c # -------------------------------------------- # 03/06/04 hch@lst.de 1.1243.32.16 # [NET]: net/core/dst.c typo. # -------------------------------------------- # 03/06/04 hch@lst.de 1.1243.32.17 # [NET]: Fix coding style in net/core/filter.c # -------------------------------------------- # 03/06/04 hch@lst.de 1.1243.32.18 # [NET]: Fix coding style in net/core/iovec.c # -------------------------------------------- # 03/06/04 viro@parcelfarce.linux.theplanet.co.uk 1.1243.32.19 # [NET]: Move sk98lin driver away from init_etherdev(). # -------------------------------------------- # 03/06/04 viro@parcelfarce.linux.theplanet.co.uk 1.1243.32.20 # [NET]: Move 3c509 driver away from init_etherdev(). # -------------------------------------------- # 03/06/04 davem@kernel.bkbits.net 1.1243.1.28 # Merge davem@nuts.ninka.net:/home/davem/src/BK/net-2.5 # into kernel.bkbits.net:/home/davem/net-2.5 # -------------------------------------------- # 03/06/04 rmk@flint.arm.linux.org.uk 1.1243.33.1 # [ARM] Fix more missing irqreturn_t and remove a static no_action func. # -------------------------------------------- # 03/06/04 herbert@gondor.apana.org.au 1.1243.32.21 # [IPSEC]: Include linux/slab.h where necessary. # -------------------------------------------- # 03/06/04 viro@parcelfarce.linux.theplanet.co.uk 1.1243.32.22 # [NET]: Move sunqe.c driver away from init_etherdev(). # -------------------------------------------- # 03/06/04 davem@nuts.ninka.net 1.1243.32.23 # [NET]: Move arch/cris drivers away from init_etherdev(). # -------------------------------------------- # 03/06/04 viro@parcelfarce.linux.theplanet.co.uk 1.1243.32.24 # [NET]: Move bmac.c away from init_etherdev(). # -------------------------------------------- # 03/06/04 davem@nuts.ninka.net 1.1243.32.25 # [NET]: Convert ia64 simeth.c away from init_etherdev(). # -------------------------------------------- # 03/06/04 davem@nuts.ninka.net 1.1243.32.26 # [NET]: Convert PPC 8260_io/enet.c away from init_etherdev(). # -------------------------------------------- # 03/06/04 davem@nuts.ninka.net 1.1243.32.27 # [NET]: Convert PPC 8260_io/fcc_enet.c away from init_etherdev(). # -------------------------------------------- # 03/06/04 davem@nuts.ninka.net 1.1243.32.28 # [NET]: Convert PPC 8xx_io/enet.c away from init_etherdev(). # -------------------------------------------- # 03/06/04 davem@nuts.ninka.net 1.1243.32.29 # [NET]: Convert PPC 8xx_io/fec.c away from init_etherdev(). # -------------------------------------------- # 03/06/04 davem@nuts.ninka.net 1.1243.32.30 # [NET]: Actually apply Al's sunqe.c changes. # -------------------------------------------- # 03/06/04 davem@nuts.ninka.net 1.1243.32.31 # [NET]: Fix thinkos in PPC 8260_io/fcc_enet.c changes. # -------------------------------------------- # 03/06/04 thomas@osterried.de 1.1243.32.32 # [AX25]: AX.25 bug fixes. # - Flxnet CRC handling fix for mkiss.c # - Use after free bug in ax25_ip.c # -------------------------------------------- # 03/06/04 torvalds@home.transmeta.com 1.1243.1.29 # Merge bk://linux-sam.bkbits.net/kbuild # into home.transmeta.com:/home/torvalds/v2.5/linux # -------------------------------------------- # 03/06/04 rmk@flint.arm.linux.org.uk 1.1243.33.2 # [ARM] Move dma_alloc_coherent() to consistent.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.9.11 # [PATCH] PCI: Grab reference count on pci_dev if the pci driver binds to the device. # # And remember to decrement the count after remove() is called. # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.9.12 # [PATCH] PCI: remove usage of pci_for_each_dev() in sound/core/memalloc.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.9.13 # [PATCH] PCI: remove usage of pci_for_each_dev() in sound/oss/esssolo1.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.9.14 # [PATCH] PCI: remove usage of pci_for_each_dev() in sound/oss/maestro.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.9.15 # [PATCH] PCI: remove usage of pci_for_each_dev() in sound/oss/via82cxxx_audio.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.9.16 # [PATCH] PCI: remove usage of pci_for_each_dev() in sound/pci/rme9652/hammerfall_mem.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.9.17 # [PATCH] PCI: remove usage of pci_for_each_dev() in drivers/acpi/pci_irq.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.9.18 # [PATCH] PCI: remove usage of pci_for_each_dev() in drivers/char/agp/amd-k8-agp.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.9.19 # [PATCH] PCI: remove usage of pci_for_each_dev() in drivers/char/agp/generic.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.9.20 # [PATCH] PCI: remove usage of pci_for_each_dev() in drivers/char/agp/isoch.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.9.21 # [PATCH] PCI: remove usage of pci_for_each_dev() in drivers/char/hw_random.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.9.22 # [PATCH] PCI: remove usage of pci_for_each_dev() in drivers/char/watchdog/amd7xx_tco.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.9.23 # [PATCH] PCI: remove usage of pci_for_each_dev() in drivers/char/watchdog/i810-tco.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.9.24 # [PATCH] PCI: remove usage of pci_for_each_dev() in drivers/ide/pci/cs5530.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.9.25 # [PATCH] PCI: remove usage of pci_for_each_dev() in drivers/ide/pci/hp2366.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.9.26 # [PATCH] PCI: remove usage of pci_for_each_dev() in drivers/ide/pci/pdc202xx_new.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.9.27 # [PATCH] PCI: remove usage of pci_for_each_dev() in drivers/ide/setup-pci.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.9.28 # [PATCH] PCI: remove usage of pci_for_each_dev() in drivers/macintosh/via-pmu.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.9.29 # [PATCH] PCI: remove usage of pci_for_each_dev() in drivers/message/fusion/mptbase.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.9.30 # [PATCH] PCI: remove usage of pci_for_each_dev() in drivers/message/i2o/i2o_core.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.9.31 # [PATCH] PCI: remove usage of pci_for_each_dev() in drivers/net/e100/e100_main.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.9.32 # [PATCH] PCI: remove usage of pci_for_each_dev() in drivers/net/e1000/e1000_main.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.9.33 # [PATCH] PCI: remove usage of pci_for_each_dev() in drivers/net/ixgb/ixgb_main.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.9.34 # [PATCH] PCI: remove usage of pci_for_each_dev() in drivers/parport/parport_pc.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.9.35 # [PATCH] PCI: remove usage of pci_for_each_dev() in drivers/pci/hotplug/ibmphp_core.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.9.36 # [PATCH] PCI: remove usage of pci_for_each_dev() in drivers/pci/pci.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.9.37 # [PATCH] PCI: remove usage of pci_for_each_dev() in drivers/pci/proc.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.9.38 # [PATCH] PCI: remove usage of pci_for_each_dev() in drivers/pci/search.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.9.39 # [PATCH] PCI: remove usage of pci_for_each_dev() in drivers/pci/setup-irq.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.9.40 # [PATCH] PCI: remove usage of pci_for_each_dev() in drivers/pnp/resource.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.9.41 # [PATCH] PCI: remove usage of pci_for_each_dev() in drivers/video/pm2fb.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.9.42 # [PATCH] PCI: remove usage of pci_for_each_dev() in drivers/video/sis/sis_main.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.9.43 # [PATCH] PCI: remove usage of pci_for_each_dev() in arch/i386/pci/irq.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.9.44 # [PATCH] PCI: remove usage of pci_for_each_dev() in arch/i386/kernel/cpu/cpufreq/gx-suspmod.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.9.45 # [PATCH] PCI: remove usage of pci_for_each_dev() in arch/i386/pci/i386.c # -------------------------------------------- # 03/06/04 rmk@flint.arm.linux.org.uk 1.1243.33.3 # [ARM] Convert platform devices to use platform_device # # Since struct platform_device now has the ability to pass resources, # defined by the platform to the device driver, we can now use this # to handle platform specific devices. One such instance is the # StrongARM SA1111 companion chip, which can appear in various address # spaces, and connected to different IRQ lines depending on how many # cups of coffee the hardware designer had, the direction of the wind # outside the designers office that day. # # We also convert some of the other StrongARM peripheral on-chip # devices to use struct platform_device. # # ARM also provides a platform_add_devices() function which can be # used by platform code to bulk-register a tabular set of platform # devices. # -------------------------------------------- # 03/06/04 rmk@flint.arm.linux.org.uk 1.1243.33.4 # [ARM] Tidy up Integrator core support. # # This merges arch.c, irq.c and mm.c into one core file for this # platform; it's pointless keeping these separate. # -------------------------------------------- # 03/06/05 paulus@samba.org 1.1252 # Merge samba.org:/stuff/paulus/kernel/linux-2.5 # into samba.org:/stuff/paulus/kernel/for-linus-ppc # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.1.30 # Merge gregkh@kernel.bkbits.net:/home/gregkh/linux/pci-good-2.5 # into kroah.com:/home/greg/linux/BK/p-2.5 # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.1.31 # [PATCH] PCI: remove usage of pci_for_each_dev() in arch/alpha/kernel/sys_sio.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.1.32 # [PATCH] PCI: remove usage of pci_for_each_dev() in arch/arm/kernel/bios32.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.1.33 # [PATCH] PCI: remove usage of pci_for_each_dev() in arch/ia64/hp/common/sba_iommu.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.1.34 # [PATCH] PCI: remove usage of pci_for_each_dev() in arch/ia64/sn/io/pci_bus_cvlink.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.1.35 # [PATCH] PCI: remove usage of pci_for_each_dev() in arch/ia64/sn/io/pciba.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.1.36 # [PATCH] PCI: remove usage of pci_for_each_dev() in arch/ia64/sn/io/sn2/pci_bus_cvlink.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.1.37 # [PATCH] PCI: remove usage of pci_for_each_dev() in arch/mips/ddb5074/pci.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.1.38 # [PATCH] PCI: remove usage of pci_for_each_dev() in arch/mips/ddb5476/pci.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.1.39 # [PATCH] PCI: remove usage of pci_for_each_dev() in arch/mips/ddb5xxx/ddb5477/pci.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.1.40 # [PATCH] PCI: remove usage of pci_for_each_dev() in arch/mips/mips-boards/generic/pci.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.1.41 # [PATCH] PCI: remove usage of pci_for_each_dev() in arch/mips/sni/pci.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.1.42 # [PATCH] PCI: remove usage of pci_for_each_dev() in arch/mips64/mips-boards/generic/pci.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.1.43 # [PATCH] PCI: remove usage of pci_for_each_dev() in arch/mips64/sgi-ip32/ip32-pci.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.1.44 # [PATCH] PCI: remove usage of pci_for_each_dev() in arch/ppc/kernel/pci.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.1.45 # [PATCH] PCI: remove usage of pci_for_each_dev() in arch/ppc/platforms/chrp_pci.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.1.46 # [PATCH] PCI: remove usage of pci_for_each_dev() in arch/ppc/platforms/gemini_pci.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.1.47 # [PATCH] PCI: remove usage of pci_for_each_dev() in arch/ppc/platforms/pmac_pci.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.1.48 # [PATCH] PCI: remove usage of pci_for_each_dev() in arch/ppc/platforms/prep_pci.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.1.49 # [PATCH] PCI: remove usage of pci_for_each_dev() in arch/ppc64/kernel/iSeries_pci.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.1.50 # [PATCH] PCI: remove usage of pci_for_each_dev() in arch/ppc64/kernel/pSeries_pci.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.1.51 # [PATCH] PCI: remove usage of pci_for_each_dev() in arch/ppc64/kernel/pci_dma.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.1.52 # [PATCH] PCI: remove usage of pci_for_each_dev() in arch/sh/kernel/pci-sh7751.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.1.53 # [PATCH] PCI: remove usage of pci_for_each_dev() in arch/v850/kernel/rte_mb_a_pci.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.1.54 # [PATCH] PCI: remove usage of pci_for_each_dev() in arch/x86_64/kernel/bluesmoke.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.1.55 # [PATCH] PCI: remove usage of pci_for_each_dev() in arch/x86_64/kernel/pci-gart.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.1.56 # [PATCH] PCI: remove usage of pci_for_each_dev() in arch/x86_64/pci/irq.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.1.57 # [PATCH] PCI: remove usage of pci_for_each_dev() in arch/x86_64/pci/x86-64.c # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.1.58 # [PATCH] PCI: finally remove pci_for_each_dev() now that all users of it are gone. # -------------------------------------------- # 03/06/04 greg@kroah.com 1.1243.1.59 # PCI: remove usage of pci_for_each_dev() in arch/ppc64/kernel/pci.c # -------------------------------------------- # 03/06/04 acme@conectiva.com.br 1.1243.34.1 # o net: create struct sock_common and use in struct sock & tcp_tw_bucket # # With this the data dependency is reduced to just making sure that the first # member of both struct sock and struct tcp_tw_bucket are a struct sock_common. # # Also makes it easier to grep for struct sock and struct tcp_tw_bucket usage in # the tree as all the members in those structs are prefixed, respectively, with # sk_ and tw_, like struct inode (i_), struct block_device (bd_), etc. # # Checked namespace with make tags/ctags, just one colision with the macros for # the struct sock members, with a wanrouter struct, fixed that # s/sk_state/state_sk/g in the wanrouter struct. # # Checked as well if the names of the members in both structs collided with some # macro, none found. # -------------------------------------------- # 03/06/04 Jeff.Wiedemeier@hp.com 1.1243.35.1 # [PATCH] compile fix for agp_memory struct definitition change # # In 2.5.70, the agp_memory struct changed from: # typedef struct agp_memory # to: # struct agp_memory # # This patch propagates that change into include/asm-alpha/agp_backend.h and # arch/alpha/kernel/core_{titan,marvel}.c # # /jeff # -------------------------------------------- # 03/06/04 rth@kanga.twiddle.net 1.1243.35.2 # [ALPHA] Add posix timer and clock syscalls. # -------------------------------------------- # 03/06/04 torvalds@home.transmeta.com 1.1243.36.1 # Merge bk://bk.arm.linux.org.uk/linux-2.5-rmk # into home.transmeta.com:/home/torvalds/v2.5/linux # -------------------------------------------- # 03/06/04 torvalds@home.transmeta.com 1.1243.1.60 # Merge bk://kernel.bkbits.net/gregkh/linux/pci-2.5 # into home.transmeta.com:/home/torvalds/v2.5/linux # -------------------------------------------- # 03/06/05 jgarzik@redhat.com 1.1243.1.61 # [netdrvr] gcc 3.3 cleanups # # Mostly adding 'ULL' modifier to 64-bit constants. # -------------------------------------------- # 03/06/05 jgarzik@redhat.com 1.1243.1.62 # [netdrvr skge] add ULL modifier to 64-bit constant # -------------------------------------------- # 03/06/05 reeja.john@amd.com 1.1243.1.63 # [netdrvr amd8111e] link against mii lib # -------------------------------------------- # 03/06/04 davem@nuts.ninka.net 1.1243.37.1 # Merge nuts.ninka.net:/home/davem/src/BK/network-2.5 # into nuts.ninka.net:/home/davem/src/BK/net-2.5 # -------------------------------------------- # 03/06/04 akpm@digeo.com 1.1243.38.1 # [PATCH] fix broken networking # # Fix broken "cleanup" # -------------------------------------------- # 03/06/04 akpm@digeo.com 1.1243.37.2 # [NET]: Fix broken cleanups in net/core/iovec.c # -------------------------------------------- # 03/06/04 akpm@digeo.com 1.1243.38.2 # [PATCH] aio: small cleanups # # - comment fixes # # - duplicated assignments # # - Remove a prototype which is in aio.h already # # - Some __user annotation # # - use the existing symbolic names, not magic numbers. # -------------------------------------------- # 03/06/04 akpm@digeo.com 1.1243.38.3 # [PATCH] clean up timer interpolation code # # From: Christoph Hellwig # # - don't add one level of indentation when taking a lock # # - remove useless ti_global struct # -------------------------------------------- # 03/06/04 akpm@digeo.com 1.1243.38.4 # [PATCH] radio-cadet.c: remove unnecessary copy_to_user() # # From: Hollis Blanchard # # As pointed out by the Stanford checker, 'v' is not tainted. The driver # shouldn't be using copy_to_user() in cadet_do_ioctl() at all: # # cadet_do_ioctl() is being called by drivers/media/video/videodev.c: # video_usercopy(), which has already copied the buffer 'arg' (aka 'v') # into kernel space, and will copy it back after cadet_do_ioctl() # returns. So all the direct 'v' accesses are correct. # -------------------------------------------- # 03/06/04 akpm@digeo.com 1.1243.38.5 # [PATCH] cmpci: fix improper access to userspace # # From: Hollis Blanchard # # Fix a direct userspace access, found by the Stanford checker. # -------------------------------------------- # 03/06/04 akpm@digeo.com 1.1243.38.6 # [PATCH] zr36120: fix improper access to userspace # # From: Hollis Blanchard # # Fix a direct userspace access, found by the Stanford checker. # -------------------------------------------- # 03/06/04 akpm@digeo.com 1.1243.38.7 # [PATCH] remove unsafe BUG_ON() # # From: Hugh Dickins # # PageDirty BUG_ON in __remove_inode_page is, and always has been, unsafe for # SMP or preemption: truncation may be racing against unmapping's # set_page_dirty in zap_pte_range (amongst a few other possibilities). # !PageUptodate error in __set_page_dirty_buffers is unsafe then too. # -------------------------------------------- # 03/06/04 akpm@digeo.com 1.1243.38.8 # [PATCH] pnpbios dereferencing user pointer # # From: Hollis Blanchard # # Another simple case of a memcpy that should be copy_from_user... # # Also fix some error-path memory leaks. # -------------------------------------------- # 03/06/04 akpm@digeo.com 1.1243.38.9 # [PATCH] fix bw-qcam.c bad copy_to_user # # From: Hollis Blanchard # # Like radio-cadet.c, bw-qcam.c is calling copy_to_user() where it shouldn't. # The user buffer is copied to/from kernel space by # drivers/media/video/videodev.c:video_usercopy(). # -------------------------------------------- # 03/06/04 akpm@digeo.com 1.1243.38.10 # [PATCH] Graceful failure in devfs_remove() # # From: Pavel Roskin , via Christoph Hellwig # # It's already the second time that I encounter a kernel panic in the same # place. When devfs_remove() is called on a non-existent file entry, the # kernel panics and I have to reboot the system. # # First time it was unregistering of pseudoterminals. This time it's # ide-floppy module that doesn't register devfs entries if the media is absent # but still tries to unregister them. The bug in ide-floppy will be reported # separately. # # The point of this message is that the failure in devfs_remove() is possible, # especially with rarely used drivers. Secondly, is not fatal enough to # justify an immediate panic and reboot. Thirdly, devfs misses a chance to # tell the user what's going wrong. # -------------------------------------------- # 03/06/04 akpm@digeo.com 1.1243.38.11 # [PATCH] Fix generic_file_write() again. # # From: "Milton D. Miller II" # # The code at present has a small problem: when a fault is encountered we will # run commit_write() to cover the amount of data which was successfully copied # in from userspace. # # But filemap_copy_from_user() may have zeroed out some more of the page. So # pagecache now has zeroes and the buffer_head which represents those zeroes is # not dirtied. So a subsequent eviction and re-read of the file in the window # beyond the faulting offset will return the file's old contents and not the # zeroes. # # So we change filemap_copy_from_user_iovec() to have the same behaviour as the # non-iovec filemap_copy_from_user(), and ensure that the commit_write() covers # the parts of the page which copy_from_user() zeroed out. # -------------------------------------------- # 03/06/04 akpm@digeo.com 1.1243.38.12 # [PATCH] reiserfs option parser fix and ability to pass # # From: Oleg Drokin # # This patch adds support for remounting taking into account all extra options # you may want to pass it. (by Jeff Mahooney). # # Also it reworks the parser to correctly deal with mutually exclusive options. # Now whatever option was specified last will take an effect. # # - If you pass more than one jdev= option, the error will be reported and # mount/remount refused. # # - If you pass incorrect alloc= suboptions, the mount/remount will fail. # (it did not before). # # - nolargeio now actually looks at its argument. Argument is expected to be # numeric. If it is zero, default io size is set to 128k (default setting), # if it is non-zero, default io size is set to PAGE_SIZE. # -------------------------------------------- # 03/06/04 akpm@digeo.com 1.1243.38.13 # [PATCH] reiserfs support for blocksizes other than 4096 bytes # # From: Oleg Drokin # # This patch allows reiserfs to support blocksizes from 1024 bytes and up to # PAGE_CACHE_SIZE. Also it fixes two glitches that prevent reiserfs from # working correctly in case if PAGE_CACHE_SIZE is bigger than blocksize. # # Originally this patch was created by Edward Shushkin and Vladimir Saveliev, # and then it was adapted to modern 2.4 and 2.5 by me. # # Also people should be aware that 1024 bytes blocksize is not very good thing # as tree grows very fast. mkreiserfs is able to create filesystems with # different blocksizes for quite a while already (-b switch). # -------------------------------------------- # 03/06/04 akpm@digeo.com 1.1243.38.14 # [PATCH] hugetlbfs: mount options and permissions # # From: "Seth, Rohit" # # This patch enables system administrators to more flexibly assign read/write # permissions to files in hugetlbfs. Mount options are added which will # specify the uid, gid and mode of the filesystem's root directory. # # This patch also enables super users to do chown/chgrp on files in hugetlbfs. # # Also included in this patch is the support for uid, gid and mode command line # options for mount command for hugetlbfs. # # The following mount options are added to hugetlbfs: # # uid=value gid=value mode=value # # The values may be specified in hex (0xNNN), decimal or octal (0NNN). # -------------------------------------------- # 03/06/04 akpm@digeo.com 1.1243.38.15 # [PATCH] DEADLINE: hash removal fix # # From Jens: It fixes the occasional # # BUG_ON(list_empty(&req->queuelist)); # # which people have been hitting in include/linux/blkdev.h: # blkdev_dequeue_request() # -------------------------------------------- # 03/06/04 akpm@digeo.com 1.1243.38.16 # [PATCH] ext3: fix deadlock in journal_create() # # From: Mark Fasheh # # journal_create() is called under down_write(s_umount) on the mount path. But # it calls fsync_bdev(), which wants down_write(s_umount). # # Change journal_create() to run sync_blockdev() instead. Just to write out # the new journal's blocks. # -------------------------------------------- # 03/06/04 davidm@napali.hpl.hp.com 1.1243.38.17 # [PATCH] allow thread_info to be allocated as part of task_struct # # This re-organizes the thread info allocations a bit, so that # architectures like ia64 that want to allocate the thread_info structure # as part of the task structure allocation can do so. # # The bulk of the patch is adding the "tsk" information to the thread # info allocator (ignored by all non-ia64 architectures), and switching # the order of the allocators to make this all possible. # -------------------------------------------- # 03/06/04 davem@nuts.ninka.net 1.1243.37.3 # [PCI]: Move pci_remove_bus_device back to include/linux/pci.h, discussed with greg@kroah.com # -------------------------------------------- # 03/06/04 neilb@cse.unsw.edu.au 1.1243.38.18 # [PATCH] Fix raid5 bug where wrong 'dev' is used. # -------------------------------------------- # 03/06/04 neilb@cse.unsw.edu.au 1.1243.38.19 # [PATCH] Fix raid1 handling of writing to multiple devices. # # When raid1 writes, it needs to schedule writes to some number # of devices, and when all writes have completed, the r1_bio # structure that holds it all together must be freed. # However we must make sure not to free it before all devices # have been considered for submitting writes to. # # This happens in two places: when submitting a normal write request # and when submiting a write as part of resync. # # This patch makes both these places: # the same # simpler # more correct. # -------------------------------------------- # 03/06/04 neilb@cse.unsw.edu.au 1.1243.38.20 # [PATCH] Fix up freeing of kmalloc structures # # Some paths free things twice, others free un-initialised values :-( # Not any more. # -------------------------------------------- # 03/06/04 neilb@cse.unsw.edu.au 1.1243.38.21 # [PATCH] Fix bug in /proc/mdstat # # If /proc/mdstat is large, or reads are for a small size, # then the last line of /proc/mdstat is repeated infinitely. # # This patch will fix it. # -------------------------------------------- # 03/06/04 zippel@linux-m68k.org 1.1243.38.22 # [PATCH] choice handling fixes # # A few choice handling fixes: # - only visible choice values define the new state of the complete choice # - improve handling of choices without visible value # - two new warnings # -------------------------------------------- # 03/06/04 shemminger@osdl.org 1.1243.37.4 # [NET]: Fix device unregister in TUN driver. # -------------------------------------------- # 03/06/04 davem@kernel.bkbits.net 1.1243.37.5 # Merge davem@nuts.ninka.net:/home/davem/src/BK/net-2.5 # into kernel.bkbits.net:/home/davem/net-2.5 # -------------------------------------------- # 03/06/05 davem@nuts.ninka.net 1.1243.39.1 # Merge nuts.ninka.net:/home/davem/src/BK/network-2.5 # into nuts.ninka.net:/home/davem/src/BK/net-2.5 # -------------------------------------------- # 03/06/05 viro@parcelfarce.linux.theplanet.co.uk 1.1243.39.2 # [NET]: Convert USB drivers away from init_etherdev(). # -------------------------------------------- # 03/06/05 bde@nwlink.com 1.1243.38.23 # [SPARC64]: Fix transmit handling in sunsab.c serial driver. # -------------------------------------------- # 03/06/05 steve@gw.chygwyn.com 1.1243.39.3 # [AX25]: Sanitize ax25 netdevice private handling. # -------------------------------------------- # 03/06/05 bcollins@debian.org 1.1243.38.24 # [SPARC64]: Final image strip not to strip too much. # -------------------------------------------- # 03/06/05 elenstev@mesatop.com 1.1243.38.25 # [SPARC]: Fix non-ansi parameter lists. # -------------------------------------------- # 03/06/05 bcollins@debian.org 1.1243.40.1 # [PATCH] USB: fix keyboard leds # # > Ben, it looks like your patch broke something for USB keyboards, any # > idea? # # Yep, my patch killed hid-input from scanning HID_OUTPUT_REPORT's. Fixed # with this patch for 2.5.70+bk. I'll send one for 2.4.x in a few minutes. # -------------------------------------------- # 03/06/05 david-b@pacbell.net 1.1243.40.2 # [PATCH] USB: kerneldoc for gadget API # # Here's the non-inlined doc for the gadget API. # -------------------------------------------- # 03/06/05 oliver@neukum.org 1.1243.40.3 # [PATCH] USB: cut usb_set_config from hpusbscsi # # this cuts out old cruft. # -------------------------------------------- # 03/06/05 oliver@neukum.org 1.1243.40.4 # [PATCH] USB: usb_set_configuration in empeg.c # # you should not drop errors. # - proper error detection during initialisation # -------------------------------------------- # 03/06/05 torvalds@home.transmeta.com 1.1243.41.1 # Merge bk://are.twiddle.net/axp-2.5 # into home.transmeta.com:/home/torvalds/v2.5/linux # -------------------------------------------- # 03/06/05 axboe@suse.de 1.1243.41.2 # [PATCH] kill old stuff # # and fix the start/stop thing as well. I think this is all of them. # -------------------------------------------- # 03/06/05 torvalds@home.transmeta.com 1.1243.37.6 # Merge bk://kernel.bkbits.net/davem/net-2.5 # into home.transmeta.com:/home/torvalds/v2.5/linux # -------------------------------------------- # 03/06/05 davej@codemonkey.org.uk 1.1243.42.1 # [CPUFREQ] Make powernow-k7 leap big buildings^Wranges. # When scaling upwards, we need to change the voltage before the frequency. # When scaling downwards, the opposite. # This may fix some of the hangs people have been seeing when jumping # from a low frequency to a very high frequency. # -------------------------------------------- # 03/06/05 paulus@samba.org 1.1243.37.7 # [PATCH] get rid of CONFIG_ALL_PPC # # This patch gets rid of CONFIG_ALL_PPC, which was a very confusing # option, since it didn't actually mean "ALL" at all, it was more a # "common set" thing. # # The primary replacement for CONFIG_ALL_PPC is CONFIG_PPC_MULTIPLATFORM. # I have also defined CONFIG_PPC_PMAC, CONFIG_PPC_PREP and CONFIG_PPC_CHRP # for selecting code which is only needed for one of the three platforms # that CONFIG_ALL_PPC represented. This is something that we (the PPC # community) have been talking about doing for some time. There is also a # CONFIG_PPC_OF which is for PPC machines with Open Firmware, which is # currently powermacs and CHRP machines. # # At the moment, CONFIG_PPC_{PMAC,PREP,CHRP,OF} get unconditionally # defined if CONFIG_PPC_MULTIPLATFORM is selected, but in future this # split will let us have more control over what gets included, so that # for example we don't necessarily have to include powermac bits in a # kernel for a PReP machine. # # I have gone through the uses of CONFIG_ALL_PPC one by one and decided # which of the new symbols best represents the set of machines that need # the code in question. In fact most of the uses of CONFIG_ALL_PPC in # the drivers have been replaced by CONFIG_PPC_PMAC. The other symbols # are mostly confined to the PPC architecture code. # -------------------------------------------- # 03/06/05 mochel@osdl.org 1.1243.43.1 # [fs] Remove kobject support for filesystems # # It was initially added for the immediate gain of being able to see what # filesystems were registered in the system. However, it was done without # proper analysis of the lifetime rules associated with them. # # Someday, we should convert struct filesystem_type and struct super_block to # use kobjects, though it will take sufficent time and effort to get it right. # Until then, we go without.. # -------------------------------------------- # 03/06/05 davej@codemonkey.org.uk 1.1243.42.2 # [CPUFREQ] kill cpufreq_driver export. # From Dominik Brodowski. # This removes the special export of cpufreq_driver for proc_intf.c. Instead, # the behaviour of /proc/cpufreq previous of Greg's class re-write is back: # the check whether cpufreq_driver is loaded is done within cpufreq_cpu_get # -------------------------------------------- # 03/06/05 davej@codemonkey.org.uk 1.1243.42.3 # [CPUFREQ] Kill unused variables. # -------------------------------------------- # 03/06/05 mochel@osdl.org 1.1243.43.2 # [kobject] Remove kobj_lock and use lockless refcounting. # # The only thing preventing this from happening earlier was the circular sysfs # registration dependency - it would need to be initialized before it was # registered, but needed to be registered before it was initialized. # # With kobjects gone from struct filesystem_type, the dependency no longer # exists and we don't have to special-case the possibility that a kobject will # be passed to kobject_get with a refcount == 0. # # Note that a kobject with a count of 0 in that function is still a bug, but # one in the subsystem making the call. We should add a debugging hook to dump # the stack if it does happen. # -------------------------------------------- # 03/06/05 davej@codemonkey.org.uk 1.1243.42.4 # [CPUFREQ] CodingStyle fixes # -------------------------------------------- # 03/06/05 davej@codemonkey.org.uk 1.1243.42.5 # [CPUFREQ] Fix ACPI P-State driver. # from Dmitry Torokhov. # # I have the following problems with ACPI P-States driver: # # - It crashes because it tries to switch CPU speed without registering cpufreq # driver first but acpi_processor_set_performance calls cpufreq_notify_transition. # # - When testing for capable CPUs it skips all online ones so for my single CPU # notebook it can't activate at all. # # - If a processor does not support throttling then it will say that "limit" # interface is not supported even after activating performance control. # # The patch below should fix these issues. It also adds some info messages since # /proc/acpi/processor/*/performance interface is marked obsolete but i still # would like to see if P-states were recognized during boot. # -------------------------------------------- # 03/06/05 greg@kroah.com 1.1243.37.8 # [PATCH] PCI: remove direct access of pci_devices from arch/m68k/atari/hades-pci.c # -------------------------------------------- # 03/06/05 greg@kroah.com 1.1243.37.9 # [PATCH] PCI: remove direct access of pci_devices from drivers/macintosh/via-pmu68k.c # # Yeah, this is commented out code, but just trying to be complete... # -------------------------------------------- # 03/06/05 greg@kroah.com 1.1243.37.10 # [PATCH] PCI: fix up previous fusion driver pci changes # # This makes the driver build properly now, and removes a direct access # of the pci_devices variable. # -------------------------------------------- # 03/06/05 greg@kroah.com 1.1243.37.11 # [PATCH] PCI: add pci_find_device_reverse() for users of pci_find_each_dev_reverse() to use # -------------------------------------------- # 03/06/05 greg@kroah.com 1.1243.37.12 # [PATCH] PCI: remove usage of pci_for_each_dev_reverse() in # -------------------------------------------- # 03/06/05 greg@kroah.com 1.1243.37.13 # [PATCH] PCI: remove pci_for_each_dev_reverse() now that all users of it are gone. # -------------------------------------------- # 03/06/05 greg@kroah.com 1.1243.37.14 # [PATCH] PCI: move pci_present() into drivers/pci/search.c # # This will let not have to export the pci_devices variable. # -------------------------------------------- # 03/06/05 greg@kroah.com 1.1243.37.15 # [PATCH] PCI: remove EXPORT_SYMBOL(pci_devices) # # Now the only users of this directly should be the pci core and arch specific # pci core code. # -------------------------------------------- # 03/06/05 torvalds@home.transmeta.com 1.1243.44.1 # Merge bk://kernel.bkbits.net/davem/sparc-2.5 # into home.transmeta.com:/home/torvalds/v2.5/linux # -------------------------------------------- # 03/06/05 mhoffman@lightlink.com 1.1243.25.2 # [PATCH] I2C: more w83781d fixes # # This patch fixes the various return values in the w83781d_detect() # error paths. It also cleans up some formatting here and there. # It should be applied on top of the previous one. # # It works for me; same caveat as above w.r.t. ISA. # -------------------------------------------- # 03/06/05 aschultz@warp10.net 1.1243.25.3 # [PATCH] I2C: fix unsafe usage of list_for_each in i2c-core # # i2c-core.c contains 2 loops that iterate over the list of the clients attached # to an adapter and detaches them. Detaching the clients will actually remove # them from the list the loop is iterating over. Therefore the # list_for_each_safe() method has to be used. # -------------------------------------------- # 03/06/05 shemminger@osdl.org 1.1243.44.2 # [PATCH] typo in new class_device_release # # There is a typo in the current 2.5.70 bk version of class_device_release that # was not there in my original patch. By confusing the class and the class_device, # the release function oops. cd->release is always the function itself (class_device_release), # cls->release is the one setup for the class (net_class in my case). # -------------------------------------------- # 03/06/05 greg@kroah.com 1.1243.25.4 # [PATCH] I2C: sync i2c-id.h with cvs version. # -------------------------------------------- # 03/06/05 Kurt.Robideau@comtrol.com 1.1243.45.1 # [PATCH] Rocketport driver against 2.5.70-bk7 # # Update the Rocketport driver # -------------------------------------------- # 03/06/05 greg@kroah.com 1.1243.44.3 # Merge kroah.com:/home/greg/linux/BK/bleed-2.5 # into kroah.com:/home/greg/linux/BK/i2c-2.5 # -------------------------------------------- # 03/06/05 mochel@osdl.org 1.1243.43.3 # [driver model] Add device_for_each_child iterator. # # From Mike Anderson: # # I have been using it on an outstanding patch for scsi_set_host_offline. It # appears to work fine in my testing. # -------------------------------------------- # 03/06/05 greg@kroah.com 1.1243.46.1 # Merge kroah.com:/home/greg/linux/BK/bleed-2.5 # into kroah.com:/home/greg/linux/BK/tty-2.5 # -------------------------------------------- # 03/06/05 greg@kroah.com 1.1243.47.1 # Merge kroah.com:/home/greg/linux/BK/bleed-2.5 # into kroah.com:/home/greg/linux/BK/gregkh-2.5 # -------------------------------------------- # 03/06/05 greg@kroah.com 1.1243.37.16 # Merge kroah.com:/home/greg/linux/BK/bleed-2.5 # into kroah.com:/home/greg/linux/BK/pci-2.5 # -------------------------------------------- # 03/06/05 mochel@osdl.org 1.1243.43.4 # [kobject] Add warning + back trace if kobject_get() is called with 0 refcount. # -------------------------------------------- # 03/06/05 greg@kroah.com 1.1243.46.2 # TTY: add a release function for tty_class devices. # # This fixes a race with looking at files in /sys/class/tty/ and removing a # tty device. # -------------------------------------------- # 03/06/05 mochel@osdl.org 1.1243.48.1 # Merge osdl.org:/home/mochel/src/kernel/devel/linux-2.5-virgin # into osdl.org:/home/mochel/src/kernel/devel/linux-2.5-core # -------------------------------------------- # 03/06/05 torvalds@home.transmeta.com 1.1243.37.17 # Merge bk://kernel.bkbits.net/gregkh/linux/pci-2.5 # into home.transmeta.com:/home/torvalds/v2.5/linux # -------------------------------------------- # 03/06/05 torvalds@home.transmeta.com 1.1243.37.18 # Merge bk://kernel.bkbits.net/gregkh/linux/i2c-2.5 # into home.transmeta.com:/home/torvalds/v2.5/linux # -------------------------------------------- # 03/06/05 mochel@osdl.org 1.1243.48.2 # [driver model] Remove extraneous class device release method. # # What happens when you get a patch that does something an applied patch # already does, but a little better, and merge it sloppily: You end up calling # the wrong function because you've defined equivalent methods in two places. # # Bad Pat, Bad. # -------------------------------------------- # 03/06/05 greg@kroah.com 1.1243.46.3 # TTY: release function should be set in the class, not the class_device. # -------------------------------------------- # 03/06/05 torvalds@home.transmeta.com 1.1243.37.19 # Merge bk://ldm.bkbits.net/linux-2.5-core # into home.transmeta.com:/home/torvalds/v2.5/linux # -------------------------------------------- # 03/06/05 torvalds@home.transmeta.com 1.1243.37.20 # Merge bk://kernel.bkbits.net/gregkh/linux/tty-2.5 # into home.transmeta.com:/home/torvalds/v2.5/linux # -------------------------------------------- # 03/06/06 paulus@samba.org 1.1253 # Merge samba.org:/stuff/paulus/kernel/linux-2.5 # into samba.org:/stuff/paulus/kernel/for-linus-ppc # -------------------------------------------- # 03/06/05 joern@wohnheim.fh-wedel.de 1.1243.37.21 # [PATCH] zlib cleanup: remove FAR macro # # This removes FAR, the typedefs using FAR (Bytef and friends) and the # function prototypes for zalloc and zfree that should have gone earlier # already. # -------------------------------------------- # 03/06/05 joern@wohnheim.fh-wedel.de 1.1243.37.22 # [PATCH] zlib cleanup: __32BIT__ and STDC # # Remove unused __32BIT__ and STDC macros # -------------------------------------------- # 03/06/05 joern@wohnheim.fh-wedel.de 1.1243.37.23 # [PATCH] zlib cleanup: ZEXTERN # # This one was just simple s/ZEXTERN/extern/g. # -------------------------------------------- # 03/06/05 joern@wohnheim.fh-wedel.de 1.1243.37.24 # [PATCH] zlib cleanup: ZEXPORT # # Just a simple s/ZEXPORT//. # -------------------------------------------- # 03/06/05 joern@wohnheim.fh-wedel.de 1.1243.37.25 # [PATCH] zlib cleanup: z_off_t # # This nice macro must have been one of the good intentions on the road # to hell. Completely unused. :) # -------------------------------------------- # 03/06/05 joern@wohnheim.fh-wedel.de 1.1243.37.26 # [PATCH] zlib cleanup: OF # # Remove the stale support for K&R function declarations through the OF() # macro. # # This is the last patch to clean up zconf.h, at least for now. # -------------------------------------------- # 03/06/05 torvalds@home.transmeta.com 1.1243.37.27 # zlib cleanup: final fixups # # Jörn missed a few places of FAR conversion in inflate # -------------------------------------------- # 03/06/05 hollisb@us.ibm.com 1.1243.37.28 # [PATCH] awe_wave.c user pointer dereference # # Two ioctl functions in sound/oss/awe_wave.c were directly dereferencing # a user-supplied pointer in a few places. # -------------------------------------------- # 03/06/06 paulus@samba.org 1.1254 # PPC32: Compile fix for array initialization from Christoph Hellwig. # -------------------------------------------- # 03/06/06 porter@cox.net 1.1255 # PPC32: Resolve colliding includes in boot wrappers. # -------------------------------------------- # 03/06/06 paulus@samba.org 1.1256 # PPC32: Cleanups from Christoph Hellwig and Tom Rini. # -------------------------------------------- # 03/06/06 shemminger@osdl.org 1.1243.1.64 # [PATCH] sb1000 driver bugs # # Inspecting the sb1000 driver showed some interesting bugs: # - net device pointer is used before the device is allocated; gcc # does catch this. # - unregister is called even though device not registered successfully # - net device is not freed on remove. # # Compiles but don't have hardware to test. Don't know how it ever worked though. # -------------------------------------------- # 03/06/06 srk@thekelleys.org.uk 1.1243.1.65 # [netdrvr] add atmel[_cs], new wireless driver # # Attached is a driver for Atmel at76c50x WiFi cards. This code started # out as a GPL release from Atmel of pretty horrible quality and I've # extensively re-worked it with the aim of making it acceptable in the # kernel. Please could you take a look and either pass it into the patch # stream or let me know what's wrong with it? # # The code has been tested on at least three different brand cards by # different people. Jean Tourrilhes took a look at an earlier version an # was positive. He's put incorporating this into 2.6 as a priority 1. # The patch works fine on 2.5.70. # # The firmware issue has been addressed now. The only firmware in the # driver is a small stub which reads the MAC address from NVRAM on the # card. The source for that is included so there are no GPL issues. The # main firmware is loaded from userspace using Manuel Estrada Sainz's # sysfs firmware class. I know that the patch for that has been # accepted but it hasn't turned up anywhere I can see yet. The # driver compiles fine even without the firmware class. I've made a # package of the firmware images which is available from my website. # # The remaining issues with the driver are migrating PCMCIA to the new # driver model and PCI support. I'm happy to produce followup patches as # the PCMCIA system gets evolved to the new driver model: the timing on # that is controlled by others. This set of chips includes a PCI version # and the driver should support that, but AFAIK there is no PCI hardware # available anywhere. If Atmel can provide me with some it will be # simple to add PCI support. # # The driver uses the CRC32 library module and the firmware loader. I've # not put in dependencies on those, but when the lastest set of patches # go into Kconfig I'll set it up so that selecting the Atmel driver # selects CRC32 and FW_LOADER too. # -------------------------------------------- # 03/06/06 jgarzik@redhat.com 1.1243.1.66 # [netdrvr] add MAINTAINERS entry for atmel wireless driver # -------------------------------------------- # 03/06/06 zwane@linuxpower.ca 1.1243.1.67 # [PATCH] cli/sti cleanup for fmvj18x # # This one should be safe as we're protected by the xmit_lock in all instances # -------------------------------------------- # 03/06/06 scott.feldman@intel.com 1.1243.1.68 # [PATCH] 10GbE ethtool support # # Add 10GbE support for ethtool. # -------------------------------------------- # 03/06/06 scott.feldman@intel.com 1.1243.1.69 # [PATCH] remove ethtool privileged references # # dev_ioctl already checks capable(CAP_NET_ADMIN) for SOICETHTOOL, so # privileged reference are not necessary. # -------------------------------------------- # 03/06/06 yoshfuji@linux-ipv6.org 1.1243.1.70 # [netdrvr] C99 initializers for arcnet # -------------------------------------------- # 03/06/06 jgarzik@redhat.com 1.1243.1.71 # Merge redhat.com:/garz/repo/linus-2.5 # into redhat.com:/garz/repo/net-drivers-2.5 # -------------------------------------------- # 03/06/06 davem@nuts.ninka.net 1.1243.37.29 # Merge nuts.ninka.net:/home/davem/src/BK/network-2.5 # into nuts.ninka.net:/home/davem/src/BK/net-2.5 # -------------------------------------------- # 03/06/06 hch@lst.de 1.1243.37.30 # [NET]: Convert ppc early-init drivers to initcalls. Ack'd by Paul Mackerras. # -------------------------------------------- # 03/06/06 davem@nuts.ninka.net 1.1243.37.31 # [NET]: Kill drivers/net/setup.c, it no longer does anything. # -------------------------------------------- # 03/06/06 kuznet@oops.inr.ac.ru 1.1243.37.32 # tcp_output.c, tcp.c, tcp.h: # reconciling TCP_CORK and TCP_NODELAY # -------------------------------------------- # 03/06/06 davem@nuts.ninka.net 1.1243.37.33 # [IPSEC]: Implement xfrm type module autoloading. # -------------------------------------------- # 03/06/06 perex@suse.cz 1.1243.1.72 # ALSA update # - added AZT3328 driver # - added Terratec Aureon support to ICE1724 driver # - fixed possible PCI posting problems # - ENS1370, ENS1371, FM801, ICE1712, ICE1724, VIA82xx # - AC'97 code # - added new IDs # - fixed typo in S/PDIF code # - C-Media related fixes # - USB driver # - added nrpacks module option # - added hack for AudioTrak Optoplay # - removed OLD_USB stuff # -------------------------------------------- # 03/06/06 davem@nuts.ninka.net 1.1243.37.34 # Merge bk://kernel.bkbits.net/acme/sock-2.5 # into nuts.ninka.net:/home/davem/src/BK/sock-2.5 # -------------------------------------------- # 03/06/06 davem@nuts.ninka.net 1.1243.37.35 # [NET]: Some stuff missed during acme's struct sock cleanup. # -------------------------------------------- # 03/06/06 davem@kernel.bkbits.net 1.1243.49.1 # Merge davem@nuts.ninka.net:/home/davem/src/BK/net-2.5 # into kernel.bkbits.net:/home/davem/net-2.5 # -------------------------------------------- # 03/06/06 davem@nuts.ninka.net 1.1243.37.36 # [NET]: Missing __KERNEL__ ifdefs in linux/{tcp,udp}.h # -------------------------------------------- # 03/06/06 davem@kernel.bkbits.net 1.1243.49.2 # Merge davem@nuts.ninka.net:/home/davem/src/BK/net-2.5 # into kernel.bkbits.net:/home/davem/net-2.5 # -------------------------------------------- # 03/06/06 zippel@linux-m68k.org 1.1243.50.1 # [PATCH] boolean symbol state fix # # This is an important fix to allow changing boolean symbols, whose # dependency is 'm'. All internal symbol states must be converted from # the tristate into boolean the state. # # I missed this change while adding expression support for defaults, # please apply. # -------------------------------------------- # 03/06/06 zippel@linux-m68k.org 1.1243.50.2 # [PATCH] ignore attempts to change unchangable symbols # # This fixes a problem which can show up with the new select facility, e.g. # a symbol is forced to 'y', so we should never even try to change such # symbols. # -------------------------------------------- # 03/06/06 akpm@digeo.com 1.1243.50.3 # [PATCH] kmalloc_percpu: interface change # # From: Rusty Russell # # Several tweaks to the kmalloc_percpu()/kfree_percpu() interface, to # allow future implementations to be more flexible, and make easier to # use now we can see how it's actually being used. # # 1) No flags argument: GFP_ATOMIC doesn't make much sense, # # 2) Explicit alignment argument, so we don't have to give SMP_CACHE_BYTES # alignment always, # # 3) Zeros memory, since most callers want that and it's not entirely # trivial, # # 4) Convenient type-safe wrapper which takes a typename, and # # 5) Rename to alloc_percpu/__alloc_percpu, since usage no longer matches # kmalloc. # -------------------------------------------- # 03/06/06 akpm@digeo.com 1.1243.50.4 # [PATCH] per-cpu support inside modules (minimal) # # From: Rusty Russell # # OK, this does the *minimum* required to support DEFINE_PER_CPU inside # modules. If we decide to change kmalloc_percpu later, great, we can turf # this out. # # Basically, overallocates the amount of per-cpu data at boot to at least # PERCPU_ENOUGH_ROOM if CONFIG_MODULES=y (arch-specific by default 32k: I have # only 7744 bytes of percpu data in my kernel here, so makes sense), and a # special allocator in module.c dishes it out. # -------------------------------------------- # 03/06/06 akpm@digeo.com 1.1243.50.5 # [PATCH] IRQs: handle bad return values from handlers # # Attempt to do something intelligent with IRQ handlers which don't return # IRQ_HANDLED. # # - If they return neither IRQ_HANDLED nor IRQ_NONE, complain. # # - If they return IRQ_NONE more than 99900 times in 100000 interrupts, complain # and disable the IRQ. # # I did have it at 750-in-1000, but someone had an otherwise-functioning # system which triggered it. # # The 99.9% ratio is designed to address the problem wherein the babbling # device shares an IRQ with a good device. We don't want the good device's # trickle of IRQ_HANDLED callouts to defeat the lockup detector. (fat chance # os this working right). # # - Add a kernel boot parameter `noirqdebug' to turn the whole thing off. # -------------------------------------------- # 03/06/06 akpm@digeo.com 1.1243.50.6 # [PATCH] IRQs: fix up irq_desc initialisation for non-ia32 # # The addition of more fields to irq_desc_t may have broken compilation of # other architectures. Go through and C99ify them (was needed anyway). # -------------------------------------------- # 03/06/06 akpm@digeo.com 1.1243.50.7 # [PATCH] force_successful_syscall_return() # # From: David Mosberger , Christoph Hellwig # # I believe this is the last outstanding piece that prevents ia64 from being # fully in sync with Linus' tree (yes, there are some minor ACPI changes # outstanding and a toolchain bug that's left to fix, but other than that, I # think we're clean). # # Many architectures (alpha, ia64, ppc, ppc64, sparc, and sparc64 at least) # use a syscall convention which provides for a return value and a separate # error flag. On those architectures, it can be beneficial if the kernel # provides a mechanism to signal that a syscall call has completed # successfully, even when the returned value is potentially a (small) # negative number. The patch below provides a hook for such a mechanism via # a macro called force_successful_syscall_return(). On x86, this would be # simply a no-op (because on x86, user-level has to be hacked to handle such # cases). On Alpha, it would be something along the lines of: # # #define force_successful_syscall_return() ptregs->r0 = 0 # # where "ptregs" is a pointer to the user's ptregs structure of the current # task. On ia64, we have been using this for a long time: # # static inline void force_successful_syscall_return (void) { # ia64_task_regs(current)->r8 = 0; # } # # The other architectures (ppc, ppc64, sparc, and sparc64) currently have no # mechanism to force a syscall return to be successful. But since the # syscall convention already provide for a separate error flag, the arch # maintainers could change this if they wanted to. # # There are only 3 places in the platform-independent portion of the kernel # that need this macro: # # - memory_lseek() in drivers/char/mem.c # - fs/fcntl.c for F_GETOWN # - lseek for /proc/mem in fs/proc/array.c # # Ideally, there are a couple of other places that could benefit from this # macro: # # - sys_getpriority() # - sys_shmat() # - sys_brk() # - do_mmap2() # - do_mremap() # # but these are not so critical, because the can be worked around in # platform-specific code (e.g., see arch/ia64/kernel/sys_ia64.c). # # Note that for the above 3 cases, handling them in user level is rather # suboptimal: # # - it would affect all lseek() syscalls, even though only /proc/mem and # /dev/mem need the special treatment (at least until there are # filesystems that can handle files >= 2^63 bytes) # # - all fcntl() calls would be affected, even though only F_GETOWN needs # the special treatment # # so I think handling these in the kernel for the platforms that can makes # tons of sense. # # The only limitation of force_successful_syscall_return() is that it doesn't # help with system calls performed by the kernel. But the kernel does that # so rarely and for such a limited set of syscalls that this is not a real # problem. # -------------------------------------------- # 03/06/06 akpm@digeo.com 1.1243.50.8 # [PATCH] fix wobbly /proc/stat:btime # # From: john stultz # # Since jiffies didn't necessarily start incrementing at a second boundary, # jiffies/HZ doesn't increment at the same moment as xtime.tv_sec. This # causes one second wobbles in the calculation of btime (xtime.tv_sec - # jiffies/HZ). # # This fix increases the precision of the calculation so the usec component # of xtime is used as well. Additionally it fixes some of the non-atomic # reading of time values. # -------------------------------------------- # 03/06/06 akpm@digeo.com 1.1243.50.9 # [PATCH] Console blanking fix # # From: Samuel Thibault # # Some fixes for console blanking: on some laptops, doing VESA blanking after # the bios did an apm blanking because of a screen closure thrashes the # recovery (the video board doesn't seem to have synchronisation registers # correctly initialized, since the LCD panel progressively turns white, maybe # damaging it ?). # # I hence moved the schedule for vesa powerdown after the apm blank hook # call, so that if it succeeds, it won't be called. I also moved the apm # unblank & palette restoration after the vesa unblank, to have a more lifo # scheme (also required, or the screen remains black). # # Btw, why del_timer_sync was called twice in timer_do_blank_screen when # vesa_off_interval==0 ? # -------------------------------------------- # 03/06/06 akpm@digeo.com 1.1243.50.10 # [PATCH] Console privacy for braille users # # From: Samuel Thibault # # Still working on kernel facilities for braille devices, the need for being # able to force blanking and unblanking raised: even when a key is pressed, the # screen must remain blank, for privacy of the blind user who is typing on the # keyboard and reading on its braille terminal. # # I merely added an ignore_poke variable which is set, and the screen blanked. # Then, poke_blanked_console returns immediatly. Upon real unblank (because of # an Oops or an explicit tioclinux), ignore_poke is reset to get back to normal # operation mode. # # I had to remove the (unnecessary ?) call to unblank_screen from set_selection # to prevent mouse selection unblanking the screen. # # I also added a way for processes to know whether the screen is blanked (the # blind user might hence know whether people can read the screen). # -------------------------------------------- # 03/06/06 akpm@digeo.com 1.1243.50.11 # [PATCH] Fix tty devfs mess # # From: Christoph Hellwig # # Currently the tty code abuses tty_driver.name as the prefix for the devfs # names of the ttys. This is a very bad idea because it means the tty name # changes depending on whether devfs is enabled or not, leading to different # names in /proc/tty/ depending on whether we have devfs or not (and not # whether it actually is mounted!) and a huge amount of ifdefs. # # The patch below adds a .devfs_name member instead, similar to the block # device changes a few weeks ago. # -------------------------------------------- # 03/06/06 akpm@digeo.com 1.1243.50.12 # [PATCH] misc fixes # # - Add comment about slab ctor behaviour (Ingo Oeser) # # - mm/slab.c:fprob() shows up in profiles a lot. Rename it to something more # meaningful. # # - fatfs printk warning fix (Randy Dunlap) # # - give the the time interpolator list and lock file-static scope (hch) # -------------------------------------------- # 03/06/06 akpm@digeo.com 1.1243.50.13 # [PATCH] cs423x fixes # # From: Adam Belay # # - cs4236 doesn't check if the memory for the resource table was # successfully allocated. # -------------------------------------------- # 03/06/06 akpm@digeo.com 1.1243.50.14 # [PATCH] remove get_current_user() # # As "Dmitry A. Fedorov" points out, # get_current_user() has a local variable __user which conflicts with the # sparse tagging. But get_current_user() has no callers. # -------------------------------------------- # 03/06/06 akpm@digeo.com 1.1243.50.15 # [PATCH] remove triggerable BUG() from de_thread # # From: Ingo Molnar # # Apparently this BUG is triggerable due to correct and expected events. # -------------------------------------------- # 03/06/06 akpm@digeo.com 1.1243.50.16 # [PATCH] Don't let processes be scheduled on CPU-less nodes (1/3) # # From: Matthew Dobson # # sched_best_cpu schedules processes on nodes based on node_nr_running. For # CPU-less nodes, this is always 0, and thus sched_best_cpu tends to migrate # tasks to these nodes, which eventually get remigrated elsewhere. # # This patch adds include/linux/topology.h, and modifies all includes of # asm/topology.h to linux/topology.h. A subsequent patch in this series adds # helper functions to linux/topology.h to ensure processes are only migrated # to nodes with CPUs. # # Test compiled and booted by Andrew Theurer (habanero@us.ibm.com) on both # x440 and ppc64. # -------------------------------------------- # 03/06/06 akpm@digeo.com 1.1243.50.17 # [PATCH] Don't let processes be scheduled on CPU-less nodes (2/3) # # From: Matthew Dobson # # This patch defines a topology macro for ppc64, nr_cpus_node(node) which # returns the number of CPUs on 'node'. This patch also adds code to compute # and store these values in an array for quick lookup. # # Test compiled and booted by Andrew Theurer (habanero@us.ibm.com) on both # x440 and ppc64. # -------------------------------------------- # 03/06/06 akpm@digeo.com 1.1243.50.18 # [PATCH] Don't let processes be scheduled on CPU-less nodes (3/3) # # From: Matthew Dobson # # This patch implements a generic version of the nr_cpus_node(node) macro # implemented for ppc64 by the previous patch. # # The generic version simply computes an hweight of the bitmask returned by # node_to_cpumask(node) topology macro. # # This patch also adds a generic_hweight64() function and an hweight_long() # function which are used as helpers for the generic nr_cpus_node() macro. # # This patch also adds a for_each_node_with_cpus() macro, which is used in # sched_best_cpu() in kernel/sched.c to fix the original problem of # scheduling processes on CPU-less nodes. This macro should also be used in # the future to avoid similar problems. # # Test compiled and booted by Andrew Theurer (habanero@us.ibm.com) on both # x440 and ppc64. # -------------------------------------------- # 03/06/06 akpm@digeo.com 1.1243.50.19 # [PATCH] DAC960 fix for fibre channel transfer rate # # From: Dave Olien # # The change makes the transfer rate numbers come out right for the fibre # channel version of this controller. # # For 1G FC, the NegotiatedSynchronousMegaTransfers is 1000, and the # NegotiatedDataWidthBIts is 1. The old code assumed NegotiatedDataWidthBits # was always either 8 or 16. The new code is simpler, and does the # calculation correctly for all cases. # -------------------------------------------- # 03/06/06 akpm@digeo.com 1.1243.50.20 # [PATCH] /proc/sys/vm/min_free_kbytes # # From: Matthew Dobson # # This resurrects the old /proc/sys/vm/free_pages functionality: the ability to # tell page reclaim how much free memory to maintain. # # This may be needed for specialised networking applications, and it provides # an interesting way to stress the kernel: set it very low so atomic # allocations can easily fail. # # Also, a 16G ppc64 box currently cruises along at 1M free memory, which is # surely too little to supporthigh-speed networking. We have not changed that # setting here, but it is now possible to do so. # # The patch also reduces the amount of free memory which the VM will maintain # in ZONE_HIGHMEM, as it is almost always wasted memory. # -------------------------------------------- # 03/06/06 akpm@digeo.com 1.1243.50.21 # [PATCH] loop: remove the balance_dirty_pages() call # # The loop thread is getting permanently stuck in balance_dirty_pages() # (nr_writeback is exceeded) because the loop thread itself is responsible for # completing writeback on behalf of higher layers. # # So we need to take that out: don't throttle the loop thread. Throttle the # tasks which are generating all the dirty data instead. # -------------------------------------------- # 03/06/06 torvalds@home.transmeta.com 1.1243.50.22 # Remove half-deleted zero-sized sound file. # -------------------------------------------- # 03/06/06 torvalds@home.transmeta.com 1.1243.1.73 # Merge http://linux-sound.bkbits.net/linux-sound # into home.transmeta.com:/home/torvalds/v2.5/linux # -------------------------------------------- # 03/06/07 paulus@samba.org 1.1257 # Merge samba.org:/stuff/paulus/kernel/linux-2.5 # into samba.org:/stuff/paulus/kernel/for-linus-ppc # -------------------------------------------- # 03/06/06 torvalds@home.transmeta.com 1.1243.1.74 # Merge bk://kernel.bkbits.net/davem/net-2.5 # into home.transmeta.com:/home/torvalds/v2.5/linux # -------------------------------------------- # 03/06/06 rusty@rustcorp.com.au 1.1243.1.75 # [PATCH] kallsyms in proc # # This adds a /proc/kallsyms if you have CONFIG_KALLSYMS in your # kernel. The output is nm-like, with symbols in caps (global) if # exported using EXPORT_SYMBOL, rather than the normal static # vs. non-static differentiation. # # This is useful for things like performance monitoring tools (profiling # etc) that want to match addresses to names in user space. # -------------------------------------------- # 03/06/06 rusty@rustcorp.com.au 1.1243.1.76 # [PATCH] Move cpu notifiers et al to cpu.h # # Trivial patch: when these were introduced cpu.h didn't exist. # -------------------------------------------- # 03/06/06 anton@samba.org 1.1243.1.77 # [PATCH] update ppc64 MAINTAINERS entry # # An update to the ppc64 MAINTAINERS entry. # -------------------------------------------- # 03/06/07 paulus@samba.org 1.1258 # PPC32: Start adding __user to mark pointers from userspace. # # This reduces the number of warnings from Linus' `check' program # for stuff in arch/ppc. # -------------------------------------------- # 03/06/07 hch@lst.de 1.1243.1.78 # [NET]: Fix accidental revert of init_etherdev killing in PPC net drivers. # -------------------------------------------- # 03/06/07 paulus@samba.org 1.1259 # PPC32: Fix irq_desc initialization. # -------------------------------------------- # 03/06/07 herbert@gondor.apana.org.au 1.1243.1.79 # [XFRM_USER]: Allow del policy by id and get policy by selector. # -------------------------------------------- # 03/06/07 paulus@samba.org 1.1260 # PPC32: Fix various minor problems pointed out by Linus' check program. # -------------------------------------------- # 03/06/07 paulus@samba.org 1.1261 # PPC32: Convert some K&R-style functions to ANSI-style. From Steven Cole. # -------------------------------------------- # 03/06/07 rddunlap@osdl.org 1.1243.1.80 # [IPV6]: Fix spelling/typos. # -------------------------------------------- # 03/06/07 mk@linux-ipv6.org 1.1243.1.81 # [IPV6]: Fix esp6 extension headers handling. # -------------------------------------------- # 03/06/07 sri@us.ibm.com 1.1243.1.82 # [IPV6]: Allow ipv6 fragmentation via ip6_xmit() when ipfragok is set. # -------------------------------------------- # 03/06/07 shemminger@osdl.org 1.1243.1.83 # [DECNET]: Fix build warnings. # -------------------------------------------- # 03/06/07 davem@nuts.ninka.net 1.1243.1.84 # [SCTP]: Kill unused local variable in init_sctp_mibs. # -------------------------------------------- # 03/06/07 davej@codemonkey.org.uk 1.1243.42.6 # [CPUFREQ] missing export # powernow-k7 needs dmi_broken # -------------------------------------------- # 03/06/07 acme@conectiva.com.br 1.1243.51.1 # o list.h: improve hlist # # This changeset: # # 1. Implements hlist_add_after # 2. uses prefetch in hlist_for_each, using a trick that ends up being # equivalent to having the prefetch instruction in the first block # of the hlist_for_each for block, the compiler optimizes the second # "test" away, as its result is constant # 3. implements hlist_for_each_entry and hlist_for_each_entry safe, # using a struct hlist_node as iterator to avoid the extra branches a # similar implementation to list_for_each_entry would have if used # a typed iterator, but while avoiding having to have the explicit # hlist_entry as in hlist_for_each. # # 4. Converts the hlist_for_each users that had explicit prefetches, i.e. # removed the explicit prefetch # # 5. fix a harmless list_entry use in a hlist_for_each in inode.c # # -------------------------------------------- # 03/06/07 torvalds@home.transmeta.com 1.1262 # Merge bk://ppc.bkbits.net/for-linus-ppc # into home.transmeta.com:/home/torvalds/v2.5/linux # -------------------------------------------- # 03/06/07 torvalds@home.transmeta.com 1.1263 # Merge bk://kernel.bkbits.net/davem/net-2.5 # into home.transmeta.com:/home/torvalds/v2.5/linux # -------------------------------------------- # 03/06/07 l.s.r@web.de 1.1264 # [PATCH] hugetlbfs: fix error reporting in case of invalid mount # # hugetlbfs was unnecessarily verbose, and didn't even print out the right # thing if given invalid mount options. # # Just return EINVAL. # -------------------------------------------- # 03/06/07 ak@suse.de 1.1265 # [PATCH] Work around gcc 3.3 bug on amd64 in binfmt_elf.c # # This patch works around a gcc 3.3 bug on AMD64. On AMD64 the # get_current() function expands to a switch on sizeof which has to be # optimized away by the compiler, finally yielding an inline assembler # statement. In some cases it seems to get that wrong and forgets to # reference and use the argument. I have only seen it happen in # binfmt_elf so far. # # Work around by just computing "current" once. # -------------------------------------------- # 03/06/07 torvalds@home.transmeta.com 1.1266 # Merge bk://linux-dj.bkbits.net/cpufreq # into home.transmeta.com:/home/torvalds/v2.5/linux # -------------------------------------------- # 03/06/07 torvalds@home.transmeta.com 1.1267 # Merge bk://kernel.bkbits.net/acme/hlist-2.5 # into home.transmeta.com:/home/torvalds/v2.5/linux # -------------------------------------------- # 03/06/07 l.s.r@web.de 1.1268 # [PATCH] Some more stuff missed during the struct sock cleanup # # The members of struct sock got a prefix of 'sk_' recently. # # This patch updates smbfs to match the new world order. # -------------------------------------------- # 03/06/07 elenstev@mesatop.com 1.1269 # [PATCH] Another final K&R to ANSI C cleanup of zlib # # Here is another final K&R to ANSI C cleanup patch for zlib. # -------------------------------------------- # 03/06/07 paulus@samba.org 1.1270 # [PATCH] fix check warnings in drivers/macintosh # # This patch removes the warnings that the `check' program came up with # in drivers/macintosh. This involves adding __user in various places # and fixing some non-ANSI function definitions for functions that take # no arguments. # -------------------------------------------- # 03/06/07 paulus@samba.org 1.1271 # [PATCH] Fix check warnings in PPP code # # This patch removes the warnings that the check program came up with in # the PPP code: ppp_async.c, ppp_deflate.c and ppp_generic.c. This # involved adding __user and converting K&R-style function definitions # to ANSI-style. I also took the time to add some extra comments to # ppp_deflate.c explaining in more detail what each function does and # what its arguments are. # -------------------------------------------- # 03/06/07 paulus@samba.org 1.1272 # [PATCH] Move BUG/BUG_ON/WARN_ON to asm headers # # This patch moves the definitions of BUG, BUG_ON and WARN_ON from # to (which includes), and # supplies a new implementation for PPC which uses a conditional trap # instruction for BUG_ON and WARN_ON, thus avoiding a conditional # branch. This patch trims over 50kB from the size of the kernel that I # use on powermacs. # # With this patch, on PPC we have a __bug_table section in the vmlinux # binary, and also in modules if they use BUG, BUG_ON or WARN_ON. The # __bug_table section has one entry for each BUG/BUG_ON/WARN_ON, giving # the address of the trap instruction and the corresponding line number, # filename and function name. This information is used in the exception # handler for the exception that the trap instruction produces. The # arch-specific module code handles the __bug_table section so that # BUG/BUG_ON/WARN_ON work correctly in modules. # # Several architecture maintainers have acked this change. It should be # completely benign for all of the other architectures (though they may # decide to do something similar if they have a conditional trap # instruction available). # -------------------------------------------- # 03/06/07 ak@suse.de 1.1273 # [PATCH] Make spinlock debugging compile on x86-64 # # cpu_relax is on i386 and x86-64 in processor.h, not system.h # This makes CONFIG_DEBUG_SPINLOCK compile for x86-64 # -------------------------------------------- # 03/06/07 ak@suse.de 1.1274 # [PATCH] x86-64 merge # # This brings the x86-64 port uptodate for 2.5.70. Just various bugfixes # and a few merges with other people. # # Only changes architecture specific files. # # - Fix compiling with CONFIG_IA32_EMULATION on # - Readd lost apic power management patch from Pavel (fixes oprofile too) # - Increase max IOAPICs to 16 # - Fix compiling with CONFIG_IA32_EMULATION off # - Compile fix for suspend (Pavel Machek) # - Support boxes with APIC disabled # - Remove code to forcibly enable APIC # - Small fix for APIC timer calibration. # - Fix deadlock in SMP reboot # - Some warning fixes # - Save edid info at boot (Bryan O'Sullivan) # - Add better locking to oops printing and support it for page faults. # - Don't printk handled signals. # - Update defconfig # - Add copy_in_user # -------------------------------------------- # diff -Nru a/Documentation/00-INDEX b/Documentation/00-INDEX --- a/Documentation/00-INDEX Sat Jun 7 14:26:26 2003 +++ b/Documentation/00-INDEX Sat Jun 7 14:26:26 2003 @@ -182,6 +182,8 @@ - short guide on how to set up and use the RAM disk. riscom8.txt - notes on using the RISCom/8 multi-port serial driver. +rocket.txt + - info on installing/using the Comtrol RocketPort multiport serial driver rtc.txt - notes on how to use the Real Time Clock (aka CMOS clock) driver. s390/ diff -Nru a/Documentation/DMA-mapping.txt b/Documentation/DMA-mapping.txt --- a/Documentation/DMA-mapping.txt Sat Jun 7 14:26:29 2003 +++ b/Documentation/DMA-mapping.txt Sat Jun 7 14:26:29 2003 @@ -83,6 +83,15 @@ to be increased. And for a device with limitations, as discussed in the previous paragraph, it needs to be decreased. +pci_alloc_consistent() by default will return 32-bit DMA addresses. +PCI-X specification requires PCI-X devices to support 64-bit +addressing (DAC) for all transactions. And at least one platform (SGI +SN2) requires 64-bit consistent allocations to operate correctly when +the IO bus is in PCI-X mode. Therefore, like with pci_set_dma_mask(), +it's good practice to call pci_set_consistent_dma_mask() to set the +appropriate mask even if your device only supports 32-bit DMA +(default) and especially if it's a PCI-X device. + For correct operation, you must interrogate the PCI layer in your device probe routine to see if the PCI controller on the machine can properly support the DMA addressing limitation your device has. It is @@ -94,6 +103,11 @@ int pci_set_dma_mask(struct pci_dev *pdev, u64 device_mask); +The query for consistent allocations is performed via a a call to +pci_set_consistent_dma_mask(): + + int pci_set_consistent_dma_mask(struct pci_dev *pdev, u64 device_mask); + Here, pdev is a pointer to the PCI device struct of your device, and device_mask is a bit mask describing which bits of a PCI address your device supports. It returns zero if your card can perform DMA @@ -133,7 +147,7 @@ Sparc64 is one platform which behaves in this way. Here is how you would handle a 64-bit capable device which can drive -all 64-bits during a DAC cycle: +all 64-bits when accessing streaming DMA: int using_dac; @@ -147,6 +161,30 @@ goto ignore_this_device; } +If a card is capable of using 64-bit consistent allocations as well, +the case would look like this: + + int using_dac, consistent_using_dac; + + if (!pci_set_dma_mask(pdev, 0xffffffffffffffff)) { + using_dac = 1; + consistent_using_dac = 1; + pci_set_consistent_dma_mask(pdev, 0xffffffffffffffff) + } else if (!pci_set_dma_mask(pdev, 0xffffffff)) { + using_dac = 0; + consistent_using_dac = 0; + pci_set_consistent_dma_mask(pdev, 0xffffffff) + } else { + printk(KERN_WARNING + "mydev: No suitable DMA available.\n"); + goto ignore_this_device; + } + +pci_set_consistent_dma_mask() will always be able to set the same or a +smaller mask as pci_set_dma_mask(). However for the rare case that a +device driver only uses consistent allocations, one would have to +check the return value from pci_set_consistent(). + If your 64-bit device is going to be an enormous consumer of DMA mappings, this can be problematic since the DMA mappings are a finite resource on many platforms. Please see the "DAC Addressing @@ -215,9 +253,10 @@ Think of "consistent" as "synchronous" or "coherent". - Consistent DMA mappings are always SAC addressable. That is - to say, consistent DMA addresses given to the driver will always - be in the low 32-bits of the PCI bus space. + The current default is to return consistent memory in the low 32 + bits of the PCI bus space. However, for future compatibility you + should set the consistent mask even if this default is fine for your + driver. Good examples of what to use consistent mappings for are: @@ -287,15 +326,14 @@ driver needs regions sized smaller than a page, you may prefer using the pci_pool interface, described below. -The consistent DMA mapping interfaces, for non-NULL dev, will always -return a DMA address which is SAC (Single Address Cycle) addressable. -Even if the device indicates (via PCI dma mask) that it may address -the upper 32-bits and thus perform DAC cycles, consistent allocation -will still only return 32-bit PCI addresses for DMA. This is true -of the pci_pool interface as well. - -In fact, as mentioned above, all consistent memory provided by the -kernel DMA APIs are always SAC addressable. +The consistent DMA mapping interfaces, for non-NULL dev, will by +default return a DMA address which is SAC (Single Address Cycle) +addressable. Even if the device indicates (via PCI dma mask) that it +may address the upper 32-bits and thus perform DAC cycles, consistent +allocation will only return > 32-bit PCI addresses for DMA if the +consistent dma mask has been explicitly changed via +pci_set_consistent_dma_mask(). This is true of the pci_pool interface +as well. pci_alloc_consistent returns two values: the virtual address which you can use to access it from the CPU and dma_handle which you pass to the diff -Nru a/Documentation/DocBook/Makefile b/Documentation/DocBook/Makefile --- a/Documentation/DocBook/Makefile Sat Jun 7 14:26:28 2003 +++ b/Documentation/DocBook/Makefile Sat Jun 7 14:26:28 2003 @@ -11,7 +11,8 @@ kernel-locking.sgml via-audio.sgml mousedrivers.sgml \ deviceiobook.sgml procfs-guide.sgml tulip-user.sgml \ writing_usb_driver.sgml scsidrivers.sgml sis900.sgml \ - kernel-api.sgml journal-api.sgml lsm.sgml usb.sgml + kernel-api.sgml journal-api.sgml lsm.sgml usb.sgml \ + gadget.sgml ### # The build process is as follows (targets): diff -Nru a/Documentation/DocBook/gadget.tmpl b/Documentation/DocBook/gadget.tmpl --- /dev/null Wed Dec 31 16:00:00 1969 +++ b/Documentation/DocBook/gadget.tmpl Sat Jun 7 14:26:36 2003 @@ -0,0 +1,966 @@ + + + + USB Gadget API for Linux + 02 June 2003 + 02 June 2003 + + + Permission is granted to copy, distribute, and/or modify + this document under the terms of the GNU Free Documentation + License, version 1.2, or any later version published by the + Free Software Foundation; with the Invariant Sections being + the "GNU Free Documentation License", + no Front-Cover Texts, + and + no Back-Cover Texts. + + + This documentation is distributed in the hope that it will be + useful, but WITHOUT ANY WARRANTY; without even the implied + warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Free Documentation License for more details. + + + Note that certain sections of this document are merged + into Linux kernel source code. + That content is the bulk of + and + , + where the "GNU Free Documentation License" is identified + as an alternate licence for its documentation. + + + + + 2003 + David Brownell + + + + David + Brownell + +
dbrownell@users.sourceforge.net
+
+
+
+ + + +Introduction + +This document presents a Linux-USB "Gadget" +kernel mode +API, for use within peripherals and other USB devices +that embed Linux. +It provides an overview of the API structure, +and shows how that fits into a system development project. +This is the first such API released on Linux to address +a number of important problems, including: + + + Supports USB 2.0, for high speed devices which + can stream data at several dozen megabytes per second. + + Handles devices with dozens of endpoints just as + well as ones with just two fixed-function ones. Gadget drivers + can be written so they're easy to port to new hardware. + + Flexible enough to expose more complex USB device + capabilities such as multiple configurations, multiple interfaces, + composite devices, + and alternate interface settings. + + Sharing data structures and API models with the + Linux-USB host side API. This looks forward to USB "On-The-Go" + (OTG) and similar more-symmetric frameworks. + + Minimalist, so it's easier to support new device + controller hardware. I/O processing doesn't imply large + demands for memory or CPU resources. + + + + +Most Linux developers will not be able to use this API, since they +have USB "host" hardware in a PC, workstation, or server. +Linux users with embedded systems are more likely to +have USB peripheral hardware. +To distinguish drivers running inside such hardware from the +more familiar Linux "USB device drivers", +which are host side proxies for the real USB devices, +a different term is used: +the drivers inside the peripherals are "USB gadget drivers". +In USB protocol interactions, the device driver is the master +(or "client driver") +and the gadget driver is the slave (or "function driver"). + + +The gadget API resembles the host side Linux-USB API in that both +use queues of request objects to package I/O buffers, and those requests +may be submitted or canceled. +They share common definitions for the standard USB +Chapter 9 messages, structures, and constants. +Also, both APIs bind and unbind drivers to devices. +The APIs differ in detail, since the host side's current +URB framework exposes a number of implementation details +and assumptions that are inappropriate for a gadget API. +While the model for control transfers and configuration +management is necessarily different (one side is a hardware-neutral master, +the other is a hardware-aware slave), the endpoint I/0 API used here +should also be usable for an overhead-reduced host side API. + + + + +Structure of Gadget Drivers + +A system running inside a USB peripheral +normally has at least three layers inside the kernel to handle +USB protocol processing, and may have additional layers in +user space code. +The "gadget" API is used by the middle layer to interact +with the lowest level (which directly handles hardware). + + +In Linux, from the bottom up, these layers are: + + + + + + USB Controller Driver + + + This is the lowest software level. + It is the only layer that talks to hardware, + through registers, fifos, dma, irqs, and the like. + The <linux/usb_gadget.h> API abstracts + the peripheral controller endpoint hardware. + That hardware is exposed through endpoint objects, which accept + streams of IN/OUT buffers, and through callbacks that interact + with gadget drivers. + Since normal USB devices only have one upstream + port, they only have one of these drivers. + The controller driver can support any number of different + gadget drivers, but only one of them can be used at a time. + + + Examples of such controller hardware include + the PCI-based NetChip 2280 USB 2.0 high speed controller, + the SA-11x0 or PXA-25x UDC (found within many PDAs), + and a variety of other products. + + + + + Gadget Driver + + + The lower boundary of this driver implements hardware-neutral + USB functions, using calls to the controller driver. + Because such hardware varies widely in capabilities and restrictions, + the gadget driver is normally configured at compile time + to work with endpoints supported by one particular controller. + Gadget drivers may be portable to several different controllers, + using conditional compilation. + Gadget driver responsibilities include: + + + handling setup requests (ep0 protocol responses) + possibly including class-specific functionality + + returning configuration and string descriptors + + (re)setting configurations and interface + altsettings, including enabling and configuring endpoints + + handling life cycle events, such as managing + bindings + to hardware, and disconnection from the USB host. + + managing IN and OUT transfers on all currently + enabled endpoints + + + + + Such drivers may be modules of proprietary code, although + that approach is discouraged in the Linux community. + + + + + Upper Level + + + Most gadget drivers have an upper boundary that connects + to some Linux driver or framework in Linux. + Through that boundary flows the data which the gadget driver + produces and/or consumes through protocol transfers over USB. + Examples include: + + + user mode code, using generic (gadgetfs) + or application specific files in + /dev + + networking subsystem (for network gadgets, + like the CDC Ethernet Model gadget driver) + + data capture drivers, perhaps video4Linux or + a scanner driver; or test and measurement hardware. + + input subsystem (for HID gadgets) + + sound subsystem (for audio gadgets) + + file system (for PTP gadgets) + + block i/o subsystem (for usb-storage gadgets) + + ... and more + + + + + Additional Layers + + + Other layers may exist. + These could include kernel layers, such as network protocol stacks, + as well as user mode applications building on standard POSIX + system call APIs such as + open(), close(), + read() and write(). + On newer systems, POSIX Async I/O calls may be an option. + Such user mode code will not necessarily be subject to + the GNU General Public License (GPL). + + + + + + +Over time, reusable utilities should evolve to help make some +gadget driver tasks simpler. An example of particular interest +is code implementing standard USB-IF protocols for +HID, networking, storage, or audio classes. +Some developers are interested in KDB or KGDB hooks, to let +target hardware be remotely debugged. +Most such USB protocol code doesn't need to be hardware-specific, +any more than network protocols like X11, HTTP, or NFS are. +Such interface drivers might be combined, to support composite devices. + + + + + +Kernel Mode Gadget API + +Gadget drivers declare themselves through a +struct usb_gadget_driver, which is responsible for +most parts of enumeration for a struct usb_gadget. +The response to a set_configuration usually involves +enabling one or more of the struct usb_ep objects +exposed by the gadget, and submitting one or more +struct usb_request buffers to transfer data. +Understand those four data types, and their operations, and +you will understand how this API works. + + +Incomplete Data Type Descriptions + +This documentation was prepared using the standard Linux +kernel docproc tool, which turns text +and in-code comments into SGML DocBook and then into usable +formats such as HTML or PDF. +Other than the "Chapter 9" data types, most of the significant +data types and functions are described here. + + +However, docproc does not understand all the C constructs +that are used, so some relevant information is likely omitted from +what you are reading. +One example of such information is several per-request flags. +You'll have to read the header file, and use example source +code (such as that for "Gadget Zero"), to fully understand the API. + + +The part of the API implementing some basic +driver capabilities is specific to the version of the +Linux kernel that's in use. +The 2.5 kernel includes a driver model +framework that has no analogue on earlier kernels; +so those parts of the gadget API are not fully portable. +(They are implemented on 2.4 kernels, but in a different way.) +The driver model state is another part of this API that is +ignored by the kerneldoc tools. + + + +The core API does not expose +every possible hardware feature, only the most widely available ones. +There are significant hardware features, such as device-to-device DMA +(without temporary storage in a memory buffer) +that would be added using hardware-specific APIs. + + +This API expects drivers to use conditional compilation to handle +endpoint capabilities of different hardware. +Those tend to have arbitrary restrictions, relating to +transfer types, addressing, packet sizes, buffering, and availability. +As a rule, such differences only matter for "endpoint zero" logic +that handles device configuration and management. +The API only supports limited run-time +detection of capabilities, through naming conventions for endpoints. +Although a gadget driver could scan the endpoints available to it and +choose to map those capabilities onto driver functionality in some way, +few drivers will want to reconfigure themselves at run-time. + + +Like the Linux-USB host side API, this API exposes +the "chunky" nature of USB messages: I/O requests are in terms +of one or more "packets", and packet boundaries are visible to drivers. +Compared to RS-232 serial protocols, USB resembles +synchronous protocols like HDLC +(N bytes per frame, multipoint addressing from the host) +more than asynchronous ones +(tty style, like 8 bytes, no parity, one stop bit). +So for example the controller drivers won't buffer +two single byte writes into a single two-byte USB IN packet, +although gadget drivers may do so when they implement +protocols where packet boundaries (and "short packets") +are not significant. + + +Driver Life Cycle + +Gadget drivers make endpoint I/O requests to hardware without +needing to know many details of the hardware, but driver +setup/configuration code needs to handle some differences. +Use the API like this: + + + + +Register a driver for the particular device side +usb controller hardware, +such as the net2280 on PCI (USB 2.0), +sa11x0 or pxa25x as found in Linux PDAs, +and so on. +At this point the device is logically in the USB ch9 initial state +("attached"), drawing no power and not usable +(since it does not yet support enumeration). + + +Register a gadget driver that implements some higher level +device function. That will then bind() to a usb_gadget. + + +The hardware driver can now start enumerating. +The steps it handles are to accept USB power and set_address requests. +Other steps are handled by the gadget driver. +If the gadget driver module is unloaded before the host starts to +enumerate, steps before step 7 are skipped. + + +The gadget driver's setup() call returns usb descriptors, +based both on what the bus interface hardware provides and on the +functionality being implemented. +That can involve alternate settings or configurations, +unless the hardware prevents such operation. + + +The gadget driver handles the last step of enumeration, +when the USB host issues a set_configuration call. +It enables all endpoints used in that configuration, +with all interfaces in their default settings. +That involves using a list of the hardware's endpoints, enabling each +endpoint according to its descriptor. + + +Do real work and perform data transfers, possibly involving +changes to interface settings or switching to new configurations, until the +device is disconnect()ed from the host. +Queue any number of transfer requests to each endpoint. +The drivers then go back to step 3 (above). + + +When the gadget driver module is being unloaded, +the driver unbind() callback is issued. That lets the controller +driver be unloaded. + + + + +Drivers will normally be arranged so that just loading the +gadget driver module (or statically linking it into a Linux kernel) +allows the peripheral device to be enumerated. +Note that at this lowest level there are no policies about how +ep0 configuration logic is implemented, +except that it should obey USB specifications. +Such issues are in the domain of gadget drivers, +including knowing about implementation constraints +imposed by some USB controllers +or understanding that composite devices might happen to +be built by integrating reusable components. + + + + +USB 2.0 Chapter 9 Types and Constants + +Gadget drivers +rely on common USB structures and constants +defined in the +<linux/usb_ch9.h> +header file, which is standard in Linux 2.5 kernels. +These are the same types and constants used by host +side drivers. + + +!Iinclude/linux/usb_ch9.h + + +Core Objects and Methods + +These are declared in +<linux/usb_gadget.h>, +and are used by gadget drivers to interact with +USB peripheral controller drivers. + + + + +!Iinclude/linux/usb_gadget.h + + +Optional Utilities + +The core API is sufficient for writing a USB Gadget Driver, +but some optional utilities are provided to simplify common tasks. + + +!Edrivers/usb/gadget/usbstring.c + + + + +Peripheral Controller Drivers + +The first hardware supporting this API is the NetChip 2280 +controller, which supports USB 2.0 high speed and is based on PCI. +This is the net2280 driver module. +The driver supports Linux kernel versions 2.4 and 2.5; +contact NetChip Technologies for development boards and product +information. + + + + +A partial USB simulator, +the dummy_hcd driver, is available. +It can act like a net2280, a pxa25x, or an sa11x0 in terms +of available endpoints and device speeds; and it simulates +control, bulk, and to some extent interrupt transfers. +That lets you develop some parts of a gadget driver on a normal PC, +without any special hardware, and perhaps with the assistance +of tools such as GDB running with User Mode Linux. +At least one person has expressed interest in adapting that +approach, hooking it up to a simulator for a microcontroller. +Such simulators can help debug subsystems where the runtime hardware +is unfriendly to software development, or is not yet available. + + +Support for other controllers is expected to be developed +and contributed +over time, as this driver framework evolves. + + + + +Gadget Drivers + +In addition to Gadget Zero +(used primarily for testing and development with drivers +for usb controller hardware), other gadget drivers exist. + + +There's an ethernet gadget +driver, which implements one of the most useful +Communications Device Class models. +One of the standards for cable modem interoperability even +specifies the use of this ethernet model as one of two +mandatory options. +Gadgets using this code look to a USB host as if they're +an Ethernet adapter. +It provides access to a network where the gadget's CPU is one host, +which could easily be bridging, routing, or firewalling +access to other networks. + + +There is also support for user mode gadget drivers, +using gadgetfs. +This provides a User Mode API that presents +each endpoint as a single file descriptor. I/O is done using +normal read() and read() calls. +Familiar tools like GDB and pthreads can be used to +develop and debug user mode drivers, so that once a robust +controller driver is available many applications for it +won't require new kernel mode software. + + +Support for other kinds of gadget is expected to +be developed and contributed +over time, as this driver framework evolves. + + + + + + +GNU Free Documentation License +Version 1.2, November 2002 + + + +PREAMBLE + +The purpose of this License is to make a manual, textbook, or +other functional and useful document "free" in the sense of freedom: to +assure everyone the effective freedom to copy and redistribute it, with +or without modifying it, either commercially or noncommercially. +Secondarily, this License preserves for the author and publisher a way +to get credit for their work, while not being considered responsible for +modifications made by others. + +This License is a kind of "copyleft", which means that derivative +works of the document must themselves be free in the same sense. It +complements the GNU General Public License, which is a copyleft license +designed for free software. + +We have designed this License in order to use it for manuals for +free software, because free software needs free documentation: a free +program should come with manuals providing the same freedoms that the +software does. But this License is not limited to software manuals; it +can be used for any textual work, regardless of subject matter or +whether it is published as a printed book. We recommend this License +principally for works whose purpose is instruction or reference. + + +APPLICABILITY AND DEFINITIONS + +This License applies to any manual or other work, in +any medium, that contains a notice placed by the copyright holder saying +it can be distributed under the terms of this License. Such a notice +grants a world-wide, royalty-free license, unlimited in duration, to use +that work under the conditions stated herein. The "Document", below, +refers to any such manual or work. Any member of the public is a +licensee, and is addressed as "you". You accept the license if you +copy, modify or distribute the work in a way requiring permission under +copyright law. + +A "Modified Version" of the Document means any +work containing the Document or a portion of it, either copied verbatim, +or with modifications and/or translated into another language. + +A "Secondary Section" is a named appendix or +a front-matter section of the Document that deals exclusively with the +relationship of the publishers or authors of the Document to the +Document's overall subject (or to related matters) and contains nothing +that could fall directly within that overall subject. (Thus, if the +Document is in part a textbook of mathematics, a Secondary Section may +not explain any mathematics.) The relationship could be a matter of +historical connection with the subject or with related matters, or of +legal, commercial, philosophical, ethical or political position +regarding them. + +The "Invariant Sections" are certain Secondary +Sections whose titles are designated, as being those of Invariant +Sections, in the notice that says that the Document is released under +this License. If a section does not fit the above definition of +Secondary then it is not allowed to be designated as Invariant. The +Document may contain zero Invariant Sections. If the Document does not +identify any Invariant Sections then there are none. + +The "Cover Texts" are certain short passages of +text that are listed, as Front-Cover Texts or Back-Cover Texts, in the +notice that says that the Document is released under this License. A +Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at +most 25 words. + +A "Transparent" copy of the Document means a +machine-readable copy, represented in a format whose specification is +available to the general public, that is suitable for revising the +document straightforwardly with generic text editors or (for images +composed of pixels) generic paint programs or (for drawings) some widely +available drawing editor, and that is suitable for input to text +formatters or for automatic translation to a variety of formats suitable +for input to text formatters. A copy made in an otherwise Transparent +file format whose markup, or absence of markup, has been arranged to +thwart or discourage subsequent modification by readers is not +Transparent. An image format is not Transparent if used for any +substantial amount of text. A copy that is not "Transparent" is called +"Opaque". + +Examples of suitable formats for Transparent copies include plain +ASCII without markup, Texinfo input format, LaTeX input format, SGML or +XML using a publicly available DTD, and standard-conforming simple HTML, +PostScript or PDF designed for human modification. Examples of +transparent image formats include PNG, XCF and JPG. Opaque formats +include proprietary formats that can be read and edited only by +proprietary word processors, SGML or XML for which the DTD and/or +processing tools are not generally available, and the machine-generated +HTML, PostScript or PDF produced by some word processors for output +purposes only. + +The "Title Page" means, for a printed book, +the title page itself, plus such following pages as are needed to hold, +legibly, the material this License requires to appear in the title page. +For works in formats which do not have any title page as such, "Title +Page" means the text near the most prominent appearance of the work's +title, preceding the beginning of the body of the text. + +A section "Entitled XYZ" means a named subunit +of the Document whose title either is precisely XYZ or contains XYZ in +parentheses following text that translates XYZ in another language. +(Here XYZ stands for a specific section name mentioned below, such as +"Acknowledgements", "Dedications", "Endorsements", or "History".) To +"Preserve the Title" of such a section when you modify the Document +means that it remains a section "Entitled XYZ" according to this +definition. + +The Document may include Warranty Disclaimers next to the notice +which states that this License applies to the Document. These Warranty +Disclaimers are considered to be included by reference in this License, +but only as regards disclaiming warranties: any other implication that +these Warranty Disclaimers may have is void and has no effect on the +meaning of this License. + + +VERBATIM COPYING + +You may copy and distribute the Document in any medium, either +commercially or noncommercially, provided that this License, the +copyright notices, and the license notice saying this License applies to +the Document are reproduced in all copies, and that you add no other +conditions whatsoever to those of this License. You may not use +technical measures to obstruct or control the reading or further copying +of the copies you make or distribute. However, you may accept +compensation in exchange for copies. If you distribute a large enough +number of copies you must also follow the conditions in section 3. + + +You may also lend copies, under the same conditions stated above, +and you may publicly display copies. + + +COPYING IN QUANTITY + +If you publish printed copies (or copies in media that commonly +have printed covers) of the Document, numbering more than 100, and the +Document's license notice requires Cover Texts, you must enclose the +copies in covers that carry, clearly and legibly, all these Cover Texts: +Front-Cover Texts on the front cover, and Back-Cover Texts on the back +cover. Both covers must also clearly and legibly identify you as the +publisher of these copies. The front cover must present the full title +with all words of the title equally prominent and visible. You may add +other material on the covers in addition. Copying with changes limited +to the covers, as long as they preserve the title of the Document and +satisfy these conditions, can be treated as verbatim copying in other +respects. + +If the required texts for either cover are too voluminous to fit +legibly, you should put the first ones listed (as many as fit +reasonably) on the actual cover, and continue the rest onto adjacent +pages. + +If you publish or distribute Opaque copies of the Document +numbering more than 100, you must either include a machine-readable +Transparent copy along with each Opaque copy, or state in or with each +Opaque copy a computer-network location from which the general +network-using public has access to download using public-standard +network protocols a complete Transparent copy of the Document, free of +added material. If you use the latter option, you must take reasonably +prudent steps, when you begin distribution of Opaque copies in quantity, +to ensure that this Transparent copy will remain thus accessible at the +stated location until at least one year after the last time you +distribute an Opaque copy (directly or through your agents or retailers) +of that edition to the public. + +It is requested, but not required, that you contact the authors of +the Document well before redistributing any large number of copies, to +give them a chance to provide you with an updated version of the +Document. + + +MODIFICATIONS + +You may copy and distribute a Modified Version of the Document +under the conditions of sections 2 and 3 above, provided that you +release the Modified Version under precisely this License, with the +Modified Version filling the role of the Document, thus licensing +distribution and modification of the Modified Version to whoever +possesses a copy of it. In addition, you must do these things in the +Modified Version: + + +Use in the Title Page (and on the covers, if any) a + title distinct from that of the Document, and from those of previous + versions (which should, if there were any, be listed in the History + section of the Document). You may use the same title as a previous + version if the original publisher of that version gives permission. + +List on the Title Page, as authors, one or more + persons or entities responsible for authorship of the modifications in + the Modified Version, together with at least five of the principal + authors of the Document (all of its principal authors, if it has fewer + than five), unless they release you from this requirement. + +State on the Title page the name of the publisher of + the Modified Version, as the publisher. +Preserve all the copyright notices of the Document. + +Add an appropriate copyright notice for your + modifications adjacent to the other copyright notices. + +Include, immediately after the copyright notices, a + license notice giving the public permission to use the Modified + Version under the terms of this License, in the form shown in the + Addendum below. + +Preserve in that license notice the full lists of + Invariant Sections and required Cover Texts given in the Document's + license notice. +Include an unaltered copy of this License. + +Preserve the section Entitled "History", Preserve its + Title, and add to it an item stating at least the title, year, new + authors, and publisher of the Modified Version as given on the Title + Page. If there is no section Entitled "History" in the Document, + create one stating the title, year, authors, and publisher of the + Document as given on its Title Page, then add an item describing the + Modified Version as stated in the previous sentence. + +Preserve the network location, if any, given in the + Document for public access to a Transparent copy of the Document, and + likewise the network locations given in the Document for previous + versions it was based on. These may be placed in the "History" + section. You may omit a network location for a work that was + published at least four years before the Document itself, or if the + original publisher of the version it refers to gives permission. + +For any section Entitled "Acknowledgements" or + "Dedications", Preserve the Title of the section, and preserve in the + section all the substance and tone of each of the contributor + acknowledgements and/or dedications given therein. + +Preserve all the Invariant Sections of the Document, + unaltered in their text and in their titles. Section numbers or the + equivalent are not considered part of the section titles. + +Delete any section Entitled "Endorsements". + Such a section may not be included in the Modified Version. + +Do not retitle any existing section to be Entitled + "Endorsements" or to conflict in title with any Invariant Section. + +Preserve any Warranty Disclaimers. + + + +If the Modified Version includes new front-matter sections or +appendices that qualify as Secondary Sections and contain no material +copied from the Document, you may at your option designate some or all +of these sections as invariant. To do this, add their titles to the +list of Invariant Sections in the Modified Version's license notice. +These titles must be distinct from any other section titles. + +You may add a section Entitled "Endorsements", provided it +contains nothing but endorsements of your Modified Version by various +parties--for example, statements of peer review or that the text has +been approved by an organization as the authoritative definition of a +standard. + +You may add a passage of up to five words as a Front-Cover Text, +and a passage of up to 25 words as a Back-Cover Text, to the end of the +list of Cover Texts in the Modified Version. Only one passage of +Front-Cover Text and one of Back-Cover Text may be added by (or through +arrangements made by) any one entity. If the Document already includes +a cover text for the same cover, previously added by you or by +arrangement made by the same entity you are acting on behalf of, you may +not add another; but you may replace the old one, on explicit permission +from the previous publisher that added the old one. + +The author(s) and publisher(s) of the Document do not by this +License give permission to use their names for publicity for or to +assert or imply endorsement of any Modified Version. + + +COMBINING DOCUMENTS + +You may combine the Document with other documents released under +this License, under the terms defined in section +4 above for modified versions, provided that you include in the +combination all of the Invariant Sections of all of the original +documents, unmodified, and list them all as Invariant Sections of your +combined work in its license notice, and that you preserve all their +Warranty Disclaimers. + +The combined work need only contain one copy of this License, and +multiple identical Invariant Sections may be replaced with a single +copy. If there are multiple Invariant Sections with the same name but +different contents, make the title of each such section unique by adding +at the end of it, in parentheses, the name of the original author or +publisher of that section if known, or else a unique number. Make the +same adjustment to the section titles in the list of Invariant Sections +in the license notice of the combined work. + +In the combination, you must combine any sections Entitled +"History" in the various original documents, forming one section +Entitled "History"; likewise combine any sections Entitled +"Acknowledgements", and any sections Entitled "Dedications". You must +delete all sections Entitled "Endorsements". + + +COLLECTIONS OF DOCUMENTS + +You may make a collection consisting of the Document and other +documents released under this License, and replace the individual copies +of this License in the various documents with a single copy that is +included in the collection, provided that you follow the rules of this +License for verbatim copying of each of the documents in all other +respects. + +You may extract a single document from such a collection, and +distribute it individually under this License, provided you insert a +copy of this License into the extracted document, and follow this +License in all other respects regarding verbatim copying of that +document. + + +AGGREGATION WITH INDEPENDENT WORKS + +A compilation of the Document or its derivatives with other +separate and independent documents or works, in or on a volume of a +storage or distribution medium, is called an "aggregate" if the +copyright resulting from the compilation is not used to limit the legal +rights of the compilation's users beyond what the individual works +permit. When the Document is included an aggregate, this License does +not apply to the other works in the aggregate which are not themselves +derivative works of the Document. + +If the Cover Text requirement of section 3 is applicable to these +copies of the Document, then if the Document is less than one half of +the entire aggregate, the Document's Cover Texts may be placed on covers +that bracket the Document within the aggregate, or the electronic +equivalent of covers if the Document is in electronic form. Otherwise +they must appear on printed covers that bracket the whole +aggregate. + + +TRANSLATION + +Translation is considered a kind of modification, so you may +distribute translations of the Document under the terms of section 4. +Replacing Invariant Sections with translations requires special +permission from their copyright holders, but you may include +translations of some or all Invariant Sections in addition to the +original versions of these Invariant Sections. You may include a +translation of this License, and all the license notices in the +Document, and any Warranty Disclaimers, provided that you also include +the original English version of this License and the original versions +of those notices and disclaimers. In case of a disagreement between the +translation and the original version of this License or a notice or +disclaimer, the original version will prevail. + +If a section in the Document is Entitled "Acknowledgements", +"Dedications", or "History", the requirement (section 4) to Preserve its +Title (section 1) will typically require changing the actual +title. + + +TERMINATION + +You may not copy, modify, sublicense, or distribute the Document +except as expressly provided for under this License. Any other attempt +to copy, modify, sublicense or distribute the Document is void, and will +automatically terminate your rights under this License. However, +parties who have received copies, or rights, from you under this License +will not have their licenses terminated so long as such parties remain +in full compliance. + + +FUTURE REVISIONS OF THIS LICENSE + +The Free Software Foundation may publish new, revised versions of +the GNU Free Documentation License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in +detail to address new problems or concerns. See +http://www.gnu.org/copyleft/. + +Each version of the License is given a distinguishing version +number. If the Document specifies that a particular numbered version of +this License "or any later version" applies to it, you have the option +of following the terms and conditions either of that specified version +or of any later version that has been published (not as a draft) by the +Free Software Foundation. If the Document does not specify a version +number of this License, you may choose any version ever published (not +as a draft) by the Free Software Foundation. + + +ADDENDUM: How to use this License for + your documents + +To use this License in a document you have written, include a copy +of the License in the document and put the following copyright and +license notices just after the title page: + + + +If you have Invariant Sections, Front-Cover Texts and Back-Cover +Texts, replace the "with...Texts." line with this: + +
+ with the Invariant Sections being LIST THEIR TITLES, with the + Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. +
+ +If you have Invariant Sections without Cover Texts, or some other +combination of the three, merge those two alternatives to suit the +situation. + +If your document contains nontrivial examples of program code, we +recommend releasing these examples in parallel under your choice of free +software license, such as the GNU General Public License, to permit +their use in free software. +
+
+ +
+ diff -Nru a/Documentation/filesystems/fat_cvf.txt b/Documentation/filesystems/fat_cvf.txt --- a/Documentation/filesystems/fat_cvf.txt Sat Jun 7 14:26:32 2003 +++ /dev/null Wed Dec 31 16:00:00 1969 @@ -1,210 +0,0 @@ -This is the main documentation for the CVF-FAT filesystem extension. 18Nov1998 - - -Table of Contents: - -1. The idea of CVF-FAT -2. Restrictions -3. Mount options -4. Description of the CVF-FAT interface -5. CVF Modules - ------------------------------------------------------------------------------- - - -1. The idea of CVF-FAT ------------------------------------------------------------------------------- - -CVF-FAT is a FAT filesystem extension that provides a generic interface for -Compressed Volume Files in FAT partitions. Popular CVF software, for -example, are Microsoft's Doublespace/Drivespace and Stac's Stacker. -Using the CVF-FAT interface, it is possible to load a module that handles -all the low-level disk access that has to do with on-the-fly compression -and decompression. Any other part of FAT filesystem access is still handled -by the FAT, MSDOS or VFAT or even UMSDOS driver. - -CVF access works by redirecting certain low-level routines from the FAT -driver to a loadable, CVF-format specific module. This module must fake -a normal FAT filesystem to the FAT driver while doing all the extra stuff -like compression and decompression silently. - - -2. Restrictions ------------------------------------------------------------------------------- - -- BMAP problems - - CVF filesystems cannot do bmap. It's impossible in principle. Thus - all actions that require bmap do not work (swapping, writable mmapping). - Read-only mmapping works because the FAT driver has a hack for this - situation :) Well, writable mmapping should now work using the readpage - interface function which has been hacked into the FAT driver just for - CVF-FAT :) - -- attention, DOSEmu users - - You may have to unmount all CVF partitions before running DOSEmu depending - on your configuration. If DOSEmu is configured to use wholedisk or - partition access (this is often the case to let DOSEmu access - compressed partitions) there's a risk of destroying your compressed - partitions or crashing your system because of confused drivers. - - Note that it is always safe to redirect the compressed partitions with - lredir or emufs.sys. Refer to the DOSEmu documentation for details. - - -3. Mount options ------------------------------------------------------------------------------- - -The CVF-FAT extension currently adds the following options to the FAT -driver's standard options: - - cvf_format=xxx - Forces the driver to use the CVF module "xxx" instead of auto-detection. - Without this option, the CVF-FAT interface asks all currently loaded - CVF modules whether they recognize the CVF. Therefore, this option is - only necessary if the CVF format is not recognized correctly - because of bugs or incompatibilities in the CVF modules. (It skips - the detect_cvf call.) "xxx" may be the text "none" (without the quotes) - to inhibit using any of the loaded CVF modules, just in case a CVF - module insists on mounting plain FAT filesystems by misunderstanding. - "xxx" may also be the text "autoload", which has a special meaning for - a module loader, but does not skip auto-detection. - - If the kernel supports kmod, the cvf_format=xxx option also controls - on-demand CVF module loading. Without this option, nothing is loaded - on demand. With cvf_format=xxx, a module "xxx" is requested automatically - before mounting the compressed filesystem (unless "xxx" is "none"). In - case there is a difference between the CVF format name and the module - name, setup aliases in your modules configuration. If the string "xxx" - is "autoload", a non-existent module "cvf_autoload" is requested which - can be used together with a special modules configuration (alias and - pre-install statements) in order to load more than one CVF module, let - them detect automatically which kind of CVF is to be mounted, and only - keep the "right" module in memory. For examples please refer to the - dmsdos documentation (ftp and http addresses see below). - - cvf_options=yyy - Option string passed to the CVF module. I.e. only the "yyy" is passed - (without the quotes). The documentation for each CVF module should - explain it since it is interpreted only by the CVF module. Note that - the string must not contain a comma (",") - this would lead to - misinterpretation by the FAT driver, which would recognize the text - after a comma as a FAT driver option and might get confused or print - strange error messages. The documentation for the CVF module should - offer a different separation symbol, for example the dot "." or the - plus sign "+", which is only valid inside the string "yyy". - - -4. Description of the CVF-FAT interface ------------------------------------------------------------------------------- - -Assuming you want to write your own CVF module, you need to write a lot of -interface functions. Most of them are covered in the kernel documentation -you can find on the net, and thus won't be described here. They have been -marked with "[...]" :-) Take a look at include/linux/fat_cvf.h. - -struct cvf_format -{ int cvf_version; - char* cvf_version_text; - unsigned long int flags; - int (*detect_cvf) (struct super_block*sb); - int (*mount_cvf) (struct super_block*sb,char*options); - int (*unmount_cvf) (struct super_block*sb); - [...] - void (*zero_out_cluster) (struct inode*, int clusternr); -} - -This structure defines the capabilities of a CVF module. It must be filled -out completely by a CVF module. Consider it as a kind of form that is used -to introduce the module to the FAT/CVF-FAT driver. - -It contains... - - cvf_version: - A version id which must be unique. Choose one. - - cvf_version_text: - A human readable version string that should be one short word - describing the CVF format the module implements. This text is used - for the cvf_format option. This name must also be unique. - - flags: - Bit coded flags, currently only used for a readpage/mmap hack that - provides both mmap and readpage functionality. If CVF_USE_READPAGE - is set, mmap is set to generic_file_mmap and readpage is caught - and redirected to the cvf_readpage function. If it is not set, - readpage is set to generic_readpage and mmap is caught and redirected - to cvf_mmap. (If you want writable mmap use the readpage interface.) - - detect_cvf: - A function that is called to decide whether the filesystem is a CVF of - the type the module supports. The detect_cvf function must return 0 - for "NO, I DON'T KNOW THIS GARBAGE" or anything >0 for "YES, THIS IS - THE KIND OF CVF I SUPPORT". The function must maintain the module - usage counters for safety, i.e. do MOD_INC_USE_COUNT at the beginning - and MOD_DEC_USE_COUNT at the end. The function *must not* assume that - successful recognition would lead to a call of the mount_cvf function - later. - - mount_cvf: - A function that sets up some values or initializes something additional - to what has to be done when a CVF is mounted. This is called at the - end of fat_read_super and must return 0 on success. Definitely, this - function must increment the module usage counter by MOD_INC_USE_COUNT. - This mount_cvf function is also responsible for interpreting a CVF - module specific option string (the "yyy" from the FAT mount option - "cvf_options=yyy") which cannot contain a comma (use for example the - dot "." as option separator symbol). - - unmount_cvf: - A function that is called when the filesystem is unmounted. Most likely - it only frees up some memory and calls MOD_DEC_USE_COUNT. The return - value might be ignored (it currently is ignored). - - [...]: - All other interface functions are "caught" FAT driver functions, i.e. - are executed by the FAT driver *instead* of the original FAT driver - functions. NULL means use the original FAT driver functions instead. - If you really want "no action", write a function that does nothing and - hang it in instead. - - zero_out_cluster: - The zero_out_cluster function is called when the fat driver wants to - zero out a (new) cluster. This is important for directories (mkdir). - If it is NULL, the FAT driver defaults to overwriting the whole - cluster with zeros. Note that clusternr is absolute, not relative - to the provided inode. - -Notes: - 1. The cvf_bmap function should be ignored. It really should never - get called from somewhere. I recommend redirecting it to a panic - or fatal error message so bugs show up immediately. - 2. The cvf_writepage function is ignored. This is because the fat - driver doesn't support it. This might change in future. I recommend - setting it to NULL (i.e use default). - -int register_cvf_format(struct cvf_format*cvf_format); - If you have just set up a variable containing the above structure, - call this function to introduce your CVF format to the FAT/CVF-FAT - driver. This is usually done in init_module. Be sure to check the - return value. Zero means success, everything else causes a kernel - message printed in the syslog describing the error that occurred. - Typical errors are: - - a module with the same version id is already registered or - - too many CVF formats. Hack fs/fat/cvf.c if you need more. - -int unregister_cvf_format(struct cvf_format*cvf_format); - This is usually called in cleanup_module. Return value =0 means - success. An error only occurs if you try to unregister a CVF format - that has not been previously registered. The code uses the version id - to distinguish the modules, so be sure to keep it unique. - -5. CVF Modules ------------------------------------------------------------------------------- - -Refer to the dmsdos module (the successor of the dmsdos filesystem) for a -sample implementation. It can currently be found at - - ftp://fb9nt.uni-duisburg.de/pub/linux/dmsdos/dmsdos-x.y.z.tgz - ftp://sunsite.unc.edu/pub/Linux/system/Filesystems/dosfs/dmsdos-x.y.z.tgz - ftp://ftp.uni-stuttgart.de/pub/systems/linux/local/system/dmsdos-x.y.z.tgz - -(where x.y.z is to be replaced with the actual version number). Full -documentation about dmsdos is included in the dmsdos package, but can also -be found at - - http://fb9nt.uni-duisburg.de/mitarbeiter/gockel/software/dmsdos/index.html - http://www.yk.rim.or.jp/~takafumi/dmsdos/index.html (in Japanese). diff -Nru a/Documentation/filesystems/jfs.txt b/Documentation/filesystems/jfs.txt --- a/Documentation/filesystems/jfs.txt Sat Jun 7 14:26:30 2003 +++ b/Documentation/filesystems/jfs.txt Sat Jun 7 14:26:30 2003 @@ -4,10 +4,10 @@ Team members ------------ -Steve Best sbest@us.ibm.com Dave Kleikamp shaggy@austin.ibm.com +Dave Blaschke blaschke@us.ibm.com +Steve Best sbest@us.ibm.com Barry Arndt barndt@us.ibm.com -Christoph Hellwig hch@infradead.org The following mount options are supported: diff -Nru a/Documentation/filesystems/proc.txt b/Documentation/filesystems/proc.txt --- a/Documentation/filesystems/proc.txt Sat Jun 7 14:26:26 2003 +++ b/Documentation/filesystems/proc.txt Sat Jun 7 14:26:26 2003 @@ -1068,6 +1068,8 @@ out to disk. This tunable expresses the interval between those wakeups, in 100'ths of a second. +Setting this to zero disables periodic writeback altogether. + dirty_expire_centisecs ---------------------- diff -Nru a/Documentation/kbuild/kconfig-language.txt b/Documentation/kbuild/kconfig-language.txt --- a/Documentation/kbuild/kconfig-language.txt Sat Jun 7 14:26:27 2003 +++ b/Documentation/kbuild/kconfig-language.txt Sat Jun 7 14:26:27 2003 @@ -18,7 +18,7 @@ +- ... Every entry has its own dependencies. These dependencies are used -to determine the visible of an entry. Any child entry is only +to determine the visibility of an entry. Any child entry is only visible if its parent entry is also visible. Menu entries @@ -50,7 +50,7 @@ - type definition: "bool"/"tristate"/"string"/"hex"/"integer" Every config option must have a type. There are only two basic types: - tristate and string, the other types base on these two. The type + tristate and string, the other types are based on these two. The type definition optionally accepts an input prompt, so these two examples are equivalent: @@ -64,7 +64,7 @@ to the user. Optionally dependencies only for this prompt can be added with "if". -- default value: "default" ["if" ] +- default value: "default" ["if" ] A config option can have any number of default values. If multiple default values are visible, only the first defined one is active. Default values are not limited to the menu entry, where they are @@ -81,7 +81,7 @@ This defines a dependency for this menu entry. If multiple dependencies are defined they are connected with '&&'. Dependencies are applied to all other options within this menu entry (which also - accept "if" expression), so these two examples are equivalent: + accept an "if" expression), so these two examples are equivalent: bool "foo" if BAR default y if BAR @@ -90,9 +90,24 @@ bool "foo" default y +- reverse dependencies: "select" ["if" ] + While normal dependencies reduce the upper limit of a symbol (see + below), reverse dependencies can be used to force a lower limit of + another symbol. The value of the current menu symbol is used as the + minimal value can be set to. If is selected multiple + times, the limit is set to the largest selection. + Reverse dependencies can only be used with boolean or tristate + symbols. + +- numerical ranges: "range" ["if" ] + This allows to limit the range of possible input values for integer + and hex symbols. The user can only input a value which is larger than + or equal to the first symbol and smaller than or equal to the second + symbol. + - help text: "help" This defines a help text. The end of the help text is determined by - the level indentation, this means it ends at the first line which has + the indentation level, this means it ends at the first line which has a smaller indentation than the first line of the help text. @@ -123,14 +138,14 @@ otherwise 'y'. (4) Returns the value of the expression. Used to override precedence. (5) Returns the result of (2-/expr/). -(6) Returns the result of min(/expr/, /expr/). -(7) Returns the result of max(/expr/, /expr/). +(6) Returns the result of max(/expr/, /expr/). +(7) Returns the result of min(/expr/, /expr/). An expression can have a value of 'n', 'm' or 'y' (or 0, 1, 2 respectively for calculations). A menu entry becomes visible when it's expression evaluates to 'm' or 'y'. -There are two type of symbols: constant and nonconstant symbols. +There are two types of symbols: constant and nonconstant symbols. Nonconstant symbols are the most common ones and are defined with the 'config' statement. Nonconstant symbols consist entirely of alphanumeric characters or underscores. @@ -159,8 +174,8 @@ The other way to generate the menu structure is done by analyzing the dependencies. If a menu entry somehow depends on the previous entry, it -can be made a submenu of it. First the the previous (parent) symbol must -be part of the dependency list and then one of these two condititions +can be made a submenu of it. First, the previous (parent) symbol must +be part of the dependency list and then one of these two conditions must be true: - the child entry must become invisible, if the parent is set to 'n' - the child entry must only be visible, if the parent is visible @@ -177,7 +192,7 @@ MODVERSIONS directly depends on MODULES, this means it's only visible if MODULES is different from 'n'. The comment on the other hand is always -visible when MODULES it's visible (the (empty) dependency of MODULES is +visible when MODULES is visible (the (empty) dependency of MODULES is also part of the comment dependencies). @@ -188,12 +203,13 @@ line starts with a keyword (except help texts). The following keywords end a menu entry: - config +- menuconfig - choice/endchoice - comment - menu/endmenu - if/endif - source -The first four also start the definition of a menu entry. +The first five also start the definition of a menu entry. config: @@ -202,6 +218,14 @@ This defines a config symbol and accepts any of above attributes as options. + +menuconfig: + "menuconfig" + + +This is similiar to the simple config entry above, but it also gives a +hint to front ends, that all suboptions should be displayed as a +separate list of options. choices: diff -Nru a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt --- a/Documentation/kernel-parameters.txt Sat Jun 7 14:26:36 2003 +++ b/Documentation/kernel-parameters.txt Sat Jun 7 14:26:36 2003 @@ -540,8 +540,6 @@ [KNL,ACPI] Mark specific memory as reserved. Region of memory to be used, from ss to ss+nn. - memfrac= [KNL] - meye= [HW] Set MotionEye Camera parameters See Documentation/video4linux/meye.txt. @@ -616,6 +614,9 @@ use it. noht [SMP,IA-32] Disables P4 Xeon(tm) HyperThreading. + + noirqdebug [IA-32] Disables the code which attempts to detect and + disable unhandled interrupt sources. noisapnp [ISAPNP] Disables ISA PnP code. diff -Nru a/Documentation/kobject.txt b/Documentation/kobject.txt --- a/Documentation/kobject.txt Sat Jun 7 14:26:26 2003 +++ b/Documentation/kobject.txt Sat Jun 7 14:26:26 2003 @@ -2,7 +2,18 @@ Patrick Mochel -7 January 2003 +Updated: 3 June 2003 + + +Copyright (c) Patrick Mochel +Copyright (c) Open Source Development Labs +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.2 +or any later version published by the Free Software Foundation; +with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +A copy of the license is included in the section entitled "GNU +Free Documentation License". + 0. Introduction @@ -100,6 +111,28 @@ When a kobject's reference count reaches 0, the method struct kobj_type::release() (which the kobject's kset points to) is called. This allows any memory allocated for the object to be freed. + + +NOTE!!! + +It is _imperative_ that you supply a desctructor for dynamically +allocated kobjects to free them if you are using kobject reference +counts. The reference count controls the duration of the lifetime of +the object. If it goes to 0, then it is assumed that the object will +be freed and cannot be used. + +More importantly, you must free the object there, and not immediately +after an unregister call. If someone else is referencing the object +(e.g. through a sysfs file), they will obtain a reference to the +object, assume it's valid and operate on it. If the object is +unregistered and freed in the meantime, the operation will then +reference freed memory and go boom. + +This can be prevented, in the simplest case, by defining a release +method and freeing the object from there only. Note that this will not +secure reference count/object management models that use a dual +reference count or do other wacky things with the reference count +(like the networking layer). 1.4 sysfs diff -Nru a/Documentation/networking/ip-sysctl.txt b/Documentation/networking/ip-sysctl.txt --- a/Documentation/networking/ip-sysctl.txt Sat Jun 7 14:26:28 2003 +++ b/Documentation/networking/ip-sysctl.txt Sat Jun 7 14:26:28 2003 @@ -31,6 +31,11 @@ ipfrag_time - INTEGER Time in seconds to keep an IP fragment in memory. +ipfrag_secret_interval - INTEGER + Regeneration interval (in seconds) of the hash secret (or lifetime + for the hash secret) for IP fragments. + Default: 600 + INET peer storage: inet_peer_threshold - INTEGER @@ -514,6 +519,25 @@ FALSE: enable IPv4-mapped address feature Default: FALSE (as specified in RFC2553bis) + +IPv6 Fragmentation: + +ip6frag_high_thresh - INTEGER + Maximum memory used to reassemble IPv6 fragments. When + ip6frag_high_thresh bytes of memory is allocated for this purpose, + the fragment handler will toss packets until ip6frag_low_thresh + is reached. + +ip6frag_low_thresh - INTEGER + See ip6frag_high_thresh + +ip6frag_time - INTEGER + Time in seconds to keep an IPv6 fragment in memory. + +ip6frag_secret_interval - INTEGER + Regeneration interval (in seconds) of the hash secret (or lifetime + for the hash secret) for IPv6 fragments. + Default: 600 conf/default/*: Change the interface-specific default settings. diff -Nru a/Documentation/rocket.txt b/Documentation/rocket.txt --- /dev/null Wed Dec 31 16:00:00 1969 +++ b/Documentation/rocket.txt Sat Jun 7 14:26:36 2003 @@ -0,0 +1,87 @@ +Comtrol(tm) RocketPort(R)/RocketModem(TM) Series +Device Driver for the Linux Operating System + +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- + +PRODUCT OVERVIEW +---------------- + +This driver provides a loadable kernel driver for the Comtrol RocketPort +and RocketModem PCI boards. These boards provide, 2, 4, 8, 16, or 32 +high-speed serial ports or modems. This driver supports up to a combination +of four RocketPort or RocketModems boards in one machine simultaneously. +This file assumes that you are using the RocketPort driver which is +integrated into the kernel sources. + +The driver can also be installed as an external module using the usual +"make;make install" routine. This external module driver, obtainable +from the Comtrol website listed below, is useful for updating the driver +or installing it into kernels which do not have the driver configured +into them. Installations instructions for the external module +are in the included README and HW_INSTALL files. + +RocketPort ISA and RocketModem II PCI boards are also supported by this +driver, but must use the external module driver for configuration reasons. + +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- + +INSTALLATION PROCEDURES +----------------------- + +RocketPort/RocketModem PCI cards require no driver configuration, they are +automatically detected and configured. + +The RocketPort driver can be installed as a module (recommended) or built +into the kernel. This is selected, as for other drivers, through the `make config` +command from the root of the Linux source tree during the kernel build process. + +The RocketPort/RocketModem serial ports installed by this driver are assigned +device major number 46, and will be named /dev/ttyRx, where x is the port number +starting at zero (ex. /dev/ttyR0, /devttyR1, ...). If you have multiple cards +installed in the system, the mapping of port names to serial ports is displayed +in the system log at /var/log/messages. + +If installed as a module, the module must be loaded. This can be done +manually by entering "modprobe rocket". To have the module loaded automatically +upon system boot, edit the /etc/modules.conf file and add the line +"alias char-major-46 rocket". + +In order to use the ports, their device names (nodes) must be created with mknod. +This is only required once, the system will retain the names once created. To +create the RocketPort/RocketModem device names, use the command +"mknod /dev/ttyRx c 46 x" where x is the port number starting at zero. For example: + +>mknod /dev/ttyR0 c 46 0 +>mknod /dev/ttyR1 c 46 1 +>mknod /dev/ttyR2 c 46 2 + +The Linux script MAKEDEV will create the first 16 ttyRx device names (nodes) for you: + +>/dev/MAKEDEV ttyR + +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- + +REPORTING BUGS +-------------- + +For technical support, please provide the following +information: Driver version, kernel release, distribution of +kernel, and type of board you are using. Error messages and log +printouts port configuration details are especially helpful. + +USA + Phone: (612) 494-4100 + FAX: (612) 494-4199 + email: support@comtrol.com + +Comtrol Europe + Phone: +44 (0) 1 869 323-220 + FAX: +44 (0) 1 869 323-211 + email: support@comtrol.co.uk + +Web: http://www.comtrol.com +FTP: ftp.comtrol.com + +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- + + diff -Nru a/Documentation/scsi/aic7xxx.txt b/Documentation/scsi/aic7xxx.txt --- a/Documentation/scsi/aic7xxx.txt Sat Jun 7 14:26:26 2003 +++ b/Documentation/scsi/aic7xxx.txt Sat Jun 7 14:26:26 2003 @@ -132,6 +132,11 @@ 2. Version History + 6.2.34 - Fix locking regression instroduced in 6.2.29 that + could cuase a lock order reversal between the io_request_lock + and our per-softc lock. This was only possible on RH9, + SuSE, and kernel.org 2.4.X kernels. + 6.2.33 - Dynamically disable PCI parity error reporting after 10 errors are reported to the user. These errors are the result of some other device issuing PCI transactions diff -Nru a/Documentation/scsi/dc395x.txt b/Documentation/scsi/dc395x.txt --- a/Documentation/scsi/dc395x.txt Sat Jun 7 14:26:35 2003 +++ b/Documentation/scsi/dc395x.txt Sat Jun 7 14:26:35 2003 @@ -23,40 +23,70 @@ Both can be overriden by command line parameters (module or kernel parameters). -The syntax is as follows: - dc395x = AdapterID, SpeedIdx, DevMode, AdaptMode, Tags, DelayReset +The following parameters are available: -AdapterID : Host Adapter SCSI ID -SpeedIdx : 0,1,...7 = 20,13.3,10,8,6.7,5.8,5,4 MHz [ 7] -DevMode : Bitmap for Dev Cfg [63] -AdaptMode : Bitmap for Adapter Cfg [47] -Tags : The number of tags is 1<= 1. - -If you set AdapterID to -1, the adapter will use conservative -("safe") default settings instead; more precisely, dc395x=-1 is a -shortcut for dc395x=7,4,9,15,2,10 + - safe + Default: 0, Acceptable values: 0 or 1 + + If safe is set to 1 then the adapter will use conservative + ("safe") default settings. This sets: + + shortcut for dc395x=7,4,9,15,2,10 + + - adapter_id + Default: 7, Acceptable values: 0 to 15 + + Sets the host adapter SCSI ID. + + - max_speed + Default: 1, Acceptable value: 0 to 7 + 0 = 20 Mhz + 1 = 12.2 Mhz + 2 = 10 Mhz + 3 = 8 Mhz + 4 = 6.7 Mhz + 5 = 5.8 Hhz + 6 = 5 Mhz + 7 = 4 Mhz + + - dev_mode + Bitmap for device configuration + + DevMode bit definition: + Bit Val(hex) Val(dec) Meaning + *0 0x01 1 Parity check + *1 0x02 2 Synchronous Negotiation + *2 0x04 4 Disconnection + *3 0x08 8 Send Start command on startup. (Not used) + *4 0x10 16 Tagged Command Queueing + *5 0x20 32 Wide Negotiation + + - adapter_mode + Bitmap for adapter configuration + + AdaptMode bit definition + Bit Val(hex) Val(dec) Meaning + *0 0x01 1 Support more than two drives. (Not used) + *1 0x02 2 Use DOS compatible mapping for HDs greater than 1GB. + *2 0x04 4 Reset SCSI Bus on startup. + *3 0x08 8 Active Negation: Improves SCSI Bus noise immunity. + 4 0x10 16 Immediate return on BIOS seek command. (Not used) + (*)5 0x20 32 Check for LUNs >= 1. + + - tags + Default: 3, Acceptable values: 0-5 + + The number of tags is 1< scsi_adjust_queue_depth() | slave_alloc() - slave_configure() --> scsi_adjust_queue_depth() + slave_configure() | slave_alloc() ** slave_destroy() ** -The invocation of scsi_adjust_queue_depth() by the LLD is required -if slave_configure() is supplied. +If the LLD wants to adjust the default queue settings, it can invoke +scsi_adjust_queue_depth() in its slave_configure() routine. + ** For scsi devices that the mid level tries to scan but do not respond, a slave_alloc(), slave_destroy() pair is called. @@ -179,7 +183,7 @@ scsi_add_device() ------+ | slave_alloc() - slave_configure() --> scsi_adjust_queue_depth() + slave_configure() [--> scsi_adjust_queue_depth()] [DEVICE unplug] LLD mid level LLD @@ -228,13 +232,14 @@ slave_destroy() ** | slave_alloc() - slave_configure() --> scsi_adjust_queue_depth() + slave_configure() slave_alloc() ** slave_destroy() ** -If the LLD does not supply a slave_configure() then the mid level invokes -scsi_adjust_queue_depth() itself with tagged queuing off and "cmd_per_lun" -for that host as the queue length. +The mid level invokes scsi_adjust_queue_depth() with tagged queuing off and +"cmd_per_lun" for that host as the queue length. These settings can be +overridden by a slave_configure() supplied by the LLD. + ** For scsi devices that the mid level tries to scan but do not respond, a slave_alloc(), slave_destroy() pair is called. @@ -1093,11 +1098,6 @@ * Notes: Allows the driver to inspect the response to the initial * INQUIRY done by the scanning code and take appropriate action. * For more details see the hosts.h file. - * If this function is not supplied, the mid level will call - * scsi_adjust_queue_depth() with the struct Scsi_Host::cmd_per_lun - * value on behalf of the given device. If this function is - * supplied then its implementation must call - * scsi_adjust_queue_depth(). * * Defined in: LLD **/ @@ -1277,8 +1277,9 @@ Patrick Mansfield Christoph Hellwig Doug Ledford + Andries Brouwer Douglas Gilbert dgilbert@interlog.com -19th April 2003 +29th April 2003 diff -Nru a/Documentation/sound/alsa/ALSA-Configuration.txt b/Documentation/sound/alsa/ALSA-Configuration.txt --- a/Documentation/sound/alsa/ALSA-Configuration.txt Sat Jun 7 14:26:23 2003 +++ b/Documentation/sound/alsa/ALSA-Configuration.txt Sat Jun 7 14:26:23 2003 @@ -53,14 +53,9 @@ for soundcards which are not installed in your system device_mode - specifies permission mask for dynamic sound device filesystem + (available only when DEVFS is enabled) - default value = 0666 - for example 'device_mode=0660' - device_gid - - specifies GID number for dynamic sound device filesystem - - default value = 0 (root) - device_uid - - specifies UID number for dynamic sound device filesystem - - default value = 0 (root) Module snd-pcm-oss @@ -144,6 +139,7 @@ Module for ALi M5451 PCI chip. pcm_channels - Number of hardware channels assigned for PCM + spdif - Support SPDIF I/O (disabled by default) Module supports autoprobe and multiple chips (max 8). @@ -191,6 +187,13 @@ Module supports up to 8 cards, PnP and autoprobe. + Module snd-azt3328 + ------------------ + + Module for soundcards based on Aztech AZF3328 PCI chip. + + Module supports up to 8 cards. + Module snd-cmi8330 ------------------ @@ -846,6 +849,20 @@ Module supports up to 8 cards. + Module snd-sscape + ----------------- + + Module for ENSONIQ SoundScape PnP cards. + + port - Port # (PnP setup) + irq - IRQ # (PnP setup) + mpu_irq - MPU-401 IRQ # (PnP setup) + dma - DMA # (PnP setup) + + Module supports up to 8 cards. ISA PnP must be enabled. + You need sscape_ctl tool in alsa-tools package for loading + the microcode. + Module snd-sun-amd7930 (on sparc only) -------------------------------------- @@ -945,19 +962,34 @@ Module snd-via82xx ------------------ - Module for AC'97 motherboards based on VIA 82C686A/686B, 8233 - (south) bridge. + Module for AC'97 motherboards based on VIA 82C686A/686B, 8233, + 8233A, 8233C, 8235 (south) bridge. mpu_port - 0x300,0x310,0x320,0x330, otherwise obtain BIOS setup + [VIA686A/686B only] ac97_clock - AC'97 codec clock base (default 48000Hz) + dxs_support - support DXS channels, + 0 = auto (default), 1 = enable, 2 = disable, + 3 = 48k only + [VIA8233/C,8235 only] Module supports autoprobe and multiple bus-master chips (max 8). + Note: on some SMP motherboards like MSI 694D the interrupts might not be generated properly. In such a case, please try to set the SMP (or MPS) version on BIOS to 1.1 instead of default value 1.4. Then the interrupt number will be assigned under 15. You might also upgrade your BIOS. + Note: VIA8233/5 (not VIA8233A) can support DXS (direct sound) + channels as the first PCM. With this device, up to 4 + streams can be played at the same time. If the playback on + this PCM is noisy, try to specify dxs_channels option to 2 + or 3. + + Note: for the MPU401 on VIA823x, use snd-mpu401 driver + additonally. + Module snd-virmidi ------------------ @@ -968,6 +1000,53 @@ midi_devs - MIDI devices # (1-8, default=4) Module supports up to 8 cards. + + Module snd-vx222 + ---------------- + + Module for Digigram VX-Pocket VX222, V222 v2 and Mic cards. + + mic - Enable Microphone on V222 Mic (NYI) + + Module supports up to 8 cards. + + For loading the firmware, use vxloader utility in alsa-tools + package. You can load the firmware automatically by adding + the following to /etc/modules.conf + + post-install snd-vx222 "/usr/bin/vxload" + + Module snd-vxpocket + ------------------- + + Module for Digigram VX-Pocket VX2 PCMCIA card. + + irq_mask - IRQ bitmask, specifies the available IRQs as bits + + Module supports up to 8 cards. The module is compiled only when + PCMCIA is supported on kernel. + + To activate the driver via the card manager, you'll need to set + up /etc/pcmcia/vxpocket.conf. See the sound/pcmcia/vx/vxpocket.c. + + For loading the firmware, use vxloader utility in alsa-tools + package. + + Module snd-vxp440 + ----------------- + + Module for Digigram VX-Pocket 440 PCMCIA card. + + irq_mask - IRQ bitmask, specifies the available IRQs as bits + + Module supports up to 8 cards. The module is compiled only when + PCMCIA is supported on kernel. + + To activate the driver via the card manager, you'll need to set + up /etc/pcmcia/vxp440.conf. See the sound/pcmcia/vx/vxp440.c. + + For loading the firmware, use vxloader utility in alsa-tools + package. Module snd-ymfpci ----------------- diff -Nru a/Documentation/sound/alsa/CMIPCI.txt b/Documentation/sound/alsa/CMIPCI.txt --- a/Documentation/sound/alsa/CMIPCI.txt Sat Jun 7 14:26:23 2003 +++ b/Documentation/sound/alsa/CMIPCI.txt Sat Jun 7 14:26:23 2003 @@ -115,8 +115,7 @@ % aplay -Dspdif foo.wav -So far, only S16LE format is supported. Still no 24bit. Sorry, not -enough info for this. +24bit format is also supported experimentally. The playback and capture over SPDIF use normal DAC and ADC, respectively, so you cannot playback both analog and digital streams diff -Nru a/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl b/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl --- a/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl Sat Jun 7 14:26:26 2003 +++ b/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl Sat Jun 7 14:26:26 2003 @@ -1538,11 +1538,12 @@ @@ -2905,7 +2906,8 @@ - This callback may be called multiple times, too. + This function is always called before the close callback is called. + Also, the callback may be called multiple times, too. Keep track whether the resource was already released. @@ -3006,14 +3008,16 @@ - When the pcm supports the suspend/resume operation, + When the pcm supports the suspend/resume operation + (i.e. SNDRV_PCM_INFO_RESUME flag is set), SUSPEND and RESUME - commands must be handled, too. Obviously it does suspend and - resume of the pcm substream. Usually, the - SUSPEND is identical with - STOP command and the - RESUME is identical with - START command. + commands must be handled, too. + These commands are issued when the power-management status is + changed. Obviously, the SUSPEND and + RESUME + do suspend and resume of the pcm substream, and usually, they + are identical with STOP and + START commands, respectively. @@ -3149,8 +3153,8 @@ Interrupt Handler Case #1 lock); @@ -3160,9 +3164,11 @@ spin_unlock(&chip->lock); snd_pcm_period_elapsed(chip->substream); spin_lock(&chip->lock); + // acknowledge the interrupt if necessary } .... spin_unlock(&chip->lock); + return IRQ_HANDLED; } ]]> @@ -3191,8 +3197,8 @@ Interrupt Handler Case #2 lock); @@ -3221,9 +3227,11 @@ snd_pcm_period_elapsed(substream); spin_lock(&chip->lock); } + // acknowledge the interrupt if necessary } .... spin_unlock(&chip->lock); + return IRQ_HANDLED; } ]]> @@ -3326,9 +3334,96 @@ - There are many different constraints. You can even define your - own constraint rules. I won't explain the details here, rather I - would like to say, Luke, use the source. + There are many different constraints. + Look in sound/asound.h for a complete list. + You can even define your own constraint rules. + For example, let's suppose my_chip can manage a substream of 1 channel + if and only if the format is S16_LE, otherwise it supports any format + specified in the snd_pcm_hardware_t stucture (or in any + other constraint_list). You can build a rule like this: + + + Example of Hardware Constraints for Channels + +min < 2) { + fmt.bits[0] &= SNDRV_PCM_FMTBIT_S16_LE; + return snd_mask_refine(f, &fmt); + } + return 0; + } +]]> + + + + + + Then you need to call this function to add your rule: + + + +runtime, 0, SNDRV_PCM_HW_PARAM_CHANNELS, + hw_rule_channels_by_format, 0, SNDRV_PCM_HW_PARAM_FORMAT, + -1); +]]> + + + + + + The rule function is called when an application sets the number of + channels. But an application can set the format before the number of + channels. Thus you also need to define the inverse rule: + + + Example of Hardware Constraints for Channels + +bits[0] == SNDRV_PCM_FMTBIT_S16_LE) { + ch.min = ch.max = 1; + ch.integer = 1; + return snd_interval_refine(c, &ch); + } + return 0; + } +]]> + + + + + + ...and in the open callback: + + +runtime, 0, SNDRV_PCM_HW_PARAM_FORMAT, + hw_rule_format_by_channels, 0, SNDRV_PCM_HW_PARAM_CHANNELS, + -1); +]]> + + + + + + I won't explain more details here, rather I + would like to say, Luke, use the source. @@ -5750,6 +5845,10 @@ Kevin Conder reformatted the original plain-text to the DocBook format. + + + Giuliano Pochini corrected typos and contributed the example codes + in the hardware constraints section. diff -Nru a/Documentation/sound/alsa/OSS-Emulation.txt b/Documentation/sound/alsa/OSS-Emulation.txt --- a/Documentation/sound/alsa/OSS-Emulation.txt Sat Jun 7 14:26:30 2003 +++ b/Documentation/sound/alsa/OSS-Emulation.txt Sat Jun 7 14:26:30 2003 @@ -249,7 +249,7 @@ [Volume|Switch]" will be checked in addition. The current assignment of these mixer elements is listed in the proc -file, /proc/asound/cardX/mixer_oss, which will be like the following +file, /proc/asound/cardX/oss_mixer, which will be like the following VOLUME "Master" 0 BASS "" 0 @@ -267,7 +267,7 @@ proc file. For example, to map "Wave Playback" to the PCM volume, send the command like the following: - % echo 'VOLUME "Wave Playback" 0' > /proc/asound/card0/mixer_oss + % echo 'VOLUME "Wave Playback" 0' > /proc/asound/card0/oss_mixer The command is exactly as same as listed in the proc file. You can change one or more elements, one volume per line. In the last diff -Nru a/Documentation/sysctl/vm.txt b/Documentation/sysctl/vm.txt --- a/Documentation/sysctl/vm.txt Sat Jun 7 14:26:32 2003 +++ b/Documentation/sysctl/vm.txt Sat Jun 7 14:26:32 2003 @@ -22,6 +22,7 @@ - dirty_background_ratio - dirty_expire_centisecs - dirty_writeback_centisecs +- min_free_kbytes ============================================================== @@ -74,3 +75,11 @@ 2 ^ page-cluster. Values above 2 ^ 5 don't make much sense for swap because we only cluster swap data in 32-page groups. +============================================================== + +min_free_kbytes: + +This is used to force the Linux VM to keep a minimum number +of kilobytes free. The VM uses this number to compute a pages_min +value for each lowmem zone in the system. Each lowmem zone gets +a number of reserved free pages based proportionally on its size. diff -Nru a/Documentation/usb/proc_usb_info.txt b/Documentation/usb/proc_usb_info.txt --- a/Documentation/usb/proc_usb_info.txt Sat Jun 7 14:26:23 2003 +++ b/Documentation/usb/proc_usb_info.txt Sat Jun 7 14:26:23 2003 @@ -1,10 +1,11 @@ /proc/bus/usb filesystem output =============================== -(version 2002.03.19) +(version 2003.05.30) -The /proc filesystem for USB devices provides /proc/bus/usb/drivers -and /proc/bus/usb/devices, as well as /proc/bus/usb/BBB/DDD files. +The usbfs filesystem for USB devices is traditionally mounted at +/proc/bus/usb. It provides the /proc/bus/usb/devices file, as well as +the /proc/bus/usb/BBB/DDD files. **NOTE**: If /proc/bus/usb appears empty, and a host controller @@ -66,30 +67,6 @@ grant read/write permissions to other users by using "chmod". Also, usbfs mount options such as "devmode=0666" may be helpful. - - -THE /proc/bus/usb/drivers FILE: -------------------------------- -Each of the USB device drivers linked into your kernel (statically, -or dynamically using "modprobe") is listed in the "drivers" file. -Here's an example from one system: - - usbdevfs - hub - 0- 15: usblp - usbnet - serial - usb-storage - pegasus - -If you see this file, "usbdevfs" and "hub" will always be listed, -since those are part of the "usbcore" framework. - -Drivers that use the USB major number (180) to provide character devices -will include a range of minor numbers, as shown above for the "usblp" -(actually "printer.o") module. USB device drivers can of course use any -major number, but it's easy to use the USB range since there's explicit -support for subdividing it in the USB device driver framework. THE /proc/bus/usb/devices FILE: diff -Nru a/Documentation/vm/hugetlbpage.txt b/Documentation/vm/hugetlbpage.txt --- a/Documentation/vm/hugetlbpage.txt Sat Jun 7 14:26:24 2003 +++ b/Documentation/vm/hugetlbpage.txt Sat Jun 7 14:26:24 2003 @@ -67,14 +67,21 @@ call, then it is required that system administrator mount a file system of type hugetlbfs: - mount none /mnt/huge -t hugetlbfs + mount none /mnt/huge -t hugetlbfs This command mounts a (pseudo) filesystem of type hugetlbfs on the directory -/mnt/huge. Any files created on /mnt/huge uses hugepages. An example is -given at the end of this document. +/mnt/huge. Any files created on /mnt/huge uses hugepages. The uid and gid +options sets the owner and group of the root of the file system. By default +the uid and gid of the current process are taken. The mode option sets the +mode of root of file system to value & 0777. This value is given in octal. +By default the value 0755 is picked. An example is given at the end of this +document. read and write system calls are not supported on files that reside on hugetlb file systems. + +A regular chown, chgrp and chmod commands (with right permissions) could be +used to change the file attributes on hugetlbfs. Also, it is important to note that no such mount command is required if the applications are going to use only shmat/shmget system calls. It is possible diff -Nru a/MAINTAINERS b/MAINTAINERS --- a/MAINTAINERS Sat Jun 7 14:26:30 2003 +++ b/MAINTAINERS Sat Jun 7 14:26:30 2003 @@ -281,6 +281,13 @@ W: http://linux-atm.sourceforge.net S: Maintained +ATMEL WIRELESS DRIVER +P: Simon Kelley +M: simon@thekelleys.org.uk +W: http://www.thekelleys.org.uk/atmel +W: http://atmelwlandriver.sourceforge.net/ +S: Maintained + AX.25 NETWORK LAYER P: Ralf Baechle M: ralf@linux-mips.org @@ -1111,8 +1118,10 @@ S: Maintained LINUX FOR 64BIT POWERPC -P: David Engebretsen +P: David Engebretsen (stable kernel) M: engebret@us.ibm.com +P: Anton Blanchard (development kernel) +M: anton@au.ibm.com W: http://linuxppc64.org L: linuxppc64-dev@lists.linuxppc.org S: Supported @@ -1523,6 +1532,12 @@ L: reiserfs-list@namesys.com W: http://www.namesys.com S: Supported + +ROCKETPORT DRIVER +P: Comtrol Corp. +M: support@comtrol.com +W: http://www.comtrol.com +S: Maintained ROSE NETWORK LAYER P: Ralf Baechle diff -Nru a/Makefile b/Makefile --- a/Makefile Sat Jun 7 14:26:31 2003 +++ b/Makefile Sat Jun 7 14:26:31 2003 @@ -36,13 +36,36 @@ SUBARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \ -e s/arm.*/arm/ -e s/sa110/arm/ \ -e s/s390x/s390/ ) -ARCH := $(SUBARCH) # Remove hyphens since they have special meaning in RPM filenames KERNELPATH=kernel-$(subst -,,$(KERNELRELEASE)) +# Cross compiling and selecting different set of gcc/bin-utils +# --------------------------------------------------------------------------- +# +# When performing cross compilation for other architectures ARCH shall be set +# to the target architecture. (See arch/* for the possibilities). +# ARCH can be set during invocation of make: +# make ARCH=ia64 +# Another way is to have ARCH set in the environment. +# The default ARCH is the host where make is executed. + +# CROSS_COMPILE specify the prefix used for all executables used +# during compilation. Only gcc and related bin-utils executables +# are prefixed with $(CROSS_COMPILE). +# CROSS_COMPILE can be set on the command line +# make CROSS_COMPILE=ia64-linux- +# Alternatively CROSS_COMPILE can be set in the environment. +# Default value for CROSS_COMPILE is not to prefix executables +# Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile + +ARCH ?= $(SUBARCH) +CROSS_COMPILE ?= + +# Architecture as present in compile.h UTS_MACHINE := $(ARCH) +# SHELL used by kbuild CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \ else if [ -x /bin/bash ]; then echo /bin/bash; \ else echo sh; fi ; fi) @@ -53,7 +76,6 @@ HOSTCFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer HOSTCXXFLAGS = -O2 -CROSS_COMPILE = # That's our default target when none is given on the command line # Note that 'modules' will be added as a prerequisite as well, @@ -783,25 +805,27 @@ help: @echo 'Cleaning targets:' - @echo ' clean - remove most generated files but keep the config' - @echo ' mrproper - remove all generated files + config + various backup files' + @echo ' clean - remove most generated files but keep the config' + @echo ' mrproper - remove all generated files + config + various backup files' @echo '' @echo 'Configuration targets:' - @echo ' oldconfig - Update current config utilising a line-oriented program' - @echo ' menuconfig - Update current config utilising a menu based program' - @echo ' xconfig - Update current config utilising a X-based program' - @echo ' defconfig - New config with default answer to all options' - @echo ' allmodconfig - New config selecting modules when possible' - @echo ' allyesconfig - New config where all options are accepted with yes' - @echo ' allnoconfig - New minimal config' + @echo ' oldconfig - Update current config utilising a line-oriented program' + @echo ' menuconfig - Update current config utilising a menu based program' + @echo ' xconfig - Update current config utilising a QT based front-end' + @echo ' gconfig - Update current config utilising a GTK based front-end' + @echo ' defconfig - New config with default answer to all options' + @echo ' allmodconfig - New config selecting modules when possible' + @echo ' allyesconfig - New config where all options are accepted with yes' + @echo ' allnoconfig - New minimal config' @echo '' @echo 'Other generic targets:' - @echo ' all - Build all targets marked with [*]' - @echo '* vmlinux - Build the bare kernel' - @echo '* modules - Build all modules' - @echo ' dir/file.[ois]- Build specified target only' - @echo ' rpm - Build a kernel as an RPM package' - @echo ' tags/TAGS - Generate tags file for editors' + @echo ' all - Build all targets marked with [*]' + @echo '* vmlinux - Build the bare kernel' + @echo '* modules - Build all modules' + @echo ' modules_install - Install all modules' + @echo ' dir/file.[ois] - Build specified target only' + @echo ' rpm - Build a kernel as an RPM package' + @echo ' tags/TAGS - Generate tags file for editors' @echo '' @echo 'Documentation targets:' @$(MAKE) --no-print-directory -f Documentation/DocBook/Makefile dochelp @@ -809,6 +833,9 @@ @echo 'Architecture specific targets ($(ARCH)):' @$(if $(archhelp),$(archhelp),\ echo ' No architecture specific help defined for $(ARCH)') + @echo '' + @echo ' make V=0|1 [targets] 0 => quiet build (default), 1 => verbose build' + @echo ' make C=1 [targets] Check all c source with checker tool' @echo '' @echo 'Execute "make" or "make all" to build all targets marked with [*] ' @echo 'For further info browse Documentation/kbuild/*' diff -Nru a/arch/alpha/kernel/core_marvel.c b/arch/alpha/kernel/core_marvel.c --- a/arch/alpha/kernel/core_marvel.c Sat Jun 7 14:26:23 2003 +++ b/arch/alpha/kernel/core_marvel.c Sat Jun 7 14:26:23 2003 @@ -980,7 +980,7 @@ } static int -marvel_agp_bind_memory(alpha_agp_info *agp, off_t pg_start, agp_memory *mem) +marvel_agp_bind_memory(alpha_agp_info *agp, off_t pg_start, struct agp_memory *mem) { struct marvel_agp_aperture *aper = agp->aperture.sysdata; return iommu_bind(aper->arena, aper->pg_start + pg_start, @@ -988,7 +988,7 @@ } static int -marvel_agp_unbind_memory(alpha_agp_info *agp, off_t pg_start, agp_memory *mem) +marvel_agp_unbind_memory(alpha_agp_info *agp, off_t pg_start, struct agp_memory *mem) { struct marvel_agp_aperture *aper = agp->aperture.sysdata; return iommu_unbind(aper->arena, aper->pg_start + pg_start, diff -Nru a/arch/alpha/kernel/core_titan.c b/arch/alpha/kernel/core_titan.c --- a/arch/alpha/kernel/core_titan.c Sat Jun 7 14:26:26 2003 +++ b/arch/alpha/kernel/core_titan.c Sat Jun 7 14:26:26 2003 @@ -679,7 +679,7 @@ } static int -titan_agp_bind_memory(alpha_agp_info *agp, off_t pg_start, agp_memory *mem) +titan_agp_bind_memory(alpha_agp_info *agp, off_t pg_start, struct agp_memory *mem) { struct titan_agp_aperture *aper = agp->aperture.sysdata; return iommu_bind(aper->arena, aper->pg_start + pg_start, @@ -687,7 +687,7 @@ } static int -titan_agp_unbind_memory(alpha_agp_info *agp, off_t pg_start, agp_memory *mem) +titan_agp_unbind_memory(alpha_agp_info *agp, off_t pg_start, struct agp_memory *mem) { struct titan_agp_aperture *aper = agp->aperture.sysdata; return iommu_unbind(aper->arena, aper->pg_start + pg_start, diff -Nru a/arch/alpha/kernel/irq.c b/arch/alpha/kernel/irq.c --- a/arch/alpha/kernel/irq.c Sat Jun 7 14:26:33 2003 +++ b/arch/alpha/kernel/irq.c Sat Jun 7 14:26:33 2003 @@ -34,7 +34,10 @@ * Controller mappings for all interrupt sources: */ irq_desc_t irq_desc[NR_IRQS] __cacheline_aligned = { - [0 ... NR_IRQS-1] = { 0, &no_irq_type, NULL, 0, SPIN_LOCK_UNLOCKED} + [0 ... NR_IRQS-1] = { + .handler = &no_irq_type, + .lock = SPIN_LOCK_UNLOCKED + } }; static void register_irq_proc(unsigned int irq); diff -Nru a/arch/alpha/kernel/pci.c b/arch/alpha/kernel/pci.c --- a/arch/alpha/kernel/pci.c Sat Jun 7 14:26:23 2003 +++ b/arch/alpha/kernel/pci.c Sat Jun 7 14:26:23 2003 @@ -102,7 +102,7 @@ { unsigned int class = dev->class >> 8; - if (class == PCI_CLASS_BRIDGE_ISA || class == PCI_CLASS_BRIDGE_ISA) { + if (class == PCI_CLASS_BRIDGE_ISA || class == PCI_CLASS_BRIDGE_EISA) { dev->dma_mask = MAX_ISA_DMA_ADDRESS - 1; isa_bridge = dev; } diff -Nru a/arch/alpha/kernel/ptrace.c b/arch/alpha/kernel/ptrace.c --- a/arch/alpha/kernel/ptrace.c Sat Jun 7 14:26:34 2003 +++ b/arch/alpha/kernel/ptrace.c Sat Jun 7 14:26:34 2003 @@ -366,8 +366,8 @@ ret = -EIO; if ((unsigned long) data > _NSIG) break; - /* Set single stepping. */ - ptrace_set_bpt(child); + /* Mark single stepping. */ + child->thread_info->bpt_nsaved = -1; clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE); wake_up_process(child); child->exit_code = data; diff -Nru a/arch/alpha/kernel/signal.c b/arch/alpha/kernel/signal.c --- a/arch/alpha/kernel/signal.c Sat Jun 7 14:26:28 2003 +++ b/arch/alpha/kernel/signal.c Sat Jun 7 14:26:28 2003 @@ -619,7 +619,10 @@ if (!oldset) oldset = ¤t->blocked; + /* This lets the debugger run, ... */ signr = get_signal_to_deliver(&info, regs, NULL); + /* ... so re-check the single stepping. */ + single_stepping |= ptrace_cancel_bpt(current); if (signr > 0) { /* Whee! Actually deliver the signal. */ diff -Nru a/arch/alpha/kernel/smp.c b/arch/alpha/kernel/smp.c --- a/arch/alpha/kernel/smp.c Sat Jun 7 14:26:26 2003 +++ b/arch/alpha/kernel/smp.c Sat Jun 7 14:26:26 2003 @@ -417,12 +417,7 @@ /* Don't care about the contents of regs since we'll never reschedule the forked task. */ struct pt_regs regs; - int pid; - pid = do_fork(CLONE_VM|CLONE_IDLETASK, 0, ®s, 0, NULL, NULL); - if (pid < 0) - return NULL; - - return find_task_by_pid (pid); + return copy_process(CLONE_VM|CLONE_IDLETASK, 0, ®s, 0, NULL, NULL); } /* @@ -441,8 +436,10 @@ wish. We can't use kernel_thread since we must avoid rescheduling the child. */ idle = fork_by_hand(); - if (!idle) + if (IS_ERR(idle)) panic("failed fork for CPU %d", cpuid); + + wake_up_forked_process(idle); init_idle(idle, cpuid); unhash_process(idle); diff -Nru a/arch/alpha/kernel/sys_sio.c b/arch/alpha/kernel/sys_sio.c --- a/arch/alpha/kernel/sys_sio.c Sat Jun 7 14:26:22 2003 +++ b/arch/alpha/kernel/sys_sio.c Sat Jun 7 14:26:22 2003 @@ -85,10 +85,10 @@ sio_collect_irq_levels(void) { unsigned int level_bits = 0; - struct pci_dev *dev; + struct pci_dev *dev = NULL; /* Iterate through the devices, collecting IRQ levels. */ - pci_for_each_dev(dev) { + while ((dev = pci_find_device(PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL) { if ((dev->class >> 16 == PCI_BASE_CLASS_BRIDGE) && (dev->class >> 8 != PCI_CLASS_BRIDGE_PCMCIA)) continue; diff -Nru a/arch/alpha/kernel/systbls.S b/arch/alpha/kernel/systbls.S --- a/arch/alpha/kernel/systbls.S Sat Jun 7 14:26:30 2003 +++ b/arch/alpha/kernel/systbls.S Sat Jun 7 14:26:30 2003 @@ -433,6 +433,15 @@ .quad sys_set_tid_address .quad sys_restart_syscall .quad sys_fadvise64 + .quad sys_timer_create + .quad sys_timer_settime /* 415 */ + .quad sys_timer_gettime + .quad sys_timer_getoverrun + .quad sys_timer_delete + .quad sys_clock_settime + .quad sys_clock_gettime /* 420 */ + .quad sys_clock_getres + .quad sys_clock_nanosleep .size sys_call_table, . - sys_call_table .type sys_call_table, @object diff -Nru a/arch/arm/common/Makefile b/arch/arm/common/Makefile --- a/arch/arm/common/Makefile Sat Jun 7 14:26:28 2003 +++ b/arch/arm/common/Makefile Sat Jun 7 14:26:28 2003 @@ -2,7 +2,7 @@ # Makefile for the linux kernel. # -obj-$(CONFIG_SA1111) += sa1111.o sa1111-pcibuf.o sa1111-pcipool.o - +obj-y += platform.o +obj-$(CONFIG_SA1111) += sa1111.o sa1111-pcibuf.o sa1111-pcipool.o obj-$(CONFIG_PCI_HOST_PLX90X0) += plx90x0.o obj-$(CONFIG_PCI_HOST_VIA82C505) += via82c505.o diff -Nru a/arch/arm/common/platform.c b/arch/arm/common/platform.c --- /dev/null Wed Dec 31 16:00:00 1969 +++ b/arch/arm/common/platform.c Sat Jun 7 14:26:36 2003 @@ -0,0 +1,35 @@ +#include +#include +#include + +int __init platform_add_device(struct platform_device *dev) +{ + int i; + + for (i = 0; i < dev->num_resources; i++) { + struct resource *r = &dev->resource[i]; + + r->name = dev->dev.name; + + if (r->flags & IORESOURCE_MEM && + request_resource(&iomem_resource, r)) { + printk(KERN_ERR + "%s%d: failed to claim resource %d\n", + dev->name, dev->id, i); + break; + } + } + if (i == dev->num_resources) + platform_device_register(dev); + return 0; +} + +int __init platform_add_devices(struct platform_device **devs, int num) +{ + int i; + + for (i = 0; i < num; i++) + platform_add_device(devs[i]); + + return 0; +} diff -Nru a/arch/arm/common/sa1111.c b/arch/arm/common/sa1111.c --- a/arch/arm/common/sa1111.c Sat Jun 7 14:26:34 2003 +++ b/arch/arm/common/sa1111.c Sat Jun 7 14:26:34 2003 @@ -42,7 +42,7 @@ */ struct sa1111 { struct device *dev; - struct resource res; + unsigned long phys; int irq; spinlock_t lock; void *base; @@ -60,7 +60,6 @@ }, .skpcr_mask = SKPCR_UCLKEN, .devid = SA1111_DEVID_USB, - .dma_mask = 0xffffffffLL, .irq = { IRQ_USBPWR, IRQ_HCIM, @@ -470,6 +469,17 @@ #ifdef CONFIG_ARCH_SA1100 +static u32 sa1111_dma_mask[] = { + ~0, + ~(1 << 20), + ~(1 << 23), + ~(1 << 24), + ~(1 << 25), + ~(1 << 20), + ~(1 << 20), + 0, +}; + /* * Configure the SA1111 shared memory controller. */ @@ -483,26 +493,43 @@ smcr |= SMCR_CLAT; sa1111_writel(smcr, sachip->base + SA1111_SMCR); + + /* + * Now clear the bits in the DMA mask to work around the SA1111 + * DMA erratum (Intel StrongARM SA-1111 Microprocessor Companion + * Chip Specification Update, June 2000, Erratum #7). + */ + if (sachip->dev->dma_mask) + *sachip->dev->dma_mask &= sa1111_dma_mask[drac >> 2]; } #endif static void -sa1111_init_one_child(struct sa1111 *sachip, struct sa1111_dev *sadev, unsigned int offset) +sa1111_init_one_child(struct sa1111 *sachip, struct resource *parent, + struct sa1111_dev *sadev, unsigned int offset) { snprintf(sadev->dev.bus_id, sizeof(sadev->dev.bus_id), "%4.4x", offset); + /* + * If the parent device has a DMA mask associated with it, + * propagate it down to the children. + */ + if (sachip->dev->dma_mask) { + sadev->dma_mask = *sachip->dev->dma_mask; + sadev->dev.dma_mask = &sadev->dma_mask; + } + sadev->dev.parent = sachip->dev; sadev->dev.bus = &sa1111_bus_type; - sadev->dev.dma_mask = &sadev->dma_mask; - sadev->res.start = sachip->res.start + offset; + sadev->res.start = sachip->phys + offset; sadev->res.end = sadev->res.start + 511; sadev->res.name = sadev->dev.name; sadev->res.flags = IORESOURCE_MEM; sadev->mapbase = sachip->base + offset; - if (request_resource(&sachip->res, &sadev->res)) { + if (request_resource(parent, &sadev->res)) { printk("SA1111: failed to allocate resource for %s\n", sadev->res.name); return; @@ -524,7 +551,7 @@ * %0 successful. */ static int __init -__sa1111_probe(struct device *me, unsigned long phys_addr, int irq) +__sa1111_probe(struct device *me, struct resource *mem, int irq) { struct sa1111 *sachip; unsigned long id; @@ -542,24 +569,17 @@ sachip->dev = me; dev_set_drvdata(sachip->dev, sachip); - sachip->res.name = me->name; - sachip->res.start = phys_addr; - sachip->res.end = phys_addr + 0x2000; + sachip->phys = mem->start; sachip->irq = irq; - if (request_resource(&iomem_resource, &sachip->res)) { - ret = -EBUSY; - goto out; - } - /* * Map the whole region. This also maps the * registers for our children. */ - sachip->base = ioremap(phys_addr, PAGE_SIZE * 2); + sachip->base = ioremap(mem->start, PAGE_SIZE * 2); if (!sachip->base) { ret = -ENOMEM; - goto release; + goto out; } /* @@ -611,9 +631,11 @@ * The interrupt controller must be initialised before any * other device to ensure that the interrupts are available. */ - int_dev.irq[0] = irq; - sa1111_init_one_child(sachip, &int_dev, SA1111_INTC); - sa1111_init_irq(&int_dev); + if (irq != NO_IRQ) { + int_dev.irq[0] = irq; + sa1111_init_one_child(sachip, mem, &int_dev, SA1111_INTC); + sa1111_init_irq(&int_dev); + } g_sa1111 = sachip; @@ -626,14 +648,12 @@ for (i = 0; i < ARRAY_SIZE(devs); i++) if (has_devs & (1 << i)) - sa1111_init_one_child(sachip, devs[i], dev_offset[i]); + sa1111_init_one_child(sachip, mem, devs[i], dev_offset[i]); return 0; unmap: iounmap(sachip->base); - release: - release_resource(&sachip->res); out: kfree(sachip); return ret; @@ -649,7 +669,6 @@ } iounmap(sachip->base); - release_resource(&sachip->res); kfree(sachip); } @@ -874,7 +893,17 @@ static int sa1111_probe(struct device *dev) { - return -ENODEV; + struct platform_device *pdev = to_platform_device(dev); + struct resource *mem = NULL, *irq = NULL; + int i; + + for (i = 0; i < pdev->num_resources; i++) { + if (pdev->resource[i].flags & IORESOURCE_MEM) + mem = &pdev->resource[i]; + if (pdev->resource[i].flags & IORESOURCE_IRQ) + irq = &pdev->resource[i]; + } + return __sa1111_probe(dev, mem, irq ? irq->start : NO_IRQ); } static int sa1111_remove(struct device *dev) @@ -903,7 +932,7 @@ */ static struct device_driver sa1111_device_driver = { .name = "sa1111", - .bus = &system_bus_type, + .bus = &platform_bus_type, .probe = sa1111_probe, .remove = sa1111_remove, .suspend = sa1111_suspend, @@ -920,29 +949,6 @@ } arch_initcall(sa1111_driver_init); - -static struct sys_device sa1111_device = { - .name = "SA1111", - .id = 0, - .root = NULL, - .dev = { - .name = "Intel Corporation SA1111", - .driver = &sa1111_device_driver, - }, -}; - -int sa1111_init(unsigned long phys, unsigned int irq) -{ - int ret; - - snprintf(sa1111_device.dev.bus_id, sizeof(sa1111_device.dev.bus_id), "%8.8lx", phys); - - ret = sys_device_register(&sa1111_device); - if (ret) - printk("sa1111 device_register failed: %d\n", ret); - - return __sa1111_probe(&sa1111_device.dev, phys, irq); -} /* * Get the parent device driver (us) structure diff -Nru a/arch/arm/kernel/bios32.c b/arch/arm/kernel/bios32.c --- a/arch/arm/kernel/bios32.c Sat Jun 7 14:26:27 2003 +++ b/arch/arm/kernel/bios32.c Sat Jun 7 14:26:27 2003 @@ -22,9 +22,9 @@ void pcibios_report_status(u_int status_mask, int warn) { - struct pci_dev *dev; + struct pci_dev *dev = NULL; - pci_for_each_dev(dev) { + while ((dev = pci_find_device(PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL) { u16 status; /* diff -Nru a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c --- a/arch/arm/kernel/process.c Sat Jun 7 14:26:34 2003 +++ b/arch/arm/kernel/process.c Sat Jun 7 14:26:34 2003 @@ -239,7 +239,7 @@ #define ll_alloc_task_struct() ((struct thread_info *) __get_free_pages(GFP_KERNEL,1)) #define ll_free_task_struct(p) free_pages((unsigned long)(p),1) -struct thread_info *alloc_thread_info(void) +struct thread_info *alloc_thread_info(struct task_struct *task) { struct thread_info *thread = NULL; diff -Nru a/arch/arm/lib/putuser.S b/arch/arm/lib/putuser.S --- a/arch/arm/lib/putuser.S Sat Jun 7 14:26:34 2003 +++ b/arch/arm/lib/putuser.S Sat Jun 7 14:26:34 2003 @@ -31,11 +31,11 @@ .global __put_user_1 __put_user_1: - bic r2, sp, #0x1f00 - bic r2, r2, #0x00ff - ldr r2, [r2, #TI_ADDR_LIMIT] - sub r2, r2, #1 - cmp r0, r2 + bic ip, sp, #0x1f00 + bic ip, ip, #0x00ff + ldr ip, [ip, #TI_ADDR_LIMIT] + sub ip, ip, #1 + cmp r0, ip 1: strlsbt r1, [r0] movls r0, #0 movls pc, lr @@ -43,17 +43,17 @@ .global __put_user_2 __put_user_2: - bic r2, sp, #0x1f00 - bic r2, r2, #0x00ff - ldr r2, [r2, #TI_ADDR_LIMIT] - sub r2, r2, #2 - cmp r0, r2 - movls r2, r1, lsr #8 + bic ip, sp, #0x1f00 + bic ip, ip, #0x00ff + ldr ip, [ip, #TI_ADDR_LIMIT] + sub ip, ip, #2 + cmp r0, ip + movls ip, r1, lsr #8 #ifndef __ARMEB__ 2: strlsbt r1, [r0], #1 -3: strlsbt r2, [r0] +3: strlsbt ip, [r0] #else -2: strlsbt r2, [r0], #1 +2: strlsbt ip, [r0], #1 3: strlsbt r1, [r0] #endif movls r0, #0 @@ -62,11 +62,11 @@ .global __put_user_4 __put_user_4: - bic r2, sp, #0x1f00 - bic r2, r2, #0x00ff - ldr r2, [r2, #TI_ADDR_LIMIT] - sub r2, r2, #4 - cmp r0, r2 + bic ip, sp, #0x1f00 + bic ip, ip, #0x00ff + ldr ip, [ip, #TI_ADDR_LIMIT] + sub ip, ip, #4 + cmp r0, ip 4: strlst r1, [r0] movls r0, #0 movls pc, lr diff -Nru a/arch/arm/mach-footbridge/isa-irq.c b/arch/arm/mach-footbridge/isa-irq.c --- a/arch/arm/mach-footbridge/isa-irq.c Sat Jun 7 14:26:33 2003 +++ b/arch/arm/mach-footbridge/isa-irq.c Sat Jun 7 14:26:33 2003 @@ -84,10 +84,6 @@ .unmask = isa_unmask_pic_hi_irq, }; -static void no_action(int irq, void *dev_id, struct pt_regs *regs) -{ -} - static void isa_irq_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs) { diff -Nru a/arch/arm/mach-integrator/Makefile b/arch/arm/mach-integrator/Makefile --- a/arch/arm/mach-integrator/Makefile Sat Jun 7 14:26:34 2003 +++ b/arch/arm/mach-integrator/Makefile Sat Jun 7 14:26:34 2003 @@ -4,10 +4,7 @@ # Object file lists. -obj-y := arch.o irq.o mm.o time.o -obj-m := -obj-n := -obj- := +obj-y := core.o time.o obj-$(CONFIG_LEDS) += leds.o obj-$(CONFIG_PCI) += pci_v3.o pci.o diff -Nru a/arch/arm/mach-integrator/arch.c b/arch/arm/mach-integrator/arch.c --- a/arch/arm/mach-integrator/arch.c Sat Jun 7 14:26:32 2003 +++ /dev/null Wed Dec 31 16:00:00 1969 @@ -1,40 +0,0 @@ -/* - * linux/arch/arm/mach-integrator/arch.c - * - * Copyright (C) 2000 Deep Blue Solutions Ltd - * - * 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 - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -#include -#include -#include - -#include -#include -#include -#include - -#include - -extern void integrator_map_io(void); -extern void integrator_init_irq(void); - -MACHINE_START(INTEGRATOR, "ARM-Integrator") - MAINTAINER("ARM Ltd/Deep Blue Solutions Ltd") - BOOT_MEM(0x00000000, 0x16000000, 0xf1600000) - BOOT_PARAMS(0x00000100) - MAPIO(integrator_map_io) - INITIRQ(integrator_init_irq) -MACHINE_END diff -Nru a/arch/arm/mach-integrator/core.c b/arch/arm/mach-integrator/core.c --- /dev/null Wed Dec 31 16:00:00 1969 +++ b/arch/arm/mach-integrator/core.c Sat Jun 7 14:26:32 2003 @@ -0,0 +1,135 @@ +/* + * linux/arch/arm/mach-integrator/arch.c + * + * Copyright (C) 2000 Deep Blue Solutions Ltd + * + * 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 + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include +#include +#include + +/* + * All IO addresses are mapped onto VA 0xFFFx.xxxx, where x.xxxx + * is the (PA >> 12). + * + * Setup a VA for the Integrator interrupt controller (for header #0, + * just for now). + */ +#define VA_IC_BASE IO_ADDRESS(INTEGRATOR_IC_BASE) +#define VA_CMIC_BASE IO_ADDRESS(INTEGRATOR_HDR_BASE) + INTEGRATOR_HDR_IC_OFFSET + +/* + * Logical Physical + * e8000000 40000000 PCI memory PHYS_PCI_MEM_BASE (max 512M) + * ec000000 61000000 PCI config space PHYS_PCI_CONFIG_BASE (max 16M) + * ed000000 62000000 PCI V3 regs PHYS_PCI_V3_BASE (max 64k) + * ee000000 60000000 PCI IO PHYS_PCI_IO_BASE (max 16M) + * ef000000 Cache flush + * f1000000 10000000 Core module registers + * f1100000 11000000 System controller registers + * f1200000 12000000 EBI registers + * f1300000 13000000 Counter/Timer + * f1400000 14000000 Interrupt controller + * f1500000 15000000 RTC + * f1600000 16000000 UART 0 + * f1700000 17000000 UART 1 + * f1a00000 1a000000 Debug LEDs + * f1b00000 1b000000 GPIO + */ + +static struct map_desc integrator_io_desc[] __initdata = { + { IO_ADDRESS(INTEGRATOR_HDR_BASE), INTEGRATOR_HDR_BASE, SZ_4K, MT_DEVICE }, + { IO_ADDRESS(INTEGRATOR_SC_BASE), INTEGRATOR_SC_BASE, SZ_4K, MT_DEVICE }, + { IO_ADDRESS(INTEGRATOR_EBI_BASE), INTEGRATOR_EBI_BASE, SZ_4K, MT_DEVICE }, + { IO_ADDRESS(INTEGRATOR_CT_BASE), INTEGRATOR_CT_BASE, SZ_4K, MT_DEVICE }, + { IO_ADDRESS(INTEGRATOR_IC_BASE), INTEGRATOR_IC_BASE, SZ_4K, MT_DEVICE }, + { IO_ADDRESS(INTEGRATOR_RTC_BASE), INTEGRATOR_RTC_BASE, SZ_4K, MT_DEVICE }, + { IO_ADDRESS(INTEGRATOR_UART0_BASE), INTEGRATOR_UART0_BASE, SZ_4K, MT_DEVICE }, + { IO_ADDRESS(INTEGRATOR_UART1_BASE), INTEGRATOR_UART1_BASE, SZ_4K, MT_DEVICE }, + { IO_ADDRESS(INTEGRATOR_DBG_BASE), INTEGRATOR_DBG_BASE, SZ_4K, MT_DEVICE }, + { IO_ADDRESS(INTEGRATOR_GPIO_BASE), INTEGRATOR_GPIO_BASE, SZ_4K, MT_DEVICE }, + { PCI_MEMORY_VADDR, PHYS_PCI_MEM_BASE, SZ_16M, MT_DEVICE }, + { PCI_CONFIG_VADDR, PHYS_PCI_CONFIG_BASE, SZ_16M, MT_DEVICE }, + { PCI_V3_VADDR, PHYS_PCI_V3_BASE, SZ_64K, MT_DEVICE }, + { PCI_IO_VADDR, PHYS_PCI_IO_BASE, SZ_64K, MT_DEVICE } +}; + +static void __init integrator_map_io(void) +{ + iotable_init(integrator_io_desc, ARRAY_SIZE(integrator_io_desc)); +} + +#define ALLPCI ( (1 << IRQ_PCIINT0) | (1 << IRQ_PCIINT1) | (1 << IRQ_PCIINT2) | (1 << IRQ_PCIINT3) ) + +static void sc_mask_irq(unsigned int irq) +{ + writel(1 << irq, VA_IC_BASE + IRQ_ENABLE_CLEAR); +} + +static void sc_unmask_irq(unsigned int irq) +{ + writel(1 << irq, VA_IC_BASE + IRQ_ENABLE_SET); +} + +static struct irqchip sc_chip = { + .ack = sc_mask_irq, + .mask = sc_mask_irq, + .unmask = sc_unmask_irq, +}; + +static void __init integrator_init_irq(void) +{ + unsigned int i; + + /* Disable all interrupts initially. */ + /* Do the core module ones */ + writel(-1, VA_CMIC_BASE + IRQ_ENABLE_CLEAR); + + /* do the header card stuff next */ + writel(-1, VA_IC_BASE + IRQ_ENABLE_CLEAR); + writel(-1, VA_IC_BASE + FIQ_ENABLE_CLEAR); + + for (i = 0; i < NR_IRQS; i++) { + if (((1 << i) && INTEGRATOR_SC_VALID_INT) != 0) { + set_irq_chip(i, &sc_chip); + set_irq_handler(i, do_level_IRQ); + set_irq_flags(i, IRQF_VALID | IRQF_PROBE); + } + } +} + +MACHINE_START(INTEGRATOR, "ARM-Integrator") + MAINTAINER("ARM Ltd/Deep Blue Solutions Ltd") + BOOT_MEM(0x00000000, 0x16000000, 0xf1600000) + BOOT_PARAMS(0x00000100) + MAPIO(integrator_map_io) + INITIRQ(integrator_init_irq) +MACHINE_END diff -Nru a/arch/arm/mach-integrator/irq.c b/arch/arm/mach-integrator/irq.c --- a/arch/arm/mach-integrator/irq.c Sat Jun 7 14:26:35 2003 +++ /dev/null Wed Dec 31 16:00:00 1969 @@ -1,76 +0,0 @@ -/* - * linux/arch/arm/mach-integrator/irq.c - * - * Copyright (C) 1999 ARM Limited - * - * 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 - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -#include -#include - -#include -#include -#include - -#include - -/* - * All IO addresses are mapped onto VA 0xFFFx.xxxx, where x.xxxx - * is the (PA >> 12). - * - * Setup a VA for the Integrator interrupt controller (for header #0, - * just for now). - */ -#define VA_IC_BASE IO_ADDRESS(INTEGRATOR_IC_BASE) -#define VA_CMIC_BASE IO_ADDRESS(INTEGRATOR_HDR_BASE) + INTEGRATOR_HDR_IC_OFFSET - -#define ALLPCI ( (1 << IRQ_PCIINT0) | (1 << IRQ_PCIINT1) | (1 << IRQ_PCIINT2) | (1 << IRQ_PCIINT3) ) - -static void sc_mask_irq(unsigned int irq) -{ - __raw_writel(1 << irq, VA_IC_BASE + IRQ_ENABLE_CLEAR); -} - -static void sc_unmask_irq(unsigned int irq) -{ - __raw_writel(1 << irq, VA_IC_BASE + IRQ_ENABLE_SET); -} - -static struct irqchip sc_chip = { - .ack = sc_mask_irq, - .mask = sc_mask_irq, - .unmask = sc_unmask_irq, -}; - -void __init integrator_init_irq(void) -{ - unsigned int i; - - /* Disable all interrupts initially. */ - /* Do the core module ones */ - __raw_writel(-1, VA_CMIC_BASE + IRQ_ENABLE_CLEAR); - - /* do the header card stuff next */ - __raw_writel(-1, VA_IC_BASE + IRQ_ENABLE_CLEAR); - __raw_writel(-1, VA_IC_BASE + FIQ_ENABLE_CLEAR); - - for (i = 0; i < NR_IRQS; i++) { - if (((1 << i) && INTEGRATOR_SC_VALID_INT) != 0) { - set_irq_chip(i, &sc_chip); - set_irq_handler(i, do_level_IRQ); - set_irq_flags(i, IRQF_VALID | IRQF_PROBE); - } - } -} diff -Nru a/arch/arm/mach-integrator/mm.c b/arch/arm/mach-integrator/mm.c --- a/arch/arm/mach-integrator/mm.c Sat Jun 7 14:26:36 2003 +++ /dev/null Wed Dec 31 16:00:00 1969 @@ -1,70 +0,0 @@ -/* - * linux/arch/arm/mach-integrator/mm.c - * - * Extra MM routines for the ARM Integrator board - * - * Copyright (C) 1999,2000 Arm Limited - * Copyright (C) 2000 Deep Blue Solutions Ltd - * - * 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 - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -#include -#include - -#include -#include - -#include - -/* - * Logical Physical - * e8000000 40000000 PCI memory PHYS_PCI_MEM_BASE (max 512M) - * ec000000 61000000 PCI config space PHYS_PCI_CONFIG_BASE (max 16M) - * ed000000 62000000 PCI V3 regs PHYS_PCI_V3_BASE (max 64k) - * ee000000 60000000 PCI IO PHYS_PCI_IO_BASE (max 16M) - * ef000000 Cache flush - * f1000000 10000000 Core module registers - * f1100000 11000000 System controller registers - * f1200000 12000000 EBI registers - * f1300000 13000000 Counter/Timer - * f1400000 14000000 Interrupt controller - * f1500000 15000000 RTC - * f1600000 16000000 UART 0 - * f1700000 17000000 UART 1 - * f1a00000 1a000000 Debug LEDs - * f1b00000 1b000000 GPIO - */ - -static struct map_desc integrator_io_desc[] __initdata = { - { IO_ADDRESS(INTEGRATOR_HDR_BASE), INTEGRATOR_HDR_BASE, SZ_4K, MT_DEVICE }, - { IO_ADDRESS(INTEGRATOR_SC_BASE), INTEGRATOR_SC_BASE, SZ_4K, MT_DEVICE }, - { IO_ADDRESS(INTEGRATOR_EBI_BASE), INTEGRATOR_EBI_BASE, SZ_4K, MT_DEVICE }, - { IO_ADDRESS(INTEGRATOR_CT_BASE), INTEGRATOR_CT_BASE, SZ_4K, MT_DEVICE }, - { IO_ADDRESS(INTEGRATOR_IC_BASE), INTEGRATOR_IC_BASE, SZ_4K, MT_DEVICE }, - { IO_ADDRESS(INTEGRATOR_RTC_BASE), INTEGRATOR_RTC_BASE, SZ_4K, MT_DEVICE }, - { IO_ADDRESS(INTEGRATOR_UART0_BASE), INTEGRATOR_UART0_BASE, SZ_4K, MT_DEVICE }, - { IO_ADDRESS(INTEGRATOR_UART1_BASE), INTEGRATOR_UART1_BASE, SZ_4K, MT_DEVICE }, - { IO_ADDRESS(INTEGRATOR_DBG_BASE), INTEGRATOR_DBG_BASE, SZ_4K, MT_DEVICE }, - { IO_ADDRESS(INTEGRATOR_GPIO_BASE), INTEGRATOR_GPIO_BASE, SZ_4K, MT_DEVICE }, - { PCI_MEMORY_VADDR, PHYS_PCI_MEM_BASE, SZ_16M, MT_DEVICE }, - { PCI_CONFIG_VADDR, PHYS_PCI_CONFIG_BASE, SZ_16M, MT_DEVICE }, - { PCI_V3_VADDR, PHYS_PCI_V3_BASE, SZ_64K, MT_DEVICE }, - { PCI_IO_VADDR, PHYS_PCI_IO_BASE, SZ_64K, MT_DEVICE } -}; - -void __init integrator_map_io(void) -{ - iotable_init(integrator_io_desc, ARRAY_SIZE(integrator_io_desc)); -} diff -Nru a/arch/arm/mach-integrator/pci_v3.c b/arch/arm/mach-integrator/pci_v3.c --- a/arch/arm/mach-integrator/pci_v3.c Sat Jun 7 14:26:32 2003 +++ b/arch/arm/mach-integrator/pci_v3.c Sat Jun 7 14:26:32 2003 @@ -441,7 +441,7 @@ return 1; } -static void v3_irq(int irq, void *devid, struct pt_regs *regs) +static irqreturn_t v3_irq(int irq, void *devid, struct pt_regs *regs) { #ifdef CONFIG_DEBUG_LL unsigned long pc = instruction_pointer(regs); @@ -469,6 +469,7 @@ printascii(buf); } #endif + return IRQ_HANDLED; } int __init pci_v3_setup(int nr, struct pci_sys_data *sys) diff -Nru a/arch/arm/mach-pxa/lubbock.c b/arch/arm/mach-pxa/lubbock.c --- a/arch/arm/mach-pxa/lubbock.c Sat Jun 7 14:26:27 2003 +++ b/arch/arm/mach-pxa/lubbock.c Sat Jun 7 14:26:27 2003 @@ -88,9 +88,36 @@ set_irq_type(IRQ_GPIO(0), IRQT_FALLING); } +static struct resource sa1111_resources[] = { + [0] = { + .start = 0x10000000, + .end = 0x10001fff, + .flags = IORESOURCE_MEM, + }, + [1] = { + .start = LUBBOCK_SA1111_IRQ, + .end = LUBBOCK_SA1111_IRQ, + .flags = IORESOURCE_IRQ, + }, +}; + +static struct platform_device sa1111_device = { + .name = "sa1111", + .id = 0, + .dev = { + .name = "Intel Corporation SA1111", + }, + .num_resources = ARRAY_SIZE(sa1111_resources), + .resource = sa1111_resources, +}; + +static struct platform_device *devices[] __initdata = { + &sa1111_device, +}; + static int __init lubbock_init(void) { - return sa1111_init(0x10000000, LUBBOCK_SA1111_IRQ); + return platform_add_devices(devices, ARRAY_SIZE(devices)); } subsys_initcall(lubbock_init); diff -Nru a/arch/arm/mach-sa1100/adsbitsy.c b/arch/arm/mach-sa1100/adsbitsy.c --- a/arch/arm/mach-sa1100/adsbitsy.c Sat Jun 7 14:26:22 2003 +++ b/arch/arm/mach-sa1100/adsbitsy.c Sat Jun 7 14:26:22 2003 @@ -27,6 +27,36 @@ #include "generic.h" +static struct resource sa1111_resources[] = { + [0] = { + .start = 0x18000000, + .end = 0x18001fff, + .flags = IORESOURCE_MEM, + }, + [1] = { + .start = IRQ_GPIO0, + .end = IRQ_GPIO0, + .flags = IORESOURCE_IRQ, + }, +}; + +static u64 sa1111_dmamask = 0xffffffffUL; + +static struct platform_device sa1111_device = { + .name = "sa1111", + .id = 0, + .dev = { + .name = "Intel Corporation SA1111", + .dma_mask = &sa1111_dmamask, + }, + .num_resources = ARRAY_SIZE(sa1111_resources), + .resource = sa1111_resources, +}; + +static struct platform_device *devices[] __initdata = { + &sa1111_device, +}; + static int __init adsbitsy_init(void) { int ret; @@ -50,7 +80,7 @@ /* * Probe for SA1111. */ - ret = sa1111_init(0x18000000, IRQ_GPIO0); + ret = platform_add_devices(devices, ARRAY_SIZE(devices)); if (ret < 0) return ret; diff -Nru a/arch/arm/mach-sa1100/badge4.c b/arch/arm/mach-sa1100/badge4.c --- a/arch/arm/mach-sa1100/badge4.c Sat Jun 7 14:26:23 2003 +++ b/arch/arm/mach-sa1100/badge4.c Sat Jun 7 14:26:23 2003 @@ -35,6 +35,36 @@ #include "generic.h" +static struct resource sa1111_resources[] = { + [0] = { + .start = BADGE4_SA1111_BASE, + .end = BADGE4_SA1111_BASE + 0x00001fff, + .flags = IORESOURCE_MEM, + }, + [1] = { + .start = BADGE4_IRQ_GPIO_SA1111, + .end = BADGE4_IRQ_GPIO_SA1111, + .flags = IORESOURCE_IRQ, + }, +}; + +static u64 sa1111_dmamask = 0xffffffffUL; + +static struct platform_device sa1111_device = { + .name = "sa1111", + .id = 0, + .dev = { + .name = "Intel Corporation SA1111", + .dma_mask = &sa1111_dmamask; + }, + .num_resources = ARRAY_SIZE(sa1111_resources), + .resource = sa1111_resources, +}; + +static struct platform_device *devices[] __initdata = { + &sa1111_device, +}; + static int __init badge4_sa1111_init(void) { /* @@ -46,7 +76,7 @@ /* * Probe for SA1111. */ - return sa1111_init(BADGE4_SA1111_BASE, BADGE4_IRQ_GPIO_SA1111); + return platform_add_devices(devices, ARRAY_SIZE(devices)); } diff -Nru a/arch/arm/mach-sa1100/dma.c b/arch/arm/mach-sa1100/dma.c --- a/arch/arm/mach-sa1100/dma.c Sat Jun 7 14:26:23 2003 +++ b/arch/arm/mach-sa1100/dma.c Sat Jun 7 14:26:23 2003 @@ -42,7 +42,7 @@ static spinlock_t dma_list_lock; -static void dma_irq_handler(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t dma_irq_handler(int irq, void *dev_id, struct pt_regs *regs) { dma_regs_t *dma_regs = dev_id; sa1100_dma_t *dma = dma_chan + (((u_int)dma_regs >> 5) & 7); @@ -60,6 +60,7 @@ if (status & DCSR_DONEB) dma->callback(dma->data); } + return IRQ_HANDLED; } diff -Nru a/arch/arm/mach-sa1100/generic.c b/arch/arm/mach-sa1100/generic.c --- a/arch/arm/mach-sa1100/generic.c Sat Jun 7 14:26:26 2003 +++ b/arch/arm/mach-sa1100/generic.c Sat Jun 7 14:26:26 2003 @@ -16,11 +16,13 @@ #include #include #include +#include #include #include #include #include +#include #include "generic.h" @@ -128,13 +130,88 @@ PMCR = PMCR_SF; } +static struct resource sa11x0udc_resources[] = { + [0] = { + .start = 0x80000000, + .end = 0x8000ffff, + .flags = IORESOURCE_MEM, + }, +}; + +static struct platform_device sa11x0udc_device = { + .name = "sa11x0-udc", + .id = 0, + .dev = { + .name = "Intel Corporation SA11x0 [UDC]", + }, + .num_resources = ARRAY_SIZE(sa11x0udc_resources), + .resource = sa11x0udc_resources, +}; + +static struct resource sa11x0mcp_resources[] = { + [0] = { + .start = 0x80060000, + .end = 0x8006ffff, + .flags = IORESOURCE_MEM, + }, +}; + +static struct platform_device sa11x0mcp_device = { + .name = "sa11x0-mcp", + .id = 0, + .dev = { + .name = "Intel Corporation SA11x0 [MCP]", + }, + .num_resources = ARRAY_SIZE(sa11x0mcp_resources), + .resource = sa11x0mcp_resources, +}; + +static struct resource sa11x0fb_resources[] = { + [0] = { + .start = 0xb0100000, + .end = 0xb010ffff, + .flags = IORESOURCE_MEM, + }, + [1] = { + .start = IRQ_LCD, + .end = IRQ_LCD, + .flags = IORESOURCE_IRQ, + }, +}; + +static struct platform_device sa11x0fb_device = { + .name = "sa11x0-fb", + .id = 0, + .dev = { + .name = "Intel Corporation SA11x0 [LCD]", + }, + .num_resources = ARRAY_SIZE(sa11x0fb_resources), + .resource = sa11x0fb_resources, +}; + +static struct platform_device sa11x0pcmcia_device = { + .name = "sa11x0-pcmcia", + .id = 0, + .dev = { + .name = "Intel Corporation SA11x0 [PCMCIA]", + }, +}; + +static struct platform_device *sa11x0_devices[] __initdata = { + &sa11x0udc_device, + &sa11x0mcp_device, + &sa11x0pcmcia_device, + &sa11x0fb_device, +}; + static int __init sa1100_init(void) { pm_power_off = sa1100_power_off; - return 0; + + return platform_add_devices(sa11x0_devices, ARRAY_SIZE(sa11x0_devices)); } -core_initcall(sa1100_init); +arch_initcall(sa1100_init); void (*sa1100fb_backlight_power)(int on); void (*sa1100fb_lcd_power)(int on); diff -Nru a/arch/arm/mach-sa1100/graphicsmaster.c b/arch/arm/mach-sa1100/graphicsmaster.c --- a/arch/arm/mach-sa1100/graphicsmaster.c Sat Jun 7 14:26:28 2003 +++ b/arch/arm/mach-sa1100/graphicsmaster.c Sat Jun 7 14:26:28 2003 @@ -24,6 +24,36 @@ #include "generic.h" +static struct resource sa1111_resources[] = { + [0] = { + .start = 0x18000000, + .end = 0x18001fff, + .flags = IORESOURCE_MEM, + }, + [1] = { + .start = ADS_EXT_IRQ(0), + .end = ADS_EXT_IRQ(0), + .flags = IORESOURCE_IRQ, + }, +}; + +static u64 sa1111_dmamask = 0xffffffffUL; + +static struct platform_device sa1111_device = { + .name = "sa1111", + .id = 0, + .dev = { + .name = "Intel Corporation SA1111", + .dma_mask = &sa1111_dmamask, + }, + .num_resources = ARRAY_SIZE(sa1111_resources), + .resource = sa1111_resources, +}; + +static struct platform_device *devices[] __initdata = { + &sa1111_device, +}; + static int __init graphicsmaster_init(void) { int ret; @@ -40,7 +70,7 @@ /* * Probe for SA1111. */ - ret = sa1111_init(0x18000000, ADS_EXT_IRQ(0)); + ret = platform_add_devices(devices, ARRAY_SIZE(devices)); if (ret < 0) return ret; diff -Nru a/arch/arm/mach-sa1100/jornada720.c b/arch/arm/mach-sa1100/jornada720.c --- a/arch/arm/mach-sa1100/jornada720.c Sat Jun 7 14:26:36 2003 +++ b/arch/arm/mach-sa1100/jornada720.c Sat Jun 7 14:26:36 2003 @@ -24,6 +24,36 @@ #define JORTUCR_VAL 0x20000400 +static struct resource sa1111_resources[] = { + [0] = { + .start = 0x40000000, + .end = 0x40001fff, + .flags = IORESOURCE_MEM, + }, + [1] = { + .start = IRQ_GPIO1, + .end = IRQ_GPIO1, + .flags = IORESOURCE_IRQ, + }, +}; + +static u64 sa1111_dmamask = 0xffffffffUL; + +static struct platform_device sa1111_device = { + .name = "sa1111", + .id = 0, + .dev = { + .name = "Intel Corporation SA1111", + .dma_mask = &sa1111_dmamask, + }, + .num_resources = ARRAY_SIZE(sa1111_resources), + .resource = sa1111_resources, +}; + +static struct platform_device *devices[] __initdata = { + &sa1111_device, +}; + static int __init jornada720_init(void) { int ret = -ENODEV; @@ -43,7 +73,7 @@ PPSR &= ~(PPC_LDD3 | PPC_LDD4); PPDR |= PPC_LDD3 | PPC_LDD4; - ret = sa1111_init(0x40000000, IRQ_GPIO1); + ret = platform_add_devices(devices, ARRAY_SIZE(devices)); } return ret; } diff -Nru a/arch/arm/mach-sa1100/neponset.c b/arch/arm/mach-sa1100/neponset.c --- a/arch/arm/mach-sa1100/neponset.c Sat Jun 7 14:26:28 2003 +++ b/arch/arm/mach-sa1100/neponset.c Sat Jun 7 14:26:28 2003 @@ -79,33 +79,6 @@ } } -static inline void __init neponset_init_irq(void) -{ - /* - * Install handler for GPIO25. - */ - set_irq_type(IRQ_GPIO25, IRQT_RISING); - set_irq_chained_handler(IRQ_GPIO25, neponset_irq_handler); - - /* - * We would set IRQ_GPIO25 to be a wake-up IRQ, but - * unfortunately something on the Neponset activates - * this IRQ on sleep (ethernet?) - */ -#if 0 - enable_irq_wake(IRQ_GPIO25); -#endif - - /* - * Setup other Neponset IRQs. SA1111 will be done by the - * generic SA1111 code. - */ - set_irq_handler(IRQ_NEPONSET_SMC9196, do_simple_IRQ); - set_irq_flags(IRQ_NEPONSET_SMC9196, IRQF_VALID | IRQF_PROBE); - set_irq_handler(IRQ_NEPONSET_USAR, do_simple_IRQ); - set_irq_flags(IRQ_NEPONSET_USAR, IRQF_VALID | IRQF_PROBE); -} - static void neponset_set_mctrl(struct uart_port *port, u_int mctrl) { u_int mdm_ctl0 = MDM_CTL_0; @@ -164,6 +137,42 @@ .get_mctrl = neponset_get_mctrl, }; +static int neponset_probe(struct device *dev) +{ + sa1100_register_uart_fns(&neponset_port_fns); + + /* + * Install handler for GPIO25. + */ + set_irq_type(IRQ_GPIO25, IRQT_RISING); + set_irq_chained_handler(IRQ_GPIO25, neponset_irq_handler); + + /* + * We would set IRQ_GPIO25 to be a wake-up IRQ, but + * unfortunately something on the Neponset activates + * this IRQ on sleep (ethernet?) + */ +#if 0 + enable_irq_wake(IRQ_GPIO25); +#endif + + /* + * Setup other Neponset IRQs. SA1111 will be done by the + * generic SA1111 code. + */ + set_irq_handler(IRQ_NEPONSET_SMC9196, do_simple_IRQ); + set_irq_flags(IRQ_NEPONSET_SMC9196, IRQF_VALID | IRQF_PROBE); + set_irq_handler(IRQ_NEPONSET_USAR, do_simple_IRQ); + set_irq_flags(IRQ_NEPONSET_USAR, IRQF_VALID | IRQF_PROBE); + + /* + * Disable GPIO 0/1 drivers so the buttons work on the module. + */ + NCR_0 = NCR_GP01_OFF; + + return 0; +} + /* * LDM power management. */ @@ -201,27 +210,63 @@ static struct device_driver neponset_device_driver = { .name = "neponset", - .bus = &system_bus_type, + .bus = &platform_bus_type, + .probe = neponset_probe, .suspend = neponset_suspend, .resume = neponset_resume, }; -static struct sys_device neponset_device = { - .name = "NEPONSET", +static struct resource neponset_resources[] = { + [0] = { + .start = 0x10000000, + .end = 0x17ffffff, + .flags = IORESOURCE_MEM, + }, +}; + +static struct platform_device neponset_device = { + .name = "neponset", .id = 0, - .root = NULL, .dev = { .name = "Neponset", - .bus_id = "neponset", - .bus = &system_bus_type, - .driver = &neponset_device_driver, + }, + .num_resources = ARRAY_SIZE(neponset_resources), + .resource = neponset_resources, +}; + +static struct resource sa1111_resources[] = { + [0] = { + .start = 0x40000000, + .end = 0x40001fff, + .flags = IORESOURCE_MEM, + }, + [1] = { + .start = IRQ_NEPONSET_SA1111, + .end = IRQ_NEPONSET_SA1111, + .flags = IORESOURCE_IRQ, }, }; +static u64 sa1111_dmamask = 0xffffffffUL; + +static struct platform_device sa1111_device = { + .name = "sa1111", + .id = 0, + .dev = { + .name = "Intel Corporation SA1111", + .dma_mask = &sa1111_dmamask, + }, + .num_resources = ARRAY_SIZE(sa1111_resources), + .resource = sa1111_resources, +}; + +static struct platform_device *devices[] __initdata = { + &neponset_device, + &sa1111_device, +}; + static int __init neponset_init(void) { - int ret; - driver_register(&neponset_device_driver); /* @@ -248,29 +293,7 @@ return -ENODEV; } - ret = sys_device_register(&neponset_device); - if (ret) - return ret; - - sa1100_register_uart_fns(&neponset_port_fns); - - neponset_init_irq(); - - /* - * Disable GPIO 0/1 drivers so the buttons work on the module. - */ - NCR_0 = NCR_GP01_OFF; - - /* - * Neponset has SA1111 connected to CS4. We know that after - * reset the chip will be configured for variable latency IO. - */ - /* FIXME: setup MSC2 */ - - /* - * Probe and initialise the SA1111. - */ - return sa1111_init(0x40000000, IRQ_NEPONSET_SA1111); + return platform_add_devices(devices, ARRAY_SIZE(devices)); } subsys_initcall(neponset_init); diff -Nru a/arch/arm/mach-sa1100/pfs168.c b/arch/arm/mach-sa1100/pfs168.c --- a/arch/arm/mach-sa1100/pfs168.c Sat Jun 7 14:26:22 2003 +++ b/arch/arm/mach-sa1100/pfs168.c Sat Jun 7 14:26:22 2003 @@ -7,6 +7,7 @@ #include #include #include +#include #include #include @@ -18,6 +19,35 @@ #include "generic.h" +static struct resource sa1111_resources[] = { + [0] = { + .start = 0x40000000, + .end = 0x40001fff, + .flags = IORESOURCE_MEM, + }, + [1] = { + .start = IRQ_GPIO25, + .end = IRQ_GPIO25, + .flags = IORESOURCE_IRQ, + }, +}; + +static u64 sa1111_dmamask = 0xffffffffUL; + +static struct platform_device sa1111_device = { + .name = "sa1111", + .id = 0, + .dev = { + .name = "Intel Corporation SA1111", + .dma_mask = &sa1111_dmamask, + }, + .num_resources = ARRAY_SIZE(sa1111_resources), + .resource = sa1111_resources, +}; + +static struct platform_device *devices[] __initdata = { + &sa1111_device, +}; static int __init pfs168_init(void) { @@ -32,10 +62,7 @@ */ sa1110_mb_disable(); - /* - * Probe for SA1111. - */ - return sa1111_init(0x40000000, IRQ_GPIO25); + return platform_add_devices(devices, ARRAY_SIZE(devices)); } arch_initcall(pfs168_init); diff -Nru a/arch/arm/mach-sa1100/system3.c b/arch/arm/mach-sa1100/system3.c --- a/arch/arm/mach-sa1100/system3.c Sat Jun 7 14:26:33 2003 +++ b/arch/arm/mach-sa1100/system3.c Sat Jun 7 14:26:33 2003 @@ -373,6 +373,36 @@ } } +static struct resource sa1111_resources[] = { + [0] = { + .start = PT_SA1111_BASE, + .end = PT_SA1111_BASE + 0x00001fff, + .flags = IORESOURCE_MEM, + }, + [1] = { + .start = IRQ_SYSTEM3_SA1111, + .end = IRQ_SYSTEM3_SA1111, + .flags = IORESOURCE_IRQ, + }, +}; + +static u64 sa1111_dmamask = 0xffffffffUL; + +static struct platform_device sa1111_device = { + .name = "sa1111", + .id = 0, + .dev = { + .name = "Intel Corporation SA1111", + .dma_mask = &sa1111_dmamask, + }, + .num_resources = ARRAY_SIZE(sa1111_resources), + .resource = sa1111_resources, +}; + +static struct platform_device *devices[] __initdata = { + &sa1111_device, +}; + static int __init system3_init(void) { int ret = 0; @@ -405,7 +435,7 @@ /* * Probe for a SA1111. */ - ret = sa1111_init(PT_SA1111_BASE, IRQ_SYSTEM3_SA1111); + ret = platform_add_devices(devices, ARRAY_SIZE(devices)); if (ret < 0) { printk( KERN_WARNING"PT Digital Board: no SA1111 found!\n" ); goto DONE; diff -Nru a/arch/arm/mach-sa1100/xp860.c b/arch/arm/mach-sa1100/xp860.c --- a/arch/arm/mach-sa1100/xp860.c Sat Jun 7 14:26:29 2003 +++ b/arch/arm/mach-sa1100/xp860.c Sat Jun 7 14:26:29 2003 @@ -30,6 +30,31 @@ while(1); } +static struct resource sa1111_resources[] = { + [0] = { + .start = 0x40000000, + .end = 0x40001fff, + .flags = IORESOURCE_MEM, + }, +}; + +static u64 sa1111_dmamask = 0xffffffffUL; + +static struct platform_device sa1111_device = { + .name = "sa1111", + .id = 0, + .dev = { + .name = "Intel Corporation SA1111", + .dma_mask = &sa1111_dmamask, + }, + .num_resources = ARRAY_SIZE(sa1111_resources), + .resource = sa1111_resources, +}; + +static struct platform_device *devices[] __initdata = { + &sa1111_device, +}; + /* * Note: I replaced the sa1111_init() without the full SA1111 initialisation * because this machine doesn't appear to use the DMA features. If this is @@ -39,19 +64,7 @@ { pm_power_off = xp860_power_off; - /* - * Probe for SA1111. - */ - ret = sa1111_probe(0x40000000); - if (ret < 0) - return ret; - - /* - * We found it. Wake the chip up. - */ - sa1111_wake(); - - return 0; + return platform_add_devices(devices, ARRAY_SIZE(devices)); } arch_initcall(xp860_init); diff -Nru a/arch/arm/mm/consistent.c b/arch/arm/mm/consistent.c --- a/arch/arm/mm/consistent.c Sat Jun 7 14:26:33 2003 +++ b/arch/arm/mm/consistent.c Sat Jun 7 14:26:33 2003 @@ -10,7 +10,7 @@ * DMA uncached mapping support. */ #include -#include +#include #include #include #include @@ -145,6 +145,7 @@ struct vm_region *c; unsigned long order, flags; void *ret = NULL; + int res; if (!consistent_pte) { printk(KERN_ERR "consistent_alloc: not initialised\n"); @@ -177,14 +178,19 @@ if (!c) goto no_remap; - spin_lock_irqsave(&consistent_lock, flags); - vm_region_dump(&consistent_head, "before alloc"); - /* * Attempt to allocate a virtual address in the * consistent mapping region. */ - if (!vm_region_alloc(&consistent_head, c, size)) { + spin_lock_irqsave(&consistent_lock, flags); + vm_region_dump(&consistent_head, "before alloc"); + + res = vm_region_alloc(&consistent_head, c, size); + + vm_region_dump(&consistent_head, "after alloc"); + spin_unlock_irqrestore(&consistent_lock, flags); + + if (!res) { pte_t *pte = consistent_pte + CONSISTENT_OFFSET(c->vm_start); struct page *end = page + (1 << order); pgprot_t prot = __pgprot(L_PTE_PRESENT | L_PTE_YOUNG | @@ -218,9 +224,6 @@ ret = (void *)c->vm_start; } - vm_region_dump(&consistent_head, "after alloc"); - spin_unlock_irqrestore(&consistent_lock, flags); - no_remap: if (ret == NULL) { kfree(c); @@ -229,6 +232,22 @@ no_page: return ret; } + +/* + * Since we have the DMA mask available to us here, we could try to do + * a normal allocation, and only fall back to a "DMA" allocation if the + * resulting bus address does not satisfy the dma_mask requirements. + */ +void * +dma_alloc_coherent(struct device *dev, size_t size, dma_addr_t *handle, int gfp) +{ + if (dev == NULL || *dev->dma_mask != 0xffffffff) + gfp |= GFP_DMA; + + return consistent_alloc(gfp, size, handle, 0); +} + +EXPORT_SYMBOL(dma_alloc_coherent); /* * free a page as defined by the above mapping. diff -Nru a/arch/arm/mm/init.c b/arch/arm/mm/init.c --- a/arch/arm/mm/init.c Sat Jun 7 14:26:23 2003 +++ b/arch/arm/mm/init.c Sat Jun 7 14:26:23 2003 @@ -47,7 +47,7 @@ #define TABLE_SIZE ((TABLE_OFFSET + PTRS_PER_PTE) * sizeof(pte_t)) -struct mmu_gather mmu_gathers[NR_CPUS]; +DEFINE_PER_CPU(struct mmu_gather, mmu_gathers); extern pgd_t swapper_pg_dir[PTRS_PER_PGD]; extern char _stext, _text, _etext, _end, __init_begin, __init_end; diff -Nru a/arch/cris/drivers/ethernet.c b/arch/cris/drivers/ethernet.c --- a/arch/cris/drivers/ethernet.c Sat Jun 7 14:26:28 2003 +++ b/arch/cris/drivers/ethernet.c Sat Jun 7 14:26:28 2003 @@ -292,37 +292,19 @@ */ static int __init -etrax_ethernet_init(struct net_device *dev) +etrax_ethernet_init(void) { - int i; + struct net_device *dev; + int i, err; int anOffset = 0; printk("ETRAX 100LX 10/100MBit ethernet v2.0 (c) 2000-2001 Axis Communications AB\n"); - dev->base_addr = (unsigned int)R_NETWORK_SA_0; /* just to have something to show */ - - printk("%s initialized\n", dev->name); - - /* make Linux aware of the new hardware */ - - if (!dev) { - printk(KERN_WARNING "%s: dev == NULL. Should this happen?\n", - cardname); - dev = init_etherdev(dev, sizeof(struct net_local)); - if (!dev) - panic("init_etherdev failed\n"); - } - - /* setup generic handlers and stuff in the dev struct */ - - ether_setup(dev); - - /* make room for the local structure containing stats etc */ - - dev->priv = kmalloc(sizeof(struct net_local), GFP_KERNEL); - if (dev->priv == NULL) + dev = alloc_etherdev(sizeof(struct net_local)); + if (!dev) return -ENOMEM; - memset(dev->priv, 0, sizeof(struct net_local)); + + dev->base_addr = (unsigned int)R_NETWORK_SA_0; /* just to have something to show */ /* now setup our etrax specific stuff */ @@ -340,10 +322,6 @@ dev->do_ioctl = e100_ioctl; dev->tx_timeout = e100_tx_timeout; - /* set the default MAC address */ - - e100_set_mac_address(dev, &default_mac); - /* Initialise the list of Etrax DMA-descriptors */ /* Initialise receive descriptors */ @@ -371,6 +349,16 @@ myLastRxDesc = &RxDescList[NBR_OF_RX_DESC - 1]; myPrevRxDesc = &RxDescList[NBR_OF_RX_DESC - 1]; + err = register_netdev(dev); + if (err) { + kfree(dev); + return err; + } + + /* set the default MAC address */ + + e100_set_mac_address(dev, &default_mac); + /* Initialize speed indicator stuff. */ current_speed = 10; @@ -1349,19 +1337,10 @@ } } -static struct net_device dev_etrax_ethernet; /* only got one */ - static int etrax_init_module(void) { - struct net_device *d = &dev_etrax_ethernet; - - d->init = etrax_ethernet_init; - - if (register_netdev(d) == 0) - return 0; - else - return -ENODEV; + return etrax_ethernet_init(); } module_init(etrax_init_module); diff -Nru a/arch/cris/drivers/lpslave/e100lpslavenet.c b/arch/cris/drivers/lpslave/e100lpslavenet.c --- a/arch/cris/drivers/lpslave/e100lpslavenet.c Sat Jun 7 14:26:27 2003 +++ b/arch/cris/drivers/lpslave/e100lpslavenet.c Sat Jun 7 14:26:27 2003 @@ -162,37 +162,19 @@ * (detachable devices only). */ static int __init -etrax_ethernet_lpslave_init(struct net_device *dev) +etrax_ethernet_lpslave_init(void) { - int i; + struct net_device *dev; + int i, err; int anOffset = 0; printk("Etrax/100 lpslave ethernet driver v0.3, (c) 1999 Axis Communications AB\n"); - dev->base_addr = 2; - - printk("%s initialized\n", dev->name); - - /* make Linux aware of the new hardware */ - - if (!dev) { - printk(KERN_WARNING "%s: dev == NULL. Should this happen?\n", - cardname); - dev = init_etherdev(dev, sizeof(struct net_local)); - if (!dev) - panic("init_etherdev failed\n"); - } - - /* setup generic handlers and stuff in the dev struct */ - - ether_setup(dev); - - /* make room for the local structure containing stats etc */ - - dev->priv = kmalloc(sizeof(struct net_local), GFP_KERNEL); - if (dev->priv == NULL) + dev = alloc_etherdev(sizeof(struct net_lock)); + if (!dev) return -ENOMEM; - memset(dev->priv, 0, sizeof(struct net_local)); + + dev->base_addr = 2; /* now setup our etrax specific stuff */ @@ -242,7 +224,11 @@ TxDescList[0].buf = virt_to_phys(&host_command); TxDescList[0].next = virt_to_phys(&TxDescList[1]); - return 0; + err = register_netdev(dev); + if (err) + kfree(dev); + + return err; } /* set MAC address of the interface. called from the core after a @@ -1017,19 +1003,10 @@ } #endif /* ETHDEBUG */ -static struct net_device dev_etrax_slave_ethernet; - static int etrax_init_module(void) { - struct net_device *d = &dev_etrax_slave_ethernet; - - d->init = etrax_ethernet_lpslave_init; - - if(register_netdev(d) == 0) - return 0; - else - return -ENODEV; + return etrax_ethernet_lpslave_init(); } module_init(etrax_init_module); diff -Nru a/arch/cris/drivers/serial.c b/arch/cris/drivers/serial.c --- a/arch/cris/drivers/serial.c Sat Jun 7 14:26:31 2003 +++ b/arch/cris/drivers/serial.c Sat Jun 7 14:26:31 2003 @@ -335,13 +335,12 @@ static DECLARE_TASK_QUEUE(tq_serial); -struct tty_driver serial_driver, callout_driver; +struct tty_driver serial_driver; static int serial_refcount; /* serial subtype definitions */ #ifndef SERIAL_TYPE_NORMAL #define SERIAL_TYPE_NORMAL 1 -#define SERIAL_TYPE_CALLOUT 2 #endif /* number of characters left in xmit buffer before we ask for more */ @@ -3017,8 +3016,6 @@ */ if (info->flags & ASYNC_NORMAL_ACTIVE) info->normal_termios = *tty->termios; - if (info->flags & ASYNC_CALLOUT_ACTIVE) - info->callout_termios = *tty->termios; /* * Now we wait for the transmit buffer to clear; and we notify * the line discipline to only process XON/XOFF characters. @@ -3063,8 +3060,7 @@ } wake_up_interruptible(&info->open_wait); } - info->flags &= ~(ASYNC_NORMAL_ACTIVE|ASYNC_CALLOUT_ACTIVE| - ASYNC_CLOSING); + info->flags &= ~(ASYNC_NORMAL_ACTIVE|ASYNC_CLOSING); wake_up_interruptible(&info->close_wait); restore_flags(flags); @@ -3128,7 +3124,7 @@ shutdown(info); info->event = 0; info->count = 0; - info->flags &= ~(ASYNC_NORMAL_ACTIVE|ASYNC_CALLOUT_ACTIVE); + info->flags &= ~ASYNC_NORMAL_ACTIVE; info->tty = 0; wake_up_interruptible(&info->open_wait); } @@ -3166,44 +3162,18 @@ } /* - * If this is a callout device, then just make sure the normal - * device isn't being used. - */ - if (tty->driver->subtype == SERIAL_TYPE_CALLOUT) { - if (info->flags & ASYNC_NORMAL_ACTIVE) - return -EBUSY; - if ((info->flags & ASYNC_CALLOUT_ACTIVE) && - (info->flags & ASYNC_SESSION_LOCKOUT) && - (info->session != current->session)) - return -EBUSY; - if ((info->flags & ASYNC_CALLOUT_ACTIVE) && - (info->flags & ASYNC_PGRP_LOCKOUT) && - (info->pgrp != current->pgrp)) - return -EBUSY; - info->flags |= ASYNC_CALLOUT_ACTIVE; - return 0; - } - - /* * If non-blocking mode is set, or the port is not enabled, * then make the check up front and then exit. */ if ((filp->f_flags & O_NONBLOCK) || (tty->flags & (1 << TTY_IO_ERROR))) { - if (info->flags & ASYNC_CALLOUT_ACTIVE) - return -EBUSY; info->flags |= ASYNC_NORMAL_ACTIVE; return 0; } - if (info->flags & ASYNC_CALLOUT_ACTIVE) { - if (info->normal_termios.c_cflag & CLOCAL) - do_clocal = 1; - } else { - if (tty->termios->c_cflag & CLOCAL) - do_clocal = 1; - } - + if (tty->termios->c_cflag & CLOCAL) + do_clocal = 1; + /* * Block waiting for the carrier detect and the line to become * free (i.e., not in use by the callout). While we are in @@ -3228,11 +3198,9 @@ while (1) { save_flags(flags); cli(); - if (!(info->flags & ASYNC_CALLOUT_ACTIVE)) { - /* assert RTS and DTR */ - e100_rts(info, 1); - e100_dtr(info, 1); - } + /* assert RTS and DTR */ + e100_rts(info, 1); + e100_dtr(info, 1); restore_flags(flags); set_current_state(TASK_INTERRUPTIBLE); if (tty_hung_up_p(filp) || @@ -3247,8 +3215,7 @@ #endif break; } - if (!(info->flags & ASYNC_CALLOUT_ACTIVE) && - !(info->flags & ASYNC_CLOSING) && do_clocal) + if (!(info->flags & ASYNC_CLOSING) && do_clocal) /* && (do_clocal || DCD_IS_ASSERTED) */ break; if (signal_pending(current)) { @@ -3358,16 +3325,10 @@ } if ((info->count == 1) && (info->flags & ASYNC_SPLIT_TERMIOS)) { - if (tty->driver->subtype == SERIAL_TYPE_NORMAL) - *tty->termios = info->normal_termios; - else - *tty->termios = info->callout_termios; + *tty->termios = info->normal_termios; change_speed(info); } - info->session = current->session; - info->pgrp = current->pgrp; - #ifdef SERIAL_DEBUG_OPEN printk("rs_open ttyS%d successful...\n", info->line); #endif @@ -3538,23 +3499,8 @@ serial_driver.read_proc = rs_read_proc; #endif - /* - * The callout device is just like normal device except for - * major number and the subtype code. - */ - callout_driver = serial_driver; - callout_driver.name = "cua"; - callout_driver.major = TTYAUX_MAJOR; - callout_driver.subtype = SERIAL_TYPE_CALLOUT; -#if (LINUX_VERSION_CODE >= 131343) - callout_driver.read_proc = 0; - callout_driver.proc_entry = 0; -#endif - if (tty_register_driver(&serial_driver)) panic("Couldn't register serial driver\n"); - if (tty_register_driver(&callout_driver)) - panic("Couldn't register callout driver\n"); /* do some initializing for the separate ports */ @@ -3574,7 +3520,6 @@ info->blocked_open = 0; info->tqueue.routine = do_softint; info->tqueue.data = info; - info->callout_termios = callout_driver.init_termios; info->normal_termios = serial_driver.init_termios; init_waitqueue_head(&info->open_wait); init_waitqueue_head(&info->close_wait); diff -Nru a/arch/cris/drivers/serial.h b/arch/cris/drivers/serial.h --- a/arch/cris/drivers/serial.h Sat Jun 7 14:26:34 2003 +++ b/arch/cris/drivers/serial.h Sat Jun 7 14:26:34 2003 @@ -78,8 +78,6 @@ int type; /* PORT_ETRAX */ int count; /* # of fd on device */ int blocked_open; /* # of blocked opens */ - long session; /* Session of opening process */ - long pgrp; /* pgrp of opening process */ struct circ_buf xmit; struct circ_buf recv; unsigned char *flag_buf; @@ -87,7 +85,6 @@ struct tq_struct tqueue; struct async_icount icount; /* error-statistics etc.*/ struct termios normal_termios; - struct termios callout_termios; #ifdef DECLARE_WAITQUEUE wait_queue_head_t open_wait; wait_queue_head_t close_wait; diff -Nru a/arch/i386/Kconfig b/arch/i386/Kconfig --- a/arch/i386/Kconfig Sat Jun 7 14:26:24 2003 +++ b/arch/i386/Kconfig Sat Jun 7 14:26:24 2003 @@ -1135,7 +1135,7 @@ source "drivers/pcmcia/Kconfig" -source "drivers/hotplug/Kconfig" +source "drivers/pci/hotplug/Kconfig" endmenu diff -Nru a/arch/i386/kernel/cpu/cpufreq/acpi.c b/arch/i386/kernel/cpu/cpufreq/acpi.c --- a/arch/i386/kernel/cpu/cpufreq/acpi.c Sat Jun 7 14:26:23 2003 +++ b/arch/i386/kernel/cpu/cpufreq/acpi.c Sat Jun 7 14:26:23 2003 @@ -553,8 +553,9 @@ { unsigned int i; unsigned int cpu = policy->cpu; - struct acpi_processor *pr = NULL; + struct acpi_processor *pr = NULL; struct acpi_processor_performance *perf = &performance[policy->cpu]; + struct acpi_device *device; unsigned int result = 0; ACPI_FUNCTION_TRACE("acpi_cpufreq_cpu_init"); @@ -596,6 +597,17 @@ acpi_cpufreq_add_file(pr); + if (acpi_bus_get_device(pr->handle, &device)) + device = NULL; + + printk(KERN_INFO "cpufreq: %s - ACPI performance management activated.\n", + device ? acpi_device_bid(device) : "CPU??"); + for (i = 0; i < pr->performance->state_count; i++) + printk(KERN_INFO "cpufreq: %cP%d: %d MHz, %d mW, %d uS\n", + (i == pr->performance->state?'*':' '), i, + (u32) pr->performance->states[i].core_frequency, + (u32) pr->performance->states[i].power, + (u32) pr->performance->states[i].transition_latency); return_VALUE(result); } @@ -658,16 +670,21 @@ /* test it on one CPU */ for (i=0; iflags.performance) goto found_capable_cpu; } result = -ENODEV; - goto err; + goto err0; found_capable_cpu: + + result = cpufreq_register_driver(&acpi_cpufreq_driver); + if (result) + goto err0; + perf = pr->performance; current_state = perf->state; @@ -676,7 +693,7 @@ if (result) { ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Disabled P-States due to failure while switching.\n")); result = -ENODEV; - goto err; + goto err1; } } @@ -684,7 +701,7 @@ if (result) { ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Disabled P-States due to failure while switching.\n")); result = -ENODEV; - goto err; + goto err1; } if (current_state != 0) { @@ -692,18 +709,17 @@ if (result) { ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Disabled P-States due to failure while switching.\n")); result = -ENODEV; - goto err; + goto err1; } } - result = cpufreq_register_driver(&acpi_cpufreq_driver); - if (result) - goto err; - return_VALUE(0); /* error handling */ - err: + err1: + cpufreq_unregister_driver(&acpi_cpufreq_driver); + + err0: /* unregister struct acpi_processor_performance performance */ for (i=0; icpu != 0) diff -Nru a/arch/i386/kernel/cpu/cpufreq/powernow-k6.c b/arch/i386/kernel/cpu/cpufreq/powernow-k6.c --- a/arch/i386/kernel/cpu/cpufreq/powernow-k6.c Sat Jun 7 14:26:24 2003 +++ b/arch/i386/kernel/cpu/cpufreq/powernow-k6.c Sat Jun 7 14:26:24 2003 @@ -142,7 +142,6 @@ static int powernow_k6_cpu_init(struct cpufreq_policy *policy) { - struct cpuinfo_x86 *c = cpu_data; unsigned int i; if (policy->cpu != 0) diff -Nru a/arch/i386/kernel/cpu/cpufreq/powernow-k7.c b/arch/i386/kernel/cpu/cpufreq/powernow-k7.c --- a/arch/i386/kernel/cpu/cpufreq/powernow-k7.c Sat Jun 7 14:26:22 2003 +++ b/arch/i386/kernel/cpu/cpufreq/powernow-k7.c Sat Jun 7 14:26:22 2003 @@ -208,13 +208,38 @@ } +static void change_FID(int fid) +{ + union msr_fidvidctl fidvidctl; + + if (fidvidctl.bits.FID != fid) { + rdmsrl (MSR_K7_FID_VID_CTL, fidvidctl.val); + fidvidctl.bits.SGTC = latency; + fidvidctl.bits.FID = fid; + fidvidctl.bits.FIDC = 1; + wrmsrl (MSR_K7_FID_VID_CTL, fidvidctl.val); + } +} + + +static void change_VID(int vid) +{ + union msr_fidvidctl fidvidctl; + + if (fidvidctl.bits.VID != vid) { + rdmsrl (MSR_K7_FID_VID_CTL, fidvidctl.val); + fidvidctl.bits.VID = vid; + fidvidctl.bits.VIDC = 1; + wrmsrl (MSR_K7_FID_VID_CTL, fidvidctl.val); + } +} + + static void change_speed (unsigned int index) { u8 fid, vid; struct cpufreq_freqs freqs; union msr_fidvidstatus fidvidstatus; - union msr_fidvidctl fidvidctl; - /* fid are the lower 8 bits of the index we stored into * the cpufreq frequency table in powernow_decode_bios, @@ -228,7 +253,6 @@ rdmsrl (MSR_K7_FID_VID_STATUS, fidvidstatus.val); freqs.old = fsb * fid_codes[fidvidstatus.bits.CFID] * 100; - freqs.new = powernow_table[index].frequency; cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE); @@ -238,22 +262,16 @@ if (have_a0 == 1) /* A0 errata 5 */ __asm__("\tcli\n"); - /* First change the frequency. */ - if (fidvidctl.bits.FID != fid) { - rdmsrl (MSR_K7_FID_VID_CTL, fidvidctl.val); - fidvidctl.bits.SGTC = latency; /* Stop grant timeout counter */ - fidvidctl.bits.FID = fid; - fidvidctl.bits.FIDC = 1; - wrmsrl (MSR_K7_FID_VID_CTL, fidvidctl.val); - } - - /* Now change voltage. */ - if (fidvidctl.bits.VID != vid) { - rdmsrl (MSR_K7_FID_VID_CTL, fidvidctl.val); - fidvidctl.bits.VID = vid; - fidvidctl.bits.VIDC = 1; - wrmsrl (MSR_K7_FID_VID_CTL, fidvidctl.val); + if (freqs.old > freqs.new) { + /* Going down, so change FID first */ + change_FID(fid); + change_VID(vid); + } else { + /* Going up, so change VID first */ + change_VID(fid); + change_FID(vid); } + if (have_a0 == 1) __asm__("\tsti\n"); diff -Nru a/arch/i386/kernel/dmi_scan.c b/arch/i386/kernel/dmi_scan.c --- a/arch/i386/kernel/dmi_scan.c Sat Jun 7 14:26:27 2003 +++ b/arch/i386/kernel/dmi_scan.c Sat Jun 7 14:26:27 2003 @@ -12,6 +12,8 @@ #include unsigned long dmi_broken; +EXPORT_SYMBOL(dmi_broken); + int is_sony_vaio_laptop; int is_unsafe_smbus; diff -Nru a/arch/i386/kernel/entry.S b/arch/i386/kernel/entry.S --- a/arch/i386/kernel/entry.S Sat Jun 7 14:26:26 2003 +++ b/arch/i386/kernel/entry.S Sat Jun 7 14:26:26 2003 @@ -508,6 +508,15 @@ ENTRY(nmi) cmpl $sysenter_entry,(%esp) je nmi_stack_fixup + pushl %eax + movl %esp,%eax + /* Do not access memory above the end of our stack page, + * it might not exist. + */ + andl $0x1fff,%eax + cmpl $0x1fec,%eax + popl %eax + jae nmi_stack_correct cmpl $sysenter_entry,12(%esp) je nmi_debug_stack_check nmi_stack_correct: diff -Nru a/arch/i386/kernel/io_apic.c b/arch/i386/kernel/io_apic.c --- a/arch/i386/kernel/io_apic.c Sat Jun 7 14:26:27 2003 +++ b/arch/i386/kernel/io_apic.c Sat Jun 7 14:26:27 2003 @@ -352,9 +352,7 @@ unsigned long allowed_mask; unsigned int new_cpu; - if (irqbalance_disabled == IRQBALANCE_CHECK_ARCH && NO_BALANCE_IRQ) - return; - else if (irqbalance_disabled) + if (irqbalance_disabled) return; allowed_mask = cpu_online_map & irq_affinity[irq]; @@ -614,6 +612,9 @@ struct cpuinfo_x86 *c; c = &boot_cpu_data; + /* When not overwritten by the command line ask subarchitecture. */ + if (irqbalance_disabled == IRQBALANCE_CHECK_ARCH) + irqbalance_disabled = NO_BALANCE_IRQ; if (irqbalance_disabled) return 0; diff -Nru a/arch/i386/kernel/irq.c b/arch/i386/kernel/irq.c --- a/arch/i386/kernel/irq.c Sat Jun 7 14:26:23 2003 +++ b/arch/i386/kernel/irq.c Sat Jun 7 14:26:23 2003 @@ -66,8 +66,12 @@ /* * Controller mappings for all interrupt sources: */ -irq_desc_t irq_desc[NR_IRQS] __cacheline_aligned = - { [0 ... NR_IRQS-1] = { 0, &no_irq_type, NULL, 0, SPIN_LOCK_UNLOCKED}}; +irq_desc_t irq_desc[NR_IRQS] __cacheline_aligned = { + [0 ... NR_IRQS-1] = { + .handler = &no_irq_type, + .lock = SPIN_LOCK_UNLOCKED + } +}; static void register_irq_proc (unsigned int irq); @@ -209,7 +213,6 @@ { int status = 1; /* Force the "do bottom halves" bit */ int retval = 0; - struct irqaction *first_action = action; if (!(action->flags & SA_INTERRUPT)) local_irq_enable(); @@ -222,30 +225,88 @@ if (status & SA_SAMPLE_RANDOM) add_interrupt_randomness(irq); local_irq_disable(); - if (retval != 1) { - static int count = 100; - if (count) { - count--; - if (retval) { - printk("irq event %d: bogus retval mask %x\n", - irq, retval); - } else { - printk("irq %d: nobody cared!\n", irq); - } - dump_stack(); - printk("handlers:\n"); - action = first_action; - do { - printk("[<%p>]", action->handler); - print_symbol(" (%s)", - (unsigned long)action->handler); - printk("\n"); - action = action->next; - } while (action); - } + return retval; +} + +static void __report_bad_irq(int irq, irq_desc_t *desc, irqreturn_t action_ret) +{ + struct irqaction *action; + + if (action_ret != IRQ_HANDLED && action_ret != IRQ_NONE) { + printk(KERN_ERR "irq event %d: bogus return value %x\n", + irq, action_ret); + } else { + printk(KERN_ERR "irq %d: nobody cared!\n", irq); } + dump_stack(); + printk(KERN_ERR "handlers:\n"); + action = desc->action; + do { + printk(KERN_ERR "[<%p>]", action->handler); + print_symbol(" (%s)", + (unsigned long)action->handler); + printk("\n"); + action = action->next; + } while (action); +} + +static void report_bad_irq(int irq, irq_desc_t *desc, irqreturn_t action_ret) +{ + static int count = 100; - return status; + if (count) { + count--; + __report_bad_irq(irq, desc, action_ret); + } +} + +static int noirqdebug; + +static int __init noirqdebug_setup(char *str) +{ + noirqdebug = 1; + printk("IRQ lockup detection disabled\n"); + return 1; +} + +__setup("noirqdebug", noirqdebug_setup); + +/* + * If 99,900 of the previous 100,000 interrupts have not been handled then + * assume that the IRQ is stuck in some manner. Drop a diagnostic and try to + * turn the IRQ off. + * + * (The other 100-of-100,000 interrupts may have been a correctly-functioning + * device sharing an IRQ with the failing one) + * + * Called under desc->lock + */ +static void note_interrupt(int irq, irq_desc_t *desc, irqreturn_t action_ret) +{ + if (action_ret != IRQ_HANDLED) { + desc->irqs_unhandled++; + if (action_ret != IRQ_NONE) + report_bad_irq(irq, desc, action_ret); + } + + desc->irq_count++; + if (desc->irq_count < 100000) + return; + + desc->irq_count = 0; + if (desc->irqs_unhandled > 99900) { + /* + * The interrupt is stuck + */ + __report_bad_irq(irq, desc, action_ret); + /* + * Now kill the IRQ + */ + printk(KERN_EMERG "Disabling IRQ #%d\n", irq); + desc->status |= IRQ_DISABLED; + desc->handler->disable(irq); + } + desc->irqs_unhandled = 0; } /* @@ -418,10 +479,13 @@ * SMP environment. */ for (;;) { + irqreturn_t action_ret; + spin_unlock(&desc->lock); - handle_IRQ_event(irq, ®s, action); + action_ret = handle_IRQ_event(irq, ®s, action); spin_lock(&desc->lock); - + if (!noirqdebug) + note_interrupt(irq, desc, action_ret); if (likely(!(desc->status & IRQ_PENDING))) break; desc->status &= ~IRQ_PENDING; diff -Nru a/arch/i386/kernel/setup.c b/arch/i386/kernel/setup.c --- a/arch/i386/kernel/setup.c Sat Jun 7 14:26:28 2003 +++ b/arch/i386/kernel/setup.c Sat Jun 7 14:26:28 2003 @@ -35,6 +35,7 @@ #include #include #include +#include #include