2003-03-05 03:40:42

by Linus Torvalds

[permalink] [raw]
Subject: Linux 2.5.64


Hmm.. Stuff all over, and a lot of spelling fixes. But there's a fair
number of "real" things here too, merges with Andrew, Dave etc.

As already reported on linux-kernel, this should fix the htree problems
(apart from some potential NFS export issues, apparently), and it also has
the nicer hash chain code from Andi (no actual changes in the hash
algorithms themselves, just the list changes).

Sparc, USB, networking updates.

Ans as I've been a bit snowed under by a lot of email, if you sent me
stuff and it isn't here, double-check and re-send (but even better, try to
see if you can find one of my "merge points" and check with them too)

Linus

Summary of changes from v2.5.63 to v2.5.64
============================================

Andrew Wood <[email protected]>:
o USB: USB-MIDI support for Roland SC8820

<[email protected]>:
o [SPARC64]: Fix SMP boot failures

<[email protected]>:
o [IPV6]: Export in6addr_{any,loopback} to modules

<[email protected]>:
o Fix ext3/VFS double freeing warning

<[email protected]>:
o [ATM]: Use skb_pull instead of direct skb mangling
o [ATM]: Get minimum frame size right in lec.c
o [ATM]: Let upper layer k now lec supports multicast
o [ATM FORE200E]: Fix build
o [ATM SUNI]: suni_init should not be __init and remove mod inc/dec

<[email protected]>:
o dm: prevent possible buffer overflow in ioctl interface
o fix recent dm breakage

<[email protected]>:
o Allow uart drivers to calculate divisors differently
o Support high-speed serial modes of National Semiconductor and SMSC
Super-IO chips
o Complain about setting custom speed or divisor on serial ports

<[email protected]>:
o Hex numbers in NCR53c406a.c

<[email protected]>:
o [NETFILTER]: Fix icmp-type all problem in iptables

<[email protected]>:
o Sun StorEdge[tm] array SparseLUN support

<[email protected]>:
o USB: KB Gear USB Tablet Drivers

<[email protected]>:
o [NETFILTER]: fix NAT ICMP reply translation of inner packet
o [NETFILTER]: Fix conntrack bug introduced by list_del change
o [NETFILTER]: Fix typo in ftp conntrack helper
o [NETFILTER]: Add new ip6tables matches

<[email protected]>:
o [IPSEC]: Make sure ESP output pads Null Encryption properly

<[email protected]>:
o Numerous spelling fixes

<[email protected]>:
o APIC ID fixes

Adrian Bunk <[email protected]>:
o small drivers/atm/* cleanup
o fix compilation of g_NCR5380.c
o fix the compilation of sym53c416.c

Alan Stern <[email protected]>:
o Trivial patch for usb.h
o Fix USB address setting

Andi Kleen <[email protected]>:
o dcache/inode hlist patchkit

Andrew Morton <[email protected]>:
o make jiffies wrap 5 min after boot
o Fix user time accounting's handling of jiffies wrap
o hugetlb put_page speedup
o Fix slab batchcount limiting code
o crc32 optimizations
o flush_tlb_all preempt safety for voyager
o Early ioremap support for ia32
o x440 SRAT parsing
o use find_get_page() in do_generic_mapping_read()
o Make kIrDAd us interruptible sleep
o Check for zero d_count in dget()
o Remove redundant check in pte_alloc_map()
o SARD accounting fix
o Fix race between umount and inode pruning
o fix bug in slab.c debugging
o ext3: fix htree memory leaks
o fix IRQ balancing disable controls
o don't let OOM killer kill same process repeatedly
o add some missing gloabl_flush_tlb() calls
o ext3: speed up O_SYNC writes
o remove MAX_BLKDEV from genhd.c
o fix md /proc oops
o spelling fixes
o fix e100 for big-endian machines
o deadline IO scheduler dispatching fix
o loop: Fix OOM and oops
o fix presto_get_sb() return value and oops
o fix preempt-issues with smp_call_function()
o Don't panic if TSC is enabled and notsc is used
o clean up redundant code for alloc_pages
o ext2: clear ext3 htree flag on directories
o fix typo in arch/i386/kernel/mpparse.c in printk
o allow CONFIG_SWAP=n for i386
o remove dead hugetlb_key forward decl
o hugetlbpage documentation update
o hugetlb: fix MAP_FIXED handling
o cciss: fix unlikely startup problem
o cciss: retry bus resets
o cciss: add cmd_type to sendcmd parameters
o cciss: add CCISS_GETLUNINFO ioctl
o cciss: add passthrough ioctl
o sysfs build fix

Andy Grover <[email protected]>:
o ACPI: Do not count processor objects for non-present CPUs (Thanks
to Dominik Brodowski)
o ACPI: Revert a change that allowed P_BLK lengths to be 4 or 5. This
is causing us to think that some systems support C2 when they
really don't.
o ACPI: Fix derive_pci_id (Ducrot Bruno, Alvaro Lopez)
o ACPI: Never use ACPI on VISWS
o ACPI: Expand the mem= cmdline to allow the specification of
reserved and ACPI DATA blocks (Pavel Machek)
o ACPI: Map in entire table before performing checksum (John Stultz)
o ACPI: Add S4BIOS support (Pavel Machek)
o ACPI: Add new file for GPE code
o ACPI: Interpreter update
o ACPI: Modify drivers to use new acpi_walk_resource API (Bjorn
Helgaas)
o ACPI: Add S4BIOS support (Pavel Machek)
o ACPI: Update ACPI PHP driver with to use new acpi_walk_resource API
(Bjorn Helgaas)
o ACPI: S3 fixes (Ole Rohne)
o ACPI: Update version to 20030228

Art Haas <[email protected]>:
o Fix initializers on drivers/ide/pci/trident.h
o C99 initializers for include/linux/net.h
o Trivial C99 changes for kernel/posix-timers.c
o C99 initializers for drivers/mtd files
o C99 initializers for drivers/mtd/chips
o C99 initializers for drivers/mtd/maps
o C99 initializer for drivers/mtd/nand/spia.c
o C99 initializers for alpha/thread-info.h
o [BRIDGE]: C99 patches for net/bridge/netfilter

Ben Collins <[email protected]>:
o [SPARC64]: hardirq.h needs linux/cache.h
o IEEE1394 updates
o IEEE1394 ioctl allocation documentation
o More IEEE1394 updates

Christoph Hellwig <[email protected]>:
o Add PC-9800 bios parameter support in SCSI
o wd33c93 updates
o fix some Kconfig typos
o some scsi_scan.c restructuring for ieee1394 hotplugging
o PCI: remove check_region abuse (and code duplication) from pci hp
code
o scsi_add_host/scsi_Remove_host for aic7xxx/aic79xx
o update nsp_cs to use scsi_add_host / scsi_remove_host
o [NET]: Move fc_type_trans into generic code
o [NET]: Remove 2.0/2.2 compat code from netfilter, approved by Rusty
o [XFS] spin_lock_irqsave must take an ulong, not int. Spotted by
Anton Blanchard <[email protected]>
o [XFS] fix compilation with CONFIG_SYSCTL=n
o [XFS] shut up gcc warnings about _lsn_cmp
o [XFS] Remove flags argument from xattr inode operations again
o remove kdevname abuse from reiserfs
o remove unused variables from the i2c core
o remove an unused function from the i2c core
o remove kdevname abuse from init/do_mount.c
o i2c-dev cleanup
o remove unused last argument to i2c_register_entry
o small i2c-amd8111 updates
o remove unused file include/linux/ghash.h

Dave Jones <[email protected]>:
o [AGPGART] compile fix for alpha
o [WATCHDOG] SuperH 5 support for SH watchdog driver
o pnp_activate_dev API changes
o C99 struct initialisers for aacraid
o aacraid extra devices
o increase aha152x timeouts
o dpt_i2o bits from 2.4
o fdomain isa_ API conversion
o fdomain pcmcia update from 2.4
o Put sgiwd93.c back in sync with 2.4
o sun3 updates from 2.4
o Erroneous colon in sym53c8xx.c
o important bits
o copy-paste ; breakage in sym_2
o wd33c93 sync up with 2.4
o Remove redundant aligns
o Extraneous ; in cris eeprom code
o Allow booting from 21 sector floppies
o Missing acpi include
o Enable SSE on newer Athlons
o VIA Nehemiah cache workaround
o Fix ambiguous else in generic serial
o Handle empty E820 regions correctly
o [WATCHDOG] Remove unnecessary llseek function
o [WATCHDOG] Merge AMD 766/768 TCO Timer/Watchdog driver from 2.4
o [WATCHDOG] missed C99 named initialiser conversion
o [WATCHDOG] Use symbolic PCI names instead of hardcoded values
o [AGPGART] Add support for Intel 852GM / 855GM and 865G
o [AGPGART] Move PCI device IDs to pci_ids.h
o [WATCHDOG] Remove old unneeded borken module locking
o [WATCHDOG] return code checking and various cleanups for ib700wdt
o [WATCHDOG] remove remainder of the old broken module locking scheme

David Brownell <[email protected]>:
o USB: sync with some 2.4 ohci fixes, prepare for backport
o USB: ohci-hcd, more portable diagnostics
o USB: ohci-hcd fewer diagnostics
o USB: usbtest checks for in-order completions
o USB ohci: "registers" sysfs file
o USB: ehci-hcd, partial VIA workaround
o USB: kerneldoc/pdf

David S. Miller <[email protected]>:
o [FRAMEBUFFER]: Use u32 not long in cfbimgblt
o [FRAMEBUFFER]: cfbcopyarea accesses fb without using
FB_{READ,WRITE}L
o [FRAMEBUFFER]: Convert creatorfb to new APIs
o [SPARC64]: GPL export syscall table for solaris module
o [FRAMEBUFFER]: Convert bw2, cg6, and cg3 drivers to new APIs
o [FRAMEBUFFER]: Convert cg14 driver to new APIs
o [FRAMEBUFFER]: Convert P9100 driver to new APIs
o [FRAMEBUFFER]: Convert TCX driver to new APIs
o [SPARC64]: Update defconfig
o [SPARC64]: Solaris module asm needs asm/thread_info.h
o [SPARC64]: Use EXTRA_CFLAGS instead of mangling CFLAGS directly
o [ATM]: Fix mispatch
o [SCTP]: net/sctp/proc.c needs linux/init.h
o [SYSFS]: fs/sysfs/mount.c needs linux/init.h
o [HOTPLUG]: drivers/base/hotplug.c needs linux/sched.h and
linux/string.h

Dominik Brodowski <[email protected]>:
o cpufreq (1/5): x86 driver updates #1 (elanfreq, gx-suspmod,
powernow-k6)
o cpufreq (2/5): x86 driver updates #2 (acpi, longhaul)
o cpufreq (3/5): "userspace" governor
o cpufreq (4/5): update x86 drivers to compile with new "userspace"
governor
o cpufreq (5/5): update documentation
o [SPARC64]: update us3_cpufreq to support userspace governor

Duncan Sands <[email protected]>:
o USB speedtouch: take ref to USB device
o USB speedtouch: use USB dbg macro
o USB speedtouch: better proc info
o USB speedtouch: don't race the tasklets
o USB speedtouch: be firm when disconnected
o USB speedtouch: handle usb_string failure

Eric Sandeen <[email protected]>:
o [XFS] Allow the pagebuf daemon to suspend

Ganesh Varadarajan <[email protected]>:
o USB ipaq.c: add ids for fujitsu loox

Greg Kroah-Hartman <[email protected]>:
o USB visor: fixed the driver_info cast to the proper type
o USB visor: cleanup the close() logic
o USB pl2303: add locking now that the usb-serial core doesn't
protect us
o IBM PCI Hotplug: Clean up the error handling logic for a number of
functions, and fix a locking mess
o IBM PCI Hotplug: fix typo in previous patch
o IBM PCI Hotplug: get rid of unneeded ops structure and surrounding
logic
o PCI Hotplug: remove the list_lock, as we rely on sysfs to detect
any duplicate slot names
o Compaq PCI Hotplug: move /proc files to sysfs
o Compaq PCI Hotplug: rename cpqphp_proc.c to cpqphp_sysfs.c
o Compaq PCI Hotplug: convert to use pci_remove_bus_device instead of
custom code
o Compaq PCI Hotplug: remove unused walk of the device on insertion
o ACPI PCI hotplug: convert to use pci_remove_bus_device()
o IBM PCI Hotplug: convert driver to use pci_bus_remove_device()
o PCI: export pci_scan_bus_parented which is needed by the IBM pci
hotplug driver
o CPCI core: remove unneeded visit device on unconfigure
o USB: fix potential races in mct_u232 now that there's no locks in
the usb-serial core
o USB: fixed potential races in belkin_sa.c now that there's no locks
in the usb-serial core
o USB: fixed potential races in kl5kusb105.c now that there's no
locks in the usb-serial core
o USB: add the rest of the interface descriptor info to sysfs
o USB: fix bug that prevented usbcore from shutting down
o USB: add support for two new keyspan drivers

Greg Ungerer <[email protected]>:
o include unistd.h in m68knommu syscalltable.S
o switch m68knommu to using asm-generic/siginfo.h
o define struct for m68knommu/ColdFire timer registers
o define timer_t and clockid_t for m68k archiecture
o include unistd.h in m68knommu vectors.c
o create NR_syscalls for m68knommu architecture
o include unistd.h in m68knommu entry.S

Henning Meier-Geinitz <[email protected]>:
o USB: New vendor/product ids for scanner driver
o USB: Fixed generation of devfs names in scanner driver

Hideaki Yoshifuji <[email protected]>:
o [IPV6]: Make sure temporary addresses are regenerated properly
o [IPV6]: More C99 initializers

Ivan Kokshaysky <[email protected]>:
o alpha: context switch fixes
o alpha: remove ali ide quirk

James Bottomley <jejb@mulgrave.(none)>:
o clean up wd33c93 data direction code

Jean Tourrilhes <[email protected]>:
o [wireless] cleanup after recent shuffle

Jeff Garzik <[email protected]>:
o [netdrvr] Update Doc/networking/netdevices.txt with more locking
rules
o [netdrvr tg3] disable 5701 h/w bug workaround during core clock
reset
o [netdrvr tg3] fix NAPI deadlock
o [netdrvr tg3] bump version to 1.4c / Feb 18
o [netdrvr tg3] properly synchronize with TX, in tg3_netif_stop
o [netdrvr tg3] fix TX race in previous code, and another buglet

Joe Thornber <[email protected]>:
o dm: ioctl interface wasn't dropping a table reference
o dm: __LOW macro fix no. 1
o dm: bug in error path for unknown target type
o dm: allow slashes in dm device names
o dm: __LOW macro fix no. 2
o dm: return correct error codes from dm_table_add_target()
o dm: deregister the misc device before removing /dev/mapper

John Levon <[email protected]>:
o IPS driver typo
o sun3_NCR typo
o aix7xxx_old typo
o FlashPoint typo
o NCR5380 typos
o AM53C974 typo
o [SUNHME]: Fix bit testing typo
o usbcld typo
o rio500 typo
o Another bitop on boolean in pnpbios

Jon Grimm <[email protected]>:
o [SCTP] Minor surgery on ulpevent & related cleanups
o [SCTP] SET_DEFAULT_SEND_PARAM sockopt. (ardelle.fan)
o [SCTP] Partial Data Delivery
o [SCTP] MSG_ADDR_OVER support. (ardelle.fan)
o [SCTP] Minor cleanup on tsnmap
o [SCTP] C99 Initializer cleanup (Art Haas)
o [SCTP] Renege to make room for CTSN+1 chunk
o Add getsockopt for DEFAULT_SEND_PARAM. (ardelle.fan)

Kai Germaschewski <[email protected]>:
o kbuild: Remove scripts/elfconfig.h with "make clean"
o kbuild: Fix a race with module postprocessing
o kbuild: Handle MODULE_SYMBOL_PREFIX in module postprocessing
o kbuild: typo fix
o kbuild: [PATCH] eliminate warnings in generated module files
o kbuild: [PATCH] Remove checkhelp.pl and header.tk
o kbuild: [PATCH] put genksyms in scripts dir
o kbuild: [PATCH] adapt genksyms for current kbuild
o kbuild: Fix genksyms __typeof__ handling
o do_mounts: Move devfs into own file
o do_mounts: __init* cleanup
o do_mounts: move early MD setup into own file
o do_mounts: fix device name recognition for md= command line option
o do_mounts: Remove unneeded check for initrd_start
o do_mounts: initrd_load() is never called w/o CONFIG_BLK_DEV_INITRD
o do_mount: Move more of the initrd load logic into initrd_load()
o do_mounts: Simplify logic for ramdisk from floppy
o do_mounts: mount_initrd is now only needed w/CONFIG_BLK_DEV_INITRD
o do_mounts: Move CONFIG_BLK_DEV_RAM stuff into own file
o do_mounts: Separate out common root mounting code into
do_mount_root()
o do_mounts: create_dev() before mounting
o kbuild: make -j race fix, cosmetics
o kbuild: Module postprocessing needs include/linux/compile.h
o kbuild: Silence some warnings when building vmlinux
o do_mounts: Fix CONFIG_BLK_DEV_MD=m case
o kbuild: remove dependency on compile.h

Linus Torvalds <[email protected]>:
o Fix up kernel/module.c breakage. Bad Rusty!
o d_validate() needs to use "__dget_locked()" since it's holding the
dcache lock.
o Avoid memory leak on fork() failure path
o pnp interface.c needs <linux/slab.h> for 'kfree()'
o Make ACPI dmi fixup properly depend on CONFIG_ACPI_SLEEP
o Fix up sunrpc for the dentry hash list changes

Marc Zyngier <[email protected]>:
o Fix scsi_probe_and_add_lun

Martin J. Bligh <[email protected]>:
o Move node pgdat into node's own memory
o Fix potential NULL pointer
o Move pfn_to_nid inline
o provide pcibus_to_cpumask from topology
o Fix kirq_balance up so I can disable it
o need PIT timer available for NUMA-Q
o Fix error bounds checking for NUMA-Q

Matthew Dharm <[email protected]>:
o USB: Small patch

Mike Anderson <[email protected]>:
o scsi_set_device_offline lock fix

Muli Ben-Yehuda <[email protected]>:
o trident 1/3 fix "did not come out of reset"
o trident 2/3 make me the maintainer
o trident 3/3 use pr_debug instead of TRDBG
o AD1848 OSS driver build fix
o trident 1/1 fix operator precedence bug

Nathan Scott <[email protected]>:
o [XFS] Remove some off_t abuse in pagebuf_offset and the page_io
routine, after some careful analysis.
o [XFS] Fix some comments, remove an unused variable from the stack,
fix missing clear of pb_locking field if IO completion handled in
pagebuf_iorequest.
o [XFS] Revert the recent hashing change, performance seemed to go
way down in certain benchmarks. This is reverted to how it was,
except the number
o [XFS] Transition from xfsroot attribute namespace to the more
generic trusted namespace which other filesystems are also
supporting.

Nicolas Pitre <[email protected]>:
o small tty irq race fix

Patrick Mochel <[email protected]>:
o sysfs: add sysfs_update_file()
o sysfs: split up inode.c into different files for different purposes
o sysfs: further localize file creation
o sysfs: add initial support for binary files
o sysfs: fix oops in directory removal
o driver model: remove <linux/sched.h> from include/linux/device.h
o kobject: fix oops in to_kset()
o driver model: fix device interfaces
o cpufreq: convert to use new interface code
o sysfs: fix more merge breakage
o sysfs: fix warning
o driver model: Make initialization explicit
o sysfs: initialize from fs/namespace.c::mnt_init()
o driver model: implement platform_match()
o sysfs: Register filesystems with sysfs

Pavel Machek <[email protected]>:
o swsusp and S3 fixes

Pete Zaitcev <[email protected]>:
o USB: Yet another unusual_devs.h member
o [SPARC]: Kill GFP_DMA in iommu code
o [SPARC]: Fix Kconfig typo
o [SPARC32/64]: Expand ioctl size field in backwards-compatible way

Richard Henderson <[email protected]>:
o [ALPHA] Fix Jensen -Werror failures

Roger Luethi <[email protected]>:
o via-rhine: reset logic
o via-rhine: fix races
o via-rhine: fixing the reset fix
o via-rhine: 1.17 release

Russell King <[email protected]>:
o PCI: Make hot unplugging of PCI buses work
o Fix cardbus build problem
o [SERIAL] 64bit warning in serial/core.c
o [ARM PATCH] 1406/1: Enable mtd partitions via mtdparts in dc21285
map driver
o [ARM PATCH] 1426/1: Remove rambase from head.S
o [ARM PATCH] 1389/1: update iop3xx support for 2.5 (patch 2 of 4)
o [ARM PATCH] 1404/1: basic Lubbock/PXA250 updates
o [ARM] SA11x0 PCMCIA 1-8

Rusty Russell <[email protected]>:
o Modules race fix
o Modules code tidy up
o [NETFILTER]: Switch over to new-style module refcounting, help from
Christoph Hellwig

Sam Ravnborg <[email protected]>:
o kbuild: Small updates in top-level makefile
o kbuild: do not run split-include for all compilations
o kbuild: Top-level Makefile, trivial tidy up

Sam Ravnborg <[email protected]>:
o fix make rpm

Sridhar Samudrala <[email protected]>:
o [SCTP] sctp mib statistics update/display support
o [SCTP] Update retransmission path in a round-robin fashion when a
retransmission timer expires instead of using the same path until
the path error count reaches its threshold value.

Steven Cole <[email protected]>:
o Spelling fixes handel -> handle
o 2.5.63 loose pedantry; loose -> lose where appropriate
o Spelling fixes for relevent -> relevant
o Spelling fixes for negotation -> negotiation and others
o Spelling fixes for shold -> should and others
o Spelling fixes for paticular -> particular and others
o replace it's with its where appropriate
o replace its with it's where appropriate
o fix Coverted -> Converted
o Spelling fixes from spell-fix.pl



2003-03-05 14:25:39

by Christoph Hellwig

[permalink] [raw]
Subject: Re: Linux 2.5.64

> o [WATCHDOG] Remove old unneeded borken module locking

You just removed the nowayout functionality..

2003-03-05 17:08:59

by Dave Jones

[permalink] [raw]
Subject: Re: Linux 2.5.64

On Wed, Mar 05, 2003 at 02:36:09PM +0000, Christoph Hellwig wrote:
> > o [WATCHDOG] Remove old unneeded borken module locking
>
> You just removed the nowayout functionality..

Only the bits that did the module locking crap, which
is unnecessary afaics. If you look at the files touched,
there's still nowayout used in the other functions.

Dave

--
| Dave Jones. http://www.codemonkey.org.uk
| SuSE Labs

2003-03-05 19:42:51

by Adrian Bunk

[permalink] [raw]
Subject: 2.5.64: cpufreq "userspace" governor doesn't compile

On Tue, Mar 04, 2003 at 07:48:33PM -0800, Linus Torvalds wrote:
>...
> Summary of changes from v2.5.63 to v2.5.64
> ============================================
>...
> Dominik Brodowski <[email protected]>:
>...
> o cpufreq (3/5): "userspace" governor
>...

<-- snip -->

...
gcc -Wp,-MD,drivers/cpufreq/.userspace.o.d -D__KERNEL__ -Iinclude
-Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing
-fno-common -pipe -mpreferred-stack-boundary=2 -march=k6
-Iinclude/asm-i386/mach-default -nostdinc -iwithprefix include
-DKBUILD_BASENAME=userspace -DKBUILD_MODNAME=userspace -c -o
drivers/cpufreq/userspace.o drivers/cpufreq/userspace.c
drivers/cpufreq/userspace.c: In function `cpufreq_governor_userspace':
drivers/cpufreq/userspace.c:514: structure has no member named `intf'
drivers/cpufreq/userspace.c:523: structure has no member named `intf'
make[2]: *** [drivers/cpufreq/userspace.o] Error 1

<-- snip -->

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

2003-03-05 22:02:40

by Adrian Bunk

[permalink] [raw]
Subject: [2.5 patch] remove EXPORT_NO_SYMBOLS from amd7xx_tco

On Tue, Mar 04, 2003 at 07:48:33PM -0800, Linus Torvalds wrote:
>...
> Summary of changes from v2.5.63 to v2.5.64
> ============================================
>...
> Dave Jones <[email protected]>:
>...
> o [WATCHDOG] Merge AMD 766/768 TCO Timer/Watchdog driver from 2.4
>...


amd7xx_tco.c contains the obsolete EXPORT_NO_SYMBOLS. The following
patch corrects this bug:


--- linux-2.5.64-notfull/drivers/char/watchdog/amd7xx_tco.c.old 2003-03-05 23:07:47.000000000 +0100
+++ linux-2.5.64-notfull/drivers/char/watchdog/amd7xx_tco.c 2003-03-05 23:08:19.000000000 +0100
@@ -369,5 +369,4 @@
MODULE_AUTHOR("Zwane Mwaikambo <[email protected]>");
MODULE_DESCRIPTION("AMD 766/768 TCO Timer Driver");
MODULE_LICENSE("GPL");
-EXPORT_NO_SYMBOLS;



cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

2003-03-05 22:49:37

by Dave Jones

[permalink] [raw]
Subject: Re: [2.5 patch] remove EXPORT_NO_SYMBOLS from amd7xx_tco

On Wed, Mar 05, 2003 at 11:13:02PM +0100, Adrian Bunk wrote:
> > Dave Jones <[email protected]>:
> > o [WATCHDOG] Merge AMD 766/768 TCO Timer/Watchdog driver from 2.4
> amd7xx_tco.c contains the obsolete EXPORT_NO_SYMBOLS. The following
> patch corrects this bug:

Ack, that fix was already in my bk tree at
bk://linux-dj.bkbits.net/watchdog I guess I forgot to
remind Linus to pull again after taking the first batch of changes.

Linus, pull again, and it should suck it in for next time.

Dave

2003-03-05 23:34:40

by John Cherry

[permalink] [raw]
Subject: Re: Linux 2.5.64

Compile statistics: 2.5.64

Warnings in an allmodconfig (modules build) went down by 70 and there
were 30 fewer errors in the build. Kernel build changes and bug fixes
get the credit for this positive movement.

2.5.63 2.5.64
-------------------- -----------------
bzImage (defconfig) 15 warnings 14 warnings
0 errors 0 errors

bzImage (allmodconfig) 29 warnings 30 warnings
9 errors 6 errors

modules (allmodconfig) 2426 warnings 2356 warnings
128 errors 99 errors

Compile statistics have been for kernel releases from 2.5.46 to 2.5.64
at: http://www.osdl.org/archive/cherry/stability



Other links:
Nightly linux-2.5 bk build:
http://www.osdl.org/archive/cherry/stability/linus-tree/running.txt
2.5 porting items:
http://www.osdl.org/archive/cherry/stability/linus-tree/port_items.txt
2.5 porting items history:
http://www.osdl.org/archive/cherry/stability/linus-tree/port_history.txt



A summary of the porting items from the 2.5.64 kernel compile is:

MCA legacy (move driver to new sysfs API): 27 places
Misc porting reminders: 20 reminders
Documentation conversions to Documnentation/DMA-mapping.txt: 7 files
Other #error conversions: 1 files
__check_region deprecations: 90 files

Module use count changes:
_MOD_INC_USE_COUNT deprecations: 291 files
_MOD_DEC_USE_COUNT deprecations: 252 files


John

2003-03-05 23:51:07

by Alan

[permalink] [raw]
Subject: Re: Linux 2.5.64

On Wed, 2003-03-05 at 17:19, Dave Jones wrote:
> On Wed, Mar 05, 2003 at 02:36:09PM +0000, Christoph Hellwig wrote:
> > > o [WATCHDOG] Remove old unneeded borken module locking
> >
> > You just removed the nowayout functionality..
>
> Only the bits that did the module locking crap, which
> is unnecessary afaics. If you look at the files touched,
> there's still nowayout used in the other functions.

You need to lock the module in memory in the nowayout case
Otherwise the module can be unloaded (which is ok), and then
reloaded (which is not).

So yes, you broke NOWAYOUT. Its a bit subtle and under
documented I admit.

2003-03-06 00:31:57

by Dave Jones

[permalink] [raw]
Subject: Re: Linux 2.5.64

On Thu, Mar 06, 2003 at 01:06:37AM +0000, Alan Cox wrote:

> > Only the bits that did the module locking crap, which
> > is unnecessary afaics. If you look at the files touched,
> > there's still nowayout used in the other functions.
>
> You need to lock the module in memory in the nowayout case
> Otherwise the module can be unloaded (which is ok), and then
> reloaded (which is not).
>
> So yes, you broke NOWAYOUT. Its a bit subtle and under
> documented I admit.

Bugger. Ok, I'll add that to the TODO.

Dave

--
| Dave Jones. http://www.codemonkey.org.uk
| SuSE Labs

2003-03-06 10:29:21

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: Linux 2.5.64

On Tue, 4 Mar 2003, Linus Torvalds wrote:
> Christoph Hellwig <[email protected]>:
> o wd33c93 updates

> Dave Jones <[email protected]>:
> o wd33c93 sync up with 2.4

These were not compatible. The patch below (untested) fixes the breakage for
sgiwd93:

--- linux-2.5.64/drivers/scsi/wd33c93.c.orig Wed Mar 5 10:07:20 2003
+++ linux-2.5.64/drivers/scsi/wd33c93.c Wed Mar 5 11:56:14 2003
@@ -1471,7 +1471,7 @@
int busycount = 0;
extern void sgiwd93_reset(unsigned long);
/* wait 'til the chip gets some time for us */
- while ((READ_AUX_STAT() & ASR_BSY) && busycount++ < 100)
+ while ((read_aux_stat(regs) & ASR_BSY) && busycount++ < 100)
udelay (10);
/*
* there are scsi devices out there, which manage to lock up
@@ -1481,7 +1481,7 @@
* does this for the SGI Indy, where this is possible
*/
/* still busy ? */
- if (READ_AUX_STAT() & ASR_BSY)
+ if (read_aux_stat(regs) & ASR_BSY)
sgiwd93_reset(instance->base); /* yeah, give it the hard one */
}
#endif

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

2003-03-06 17:17:48

by Russell King

[permalink] [raw]
Subject: Re: 2.5.64: cpufreq "userspace" governor doesn't compile

On Wed, Mar 05, 2003 at 08:53:12PM +0100, Adrian Bunk wrote:
> gcc -Wp,-MD,drivers/cpufreq/.userspace.o.d -D__KERNEL__ -Iinclude
> -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing
> -fno-common -pipe -mpreferred-stack-boundary=2 -march=k6
> -Iinclude/asm-i386/mach-default -nostdinc -iwithprefix include
> -DKBUILD_BASENAME=userspace -DKBUILD_MODNAME=userspace -c -o
> drivers/cpufreq/userspace.o drivers/cpufreq/userspace.c
> drivers/cpufreq/userspace.c: In function `cpufreq_governor_userspace':
> drivers/cpufreq/userspace.c:514: structure has no member named `intf'
> drivers/cpufreq/userspace.c:523: structure has no member named `intf'
> make[2]: *** [drivers/cpufreq/userspace.o] Error 1

Dominik sent this patch to the cpufreq list to fix this. I'm not
sure if it fixes this exact problem, but from reading the patch I
think its worth a try. (its currently building here.)

--- Dominik's message follows ---

Forgot to cc the cpufreq list...: I just sent this patch to Linus:

- update the userspace governor sysfs interface to get along with the
new "device interface" model

drivers/cpufreq/userspace.c | 29 ++++++++++++-----------------
include/linux/cpufreq.h | 10 +++++++++-
kernel/cpufreq.c | 6 ------
3 files changed, 21 insertions(+), 24 deletions(-)

Please apply,
Dominik

diff -ruN linux-original/drivers/cpufreq/userspace.c linux/drivers/cpufreq/userspace.c
--- linux-original/drivers/cpufreq/userspace.c 2003-03-04 22:27:01.000000000 +0100
+++ linux/drivers/cpufreq/userspace.c 2003-03-04 22:45:43.000000000 +0100
@@ -23,6 +23,7 @@
#include <linux/sysctl.h>
#include <linux/types.h>
#include <linux/fs.h>
+#include <linux/sysfs.h>

#include <asm/uaccess.h>

@@ -465,23 +466,14 @@


/************************** sysfs interface ************************/
-static inline int to_cpu_nr (struct device *dev)
+static ssize_t show_speed (struct cpufreq_policy *policy, char *buf)
{
- struct sys_device * cpu_sys_dev = container_of(dev, struct sys_device, dev);
- return (cpu_sys_dev->id);
-}
-
-static ssize_t show_speed (struct device *dev, char *buf)
-{
- unsigned int cpu = to_cpu_nr(dev);
-
- return sprintf (buf, "%u\n", cpu_cur_freq[cpu]);
+ return sprintf (buf, "%u\n", cpu_cur_freq[policy->cpu]);
}

static ssize_t
-store_speed (struct device *dev, const char *buf, size_t count)
+store_speed (struct cpufreq_policy *policy, const char *buf, size_t count)
{
- unsigned int cpu = to_cpu_nr(dev);
unsigned int freq = 0;
unsigned int ret;

@@ -489,13 +481,16 @@
if (ret != 1)
return -EINVAL;

- cpufreq_set(freq, cpu);
+ cpufreq_set(freq, policy->cpu);

return count;
}

-static DEVICE_ATTR(scaling_setspeed, (S_IRUGO | S_IWUSR), show_speed, store_speed);
-
+static struct freq_attr freq_attr_scaling_setspeed = {
+ .attr = { .name = "scaling_setspeed", .mode = 0644 },
+ .show = show_speed,
+ .store = store_speed,
+};

static int cpufreq_governor_userspace(struct cpufreq_policy *policy,
unsigned int event)
@@ -511,7 +506,7 @@
cpu_min_freq[cpu] = policy->min;
cpu_max_freq[cpu] = policy->max;
cpu_cur_freq[cpu] = policy->cur;
- device_create_file (policy->intf.dev, &dev_attr_scaling_setspeed);
+ sysfs_create_file (&policy->kobj, &freq_attr_scaling_setspeed.attr);
memcpy (&current_policy[cpu], policy, sizeof(struct cpufreq_policy));
up(&userspace_sem);
break;
@@ -520,7 +515,7 @@
cpu_is_managed[cpu] = 0;
cpu_min_freq[cpu] = 0;
cpu_max_freq[cpu] = 0;
- device_remove_file (policy->intf.dev, &dev_attr_scaling_setspeed);
+ sysfs_remove_file (&policy->kobj, &freq_attr_scaling_setspeed.attr);
up(&userspace_sem);
module_put(THIS_MODULE);
break;
diff -ruN linux-original/include/linux/cpufreq.h linux/include/linux/cpufreq.h
--- linux-original/include/linux/cpufreq.h 2003-03-04 22:27:20.000000000 +0100
+++ linux/include/linux/cpufreq.h 2003-03-04 22:46:14.000000000 +0100
@@ -18,7 +18,8 @@
#include <linux/notifier.h>
#include <linux/threads.h>
#include <linux/device.h>
-
+#include <linux/kobject.h>
+#include <linux/sysfs.h>

#define CPUFREQ_NAME_LEN 16

@@ -194,6 +195,13 @@
return;
}

+struct freq_attr {
+ struct attribute attr;
+ ssize_t (*show)(struct cpufreq_policy *, char *);
+ ssize_t (*store)(struct cpufreq_policy *, const char *, size_t count);
+};
+
+
/*********************************************************************
* CPUFREQ 2.6. INTERFACE *
*********************************************************************/
diff -ruN linux-original/kernel/cpufreq.c linux/kernel/cpufreq.c
--- linux-original/kernel/cpufreq.c 2003-03-04 22:54:45.000000000 +0100
+++ linux/kernel/cpufreq.c 2003-03-04 22:40:40.000000000 +0100
@@ -256,12 +256,6 @@
}


-struct freq_attr {
- struct attribute attr;
- ssize_t (*show)(struct cpufreq_policy *, char *);
- ssize_t (*store)(struct cpufreq_policy *, const char *, size_t count);
-};
-
#define define_one_ro(_name) \
struct freq_attr _name = { \
.attr = { .name = __stringify(_name), .mode = 0444 }, \

--
Russell King ([email protected]) The developer of ARM Linux
http://www.arm.linux.org.uk/personal/aboutme.html

2003-03-06 17:30:43

by Patrick Mochel

[permalink] [raw]
Subject: Re: 2.5.64: cpufreq "userspace" governor doesn't compile


On Thu, 6 Mar 2003, Russell King wrote:

> On Wed, Mar 05, 2003 at 08:53:12PM +0100, Adrian Bunk wrote:
> > gcc -Wp,-MD,drivers/cpufreq/.userspace.o.d -D__KERNEL__ -Iinclude
> > -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing
> > -fno-common -pipe -mpreferred-stack-boundary=2 -march=k6
> > -Iinclude/asm-i386/mach-default -nostdinc -iwithprefix include
> > -DKBUILD_BASENAME=userspace -DKBUILD_MODNAME=userspace -c -o
> > drivers/cpufreq/userspace.o drivers/cpufreq/userspace.c
> > drivers/cpufreq/userspace.c: In function `cpufreq_governor_userspace':
> > drivers/cpufreq/userspace.c:514: structure has no member named `intf'
> > drivers/cpufreq/userspace.c:523: structure has no member named `intf'
> > make[2]: *** [drivers/cpufreq/userspace.o] Error 1
>
> Dominik sent this patch to the cpufreq list to fix this. I'm not
> sure if it fixes this exact problem, but from reading the patch I
> think its worth a try. (its currently building here.)
>
> --- Dominik's message follows ---
>
> Forgot to cc the cpufreq list...: I just sent this patch to Linus:
>
> - update the userspace governor sysfs interface to get along with the
> new "device interface" model
>
> drivers/cpufreq/userspace.c | 29 ++++++++++++-----------------
> include/linux/cpufreq.h | 10 +++++++++-
> kernel/cpufreq.c | 6 ------
> 3 files changed, 21 insertions(+), 24 deletions(-)

I sent a patch to Linus last night that fixed the compile error, since I
broke it, but wasn't as complete a fix as this.

Dominik, the patch below is the patch just sent, relative to the current
BK tree. Sorry about this..

-pat

===== drivers/cpufreq/userspace.c 1.2 vs edited =====
--- 1.2/drivers/cpufreq/userspace.c Wed Mar 5 17:44:20 2003
+++ edited/drivers/cpufreq/userspace.c Thu Mar 6 11:11:49 2003
@@ -23,6 +23,7 @@
#include <linux/sysctl.h>
#include <linux/types.h>
#include <linux/fs.h>
+#include <linux/sysfs.h>

#include <asm/uaccess.h>

@@ -465,23 +466,14 @@


/************************** sysfs interface ************************/
-static inline int to_cpu_nr (struct device *dev)
+static ssize_t show_speed (struct cpufreq_policy *policy, char *buf)
{
- struct sys_device * cpu_sys_dev = container_of(dev, struct sys_device, dev);
- return (cpu_sys_dev->id);
-}
-
-static ssize_t show_speed (struct device *dev, char *buf)
-{
- unsigned int cpu = to_cpu_nr(dev);
-
- return sprintf (buf, "%u\n", cpu_cur_freq[cpu]);
+ return sprintf (buf, "%u\n", cpu_cur_freq[policy->cpu]);
}

static ssize_t
-store_speed (struct device *dev, const char *buf, size_t count)
+store_speed (struct cpufreq_policy *policy, const char *buf, size_t count)
{
- unsigned int cpu = to_cpu_nr(dev);
unsigned int freq = 0;
unsigned int ret;

@@ -489,13 +481,16 @@
if (ret != 1)
return -EINVAL;

- cpufreq_set(freq, cpu);
+ cpufreq_set(freq, policy->cpu);

return count;
}

-static DEVICE_ATTR(scaling_setspeed, (S_IRUGO | S_IWUSR), show_speed, store_speed);
-
+static struct freq_attr freq_attr_scaling_setspeed = {
+ .attr = { .name = "scaling_setspeed", .mode = 0644 },
+ .show = show_speed,
+ .store = store_speed,
+};

static int cpufreq_governor_userspace(struct cpufreq_policy *policy,
unsigned int event)
@@ -511,7 +506,7 @@
cpu_min_freq[cpu] = policy->min;
cpu_max_freq[cpu] = policy->max;
cpu_cur_freq[cpu] = policy->cur;
- device_create_file (policy->dev, &dev_attr_scaling_setspeed);
+ sysfs_create_file (&policy->kobj, &freq_attr_scaling_setspeed.attr);
memcpy (&current_policy[cpu], policy, sizeof(struct cpufreq_policy));
up(&userspace_sem);
break;
@@ -520,7 +515,7 @@
cpu_is_managed[cpu] = 0;
cpu_min_freq[cpu] = 0;
cpu_max_freq[cpu] = 0;
- device_remove_file (policy->dev, &dev_attr_scaling_setspeed);
+ sysfs_remove_file (&policy->kobj, &freq_attr_scaling_setspeed.attr);
up(&userspace_sem);
module_put(THIS_MODULE);
break;
===== include/linux/cpufreq.h 1.18 vs edited =====
--- 1.18/include/linux/cpufreq.h Mon Mar 3 16:38:51 2003
+++ edited/include/linux/cpufreq.h Thu Mar 6 11:09:36 2003
@@ -18,7 +18,8 @@
#include <linux/notifier.h>
#include <linux/threads.h>
#include <linux/device.h>
-
+#include <linux/kobject.h>
+#include <linux/sysfs.h>

#define CPUFREQ_NAME_LEN 16

@@ -193,6 +194,13 @@
policy->min = policy->max;
return;
}
+
+struct freq_attr {
+ struct attribute attr;
+ ssize_t (*show)(struct cpufreq_policy *, char *);
+ ssize_t (*store)(struct cpufreq_policy *, const char *, size_t count);
+};
+

/*********************************************************************
* CPUFREQ 2.6. INTERFACE *
===== kernel/cpufreq.c 1.21 vs edited =====
--- 1.21/kernel/cpufreq.c Mon Mar 3 16:38:51 2003
+++ edited/kernel/cpufreq.c Thu Mar 6 11:09:36 2003
@@ -206,12 +206,6 @@
}


-struct freq_attr {
- struct attribute attr;
- ssize_t (*show)(struct cpufreq_policy *, char *);
- ssize_t (*store)(struct cpufreq_policy *, const char *, size_t count);
-};
-
#define define_one_ro(_name) \
struct freq_attr _name = { \
.attr = { .name = __stringify(_name), .mode = 0444 }, \

2003-03-06 23:27:22

by Dominik Brodowski

[permalink] [raw]
Subject: [PATCH] cpufreq (2/7): fix userspace governor [Was: Re: 2.5.64: cpufreq "userspace" governor doesn't compile]

Let's put the sysfs file exported by the cpufreq userspace governor also
into the cpufreq/ - subdirectory of /sys/devices/sys/cpu0/.

drivers/cpufreq/userspace.c | 29 ++++++++++++-----------------
include/linux/cpufreq.h | 10 +++++++++-
kernel/cpufreq.c | 6 ------
3 files changed, 21 insertions(+), 24 deletions(-)


Dominik

diff -u linux-original/drivers/cpufreq/userspace.c linux/drivers/cpufreq/userspace.c
--- linux-original/drivers/cpufreq/userspace.c 2003-03-06 20:38:35.000000000 +0100
+++ linux/drivers/cpufreq/userspace.c 2003-03-06 21:12:33.000000000 +0100
@@ -23,6 +23,7 @@
#include <linux/sysctl.h>
#include <linux/types.h>
#include <linux/fs.h>
+#include <linux/sysfs.h>

#include <asm/uaccess.h>

@@ -465,23 +466,14 @@


/************************** sysfs interface ************************/
-static inline int to_cpu_nr (struct device *dev)
+static ssize_t show_speed (struct cpufreq_policy *policy, char *buf)
{
- struct sys_device * cpu_sys_dev = container_of(dev, struct sys_device, dev);
- return (cpu_sys_dev->id);
-}
-
-static ssize_t show_speed (struct device *dev, char *buf)
-{
- unsigned int cpu = to_cpu_nr(dev);
-
- return sprintf (buf, "%u\n", cpu_cur_freq[cpu]);
+ return sprintf (buf, "%u\n", cpu_cur_freq[policy->cpu]);
}

static ssize_t
-store_speed (struct device *dev, const char *buf, size_t count)
+store_speed (struct cpufreq_policy *policy, const char *buf, size_t count)
{
- unsigned int cpu = to_cpu_nr(dev);
unsigned int freq = 0;
unsigned int ret;

@@ -489,13 +481,16 @@
if (ret != 1)
return -EINVAL;

- cpufreq_set(freq, cpu);
+ cpufreq_set(freq, policy->cpu);

return count;
}

-static DEVICE_ATTR(scaling_setspeed, (S_IRUGO | S_IWUSR), show_speed, store_speed);
-
+static struct freq_attr freq_attr_scaling_setspeed = {
+ .attr = { .name = "scaling_setspeed", .mode = 0644 },
+ .show = show_speed,
+ .store = store_speed,
+};

static int cpufreq_governor_userspace(struct cpufreq_policy *policy,
unsigned int event)
@@ -511,7 +506,7 @@
cpu_min_freq[cpu] = policy->min;
cpu_max_freq[cpu] = policy->max;
cpu_cur_freq[cpu] = policy->cur;
- device_create_file (policy->dev, &dev_attr_scaling_setspeed);
+ sysfs_create_file (&policy->kobj, &freq_attr_scaling_setspeed.attr);
memcpy (&current_policy[cpu], policy, sizeof(struct cpufreq_policy));
up(&userspace_sem);
break;
@@ -520,7 +515,7 @@
cpu_is_managed[cpu] = 0;
cpu_min_freq[cpu] = 0;
cpu_max_freq[cpu] = 0;
- device_remove_file (policy->dev, &dev_attr_scaling_setspeed);
+ sysfs_remove_file (&policy->kobj, &freq_attr_scaling_setspeed.attr);
up(&userspace_sem);
module_put(THIS_MODULE);
break;
diff -u linux-original/include/linux/cpufreq.h linux/include/linux/cpufreq.h
--- linux-original/include/linux/cpufreq.h 2003-03-06 19:13:52.000000000 +0100
+++ linux/include/linux/cpufreq.h 2003-03-06 21:08:24.000000000 +0100
@@ -18,7 +18,8 @@
#include <linux/notifier.h>
#include <linux/threads.h>
#include <linux/device.h>
-
+#include <linux/kobject.h>
+#include <linux/sysfs.h>

#define CPUFREQ_NAME_LEN 16

@@ -194,6 +195,13 @@
return;
}

+struct freq_attr {
+ struct attribute attr;
+ ssize_t (*show)(struct cpufreq_policy *, char *);
+ ssize_t (*store)(struct cpufreq_policy *, const char *, size_t count);
+};
+
+
/*********************************************************************
* CPUFREQ 2.6. INTERFACE *
*********************************************************************/
diff -u linux-original/kernel/cpufreq.c linux/kernel/cpufreq.c
--- linux-original/kernel/cpufreq.c 2003-03-06 21:14:44.000000000 +0100
+++ linux/kernel/cpufreq.c 2003-03-06 21:08:24.000000000 +0100
@@ -256,12 +256,6 @@
}


-struct freq_attr {
- struct attribute attr;
- ssize_t (*show)(struct cpufreq_policy *, char *);
- ssize_t (*store)(struct cpufreq_policy *, const char *, size_t count);
-};
-
#define define_one_ro(_name) \
struct freq_attr _name = { \
.attr = { .name = __stringify(_name), .mode = 0444 }, \