Skip to contentSkip to conversation

Linux 2.6.0-test5

PATCH In review Linus Torvalds 16 participants 52 messages Sep 8, 2003 – Sep 16, 2003 2 messages not in the archive

Subsystems (5)
lore
Share & tools
lore
#0 lore raw

Lots of small stuff, as usual. I think the biggest "core" change is the Futex changes by Jamie and Hugh, and the dev_t preparations by Al Viro.

But there are ARM and ppc updates here too, and a few drivers have bigger fixes (tg3 driver and the USB gadget interface stand out on diffstat). Watchdog driver updates etc. And Russell King fixed more PCMCIA issues.

Linus

---

Summary of changes from v2.6.0-test4 to v2.6.0-test5
============================================

Adrian Bunk:
o [netdrvr sis190] fix build with older gcc
o [NET]: Fix bpqether build with procfs disabled
o Mark more drivers BROKEN{,ON_SMP}
o [wireless airo] fix build with gcc 2.95
o COSA is no longer BROKEN

Alan Stern:
o USB: root hub polling stops after suspend
o USB: Another unusual_devs.h entry update
o USB: storage: Revised update to isd200 I/O buffer patch

Alex Williamson:
o ia64: no discontig w/o NUMA

Alexander Viro:
o dev_t handling cleanups (1-12)
o large dev_t - second series (1-15)

Andi Kleen:
o IOMMU overflow handling fix for MPT fusion
o Make ACPI_SLEEP select SOFTWARE_SUSPEND
o Do 32bit addresses in /proc/self/maps if possible
o x86-64 update
o x86-64 update

Andrew Morton:
o .config checks updated
o random: SMP locking
o random: accounting and sleeping fixes
o disable prefetch on athlons
o fix /proc/pid/fd ownership across setuid()
o Call security hook from pid*_revalidate
o move DAC960 GAM IOCTLs into a new device
o Add the kernel janitors to MAINTAINERS
o Update ide.txt documentation to current ide.c
o v4l use-after-free fix
o ikconfig - Makefile update
o Fix ftape warning
o jffs aops return type fix
o Add 3GB personality
o zeromap_pmd_range bugfix
o don't report async write errors on close() after all
o remove add_wait_queue_cond()
o spin_lock_irqrestore() typo fixes
o zoran: memleak fixes
o zoran: debug->zr_debug
o zoran: add release callback
o zoran: add pci_disable_device() call
o zoran: cleanups
o zoran: more cleanups
o zoran: correct name field breakage
o airo CONFIG_PCI=n build fix
o drivers/char/pcxx.c warning fix
o pcnet32 needs unregister_pci
o c99 struct initialiser conversions
o Fix 'pci=noacpi' with buggy ACPI BIOSes
o /proc/kallsym caching fix
o Fix permissions on /proc/kallsyms
o Kobject doc addition
o vm_enough_memory microoptimisation
o abi doc update
o ni5010.c: remove cli/sti
o do_no_page() fix
o parport_pc rmmod oops fix
o reiserfs writepage-versus-truncate fix
o visws: fix 2.6.0-test4 breakage
o Fix ext3 htree corruption on big-endian platforms
o Fix selinux_file_fcntl
o Fix SELinux avtab
o Fix SELinux format specifiers
o Rework SELinux binprm hooks
o Fix typo in #ifdef for ext2 xattr support
o Add more bad_inode operations
o Fix build with CONFIG_KCORE_AOUT
o kill CONFIG_KCORE_AOUT
o knfsd nfs4 warning fixes
o Fix bluetooth compile warnings
o do_no_page() rss accounting fix
o jbd: remove uninformative printk
o acpi pci_link fix
o add context switch counters
o remove size_t-based printk warnings
o large dev_t 12/12 oops fix
o evdev_ioctl does not report EV_MSC capabilities
o AS: don't anticipate against a task's initial I/O
o hch has moved
o Cyclades ISA serial driver fix
o kbuild: warn if the user has old modutils
o fix arcnet printk parameter types
o floppy driver cleanup
o Use tgid rather than pid in dnotify
o Fix a few declarations
o make voyager work again after the cpumask_t changes
o mtrr cleanups
o compat ioctl_table fix
o raw driver oops fix
o ipc_init() uses vmalloc too early
o vmscan: zone pressure calculation fix
o vmscan: zone pressure simplification and fix
o Remove SSE2 bugs.h check
o HPET 1/6: Support for HPET based timer
o HPET 3/6: makefile and config changes
o HPET 4/6: Core
o HPET 5/6: timer services
o HPET 6/6: rtc emulation
o HPET 2/6: boot parsing
o fix advansys.c if !CONFIG_PROC_FS
o handle setup_swap_extents() error in swapon
o scsi_unregister() oops fix
o tty oops fix
o ext3_setxattr() oops fix
o Add documentation for /proc/stat
o [NET]: Fix 64-bit warnings in af_netlink.c
o misc fixes
o Fix odd code in bio_add_page
o convert /proc/stat to seq_file
o Fix rtc symbol clash and HPET config problems
o add config option for qla1280 SCSI MMIO/ioport
o elevator insertion fixes
o 8250_acpi taints kernel
o proc_misc.c needs irq.h
o more slab page checking
o might_sleep() improvements
o MODULE_ALIAS() in block devices
o MODULE_ALIAS() in char devices
o Remove percpufication of in_flight counter in
o Enable SELinux via boot parameter
o devfs pty fix
o i8042 free_irq() aliasing fix
o Remove Documentation/kmod.txt
o drivers/scsi/imm.c build fix
o hermes.h fails with outw_p() in :?
o cciss error handling cleanup
o MODULE_ALIAS for tty ldisc
o fix /proc/stat handler for ARM, SPARC64, others
o Fix /proc/stat off-by-one

Andries E. Brouwer:
o more keyboard stuff

Andy Molloy:
o USB: Aten 4 Port USB 2.0 KVM C (ACS-1724)

Anton Blanchard:
o sym2 hotplug fix

Arjan van de Ven:
o incomplete asm constraints in arch/i386/pci/pcbios.c

Arnaldo Carvalho de Melo:
o cyc2x: sanitize ioremap usage & more
o scsi: remove include procfs_h from hosts.h
o scsi cleanups

Arnd Bergmann:
o Verify proper usage of ioctl macros

Arun Sharma:
o ia64: fix ia32 execve memory leak

Bart De Schuymer:
o [BRIDGE]: Add arpreply EBTABLES target
o [BRIDGING]: Update Kconfig files for bridging firewall
o [BRIDGE]: Add 802.3 filtering support
o [BRIDGE]: Create CONFIG_BRIDGE_NETFILTER and use it instead of messy tests
o [NETFILTER]: Use CONFIG_BRIDGE_NETFILTER in ipt_REJECT.c

Bartlomiej Zolnierkiewicz:
o cable detection fixes for HPT37x controllers
o fix PowerMac driver breakage caused by recent dynamic queue change
o fix ide.c warning when compiling IDE for non-PCI systems
o fix ide-lib.c warning when compiling IDE without DMA support
o allow drivers (ie. mediabay) to set hwif->gendev.parent
o kill ide_modes.h
o do not set drive->dn twice in probe_hwif()
o kill ide_init_drive() in ide-probe.c
o remove unused exports from ide-probe.c
o remove unused ide_chipsets and IDE_CHIPSET_MODULE
o kill ide_module_t
o kill ide_register()
o ide: fix ide_unregister() vs. driver model
o ide: forward-port siimage driver changes from 2.4.22
o ide: allow LBA48 on Promise 20265
o ide: add very basic support for VIA 8237 SATA controller
o ide: enable LED support for PowerMac
o ide: fix PM with ide-default driver
o ide: remove supports_dma field from ide_driver_t
o ide: fix ide_cs oops with TCQ
o ide: fix imbalance preempt count with taskfile PIO

Ben Collins:
o Update IEEE1394 (r1047)
o Fix compile for raw1394

Benjamin Herrenschmidt:
o cputable.c
o Add new OF tree walking APIs
o Update OF platform & macio driver cores to adapt to device model changes. Fix refcounting
o Update openpic to expose a sys_dev for power management, make it more robust vs. concurrent calls by the PM system and cpufreq
o Update pmac PIC driver to register a sysdev for Power Management
o Major update via-pmu driver, hopefully last before we split it & do major cleanup
o Update PowerMac IDE driver. Adapt to new driver model, add proper support for Kauai ATA/100 and add activity led code.
o Adapt PowerMac i2c-keywest driver to new driver model
o Fix PowerMac ALSA build with device model "name" field change
o Update PowerMac mediabay driver to new model, fix an old bug that could prevent one of the timeouts from working, fix access to MMIO based interface
o Adapt PowerMac "airport" driver to new driver model
o Fix build of controlfb driver
o Adapt PowerMac "platinum" video driver to new driver model
o fixup xmon ADB polling so that it works before ADB core is loaded
o Add back missing fb_set_var to PowerMac platinum driver
o Update PowerMac cpufreq driver to adapt it to some core changes and fix a race with the PMU driver
o For keeping interface ordering consistent between previous kernels and the new driver model probing mecanism, drivers/macintosh has to be linked before ide and scsi
o Don't care about driver registration results for i2c-keywest so failing one don't break the other
o Fix drivers/video Makefile so control & platinum drivers gets proper depedencies on the cfb* files
o Add new pmac_zilog serial driver, obsolete old macserial
o Update "coff" zImage wrapper so it works with larger kernel images
o Fix missing bit in the new .coff wrapper
o some whitespace & tab fixes
o Fix a bug where an ide-pmac hwif returned to the system because it's empty would still be probed thus causing a crash on some machines. Also fix some whitespace/tabs.
o Add & export some routines to access the i2c busses that hang off the PMU, not yet linked to the linux i2c subsystem though. Fix some whitespace/tabs too.
o C99 initializer fixes
o Remove useless junk at beginning of MachineCheck exception handler, this actually is causing problems on some CPUs
o PowerMac: Fix build of via-pmu driver with some .config's

CaT:
o USB: C99: 2.6.0-t3-bk7/Documentation

Chas Williams:
o [ATM]: Clean up the code making use of sti/cli (from [email protected])
o [ATM]: In ambassador driver, use del_timer_sync instead
o [ATM]: In atm_getaddr() do not copy_to_user() with locks held
o [ATM]: Convert the /proc/net/atm/br2684 to seq_file interface (from [email protected])
o [ATM]: pvc/svc missing .owner for proto_ops/family (from [email protected])
o [ATM]: fix atm_dev module refcount bug (from [email protected])
o [ATM]: reduce CONFIG_PROC_FS #ifdef clutter in .c code (from [email protected])

Christoph Hellwig:
o make scsi_priv.h includable standalone
o make scsi logging level a sysctl
o make /proc/scsi/scsi/ support optional
o don't export proc_scsi
o add a missing extern to scsi_priv.h
o serialize bus scanning
o fixup some tagged queuing mess
o give scsi_allocate_request a gfp_mask
o kill an unused variable in sym2
o kill some dead code in sym2
o check whether a disk got writeable in sd_open
o [IPV6]: Use per-cpu data for icmp sockets
o [NET]: Convert netdev_rx_stat to per-cpu data
o [NET]: Remove reference to CONFIG_IA64_SGI_SN1, it is gone
o fix the scsi_logging_level fix

Daniel Ritz:
o [PCMCIA] Add ToPIC97 and ToPIC100 support

Daniele Bellucci:
o USB: Audit usb_register/usb_serial_register under divers/usb/serial
o USB: CREDITS file update
o Audit and minor cleanups in drivers/usb/*
o ...more usb audit
o Another bad usb_register audit: dvb-ttusb-budget
o Another bad audit in drivers/usb/*: usblp
o Another bad audit in drivers/usb/*: cdc-acm
o Another bad audit in drivers/usb/*: usbskeleton
o Audit and minor cleanups in usbnet
o Audit and minor cleanups in usbstorage

Dave Jones:
o [AGPGART] Fix up ATI's identity crisis
o [DRM] Update MAINTAINERS
o [AGPGART] Update VIA PCI IDs
o [AGPGART] Numerous AMD64 gart driver cleanups
o [AGPGART] Fix indentation
o [AGPGART] Use generic AGP_APBASE define instead of per vendor _APBASE
o [AGPGART] move NVIDIA registers to agp.h
o [AGPGART] Indentation fixes
o [AGPGART] Fix missed AGP_APBASE conversion in VIA AGP driver
o [AGPGART] Remove unneeded 8151 defines
o [AGPGART] Make AMD64 GART driver marchitecture compliant
o [AGPGART] Various renames for AMD64 GART driver
o [CPUFREQ] Move kernel/cpufreq.c to drivers/cpufreq/cpufreq.c Also remove $Id$ tag.
o [CPUFREQ] fix up two typos
o [CPUFREQ] Move drivers/cpufreq/userspace.c to drivers/cpufreq/cpufreq_userspace.c Module names of 'userspace' aren't very informative.
o [CPUFREQ] Fix various oddities in the userspace governer
o [CPUFREQ] Completely separate governors from policies
o [CPUFREQ] Add the "performance" and "powersave" governors as modules
o [CPUFREQ][PPC] Small fixes necessary to separate the governors from policies
o [CPUFREQ][SH] Small fixes necessary to separate the governors from policies
o [CPUFREQ][SPARC64] Small fixes necessary to separate the governors from policies
o [CPUFREQ][X86] Small fixes necessary to separate the governors from policies
o [CPUFREQ][ARM] allow for easier Kconfig usage on ARM, and more features for SA11x0 users
o [CPUFREQ] Fix incorrect entry in Kconfig
o [CPUFREQ] new cpufreq_driver->resume callback, needed (at least) for speedstep-smi
o [CPUFREQ] fix speedstep-ich's .name to reflect its real name
o [CPUFREQ] Inform user about broken powernow-k7 PST tables
o [AGPGART] Fix up compile for i460-agp Missed conversion when killing off the APBASE defines.
o [CPUFREQ] Cache FSB in longhaul driver
o [CPUFREQ] Fix use of fsb before initialisation in longhaul
o [CPUFREQ] Fix longhaul's mult,fsb -> MHz conversions
o [CPUFREQ] Clean up clock_ratio calculation
o [CPUFREQ] Inform user of status of Ezra-T/Nehemiah longhaul support
o [CPUFREQ] Remove the voltage scaling from longhaul driver
o [CPUFREQ] Move longhaul scale/ratio tables to longhaul header file
o [CPUFREQ] Print out FSB in longhaul debug info
o [CPUFREQ] Print out CPU name in debug info
o [AGPGART] Remove unneeded string from AMD64 GART driver
o [AGPGART] Fix up missing brackets on defines

Dave Kleikamp:
o New version of jfsutils needed

David Brownell:
o USB: usb_sg_cancel() + disconnect, fewer messages
o USB: Add Kconfig option for building ax8817x support in usbnet
o USB: usb_new_device() shouldn't be exported
o USB: <linux/usb_gadget.h> minor doc updates
o USB: usbnet minor cleanup
o USB: net2280 fixes: ep halt, sysfs
o USB: usbnet, cdc ethernet descriptor parsing fixes
o USB: ohci -- reset, fault recovery
o USB: uhci-hcd, add uhci_reset()
o USB: net2280, patch dma chains
o USB: net2280 one-liner
o USB: usb hcd states
o USB: usb "gadgetfs" (1/2)
o USB: usb "gadgetfs" (2/2)
o USB: usb_epnum_to_ep_desc only look

David Jeffery:
o ips: remove arch limitations

David Mosberger:
o ia64: Manual merge with Alex's "UP cmc/cpe polling fix" patch
o ia64: Use offset_in_page() instead of equivalent open code
o ia64: Hook up fadvise64_64() system call
o ia64: The second chunk of the "UP cmc/cpe polling fix" seems to have gotten lost. Please apply the attached for the cpe side of the fix.
o ia64: Fix usage ("corrected" machine checks and platform errors, not "correctable").

David S. Miller:
o [TG3]: Initial implementation of 5705 support
o [TG3]: Fix statistics on 5705
o [TG3]: Do not reset the RX_MAC unless PHY is Serdes
o [TG3]: More missing PCI IDs
o [TG3]: Reset PHY more reliably on 570{3,4,5} chips
o [TG3]: Fix 5788/5901, update TSO code
o [TG3]: Differentiate between TSO capable and TSO enabled
o [ETHTOOL]: Add {G,S}TSO support to ethtool_ops
o [TG3]: Add {get,set}_tso ethtool_ops support
o [TG3]: Bump version/reldate
o [TG3]: Fix tg3_phy_reset_5703_4_5 chip rev test
o [TG3]: Bump version/reldate
o [ETHTOOL]: Add ethtool_op_{set,get}_tso helpers
o [TG3]: More fixes and enhancements
o [SPARC64]: Add some missing PCI error reporting
o [SPARC]: Update ethtool support in Sun net drivers
o [NETFILTER]: Use correct printf format for size_t in ipt_CLASSIFY.c
o [NET]: net/core/ethtool.c needs asm/uaccess.h
o [TG3]: Fix ethtool_ops/sun_5704 changes collision
o [TG3]: Protect get/set TSO support with proper ifdefs
o [SPARC]: Add missing timer_create syscall entries
o [SPARC64]: Make sure init_irqwork_curcpu() is called with PSTATE_IE off
o [IPV6]: Do not mistakedly use ndisc route for normal ipv6 output
o [POSIX_TIMERS]: Do not assume timeval/timespec layout is identical
o [SPARC64]: In sysv IPC translation, mask out IPC_64 as appropriate
o [SPARC]: Mark get_rtc_time() static in SBUS rtc driver
o [IPV6]: Do not BUG() on icmp6 socket contention, just drop
o [IPV6]: Fix typo in icmp BUG() fix
o [IPV6]: Fix types in fl6_renew()
o [IPV6]: linger member of ip6_flowlabel needs to be a long
o [IPV6]: Fix printf format in ip6fl_fl_seq_show
o [BLUETOOTH]: Fix typo in module alias changes
o [IPV4]: Do not BUG() on icmp_xmit_lock() contention, just drop
o [NET]: Kill NET_PROFILE, has not built for years
o [USB]: hiddev_exit() can no longer be __exit, called from init code now
o [SPARC]: Add MODULE_ALIAS_LDISC() defines
o [NET]: Do not ifdef declarations in Space.c
o [NET]: Remove all the silly 'NET4.x' init messages
o [NET]: Print a KERN_INFO msg when protocol families are {un,}registered
o [NET]: Kill more verbose init msgs and unused RTNL_DEBUG define

David T. Hollis:
o USB: Add ax8817x support to usbnet
o USB: Fix building of ax8817x if CONFIG_USB_AX8817X_STANDALONE

Deepak Saxena:
o [ARM PATCH] 1611/1: Add big-endian support to AFLAGS
o [ARM PATCH] 1615/1: Fix IOP3xx timer interrupts
o [ARM PATCH] 1613/1: arch/arm/boot/Makefile fixups for IOP3xx and ADIFCC
o [ARM PATCH] 1616/1: Add PFN_TO_NID to IOP3xx
o [ARM PATCH] 1621/1: IOP3xx CPU detection (cleaned up)
o [ARM PATCH] 1623/1: Updated def-configs for IQ80310/321
o [ARM PATCH] 1620/1: dma_map_single/unmap_single support for ARM
o [ARM PATCH] 1559/1: updated include/asm-arm/checksum.h big-endian support

Douglas Gilbert:
o GFDL issue in Documentation/DocBook/scsidrivers.tmpl

Duncan Sands:
o USB: fix uhci "host controller process error"

Erik Andersen:
o Fix cdrom error handling in 2.6

Ernst Persson:
o [netdrvr] list CONFIG_BMAC in drivers/net/Makefile.lib, as it uses the crc32 library.

Felipe Damasio:
o [NETFILTER]: Remove unneeded version.h inclusion
o [SUNRPC]: Remove unneeded version.h inclusion
o [RXRPC]: Remove unneeded version.h inclusion
o [IPV6]: Remove unnecessary linux/version.h include

Frank Becker:
o [ARM PATCH] 1563/1: Update pxa-regs.h with correct gpio number for 48 MHz clock output

François Romieu:
o [netdrvr sis190] pass irq argument to synchronize_irq()
o [netdrvr sis190] remove unneeded alignment code, other small fixes
o [netdrvr sis190] use PCI DMA API for RX buffers
o sis190 driver fix
o [NET]: Balance alloc_netdev() with free_netdev() in ethertap
o [NET]: Use free_netdev() even in error paths

Gary Algier:
o USB: new ids for io_ti driver

Geert Uytterhoeven:
o vmlinux-*.lds (was: Re: Linux 2.6.0-test4)
o macide (was: Re: Linux 2.6.0-test4)
o m68k asm/sections.h
o m68k asm/local.h
o Amiga z2ram
o Amiga floppy
o M68k switch_to
o Atari floppy
o dmasound core fixes
o dmasound kill MOD_{IN,DE}C_USE_COUNT

Greg Kroah-Hartman:
o USB: remove #include <linux/miscdevice.h> from some usb drivers
o USB: change pci host drivers to use PCI_DEVICE_CLASS() macro
o USB: remove proc code from stv680 driver as it's no longer needed
o USB: convert stv680 driver to handle the driver core changes in the v4l layer
o USB: add sysfs files for stv680 driver, replacing the lost proc functionality
o V4L: fix use after free bug in v4l core
o V4L: add video_device_remove_file() to match video_device_create_file()
o [netdrvr sis900] don't call pci_find_device from irq context
o USB: fix compiler warning in mdc800 driver
o USB: fix up a bunch of copyrights that were incorrectly declared
o USB: hook up the USB driver core to the power management calls of the driver model
o USB: rip out old proc code from the usbvideo driver
o USB: removed the proc code from the se401.c driver
o USB: add support for 2 new devices to the visor driver
o USB: fix usbnet for older versions of gcc
o USB: fix oops in keyspan and whiteheat devices when plugged in
o USB: remove usage of DEVICE_ID_SIZE from usb core as it should not be used
o USB: fix data toggle problem for pl2303 driver
o USB: fix up B0 support in the pl2303 driver

Greg Ungerer:
o use irqreturn_t in m68knommu/5206 config.c
o use irqreturn_t in m68knommu/5206e config.c
o use irqreturn_t in m68knommu/5249 config.c
o use irqreturn_t in m68knommu/5272 config.c
o irqreturn_t fixes for m68knommu irq.h
o create an m68knommu local.h
o create an m68knommu sections.h

Guillaume Morin:
o fix cu3088 group write

Harald Welte:
o [NETFILTER]: Fix ipt_REJECT if used on bridge
o [NETFILTER]: Remove ipt_MIRROR target from 2.6.x
o [NETFILTER]: Remove ipt_unclean match from 2.6.x
o [NETFILTER]: Remove EXPERIMENTAL mark from some netfilter stuff
o [NETFILTER]: Cosmetic netfilter patch
o [NETFILTER]: NAT optimization
o [NETFILTER]: Conntrack optimization (LIST_DELETE)
o [NETFILTER]: New iptables modules (iprange, CLASSIFY, SAME, NETMAP)
o [NETFILTER]: Fix ipt_helper build problem wrt. Kconfig
o [NETFILTER]: Fix email address in MODULE_AUTHOR
o [NETFILTER]: NAT range calculation fix

Herbert Xu:
o free_netdev typo
o [NET]: Add MODULE_LICENSE to xfrm_user.c

Hideaki Yoshifuji:
o [NET]: Fix OOPS in multicast procfs usage
o [IPV{4,6}]: Fixing a bug that reading /proc/net/{udp,udp6} may drop some data

Hirofumi Ogawa:
o [netdrvr 8139too] lwake unlock fix
o [netdrvr 8139too] remove unused RxConfigMask
o [netdrvr 8139too] add more h/w revision ids
o [netdrvr 8139too] remove driver-based poisoning of net_device
o [netdrvr 8139too] don't start thread when it's not needed
o vfat_valid_longname() cleanup

Holger Freyther:
o [ARM PATCH] 1595/1: [PATCH] 1/10 Simpad changes
o [ARM PATCH] 1598/1: [PATCH] 4/10 Simpad changes
o [ARM PATCH] 1603/1: [PATCH] 9/10 Simpad changes

Hugh Dickins:
o Fix futex hashing bugs

Ian Abbott:
o USB: ftdi_sio - fix memory leak and tidy up write bulk callback

Ian Molton:
o arm26 updates

Jakub Jelínek:
o [COMPAT]: Add missing set_fs() calls to {clock,timer}_*() handlers
o [SPARC64]: Fix struct sigevent32
o [SPARC64]: sys_timer_create needs 32-bit translation
o [SPARC]: Fix typos

James Bottomley:
o Fix typo introduced into 53c700 by tag fixup patch
o Add extern for scsi_logging_level so scsi_sysctl.c can compile
o Fix up scsi_alloc_request in sr.c to take a GFP_ flag
o fix remap of shared read only mappings

Jamie Lenehan:
o dc395x [1/6] - make functions static
o dc395x [2/6] - cleanup devices
o dc395x [3/6] - cleanup adapter init
o dc395x [4/6] - cleanup adapter uninit
o dc395x [5/6] - check for device
o dc395x [6/6] - use pci resource len

Jamie Lokier:
o Unpinned futexes v2: indexing changes
o Common PROT_xxx -> VM_xxx mapping

Javier Achirica:
o [wireless airo] add support for MIC and latest firmwares
o [wireless airo] build fix when MIC support is disabled

Jean Tourrilhes:
o [irda] IrCOMM mod refcount
o [irda] NSC 3839x probe fixes
o [irda] irtty cleanup
o [irda] LAP close race
o [irda] connect watchdog fixes
o [irda] init failure cleanups
o [irda] Dongle module aliases

Jeff Garzik:
o [TG3]: Bug fixes for 5705 support
o [TG3]: More 5705 updates
o [TG3]: More 5705 fixes
o [TG3]: Another 5705 fix: enable eeprom write prot as needed
o [TG3]: Only write the on-nic sram addr on non-5705
o [TG3]: Add 5782 pci id
o [netdrvr sis900] ethtool_ops support
o [netdrvr 8139cp] ethtool_ops support
o [netdrvr sis190] convert TX path to use PCI DMA API
o [netdrvr sis190] make driver depend on CONFIG_BROKEN
o [netdrvr 3c501] ethtool_ops support
o [netdrvr] ethtool_ops support in 3c503, 3c505, 3c507
o [netdrvr] ethtool_ops support for 3c515, 3c523, 3c527, and dmfe
o [netdrvr pcmcia] ethtool_ops for 3c574, 3c589, axnet
o [netdrvr pcmcia] convert several drivers to ethtool_ops
o [netdrvr xircom_cb] ethtool_ops support
o [wireless ray_cs] ethtool_ops support
o [netdrvr sis190] small bug fixes
o [TG3]: Remove pci-set-dma-mask casts
o [netdrvr 8139cp] build TX checksumming code, but default OFF
o [netdrvr 8139cp] support NAPI on RX path; Ditch RX frag handling
o [netdrvr 8139cp] update todo list in header
o [netdrvr 8139cp] remove mentions of RTL8169 (now handled by

    "r8169")

o [netdrvr 8139cp] small cleanups
o [netdrvr 8139cp] fix NAPI bug; remove board_type distinction, not needed
o [netdrvr 8139cp] bump version
o [netdrvr 8139cp] stats improvements and fixes
o [netdrvr 8139too] make features more persistent; fix PCI DAC mode
o [netdrvr pcmcia] support SIOC[GS]MII{PHY,REG} ioctls
o [netdrvr 8139too] remove useless board names
o [netdrvr 3c509] dev->name removal build fix
o [netdrvr 8139cp] must call NAPI-specific vlan hook
o [netdrvr ixgb] must call NAPI-specific vlan hook
o [netdrvr sk_mca] somebody typo'd in their cli()-to-spinlock conversion
o [netdrvr sk_mca] remove ancient-kernel compat code; fix bugs
o [netdrvr 8139cp] PCI MWI cleanup; remove unneeded workaround
o [netdrvr de2104x] ethtool_ops support
o [PCI] Remove cases where PCI_CACHE_LINE_SIZE is hardcoded
o [tokenring lanstreamer] clean up MWI / PCI_CACHE_LINE_SIZE usage
o [video planb] don't hardware pci command/cacheline/latency values, use the PCI layer instead to provide those for us.
o [netdrvr 8390] new function alloc_ei_netdev()
o [netdrvr ne2k-pci] allocate netdev+8390 struct using new alloc_ei_netdev()
o [netdrvr ne2k-pci] ethtool_ops support
o [NET] move netif_* helpers from tg3 driver to linux/netdevice.h
o [netdrvr] ethtool_ops for epic100, fealnx, winbond-840, via-rhine
o [netdrvr fealnx] merge typo build fix (non-x86) from 2.4
o [NET] move ethtool_op_set_tx_csum from 8139cp drvr to net/core/ethtool.c, where it belongs.
o [PCI, ia32] don't assume "c->x86 > 6" applies to non-Intel CPUs when programming PCI cache line size.
o [SUNHME]: Fix non-sbus build
o Fix non-modular compile of 3c515.c
o [NET]: Fix ethtool_ops thinko in sungem.c

Jens Axboe:
o cciss init problem
o software hd led support
o IO scheduler, not elevator
o amiflop error handling
o fix IO hangs
o Fix noop elevator request merging

John Levon:
o OProfile: correct CPU type for x86-64
o [NET]: Kill net/README, obsolete and out-of-date
o [ATM]: Remove bogus UNUSED macro usage in pppoatm.c

Joris Struyve:
o unusual_devs.h entry

Jürgen Quade:
o USB: writing usb driver documentation update
o USB: usb-skeleton bugfix

Karsten Keil:
o ISDN bugfixes part 1
o next fixes

Krishna Kumar:
o [IPV4]: Fix creat_proc_read_entry() args
o Remaining task queue to work queue conversion

Linus Torvalds:
o Input: typo in device matching
o Don't claim exclusive ownership of the device when doing the SG_IO and SCSI_IOCTL_SEND_COMMAND ioctl's. That just screws things up when the drive is mounted.
o Fix del_timer_sync() SMP memory ordering (from Tejun Huh

    <[email protected]>)

o Be a lot more careful about TS_USEDFPU and preemption
o Fix keyboard double E0-sequence release case
o Add the isicom serial driver to the list of drivers that are broken on SMP (due to expecting global irq locking).
o Instead of asking for "broken drivers", ask for a "clean compile"
o Avoid a negative in config questions: we don't want to have users forced into double negatives.
o Fix mprotect() to do proper PROT_xxx -> VM_xxx translation
o Fix PCMCIA typo (extra 'R') that broke the compile
o Fix over-eager ioctl number fix. _IOC() does want the sizeof()
o Undo static on ide_probe_for_pdc4030: it can (and will) be called from the IDE init code when compiled-in.
o Mark drivers that can't be built stand-alone in the configuration files.
o Fix various scripts to be marked executable
o Fix more ioctl _IOR/_IOW misusage
o Arnd's new-and-improved _IOx() argument checking showed two sound drivers whose microcode load ioctl's used types with sizes that

Marc Zyngier:
o [netdrvr de4x5] big modernization / cleanup

Marcelo Abreu:
o [NET]: Remove dead comment from dummy.c driver

Martin Diehl:
o [IRDA]: vlsi_ir v0.5 update, 1-7

Martin Hicks:
o ia64: paddr_to_nid fixup

Matthew Dharm:
o sr.c should issue TEST_UNIT_READY

Matthew Wilcox:
o ia64: default to building compressed
o ia64: ia64/lib/Makefile: use call-if-changed
o [netdrvr 3c59x] ethtool_ops support
o [ethtool] fix ethtool_get_strings counting bug
o [netdrvr 8139too] ethtool_ops support
o bio.c: reduce verbosity at boot
o ncr & sym1 patches
o sym2 patchset
o use size_t for the broken ioctl numbers
o CONFIG_64BIT

Matthias Bruestle:
o USB: Cyberjack patch

Maximilian Attems:
o [NET]: Use list_for_each() where applicable

Michel Dänzer:
o USB: linuxppc-2.5 fixlets for usbtest.c

Mike Anderson:
o fix Kernel Panic in scsi_host_dev_release

Miles Bader:
o Give v850 its own version of the vmlinux.lds.h RODATA macro
o Properly export symbols that depend on CONFIG_MMU

Mitchell Blank Jr.:
o [ATM]: Lanai driver updates

Neil Brown:
o Fix module ref counting for md
o Honour the read-ahead for for reads in raid5
o Set max_sectors for raid0 only, not for all raid levels
o Fix md superblock incompatabilities with 2.4 kernels
o Track nfsv4 open files by "struct inode" rather than dev/ino/generation
o fix in NFSv4 server for bad sequence id errors
o Fix compile errors in NFSv4 server

Nicolas Pitre:
o [ARM PATCH] 1565/1: syscall macros clobbering returned error value

Olaf Hering:
o USB: io_edgeport.o differences in 2.4 vs. 2.6

Pat LaVarre:
o USB: storage: cbw/csw trace in order

Patrick Mochel:
o [sysfs] Fix memory leak
o [power] Turn off debugging
o [kobject] Support unlimited name lengths
o [sysfs] Use kobject_name() when creating directories for kobjects
o [driver model] Use kobject_set_name() when registering objects
o [kobject] Don't use kobject->k_name after it's been freed
o [driver model] Add exports for sys devices
o [sysfs/kobject] Update documentation

Paul Fulghum:
o 2.6.0-test4 synclink.c
o 2.6.0-test4 synclinkmp.c
o 2.6.0-test4 synclink_cs.c

Paul Mackerras:
o PPC32: Define MCA_bus__is_a_macro. From Christoph Hellwig
o PPC32: Add the fadvise64_64 system call
o PPC32: Declare cpu_online_map and cpu_possible_map as cpumask_t
o PPC32: Update some of the example configs
o PPC32: Add support for the PPC 440 family of embedded processors
o PPC32: Eliminate one use of struct device name field

Paul Mundt:
o [netdrvr 8139too] fix and pci ids needed for SH platform

Paul Thompson:
o [NET]: Fix probing messages in 3c509.c

Pete Zaitcev:
o [SPARC]: Add pci_{map,unmap}_page()

Randy Dunlap:
o imm driver needs scsi_unregister()
o advansys build with ADVANSYS_DEBUG defined
o ia64: fix printk type warning
o [SCTP]: Fix printf format string
o [IPVS]: Fix printf format strings
o [HAMRADIO]: Missing return statement in yam.c driver
o USB: fix printk parameter types
o USB: fix functions to match prototypes
o label needs statement following it
o [NET]: remove duplicate #includes in net/
o [CRYPTO]: remove duplicate #includes in crypto/
o janitor: remove unneeded version.h #includes
o janitor: add static to comx
o janitor: sc520_wdt
o janitor: oss/ali copy*user fixes
o janitor: oss/ite8172 copy*user fixes
o janitor: skfddi copy*user fixes
o janitor: remove __SMP__
o janitor: jffs2 add/delete version.h
o janitor: adfs: add/remove version.h
o janitor: fix oss/harmony copy*user
o janitor: cdrom module owner
o janitor: fix input serport register failure
o janitor: fix blk_init_queue() comments
o janitor: fix oss/swarm copy*user
o janitor: saa7134 pci alloc/free consistent checking
o janitor: coda delete version.h
o janitor: oss/au1000 copy*user fixes
o janitor: fix copy*user in tc/zs
o janitor: more init/exit cleanups
o janitor: oss/forte copy*user fixes
o janitor: paride: better return codes
o janitor: qla1280 pci alloc/free consistent checking
o janitor: x86_64/sys_ia32
o rename make check* targets, add versioncheck
o jffs2: add linux/version.h as needed

Randy Hron:
o USB: version.h cleanup 1-4

Rob Radez:
o [SPARC]: Two build fixes

Russell King:
o [ARM] Noddy indentation fix for arch/arm/boot/Makefile
o [ARM] Fix vmlinux linker script
o [ARM] Remove reference to struct device name element
o [ARM] Fix device suspend/resume calls
o [ARM] Fix ecard.c manufacturer and product files
o [ARM] Tweak the bridge control register for PCI and cardbus bridges
o [ARM] Remove pci_dev->dev.name in favour of pci_name()
o [ARM] Remove old binutils compatibility
o [ARM] Update AMBA suspend/resume model
o [ARM] Update SA1111 suspend/resume model
o [ARM] Fix EBSA285 CLOCK_TICK_RATE
o [PCMCIA] Use #define'd constants in ZV code where possible
o [PCMCIA] Clean up yenta overrides
o [PCMCIA] Move socket initialisation to the quirk table
o [PCMCIA] Add generic and per-controller power management handling
o [PCMCIA] Move PM restore from socket initialisation
o [PCMCIA] Put socket initialisation to where it should be
o [PCMCIA] Move more controllers to the more advanced quirks
o [PCMCIA] Don't add CIS cache entries on failure
o [ARM] Remove more 26-bit ARM support
o [ARM] Remove more reminants of 26-bit ARM support
o Don't #ifdef prototypes
o [ARM] arch/arm/kernel/setup.c needs to include asm/cacheflush.h
o [ARM] Fix wrong cache flush call for ARM1020 CPUs
o Move MODULE_ALIAS_LDISC to tty_ldisc.h
o [ARM] Newer binutils want -mcpu=xscale not -mxscale
o [ARM] Restore preempt count before reporting unbalanced preempt count
o [ARM] Don't read the CPU control reg back - it may be write only
o [ARM] Fix ARM suspend-to-RAM
o [ARM] Fix PXA and SA1100 suspend/resume
o [ARM] Don't sleep in cpufreq code if IRQs are disabled (during resume.)
o [ARM] Kill snprintf formatting warning
o [PCMCIA] Fix cs.c debugging
o [PCMCIA] Use "yenta" instead of pci_name() when allocating irq
o [PCMCIA] Fix race condition causing cards to be incorrectly recognised
o Fixes to allow ARM to build in the standard tree
o [SERIAL] Make SA11x0 serial driver build

Rusty Russell:
o [NETFILTER]: Trivial 2.6 tftp conntrack fix
o [NET]: Use MODULE_ALIAS() in network families
o [CRYPTO]: Use try_then_request_module()
o Futex-fd error return fix
o Modules: Be stricter recognizing init&exit sesections
o modprobe -q: quieter when modules missing

Sam Ravnborg:
o kbuild: Do not duplicate A/CFLAGS
o kbuild: arch/i386/boot*, use kbuild syntax when descending into compressed
o kbuild/ieee1394: Makefile update
o kbuild/isdn: Defer md5sum calculation until needed
o kbuild/eisa: Makefile update
o kbuild: genksyms, add explicit reference to include dir

Sridhar Samudrala:
o [SCTP] Fix bugs in sysctl set/get of sctp rto parameters
o [SCTP] draft07 API changes: sctp_getpaddrs(), sctp_getladdrs() now return a packed array of sockaddr_in/sockaddr_in6 structures instead
o [SCTP] SCTP_SET_PEER_PRIMARY socket option support. (Kevin Gao)
o [SCTP] draft07 API changes: sctp_bindx() now takes a packed array of sockaddr_in/sockaddr_in6 structures instead of an array of sockaddr_storage structures.
o [SCTP] Convert sctp_param2sockaddr() and sockaddr2sctp_addr() to

    address family specific routines af->from_addr_parm() and
    af->to_addr_param() respectively. 

o [SCTP] Fix a couple of issues with the call to sctp_ssnmap_new() in sctp_process_init().
o [SCTP] draft 07 API changes: Disable listening when backlog is 0
o [SCTP] draft 07 API changes: By default, all the event notifications are turned off even for one-to-many style sockets.
o [SCTP] Move a local variable declaration ahead of the function code

Stefan Rompf:
o [netdrvr 8139too] use mii_check_media lib function, instead of homebrew MII bitbanging.

Stelian Pop:
o sonypi driver update
o meye driver update
o reenable CAPTURE button in sonypi
o meye driver update

Stephen Hemminger:
o [IPV4]: Route cache /proc interface cleanup
o [AX25]: Make sure and hold ref to dev
o [AX25]: Convert to seq_file
o [LLC]: Need to pskb_may_pull() in fix_up_incoming_skb()
o [LLC]: Missing sk_set_owner() in llc_sk_alloc
o [LLC]: Set module owner on /proc/net/llc directory
o [ECONET]: Missing sk_set_owner()
o [IPX]: Missing sk_set_owner()
o [ATM]: Missing sk_set_owner()
o [AX25/NETROM/ROSE]: Missing sk_set_owner()
o [IRDA]: Missing sk_set_owner()
o [DDP]: Missing sk_set_owner()
o [DDP]: Invert logic for clarity
o [ATALK]: Fix whitespace in /proc/net/atalk/interfaces header
o [ATALK]: AARP ->last_sent field never set
o [ATALK]: Purge AARP table on module unload
o [ATALK]: AARP needs to use del_timer_sync()
o [ATALK]: Convert AARP over to seq_file
o [ATALK]: Set owner on /proc/net/atalk directory
o [DDP]: Fix obsolete comment about module handling
o [DDP]: Fix oops in aecho socket handling
o [ATALK]: Move aarp procfs file into atalk subdirectory
o [DDP]: Missing netdev refcounting
o [DDP]: Convert to new protocol interface
o [BLUETOOTH]: Missing sk_set_owner()
o [NET]: Convert af_netlink.c over to seq_file
o [NET]: ethertap fixes
o [NET]: DLCI driver cleanups for 2.6.x
o [NET]: Add probe_old_netdevs() hook
o [NET]: Convert SDLA to new initialization
o [NET]: Convert cops over to new initialization
o [NET]: Convert ether probes to probe_old_netdevs()
o [NET]: Convert tr probes to probe_old_netdevs()
o [NET]: Convert sbni initialization
o [NET]: Loopback device simplification
o [NET]: Convert ltpc to new initialization
o ikconfig - cleanups
o [NET]: Convert /proc/net/unix to seq_file
o [NET]: COSA driver fixes
o [NET]: More SDLS fixes
o sdla non-module build fix

Steve French:
o Fix scheduling while atomic problem in getting attributes of newly created file. Fix truncate of existing file when O_CREAT but not O_TRUNC specified
o Fix oops in reconnection logic when no dentry for file being reconnected
o Match smb pid to current->tgid
o update change log for 0.9.1 cifs vfs
o Return error correctly on revalidate so dentry will be dropped
o fix bad return code mapping when server lacks hard link support

Tom Rini:
o PPC32: Update the Motorola MCP(n) 765 support code
o PPC32: Cleanup arch/ppc/boot/simple/Makefile
o PPC32: Fix a warning in the boot serial code
o PPC32: Allow for hooks into the bootwrapper
o PPC32: Fix udelay in the PPC boot code for non-16.6 MHz timebases
o PPC32: Minor fixups to the Motorola Sandpoint platform
o PPC32: Export flush_tlb_page
o PPC32: Fix a warning in the 'mktree' boot util
o PPC32: A number of minor KGDB fixes and tweaks
o PPC32: Add Magic SysRq support to the MPC8260 platforms
o PPC32: Change the default behavior of a kernel with KGDB
o PPC32: Fix KGDB and userland GDB interactions

Ulrich Drepper:
o [NET]: Check tgid not pid in scm_check_creds()
o More ->pid to ->tgid changes

Ville Nuorvala:
o [IPV6]: Fix two bugs in ip6_tunnel.c ICMP error handling
o [IPV6]: Use free_netdev as ip6_tunnel device destructor
o [IPV6]: Set dev->{dev_addr,broadcast} in ip6_tnls
o [IPV6]: Remove sockets from ip6_tunnel.c

Vinay K. Nallamothu:
o vx_entry.c: remove release timer
o [NET]: Fix 'spin_lock_irqrestore' typos in sk_mca.c
o [NET]: Fix MCA device name handling in 3c509.c
o USB: digi_acceleport.c: typo fix
o pcmciamtd.c: remove release timer
o [IPV6]: Fix timer handling in ip6_flowlabel.c

Wim Van Sebroeck:
o [WATCHDOG] advantechwdt.c - patch
o [WATCHDOG] wafer5823wdt.c - patch
o [WATCHDOG] wafer5823wdt.c - patch2
o [WATCHDOG] wafer5823wdt.c - patch3
o [WATCHDOG] acquirewdt.c - patch
o [WATCHDOG] alim1535_wdt.c
o [WATCHDOG] wafer5823wdt.c - patch4
o [WATCHDOG] Documentation

Xose Vazquez Perez:
o [TG3]: More missing PCI ids
o [TG3]: ICH2 needs MBOX write reorder bug workaround too

Yoshinori Sato:
o h8300 interrupt problem fix
o h8300 include update

Yusuf Wilajati Purna:
o [netdrvr] fix skb_padto bugs introduced when skb_padto was introduced

#1 lore raw

Note that people seeing "ifconfig down ... ifconfig up" problems need to apply this patch. (to 2.4.23-pre, too)

Jeff

net/core/dev.c +5 -1
diff -Nru a/net/core/dev.c b/net/core/dev.c
@@ -851,7 +851,11 @@
 	 * engine, but this requires more changes in devices. */
 
 	smp_mb__after_clear_bit(); /* Commit netif_running(). */
-	netif_poll_disable(dev);
+	while (test_bit(__LINK_STATE_RX_SCHED, &dev->state)) {
+		/* No hurry. */
+		current->state = TASK_INTERRUPTIBLE;
+		schedule_timeout(1);
+	}
 
 	/*
 	 *	Call the device specific close. This cannot fail.
#2 lore raw
Quoted 14 lines · Jeff Garzik

Note that people seeing "ifconfig down ... ifconfig up" problems need to apply this patch. (to 2.4.23-pre, too)

Jeff

------------------------------------------------------------------------

diff -Nru a/net/core/dev.c b/net/core/dev.c

net/core/dev.c +0 -0
@@ -851,7 +851,11 @@
 	 * engine, but this requires more changes in devices. */
 

net/core/dev.c line 861

Quoted 10 lines
net/core/dev.c +5 -1
 	smp_mb__after_clear_bit(); /* Commit netif_running(). */
-	netif_poll_disable(dev);
+	while (test_bit(__LINK_STATE_RX_SCHED, &dev->state)) {
+		/* No hurry. */
+		current->state = TASK_INTERRUPTIBLE;
+		schedule_timeout(1);
+	}
 
 	/*
 	 *	Call the device specific close. This cannot fail.

Okay! I'm at least back where I started. This patch doen't fix the ifconfig down/up problem, but it does reverse the disastrous effects of the last tg3 updates in both 2.6 and 2.4

Is there any reason this patch should not be committed?

Thanks.

#3 lore raw
In reply to Jeff Garzik
Quoted 14 lines · Jeff Garzik

Note that people seeing "ifconfig down ... ifconfig up" problems need to apply this patch. (to 2.4.23-pre, too)

Jeff

------------------------------------------------------------------------

diff -Nru a/net/core/dev.c b/net/core/dev.c

net/core/dev.c +0 -0
@@ -851,7 +851,11 @@
 	 * engine, but this requires more changes in devices. */
 

net/core/dev.c line 861

Quoted 10 lines
net/core/dev.c +5 -1
 	smp_mb__after_clear_bit(); /* Commit netif_running(). */
-	netif_poll_disable(dev);
+	while (test_bit(__LINK_STATE_RX_SCHED, &dev->state)) {
+		/* No hurry. */
+		current->state = TASK_INTERRUPTIBLE;
+		schedule_timeout(1);
+	}
 
 	/*
 	 *	Call the device specific close. This cannot fail.

I wrote recently:

Quoted 3 lines

Okay! I'm at least back where I started. This patch doen't fix the ifconfig down/up problem, but it does reverse the disastrous effects of the last tg3 updates in both 2.6 and 2.4...

When I wrote that I didn't realize you were referring to a different thread about ifonfig up/down instead of my long-standing bug.

My reference to the 'disastrous effects' does refer to the problem described in the 'ifconfig up/down' thread elsewhere in the lkml today. Sorry for the confusion. That problem seems to be fixed by this patch. I'll keep hoping for a fix for my other tg3 bug.

#4 lore raw
In reply to Jeff Garzik
Quoted 10 lines · Jeff Garzik

Note that people seeing "ifconfig down ... ifconfig up" problems need to apply this patch. (to 2.4.23-pre, too)

Jeff

diff -Nru a/net/core/dev.c b/net/core/dev.c

net/core/dev.c line 858

Quoted 9 lines
net/core/dev.c +5 -1
@@ -851,7 +851,11 @@
 	 * engine, but this requires more changes in devices. */
 
 	smp_mb__after_clear_bit(); /* Commit netif_running(). */
-	netif_poll_disable(dev);
+	while (test_bit(__LINK_STATE_RX_SCHED, &dev->state)) {
+		/* No hurry. */
+		current->state = TASK_INTERRUPTIBLE;
+		schedule_timeout(1);
+	}

I independently discovered this bug in 2.4.23-pre3 last night, where it caused my laptop to randomly lock up at suspends or resumes. That may have been APM doing ifconfigs behind my back, I don't know, all I got was a black screen :-(

#5 lore raw

Re: Linux 2.6.0-test5 (compile stats)

In reply to Linus Torvalds

Compile statistics: 2.6.0-test5
Compiler: gcc 3.2.2
Script: http://developer.osdl.org/~cherry/compile/compregress.sh

Note: the numbers look drastically better, but this is skewed
by the fact that CONFIG_CLEAN_COMPILE is now the default for defconfig and allmodconfig.

bzImage bzImage modules
(defconfig) (allmodconfig) (allmodconfig)

2.6.0-test5 0 warnings 0 warnings 305 warnings
0 errors 0 errors 5 errors

2.6.0-test4 0 warnings 3 warnings 1016 warnings
0 errors 0 errors 34 errors

2.6.0-test3 0 warnings 7 warnings 984 warnings
0 errors 9 errors 42 errors

2.6.0-test2 0 warnings 7 warnings 1201 warnings
0 errors 9 errors 43 errors

2.6.0-test1 0 warnings 8 warnings 1319 warnings
0 errors 9 errors 38 errors

Compile statistics for 2.5 kernels and 2.6 kernels are at:
http://developer.osdl.org/~cherry/compile/

BTW, there are ia64 compile statistics at this URL now as well.

Warning summary:

drivers/atm: 8 warnings, 0 errors
drivers/cdrom: 4 warnings, 0 errors
drivers/char: 6 warnings, 0 errors
drivers/i2c: 1 warnings, 0 errors
drivers/ide: 30 warnings, 0 errors
drivers/isdn: 1 warnings, 0 errors
drivers/media: 5 warnings, 0 errors
drivers/message: 1 warnings, 0 errors
drivers/mtd: 25 warnings, 0 errors
drivers/pcmcia: 3 warnings, 0 errors
drivers/scsi/pcmcia: 4 warnings, 0 errors
drivers/scsi/sym53c8xx_2: 1 warnings, 0 errors
drivers/scsi: 53 warnings, 0 errors
drivers/serial: 1 warnings, 0 errors
drivers/telephony: 5 warnings, 0 errors
drivers/video/aty: 3 warnings, 0 errors
drivers/video/console: 2 warnings, 0 errors
drivers/video/matrox: 5 warnings, 0 errors
drivers/video/sis: 1 warnings, 0 errors
drivers/video: 8 warnings, 0 errors
fs/afs: 2 warnings, 0 errors
fs/intermezzo: 1 warnings, 0 errors
fs/jffs: 2 warnings, 0 errors
fs/nfsd: 1 warnings, 0 errors
fs/smbfs: 2 warnings, 0 errors
sound/isa: 3 warnings, 0 errors
sound/oss: 49 warnings, 0 errors

Error summary:

drivers/block: 2 warnings, 1 errors
drivers/net: 0 warnings, 1 errors
drivers/net: 67 warnings, 1 errors
drivers/scsi/aic7xxx: 0 warnings, 1 errors
net: 13 warnings, 1 errors

John

#6 lore raw

Re: Linux 2.6.0-test5 (compile stats)

The sparse results are still being built. Results will be posted on the site around 6PM (PST).

John

Quoted 78 lines · John Cherry

Compile statistics: 2.6.0-test5
Compiler: gcc 3.2.2
Script: http://developer.osdl.org/~cherry/compile/compregress.sh

Note: the numbers look drastically better, but this is skewed
by the fact that CONFIG_CLEAN_COMPILE is now the default for defconfig and allmodconfig.

bzImage bzImage modules
(defconfig) (allmodconfig) (allmodconfig)

2.6.0-test5 0 warnings 0 warnings 305 warnings
0 errors 0 errors 5 errors

2.6.0-test4 0 warnings 3 warnings 1016 warnings
0 errors 0 errors 34 errors

2.6.0-test3 0 warnings 7 warnings 984 warnings
0 errors 9 errors 42 errors

2.6.0-test2 0 warnings 7 warnings 1201 warnings
0 errors 9 errors 43 errors

2.6.0-test1 0 warnings 8 warnings 1319 warnings
0 errors 9 errors 38 errors

Compile statistics for 2.5 kernels and 2.6 kernels are at:
http://developer.osdl.org/~cherry/compile/

BTW, there are ia64 compile statistics at this URL now as well.

Warning summary:

drivers/atm: 8 warnings, 0 errors
drivers/cdrom: 4 warnings, 0 errors
drivers/char: 6 warnings, 0 errors
drivers/i2c: 1 warnings, 0 errors
drivers/ide: 30 warnings, 0 errors
drivers/isdn: 1 warnings, 0 errors
drivers/media: 5 warnings, 0 errors
drivers/message: 1 warnings, 0 errors
drivers/mtd: 25 warnings, 0 errors
drivers/pcmcia: 3 warnings, 0 errors
drivers/scsi/pcmcia: 4 warnings, 0 errors
drivers/scsi/sym53c8xx_2: 1 warnings, 0 errors
drivers/scsi: 53 warnings, 0 errors
drivers/serial: 1 warnings, 0 errors
drivers/telephony: 5 warnings, 0 errors
drivers/video/aty: 3 warnings, 0 errors
drivers/video/console: 2 warnings, 0 errors
drivers/video/matrox: 5 warnings, 0 errors
drivers/video/sis: 1 warnings, 0 errors
drivers/video: 8 warnings, 0 errors
fs/afs: 2 warnings, 0 errors
fs/intermezzo: 1 warnings, 0 errors
fs/jffs: 2 warnings, 0 errors
fs/nfsd: 1 warnings, 0 errors
fs/smbfs: 2 warnings, 0 errors
sound/isa: 3 warnings, 0 errors
sound/oss: 49 warnings, 0 errors

Error summary:

drivers/block: 2 warnings, 1 errors
drivers/net: 0 warnings, 1 errors
drivers/net: 67 warnings, 1 errors
drivers/scsi/aic7xxx: 0 warnings, 1 errors
net: 13 warnings, 1 errors

John

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

#7 lore raw

Re: Linux 2.6.0-test5 (compile stats)

In reply to John Cherry
Quoted 10 lines · John Cherry

Compile statistics: 2.6.0-test5
Compiler: gcc 3.2.2
Script: http://developer.osdl.org/~cherry/compile/compregress.sh

Note: the numbers look drastically better, but this is skewed
by the fact that CONFIG_CLEAN_COMPILE is now the default for defconfig and allmodconfig.

bzImage bzImage modules
(defconfig) (allmodconfig) (allmodconfig)

Any chance you can add "bzImage (allyesconfig)"?

Cool stats, thanks.

Jeff

A message that is not in the archive (sent off-list or not yet received): [email protected]

A message that is not in the archive (sent off-list or not yet received): [email protected]

#10 lore raw

Re: Linux 2.6.0-test5 (compile stats)

Jeff,

I added allyesconfig to the stats. Check out...

http://developer.osdl.org/cherry/compile/

John

Quoted 33 lines · Jeff Garzik
Quoted 14 lines · John Cherry
Quoted 13 lines · Jeff Garzik
Quoted 10 lines · John Cherry

Compile statistics: 2.6.0-test5
Compiler: gcc 3.2.2
Script: http://developer.osdl.org/~cherry/compile/compregress.sh

Note: the numbers look drastically better, but this is skewed
by the fact that CONFIG_CLEAN_COMPILE is now the default for defconfig and allmodconfig.

bzImage bzImage modules
(defconfig) (allmodconfig) (allmodconfig)

Quoted 5 lines
Quoted 1 line

Any chance you can add "bzImage (allyesconfig)"?

I did allyesconfig for awhile and found it to be a subset of allmodconfig (for the most part). However, it would be an interesting data point, so I think I'll add it back in.

Thanks.

The "for the most part" is key -- allyesconfig often shows problems that allmodconfig does not, precisely because (a) most people build drives as modules and (b) it shows missing symbols and similar problems obviously and immediately, since the final link will fail unless everything is 100% ok. (well, I think the link may fail for size reasons, I don't recall exactly...)

Jeff

#11 lore raw

PATCH 1/1 fix nfs4xdr.c compile warning

In reply to Linus Torvalds
Quoted 8 lines · Linus Torvalds

...
Summary of changes from v2.6.0-test4 to v2.6.0-test5
============================================
...
Neil Brown:
...
o fix in NFSv4 server for bad sequence id errors
...

This produces the following compile warning:

<-- snip -->

...
CC fs/nfsd/nfs4xdr.o
fs/nfsd/nfs4xdr.c: In function `nfsd4_encode_open':
fs/nfsd/nfs4xdr.c:1773: warning: `return' with a value, in function returning void
...

<-- snip -->

The following patch tries to fix it:

fs/nfsd/nfs4xdr.c renamed from fs/nfsd/nfs4xdr.c.old +1 -1
@@ -1709,7 +1709,7 @@
 }
 
 
-static void
+static int
 nfsd4_encode_open(struct nfsd4_compoundres *resp, int nfserr, struct nfsd4_open *open)
 {
 	ENCODE_HEAD;

BTW:
Shouldn't the return values of nfsd4_encode_open{,_confirm,_downgrade} be checked in the switch in nfsd4_encode_operation?

cu
Adrian

Signature · 4 lines
       "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
#12 lore raw

Re: [2.6 patch] fix nfs4xdr.c compile warning

Quoted 9 lines · On Tuesday September 9, [email protected] wrote:

CC fs/nfsd/nfs4xdr.o
fs/nfsd/nfs4xdr.c: In function `nfsd4_encode_open':
fs/nfsd/nfs4xdr.c:1773: warning: `return' with a value, in function returning void
...

<-- snip -->

The following patch tries to fix it:

Thanks, though I've actually taken a different patch by Stephen Hemminger <[email protected]>.

Quoted 4 lines

BTW:
Shouldn't the return values of nfsd4_encode_open{,_confirm,_downgrade} be checked in the switch in nfsd4_encode_operation?

No. There is nothing meaningful in their return values.

NeilBrown

#13 lore raw

Re: [2.6 patch] fix nfs4xdr.c compile warning

Quoted 6 lines · Neil Brown

...

Quoted 3 lines

BTW:
Shouldn't the return values of nfsd4_encode_open{,_confirm,_downgrade} be checked in the switch in nfsd4_encode_operation?

No. There is nothing meaningful in their return values.

They return nfserr from ENCODE_SEQID_OP_TAIL.

If this isn't meaningful, should I send a patch that removes this return from ENCODE_SEQID_OP_TAIL and changes these three functions to return void?

Quoted 1 line

NeilBrown

cu
Adrian

Signature · 4 lines
       "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
#14 lore raw

Re: Linux 2.6.0-test5: serio config broken?

In reply to Linus Torvalds

In -test4 I have:

CONFIG_SERIO=m
CONFIG_SERIO_I8042=m
CONFIG_SERIO_SERPORT=m
CONFIG_SERIO_CT82C710=m
CONFIG_SERIO_PARKBD=m
CONFIG_SERIO_PCIPS2=m

but -test5 insists on:

CONFIG_SERIO=m
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=m
CONFIG_SERIO_CT82C710=m
CONFIG_SERIO_PARKBD=m
CONFIG_SERIO_PCIPS2=m

Removing the I8042 line and doing 'make oldconfig' does not even ask about it but sets it to '=y'. As a result I get:

LD init/built-in.o
LD .tmp_vmlinux1
drivers/built-in.o: In function `atkbd_interrupt':
drivers/built-in.o(.text+0x6d10f): undefined reference to serio_rescan' drivers/built-in.o: In function atkbd_disconnect':
drivers/built-in.o(.text+0x6d726): undefined reference to serio_close' drivers/built-in.o: In function atkbd_connect':
drivers/built-in.o(.text+0x6d84e): undefined reference to serio_open' drivers/built-in.o(.text+0x6d883): undefined reference to serio_close' drivers/built-in.o: In function `atkbd_init':
drivers/built-in.o(.init.text+0x5fd6): undefined reference to `serio_register_de
vice'
drivers/built-in.o: In function `atkbd_exit':
drivers/built-in.o(.exit.text+0x196): undefined reference to `serio_unregister_d
evice'
make: *** [.tmp_vmlinux1] Error 1

--
Eyal Lebedinsky ([email protected]) <http://samba.org/eyal/>

#15 lore raw

PATCH 1/1 2.6.0-test5: serio config broken?

Quoted 1 line · Eyal Lebedinsky

...

In -test4 I have:

Quoted 30 lines

CONFIG_SERIO=m
CONFIG_SERIO_I8042=m
CONFIG_SERIO_SERPORT=m
CONFIG_SERIO_CT82C710=m
CONFIG_SERIO_PARKBD=m
CONFIG_SERIO_PCIPS2=m

but -test5 insists on:

CONFIG_SERIO=m
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=m
CONFIG_SERIO_CT82C710=m
CONFIG_SERIO_PARKBD=m
CONFIG_SERIO_PCIPS2=m

Removing the I8042 line and doing 'make oldconfig' does not even ask about it but sets it to '=y'. As a result I get:

LD init/built-in.o
LD .tmp_vmlinux1
drivers/built-in.o: In function `atkbd_interrupt':
drivers/built-in.o(.text+0x6d10f): undefined reference to serio_rescan' drivers/built-in.o: In function atkbd_disconnect':
drivers/built-in.o(.text+0x6d726): undefined reference to serio_close' drivers/built-in.o: In function atkbd_connect':
drivers/built-in.o(.text+0x6d84e): undefined reference to serio_open' drivers/built-in.o(.text+0x6d883): undefined reference to serio_close' drivers/built-in.o: In function `atkbd_init':

Quoted 8 lines

drivers/built-in.o(.init.text+0x5fd6): undefined reference to `serio_register_de
vice'
drivers/built-in.o: In function `atkbd_exit':
drivers/built-in.o(.exit.text+0x196): undefined reference to `serio_unregister_d
evice'
make: *** [.tmp_vmlinux1] Error 1

The patch below should fix it.

cu
Adrian

drivers/input/keyboard/Kconfig renamed from drivers/input/keyboard/Kconfig.old +2 -1
@@ -13,7 +13,8 @@
 
 config KEYBOARD_ATKBD
 	tristate "AT keyboard support" if EMBEDDED || !X86 
-	default y
+	default y if INPUT=y && INPUT_KEYBOARD=y && SERIO=y
+	default m
 	depends on INPUT && INPUT_KEYBOARD && SERIO
 	help
 	  Say Y here if you want to use a standard AT or PS/2 keyboard. Usually
drivers/input/serio/Kconfig renamed from drivers/input/serio/Kconfig.old +2 -1
@@ -20,7 +20,8 @@
 
 config SERIO_I8042
 	tristate "i8042 PC Keyboard controller" if EMBEDDED || !X86
-	default y
+	default y if SERIO=y
+	default m
 	depends on SERIO
 	---help---
 	  i8042 is the chip over which the standard AT keyboard and PS/2
#16 lore raw

Re: [patch] 2.6.0-test5: serio config broken?

Quoted 23 lines · Adrian Bunk
Quoted 1 line · Eyal Lebedinsky

...

In -test4 I have:

Quoted 19 lines

CONFIG_SERIO=m
CONFIG_SERIO_I8042=m
CONFIG_SERIO_SERPORT=m
CONFIG_SERIO_CT82C710=m
CONFIG_SERIO_PARKBD=m
CONFIG_SERIO_PCIPS2=m

but -test5 insists on:

CONFIG_SERIO=m
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=m
CONFIG_SERIO_CT82C710=m
CONFIG_SERIO_PARKBD=m
CONFIG_SERIO_PCIPS2=m

Removing the I8042 line and doing 'make oldconfig' does not even ask about it but sets it to '=y'. As a result I get:
[...]

This is correct behaviour. Nobody building his kernel for a pc will ever want his keyboard not to function until the module is loaded; the CONFIG_SERIO_I8042 option is really only there for embedded devices based on x86 processors which don't have an i8042 keyboard controller, which is where the EMBEDDED option was made for. Modularizing this would effectively disable the possibility of booting with init=/bin/sh.

Sytse

Quoted 1 line

[patch...]

#17 lore raw

Re: [patch] 2.6.0-test5: serio config broken?

In reply to Adrian Bunk
Quoted 1 line · Adrian Bunk

The patch below should fix it.

I'm confused why you're copying me and not Vojtech.

Signature · 5 lines
Russell King ([email protected])	http://www.arm.linux.org.uk/personal/
Linux kernel maintainer of:
  2.6 ARM Linux   - http://www.arm.linux.org.uk/
  2.6 PCMCIA      - http://pcmcia.arm.linux.org.uk/
  2.6 Serial core
#18 lore raw

Re: [patch] 2.6.0-test5: serio config broken?

Quoted 4 lines · Russell King
Quoted 1 line · Adrian Bunk

The patch below should fix it.

I'm confused why you're copying me and not Vojtech.

The "serio" confused me...

cu
Adrian

Signature · 4 lines
       "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
#19 lore raw

Re: [patch] 2.6.0-test5: serio config broken?

In reply to Adrian Bunk
Quoted 62 lines · Adrian Bunk
Quoted 1 line · Eyal Lebedinsky

...

In -test4 I have:

Quoted 30 lines

CONFIG_SERIO=m
CONFIG_SERIO_I8042=m
CONFIG_SERIO_SERPORT=m
CONFIG_SERIO_CT82C710=m
CONFIG_SERIO_PARKBD=m
CONFIG_SERIO_PCIPS2=m

but -test5 insists on:

CONFIG_SERIO=m
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=m
CONFIG_SERIO_CT82C710=m
CONFIG_SERIO_PARKBD=m
CONFIG_SERIO_PCIPS2=m

Removing the I8042 line and doing 'make oldconfig' does not even ask about it but sets it to '=y'. As a result I get:

LD init/built-in.o
LD .tmp_vmlinux1
drivers/built-in.o: In function `atkbd_interrupt':
drivers/built-in.o(.text+0x6d10f): undefined reference to serio_rescan' drivers/built-in.o: In function atkbd_disconnect':
drivers/built-in.o(.text+0x6d726): undefined reference to serio_close' drivers/built-in.o: In function atkbd_connect':
drivers/built-in.o(.text+0x6d84e): undefined reference to serio_open' drivers/built-in.o(.text+0x6d883): undefined reference to serio_close' drivers/built-in.o: In function `atkbd_init':

Quoted 8 lines

drivers/built-in.o(.init.text+0x5fd6): undefined reference to `serio_register_de
vice'
drivers/built-in.o: In function `atkbd_exit':
drivers/built-in.o(.exit.text+0x196): undefined reference to `serio_unregister_d
evice'
make: *** [.tmp_vmlinux1] Error 1

The patch below should fix it.

cu
Adrian

drivers/input/keyboard/Kconfig renamed from drivers/input/keyboard/Kconfig.old +2 -1
@@ -13,7 +13,8 @@
 
 config KEYBOARD_ATKBD
 	tristate "AT keyboard support" if EMBEDDED || !X86 
-	default y
+	default y if INPUT=y && INPUT_KEYBOARD=y && SERIO=y
+	default m
 	depends on INPUT && INPUT_KEYBOARD && SERIO
 	help
 	  Say Y here if you want to use a standard AT or PS/2 keyboard. Usually

drivers/input/serio/Kconfig line 27

Quoted 9 lines
drivers/input/serio/Kconfig renamed from drivers/input/serio/Kconfig.old +2 -1
@@ -20,7 +20,8 @@
 
 config SERIO_I8042
 	tristate "i8042 PC Keyboard controller" if EMBEDDED || !X86
-	default y
+	default y if SERIO=y
+	default m
 	depends on SERIO
 	---help---
 	  i8042 is the chip over which the standard AT keyboard and PS/2

A slightly better fix is for SERIO to default to Y on X86 and to 'select SERIO_I8042 if X86'. Then have INPUT_KEYBOARD similarly select KEYBOARD_ATKBD.

Or, IMHO, even better would be my patch to remove EMBEDDED and replace it with STANDARD || NONSTD_ABI which also fixes the wierd uses of EMBEDDED we have now.

Signature · 2 lines
Tom Rini
http://gate.crashing.org/~trini/
#20 lore raw

Re: [patch] 2.6.0-test5: serio config broken?

Quoted 17 lines · Tom Rini

...

Quoted 16 lines
drivers/input/keyboard/Kconfig renamed from drivers/input/keyboard/Kconfig.old +2 -1
@@ -13,7 +13,8 @@
 
 config KEYBOARD_ATKBD
 	tristate "AT keyboard support" if EMBEDDED || !X86 
-	default y
+	default y if INPUT=y && INPUT_KEYBOARD=y && SERIO=y
+	default m
 	depends on INPUT && INPUT_KEYBOARD && SERIO
 	help
 	  Say Y here if you want to use a standard AT or PS/2 keyboard. Usually
drivers/input/serio/Kconfig renamed from drivers/input/serio/Kconfig.old +0 -0
@@ -20,7 +20,8 @@
 
Quoted 13 lines

drivers/input/serio/Kconfig line 27

Quoted 8 lines
drivers/input/serio/Kconfig renamed from drivers/input/serio/Kconfig.old +2 -1
 config SERIO_I8042
 	tristate "i8042 PC Keyboard controller" if EMBEDDED || !X86
-	default y
+	default y if SERIO=y
+	default m
 	depends on SERIO
 	---help---
 	  i8042 is the chip over which the standard AT keyboard and PS/2

A slightly better fix is for SERIO to default to Y on X86 and to 'select SERIO_I8042 if X86'. Then have INPUT_KEYBOARD similarly select KEYBOARD_ATKBD.
...

That wouldn't be needed. AFAIK there are _no_ problems if SERIO=y, the select you suggest is already implemented the other way round.

If SERIO is always y if !EMBEDDED || X86 my patch wouldn't be needed.

Considering this, it seems the patch below is both the best and the simplest solution for most users.

It doesn't obsolete the other patch since SERIO=m is still possible, but makes it more unlikely to accidentially set SERIO=m (or even SERIO=n).

Quoted 1 line

Tom Rini

cu
Adrian

drivers/input/serio/Kconfig renamed from drivers/input/serio/Kconfig.old +1 -1
@@ -2,7 +2,7 @@
 # Input core configuration
 #
 config SERIO
-	tristate "Serial i/o support (needed for keyboard and mouse)"
+	tristate "Serial i/o support (needed for keyboard and mouse)" if EMBEDDED || !X86
 	default y
 	---help---
 	  Say Yes here if you have any input device that uses serial I/O to
#21 lore raw

Re: [patch] 2.6.0-test5: serio config broken?

Quoted 32 lines · Adrian Bunk
Quoted 17 lines · Tom Rini

...

Quoted 16 lines
drivers/input/keyboard/Kconfig renamed from drivers/input/keyboard/Kconfig.old +2 -1
@@ -13,7 +13,8 @@
 
 config KEYBOARD_ATKBD
 	tristate "AT keyboard support" if EMBEDDED || !X86 
-	default y
+	default y if INPUT=y && INPUT_KEYBOARD=y && SERIO=y
+	default m
 	depends on INPUT && INPUT_KEYBOARD && SERIO
 	help
 	  Say Y here if you want to use a standard AT or PS/2 keyboard. Usually
drivers/input/serio/Kconfig renamed from drivers/input/serio/Kconfig.old +0 -0
@@ -20,7 +20,8 @@
 
Quoted 13 lines

drivers/input/serio/Kconfig line 27

Quoted 8 lines
drivers/input/serio/Kconfig renamed from drivers/input/serio/Kconfig.old +2 -1
 config SERIO_I8042
 	tristate "i8042 PC Keyboard controller" if EMBEDDED || !X86
-	default y
+	default y if SERIO=y
+	default m
 	depends on SERIO
 	---help---
 	  i8042 is the chip over which the standard AT keyboard and PS/2

A slightly better fix is for SERIO to default to Y on X86 and to 'select SERIO_I8042 if X86'. Then have INPUT_KEYBOARD similarly select KEYBOARD_ATKBD.
...

Quoted 2 lines

That wouldn't be needed. AFAIK there are _no_ problems if SERIO=y, the select you suggest is already implemented the other way round.

The problem is that SERIO==y means that SERIO_I8042 must be Y, as you ran into. If you have SERIO only asked on EMBEDDED || !X86, and on similar conditions you then select SERIO_I8042, it just works.

Quoted 1 line

If SERIO is always y if !EMBEDDED || X86 my patch wouldn't be needed.

Correct. I was suggesting that you do:
tristate "Serial i/o support (needed for keyboard and mouse)" if !EMBEDDED || !X86 (or so)
select SERIO_I8042 if X86 && !EMBEDDED

and then remove the conditions on SERIO_I8042, which puts all of the auto-select-this magic in one spot.

Signature · 2 lines
Tom Rini
http://gate.crashing.org/~trini/
#22 lore raw

Re: [patch] 2.6.0-test5: serio config broken?

Quoted 7 lines · Tom Rini
Quoted 3 lines

That wouldn't be needed. AFAIK there are _no_ problems if SERIO=y, the select you suggest is already implemented the other way round.

The problem is that SERIO==y means that SERIO_I8042 must be Y, as you ran into. If you have SERIO only asked on EMBEDDED || !X86, and on similar conditions you then select SERIO_I8042, it just works.

No the problems occur when SERIO=m.

Quoted 9 lines
Quoted 1 line

If SERIO is always y if !EMBEDDED || X86 my patch wouldn't be needed.

Correct. I was suggesting that you do:
tristate "Serial i/o support (needed for keyboard and mouse)" if !EMBEDDED || !X86 (or so)
select SERIO_I8042 if X86 && !EMBEDDED

and then remove the conditions on SERIO_I8042, which puts all of the auto-select-this magic in one spot.

I can't see how this should work in all cases.
Could you send how you'd like to formulate this?

cu
Adrian

Signature · 4 lines
       "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
#23 lore raw

Re: [patch] 2.6.0-test5: serio config broken?

Quoted 10 lines · Adrian Bunk
Quoted 7 lines · Tom Rini
Quoted 3 lines

That wouldn't be needed. AFAIK there are _no_ problems if SERIO=y, the select you suggest is already implemented the other way round.

The problem is that SERIO==y means that SERIO_I8042 must be Y, as you ran into. If you have SERIO only asked on EMBEDDED || !X86, and on similar conditions you then select SERIO_I8042, it just works.

No the problems occur when SERIO=m.

Ah, right, that got fixed for test4. Now I recall, I think.

Quoted 7 lines
Quoted 7 lines
Quoted 1 line

If SERIO is always y if !EMBEDDED || X86 my patch wouldn't be needed.

Correct. I was suggesting that you do:
tristate "Serial i/o support (needed for keyboard and mouse)" if !EMBEDDED || !X86 (or so)
select SERIO_I8042 if X86 && !EMBEDDED

Quoted 5 lines
Quoted 2 lines

and then remove the conditions on SERIO_I8042, which puts all of the auto-select-this magic in one spot.

I can't see how this should work in all cases.
Could you send how you'd like to formulate this?

This is done in the patch I sent to break EMBEDDED into STANDARD and NONSTD_ABI. There it looks like (just the keyboard bits):
===== drivers/input/Kconfig 1.5 vs edited =====

drivers/input/Kconfig +3 -1
@@ -5,7 +5,9 @@
 menu "Input device support"
 
 config INPUT
-	tristate "Input devices (needed for keyboard, mouse, ...)" if EMBEDDED
+	tristate "Input devices (needed for keyboard, mouse, ...)"
+	select INPUT_MOUSEDEV if STANDARD
+	select INPUT_KEYBOARD if STANDARD && X86
 	default y
 	---help---
 	  Say Y here if you have any input device (mouse, keyboard, tablet,

[snip]
===== drivers/input/keyboard/Kconfig 1.6 vs edited =====

drivers/input/keyboard/Kconfig +3 -2
@@ -2,8 +2,9 @@
 # Input core configuration
 #
 config INPUT_KEYBOARD
-	bool "Keyboards" if EMBEDDED || !X86
+	bool "Keyboards"
 	default y
+	select KEYBOARD_ATKBD if STANDARD && X86
 	depends on INPUT
 	help
 	  Say Y here, and a list of supported keyboards will be displayed.
@@ -12,7 +13,7 @@
 	  If unsure, say Y.
 
 config KEYBOARD_ATKBD
-	tristate "AT keyboard support" if EMBEDDED || !X86 
+	tristate "AT keyboard support"
 	default y
 	depends on INPUT && INPUT_KEYBOARD && SERIO
 	help

===== drivers/input/serio/Kconfig 1.9 vs edited =====

drivers/input/serio/Kconfig +3 -2
@@ -2,7 +2,8 @@
 # Input core configuration
 #
 config SERIO
-	tristate "Serial i/o support (needed for keyboard and mouse)"
+	tristate "Serial i/o support (needed for keyboard and mouse)" if !(STANDARD && X86)
+	select SERIO_I8042 if STANDARD && X86
 	default y
 	---help---
 	  Say Yes here if you have any input device that uses serial I/O to
@@ -19,7 +20,7 @@
 	  as a module, say M here and read <file:Documentation/modules.txt>.
 
 config SERIO_I8042
-	tristate "i8042 PC Keyboard controller" if EMBEDDED || !X86
+	tristate "i8042 PC Keyboard controller"
 	default y
 	depends on SERIO
 	---help---

Where STANDARD is normally Y and NONSTD_ABI is normally N. This groups all of the "Well, we're standard so we want a keyboard" logic into 3 places. Really what could be done is in the question for STANDARD, selecting all of the things at once. But I'm not sure if that really helps or hurts, so I didn't do it.

Signature · 2 lines
Tom Rini
http://gate.crashing.org/~trini/
#24 lore raw

Re: [patch] 2.6.0-test5: serio config broken?

Quoted 28 lines · Tom Rini

...
===== drivers/input/keyboard/Kconfig 1.6 vs edited =====

drivers/input/keyboard/Kconfig +3 -2
@@ -2,8 +2,9 @@
 # Input core configuration
 #
 config INPUT_KEYBOARD
-	bool "Keyboards" if EMBEDDED || !X86
+	bool "Keyboards"
 	default y
+	select KEYBOARD_ATKBD if STANDARD && X86
 	depends on INPUT
 	help
 	  Say Y here, and a list of supported keyboards will be displayed.
@@ -12,7 +13,7 @@
 	  If unsure, say Y.
 
 config KEYBOARD_ATKBD
-	tristate "AT keyboard support" if EMBEDDED || !X86 
+	tristate "AT keyboard support"
 	default y
 	depends on INPUT && INPUT_KEYBOARD && SERIO
 	help

===== drivers/input/serio/Kconfig 1.9 vs edited =====

drivers/input/serio/Kconfig line 9

Quoted 9 lines
drivers/input/serio/Kconfig +2 -1
@@ -2,7 +2,8 @@
 # Input core configuration
 #
 config SERIO
-	tristate "Serial i/o support (needed for keyboard and mouse)"
+	tristate "Serial i/o support (needed for keyboard and mouse)" if !(STANDARD && X86)
+	select SERIO_I8042 if STANDARD && X86
 	default y
 	---help---
 	  Say Yes here if you have any input device that uses serial I/O to

This works but seems fragile since everyone touching the dependencies must know that the tristate dependencies of SERIO must always match the select dependencies in INPUT_KEYBOARD.

drivers/input/serio/Kconfig line 26

Quoted 10 lines
drivers/input/serio/Kconfig +1 -1
@@ -19,7 +20,7 @@
 	  as a module, say M here and read <file:Documentation/modules.txt>.
 
 config SERIO_I8042
-	tristate "i8042 PC Keyboard controller" if EMBEDDED || !X86
+	tristate "i8042 PC Keyboard controller"
 	default y
 	depends on SERIO
 	---help---
...

Yes, removing the "if EMBEDDED || !X86" solves the problem...

Quoted 1 line

Tom Rini

cu
Adrian

Signature · 4 lines
       "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
#25 lore raw

Re: [patch] 2.6.0-test5: serio config broken?

Quoted 34 lines · Adrian Bunk
Quoted 33 lines · Tom Rini

...
===== drivers/input/keyboard/Kconfig 1.6 vs edited =====

drivers/input/keyboard/Kconfig +3 -2
@@ -2,8 +2,9 @@
 # Input core configuration
 #
 config INPUT_KEYBOARD
-	bool "Keyboards" if EMBEDDED || !X86
+	bool "Keyboards"
 	default y
+	select KEYBOARD_ATKBD if STANDARD && X86
 	depends on INPUT
 	help
 	  Say Y here, and a list of supported keyboards will be displayed.
@@ -12,7 +13,7 @@
 	  If unsure, say Y.
 
 config KEYBOARD_ATKBD
-	tristate "AT keyboard support" if EMBEDDED || !X86 
+	tristate "AT keyboard support"
 	default y
 	depends on INPUT && INPUT_KEYBOARD && SERIO
 	help

===== drivers/input/serio/Kconfig 1.9 vs edited =====

drivers/input/serio/Kconfig +1 -1
@@ -2,7 +2,8 @@
 # Input core configuration
 #
 config SERIO
-	tristate "Serial i/o support (needed for keyboard and mouse)"
+	tristate "Serial i/o support (needed for keyboard and mouse)" if !(STANDARD && X86)
Quoted 8 lines

drivers/input/serio/Kconfig line 9

Quoted 4 lines
drivers/input/serio/Kconfig +1 -0
+	select SERIO_I8042 if STANDARD && X86
 	default y
 	---help---
 	  Say Yes here if you have any input device that uses serial I/O to

This works but seems fragile since everyone touching the dependencies must know that the tristate dependencies of SERIO must always match the select dependencies in INPUT_KEYBOARD.

How so? SERIO only selects SERIO_* bits, and INPUT only selects INPUT* (and, imho, keyboard is input :)) bits.

Quoted 12 lines

drivers/input/serio/Kconfig line 26

Quoted 10 lines
drivers/input/serio/Kconfig +1 -1
@@ -19,7 +20,7 @@
 	  as a module, say M here and read <file:Documentation/modules.txt>.
 
 config SERIO_I8042
-	tristate "i8042 PC Keyboard controller" if EMBEDDED || !X86
+	tristate "i8042 PC Keyboard controller"
 	default y
 	depends on SERIO
 	---help---
...

Yes, removing the "if EMBEDDED || !X86" solves the problem...

Without other changes, it brings back the "user can shoot themselves in the foot, easily." problem. You can only remove the 'if ...' if you select it before.

Signature · 2 lines
Tom Rini
http://gate.crashing.org/~trini/
#26 lore raw

Re: [patch] 2.6.0-test5: serio config broken?

Quoted 44 lines · Tom Rini
Quoted 34 lines · Adrian Bunk
Quoted 33 lines · Tom Rini

...
===== drivers/input/keyboard/Kconfig 1.6 vs edited =====

drivers/input/keyboard/Kconfig +3 -2
@@ -2,8 +2,9 @@
 # Input core configuration
 #
 config INPUT_KEYBOARD
-	bool "Keyboards" if EMBEDDED || !X86
+	bool "Keyboards"
 	default y
+	select KEYBOARD_ATKBD if STANDARD && X86
 	depends on INPUT
 	help
 	  Say Y here, and a list of supported keyboards will be displayed.
@@ -12,7 +13,7 @@
 	  If unsure, say Y.
 
 config KEYBOARD_ATKBD
-	tristate "AT keyboard support" if EMBEDDED || !X86 
+	tristate "AT keyboard support"
 	default y
 	depends on INPUT && INPUT_KEYBOARD && SERIO
 	help

===== drivers/input/serio/Kconfig 1.9 vs edited =====

drivers/input/serio/Kconfig +1 -1
@@ -2,7 +2,8 @@
 # Input core configuration
 #
 config SERIO
-	tristate "Serial i/o support (needed for keyboard and mouse)"
+	tristate "Serial i/o support (needed for keyboard and mouse)" if !(STANDARD && X86)
Quoted 8 lines

drivers/input/serio/Kconfig line 9

Quoted 4 lines
drivers/input/serio/Kconfig +1 -0
+	select SERIO_I8042 if STANDARD && X86
 	default y
 	---help---
 	  Say Yes here if you have any input device that uses serial I/O to

This works but seems fragile since everyone touching the dependencies must know that the tristate dependencies of SERIO must always match the select dependencies in INPUT_KEYBOARD.

Quoted 3 lines

How so? SERIO only selects SERIO_* bits, and INPUT only selects INPUT* (and, imho, keyboard is input :)) bits.
...

Let's say you remove the X86 dependency in the select in INPUT_KEYBOARD.

If you select SERIO=m on !X86 (with EMBEDDED/STANDARD enabled) this will select KEYBOARD_ATKBD=y...

Quoted 1 line

Tom Rini

cu
Adrian

Signature · 4 lines
       "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
#27 lore raw

Re: [patch] 2.6.0-test5: serio config broken?

Quoted 45 lines · Adrian Bunk
Quoted 44 lines · Tom Rini
Quoted 42 lines · Adrian Bunk
Quoted 28 lines · Tom Rini

...
===== drivers/input/keyboard/Kconfig 1.6 vs edited =====

drivers/input/keyboard/Kconfig +3 -2
@@ -2,8 +2,9 @@
 # Input core configuration
 #
 config INPUT_KEYBOARD
-	bool "Keyboards" if EMBEDDED || !X86
+	bool "Keyboards"
 	default y
+	select KEYBOARD_ATKBD if STANDARD && X86
 	depends on INPUT
 	help
 	  Say Y here, and a list of supported keyboards will be displayed.
@@ -12,7 +13,7 @@
 	  If unsure, say Y.
 
 config KEYBOARD_ATKBD
-	tristate "AT keyboard support" if EMBEDDED || !X86 
+	tristate "AT keyboard support"
 	default y
 	depends on INPUT && INPUT_KEYBOARD && SERIO
 	help

===== drivers/input/serio/Kconfig 1.9 vs edited =====

drivers/input/serio/Kconfig line 9

Quoted 9 lines
drivers/input/serio/Kconfig +2 -1
@@ -2,7 +2,8 @@
 # Input core configuration
 #
 config SERIO
-	tristate "Serial i/o support (needed for keyboard and mouse)"
+	tristate "Serial i/o support (needed for keyboard and mouse)" if !(STANDARD && X86)
+	select SERIO_I8042 if STANDARD && X86
 	default y
 	---help---
 	  Say Yes here if you have any input device that uses serial I/O to

This works but seems fragile since everyone touching the dependencies must know that the tristate dependencies of SERIO must always match the select dependencies in INPUT_KEYBOARD.

Quoted 5 lines
Quoted 3 lines

How so? SERIO only selects SERIO_* bits, and INPUT only selects INPUT* (and, imho, keyboard is input :)) bits.
...

Let's say you remove the X86 dependency in the select in INPUT_KEYBOARD.

You mean:
select KEYBOARD_ATKBD if STANDARD && X86
becomes:
select KEYBOARD_ATKBD if STANDARD
?

Quoted 2 lines

If you select SERIO=m on !X86 (with EMBEDDED/STANDARD enabled) this will select KEYBOARD_ATKBD=y...

How? What you pick for SERIO does not select anything in INPUT.

select is 'stronger' than the {bool,tristate} "Foo" if ... usage, so if you have broken dependancies you get a different kind of failure (link, as opposed to a shot foot) but IMHO it's more correct for restraints that are of the form:
"Don't let the user shoot themseleves in the foot, easily".

Signature · 2 lines
Tom Rini
http://gate.crashing.org/~trini/
#28 lore raw

Re: [patch] 2.6.0-test5: serio config broken?

Quoted 5 lines · Tom Rini
Quoted 5 lines
Quoted 4 lines

How so? SERIO only selects SERIO_* bits, and INPUT only selects INPUT* (and, imho, keyboard is input :)) bits.
...

Quoted 7 lines
Quoted 1 line

Let's say you remove the X86 dependency in the select in INPUT_KEYBOARD.

You mean:
select KEYBOARD_ATKBD if STANDARD && X86
becomes:
select KEYBOARD_ATKBD if STANDARD
?

Yes.

Quoted 10 lines
Quoted 2 lines

If you select SERIO=m on !X86 (with EMBEDDED/STANDARD enabled) this will select KEYBOARD_ATKBD=y...

How? What you pick for SERIO does not select anything in INPUT.

select is 'stronger' than the {bool,tristate} "Foo" if ... usage, so if you have broken dependancies you get a different kind of failure (link, as opposed to a shot foot) but IMHO it's more correct for restraints that are of the form:
"Don't let the user shoot themseleves in the foot, easily".

There's a dependency between SERIO and KEYBOARD_ATKBD that must be represented in the config rules.

Let me paraphrase the dependency the other way round (I'm not sure whether the syntax is 100% correct):

config KEYBOARD_ATKBD

	tristate "AT keyboard support" if EMBEDDED || !X86 
	default y
	depends on INPUT_KEYBOARD
	select SERIO=m
	select SERIO=y if KEYBOARD_ATKBD=y
	help
	  ...
Quoted 1 line

Tom Rini

cu
Adrian

Signature · 4 lines
       "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
#29 lore raw

Re: [patch] 2.6.0-test5: serio config broken?

Quoted 8 lines · Adrian Bunk
Quoted 7 lines · Tom Rini
Quoted 6 lines
Quoted 4 lines

How so? SERIO only selects SERIO_* bits, and INPUT only selects INPUT* (and, imho, keyboard is input :)) bits.
...

Let's say you remove the X86 dependency in the select in INPUT_KEYBOARD.

Quoted 7 lines
Quoted 5 lines

You mean:
select KEYBOARD_ATKBD if STANDARD && X86
becomes:
select KEYBOARD_ATKBD if STANDARD
?

Yes.

That would, well break things. We're only forcing ATKBD on X86 right now, thankfully.

Quoted 17 lines
Quoted 10 lines
Quoted 2 lines

If you select SERIO=m on !X86 (with EMBEDDED/STANDARD enabled) this will select KEYBOARD_ATKBD=y...

How? What you pick for SERIO does not select anything in INPUT.

select is 'stronger' than the {bool,tristate} "Foo" if ... usage, so if you have broken dependancies you get a different kind of failure (link, as opposed to a shot foot) but IMHO it's more correct for restraints that are of the form:
"Don't let the user shoot themseleves in the foot, easily".

There's a dependency between SERIO and KEYBOARD_ATKBD that must be represented in the config rules.

Let me paraphrase the dependency the other way round (I'm not sure whether the syntax is 100% correct):

Quoted 8 lines

config KEYBOARD_ATKBD

	tristate "AT keyboard support" if EMBEDDED || !X86 
	default y
	depends on INPUT_KEYBOARD
	select SERIO=m
	select SERIO=y if KEYBOARD_ATKBD=y
	help
	  ...

Ah yes.

This is similar (the same, even?) to the test3 problem. Roman, can we get select to somehow pay attention to depend as well? I do believe it's possible to have A select B, have C depend on Z and end up with:
A=y
B=y
C=n

Signature · 2 lines
Tom Rini
http://gate.crashing.org/~trini/
#30 lore raw

Re: [patch] 2.6.0-test5: serio config broken?

Hi,

Quoted 12 lines · Tom Rini
Quoted 11 lines

Let me paraphrase the dependency the other way round (I'm not sure whether the syntax is 100% correct):

config KEYBOARD_ATKBD

	tristate "AT keyboard support" if EMBEDDED || !X86 
	default y
	depends on INPUT_KEYBOARD
	select SERIO=m
	select SERIO=y if KEYBOARD_ATKBD=y
	help
	  ...
Quoted 8 lines

Ah yes.

This is similar (the same, even?) to the test3 problem. Roman, can we get select to somehow pay attention to depend as well? I do believe it's possible to have A select B, have C depend on Z and end up with:
A=y
B=y
C=n

Could you give me a complete example, I don't understand yet, what it's exactly supposed to do.

bye, Roman

#31 lore raw

Re: [patch] 2.6.0-test5: serio config broken?

Quoted 25 lines · Roman Zippel

Hi,

Quoted 12 lines · Tom Rini
Quoted 11 lines

Let me paraphrase the dependency the other way round (I'm not sure whether the syntax is 100% correct):

config KEYBOARD_ATKBD

	tristate "AT keyboard support" if EMBEDDED || !X86 
	default y
	depends on INPUT_KEYBOARD
	select SERIO=m
	select SERIO=y if KEYBOARD_ATKBD=y
	help
	  ...
Quoted 8 lines

Ah yes.

This is similar (the same, even?) to the test3 problem. Roman, can we get select to somehow pay attention to depend as well? I do believe it's possible to have A select B, have C depend on Z and end up with:
A=y
B=y
C=n

Quoted 2 lines

Could you give me a complete example, I don't understand yet, what it's exactly supposed to do.

Okay. The following Kconfig illustrates what I claim to be a bug. config A
bool "This is A"
select B

config B
bool "This is B"
# Or, depends C=y
depends C

config C
bool "This is C"

Running oldconfig will give:
This is A (A) [N/y] (NEW) y
This is C (C) [N/y] (NEW) n
...
And in .config:
CONFIG_A=y
CONFIG_B=y
# CONFIG_C is not set

I claim that this should in fact be:
CONFIG_A=y
CONFIG_B=y
CONFIG_C=y

Signature · 2 lines
Tom Rini
http://gate.crashing.org/~trini/
#32 lore raw

Re: [patch] 2.6.0-test5: serio config broken?

Quoted 24 lines · Tom Rini

Okay. The following Kconfig illustrates what I claim to be a bug. config A
bool "This is A"
select B

config B
bool "This is B"
# Or, depends C=y
depends C

config C
bool "This is C"

Running oldconfig will give:
This is A (A) [N/y] (NEW) y
This is C (C) [N/y] (NEW) n
...
And in .config:
CONFIG_A=y
CONFIG_B=y
# CONFIG_C is not set

Quoted 4 lines

I claim that this should in fact be:
CONFIG_A=y
CONFIG_B=y
CONFIG_C=y

The problem is that select ignores dependencies.

Unfortunately, your proposal wouldn't work easily, consider e.g.

config A
bool "This is A"
select B

config B

	bool
	depends C || D

config C
bool "This is C"
depends D=n

config D
bool "This is D"

Do you want C or D to be selected?

Quoted 1 line

Tom Rini

cu
Adrian

Signature · 4 lines
       "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
#33 lore raw

Re: [patch] 2.6.0-test5: serio config broken?

Quoted 25 lines · Adrian Bunk
Quoted 24 lines · Tom Rini

Okay. The following Kconfig illustrates what I claim to be a bug. config A
bool "This is A"
select B

config B
bool "This is B"
# Or, depends C=y
depends C

config C
bool "This is C"

Running oldconfig will give:
This is A (A) [N/y] (NEW) y
This is C (C) [N/y] (NEW) n
...
And in .config:
CONFIG_A=y
CONFIG_B=y
# CONFIG_C is not set

Quoted 6 lines
Quoted 4 lines

I claim that this should in fact be:
CONFIG_A=y
CONFIG_B=y
CONFIG_C=y

The problem is that select ignores dependencies.

Yeap.

Quoted 1 line

Unfortunately, your proposal wouldn't work easily, consider e.g.

I'm not really claiming a proposal, just that if B needs C=y, then C should C=y. I didn't say this would be an easy prolem, either :)

Quoted 12 lines

config A
bool "This is A"
select B

config B

	bool
	depends C || D

config C
bool "This is C"
depends D=n

Quoted 5 lines

config D
bool "This is D"

Do you want C or D to be selected?

With 'oldconfig' / 'config', you could loop until the user selects one of them. Or, default to the first in the or series that can be selected.

Signature · 2 lines
Tom Rini
http://gate.crashing.org/~trini/
#34 lore raw

Re: [patch] 2.6.0-test5: serio config broken?

Quoted 4 lines · Tom Rini

...
With 'oldconfig' / 'config', you could loop until the user selects one of them. Or, default to the first in the or series that can be selected.

What if all possible dependencies aren't available because their dependencies aren't fulfilled?

I agree that there's a problem, but I think a good solution is non-trivial.

Quoted 1 line

Tom Rini

cu
Adrian

Signature · 4 lines
       "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
#35 lore raw

Re: [patch] 2.6.0-test5: serio config broken?

Quoted 8 lines · Adrian Bunk
Quoted 4 lines · Tom Rini

...
With 'oldconfig' / 'config', you could loop until the user selects one of them. Or, default to the first in the or series that can be selected.

What if all possible dependencies aren't available because their dependencies aren't fulfilled?

It's one of those recursive problems. But so long as we don't get circular dependancies (which would be a bug anyhow, yes?) it should at least be solvable.

Quoted 3 lines

I agree that there's a problem, but I think a good solution is non-trivial.

Agreed.

Signature · 2 lines
Tom Rini
http://gate.crashing.org/~trini/
#36 lore raw

Re: [patch] 2.6.0-test5: serio config broken?

In reply to Adrian Bunk

Hi,

Quoted 30 lines · Adrian Bunk
Quoted 24 lines · Tom Rini

Okay. The following Kconfig illustrates what I claim to be a bug. config A
bool "This is A"
select B

config B
bool "This is B"
# Or, depends C=y
depends C

config C
bool "This is C"

Running oldconfig will give:
This is A (A) [N/y] (NEW) y
This is C (C) [N/y] (NEW) n
...
And in .config:
CONFIG_A=y
CONFIG_B=y
# CONFIG_C is not set

Quoted 4 lines

I claim that this should in fact be:
CONFIG_A=y
CONFIG_B=y
CONFIG_C=y

Quoted 4 lines

The problem is that select ignores dependencies.

Unfortunately, your proposal wouldn't work easily,

Sometimes it's even impossible, e.g. if choice values are involved. It can get even more complex, as a config symbol can be defined multiple times and the dependencies belong to the prompt not to the symbol. Letting select look at all the dependencies, would let the complexity explode. Right now the simplest solution is to either let A select everything or B uses select instead of depends.

bye, Roman

#37 lore raw

Re: Linux 2.6.0-test5: ufs build fails

In reply to Linus Torvalds

allmodconfig on i386:

CC [M] fs/ufs/namei.o
fs/ufs/namei.c: In function `ufs_mknod':
fs/ufs/namei.c:119: parse error before int' fs/ufs/namei.c:127: err' undeclared (first use in this function) fs/ufs/namei.c:127: (Each undeclared identifier is reported only once fs/ufs/namei.c:127: for each function it appears in.) fs/ufs/namei.c:131: warning: control reaches end of non-void function make[2]: *** [fs/ufs/namei.o] Error 1
make[1]: *** [fs/ufs] Error 2
make: *** [fs] Error 2

--
Eyal Lebedinsky ([email protected]) <http://samba.org/eyal/>

#38 lore raw

Re: Linux 2.6.0-test5: ps2esdi (CONFIG_BLK_DEV_PS2) build fails

In reply to Linus Torvalds

allmodconfig. i386:

CC [M] drivers/block/ps2esdi.o
In file included from include/linux/mca.h:140,
from drivers/block/ps2esdi.c:42:
include/linux/mca-legacy.h:10: warning: #warning "MCA legacy - please move your
driver to the new sysfs api"
drivers/block/ps2esdi.c:186: redefinition of init_module' drivers/block/ps2esdi.c:172: init_module' previously defined here drivers/block/ps2esdi.c: In function `init_module':
drivers/block/ps2esdi.c:190: warning: initialization from incompatible pointer t
ype
drivers/block/ps2esdi.c:193: dereferencing pointer to incomplete type drivers/block/ps2esdi.c:193: dereferencing pointer to incomplete type drivers/block/ps2esdi.c:194: dereferencing pointer to incomplete type drivers/block/ps2esdi.c:197: dereferencing pointer to incomplete type drivers/block/ps2esdi.c:198: dereferencing pointer to incomplete type drivers/block/ps2esdi.c:200: dereferencing pointer to incomplete type drivers/block/ps2esdi.c: In function `cleanup_module':
drivers/block/ps2esdi.c:216: `i' undeclared (first use in this function) drivers/block/ps2esdi.c:216: (Each undeclared identifier is reported only once
drivers/block/ps2esdi.c:216: for each function it appears in.) {standard input}: Assembler messages:
{standard input}:238: Error: symbol `init_module' is already defined make[2]: *** [drivers/block/ps2esdi.o] Error 1
make[1]: *** [drivers/block] Error 2
make: *** [drivers] Error 2

--
Eyal Lebedinsky ([email protected]) <http://samba.org/eyal/>

#39 lore raw

Re: Linux 2.6.0-test5: CONFIG_COSA build fails

In reply to Linus Torvalds

makeallmods, i386:

CC [M] drivers/net/wan/cosa.o
drivers/net/wan/cosa.c: In function `cosa_ioctl_common':
drivers/net/wan/cosa.c:1167: parse error before `[' drivers/net/wan/cosa.c:1167: case label does not reduce to an integer constant
drivers/net/wan/cosa.c:1171: parse error before `[' drivers/net/wan/cosa.c:1171: case label does not reduce to an integer constant
drivers/net/wan/cosa.c:1175: parse error before `[' drivers/net/wan/cosa.c:1175: case label does not reduce to an integer constant
drivers/net/wan/cosa.c:1179: parse error before `[' drivers/net/wan/cosa.c:1179: case label does not reduce to an integer constant
drivers/net/wan/cosa.c:1181: parse error before `[' drivers/net/wan/cosa.c:1181: case label does not reduce to an integer constant
drivers/net/wan/cosa.c:1187: parse error before `[' drivers/net/wan/cosa.c:1187: case label does not reduce to an integer constant
make[3]: *** [drivers/net/wan/cosa.o] Error 1
make[2]: *** [drivers/net/wan] Error 2
make[1]: *** [drivers/net] Error 2
make: *** [drivers] Error 2

--
Eyal Lebedinsky ([email protected]) <http://samba.org/eyal/>

#40 lore raw

PATCH 1/1 fix build of cosa

The cosa driver definition of ioctl's either conflicts or was not picked up in the last round of _IOR redefinition (on 2.6.0-test5).

The following makes it build, have no idea if it still works on real hardware.

drivers/net/wan/cosa.c +23 -27
diff -Nru a/drivers/net/wan/cosa.c b/drivers/net/wan/cosa.c
@@ -326,11 +326,11 @@
 /* Ioctls */
 static int cosa_start(struct cosa_data *cosa, int address);
 static int cosa_reset(struct cosa_data *cosa);
-static int cosa_download(struct cosa_data *cosa, struct cosa_download *d);
-static int cosa_readmem(struct cosa_data *cosa, struct cosa_download *d);
+static int cosa_download(struct cosa_data *cosa, unsigned long a);
+static int cosa_readmem(struct cosa_data *cosa, unsigned long a);
 
 /* COSA/SRP ROM monitor */
-static int download(struct cosa_data *cosa, char *data, int addr, int len);
+static int download(struct cosa_data *cosa, const char *data, int addr, int len);
 static int startmicrocode(struct cosa_data *cosa, int address);
 static int readmem(struct cosa_data *cosa, char *data, int addr, int len);
 static int cosa_reset_and_read_id(struct cosa_data *cosa, char *id);
@@ -1033,11 +1033,10 @@
 }
 
 /* High-level function to download data into COSA memory. Calls download() */
-static inline int cosa_download(struct cosa_data *cosa, struct cosa_download *d)
+static inline int cosa_download(struct cosa_data *cosa, unsigned long arg)
 {
+	struct cosa_download d;
 	int i;
-	int addr, len;
-	char *code;
 
 	if (cosa->usage > 1)
 		printk(KERN_INFO "%s: WARNING: download of microcode requested with cosa->usage > 1 (%d). Odd things may happen.\n",
@@ -1047,38 +1046,36 @@
 			cosa->name, cosa->firmware_status);
 		return -EPERM;
 	}
-
-	if (verify_area(VERIFY_READ, d, sizeof(*d)) ||
-	    __get_user(addr, &(d->addr)) ||
-	    __get_user(len, &(d->len)) ||
-	    __get_user(code, &(d->code)))
+	
+	if (copy_from_user(&d, (void __user *) arg, sizeof(d)))
 		return -EFAULT;
 
-	if (addr < 0 || addr > COSA_MAX_FIRMWARE_SIZE)
+	if (d.addr < 0 || d.addr > COSA_MAX_FIRMWARE_SIZE)
 		return -EINVAL;
-	if (len < 0 || len > COSA_MAX_FIRMWARE_SIZE)
+	if (d.len < 0 || d.len > COSA_MAX_FIRMWARE_SIZE)
 		return -EINVAL;
 
+
 	/* If something fails, force the user to reset the card */
 	cosa->firmware_status &= ~(COSA_FW_RESET|COSA_FW_DOWNLOAD);
 
-	if ((i=download(cosa, code, len, addr)) < 0) {
+	i = download(cosa, d.code, d.len, d.addr);
+	if (i < 0) {
 		printk(KERN_NOTICE "cosa%d: microcode download failed: %d\n",
 			cosa->num, i);
 		return -EIO;
 	}
 	printk(KERN_INFO "cosa%d: downloading microcode - 0x%04x bytes at 0x%04x\n",
-		cosa->num, len, addr);
+		cosa->num, d.len, d.addr);
 	cosa->firmware_status |= COSA_FW_RESET|COSA_FW_DOWNLOAD;
 	return 0;
 }
 
 /* High-level function to read COSA memory. Calls readmem() */
-static inline int cosa_readmem(struct cosa_data *cosa, struct cosa_download *d)
+static inline int cosa_readmem(struct cosa_data *cosa, unsigned long arg)
 {
+	struct cosa_download d;
 	int i;
-	int addr, len;
-	char *code;
 
 	if (cosa->usage > 1)
 		printk(KERN_INFO "cosa%d: WARNING: readmem requested with "
@@ -1090,22 +1087,20 @@
 		return -EPERM;
 	}
 
-	if (verify_area(VERIFY_READ, d, sizeof(*d)) ||
-	    __get_user(addr, &(d->addr)) ||
-	    __get_user(len, &(d->len)) ||
-	    __get_user(code, &(d->code)))
+	if (copy_from_user(&d, (void __user *) arg, sizeof(d)))
 		return -EFAULT;
 
 	/* If something fails, force the user to reset the card */
 	cosa->firmware_status &= ~COSA_FW_RESET;
 
-	if ((i=readmem(cosa, code, len, addr)) < 0) {
+	i = readmem(cosa, d.code, d.len, d.addr);
+	if (i < 0) {
 		printk(KERN_NOTICE "cosa%d: reading memory failed: %d\n",
 			cosa->num, i);
 		return -EIO;
 	}
 	printk(KERN_INFO "cosa%d: reading card memory - 0x%04x bytes at 0x%04x\n",
-		cosa->num, len, addr);
+		cosa->num, d.len, d.addr);
 	cosa->firmware_status |= COSA_FW_RESET;
 	return 0;
 }
@@ -1171,11 +1166,12 @@
 	case COSAIODOWNLD:	/* Download the firmware */
 		if (!capable(CAP_SYS_RAWIO))
 			return -EACCES;
-		return cosa_download(cosa, (struct cosa_download *)arg);
+		
+		return cosa_download(cosa, arg);
 	case COSAIORMEM:
 		if (!capable(CAP_SYS_RAWIO))
 			return -EACCES;
-		return cosa_readmem(cosa, (struct cosa_download *)arg);
+		return cosa_readmem(cosa, arg);
 	case COSAIORTYPE:
 		return cosa_gettype(cosa, (char *)arg);
 	case COSAIORIDSTR:
@@ -1405,7 +1401,7 @@
  * by a single space. Monitor has to reply with a space. Now the download
  * begins. After the download monitor replies with "\r\n." (CR LF dot).
  */
-static int download(struct cosa_data *cosa, char *microcode, int length, int address)
+static int download(struct cosa_data *cosa, const char *microcode, int length, int address)
 {
 	int i;
 
drivers/net/wan/cosa.h +6 -6
diff -Nru a/drivers/net/wan/cosa.h b/drivers/net/wan/cosa.h
@@ -73,19 +73,19 @@
 #define COSAIORSET	_IO('C',0xf0)
 
 /* Start microcode at given address */
-#define COSAIOSTRT	_IOW('C',0xf1,sizeof(int))
+#define COSAIOSTRT	_IOW('C',0xf1, int)
 
 /* Read the block from the device memory */
-#define COSAIORMEM	_IOR('C',0xf2,sizeof(struct cosa_download *))
+#define COSAIORMEM	_IOWR('C',0xf2, struct cosa_download)
 
 /* Write the block to the device memory (i.e. download the microcode) */
-#define COSAIODOWNLD	_IOW('C',0xf2,sizeof(struct cosa_download *))
+#define COSAIODOWNLD	_IOW('C',0xf2, struct cosa_download)
 
 /* Read the device type (one of "srp", "cosa", and "cosa8" for now) */
-#define COSAIORTYPE	_IOR('C',0xf3,sizeof(char *))
+#define COSAIORTYPE	_IOR('C',0xf3, char *)
 
 /* Read the device identification string */
-#define COSAIORIDSTR	_IOR('C',0xf4,sizeof(char *))
+#define COSAIORIDSTR	_IOR('C',0xf4, char *)
 /* Maximum length of the identification string. */
 #define COSA_MAX_ID_STRING 128
 
@@ -100,7 +100,7 @@
 #define COSAIONRCHANS	_IO('C',0xf8)
 
 /* Set the driver for the bus-master operations */
-#define COSAIOBMSET	_IOW('C', 0xf9, sizeof(unsigned short))
+#define COSAIOBMSET	_IOW('C', 0xf9, unsigned short)
 
 #define COSA_BM_OFF	0	/* Bus-mastering off - use ISA DMA (default) */
 #define COSA_BM_ON	1	/* Bus-mastering on - faster but untested */
#42 lore raw

Re: Linux 2.6.0-test5: CONFIG_PCMCIA_WL3501 build fails

In reply to Linus Torvalds

allmodconfig, i386:

CC [M] drivers/net/wireless/wl3501_cs.o
drivers/net/wireless/wl3501_cs.c: In function `wl3501_mgmt_join':
drivers/net/wireless/wl3501_cs.c:641: unknown field `id' specified in initialize
r
drivers/net/wireless/wl3501_cs.c:641: warning: missing braces around initializer
drivers/net/wireless/wl3501_cs.c:641: warning: (near initialization for `sig.ds_
pset.el')
drivers/net/wireless/wl3501_cs.c:642: unknown field `el' specified in initialize
r
drivers/net/wireless/wl3501_cs.c:643: unknown field `chan' specified in initiali
zer
drivers/net/wireless/wl3501_cs.c: In function `wl3501_mgmt_start':
drivers/net/wireless/wl3501_cs.c:658: unknown field `id' specified in initialize
r
drivers/net/wireless/wl3501_cs.c:658: warning: missing braces around initializer
drivers/net/wireless/wl3501_cs.c:658: warning: (near initialization for `sig.ds_
pset.el')
drivers/net/wireless/wl3501_cs.c:659: unknown field `el' specified in initialize
r
drivers/net/wireless/wl3501_cs.c:660: unknown field `chan' specified in initiali
zer
drivers/net/wireless/wl3501_cs.c:663: unknown field `id' specified in initialize
r
drivers/net/wireless/wl3501_cs.c:664: unknown field `el' specified in initialize
r
drivers/net/wireless/wl3501_cs.c:665: unknown field `data_rate_labels' specified
in initializer
drivers/net/wireless/wl3501_cs.c:673: unknown field `id' specified in initialize
r
drivers/net/wireless/wl3501_cs.c:674: unknown field `el' specified in initialize
r
drivers/net/wireless/wl3501_cs.c:675: unknown field `data_rate_labels' specified
in initializer
drivers/net/wireless/wl3501_cs.c:683: unknown field `id' specified in initialize
r
drivers/net/wireless/wl3501_cs.c:684: unknown field `el' specified in initialize
r
drivers/net/wireless/wl3501_cs.c:685: unknown field `atim_window' specified in i
nitializer
drivers/net/wireless/wl3501_cs.c: In function `wl3501_mgmt_scan_confirm':
drivers/net/wireless/wl3501_cs.c:702: parse error before )' drivers/net/wireless/wl3501_cs.c:705: parse error before )' drivers/net/wireless/wl3501_cs.c:740: parse error before )' drivers/net/wireless/wl3501_cs.c: In function wl3501_mgmt_auth':
drivers/net/wireless/wl3501_cs.c:899: parse error before )' drivers/net/wireless/wl3501_cs.c: In function wl3501_mgmt_association':
drivers/net/wireless/wl3501_cs.c:913: parse error before )' drivers/net/wireless/wl3501_cs.c: In function wl3501_mgmt_join_confirm':
drivers/net/wireless/wl3501_cs.c:923: parse error before )' drivers/net/wireless/wl3501_cs.c: In function wl3501_md_confirm_interrupt':
drivers/net/wireless/wl3501_cs.c:982: parse error before )' drivers/net/wireless/wl3501_cs.c: In function wl3501_get_confirm_interrupt':
drivers/net/wireless/wl3501_cs.c:1038: parse error before )' drivers/net/wireless/wl3501_cs.c: In function wl3501_start_confirm_interrupt':
drivers/net/wireless/wl3501_cs.c:1050: parse error before )' drivers/net/wireless/wl3501_cs.c: In function wl3501_assoc_confirm_interrupt':
drivers/net/wireless/wl3501_cs.c:1062: parse error before )' drivers/net/wireless/wl3501_cs.c: In function wl3501_auth_confirm_interrupt':
drivers/net/wireless/wl3501_cs.c:1074: parse error before )' drivers/net/wireless/wl3501_cs.c: In function wl3501_rx_interrupt':
drivers/net/wireless/wl3501_cs.c:1090: parse error before )' drivers/net/wireless/wl3501_cs.c: In function wl3501_exit_module':
drivers/net/wireless/wl3501_cs.c:2350: parse error before `)' make[3]: *** [drivers/net/wireless/wl3501_cs.o] Error 1 make[2]: *** [drivers/net/wireless] Error 2
make[1]: *** [drivers/net] Error 2
make: *** [drivers] Error 2

--
Eyal Lebedinsky ([email protected]) <http://samba.org/eyal/>

#43 lore raw

Re: Linux 2.6.0-test5: CONFIG_PCMCIA_WL3501 build fails

Quoted 6 lines · Eyal Lebedinsky

allmodconfig, i386:

CC [M] drivers/net/wireless/wl3501_cs.o
drivers/net/wireless/wl3501_cs.c: In function `wl3501_mgmt_join':
drivers/net/wireless/wl3501_cs.c:641: unknown field `id' specified in initializer

I notice that this driver uses .foo.bar = baz type initialisers. These do not work on gcc 2.95 (and last time I checked, the kernels minimum compiler version was still 2.95.x)

Signature · 5 lines
Russell King ([email protected])	http://www.arm.linux.org.uk/personal/
Linux kernel maintainer of:
  2.6 ARM Linux   - http://www.arm.linux.org.uk/
  2.6 PCMCIA      - http://pcmcia.arm.linux.org.uk/
  2.6 Serial core
#44 lore raw

Re: Linux 2.6.0-test5: CONFIG_PCMCIA_WL3501 build fails

Quoted 11 lines · Russell King
Quoted 6 lines · Eyal Lebedinsky

allmodconfig, i386:

CC [M] drivers/net/wireless/wl3501_cs.o
drivers/net/wireless/wl3501_cs.c: In function `wl3501_mgmt_join':
drivers/net/wireless/wl3501_cs.c:641: unknown field `id' specified in initializer

I notice that this driver uses .foo.bar = baz type initialisers. These do not work on gcc 2.95 (and last time I checked, the kernels minimum compiler version was still 2.95.x)

Yeah, the ".foo.bar = baz" thing should go. Something like the following, but it would be good to have somebody verify that this was all of it and that it actually works.

Linus

----
===== drivers/net/wireless/wl3501_cs.c 1.70 vs edited =====

drivers/net/wireless/wl3501_cs.c +20 -10
@@ -638,8 +638,10 @@
 		.sig_id		  = WL3501_SIG_JOIN_REQ,
 		.timeout	  = 10,
 		.ds_pset = {
-			.el.id  = IW_MGMT_INFO_ELEMENT_DS_PARAMETER_SET,
-			.el.len = 1,
+			.el = {
+				.id  = IW_MGMT_INFO_ELEMENT_DS_PARAMETER_SET,
+				.len = 1,
+			},
 			.chan	= this->chan,
 		},
 	};
@@ -655,13 +657,17 @@
 		.beacon_period		= 400,
 		.dtim_period		= 1,
 		.ds_pset = {
-			.el.id  = IW_MGMT_INFO_ELEMENT_DS_PARAMETER_SET,
-			.el.len = 1,
+			.el = {
+				.id  = IW_MGMT_INFO_ELEMENT_DS_PARAMETER_SET,
+				.len = 1,
+			},
 			.chan	= this->chan,
 		},
 		.bss_basic_rset	= {
-			.el.id	= IW_MGMT_INFO_ELEMENT_SUPPORTED_RATES,
-			.el.len = 2,
+			.el = {
+				.id	= IW_MGMT_INFO_ELEMENT_SUPPORTED_RATES,
+				.len = 2,
+			},
 			.data_rate_labels = {
 				[0] = IW_MGMT_RATE_LABEL_MANDATORY |
 				      IW_MGMT_RATE_LABEL_1MBIT,
@@ -670,8 +676,10 @@
 			},
 		},
 		.operational_rset	= {
-			.el.id	= IW_MGMT_INFO_ELEMENT_SUPPORTED_RATES,
-			.el.len = 2,
+			.el = {
+				.id	= IW_MGMT_INFO_ELEMENT_SUPPORTED_RATES,
+				.len = 2,
+			},
 			.data_rate_labels = {
 				[0] = IW_MGMT_RATE_LABEL_MANDATORY |
 				      IW_MGMT_RATE_LABEL_1MBIT,
@@ -680,8 +688,10 @@
 			},
 		},
 		.ibss_pset		= {
-			.el.id	     = IW_MGMT_INFO_ELEMENT_IBSS_PARAMETER_SET,
-			.el.len	     = 2,
+			.el = {
+				.id	 = IW_MGMT_INFO_ELEMENT_IBSS_PARAMETER_SET,
+				.len     = 2,
+			},
 			.atim_window = 10,
 		},
 		.bss_type		= wl3501_fw_bss_type(this),
#45 lore raw

Re: Linux 2.6.0-test5: CONFIG_PCMCIA_WL3501 build fails

Good patch, Linus please apply 8)

Die, 2.95, die :-)

- Arnaldo

Em Tue, Sep 09, 2003 at 10:13:37AM -0700, Linus Torvalds escreveu:

Quoted 86 lines · Russell King
Quoted 12 lines · Eyal Lebedinsky
Quoted 6 lines

allmodconfig, i386:

CC [M] drivers/net/wireless/wl3501_cs.o
drivers/net/wireless/wl3501_cs.c: In function `wl3501_mgmt_join':
drivers/net/wireless/wl3501_cs.c:641: unknown field `id' specified in initializer

I notice that this driver uses .foo.bar = baz type initialisers. These do not work on gcc 2.95 (and last time I checked, the kernels minimum compiler version was still 2.95.x)

Yeah, the ".foo.bar = baz" thing should go. Something like the following, but it would be good to have somebody verify that this was all of it and that it actually works.

Linus

----
===== drivers/net/wireless/wl3501_cs.c 1.70 vs edited =====

drivers/net/wireless/wl3501_cs.c +20 -10
@@ -638,8 +638,10 @@
 		.sig_id		  = WL3501_SIG_JOIN_REQ,
 		.timeout	  = 10,
 		.ds_pset = {
-			.el.id  = IW_MGMT_INFO_ELEMENT_DS_PARAMETER_SET,
-			.el.len = 1,
+			.el = {
+				.id  = IW_MGMT_INFO_ELEMENT_DS_PARAMETER_SET,
+				.len = 1,
+			},
 			.chan	= this->chan,
 		},
 	};
@@ -655,13 +657,17 @@
 		.beacon_period		= 400,
 		.dtim_period		= 1,
 		.ds_pset = {
-			.el.id  = IW_MGMT_INFO_ELEMENT_DS_PARAMETER_SET,
-			.el.len = 1,
+			.el = {
+				.id  = IW_MGMT_INFO_ELEMENT_DS_PARAMETER_SET,
+				.len = 1,
+			},
 			.chan	= this->chan,
 		},
 		.bss_basic_rset	= {
-			.el.id	= IW_MGMT_INFO_ELEMENT_SUPPORTED_RATES,
-			.el.len = 2,
+			.el = {
+				.id	= IW_MGMT_INFO_ELEMENT_SUPPORTED_RATES,
+				.len = 2,
+			},
 			.data_rate_labels = {
 				[0] = IW_MGMT_RATE_LABEL_MANDATORY |
 				      IW_MGMT_RATE_LABEL_1MBIT,
@@ -670,8 +676,10 @@
 			},
 		},
 		.operational_rset	= {
-			.el.id	= IW_MGMT_INFO_ELEMENT_SUPPORTED_RATES,
-			.el.len = 2,
+			.el = {
+				.id	= IW_MGMT_INFO_ELEMENT_SUPPORTED_RATES,
+				.len = 2,
+			},
 			.data_rate_labels = {
 				[0] = IW_MGMT_RATE_LABEL_MANDATORY |
 				      IW_MGMT_RATE_LABEL_1MBIT,
@@ -680,8 +688,10 @@
 			},
 		},
 		.ibss_pset		= {
-			.el.id	     = IW_MGMT_INFO_ELEMENT_IBSS_PARAMETER_SET,
-			.el.len	     = 2,
+			.el = {
+				.id	 = IW_MGMT_INFO_ELEMENT_IBSS_PARAMETER_SET,
+				.len     = 2,
+			},
 			.atim_window = 10,
 		},
 		.bss_type		= wl3501_fw_bss_type(this),
#46 lore raw

Re: Linux 2.6.0-test5: CONFIG_PCMCIA_WL3501 build fails

In reply to Linus Torvalds
Quoted 11 lines · Linus Torvalds
Quoted 8 lines · Russell King
Quoted 6 lines · Eyal Lebedinsky

allmodconfig, i386:

CC [M] drivers/net/wireless/wl3501_cs.o
drivers/net/wireless/wl3501_cs.c: In function `wl3501_mgmt_join':
drivers/net/wireless/wl3501_cs.c:641: unknown field `id' specified in initializer

Quoted 7 lines
Quoted 3 lines

I notice that this driver uses .foo.bar = baz type initialisers. These do not work on gcc 2.95 (and last time I checked, the kernels minimum compiler version was still 2.95.x)

Yeah, the ".foo.bar = baz" thing should go. Something like the following, but it would be good to have somebody verify that this was all of it and that it actually works.

You should also then patch __FUNCTION__ to comply with 2.95 gcc.

--
Eyal Lebedinsky ([email protected]) <http://samba.org/eyal/>

drivers/net/wireless/wl3501_cs.c renamed from drivers/net/wireless/wl3501_cs.c.old +1 -1
@@ -82,7 +82,7 @@
 MODULE_PARM(pc_debug, "i");
 #define dprintk(n, format, args...) \
 	{ if (pc_debug > (n)) \
-		printk(KERN_INFO "%s: " format "\n", __FUNCTION__, ##args); }
+		printk(KERN_INFO "%s: " format "\n", __FUNCTION__ , ##args); }
 #else
 #define dprintk(n, format, args...)
 #endif
#47 lore raw

Re: Linux 2.6.0-test5: CONFIG_ATM_BR2684 build fails

In reply to Linus Torvalds

allmodconfig, i386:

CC [M] net/atm/br2684.o
net/atm/br2684.c: In function `br2684_seq_show':
net/atm/br2684.c:735: pos' undeclared (first use in this function) net/atm/br2684.c:735: (Each undeclared identifier is reported only once net/atm/br2684.c:735: for each function it appears in.) net/atm/br2684.c:736: buf' undeclared (first use in this function) make[2]: *** [net/atm/br2684.o] Error 1
make[1]: *** [net/atm] Error 2
make: *** [net] Error 2

--
Eyal Lebedinsky ([email protected]) <http://samba.org/eyal/>

#49 lore raw

PATCH 1/1 ATM Ambassador no longer BROKEN_ON_SMP

In reply to Linus Torvalds
Quoted 8 lines · Linus Torvalds

...
Summary of changes from v2.6.0-test4 to v2.6.0-test5
============================================
...
Chas Williams:
o [ATM]: Clean up the code making use of sti/cli (from [email protected])
...

This fixed the compilation on SMP.

The following patch removes the BROKEN_ON_SMP:

drivers/atm/Kconfig renamed from drivers/atm/Kconfig.old +1 -1
@@ -241,7 +241,7 @@
 
 config ATM_AMBASSADOR
 	tristate "Madge Ambassador (Collage PCI 155 Server)"
-	depends on PCI && ATM && BROKEN_ON_SMP
+	depends on PCI && ATM
 	help
 	  This is a driver for ATMizer based ATM card produced by Madge
 	  Networks Ltd. Say Y (or M to compile as a module named ambassador)

cu
Adrian

Signature · 4 lines
       "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
#50 lore raw

2.6.0-test5: ISDN kcapi.c no longer compiles

In reply to Linus Torvalds
Quoted 8 lines · Linus Torvalds

...
Summary of changes from v2.6.0-test4 to v2.6.0-test5
============================================
...
Karsten Keil:
...
o next fixes
...

It seems this change broke the compilation of kcapi.c:

<-- snip -->

...
CC drivers/isdn/capi/kcapi.o
drivers/isdn/capi/kcapi.c: In function `capi_ctr_get':
drivers/isdn/capi/kcapi.c:82: error: dereferencing pointer to incomplete type drivers/isdn/capi/kcapi.c: In function `capi_ctr_put':
drivers/isdn/capi/kcapi.c:90: error: dereferencing pointer to incomplete type make[3]: *** [drivers/isdn/capi/kcapi.o] Error 1

<-- snip -->

cu
Adrian

Signature · 4 lines
       "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
#51 lore raw

Re: 2.6.0-test5: ISDN kcapi.c no longer compiles

Hi Adrian,

Quoted 22 lines · Adrian Bunk
Quoted 8 lines · Linus Torvalds

...
Summary of changes from v2.6.0-test4 to v2.6.0-test5
============================================
...
Karsten Keil:
...
o next fixes
...

It seems this change broke the compilation of kcapi.c:

<-- snip -->

...
CC drivers/isdn/capi/kcapi.o
drivers/isdn/capi/kcapi.c: In function `capi_ctr_get':
drivers/isdn/capi/kcapi.c:82: error: dereferencing pointer to incomplete type drivers/isdn/capi/kcapi.c: In function `capi_ctr_put':
drivers/isdn/capi/kcapi.c:90: error: dereferencing pointer to incomplete type make[3]: *** [drivers/isdn/capi/kcapi.o] Error 1

Quoted 4 lines

<-- snip -->

cu
Adrian

I checked it with test5 and test5-bk3, no error here, so it seems that it depends on your .config.
Please send me your .config in a PM.

Signature · 3 lines
Karsten Keil
SuSE Labs
ISDN development
#52 lore raw

Re: 2.6.0-test5: ISDN kcapi.c no longer compiles

In reply to Adrian Bunk
Quoted 10 lines · Adrian Bunk
Quoted 8 lines · Linus Torvalds

...
Summary of changes from v2.6.0-test4 to v2.6.0-test5
============================================
...
Karsten Keil:
...
o next fixes
...

Quoted 2 lines

It seems this change broke the compilation of kcapi.c:

Ah, with your .config now it's clear what was broken: none MODULE compile

drivers/isdn/capi/kcapi.c +4 -0
diff -ur -x '.built-in*' -x '.*cmd' linux-2.6.0-test5/drivers/isdn/capi/kcapi.c linux-2.6.0-test5-bk3/drivers/isdn/capi/kcapi.c
@@ -77,17 +77,21 @@
 static inline struct capi_ctr *
 capi_ctr_get(struct capi_ctr *card)
 {
+#ifdef MODULE
 	if (!try_module_get(card->owner))
 		return NULL;
 	DBG("Reserve module: %s", card->owner->name);
+#endif
 	return card;
 }
 
 static inline void
 capi_ctr_put(struct capi_ctr *card)
 {
+#ifdef MODULE
 	module_put(card->owner);
 	DBG("Release module: %s", card->owner->name);
+#endif
 }
 
 /* ------------------------------------------------------------- */

This should fix it.

Signature · 3 lines
Karsten Keil
SuSE Labs
ISDN development
#53 lore raw

Re: 2.6.0-test5: ISDN kcapi.c no longer compiles

Quoted 11 lines · Karsten Keil
Quoted 10 lines · Adrian Bunk
Quoted 8 lines · Linus Torvalds

...
Summary of changes from v2.6.0-test4 to v2.6.0-test5
============================================
...
Karsten Keil:
...
o next fixes
...

Quoted 6 lines
Quoted 2 lines

It seems this change broke the compilation of kcapi.c:

Ah, with your .config now it's clear what was broken: none MODULE compile
...
This should fix it.

Thanks, your patch fixed the compilation.

Quoted 1 line

Karsten Keil

cu
Adrian

Signature · 4 lines
       "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