Summary of changes from v2.5.53 to v2.5.54 ============================================ Moved the net changes to arch/um/drivers/Makefile into updates to a void a merge conflict. Merged the network fixes from the 2.4 pool. Copied in the new files for the slirp transport and slip cleanup. Merged the help text from the 2.4 Configure.help. Added the UML HOWTO in Documentation/uml. Updated to 2.5.48 Merged the get_config changes from 2.4. A few more fixes to get 2.4.48 to boot. Merged a number of bug fixes from the 2.4 pool. Moved the ptproxy code from arch/um/ptproxy to arch/um/kernel/tt/ptproxy. Fixed the Makefiles so that the ptproxy move from arch/um/ptproxy to arch/um/kernel/tt/ptproxy works. Merged the os_kill_process and the driver from_user changes from the 2.4 pool. Also merged some other cleanups. Fixes to the last merge. Merged the signal frame cleanups and fixes from 2.4. Fixed a couple of buglets in the signal frame merge. Merged the skas exec reorg. Declared mode_tt in user_util.h. Merged most of the rest of the skas changes. Added arch/um/kernel/skas/util/*, which I missed somehow. Added ptrace-skas.h and ptrace-tt.h. Added mode.h, mk_constants_kern.c, mk_constants_user.c, and um_mmu.h Added the mode mmu.h and mode.h headers. Changed the config to pull in zlib. Added arch/um/include/mode_kern.h Added a batch of files under arch/um/kernel/skas. Added a bunch of C files under arch/um/kernel/skas and arch/um/kernel/tt. Added skas/mem_user.c and tt/gdb.c Added the uaccess changes from the skas merge. A number of small fixes for the uaccess merge. Applied the sigcontext changes in the skas code. Some minor build and compilation fixes to the copy_sc merge. Merged the IP checksum changes from the skas code. Removed the checksum.S symlink from arch/um/sys-i386/Makefile. Some small build fixes to the IP checksum merge. Merged a number of small skas changes. Minor build fixes to the last batch of skas merges. Merged the tlb.c changes from the skas patch. Fixed various build problems with the tlb.c merge. Merged the rest of the skas changes. Finished the skas merge by eliminating a syntax error, fixing the new compilation warnings, and fixing a call to handle_page_fault. Updated to 2.5.49, which involved fixing the calls to do_fork. A whole lot of small changes to sync up the 2.4 and 2.5 pools somewhat. Mostly whitespace changes, plus some code movement. Also added checksum.S to the repository, which I had somehow missed before. Small fixes to sync up the 2.4 and 2.5 pools. Also fixed a stupid signal handling bug. Fixed a stupid compile bug. Updated to 2.5.50. Added a couple of includes as part of the 2.5.50 update. Added in Radeon PCI ids into pci_ids.h from radeon.h. IGA fbdev uses C99 now. Fixes from the PPC guys. Lots of small fixes. Anothe rattempt at commting. Updates for the STI fbdev and console driver. Updates to the NVIDIA driver. We now support more cards. I still have more hacking to do. kbuild: Fix sounds/synth/emux/Makefile Due to Sam's changes, kbuild doesn't like Makefiles which don't set obj-{anything} at all anymore. This caused problems with sounds/synth/emux, but just cleaning up things there is enough to fix it. kbuild: Fix "make some/file.lst" For debugging it's sometimes useful to have C code / asm intermixed and the asm properly relocated, that's what "make some/file.lst" does. After fixing a small bug, it even works again now. Applied updates from 2.5.51 and 2.5.52. Removed includes of Rules.mk. Updated to 2.5.52. A couple of changes relating to system call restarting. Voodoo 1 ported to new api. STI and NVIDIA updates. MDA console fixes. Moved the logo code from fbcon to fbdev. Port of chipsfb driver to new api. Removed the fontwidth8 option. Let the xxxfb_imageblit function handle this. 64 bit m achine fixes. Merge with davem work. Merged with Linus tree. Some conflicts to resolve. [PATCH] USB Joypad quirk Orginally from Vojtech Pavlik (16th June 2002 via email), to fix my 'broken' USB joypad, Fully tested in both 2.4.x and 2.5.52 (and 2.5.52-bk). [PATCH] scanner.c: Accept scanners with more than one interface This patch allows the scanner driver to accept devices with more than one interface. That's needed by some multi-function periphals (e.g. scanner+printer). [PATCH] scanner.c: fix compilation error with debugging enabled This patch removes a now unnecessary debug line taht broke compilation when debugging was enabled. [PATCH] USB ipaq driver update The ActiveSync USB "protocol" seems to be the same for all WinCE devices seen so far. So it seems reasonable to pre-emptively support all devices which work with ActiveSync. AIC7XX_PROBE_EISA_VL should depend on SCSI_AIC7XXX Make the default values for DS/ES be the _user_ segment descriptors on x86 - the kernel doesn't really care (as long as it's all flat 32-bit), and it means that the return path for sysenter/sysexit can avoid re-loading the segment registers. NOTE! This means that _all_ kernel code (not just the sysenter path) must be appropriately changed, since the kernel knows the conventions and doesn't save/restore DS/ES internally on context switches etc. [PATCH] Save fs/gs over vm86 mode switch In vm86 mode we did not save/restore %gs [and %fs] properly, which breaks new-style threading. More STI updates. Ported Voodoo1 driver to new api. kbuild: fix bug in scripts/kallsyms.c kallsyms.c generates the symbol table in a .S file using the assembler .string macro. Unfortunately, the .string macro is implemented in a platform specific way (it may or may not zero terminate the string). On parisc, it doesn't zero terminate, so the symbol table search doesn't work. The solution is to replace .string with .asciz which is guaranteed to do the correct thing on all platforms. kbuild: Stem compression for kallsyms This patch implements simple stem compression for the kallsyms symbol table. Each symbol has as first byte a count on how many characters are identical to the previous symbol. This compresses the often common repetive prefixes (like subsys_) fairly effectively. On a fairly full featured monolithic i386 kernel this saves about 60k in the kallsyms symbol table. The changes are very simple, so the 60k are not shabby. One visible change is that the caller of kallsyms_lookup has to pass in a buffer now, because it has to be modified. I added an arbitary 127 character limit to it. Still >210k left in the symbol table unfortunately. Another idea would be to delta encode the addresses in 16bits (functions are all likely to be smaller than 64K). This would especially help on 64bit hosts. Not done yet, however. No, before someone asks, I don't want to use zlib for that. Far too fragile during an oops and overkill too and it would require to link it into all kernels. PnP update - added configuration templates - configuration can be changed from the probe() callback - new PnP ID - NSC6001 - fixes in PnP BIOS code - no more oopses - fixed typos and thinkos in 8250_pnp.c [AGP] remove unused variable from 8151 GART driver. PnP update - removed ISAPnP members from PCI structures - isapnp.h cleanups (removal of duplicates) - added compatible functions (pnp_find_dev and pnp_find_card) - i82365 (pcmcia driver) - ported to new PnP layer The fast poll code incorrectly assumed that "sizeof pp" was the same as "offsetof pp->entries". Which happens to be true on 32-bit platforms, but not on 64-bit ones. From Anton Blanchard. [PATCH] Make swsuspend restore DS/ES segments properly [PATCH] USB: make the usbserial driver have the same name for the tty, usb, and module subsystems. [PATCH] USB: convert visor driver to use dev_err() and dev_info() macros [PATCH] USB: convert usbserial core to use dev_err() and dev_info() macros [PATCH] fix PCI bridge handling in probe.c As Ben pointed out, disabling the PCI-to-PCI bridge before scanning its secondary bus is a serious bug. It can easily crash even on PCs when booting with "pci=assign-busses" option. For example, that code completely disconnects the AGP bridge (along with VGA behind it) from the bus and then calls pci_do_scan_bus() where printks are quite possible. [PATCH] amd756 and amd8111 sensors support Add support for amd756 and amd8111 sensors [PATCH] USB: convert empeg driver to use dev_err() and dev_info() macros [PATCH] USB: convert io_edgeport driver to use dev_err() and dev_info() macros [PATCH] USB: convert io_ti driver to use dev_err() and dev_info() macros [PATCH] USB: convert ir-usb driver to use dev_err() and dev_info() macros [PATCH] USB: convert keyspan driver to use dev_err() and dev_info() macros [PATCH] USB: convert pl2303 driver to use dev_err() and dev_info() macros [FB] Fix minor typos wrt readq/writeq support on 64-bit targets. [FB] First cut at updating tgafb to 2.5 fb api. A large scale rewrite modeled off of skeletonfb.c. One more update for osst in 2.5.53 Below is a patch for osst, against 2.5.53, which fixes a couple of bugs, among which a pretty likely oops, and includes some cleanup. At this point I'm pretty satisfied that it works properly. [PATCH] USB: take out private pointer from struct usb_serial_port The struct device pointer should be used instead. [PATCH] USB: fix up the usb-serial drivers due to the removal of the struct usb_serial_port private pointer. Forward ported a bunch of fixes from 2.4. [PATCH] USB: add usb_get_serial_data() and usb_set_serial_data() functions. This is to access the private pointer in struct usb_serial [PATCH] USB: use usb_get_serial_data() and usb_set_serial_data() functions. Fixed the calls to os_get_process in port_kern.c Workaround (ide-timing.h) for many ATAPI CD/DVD-ROMs and burners. They need extended (beyond spec) address setup timing, and as such don't work on recent VIA chipsets. [PATCH] usbcore dma updates (and doc) Attached is a patch leveraging some of the new generic dma stuff: - Replaces dma mapping calls in usbcore with generic equivalents. This is a minor code shrink (which we'd hoped could happen). - Pass dma mask along, so net drivers can notice it'd be good to set NETIF_F_HIGHDMA; or scsi ones can set highmem_io. (Some Intel EHCI setups are able to support this kind of DMA.) - Updates one net driver (usbnet) to set NETIF_F_HIGHDMA when appropriate, mostly as an example (since I can't test this). - Provides Documentation/usb/dma.txt, describing current APIs. (Unchanged by this patch, except dma mask visibility.) - Converted another info() to dev_info(), and likewise a couple dbg() to dev_dbg() conversions in the modified routine. The number of FIXMEs was conserved: the generic API doesn't yet fix the error reporting bugs in the PCI-specific mapping API. [PATCH] Extra parameters removed from the ultracam driver > > Ultracam was derived from ibmcam and probably copied the list of > > parameters too. IBM cameras have this parameter, and use it. > > This means that it says "MODULE_PARM(lighting, "i");" and there is no > variable called lightening. The new module code is stricter about > this. Someone please fix. Here is the patch for 2.5.53. It removes parameters that have no use in the ultracam driver (and they were broken anyway). [PATCH] Handle kmalloc fails: drivers/usb/input/pid.c This patch tries to check the return value of kmalloc taking the necesary action to solve the problem. [PATCH] USB: remove private_data pointer from struct usb_interface, as it shouldn't be used anymore Also added usb_get_intfdata() and usb_set_intfdata() functions to set the struct usb_interface private pointer easier. USB: fix compiler warnings in the isdn usb drivers. [PATCH] USB misc drivers: remove direct calls to dev_set* and dev_get* change dev_set_drvdata() and dev_get_drvdata() to usb_set_intfdata() and usb_get_intfdata() [PATCH] USB serial drivers: remove direct calls to dev_set* and dev_get* change dev_set_drvdata() and dev_get_drvdata() to usb_set_intfdata() and usb_get_intfdata() [PATCH] USB core drivers: remove direct calls to dev_set* and dev_get* change dev_set_drvdata() and dev_get_drvdata() to usb_set_intfdata() and usb_get_intfdata() [PATCH] USB media drivers: remove direct calls to dev_set* and dev_get* change dev_set_drvdata() and dev_get_drvdata() to usb_set_intfdata() and usb_get_intfdata() [PATCH] USB skeleton driver: remove direct calls to dev_set* and dev_get* change dev_set_drvdata() and dev_get_drvdata() to usb_set_intfdata() and usb_get_intfdata() [PATCH] USB class drivers: remove direct calls to dev_set* and dev_get* change dev_set_drvdata() and dev_get_drvdata() to usb_set_intfdata() and usb_get_intfdata() [PATCH] USB image drivers: remove direct calls to dev_set* and dev_get* change dev_set_drvdata() and dev_get_drvdata() to usb_set_intfdata() and usb_get_intfdata() [PATCH] USB input drivers: remove direct calls to dev_set* and dev_get* change dev_set_drvdata() and dev_get_drvdata() to usb_set_intfdata() and usb_get_intfdata() [PATCH] USB skeleton: missed a dev_get_drvdata usage [PATCH] USB net drivers: remove direct calls to dev_set* and dev_get* change dev_set_drvdata() and dev_get_drvdata() to usb_set_intfdata() and usb_get_intfdata() [PATCH] USB storage driver: remove direct calls to dev_set* and dev_get* change dev_set_drvdata() and dev_get_drvdata() to usb_set_intfdata() and usb_get_intfdata() [PATCH] USB drivers outside /drivers/usb: remove direct calls to dev_set* and dev_get* change dev_set_drvdata() and dev_get_drvdata() to usb_set_intfdata() and usb_get_intfdata() [PATCH] USB: fix up some bugs in the cpia driver [FB] Use u32 instead of unsigned long for cfbimgblt bit ops. The code that maps bits to pixels is not prepared to handle a 64-bit long. [TGAFB] Minor bug fixes to obtain a working TGA console with the new FB API. Cset exclude: rth@are.twiddle.net|ChangeSet|20021227230408|33498 [PATCH] USB: rename usb_free_dev() to usb_put_dev() This was done to make the next reference count patch easier, and because almost everyone was already calling usb_put_dev() anyway... [PATCH] USB: use the driver model to handle reference counting of struct usb_device [PATCH] USB: fix kaweth driver which was accessing the struct usb_device refcnt variable directly. [PATCH] USB: more dev_printk() cleanups. [PATCH] Fix pci-dma compatibility code for "dev == NULL" The compat API doesn't cope correctly if struct pci_dev is NULL, as it can be for the x86 fake pci_dev handling. [PATCH] Modules without init functions don't need exit functions If modules don't use module_exit(), they cannot be unloaded. This safety mechanism should not apply for modules which don't use module_init() (implying they have nothing to clean up anyway). o sparc: add missing __{start,stop}___param to vmlinux.lds.S Rusty missed this one. Enable Voyager in current kernel separate out trampoline so other subarchs can use it Move voyager sysrq to V key and remove from char/sysrq.c Patch suggested by Randy Dunlap subarch: change SMP define to X86_HT Make the TSC a run-time specifier only Also localises the parameters and setup into kernel/timers Adds an external flag so that the tsc can be disabled from the machine specific setup (used by voyager) boot with small GDT Switch to larger operating GDT after moving to protected mode This is necessary to boot on certain subarchs (voyager) Fix for m68k. They need the struct font_desc super early in the boot process. [PATCH] Spurious recompile with defconfig When compiling aic7xxx in 2.5.53 with defconfig the kernel always recompiles because dependency for reg_print.c is not per default in the aic7xxx Makefile. Simple correction is to make PRETTY_PRINT dependend on BUILD_FIRMWARE. Get rid of atari-specific "ide_intr_lock" from generic IDE code [PATCH] M68k {,smp_}read_barrier_depends() Add definitions for {,smp_}read_barrier_depends() [PATCH] M68k do_coredump() update M68k: do_coredump() gained an extra argument in 2.5.52 [PATCH] M68k module list updates M68k module list updates, inspired by ia32 traps.c in 2.5.48 [PATCH] M68k do_fork() updates M68k: update for changed do_fork() semantics in 2.5.49 [PATCH] M68k *__param sections M68k: add *__param to link files (needed for 2.5.52) [PATCH] M68k thread_info.restart_block M68k: add restart_block field to struct thread_info (needed for 2.5.51) [PATCH] STRAM for_each_process() for_each_task() was renamed to for_each_process() in 2.5.35 [PATCH] NCR5380 unbalanced curly brace Fix inbalance of curly braces if AUTOSENSE is not defined. [PATCH] struct font_desc M68k: struct fbcon_font_desc was renamed to struct font_desc in 2.5.51 [PATCH] Atari NCR5380 SCSI: bitops operate on long Atari NCR5380 SCSI: bitops operate on long, not char. Note: the preprocessor stuff just above checks for MAX_TAGS being a multiple of 32, so dividing by 32 is OK. [PATCH] Sun-3 and Atari NCR5380 scsi_host_hn_get() Scsi_Host.next was removed in 2.5.44, convert to use scsi_host_hn_get() [PATCH] Ataflop compile fix Ataflop: Add missing = [PATCH] Amiflop incorrect sti() Amiga floppy: fix incorrect sti() [PATCH] M68k local_irq_count update M68k: local_irq_count was moved to the hardirq bitmask of preempt_count() (cfr. asm/hardirq.h). [PATCH] NCR53C9x ESP updates NCR53C9x ESP SCSI driver updates: - Port recent 2.5.x Sun/SPARC ESP SCSI driver changes to the NCR53C9x ESP SCSI drivers - Move NCR53C9x ESP host templates and host adapter-specific definitions from the host adapter-specific header files to the source files - Move common NCR53C9x ESP prototypes from the host adapter-specific header files to NCR53C9x.h This affects the following SCSI host adapters: - M68k/PPC Amiga Blizzard 1230IV, 1260, and 2060 - M68k/PPC Amiga BSC Oktagon - M68k/PPC Amiga Cyberstorm and Cyberstorm II - M68k/PPC Amiga Phase 5 Fastlane - MIPS DECstation NCR53C94 - MIPS JAZZ Fas216 - M68k Mac 53C9x - ia32 MCA 53C9x - M68k Sun-3x ESP [PATCH] duplicate bwtwofb Makefile entry Remove duplicate Makefile entry for bwtwofb [PATCH] Mac/m68k VIA updates Mac/m68k VIA updates (from Ray Knight in 2.4.x) - PowerBooks and early Macs use different bits for nubus. - Add loglevel macros to printk. [PATCH] struct font_desc external use Move the definition of struct font_desc back to