commit 773208946a132fb733ba273ee8562814f828cc28 Author: Linus Torvalds Date: Thu Jul 12 17:06:50 2007 -0700 Revert "USB: fix gregkh-usb-usb-use-menuconfig-objects" This reverts commit acb11c8b8020f1f1b2545152020675ef32d09a58. It was broken. We most certainly *do* want the default to be the old behaviour (and the common case!), instead of breaking everybodys configuration and making 99% of all people have to override the default. What were you guys thinking? Signed-off-by: Linus Torvalds commit 9374430a52dfae5c013b88f7f030c04a6774d410 Merge: 66f4973... 13f9966... Author: Linus Torvalds Date: Thu Jul 12 16:46:58 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6: (149 commits) USB: ohci-pnx4008: Remove unnecessary cast of return value of kzalloc USB: additions to the quirk list usb-storage: implement autosuspend USB: cdc-acm: add new device id to option driver USB: goku_udc trivial cleanups USB: usb gadget stack can now -DDEBUG with Kconfig usb gadget stack: remove usb_ep_*_buffer(), part 2 usb gadget stack: remove usb_ep_*_buffer(), part 1 USB: pxa2xx_udc -- cleanups, mostly removing dma hooks USB: pxa2xx_udc: use generic gpio layer USB: quirk for samsung printer USB: usb/dma doc updates USB: drivers/usb/storage/unusual_devs.h whitespace cleanup USB: remove Makefile reference to obsolete OHCI_AT91 USB: io_*: remove bogus termios no change checks USB: mos7720: remove bogus no termios change check USB: visor and whiteheat: remove bogus termios change checks USB: pl2303: remove bogus checks and fix speed support to use tty_get_baud_rate() USB: mos7840.c: turn this into a serial driver USB: make the usb_device numa_node get assigned from controller ... commit 66f49739fe1591197364f2dad1b67b975e8f5e85 Merge: 0cdf699... 57e4acb... Author: Linus Torvalds Date: Thu Jul 12 16:46:01 2007 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] Un-break ia64 build commit 0cdf6990e992902ae59cbc625d28cb41390f378e Merge: de081fa... cec7c89... Author: Linus Torvalds Date: Thu Jul 12 16:45:40 2007 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (76 commits) IB: Update MAINTAINERS with Hal's new email address IB/mlx4: Implement query SRQ IB/mlx4: Implement query QP IB/cm: Send no match if a SIDR REQ does not match a listen IB/cm: Fix handling of duplicate SIDR REQs IB/cm: cm_msgs.h should include ib_cm.h IB/cm: Include HCA ACK delay in local ACK timeout IB/cm: Use spin_lock_irq() instead of spin_lock_irqsave() when possible IB/sa: Make sure SA queries use default P_Key IPoIB: Recycle loopback skbs instead of freeing and reallocating IB/mthca: Replace memset(, 0, PAGE_SIZE) with clear_page() IPoIB/cm: Fix warning if IPV6 is not enabled IB/core: Take sizeof the correct pointer when calling kmalloc() IB/ehca: Improve latency by unlocking after triggering the hardware IB/ehca: Notify consumers of LID/PKEY/SM changes after nondisruptive events IB/ehca: Return QP pointer in poll_cq() IB/ehca: Change idr spinlocks into rwlocks IB/ehca: Refactor sync between completions and destroy_cq using atomic_t IB/ehca: Lock renaming, static initializers IB/ehca: Report RDMA atomic attributes in query_qp() ... commit de081fa517fed81b0369f2e90ca87c30182879c8 Author: Linus Torvalds Date: Thu Jul 12 16:40:08 2007 -0700 Revert "[BNX2]: Seems to not need net/tcp.h" This reverts commit 963bd949b12158d9b5380b718b31c4b33372ed73. The driver _does_ need the networking header files; CC [M] drivers/net/bnx2.o drivers/net/bnx2.c: In function 'bnx2_start_xmit': drivers/net/bnx2.c:5177: warning: implicit declaration of function 'tcp_optlen' drivers/net/bnx2.c:5181: error: invalid application of 'sizeof' to incomplete type 'struct ipv6hdr' drivers/net/bnx2.c:5202: error: invalid application of 'sizeof' to incomplete type 'struct tcphdr' drivers/net/bnx2.c:5207: warning: implicit declaration of function 'tcp_hdr' drivers/net/bnx2.c:5207: error: invalid type argument of '->' make[2]: *** [drivers/net/bnx2.o] Error 1 make[1]: *** [drivers/net] Error 2 make: *** [drivers] Error 2 Cc: Ilpo Jävinen Cc: David Miller Signed-off-by: Linus Torvalds commit 13f9966b3ba5b45f47f2ea0eb0a90afceedfbb1f Author: Suresh Jayaraman Date: Thu Jun 28 11:16:30 2007 -0600 USB: ohci-pnx4008: Remove unnecessary cast of return value of kzalloc Remove unnecessary cast of return value of kzalloc() in usb/host/ohci-pnx4008.c Signed-off-by: Suresh Jayaraman Signed-off-by: Greg Kroah-Hartman commit 6c59649d49df4b9084bf407890734b5965d77b41 Author: Oliver Neukum Date: Tue Jul 10 14:12:08 2007 +0200 USB: additions to the quirk list this adds some scanners reported to be crashed by autosuspend to the quirk list. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 8dfe4b14869fd185ca25ee88b02ada58a3005eaf Author: Alan Stern Date: Fri Jul 6 14:24:27 2007 -0400 usb-storage: implement autosuspend This patch (as930) implements autosuspend for usb-storage. It is adapted from a patch by Oliver Neukum. Autosuspend is allowed except during LUN scanning, resets, and command execution. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit b0e2a705bffbfb70d9bed8b5f9094901f28d9563 Author: Andrey Arapov Date: Wed Jul 4 17:11:42 2007 +0200 USB: cdc-acm: add new device id to option driver USB: add new device id to option driver device is Samsung X180 China cellphone Signed-off-by: Andrey Arapov Acked-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 2d70c99b9340fa6c834fa6e32209e153f35a3e20 Author: David Brownell Date: Sun Jul 1 17:55:50 2007 -0700 USB: goku_udc trivial cleanups Minor fixes to goku_udc ... whitespace, let -DDEBUG do its thing, check the return value of device_register(), sparse tweaks. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 70790f6339a868e2a0d643f44899418f64a95943 Author: David Brownell Date: Sun Jul 1 17:35:28 2007 -0700 USB: usb gadget stack can now -DDEBUG with Kconfig Although the other USB driver directories got taught how use Kconfig and the Makefile to enable the debugging messages enabled by -DDEBUG, the gadget stack was overlooked. This patch remedies that omission, but doesn't update any drivers to remove previous idiosyncracies in this area ... other than the RNDIS code, which defined its own DEBUG() macro in a broken way. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit c67ab134ba9f83f9de86e58adfeaa14a9efa6e00 Author: David Brownell Date: Sun Jul 1 12:21:00 2007 -0700 usb gadget stack: remove usb_ep_*_buffer(), part 2 This patch removes controller driver infrastructure which supported the now-removed usb_ep_{alloc,free}_buffer() calls. As can be seen, many of the implementations of this were broken to various degrees. Many didn't properly return dma-coherent mappings; those which did so were necessarily ugly because of bogosity in the underlying dma_free_coherent() calls ... which on many platforms can't be called from the same contexts (notably in_irq) from which their dma_alloc_coherent() sibling can be called. The main potential downside of removing this is that gadget drivers wouldn't have specific knowledge that the controller drivers have: endpoints that aren't dma-capable don't need any dma mappings at all. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 9d8bab58b758cd5a96d368a8cc64111c9ab50407 Author: David Brownell Date: Sun Jul 1 11:04:54 2007 -0700 usb gadget stack: remove usb_ep_*_buffer(), part 1 Remove usb_ep_{alloc,free}_buffer() calls, for small dma-coherent buffers. This patch just removes the interface and its users; later patches will remove controller driver support. - This interface is invariably not implemented correctly in the controller drivers (e.g. using dma pools, a mechanism which post-dates the interface by several years). - At this point no gadget driver really *needs* to use it. In current kernels, any driver that needs such a mechanism could allocate a dma pool themselves. Removing this interface is thus a simplification and improvement. Note that the gmidi.c driver had a bug in this area; fixed. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit ad8c623f4f48085edd51c7f4cdfd10295547bf45 Author: David Brownell Date: Sat Jun 30 06:30:04 2007 -0700 USB: pxa2xx_udc -- cleanups, mostly removing dma hooks Cleanups to the pxa2xx_udc code: - Primarily removing unused DMA hooks. - One "sparse" warning removed - Remove some Lubbock-only LED hooks (for debugging) That DMA code was never really completed. It worked, mostly, for IN transfers (to the host) if they were fortuitously aligned, but that code was never fully tested. And it was never coded for OUT transfers (which is where DMA would really help) ... because of chip errata on essentially every chip other than the pxa255, and because of design botches (nothing automated data toggle). So it's effectively been dead code for several years now ... no point in keeping it around. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 9068a4c6467986e8fda5bdb29bd5f10c6788e2ff Author: Milan Svoboda Date: Sat Jun 30 06:25:35 2007 -0700 USB: pxa2xx_udc: use generic gpio layer This patch lets the pxa2xx_udc use the generic gpio layer, on the relevant PXA and IXP systems. Signed-off-by: Milan Svoboda Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit e4f747373cd96c86db3c64c21710748c6889c03c Author: Oliver Neukum Date: Fri Jun 29 08:44:37 2007 +0200 USB: quirk for samsung printer this printer does not survive suspension. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit fbf54dd32001359ccda6a9d8577f7b00e67357c7 Author: David Brownell Date: Sun Jul 1 23:33:12 2007 -0700 USB: usb/dma doc updates This patch updates some of the documentation about DMA buffer management for USB, and ways to avoid extra copying. Our understanding of the issues has improved over time. - Most drivers should *avoid* the dma-coherent allocators. There are a few exceptions (like the HID driver). - Some methods are currently commented out; it seems folk writing USB drivers aren't doing performance tuning at that level yet. - Just avoid highmem; there's no good way to pass an "I can do highmem DMA" capability through a driver stack. This is easy, everything already avoids highmem. But it'd be nice if x86_32 systems with much physical memory could use it directly with network adapters and mass storage devices. (Patch, anyone?) Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit c0e0c19cc9d899da0ee15104907ac158eb94365b Author: S.Caglar Onur Date: Wed Jul 4 13:52:47 2007 -0700 USB: drivers/usb/storage/unusual_devs.h whitespace cleanup Following patch removes trailing whitespaces at the ends of lines and converts smarttabs/whitespaces into real tabs. Signed-off-by: S.Caglar Onur Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman commit a603c665516a3cb9df6abafad491bef24cc87aa5 Author: Robert P. J. Day Date: Mon Jul 9 12:03:13 2007 -0700 USB: remove Makefile reference to obsolete OHCI_AT91 Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 6dc731024347ab499c3fc0347ab90d972771b8a1 Author: Alan Cox Date: Mon Jul 9 12:03:12 2007 -0700 USB: io_*: remove bogus termios no change checks Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit eb58c0c5f2b3cf6306a184cdf1c751155b7ddb3b Author: Alan Cox Date: Mon Jul 9 12:03:12 2007 -0700 USB: mos7720: remove bogus no termios change check Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 9a64f251326154dcd40b21a6980fe2ab9537dde7 Author: Alan Cox Date: Mon Jul 9 12:03:11 2007 -0700 USB: visor and whiteheat: remove bogus termios change checks Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit e0c79f512cf469bc11fe9d53a4dcc5d0c39a3b79 Author: Alan Cox Date: Mon Jul 9 12:03:10 2007 -0700 USB: pl2303: remove bogus checks and fix speed support to use tty_get_baud_rate() Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 31473aae5afb11f0c5217dafdbc9df8a470071aa Author: Alan Cox Date: Mon Jul 9 12:03:10 2007 -0700 USB: mos7840.c: turn this into a serial driver The MOS driver is "interesting", in a bad kind of 'how the hell did this get merged' kind of way - Remove the bogus termios change check - Remove the duplicate code for half the ioctls - Remove the supporting code to duplicate the ioctl code Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 70f458f668aa09cc45384728dec434f2975a3947 Author: Yinghai Lu Date: Mon Jul 9 12:03:09 2007 -0700 USB: make the usb_device numa_node get assigned from controller So we can use dev_to_node(&usb_dev->dev) later in kmalloc_node to dma buffer Signed-off-by: Yinghai Lu Cc: Andi Kleen Acked-by: Christoph Lameter Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 0ffbbe25a73db12792a05f725aa39f8a5de2c882 Author: Oliver Neukum Date: Mon Jul 9 12:03:08 2007 -0700 USB: ftdi_sio: fix oops due to processing workarounds too early Fix an oops that happens in relation with applying work arounds for buggy ftdi_sio devices. The quirks were handled too early because due to changes in the initialisation of usb serial devices the device was not fully initialised when the old hook was called. Addresses bug 8564 Cc: Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit a69228deefea57ca27c17a196e5727b091c6d323 Author: Matthias Kaehlcke Date: Mon Jul 9 12:03:07 2007 -0700 USB: drivers/block/ub.c: use list_for_each_entry() Low performance USB storage driver: Use list_for_each_entry() instead of list_for_each() Signed-off-by: Matthias Kaehlcke Cc: Pete Zaitcev Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit acb11c8b8020f1f1b2545152020675ef32d09a58 Author: Jan Engelhardt Date: Mon Jul 9 12:03:06 2007 -0700 USB: fix gregkh-usb-usb-use-menuconfig-objects Generally, Jens Axboe was against 'default y', so I'll have some patches to remove it. Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 8d6d5fd05088c023bb8b22a4bd0067c21f9c5f18 Author: Venki Pallipadi Date: Mon Jul 9 12:03:06 2007 -0700 USB: Make usb-autosuspend timer 1 sec jiffy aligned Make usb autosuspend timers 1sec jiffy aligned. This helps to reduce the frequency at which the CPU must be taken out of a lower-power state. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 8e80e753ea654ae0a66b33e404c0a517b34cb6e1 Author: Jeremy Katz Date: Tue Jun 19 17:16:10 2007 -0400 USB: Don't autosuspend Blackberry devices. Blackberry devices charge over USB. By autosuspending the port, they are not able to charge reliably. Signed-off-by: Jeremy Katz Signed-off-by: Greg Kroah-Hartman commit 49bb607fa0bd94e4855ee695f9ed3ecee7579cc6 Author: Jeremy Katz Date: Tue Jun 19 17:15:38 2007 -0400 USB: Support Blackberry Pearl with berry_charge The Blackberry Pearl (8100) needs similar tweaks as older Blackberry models to be able to charge when connected via USB. The Pearl also adds an additional need to go into a separate mode for fully accessing the device; do that by default as well. Changes based on the changes from bcharge in the barry project (http://barry.sf.net) Signed-off-by: Jeremy Katz Signed-off-by: Greg Kroah-Hartman commit 165fe97ed6107d3cde63592d5ac36400a5eb9f6f Author: Craig W. Nadler Date: Fri Jun 15 23:14:35 2007 -0400 USB: add IAD support to usbfs and sysfs USB_IAD: Adds support for USB Interface Association Descriptors. This patch adds support to the USB host stack for parsing, storing, and displaying Interface Association Descriptors. In /proc/bus/usb/devices lines starting with A: show the fields in an IAD. In sysfs if an interface on a USB device is referenced by an IAD the following files will be added to the sysfs directory for that interface: iad_bFirstInterface, iad_bInterfaceCount, iad_bFunctionClass, and iad_bFunctionSubClass, iad_bFunctionProtocol Signed-off-by: Craig W. Nadler Signed-off-by: Greg Kroah-Hartman commit 50d2dc7266573dfbdc84fc207494dd21315782ef Author: Greg Kroah-Hartman Date: Mon Jun 25 01:08:01 2007 -0700 USB: mos7720: change developer email addresses Update the original developer's email addresses at their request. Cc: Vijaya Kumar Cc: Ajay Kumar Cc: Gurudeva Signed-off-by: Greg Kroah-Hartman commit 8ccef0df54642f0f72f922d8aa57e8b290e31671 Author: Alan Stern Date: Thu Jun 21 16:26:46 2007 -0400 USB: Fix off-by-1 error in the scatter-gather library The loop in usb_sg_wait() is structured in a way that makes it hard to tell, when the loop exits, whether or not the last URB submission succeeded. This patch (as928) changes it from a "for" loop to a "while" loop and keeps "i" always equal to the number of successful submissions. This fixes an off-by-one error which can show up when the first URB submission fails. The patch also removes a couple of lines that initialize fields which don't need to be initialized. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit cfa59dab27d1b282886e7772a8f9548236883892 Author: Alan Stern Date: Thu Jun 21 16:25:35 2007 -0400 USB: Don't resume root hub if the controller is suspended Root hubs can't be resumed if their parent controller device is still suspended. This patch (as925) adds a check for that condition in hcd_bus_resume() and prevents it from being treated as a fatal controller failure. ehci-hcd is updated to add the corresponding test. Unnecessary debugging messages are removed from uhci-hcd and dummy-hcd. The error return code from dummy-hcd is changed to -ESHUTDOWN, the same as the others. ohci-hcd doesn't need any changes. Suspend handling in the non-PCI host drivers is somewhat hit-and-miss. This patch shouldn't have any effect on them. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit e7e6da9eb189dfa221e3bf9c21d58f02adc8983c Author: Alan Stern Date: Thu Jun 21 16:25:17 2007 -0400 USB: Remove usages of dev->power.power_state This patch (as922) removes all but one of the remaining vestiges of dev->power.power_state from usbcore. The only usage left must remain until the deprecated "power/state" sysfs attribute is gone. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 317c67b8f7092db325a3df825646eb26982908c6 Author: Pete Zaitcev Date: Thu Jun 21 12:44:56 2007 -0700 USB: usblp: add dynamic URBs, fix races This patch's main bulk aims to make usblp the premier driver for code pillaging once again. The code is as streamlined as possible and is bug-free as possible. The usb-skeleton performs the same function, but is somewhat abstract. The usblp is usb-skeleton which is actually used by many. Since I combed a few small bugs away, this also fixes the small races we had in usblp for a while. For example, now it's possible for several threads to make write(2) calls (sounds silly, but consider a printer for paper record, where every line of text is self-contained and thus it's all right to have them interleaved). Also gone are issues with interrupts using barriers dangerously. This patch makes use of Oliver's anchor, and so it must trail the anchor patch on the way to Linus. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 73e4fb3f70987b36fd0f16b5f762b2018ab84e4f Author: Pete Zaitcev Date: Thu Jun 21 15:18:35 2007 -0700 USB: Pete's taking over usblp Vojtech agreed to pass usblp over to me, so if you find bugs don't bug him. Signed-off-by: Pete Zaitcev Signed-off-by: Vojtech Pavlik Signed-off-by: Greg Kroah-Hartman commit 7542548fd843f3d49068f17a082069319f19992a Author: Li Yang Date: Tue Jun 19 17:33:48 2007 +0800 USB: fsl_usb2_udc: fix bug for portsc bit masking Fix a bug that PORT_TYPE and PORT_WIDTH aren't masked correctly in portsc. Signed-off-by: Christopher Cason Signed-off-by: Li Yang Signed-off-by: Greg Kroah-Hartman commit 7bbe990c989ee16f2c1be3e4ae28f8004bec788c Author: Oliver Neukum Date: Wed Jun 13 17:13:31 2007 +0200 USB: autosuspend for usblcd this patch implements autosuspend for the usblcd driver. It uses the new usb_anchor infrastructure. Many thanks to Georges for testing. Signed-off-by: Oliver Neukum Cc: Georges Toth Signed-off-by: Greg Kroah-Hartman commit 55b3fd41b0846929f68b5fb1058ad8077289f584 Author: Haavard Skinnemoen Date: Thu Jun 14 18:01:45 2007 +0200 usb gadget: Rename husb2dev -> usba husb2dev was the internal name of the USB Device Controller on AT32AP7000. Rename it to "atmel_usba", which is closer to the official name used in documentation and marketing material. Signed-off-by: Haavard Skinnemoen Signed-off-by: Greg Kroah-Hartman commit 8b3b01c898a44c2fc7217eb579982b9d132113f5 Author: Marcel Holtmann Date: Wed Jun 13 08:02:11 2007 +0200 USB: Add URB_FREE_BUFFER flag and the logic behind it USB: Add URB_FREE_BUFFER flag for freeing the transfer buffer In some cases it is not needed that the driver keeps track of the transfer buffer of an URB. It can be simply freed along with the URB itself when the reference count goes down to zero. The new flag URB_FREE_BUFFER enables this behavior. Signed-off-by: Marcel Holtmann Signed-off-by: Greg Kroah-Hartman commit 300871cd963e24a68aaa9b762f4a10403697d9be Author: Laurent Pinchart Date: Tue Jun 12 21:47:17 2007 +0200 USB: Fix up full-speed bInterval values in high-speed interrupt descriptor Many device manufacturers are using full-speed bInterval values in high-speed interrupt endpoint descriptors. If the bInterval value is greater than 16, assume the device uses full-speed descriptors and fix the value accordingly. Signed-off-by: Laurent Pinchart Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 87d093e25d73249ae92b28ae88db92eaea7df70f Author: Oliver Neukum Date: Mon Jun 11 14:55:51 2007 +0200 USB: usb-skeleton: use anchors in pre/post reset use anchors in pre/post_reset Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 758f7e161b1da3039368bf7180b9d9f4c33453da Author: Oliver Neukum Date: Mon Jun 11 14:55:08 2007 +0200 USB: usb-skeleton" use anchors in suspend/resume handling use anchors in suspend/resume handling Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit e73c7247b8e10a74cbf6b7430585e02c7cc05444 Author: Oliver Neukum Date: Mon Jun 11 14:54:02 2007 +0200 USB: usb-skeleton: use anchors in disconnect handling use anchors in disconnect handling Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit a6ea438b6d38689b7f876093bcba4505fe1995d1 Author: Alan Cox Date: Fri Jun 22 14:44:54 2007 +0100 USB: serial: ir_usb: Clean up the worst of it, remove exciting 'crash on open' feature - Drivers don't call ldisc termios methods. They certainly don't call them the way this one does - remove wrong call - The tty buffer code isn't designed to be abused from IRQ handlers and the new buffering removes the need for the uglies involved - fix them - Style - Remove incorrect baud and change handling for termios changes The driver now has some style, but not a lot - it goes insane if you have two dongles for example as it continues to use global variables for per dongle state. That bit isn't my problem. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 9a8baec77205dfe14f98a4e291c830a311125a8b Author: Alan Cox Date: Fri Jun 22 14:40:18 2007 +0100 USB: serial: belkin_sa: Various needed fixes Use the baud rate stuff from the kernel don't parse CBAUD directly Remove pointless and wrong 'no change' check Could do with some good testing as well but again better than adding && BROKEN (The use of BELKIN_SA_BAUD() might seem a bit odd but x/a = b and x/b = a (rounded for integers)). Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 568c24adeaa4d9ec2fd04c6ae226eeb673a385db Author: Alan Cox Date: Fri Jun 22 14:36:29 2007 +0100 USB: serial: ark3116.c: Mixed fixups o Don't parse the cflag for baud rates, its not valid to do so any more and this driver got it wrong anyway o Don't do clever termios change checks in drivers and get them wrong (arguably we should do some smart ones in the tty core but stty to change nothing is *not* a common or critical path I don't have the hardware so if you can test this carefully please do. I thought fixing it up this far was better than marking it and other bits of USB serial && BROKEN Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 9e85c5f63268a5700860f53e52b090973652a5b2 Author: Greg Kroah-Hartman Date: Wed Jun 20 14:22:23 2007 +0900 USB: sierra: cleanup the startup and shutdown path This removes the ugly code that was copied from the keyspan driver and allocates the in urbs in a much shorter code path that can be understood easier. Also turned off the interrupt urb when no port was open as it's not nice to keep the bus busy for no good reason at all (this should be a power savings.) All in all, this saved over 40 lines of code and cleaned things up better. Cc: Kevin Lloyd Signed-off-by: Greg Kroah-Hartman commit 17c2327419a889293fb955baf0c69a7d38c5809c Author: Greg Kroah-Hartman Date: Wed Jun 20 14:22:23 2007 +0900 USB: sierra: remove incorrect usage of the urb status field You can't rely on the fact that the status really is correct like it was. Also simplified the write path and now we allocate the urb and data on the fly, instead of trying to do that really odd timeout check which I am guessing doesn't really work properly. This should speed up the device by keeping the hardware queue full easier. As a benefit, this reduces the size of the driver. Cc: Kevin Lloyd Signed-off-by: Greg Kroah-Hartman commit 05400013698776a71b1e401ceacf709bda3d1517 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: whiteheat: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit 38e8c910ff7a1aafe2923f085df0f74a60f9de3c Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: visor: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit 52171b480865985c060a58fa3cbcd31ba6e13f75 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: ti_usb_3410_5052: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Al Borchers Cc: Peter Berger Signed-off-by: Greg Kroah-Hartman commit 17dd2215adee8c988b88308671cc20a69839a850 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: sierra: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Kevin Lloyd Signed-off-by: Greg Kroah-Hartman commit 3a75ab943688d765cdb60b33f3f9db72c752c521 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: safe_serial: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Stuart Lynne Cc: Tom Rushworth Signed-off-by: Greg Kroah-Hartman commit 461d696aeeae294ad22dfcaae462d1757f955778 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: pl2303: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit 78c26aebd9f4d29f9bd163c7c47f2c89991fcdb1 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: oti6858: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit d6977b51d5faa8649bbab0e53455e8421d425ce1 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: option: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Matthias Urlichs Signed-off-by: Greg Kroah-Hartman commit fdc2deb3892e802e916d1df7b1587aa0dbf3b271 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: omninet: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit 9965d612631c62c2018973080fa03396f49fce59 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: navman: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit 0643c72435bcd36980314de825773989d4dca97f Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: mos7840: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Paul Schroeder Signed-off-by: Greg Kroah-Hartman commit 81105984848481d8876e454e3c503dbd0e8e4dce Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: mos7720: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: VijayaKumar G.N. Cc: AjayKumar Cc: Gurudeva N. Signed-off-by: Greg Kroah-Hartman commit e96da398ce32c0e2af5eee772feb112323f027b4 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: mct_u232: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Wolfgang Grandegger Signed-off-by: Greg Kroah-Hartman commit 6fcdcf04e391c033eb9a558a744d8729d52e646e Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: kobil_sct: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Thomas Wahrenbruch Signed-off-by: Greg Kroah-Hartman commit 17c1b35a469b5e518b88cc509562ccfb44950145 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: kl5kusb105: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Utz-Uwe Haus Signed-off-by: Greg Kroah-Hartman commit 23189aee76c3297c7ff797ca8bc8e314783039ef Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: keyspan_pda: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit 95b934548049e2fd6a67853c6b5055c073bf6961 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: keyspan: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit 3152b74f92048223263c54383b3639a2939d853a Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: ir-usb: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Gary Brubaker Signed-off-by: Greg Kroah-Hartman commit b4a1579772667f9ebc0c9e26ed0b674966085e85 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: ipw: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Roelf Diedericks Signed-off-by: Greg Kroah-Hartman commit 2362deb5782d9861a0dade72e2e29114652c69a3 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: ipaq: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Ganesh Varadarajan Signed-off-by: Greg Kroah-Hartman commit ee337c212ad5d61fd58cfa6a4e48a84497495ebc Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: io_ti: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Al Borchers Cc: Peter Berger Signed-off-by: Greg Kroah-Hartman commit 2a393f5fd872fad99d639812087383111074cfeb Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: io_edgeport: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Al Borchers Cc: Peter Berger Signed-off-by: Greg Kroah-Hartman commit fbd272254b034e22a5157af51c8c5907a8f69614 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: generic: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit f9feb517faf03ee85de6e2467f7fcb87c1af2258 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: garmin_gps: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Hermann Kneissel Signed-off-by: Greg Kroah-Hartman commit 0fb0aa188d0e61d58485288071e73d3766513f2a Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: ftdi_sio: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Kuba Ober Signed-off-by: Greg Kroah-Hartman commit 335202f44a9a68902a80e09ba33aa4eaddc9c8ed Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: empeg: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Gary Brubaker Signed-off-by: Greg Kroah-Hartman commit 85d75107117eca0e29ac3da8cb82b45f9cd3a7fa Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: digi_acceleport: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Peter Berger Cc: Al Borchers Signed-off-by: Greg Kroah-Hartman commit 8d7bc55ecf86d1488996c4619642b4557e5e42f1 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: cypress_m8: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Lonnie Mendez Cc: Neil Whelchel Signed-off-by: Greg Kroah-Hartman commit 7dcc85cd9b7134bbcdc50dc14ccfc7c49f092506 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: cyberjack: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Signed-off-by: Greg Kroah-Hartman commit f26aad25d2c336a1efd393aff17bfe975b04fed5 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: belkin_sa: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit d3434cf6916d9014d7906b3b2513f8fe325a6d5c Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: airprime: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit 1373dbbca55503804ed191ba3914af68ce01e4bc Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: aircable: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit 4d0dce3e0b794942407391c52f8dd2760802f391 Author: Greg Kroah-Hartman Date: Tue Jun 12 11:43:37 2007 -0700 USB: fix up license wording on some of my usb-serial drivers Also update the copyright date on the pl2303 driver, as it was out of date. Signed-off-by: Greg Kroah-Hartman commit 9f6a93f7bbb6d73ca0e43c000f3bbf521cd4f782 Author: Pete Zaitcev Date: Fri Jun 8 13:37:49 2007 -0700 usb: free DMA mappings if enqueue fails This patch releases DMA resources if enqueue fails in the HCD. Linux had this bug ever since we converted from virt_to_bus for 2.4. It is difficult to hit. A user would need a significant memory pressure or some other unusual condition. It was reported to me by IBM. They ran a management application for RSA II adapters which sent Bulk requests to an Interrupt endpoint. Submissions got rejected by HCD due to an invalid interval value and the swiotlb pool became depleted in the matter of hours. We fixed the invalid interval issue in devio.c separately, but this seems to be a bug worth fixing as well. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 60aac1ec26b960fe77bf600457bc6c06f8aa7db4 Author: Alan Stern Date: Fri Jun 8 15:25:02 2007 -0400 USB: Handle bogus low-speed Bulk endpoints A noticeable number of low-speed devices mistakenly include descriptors for Bulk endpoints, which is forbidden by the USB spec. In an attempt to make such devices more usable, this patch (as924) converts the descriptors to Interrupt with an interval of 1 ms. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 52f6b5e1f15fa8c06efa69a4b5faa69c04707c92 Author: Benny Halevy Date: Tue May 15 11:15:27 2007 +0300 synchronization in usb_serial_put I think there is a race between usb_serial_put() and usb_serial_get_by_index() (and get_free_serial()) with regards to handling the serial port refcount. usb_serial_get_by_index() gets a reference on the serial port under table_lock while return_serial releases all the returned ports from the table under the same lock. However, the table_lock is not taken around the call to kref_put, theoretically allowing to sneak in and grab a reference after kref_put has already determined that the reference count is zero (and before calling destroy_serial) causing use after free. Signed-off-by: Benny Halevy Cc: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit efdff60885e36b5091cdc47742dd5768ff4119be Author: Oliver Neukum Date: Tue Jun 5 10:50:48 2007 +0200 USB: io_ti: sleep with spinlock held detected by automatic tool this fixes the sleep found with the automatic tool. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 756aa6b3d536afe85e151138cb03a293998887b3 Author: Christian Engelmayer Date: Wed May 30 11:04:48 2007 -0700 ehci-hub: improved over-current recovery According to the USB Specification Revision 2.0 chapter 11.12.5 a hub experiencing an over-current condition must place all affected ports in the powered-off state. It seems that some root hubs need port power to be cycled by software in order to get back to normal functionality after an over-current condition ... like the EHCI implementation on an MPC8343E. Signed-off-by: Christian Engelmayer Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 648dcfc805ea1308552225e96113dc60e054f2f0 Author: David Brownell Date: Thu Jun 7 14:13:26 2007 -0700 USB: usb host side can be configured given PCMCIA Platforms with PCMCIA support can implement host-side USB with "sl811_cs", so make sure this menu shows up on platforms with PCMCIA. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit ed76cacbea08ebfdb678c8687f98237cb7c67bb6 Author: Alan Stern Date: Thu Jun 7 17:12:25 2007 -0400 USB: usb-storage: use kthread_stop() for the control thread This patch (as923) makes usb-storage's control thread use kthread_should_stop()/kthread_stop(). The scanning thread can't be similarly converted until the core kthread implementation allows threads to call do_exit(). The advantage of this change is that we can now be certain the control thread has terminated before storage_disconnect() returns. This will simplify the locking requirements when autosuspend support is added. Signed-off-by: Alan Stern Signed-off-by: Matthew Dharm Signed-off-by: Greg Kroah-Hartman commit 3fc154b6b8134b98bb94d60cad9a46ec1ffbe372 Author: Arnaud Patard Date: Wed Jun 6 21:05:49 2007 -0700 USB Gadget driver for Samsung s3c2410 ARM SoC This patch adds the support for the Usb Device Controller on Samsung S3C24xx SoCs. This driver passes all tests from testusb (including #13) and has been tested on S3C2410, S3C24212, and S3C2440 SoCs. Whitespace updates, minor cleanups by David Signed-off-by: Arnaud Patard Signed-off-by: Ben Dooks Cc: Herbert Pötzl Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 7a4eb7fd50d4df99fc1f623e6d90680d9fca3d82 Author: Geoff Levand Date: Tue Jun 5 20:04:35 2007 -0700 USB: PS3: USB system-bus rework USB HCD glue updates to reflect the new PS3 unifed device support. - Fixed remove() routine. - Added shutdown() routine. - Added request_mem_region() call. - Fixed MODULE_ALIAS(). - Made a proper fix for the hack done to support muti-platform in commit 48fda45120a819ca40cadc50144b55bff1c4c78d. Signed-off-by: Geoff Levand Cc: Paul Mackerras Signed-off-by: Greg Kroah-Hartman commit 59c2afa072506aae10ef93126aab651142e0c908 Author: Alan Stern Date: Tue Jun 5 16:46:26 2007 -0700 USB: option: fix usage of urb->status abuse Might fix bug 8561 On Mon, 4 Jun 2007, Paulo Pereira wrote: > The patch that you send is not resolving the problem... :( > I stil have Kernel panic after 45/60 min of work with Ktorrent/Amule... > > The Drump is: > > Call Trace: > [] usb_hcd_submit+0xb1/0x763 > [] ipt_do_table+0x2c7/0x2ef [ip_tables] > [] nf_ct_deliver_cached_events+0x41/0x96 [nf_conntrak] > [] ipv4_confirm+0x36/0c3b [nf_conntrack_ipv4] > [] tcp_v4_rcv+0x827/0x899 > [] nf_hook_slow+0x4d/0xb5 > [] irq_enter+0x19/0x23 > [] irq_enter+0x19/0x23 > [] do_IRQ+0xbd/0xd1 > [] option_write+0xa7/0xef [option] Okay, from this it looks like there's a problem in the option.c serial driver. Glancing at the code, it's obvious why: The thing totally abuses the USB API. Try applying this patch; it should help. From: Alan Stern Cc: Paulo Pereira Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 4365831dadfeeeb4c9f8c4944e48ccf78c27f845 Author: Li Yang Date: Wed Jun 6 21:13:44 2007 -0700 USB: fsl_usb2_udc: Get max ep number from DCCPARAMS register Currently the driver is expecting max ep number in platform data which isn't passing this information. This patch fix the problem by reading it from DCCPARAMS(Device Controller Capability Parameters) register. The change also need some reordering of the probe code. Signed-off-by: Li Yang Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 37b5453dd4dafccec3fad636c28f1c3e3e14354f Author: Li Yang Date: Thu Jun 7 16:07:18 2007 +0800 USB: fsl_usb2_udc: replace deprecated irq flag Signed-off-by: Li Yang Signed-off-by: Greg Kroah-Hartman commit b41a60eca833d76593d4dac8a59f5c38714194ee Author: Alan Stern Date: Wed May 30 15:39:33 2007 -0400 USB: add power/persist device attribute This patch (as920) adds an extra level of protection to the USB-Persist facility. Now it will apply by default only to hubs; for all other devices the user must enable it explicitly by setting the power/persist device attribute. The disconnect_all_children() routine in hub.c has been removed and its code placed inline. This is the way it was originally as part of hub_pre_reset(); the revised usage in hub_reset_resume() is sufficiently different that the code can no longer be shared. Likewise, mark_children_for_reset() is now inline as part of hub_reset_resume(). The end result looks much cleaner than before. The sysfs interface is updated to add the new attribute file, and there are corresponding documentation updates. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 54515fe528d8c6f9bfaf7d0b9fffb908deecad78 Author: Alan Stern Date: Wed May 30 15:38:58 2007 -0400 USB: unify reset_resume and normal resume This patch (as919) unifies the code paths used for normal resume and for reset-resume. Earlier I had failed to note a section in the USB spec which requires the host to resume a suspended port before resetting it if the attached device is enabled for remote wakeup. Since the port has to be resumed anyway, we might as well reuse the existing code. The main changes are: usb_reset_suspended_device() is eliminated. usb_root_hub_lost_power() is moved down next to the hub_reset_resume() routine, to which it is logically related. finish_port_resume() does a port reset() if the device's reset_resume flag is set. usb_port_resume() doesn't check whether the port is initially enabled if this is a USB-Persist sort of resume. Code to perform the port reset is added to the resume pathway for the non-CONFIG_USB_SUSPEND case. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit f07600cf9eb3ee92777b2001e564faa413144a99 Author: Alan Stern Date: Wed May 30 15:38:16 2007 -0400 USB: add reset_resume method This patch (as918) introduces a new USB driver method: reset_resume. It is called when a device needs to be reset as part of a resume procedure (whether because of a device quirk or because of the USB-Persist facility), thereby taking over a role formerly assigned to the post_reset method. As a consequence, post_reset no longer needs an argument indicating whether it is being called as part of a reset-resume. This separation of functions makes the code clearer. In addition, the pre_reset and post_reset method return types are changed; they now must return an error code. The return value is unused at present, but at some later time we may unbind drivers and re-probe if they encounter an error during reset handling. The existing pre_reset and post_reset methods in the usbhid, usb-storage, and hub drivers are updated to match the new requirements. For usbhid the post_reset routine is also used for reset_resume (duplicate method pointers); for the other drivers a new reset_resume routine is added. The change to hub.c looks bigger than it really is, because mark_children_for_reset_resume() gets moved down next to the new hub_reset_resume() routine. A minor change to usb-storage makes the usb_stor_report_bus_reset() routine acquire the host lock instead of requiring the caller to hold it already. Signed-off-by: Alan Stern Signed-off-by: Jiri Kosina CC: Matthew Dharm Signed-off-by: Greg Kroah-Hartman commit 624d6c0732d2c4ac00945ad79dbb6ff39ba90ee3 Author: Alan Stern Date: Wed May 30 15:35:16 2007 -0400 USB: remove excess code from hub.c This patch (as917) removes a now-unnecessary level of subroutine nesting from hub.c. Since usb_port_suspend() does nothing but call hub_port_suspend(), and usb_port_resume() does nothing but call hub_port_resume(), there's no reason to keep the routines separate. Also included in the patch are a few cosmetic changes involving whitespace and use of braces. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 686314cfbdac21c9019c0e04487b5d940db62406 Author: Alan Stern Date: Wed May 30 15:34:36 2007 -0400 USB: separate root and non-root suspend/resume This patch (as916) completes the separation of code paths for suspend and resume of root hubs as opposed to non-root devices. Root hubs will be power-managed through their bus_suspend and bus_resume methods, whereas normal devices will use usb_port_suspend() and usb_port_resume(). Changes to the hcd_bus_{suspend,resume} routines mostly represent motion of code that was already present elsewhere. They include: Adding debugging log messages, Setting the device state appropriately, and Adding a resume recovery time delay. Changes to the port-suspend and port-resume routines in hub.c include: Removal of checks for root devices (since they will never be triggered), and Removal of checks for NULL or invalid device pointers (these were left over from earlier kernel versions and aren't needed at all). Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 4956eccdd6101c5abb71966079e8183d12796d6c Author: Alan Stern Date: Wed May 30 16:51:28 2007 -0400 USB: remove __usb_port_suspend This patch (as915b) combines the public routine usb_port_suspend() and the private routine __usb_port_suspend() into a single function. By removing the explicit mention of otg_port in the call to __usb_port_suspend(), we prevent a possible error in which the system tries to perform HNP on the wrong port when a non-targeted device is plugged into a non-OTG port. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit d576bb9f2769b315a795f77f0c33322a976add7a Author: Michael Hanselmann Date: Thu May 31 23:34:27 2007 +0200 USB: Fix NEC OHCI chip silicon bug This patch fixes a silicon bug in some NEC OHCI chips. The bug appears at random times and is very, very difficult to reproduce. Without the following patch, Linux would shut the chip and its associated devices down. In Apple PowerBooks this leads to an unusable keyboard and mouse (SSH still working). The idea of restarting the chip is taken from public Darwin code. Signed-off-by: Michael Hanselmann Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit 020363384adfb02f26c1c038a127ed3da3d5cf37 Author: Tony Lindgren Date: Tue May 29 09:57:41 2007 -0700 USB: Disable file_storage USB_CONFIG_ATT_WAKEUP Disable file_storage USB_CONFIG_ATT_WAKEUP as it requires user interaction during Chapter 9 tests. Signed-off-by: Tony Lindgren Acked-by: Alan Stern Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit d23a13779f14808b54181d31222e6c44532abd80 Author: Vladimir Barinov Date: Wed May 23 20:07:48 2007 +0400 USB: EHCI: Safe endianness for transfer buffers after reset in case of HUB with TT This patch fixes the endianness select for transfer buffers in EHCI controllers that have Transaction Translator built in the hub. Also I cleaned it up to make rid of magic numbers. Signed-off-by: Vladimir Barinov Cc: Signed-off-by: Greg Kroah-Hartman commit 5fea2a4dabdfa1ad59845c42ea770ee8cb41ecad Author: Al Borchers Date: Wed May 23 12:24:53 2007 -0700 USB: digi_acceleport further buffer clean up Some further cleanup after Oliver's patch to update the tty buffering. The input buffer is not used at all anymore, so I removed it. Signed-off-by: Al Borchers Signed-off-by: Greg Kroah-Hartman commit 08a2b3b610a734a6d6e4ff0455eec1241966fcb3 Author: Oliver Neukum Date: Thu May 24 13:52:51 2007 +0200 USB: whiteheat driver update this is an update of the whiteheat driver. It fixes: - switch from spinlocks to mutexes to prevent sleeping with a spinlock held - locking to stop races with disconnect - error handling for commands that time out Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 403dfb58c3134a339e415fba9f6d45b51c6ee357 Author: Oliver Neukum Date: Fri May 25 13:42:56 2007 +0200 USB: usb-skeleton: usb anchor to implement flush This patch set introduces usb_anchor and uses it to implement all modern APIs in the skeleton driver. - proper error reporting in the skeleton driver - implementation of flush() Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 51a2f077c44e559841b09de6da605b4d3ae40dad Author: Oliver Neukum Date: Fri May 25 13:40:56 2007 +0200 USB: introduce usb_anchor - introduction of usb_anchor and its methods Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit ffcdc18d64d73ecce49c182f969977ae88ff4384 Author: Vikram Pandita Date: Fri May 25 21:31:07 2007 -0700 USB Core: hub.c: prevent re-enumeration on HNP Patch is to prevent the OTG host of doing 3 times enumeration of device when the Host suspends for HNP. The error code used in this case is ENOTSUPP. Signed-off-by: Vikram Pandita Acked-by: Alan Stern Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit b29dbbd811b006deea85275e37fc1a09e8983d48 Author: David Brownell Date: Fri May 25 20:40:31 2007 -0700 USB: usb serial gadget, sparse fixes Fix a few serial gadget issues reported by the latest "sparse": some functions should have been defined as static, not just declared that way. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 715f9527c1c1edd1a9c7a55ab4535211279c9374 Author: t.sefzick Date: Wed Apr 25 15:05:22 2007 +0200 USB: flow control fix for pl2303 in order to be able to switch back to 'flow-control none' after having activated 'flow-control rts/cts', I made a small change to 'pl2303.c'. Signed-off-by: Greg Kroah-Hartman commit 1abdeeb1d566f74bc5b3e68447d91c8c37d47942 Author: Oliver Neukum Date: Mon May 7 12:09:33 2007 +0200 USB: generic usb serial to new buffering scheme the generic driver also had its own buffering. Signed-off-by: Oliver Neukum commit 39892da44b21b5362eb848ca424d73a25ccc488f Author: Oliver Neukum Date: Mon May 7 13:16:58 2007 +0200 USB: Digi AccelePort adapted to new tty buffering this fixes the flushing trouble due to its own buffering for this driver. Signed-off-by: Oliver Neukum Cc: Al Borchers Signed-off-by: Greg Kroah-Hartman commit b308e74d9c708ee2a9af14fbe235e0a41216f4ed Author: Oliver Neukum Date: Mon May 7 10:37:08 2007 +0200 USB: visor driver adapted to new tty buffering the new tty buffering code allows usb drivers to stop private buffering. In fact we must do so to allow flushing to work correctly. This does so for the visor driver. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit a5262dcfda9163ca1f8a64349a6f7ba640ac1dc2 Author: David Brownell Date: Mon May 14 19:36:41 2007 -0700 USB: export as Make sure gadgetfs userspace interface is properly exported: - Move to ; - Export it using Kbuild; - Add an #include guard; - Correct some internal documentation; - Update struct layout so it's the same on 32/64 bit kernels. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 8234509c3968a87faa301a8a9d7f8b987cd9181c Author: David Rientjes Date: Fri May 11 14:39:44 2007 -0700 USB: use function attribute __maybe_unused Substitute USB instances of __attribute__ ((unused)) functions with the newly introduced __maybe_unused. Signed-off-by: David Rientjes Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit ba02978a48f0117b3d0aced97a30615a5d7412e2 Author: Li Yang Date: Fri May 11 17:09:55 2007 +0800 USB: ehci_fsl update for MPC831x support For MPC831x support, change the ehci-fsl driver to preserve bits set in platform code. Add a common CONFIG_USB_EHCI_FSL to indicate presence of Freescale EHCI SOC. Add FSL_USB2_DR_OTG operating mode support, thus both host and device can work for the mini-ab receptacle. Note: this doesn't enable OTG protocol support. Signed-off-by: Li Yang Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit 4d68c0be69b65aa260448cea9fb1c555ae90d268 Author: Stefan Roese Date: Fri May 4 11:39:37 2007 -0700 USB: Set CONFIG_USB_EHCI_BIG_ENDIAN_MMIO/_DESC in usb/host/Kconfig Now select the big-endian configuration options CONFIG_USB_EHCI_BIG_ENDIAN_MMIO and CONFIG_USB_EHCI_BIG_ENDIAN_DESC in the usb host Kconfig file and not in the platform Kconfig files. Signed-off-by: Stefan Roese Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit fc65a15f1fc0fc95c319c9bfaeb7636fef9987cc Author: Stefan Roese Date: Fri May 4 11:38:17 2007 -0700 USB: EHCI big endian data structures support (for 440EPx) This patch adds support for the AMCC 440EPx EHCI controller whose in-memory data structures and the registers are represented in big- endian format. Signed-off-by: Stefan Roese Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 97cd49ebf74e3bee49d541a47ef085df1fbfac7d Author: Stepan Moskovchenko Date: Wed May 9 14:53:04 2007 -0400 USB: ftdi_sio.c: Allow setting latency timer on FT232RL The new FT232RL allows setting and getting the value of the latency timer, like on the FT232BM. However, the driver will not create the sysfs entries for the RL without this one-line patch. I have tested it on two systems with successful results. From: Stepan Moskovchenko Signed-off-by: Greg Kroah-Hartman commit 20dfdad74a2baabeecc2896c770efcbf698b9b8d Author: Alan Stern Date: Tue May 22 11:50:17 2007 -0400 USB: rework C++-style comments This patch (as911) replaces some C++-style commented-out debugging lines in driver.c with a new "verbose debugging" macro. It makes the code look cleaner, and it's easier to turn the debugging on or off. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit d4ead16f50f9ad30bdc7276ec8fee7a24c72f294 Author: Alan Stern Date: Tue May 22 11:46:41 2007 -0400 USB: prevent char device open/deregister race This patch (as908) adds central protection in usbcore for the prototypical race between opening and unregistering a char device. The spinlock used to protect the minor-numbers array is replaced with an rwsem, which can remain locked across a call to a driver's open() method. This guarantees that open() and deregister() will be mutually exclusive. The private locks currently used in several individual drivers for this purpose are no longer necessary, and the patch removes them. The following USB drivers are affected: usblcd, idmouse, auerswald, legousbtower, sisusbvga/sisusb, ldusb, adutux, iowarrior, and usb-skeleton. As a side effect of this change, usb_deregister_dev() must not be called while holding a lock that is acquired by open(). Unfortunately a number of drivers do this, but luckily the solution is simple: call usb_deregister_dev() before acquiring the lock. In addition to these changes (and their consequent code simplifications), the patch fixes a use-after-free bug in adutux and a race between open() and release() in iowarrior. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 55e5fdfa541ec7bf1b1613624ed4dd8cdacaa841 Author: Mark Lord Date: Mon May 14 19:48:02 2007 -0400 USB: hub.c loops forever on resume from ram due to bluetooth Okay, found it. The root cause here was a missing CONFIG_USB_SUSPEND=y, which means the hci_usb device never got marked as USB_STATE_SUSPENDED, which then caused the loop to go on forever. The system works fine now with CONFIG_USB_SUSPEND=y in the .config. Here's the patch to prevent future lockups for this or other causes. I no longer need it, but it does still seem a good idea. Signed-off-by: Mark Lord Signed-off-by: Greg Kroah-Hartman commit 8538f96ae5aada1c04d69a993b20ad160b191d47 Author: Daniel Drake Date: Thu May 10 00:32:24 2007 +0100 USB: add USB_DEVICE_AND_INTERFACE_INFO for device matching Recently, the USB device matching code stopped matching generic interface matches against devices with vendor-specific device class values. Some drivers now need to explicitly match USB device ID's (in addition to generic interface info) to retain the same behaviour as before. This new macro, suggested by Alan Stern, makes the explicit device/interface matching a little simpler for those users. Signed-off-by: Daniel Drake Signed-off-by: Greg Kroah-Hartman commit 7f9985c2e4e5555b750d6f891b4923e63cc834c1 Author: David Brownell Date: Tue May 8 21:01:30 2007 -0700 USB: usb gadget, dead config cleanup Remove some dead CONFIG_ symbols, and document the status of a few others. The "gadget_chips.h" references are by and large to drivers which exist but haven't yet been submitted for merging to the main 2.6 tree. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 45b844df5a4b17884b4e26e43bfc4802604e7cab Author: Dave Platt Date: Tue May 8 11:00:12 2007 -0700 USB: RTS/CTS handshaking support, DTR fixes for MCT U232 serial adapter Improvements and fixes to the MCT U232 USB/serial interface driver. Implement RTS/CTS hardware flow control. Implement HUPCL. Bring handling of DTR and RTS into conformance with other Linux serial port drivers - assert both signals when opening device, even if "crtscts" is not currently selected. Signed-off-by: Dave Platt Signed-off-by: Greg Kroah-Hartman commit 01cd08192040eab30f837f061ca07f43cf15f4a1 Author: Arjan van de Ven Date: Tue May 22 12:42:56 2007 -0700 USB: Patch to align the various USB timers to fire at the same time This patch modifies the USB regular 250ms timer to be "perfectly aligned" to the second and quarters thereof. This change is there to make sure that if you have multiple USB ports, the timers for all these ports will fire at the same time rather than all spread out. All spread out wakes the CPU up from power saving idle a lot more than needed... Signed-off-by: Arjan van de Ven Signed-off-by: Greg Kroah-Hartman commit fc4cbd755b75c7687b923da5b75ba4a64652582e Author: Martin K. Petersen Date: Tue May 22 15:57:04 2007 -0400 USB: io_ti: Digi EdgePort update for new devices This patch adds support for the most recent Digi EdgePort USB serial devices. Signed-off-by: Martin K. Petersen Signed-off-by: Mike Swift Signed-off-by: Jeremy McBane Signed-off-by: Greg Kroah-Hartman commit dd4dd19e8d13e1e9bf8295bf71f132b511b130bf Author: Alan Stern Date: Fri May 4 11:55:54 2007 -0400 USB: Make device reset stop retrying after disconnect This patch (as898) changes the port reset code in the hub driver. If a connect change occurs, it is reported the same way as a disconnect (which of course is what it really is). It also changes usb_reset_device(), to prevent the routine from futilely retrying the reset after a disconnect has occurred. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 3c519b846c4d5edf7c94d1eede42445a815bf65c Author: Alan Stern Date: Fri May 4 11:55:31 2007 -0400 USB: EHCI: fix handover for designated full-speed ports This patch (as895) fixes up a loose end in the port-handover code for the USB-Persist facility. A special case occurs when a high-speed device is attached to a port which the user has designated to run at full-speed only; the port must be disabled before the handover can take place. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 6bc6cff52e0c4c4c876b1b8a5750041da61ad42b Author: Alan Stern Date: Fri May 4 11:53:03 2007 -0400 USB: add RESET_RESUME device quirk This patch (as888) adds a new USB device quirk for devices which are unable to resume correctly. By using the new code added for the USB-persist facility, it is a simple matter to reset these devices instead of resuming them. To get things kicked off, a quirk entry is added for the Philips PSC805. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 383975d765523a56dc43a6cd6d52e9b376800cf2 Author: Alan Stern Date: Fri May 4 11:52:40 2007 -0400 USB: EHCI, OHCI: handover changes This patch (as887) changes the way ehci-hcd and ohci-hcd handle a loss of VBUS power during suspend. In order for the USB-persist facility to work correctly, it is necessary for low- and full-speed devices attached to a high-speed port to be handed back to the companion controller during resume processing. This entails three changes: adding code to ehci-hcd to perform the handover, removing code from ohci-hcd to turn off ports during root-hub reinit, and adding code to ohci-hcd to turn on ports during PCI controller resume. (Other bus glue resume methods for platforms supporting high-speed controllers would need a similar change, if any existed.) Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 0458d5b4c9cc4ca0f62625d0144ddc4b4bc97a3c Author: Alan Stern Date: Fri May 4 11:52:20 2007 -0400 USB: add USB-Persist facility This patch (as886) adds the controversial USB-persist facility, allowing USB devices to persist across a power loss during system suspend. The facility is controlled by a new Kconfig option (with appropriate warnings about the potential dangers); when the option is off the behavior will remain the same as it is now. But when the option is on, people will be able to use suspend-to-disk and keep their USB filesystems intact -- something particularly valuable for small machines where the root filesystem is on a USB device! Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit ce7cd137fced114d49178b73d468b82096a107fb Author: Pete Zaitcev Date: Thu May 3 16:51:16 2007 -0700 usbmon: Add class for binary interface Add a class which allows for an easier integration with udev. This code was originally written by Paolo Abeni, and arrived to my tree as a part of big patch to add binary API on December 18. As I understand, Paolo always meant the class to be a part of the whole thing. This is his udev rule to go along with the patch: KERNEL=="usbmon[0-9]*", NAME="usbmon%n", MODE="0440",OWNER="root",GROUP="bin" Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 49cdee0ed0fce9e1bda81f5dcad8d5cce6aec983 Author: Kees Lemmens Date: Tue Mar 27 12:34:30 2007 +0200 USB: oti6858 usb-serial driver (in Nokia CA-42 cable) Last week I've been searching for a driver for the CA-42 cable (see usb below) that fitted my kernel 2.6.20. I only found an abandoned version for a driver on your website that indeed worked on 2.6.18 but wouldn't even compile with a more recent 2.6.20 kernel. I fiddled 2 evenings with the kernel code and have patched it up now to work with the modifications in the 2.6.20 kernel. The patch is attached hereafter and it works fine (at least for me :-) ). Bus 2 Device 13: ID 0ea0:6858 Ours Technology, Inc. I had to fiddle a little with the settings in .gnokiirc but that also occurred with the older 2.6.18 kernel. Nevertheless, on one system with this cable and my Nokia 6070 I had best results with : model = 6510 connection = dku5 while on an other system with the same kernel, cable and phone it only worked with : model = AT connection = serial serial_write_usleep = 1 From: Kees Lemmens Cc: Cc: Signed-off-by: Greg Kroah-Hartman commit 9c033e810eef0aff6d4d3bf028aa1e583c074f93 Author: David Brownell Date: Thu May 17 12:21:19 2007 -0700 USB: ehci refcounts work on ppc7448 Remove atomic operations on the reference counter for EHCI queue heads. On various platforms (including ppc7448), atomic operations are unusable with dma-coherent memory. Signed-off-by: Steven J. Hill Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 04d06ad0f1fdb499af84ae3d7969e2136a462f38 Author: Jan Engelhardt Date: Thu May 10 23:04:13 2007 -0700 USB: Use menuconfig objects Make a "menuconfig" out of the Kconfig objects "menu, ..., endmenu", so that the user can disable all the options in that menu at once instead of having to disable each option separately. Signed-off-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit e8054854221d9d51e381c64d365404f4c1c30f50 Author: Alan Stern Date: Fri May 4 11:55:11 2007 -0400 USB: make hub driver's release more robust This revised patch (as893c) improves the method used by the hub driver to release its private data structure. The current code is non-robust, relying on a memory region not getting reused by another driver after it has been freed. The patch adds a reference count to the structure, resolving the question of when to release it. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 06b84e8adcad8280d76a7c71e772c5cddba96d85 Author: Alan Stern Date: Fri May 4 11:54:50 2007 -0400 USB: remove "locktree" routine from the hub driver This patch (as892) removes the "locktree" routine from the hub driver. It currently is used in only one place, by a single kernel thread; hence it isn't doing any good. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit f3fd77cd2f4499f3e2ef9a1e6d5e4f4349d556c3 Author: Alan Stern Date: Fri May 4 11:54:28 2007 -0400 USB: remove references to dev.power.power_state This revised patch (as891b) removes two unnecessary references to intf->dev.power.power_state from usb-storage, and replaces a reference to root_hub->dev.power.power_state with a check of hcd->state. This is in preparation for the removal of dev.power.power_state, which is already deprecated. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 8adb4786789c25007f39b4d00dd03cc83bdcb896 Author: Alan Stern Date: Fri May 4 11:53:30 2007 -0400 USB: don't unsuspend for a new connection This patch (as889) prevents the hub driver from trying to resume a port when there is a new connection. For one thing, the resume is not needed -- the upcoming port reset will clear the suspend feature automatically. For another, on some systems the resume fails and causes problems. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit b6f6436da0c6853eedad86f5075b139c1a3bcb5d Author: Alan Stern Date: Fri May 4 11:51:54 2007 -0400 USB: move bus_suspend and bus_resume method calls This patch (as885) moves the root-hub bus_suspend() and bus_resume() method calls from the hub driver's suspend and resume methods into the usb_generic driver methods, where they make just as much sense. Their old locations were not fully correct. For example, in a kernel compiled without CONFIG_USB_SUSPEND, if one were to do: echo -n 1-0:1.0 >/sys/bus/usb/drivers/hub/unbind to unbind the hub driver from a root hub, there would then be no way to suspend that root hub. Attempts to put the system to sleep would fail; the USB controller driver would refuse to suspend because the root hub was still active. The patch also makes a very slight change in the way devices with no driver are handled during suspend. Rather than doing a standard USB port-suspend directly, now the suspend routine in usb_generic is called. In practice this should never affect anyone. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 4d461095ef6967324bc5da5d65d23ad27fc604f9 Author: Alan Stern Date: Fri May 4 11:51:25 2007 -0400 USB: Implement PM FREEZE and PRETHAW This patch (as884) finally implements the time-saving semantics possible with the Power Management FREEZE and PRETHAW events. Their proper handling requires only that devices be quiesced, with interrupts and DMA turned off; non-root USB devices don't actually need to be put in a suspended state. The patch checks and avoids doing the suspend call when possible. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 784a6e1cc406b7ef48476a1f38b83fc551f5616f Author: Alan Stern Date: Fri May 4 11:49:57 2007 -0400 USB: interface PM state This patch (as880) strives to keep the PM core's idea of a USB interface's power state in synch with usbcore's own idea. In the end this doesn't really matter, but it's better to be consistent. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit f6ace2c99afefb7969ccccba2fb413ad29ab2e2e Author: Yoshihiro Shimoda Date: Wed May 30 20:42:41 2007 +0900 USB: r8a66597-hcd: fix NULL access This patch fixes the problem that accesses NULL pointer when disconnected a cable while play music with usb-speaker. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit 5d3043586db428b5b4b3df89fa0c2db9731e934c Author: Yoshihiro Shimoda Date: Thu May 10 13:18:19 2007 +0900 USB: r8a66597-hcd: host controller driver for R8A66597 I would like to submit Renesas R8A66597 USB HCD driver. R8A66597 is Renesas USB 2.0 host and peripheral combined controller device originally designed for embedded products. As a limitation of this device, it does not support externel hub more than 2 tier, and cannot communicate with a USB device more than 10. Then this device is not compatible with EHCI and/or OHCI, I wrote driver support patch based on sl811 code. This driver has the following unique specifications: - Implement transfer timeout to share one pipe with plural endpoint. - Detach detection of a USB device connected to externel hub. The driver has been tested external hub, usb-hdd, usb-cdrom, usb-speaker, mice, keyboard, and usbtest driver. Signed-off-by : Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit 15a1d5c9271219db2f1bc448247fb8ccbcc08418 Author: Yoshihiro Shimoda Date: Wed May 30 22:06:00 2007 +0900 USB: m66592-udc: fix use old interrupt flags This patch fixes the problem that used SA_* flags. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit 4cf2503c6801a69fee25030475eceeefb36d1b56 Author: Yoshihiro Shimoda Date: Thu May 10 13:18:23 2007 +0900 USB: m66592-udc: peripheral controller driver for M66592 I would like to submit Renesas M66592 udc driver. The M66592 is Renesas USB 2.0 peripheral controller. This controller supports USB high-speed. The driver has been tested Gadget Zero, Ethernet Gadget, File-backed Storage Gadget, and passed usbtest script. Signed-off-by : Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit 0ca1268e109acf6d71507398cb95cab2e670b654 Author: Lucy McCoy Date: Fri May 18 12:10:41 2007 -0700 USB Serial Keyspan: add support for USA-49WG & USA-28XG Add support for Keyspan adapters: USA-49WG and USA-28XG Signed-off-by: Lucy P. McCoy Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 87e71b473ee199cf4b7b7a0ce890cd01f45e3a0e Author: Simon Arlott Date: Thu May 10 23:04:11 2007 -0700 USB: cxacru: Cleanup sysfs attribute code This changes the format of unknown status values to be less verbose and uses an array instead of several different snprintf calls. Since only enum values are assigned to it, poll_state is changed from int to enum. Use abs() for dB values instead of two almost identical return lines. Signed-off-by: Simon Arlott Acked-by: Duncan Sands Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 6dbd682b7c6d58916096616cdf94852641bc09d9 Author: Stefan Roese Date: Tue May 1 09:29:37 2007 -0700 USB: EHCI support for big-endian descriptors This patch implements supports for EHCI controllers whose in-memory data structures are represented in big-endian format. This is needed (unfortunately) for the AMCC PPC440EPx SoC EHCI controller; the EHCI spec doesn't specify little-endian format, although that's what most other implementations use. The guts of the patch are to introduce the hc32 type and change all references from le32 to hc32. All access routines are converted from cpu_to_le32(...) to cpu_to_hc32(ehci, ...) and similar for the other "direction". (This is the same approach used with OHCI.) David fixed: Whitespace fixes; refresh against ehci cpufreq patch; move glue for that PPC driver to the patch adding it; fix free symbol capture bugs in modified "constant" macros; and make "hc32" etc be "le32" unless we really need the BE options, so "sparse" can do some real good. Signed-off-by: Stefan Roese Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 196705c9bbc03540429b0f7cf9ee35c2f928a534 Author: Stuart_Hayes@Dell.com Date: Thu May 3 08:58:49 2007 -0700 USB: EHCI cpufreq fix EHCI controllers that don't cache enough microframes can get MMF errors when CPU frequency changes occur between the start and completion of split interrupt transactions, due to delays in reading main memory (caused by CPU cache snoop delays). This patch adds a cpufreq notifier to the EHCI driver that will inactivate split interrupt transactions during frequency transitions. It was tested on Intel ICH7 and Serverworks/Broadcom HT1000 EHCI controllers. Signed-off-by: Stuart Hayes Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit ec22559e0b7a05283a3413bda5d177e42c950e23 Author: Oliver Neukum Date: Fri Apr 27 20:54:57 2007 +0200 USB: suspend support for usb serial this implements generic support for suspend/resume for usb serial. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 57e4acb3f63e1d3d74a75613eefde8b2d68164e3 Author: Tony Luck Date: Thu Jul 12 16:04:39 2007 -0700 [IA64] Un-break ia64 build Commit 91a6902958f052358899f58683d44e36228d85c2 added an extra argument to pci_read_legacy_io() and pci_write_legacy_io(). But the prototypes in include/asm-ia64/pci.h were not updated. Signed-off-by: Tony Luck commit cec7c893d8654723028f09d33341e42673558057 Author: Roland Dreier Date: Thu Jul 12 15:59:36 2007 -0700 IB: Update MAINTAINERS with Hal's new email address Signed-off-by: Roland Dreier commit 65541cb7cf353946ecd78016a453b453b8830656 Author: Jack Morgenstein Date: Thu Jun 21 13:03:11 2007 +0300 IB/mlx4: Implement query SRQ Signed-off-by: Dotan Barak Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 6a775e2ba4f7635849ade628e64723ab2beef0bc Author: Jack Morgenstein Date: Thu Jun 21 12:27:47 2007 +0300 IB/mlx4: Implement query QP Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit dd172d72addefd89795e819cc2cc3eb1b9d12a7f Author: Chandra Seetharaman Date: Thu Jul 12 17:30:05 2007 +0100 dm mpath: rdac This patch supports LSI/Engenio devices in RDAC mode. Like dm-emc it requires userspace support. In your multipath.conf file you must have: path_checker rdac hardware_handler "1 rdac" prio_callout "/sbin/mpath_prio_tpc /dev/%n" And you also then must have a updated multipath tools release which has rdac support. Signed-off-by: Chandra Seetharaman Signed-off-by: Mike Christie Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit fc1ff9588a6d56258ff9576a31aa34f17757c666 Author: Jonathan Brassow Date: Thu Jul 12 17:29:15 2007 +0100 dm raid1: handle log failure When writing to a mirror, the log must be updated first. Failure to update the log could result in the log not properly reflecting the state of the mirror if the machine should crash. We change the return type of the rh_flush function to give us the ability to check if a log write was successful. If the log write was unsuccessful, we fail the writes to avoid the case where the log does not properly reflect the state of the mirror. A follow-up patch - which is dependent on the ability to requeue I/O's to core device-mapper - will requeue the I/O's for retry (allowing the mirror to be reconfigured.) Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit f44db678edcc6f4c2779ac43f63f0b9dfa28b724 Author: Jonathan Brassow Date: Thu Jul 12 17:29:04 2007 +0100 dm raid1: handle resync failures Device-mapper mirroring currently takes a best effort approach to recovery - failures during mirror synchronization are completely ignored. This means that regions are marked 'in-sync' and 'clean' and removed from the hash list. Future reads and writes that query the region will incorrectly interpret the region as in-sync. This patch handles failures during the recovery process. If a failure occurs, the region is marked as 'not-in-sync' (aka RH_NOSYNC) and added to a new list 'failed_recovered_regions'. Regions on the 'failed_recovered_regions' list are not marked as 'clean' upon removal from the list. Furthermore, if the DM_RAID1_HANDLE_ERRORS flag is set, the region is marked as 'not-in-sync'. This action prevents any future read-balancing from choosing an invalid device because of the 'not-in-sync' status. If "handle_errors" is not specified when creating a mirror (leaving the DM_RAID1_HANDLE_ERRORS flag unset), failures will be ignored exactly as they would be without this patch. This is to preserve backwards compatibility with user-space tools, such as 'pvmove'. However, since future read-balancing policies will rely on the correct sync status of a region, a user must choose "handle_errors" when using read-balancing. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit d0d444c7d48c14d59f665887c758fde248f1cb37 Author: Jonathan Brassow Date: Thu Jul 12 17:28:42 2007 +0100 dm: add ratelimit logging macros Add ratelimit extension to dm logging macros. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit 07a83c47cfc00ba5f0f090ccddd3a0703be0eec9 Author: Stefan Bader Date: Thu Jul 12 17:28:33 2007 +0100 dm: disable barriers This patch causes device-mapper to reject any barrier requests. This is done since most of the targets won't handle this correctly anyway. So until the situation improves it is better to reject these requests at the first place. Since barrier requests won't get to the targets, the checks there can be removed. Cc: stable@kernel.org Signed-off-by: Stefan Bader Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit 943317efdbc295e8a28df3f5cbd549d066ee8b4a Author: Jonathan Brassow Date: Thu Jul 12 17:28:25 2007 +0100 dm raid1: clear region outside spinlock A clear_region function is permitted to block (in practice, rare) but gets called in rh_update_states() with a spinlock held. The bits being marked and cleared by the above functions are used to update the on-disk log, but are never read directly. We can perform these operations outside the spinlock since the bits are only changed within one thread viz. - mark_region in rh_inc() - clear_region in rh_update_states(). So, we grab the clean_regions list items via list_splice() within the spinlock and defer clear_region() until we iterate over the list for deletion - similar to how the recovered_regions list is already handled. We then move the flush() call down to ensure it encapsulates the changes which are done by the later calls to clear_region(). Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit 0764147b111b8ca886e4f2e9c9e019106b09b657 Author: Milan Broz Date: Thu Jul 12 17:28:13 2007 +0100 dm snapshot: permit invalid activation Allow invalid snapshots to be activated instead of failing. This allows userspace to reinstate any given snapshot state - for example after an unscheduled reboot - and clean up the invalid snapshot at its leisure. Cc: stable@kernel.org Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit fcac03abd325e4f7a4cc8fe05fea2793b1c8eb75 Author: Milan Broz Date: Thu Jul 12 17:28:00 2007 +0100 dm snapshot: fix invalidation deadlock Process persistent exception store metadata IOs in a separate thread. A snapshot may become invalid while inside generic_make_request(). A synchronous write is then needed to update the metadata while still inside that function. Since the introduction of md-dm-reduce-stack-usage-with-stacked-block-devices.patch this has to be performed by a separate thread to avoid deadlock. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit 596f138eede0c113aa655937c8be85fc15ccd61c Author: Jun'ichi Nomura Date: Thu Jul 12 17:27:45 2007 +0100 dm io: fix panic on large request bio_alloc_bioset() will return NULL if 'num_vecs' is too large. Use bio_get_nr_vecs() to get estimation of maximum number. Cc: stable@kernel.org Signed-off-by: "Jun'ichi Nomura" Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit c95bc206da4bc9838bad826883f8f461a972e441 Author: Milan Broz Date: Thu Jul 12 17:27:24 2007 +0100 dm raid1: fix status Fix mirror status line broken in dm-log-report-fault-status.patch: - space missing between two words - placeholder ("0") required for compatibility with a subsequent patch - incorrect offset parameter Cc: stable@kernel.org Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit 0cd3312434cd1f29bee6bff53bf2790d733ad2a2 Author: Alasdair G Kergon Date: Thu Jul 12 17:27:01 2007 +0100 dm: remove duplicate module name from error msgs Remove explicit module name from messages as the macro now includes it automatically. Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit ac818646d4be79123ad8dc5f1c4da8575d4960f8 Author: Alasdair G Kergon Date: Thu Jul 12 17:26:47 2007 +0100 dm delay: cleanup Use setup_timer(). Replace semaphore with mutex. Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit 028867ac28e51afc834a5931e7545c022557eded Author: Alasdair G Kergon Date: Thu Jul 12 17:26:32 2007 +0100 dm: use kmem_cache macro Use new KMEM_CACHE() macro and make the newly-exposed structure names more meaningful. Also remove some superfluous casts and inlines (let a modern compiler be the judge). Acked-by: Christoph Lameter Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit 79e15ae424afa0a40b1a0c4478046d6ba0b71e20 Author: Alasdair G Kergon Date: Thu Jul 12 17:26:19 2007 +0100 dm: bio_list prefetch removal Remove dubious prefetch from bio_list_for_each() macro. Cc: Jens Axboe Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit 4aabab2181f20560948c2045ce1faaa9ac1507a8 Merge: bb50cbb... ca9ced7... Author: Linus Torvalds Date: Thu Jul 12 14:17:12 2007 -0700 Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm * 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (50 commits) [ARM] sa1100: remove boot time RTC initialisation [ARM] sa1100: stop doing our own rtc management over suspend [ARM] 4474/1: Do not check the PSR_F_BIT in valid_user_regs [ARM] 4473/2: Take the HWCAP definitions out of the elf.h file [ARM] pxa: move platform devices to separate header file [ARM] pxa: move device registration into CPU-specific file [ARM] pxa: remove boot time RTC initialisation [ARM] pxa: stop doing our own rtc management over suspend [ARM] 4451/1: pxa: make dma.c generic and remove cpu specific dma code [ARM] 4450/1: pxa: add pxa25x_init_irq() and pxa27x_init_irq() [ARM] 4440/1: PXA: enable the checking of ICIP2 for IRQs [ARM] 4438/1: PXA: remove #ifdef .. #endif from pxa_gpio_demux_handler() [ARM] 4437/1: PXA: move the GPIO IRQ initialization code to pxa_init_irq_gpio() [ARM] 4436/1: PXA: move low IRQ initialization code to pxa_init_irq_low() [ARM] 4435/1: PXA: remove PXA_INTERNAL_IRQS [ARM] 4434/1: PXA: remove PXA_IRQ_SKIP [ARM] pxa: Fix PXA27x suspend type validation, remove pxa_pm_prepare() [ARM] pxa: move pm_ops structure into CPU specific files [ARM] pxa: introduce cpu_is_pxaXXX macros [ARM] pxa: remove MMC register defines from pxa-regs.h ... commit bb50cbbd4beacd5ceda76c32fcb116c67fe8c66c Merge: 702ed6e... d4cf291... Author: Linus Torvalds Date: Thu Jul 12 13:46:48 2007 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6: security: unexport mmap_min_addr SELinux: use SECINITSID_NETMSG instead of SECINITSID_UNLABELED for NetLabel security: Protection for exploiting null dereference using mmap SELinux: Use %lu for inode->i_no when printing avc SELinux: allow preemption between transition permission checks selinux: introduce schedule points in policydb_destroy() selinux: add selinuxfs structure for object class discovery selinux: change sel_make_dir() to specify inode counter. selinux: rename sel_remove_bools() for more general usage. selinux: add support for querying object classes and permissions from the running policy commit 702ed6ef375c19d65f2eeeefd3851476f2c4cee4 Merge: 2f41fc8... 58a7295... Author: Linus Torvalds Date: Thu Jul 12 13:42:43 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq * master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] Fix sysfs_create_file return value handling [CPUFREQ] ondemand: fix tickless accounting and software coordination bug [CPUFREQ] ondemand: add a check to avoid negative load calculation [CPUFREQ] Keep userspace governor quiet when it is not being used [CPUFREQ] Longhaul - Proper register access [CPUFREQ] Kconfig powernow-k8 driver should depend on ACPI P-States driver [CPUFREQ] Longhaul - Replace ACPI functions with direct I/O [CPUFREQ] Longhaul - Remove duplicate multipliers [CPUFREQ] Longhaul - Embedded "conservative" [CPUFREQ] acpi-cpufreq: Proper ReadModifyWrite of PERF_CTL MSR [CPUFREQ] check return value of sysfs_create_file [CPUFREQ] Longhaul - Check ACPI "BM DMA in progress" bit [CPUFREQ] Longhaul - Move old_ratio to correct place [CPUFREQ] Longhaul - VT8237 support [CPUFREQ] Longhaul - Use all kinds of support [CPUFREQ] powernow-k8: clarify number of cores. commit 2f41fc806434f8466bb361570589a3f6099ca65d Merge: 0806ca2... 70e8992... Author: Linus Torvalds Date: Thu Jul 12 13:41:54 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/agpgart * master.kernel.org:/pub/scm/linux/kernel/git/davej/agpgart: [AGPGART] Hand off AGP maintainence. commit 0806ca2ab3ef7d7a1bd41a980f661a13ba11acb5 Merge: 21ba0f8... 1612b18... Author: Linus Torvalds Date: Thu Jul 12 13:41:29 2007 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] Support multiple CPUs going through OS_MCA [IA64] silence GCC ia64 unused variable warnings [IA64] prevent MCA when performing MMIO mmap to PCI config space [IA64] add sn_register_pmi_handler oemcall [IA64] Stop bit for brl instruction [IA64] SN: Correct ROM resource length for BIOS copy [IA64] Don't set psr.ic and psr.i simultaneously commit 21ba0f88ae56da82a3a15fe54d729208b64c4f4b Merge: dc690d8... 36e2359... Author: Linus Torvalds Date: Thu Jul 12 13:40:57 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6: (34 commits) PCI: Only build PCI syscalls on architectures that want them PCI: limit pci_get_bus_and_slot to domain 0 PCI: hotplug: acpiphp: avoid acpiphp "cannot get bridge info" PCI hotplug failure PCI: hotplug: acpiphp: remove hot plug parameter write to PCI host bridge PCI: hotplug: acpiphp: fix slot poweroff problem on systems without _PS3 PCI: hotplug: pciehp: wait for 1 second after power off slot PCI: pci_set_power_state(): check for PM capabilities earlier PCI: cpci_hotplug: Convert to use the kthread API PCI: add pci_try_set_mwi PCI: pcie: remove SPIN_LOCK_UNLOCKED PCI: ROUND_UP macro cleanup in drivers/pci PCI: remove pci_dac_dma_... APIs PCI: pci-x-pci-express-read-control-interfaces cleanups PCI: Fix typo in include/linux/pci.h PCI: pci_ids, remove double or more empty lines PCI: pci_ids, add atheros and 3com_2 vendors PCI: pci_ids, reorder some entries PCI: i386: traps, change VENDOR to DEVICE PCI: ATM: lanai, change VENDOR to DEVICE PCI: Change all drivers to use pci_device->revision ... commit dc690d8ef842b464f1c429a376ca16cb8dbee6ae Merge: 57399ec... 91a6902... Author: Linus Torvalds Date: Thu Jul 12 13:40:20 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6: (61 commits) sysfs: add parameter "struct bin_attribute *" in .read/.write methods for sysfs binary attributes sysfs: make directory dentries and inodes reclaimable sysfs: implement sysfs_get_dentry() sysfs: move sysfs_drop_dentry() to dir.c and make it static sysfs: restructure add/remove paths and fix inode update sysfs: use sysfs_mutex to protect the sysfs_dirent tree sysfs: consolidate sysfs spinlocks sysfs: make kobj point to sysfs_dirent instead of dentry sysfs: implement sysfs_find_dirent() and sysfs_get_dirent() sysfs: implement SYSFS_FLAG_REMOVED flag sysfs: rename sysfs_dirent->s_type to s_flags and make room for flags sysfs: make sysfs_drop_dentry() access inodes using ilookup() sysfs: Fix oops in sysfs_drop_dentry on x86_64 sysfs: use singly-linked list for sysfs_dirent tree sysfs: slim down sysfs_dirent->s_active sysfs: move s_active functions to fs/sysfs/dir.c sysfs: fix root sysfs_dirent -> root dentry association sysfs: use iget_locked() instead of new_inode() sysfs: reorganize sysfs_new_indoe() and sysfs_create() sysfs: fix parent refcounting during rename and move ... commit 57399ec9077a4b962b81037aaa279fab52f5e989 Merge: e1bd2ac... c6e54a5... Author: Linus Torvalds Date: Thu Jul 12 13:38:50 2007 -0700 Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: (21 commits) libata: remove irq_on from ata_bus_reset() and ata_std_postreset() ata_piix: kill incorrect invalid map value warning libata: add another Maxtor drive with broken NCQ to the list [libata] sata_mv: Fix and clean up per-chip-generation tests [libata] sata_mv: Convert to new exception handling (EH) infrastructure [libata] sata_mv: minor bug fixes, enhancements, and cleanups (prep for new EH) [libata] sata_mv: Minor cleanups and renaming, preparing for new EH & NCQ libata-link: add PMP related ATA constants libata-link: separate out ata_eh_handle_dev_fail() pata_hpt3x3: fix DMA Kconfig option to actually have a hope of working Add Hitachi HDS7250SASUN500G 0621KTAWSD to NCQ blacklist pata_scc.c: Workaround for errata A308 libata: add FUJITSU MHV2080BH to NCQ blacklist pata_hpt3x3: major reworking and testing libata: clean up horkage handling libata: quirk IOMEGA ZIP 250 ATAPI FLOPPY libata: simplify PCI legacy SFF host handling pata_mpc52xx: suspend/resume support sata_promise: SATA hotplug support, take 2 pata_sis: FIFO whack ... commit e1bd2ac5a6b7a8b625e40c9e9f8b6dea4cf22f85 Merge: 0b9062f... 15028aa... Author: Linus Torvalds Date: Thu Jul 12 13:31:22 2007 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (183 commits) [TG3]: Update version to 3.78. [TG3]: Add missing NVRAM strapping. [TG3]: Enable auto MDI. [TG3]: Fix the polarity bit. [TG3]: Fix irq_sync race condition. [NET_SCHED]: ematch: module autoloading [TCP]: tcp probe wraparound handling and other changes [RTNETLINK]: rtnl_link: allow specifying initial device address [RTNETLINK]: rtnl_link API simplification [VLAN]: Fix MAC address handling [ETH]: Validate address in eth_mac_addr [NET]: Fix races in net_rx_action vs netpoll. [AF_UNIX]: Rewrite garbage collector, fixes race. [NETFILTER]: {ip, nf}_conntrack_sctp: fix remotely triggerable NULL ptr dereference (CVE-2007-2876) [NET]: Make all initialized struct seq_operations const. [UDP]: Fix length check. [IPV6]: Remove unneeded pointer idev from addrconf_cleanup(). [DECNET]: Another unnecessary net/tcp.h inclusion in net/dn.h [IPV6]: Make IPV6_{RECV,2292}RTHDR boolean options. [IPV6]: Do not send RH0 anymore. ... Fixed up trivial conflict in Documentation/feature-removal-schedule.txt manually. Signed-off-by: Linus Torvalds commit ca9ced7f6798868f9d2c81a59b49f8c2136685d8 Merge: feb4722... 83f5322... 89bba43... 51198ea... eab03b3... 8a87a99... fcae8e0... 46c41e6... 3c3e69c... Author: Russell King Date: Thu Jul 12 21:30:18 2007 +0100 Merge branches 'at91', 'davinci', 'imx', 'iop', 'ixp', 'ks8695', 'misc', 'pxa' and 's3c' into devel commit fcae8e098877b798c365fd9d807f86d5e2a2b324 Author: Russell King Date: Thu Jul 12 21:29:45 2007 +0100 [ARM] sa1100: remove boot time RTC initialisation The RTC library code contains everything necessary to set the system time from the RTC; for similar reasons as the previous commit, it's far better to let the RTC library code sort this out rather than implement something which might not be appropriate for everyone. Signed-off-by: Russell King commit f3ebbc20ab835ff98cf920f85de989064e352ee5 Author: Russell King Date: Thu Jul 12 21:29:06 2007 +0100 [ARM] sa1100: stop doing our own rtc management over suspend Remove the RTC management over a suspend/resume cycle. As per the corresponding PXA patch, the RTC library code handles updating system time on resume. Signed-off-by: Russell King commit 0b9062f6b57a87f22309c6b920a51aaa66ce2a13 Merge: 82afee6... de61b54... Author: Linus Torvalds Date: Thu Jul 12 13:28:54 2007 -0700 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: [MIPS] Rename PC speaker code [MIPS] Don't use genrtc. [MIPS] Remove unused time.c for swarm [MIPS] Sparse: Use NULL for pointer [MIPS] Fix a sparse warning in arch/mips/pci/pci.c [MIPS] SMTC: Interrupt mask backstop hack [MIPS] separate platform_device registration for VR41xx RTC [MIPS] Separate platform_device registration for VR41xx GPIO [MIPS] MIPSsim: Fix build. [MIPS] separate platform_device registration for VR41xx serial interface [MIPS] Include cacheflush.h in uncache.c [MIPS] Cleanup tlbdebug.h [MIPS] Change names of local variables to silence sparse (part 2) [MIPS] Workaround for a sparse warning in include/asm-mips/io.h [MIPS] RM: Use only phyiscal address for 82596 and 53c710 [MIPS] Hydrogen3: Remove remaining bits of code. [MIPS] DEC: Fix modpost warning. Revert "[MIPS] DEC: Fix modpost warning." [MIPS] Fix resume for 64K page size on R4000 class processors. commit 82afee684fe3badaf5ee3fc5b6fda687d558bfb5 Merge: 068345f... f4d640c... Author: Linus Torvalds Date: Thu Jul 12 13:25:24 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/cooloney/blackfin-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/cooloney/blackfin-2.6: (30 commits) Blackfin serial driver: supporting BF548-EZKIT serial port Video Console: Blackfin doesnt support VGA console Blackfin arch: Add peripheral io API to gpio header file Blackfin arch: set up gpio interrupt IRQ_PJ9 for BF54x ATAPI PATA driver Blackfin arch: add missing CONFIG_LARGE_ALLOCS when upstream merging Blackfin arch: as pointed out by Robert P. J. Day, update the CPU_FREQ name to match current Kconfig Blackfin arch: extract the entry point from the linked kernel Blackfin arch: clean up some coding style issues Blackfin arch: combine the common code of free_initrd_mem and free_initmem Blackfin arch: Add Support for Peripheral PortMux and resouce allocation Blackfin arch: use PAGE_SIZE when doing aligns rather than hardcoded values Blackfin arch: fix bug set dma_address properly in dma_map_sg Blackfin arch: Disable CACHELINE_ALIGNED_L1 for BF54x by default Blackfin arch: Port the dm9000 driver to Blackfin by using the correct low-level io routines Blackfin arch: There is no CDPRIO Bit in the EBIU_AMGCTL Register of BF54x arch Blackfin arch: scrub dead code Blackfin arch: Fix Warning add some defines in BF54x header file Blackfin arch: add BF54x missing GPIO access functions Blackfin arch: Some memory and code optimizations - Fix SYS_IRQS Blackfin arch: Enable BF54x PIN/GPIO interrupts ... commit 068345f4a873e8b0b511e8f94a595a20e176eeff Merge: c397368... 0a85e9a... Author: Linus Torvalds Date: Thu Jul 12 13:25:00 2007 -0700 Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 * 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: (26 commits) i2c-rpx: Remove i2c-mpc: work around missing-9th-clock-pulse bug i2c: New PMC MSP71xx TWI bus driver i2c-savage4: Delete many unused defines i2c/tsl2550: Speed up initialization i2c: New bus driver for the TAOS evaluation modules i2c-i801: Use the internal 32-byte buffer on ICH4+ i2c-i801: Various cleanups i2c: Add support for the TSL2550 i2c-pxa: Support new-style I2C drivers i2c-gpio: Make some internal functions static i2c-gpio: Add support for new-style clients i2c-iop3xx: Switch to static adapter numbering i2c-sis5595: Resolve resource conflict with sis5595 matroxfb: Clean-up i2c header inclusions i2c-nforce2: Add support for SMBus block transactions i2c-mpc: Use i2c_add_numbered_adapter i2c-mv64xxx: Use i2c_add_numbered_adapter i2c-piix4: Add support for the ATI SB700 i2c: New DS1682 chip driver ... commit c6e54a578133fb353a50fb44d650768b3b9eb18e Author: Albert Lee Date: Sat Jul 7 15:00:37 2007 +0800 libata: remove irq_on from ata_bus_reset() and ata_std_postreset() It seems irq_on() in ata_bus_reset() and ata_std_postreset() are leftover of the EDD reset. Remove them. Signed-off-by: Albert Lee Signed-off-by: Jeff Garzik commit e04b3b9d03477781eff068957a9abfc92ffc4f59 Author: Tejun Heo Date: Tue Jul 10 17:58:21 2007 +0900 ata_piix: kill incorrect invalid map value warning The last two slots of MAP 00b of ich6m was incorrectly marked as reserved. This is left over from converting the entry to allow 00b. This causes no real problem. It only makes the driver print annoying warning message. Fix it. [patch also proferred by Pierre Tardy at the end of 2006 -jg] Signed-off-by: Tejun Heo -- drivers/ata/ata_piix.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Signed-off-by: Jeff Garzik commit e8361fc410badfe23986fc070843112306bd9c8d Author: Chuck Ebbert Date: Thu Jul 12 14:37:19 2007 -0400 libata: add another Maxtor drive with broken NCQ to the list Add another Maxtor 6B200M0 drive with broken NCQ to the list. Signed-off-by: Chuck Ebbert Signed-off-by: Jeff Garzik commit ee9ccdf70163ca6408f6965e0fbc65baeac7312c Author: Jeff Garzik Date: Thu Jul 12 15:51:22 2007 -0400 [libata] sata_mv: Fix and clean up per-chip-generation tests Due to a mistake in test logic, Gen-IIE chips were being treated as Gen-II chips in some cases. Fix this, and in the process, clean up IS_50XX/IS_60XX tests to the more uniform IS_GEN_{I,II,IIE} tests. Signed-off-by: Jeff Garzik commit bdd4dddee325a7dce3e84cf48201a06aa8508aa4 Author: Jeff Garzik Date: Thu Jul 12 14:34:26 2007 -0400 [libata] sata_mv: Convert to new exception handling (EH) infrastructure This makes hotplug, NCQ, etc. possible, and removes one of the few remaining old-EH drivers. Signed-off-by: Jeff Garzik commit 4537deb5e90b717a725b3d74b58b4bb1d28443d0 Author: Jeff Garzik Date: Thu Jul 12 14:30:19 2007 -0400 [libata] sata_mv: minor bug fixes, enhancements, and cleanups (prep for new EH) * Continue replacing "CONSTANT & var" tests with "var & CONSTANT" * Don't clear EDMA_CFG_NCQ_GO_ON_ERR on Gen-IIE, where that bit does not exist * Set I/O Id field in descriptor, where present. Appears to work fine on all versions, even though queueing is still disabled. * call pci_set_mwi(), to (a) make sure cacheline size is set properly, and (b) enable MWI transactions * Remove never-used handling of coalescing interrupt bits (these events are always masked) Signed-off-by: Jeff Garzik commit c39736823232bc3ca113c8228fa852c09fba300e Author: H. Peter Anvin Date: Wed Jul 11 12:18:58 2007 -0700 Remove old i386 setup code This removes the old i386 setup code. This is done as a separate patch to avoid breaking git bisect as some of the i386 code was also used by the old x86-64 code. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 91a6c462b02d8dc02dbe95e5a407d78078a38d01 Author: H. Peter Anvin Date: Wed Jul 11 12:18:57 2007 -0700 Use the new x86 setup code for x86-64; unify with i386 This unifies arch/*/boot (except arch/*/boot/compressed) between i386 and x86-64, and uses the new x86 setup code for x86-64 as well. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 4fd06960f120e02e9abc802a09f9511c400042a5 Author: H. Peter Anvin Date: Wed Jul 11 12:18:56 2007 -0700 Use the new x86 setup code for i386 This patch hooks the new x86 setup code into the Makefile machinery. It also adapts boot/tools/build.c to a two-file (as opposed to three-file) universe, and simplifies it substantially. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit f2d98ae63dc64dedb00499289e13a50677f771f9 Author: H. Peter Anvin Date: Wed Jul 11 12:18:55 2007 -0700 Linker script for the new x86 setup code Linker script to define the layout of the new x86 setup code. Includes assert for size overflow and a misaligned setup header. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 626073132b381684c4983e0d911e9aceb32e2cbc Author: H. Peter Anvin Date: Wed Jul 11 12:18:54 2007 -0700 Assembly header and main routine for new x86 setup code The assembly header and initialization code, and the main() routine. main.c also contains some miscellaneous very short routines. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 7052fdd890bda0b3904674b69a1d24aec0a10d67 Author: H. Peter Anvin Date: Wed Jul 11 12:18:53 2007 -0700 Code for actual protected-mode entry This is the code which actually does the switch to protected mode, including all preparation. It is also responsible for invoking the boot loader hooks, if present. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 5e8ddcbe8692ca9854991c6875d302fa7e424e3c Author: H. Peter Anvin Date: Wed Jul 11 12:18:52 2007 -0700 Video mode probing support for the new x86 setup code Video mode probing for the new x86 setup code. This code breaks down different drivers into modules. This code deliberately drops support for a lot of the vendor-specific mode probing present in the assembly version, since a lot of those probes have been found to be stale in current versions of those chips -- frequently, support for those modes have been dropped from recent video BIOSes due to space constraints, but the video BIOS signatures are still the same. However, additional drivers should be extremely straightforward to plug in, if desirable. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 337496eb73ec970fe008095fdb2b2af60a2a7fa3 Author: H. Peter Anvin Date: Wed Jul 11 12:18:51 2007 -0700 Voyager support for the new x86 setup code Voyager support for the new x86 setup code. This implements the same functionality as the assembly version. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 449f2ab946b5ffbc357d815e8e3cce8def642984 Author: H. Peter Anvin Date: Wed Jul 11 12:18:50 2007 -0700 Memory probing support for the new x86 setup code Probe memory (INT 15h: E820, E801, 88). Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 3b53d3045bbb8ea3c9dce663b102eab0903817c5 Author: H. Peter Anvin Date: Wed Jul 11 12:18:49 2007 -0700 MCA support for new x86 setup code MCA probing support for the new x86 setup code. This implements the same functionality as the assembly version. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit d13444a5a53b0159e6316a7a7be9890143a5af71 Author: H. Peter Anvin Date: Wed Jul 11 12:18:48 2007 -0700 EDD probing code for the new x86 setup code Probe EDD and MBR signatures, in order to make it easier to map physical hard drives to BIOS drives. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 31b54f40e12e4d04941762be6615edaf3c6ed811 Author: H. Peter Anvin Date: Wed Jul 11 12:18:47 2007 -0700 CPU features verification for the new x86 setup code Verify that the CPU has enough features to run the kernel. This may entail enabling features on some CPUs. By doing this in the setup code we can be guaranteed to still be able to write to the console through the BIOS. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 0008ea39bd03ee1f29e361e6f6e1b8a6289e5234 Author: H. Peter Anvin Date: Wed Jul 11 12:18:46 2007 -0700 Version string for the new x86 setup code Module which only includes the kernel version string. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 1543610ad79ac4cc61c26f8a29c84e4229faa9a3 Author: H. Peter Anvin Date: Wed Jul 11 12:18:45 2007 -0700 Console-writing code for the new x86 setup code This implements writing text to the console, including printf(). Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit e44c22f65f96217692e1a915032fbe7d22236751 Author: H. Peter Anvin Date: Wed Jul 11 12:18:44 2007 -0700 Command-line parsing code for the new x86 setup code Simple command-line parser which allows us to access the kernel command line from the setup code. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 49df18fa3f95a5c988b64e4e20e15372282e96ea Author: H. Peter Anvin Date: Wed Jul 11 12:18:43 2007 -0700 APM probing code APM probing code for the new x86 setup code. This implements the same functionality as the assembly version. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 5a8a8128bc218ebd067c660912d838344b05c608 Author: H. Peter Anvin Date: Wed Jul 11 12:18:42 2007 -0700 A20 handling code A20 handling code for the new x86 setup code. This implements the same algorithms as the assembly version. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 5be865661516263d90317a6b35b588a2d7c3cb55 Author: H. Peter Anvin Date: Wed Jul 11 12:18:41 2007 -0700 String-handling functions for the new x86 setup code. strcmp(), memcpy(), memset(), as well as routines to copy to and from other segments (as pointed to by fs and gs). Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit ad7e906d5687bb076fe6c3c980d6e013a3a42bde Author: H. Peter Anvin Date: Wed Jul 11 12:18:40 2007 -0700 Simple bitops for the new x86 setup code. A simple collection of bitops for the new x86 setup code. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 62bd0337d0c4a77902502558aa30ceeb15655407 Author: H. Peter Anvin Date: Wed Jul 11 12:18:39 2007 -0700 Top header file for new x86 setup code Top header file for the new x86 setup code. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit f7f4a5fbd21bf7fc4f207ddaf5126c78c0d1e0b5 Author: H. Peter Anvin Date: Wed Jul 11 12:18:38 2007 -0700 Header file to produce 16-bit code with gcc gcc for i386 can be used with the assembly prefix ".code16gcc" to generate 16-bit (real-mode) code. This header file provides the assembly prefix. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 8afd2af88921c2cb1c9540cecd0714da7ae4fcd0 Author: H. Peter Anvin Date: Wed Jul 11 12:18:37 2007 -0700 x86-64: add symbolic constants for the boot segment selectors Add symbolic constants for the segment selectors/GDT slots used by the setup code, for consistency with i386. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 77e1dd654bc24182a7ad34f415abd488ae7af6eb Author: H. Peter Anvin Date: Wed Jul 11 12:18:36 2007 -0700 x86-64: add CONFIG_PHYSICAL_ALIGN for consistency with i386 Add CONFIG_PHYSICAL_ALIGN (currently as a hardcoded constant) to provide consistency with i386. This value is manifest in the bzImage header. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 48c7ae674f03e56c78ff42c6796a36e90db67874 Author: H. Peter Anvin Date: Wed Jul 11 12:18:35 2007 -0700 Make struct boot_params a real structure, and remove obsolete fields Make struct boot_params a real structure, and remove the handling of some obsolete fields, in particular hd*_info, which was only used by the ST-506 driver, and likely to be wrong for that driver on any modern BIOS. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 9c25d134b3735a4b197e108b4c7d6bbec1a275e8 Author: H. Peter Anvin Date: Wed Jul 11 12:18:34 2007 -0700 Make definitions for struct e820entry and struct e820map consistent Make definitions for struct e820entry and struct e820map consistent between i386 and x86-64. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 85414b693ac037d709582a167a330db3a5d186d8 Author: H. Peter Anvin Date: Wed Jul 11 12:18:33 2007 -0700 Define zero-page offset 0x1e4 as a scratch field, and use it The relocatable kernel code needs a scratch field for the decompressor to determine its own location. It was using a location inside struct screen_info; reserve a free location and document it as scratch instead. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 1d67953f2bda8876045c24ae58841f27d9bb7572 Author: Venki Pallipadi Date: Wed Jul 11 12:18:32 2007 -0700 Use a new CPU feature word to cover features that are spread around Some Intel features are spread around in different CPUID leafs like 0x5, 0x6 and 0xA. Make this feature detection code common across i386 and x86_64. Display Intel Dynamic Acceleration feature in /proc/cpuinfo. This feature will be enabled automatically by current acpi-cpufreq driver. Refer to Intel Software Developer's Manual for more details about the feature. Thanks to hpa (H Peter Anvin) for the making the actual code detecting the scattered features data-driven. Signed-off-by: Venkatesh Pallipadi Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit e087db510cd96a75a614f6f6fcd5499ab21cb087 Author: H. Peter Anvin Date: Wed Jul 11 12:18:31 2007 -0700 Clean up struct screen_info () struct screen_info has unaligned members, it needs to be packed. In the process, fix the naming of some of the members, which don't belong in this structure but are part of it anyway. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit de32e04175efbc1ff5e0f509253d5dfc84f173b3 Author: H. Peter Anvin Date: Wed Jul 11 12:18:30 2007 -0700 x86 Kconfig: change X86_MINIMUM_CPU_MODEL to X86_MINIMUM_CPU_FAMILY The X86_MINIMUM_CPU_MODEL name isn't really right, so change it to X86_MINIMUM_CPU_FAMILY. Also, the default minimum should be 3, not 0. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit ec481536b15eb0520d8f0204b0294480050fe1f8 Author: H. Peter Anvin Date: Wed Jul 11 12:18:29 2007 -0700 Unify the CPU features vectors between i386 and x86-64 Unify the handling of the CPU features vectors between i386 and x86-64. This also adopts the collapsing of features which are required at compile-time into constant tests from x86-64 to i386. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit f8c09377d754f35a135454181b869ab527cc0757 Author: H. Peter Anvin Date: Wed Jul 11 12:18:28 2007 -0700 include/asm-i386/boot.h: This is , not include/asm-i386/boot.h incorrectly has the multiple include guards as _LINUX_BOOT_H instead of _ASM_BOOT_H. Fix. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 48dd643c3b02544994fa091573c2242441a7733f Author: H. Peter Anvin Date: Wed Jul 11 12:18:27 2007 -0700 hd.c: remove BIOS/CMOS queries An ST-506 disk these days is pretty much someone trying to pull ancient data using an auxilliary controller. Pulling data from the BIOS or CMOS is just plain wrong, since it's likely to be the primary OS disk... and would be user-entered data anyway. Instead, require the user enters it on the command line. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 7f1291f2caa536c441507b459f91770a5280fb5d Author: H. Peter Anvin Date: Wed Jul 11 12:18:26 2007 -0700 x86 setup: MAINTAINERS: formally take responsibility for the i386 boot code Change MAINTAINERS to formally take responsibility for the i386 boot code. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit de61b542b822746d1498718c40f5dd740da49629 Author: Ralf Baechle Date: Thu Jul 12 17:41:23 2007 +0100 [MIPS] Rename PC speaker code While the PC speaker is wired up to the i8254 there is more to the i8254 than just the PC speaker so this code was getting in the way under its current name. Signed-off-by: Ralf Baechle commit fdc1f93847ea618e51f001805e022794d8bffff3 Author: Ralf Baechle Date: Thu Jul 12 17:41:21 2007 +0100 [MIPS] Don't use genrtc. The only pseudo-legitimate MIPS user of genrtc was a systems that doesn't have an RTC in hardware at all. At this point faking one is a little pointless ... commit 1f2c6d6b0c553e44273aaee24820c67ebfbbfebe Author: Yoichi Yuasa Date: Thu Jun 7 22:27:50 2007 +0900 [MIPS] Remove unused time.c for swarm Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 28fc582cc9b7fc6ed6a9fbf9565a2b1e56eee880 Author: Atsushi Nemoto Date: Fri Jul 13 01:49:49 2007 +0900 [MIPS] Sparse: Use NULL for pointer This fixes a sparse warning: arch/mips/kernel/traps.c:376:44: warning: Using plain integer as NULL pointer Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 8ed07a1cce1530d2fd42e23c867a7c0c1170515a Author: Atsushi Nemoto Date: Fri Jul 13 01:26:52 2007 +0900 [MIPS] Fix a sparse warning in arch/mips/pci/pci.c Fixes this warning: arch/mips/pci/pci.c:284:18: warning: symbol 'dev' shadows an earlier one arch/mips/pci/pci.c:272:17: originally declared here Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 0db34215c7e0ef618e7b29fbf271194ca5434f8e Author: Kevin D. Kissell Date: Thu Jul 12 16:21:08 2007 +0100 [MIPS] SMTC: Interrupt mask backstop hack To support multiple TC microthreads acting as "CPUs" within a VPE, VPE-wide interrupt mask bits must be specially manipulated during interrupt handling. To support legacy drivers and interrupt controller management code, SMTC has a "backstop" to track and if necessary restore the interrupt mask. This has some performance impact on interrupt service overhead. Disable it only if you know what you are doing. Signed-off-by: Ralf Baechle commit bd0765098bf22eb8b1319f649a4c3301b40ec04c Author: Yoichi Yuasa Date: Fri May 11 21:18:48 2007 +0900 [MIPS] separate platform_device registration for VR41xx RTC Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 44173fb2e83183b585e137e6fee8ba32460f5645 Author: Yoichi Yuasa Date: Thu May 10 22:21:35 2007 +0900 [MIPS] Separate platform_device registration for VR41xx GPIO Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit a74b4605181595c633ff4cfd44949886b0918172 Author: Ralf Baechle Date: Thu Jul 12 17:41:14 2007 +0100 [MIPS] MIPSsim: Fix build. Signed-off-by: Ralf Baechle commit 891649409edbed528728b4a104d29e43e9d7473a Author: Yoichi Yuasa Date: Wed May 9 00:03:02 2007 +0900 [MIPS] separate platform_device registration for VR41xx serial interface Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 8c41286edffef0d6e7fb770b178275c8beb24055 Author: Atsushi Nemoto Date: Thu Jul 12 00:55:40 2007 +0900 [MIPS] Include cacheflush.h in uncache.c This fixes this sparse warning: arch/mips/lib/uncached.c:38:22: warning: symbol 'run_uncached' was not declared. Should it be static? Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 40df3831f9b2fa386f55b580f294ea4f686704be Author: Atsushi Nemoto Date: Thu Jul 12 00:51:00 2007 +0900 [MIPS] Cleanup tlbdebug.h Also include tlbdebug.h in dump_tlb.c and r3k_dump_tlb.c. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 87d43dd48d6e68095be85c4e5f991fd7c89c052e Author: Atsushi Nemoto Date: Wed Jul 11 23:30:40 2007 +0900 [MIPS] Change names of local variables to silence sparse (part 2) This patch is an workaround for these sparse warnings: include2/asm/mmu_context.h:172:2: warning: symbol 'flags' shadows an earlier one include2/asm/mmu_context.h:133:16: originally declared here include2/asm/mmu_context.h:232:2: warning: symbol 'flags' shadows an earlier one include2/asm/mmu_context.h:203:16: originally declared here include2/asm/mmu_context.h:277:3: warning: symbol 'flags' shadows an earlier one include2/asm/mmu_context.h:250:16: originally declared here Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit c0cf500145b4154adcbc55afc1a63db24cee84a2 Author: Atsushi Nemoto Date: Wed Jul 11 23:12:00 2007 +0900 [MIPS] Workaround for a sparse warning in include/asm-mips/io.h CKSEG1ADDR() returns unsigned int value on 32bit kernel. Cast it to unsigned long to get rid of this warning: include2/asm/io.h:215:12: warning: cast adds address space to expression () Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 9815778ae016004c33ce267a00b7d567192ef6e7 Author: Thomas Bogendoerfer Date: Wed Jul 11 19:10:39 2007 +0200 [MIPS] RM: Use only phyiscal address for 82596 and 53c710 Use physical address for 82596 and 53c710 base address Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 0adc327bda829f6f7302ca2abdbe776828db7a97 Author: Ralf Baechle Date: Thu Jul 12 14:01:06 2007 +0100 [MIPS] Hydrogen3: Remove remaining bits of code. Signed-off-by: Ralf Baechle commit ddfada5ac00647ed0e6091322acff9d615bf7497 Author: Ralf Baechle Date: Wed Jul 11 00:20:01 2007 +0100 [MIPS] DEC: Fix modpost warning. LD vmlinux SYSMAP System.map SYSMAP .tmp_System.map MODPOST vmlinux WARNING: drivers/built-in.o(.data+0x2480): Section mismatch: reference to .init.text: (between 'sercons' and 'ds_parms') Signed-off-by: Ralf Baechle commit 96532151ff3567154cac92983b9edc3138fa097c Author: Ralf Baechle Date: Wed Jul 11 00:07:34 2007 +0100 Revert "[MIPS] DEC: Fix modpost warning." This reverts commit 8713762acf341edea9d25d6a4817f235c67bc004. commit 3bd39664481fc51d82e58a3bec6ba77febc7dfae Author: Ralf Baechle Date: Wed Jul 11 08:32:21 2007 +0100 [MIPS] Fix resume for 64K page size on R4000 class processors. Problem reported by Peter Watkins but this is a different fix. Signed-off-by: Ralf Baechle commit d1cbbd6b413510c6512f4f80ffd48db1a8dd554a Author: Catalin Marinas Date: Wed Jul 11 11:29:39 2007 +0100 [ARM] 4474/1: Do not check the PSR_F_BIT in valid_user_regs When running Linux in non-secure mode (on ARM1176 for example), depending on the CP15 secure configuration register, the CPSR.F bit (6) might only be modified from the secure mode. However, the valid_user_regs() function checks for this bit being cleared. With commit a6c61e9d, a SIGSEGV is forced in handle_signal() if the user registers are not considered valid. The patch also ensures that the CPSR.A bit is cleared and the USR mode is set if the CPU does not support the 26bit user mode. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit f884b1cf578e079f01682514ae1ae64c74586602 Author: Catalin Marinas Date: Thu Jul 12 16:10:22 2007 +0100 [ARM] 4473/2: Take the HWCAP definitions out of the elf.h file The patch moves the HWCAP definitions and the extern elf_hwcap declaration to the hwcap.h header file. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 46c41e62a1feb4ab2e941f33f06bbf8feab2d2cf Author: Russell King Date: Tue May 15 15:39:36 2007 +0100 [ARM] pxa: move platform devices to separate header file Signed-off-by: Russell King commit 34f3231f435dfb8e6c83271c63461fdd2901dc97 Author: Russell King Date: Tue May 15 10:39:49 2007 +0100 [ARM] pxa: move device registration into CPU-specific file This allows individual CPU support to determine which platform devices should be registered. Also fix a copy-n-paste bug in the I2C power platform device entry. Signed-off-by: Russell King commit 4adb70fc1b9b545ce6221f0cc35a8fa0eab13461 Author: Russell King Date: Wed Jun 27 09:57:32 2007 +0100 [ARM] pxa: remove boot time RTC initialisation The RTC library code contains everything necessary to set the system time from the RTC; for similar reasons as the previous commit, it's far better to let the RTC library code sort this out rather than implement something which might not be appropriate for everyone. Signed-off-by: Russell King commit 2aca0a865722fce435034cee5a33e1726fe10a9f Author: Russell King Date: Wed Jun 27 09:56:05 2007 +0100 [ARM] pxa: stop doing our own rtc management over suspend Remove the RTC management over a suspend/resume cycle. Firstly, we may not be using the internal RTC for time keeping; some platforms have an external RTC for this inspite of the PXA having an internal RTC. Secondly, the RTC library code handles updating system time on resume. Signed-off-by: Russell King commit f53f066c25036210036730d64c876ea586114425 Author: Eric Miao Date: Fri Jun 22 05:40:17 2007 +0100 [ARM] 4451/1: pxa: make dma.c generic and remove cpu specific dma code Since the number of dma channels varies between pxa25x and pxa27x, it introduces some specific code in dma.c. This patch moves the specific code to pxa25x.c and pxa27x.c and makes dma.c more generic. 1. add pxa_init_dma() for dma initialization, the number of channels are passed in by the argument 2. add a "prio" field to the "struct pxa_dma_channel" for the channel priority, and is initialized in pxa_init_dma() 3. use a general priority comparison with the channels "prio" field so to remove the processor specific pxa_for_each_dma_prio macro, this is not lightning fast as the original one, but it is acceptable as it happens when requesting dma, which is usually not so performance critical Signed-off-by: eric miao Acked-by: Nicolas Pitre Signed-off-by: Russell King commit cd49104d99b56383a3b1fdce2f31018197093c31 Author: Eric Miao Date: Fri Jun 22 04:14:09 2007 +0100 [ARM] 4450/1: pxa: add pxa25x_init_irq() and pxa27x_init_irq() /* should be ok this time, I aligned this patch to your arm:pxa2.mbox */ 1. move pxa25x specific IRQ initialization code to pxa25x_init_irq() and pxa27x code to pxa27x_init_irq(), remove pxa_init_irq() 2. replace all pxa_init_irq() with their PXA25x or PXA27x specific functions Signed-off-by: eric miao Signed-off-by: Russell King commit 8118d124949ed8ff1a450e0c0d13cfab8c2ff7aa Author: Eric Miao Date: Wed Jun 6 06:49:59 2007 +0100 [ARM] 4440/1: PXA: enable the checking of ICIP2 for IRQs ICIP2 is not examined during IRQ entrance, this patch add the checking if the processor is PXA27x or later, with CoreG bits in CPUID (Core Generation) > 1 Signed-off-by: eric miao Signed-off-by: Russell King commit 4a3dcd35c82a2a25b2832502290e1a3f1571e9ef Author: Eric Miao Date: Wed Jun 6 06:45:18 2007 +0100 [ARM] 4438/1: PXA: remove #ifdef .. #endif from pxa_gpio_demux_handler() 1. use GPIO_IRQ_mask[] to select those bits of interest, actually only those "unmasked" GPIO IRQs with their corresponding bits in GPIO_IRQ_mask[] set to "1" should be checked 2. remove #ifdef PXA_LAST_GPIO > 96 .. #endif, GPIO_IRQ_mask[] is used to mask out the irrelevant bits, so that even though the GEDR3 on PXA25x is reserved, it will be masked, and the following code will never run. Another point is that GPIO85- GPIO95 bits within GEDR2 will also be masked out on PXA25x Signed-off-by: eric miao Signed-off-by: Russell King commit 348f2e3b2956e30f07d2507d7234c3f12a8a612d Author: Eric Miao Date: Wed Jun 6 06:37:15 2007 +0100 [ARM] 4437/1: PXA: move the GPIO IRQ initialization code to pxa_init_irq_gpio() move the GPIO IRQ initialization code to pxa_init_irq_gpio() Signed-off-by: eric miao Signed-off-by: Russell King commit 53665a50fdac6fe11e0dde4e2b95700ed5184dc4 Author: Eric Miao Date: Wed Jun 6 06:36:04 2007 +0100 [ARM] 4436/1: PXA: move low IRQ initialization code to pxa_init_irq_low() 1. move low IRQ initialization code to pxa_init_irq_low() Signed-off-by: eric miao Signed-off-by: Russell King commit c08b7b3ef6bf489ddabadc03e050f3db2ea44b5d Author: Eric Miao Date: Wed Jun 6 06:32:38 2007 +0100 [ARM] 4435/1: PXA: remove PXA_INTERNAL_IRQS 1. define PXA_GPIO_IRQ_BASE to be right after the internal IRQs, and define PXA_GPIO_IRQ_NUM to be 128 for all PXA2xx variants 2. make the code specific to the high IRQ numbers (32..64) to be PXA27x specific 3. add a function pxa_init_irq_high() to initialize the internal high IRQ chip, the invoke of this function could be moved to PXA27x specific initialization code Signed-off-by: eric miao Signed-off-by: Russell King commit 486c955118dbbb0f13dc4d40cc5dac2b23f82676 Author: Eric Miao Date: Wed Jun 6 06:22:20 2007 +0100 [ARM] 4434/1: PXA: remove PXA_IRQ_SKIP 1. PXA_IRQ_SKIP is defined to be 7 on PXA25x so that the first IRQ starts from zero. This makes IRQ numbering inconsistent between PXA25x and PXA27x. Remove this macro so that the same IRQ_XXXXX definition has the same value on both PXA25x and PXA27x. 2. make IRQ_SSP3..IRQ_PWRI2C valid only if PXA27x is defined, this avoids unintentional use of these macros on PXA25x Signed-off-by: eric miao Signed-off-by: Russell King commit 88dfe98c688e1700a4a9f73f8b7d570f4f52170d Author: Russell King Date: Tue May 15 11:22:48 2007 +0100 [ARM] pxa: Fix PXA27x suspend type validation, remove pxa_pm_prepare() pxa_pm_prepare() tried to validate the suspend method type. As noted in previous commits: eb9289eb20df6b54214c45ac7c6bf5179a149026 9c372d06ce9ddf65e1393f9ea22a6d6bd5f96b42 e8c9c502690efd24b7055bf608e7a3c34216848b the checking of the suspend type in the 'prepare' method is the wrong place to do this; use the 'valid' method instead. This means that pxa_pm_prepare() can be entirely removed. Signed-off-by: Russell King commit e176bb05fec4c00450302a75e81f8da3dc9e309e Author: Russell King Date: Tue May 15 11:16:10 2007 +0100 [ARM] pxa: move pm_ops structure into CPU specific files Move the pm_ops structure into the PXA25x and PXA27x support files. Remove the old pxa_pm_prepare() function, and rename the both pxa_cpu_pm_prepare() functions as pxa_pm_prepare(). We'll fix that later. Signed-off-by: Russell King commit b23170c01f6e4ea043df7cd9486c2488e01f3d60 Author: Russell King Date: Tue May 15 10:26:49 2007 +0100 [ARM] pxa: introduce cpu_is_pxaXXX macros Signed-off-by: Russell King commit 7a2b94bc39915041304578188441f0f21aa5532a Author: Russell King Date: Wed May 16 15:44:37 2007 +0100 [ARM] pxa: remove MMC register defines from pxa-regs.h pxamci.h redefines the MMC registers differently so they can be used with ioremap. Remove the incompatible definitions from pxa-regs.h. Signed-off-by: Russell King commit f4b6a0a401f2cec5e6199e805ed42f30d8c04e94 Author: Russell King Date: Tue May 15 16:49:02 2007 +0100 [ARM] pxa: use mutexes instead of semaphores Signed-off-by: Russell King commit f62c3f2c35874713ebbb6b6a4b9d9c6caaed4f14 Author: Russell King Date: Tue May 15 11:03:24 2007 +0100 [ARM] pxa: remove useless pxa_pm_finish() function pxa_pm_finish() does nothing but return zero. The core code does nothing with this return value, and will not try to call the finish method in the pm_ops structure if it is NULL. Therefore, we can remove this useless function. Signed-off-by: Russell King commit 0a85e9a271a754e352af8a8b625025017fd97449 Author: Jean Delvare Date: Thu Jul 12 14:12:32 2007 +0200 i2c-rpx: Remove This driver has been broken forever. It depends on i2c-algo-8xx which has never been in the mainline kernel. Signed-off-by: Jean Delvare commit 254db9b5e7b1b0d38a4f177c2c23a5685c78221a Author: Domen Puncer Date: Thu Jul 12 14:12:31 2007 +0200 i2c-mpc: work around missing-9th-clock-pulse bug Work around a problem reported on: http://ozlabs.org/pipermail/linuxppc-embedded/2005-July/019038.html Without this patch I2C on mpc5200 becomes unusable after a while. Tested on mpc5200 boards by Matthias Fechner and me. Signed-off-by: Domen Puncer Signed-off-by: Jean Delvare commit 1b144df1d7d69d6dd3394205933c8951dd8b6784 Author: Marc St-Jean Date: Thu Jul 12 14:12:31 2007 +0200 i2c: New PMC MSP71xx TWI bus driver Add TWI driver for the PMC-Sierra MSP71xx devices. [JD: Drop the probe hack, don't set algo_data as we never use it, return the right error code if the driver registration fails.] Signed-off-by: Marc St-Jean Signed-off-by: Jean Delvare commit c6e16295b71ec006c8cb6d13520e9194652a6026 Author: Jean Delvare Date: Thu Jul 12 14:12:31 2007 +0200 i2c-savage4: Delete many unused defines Signed-off-by: Jean Delvare commit e296fb7f301f3c3398adc6d991b097cfa73e1c0c Author: Jean Delvare Date: Thu Jul 12 14:12:31 2007 +0200 i2c/tsl2550: Speed up initialization There's some redundancy in the tsl2550 initialization sequence. It is powering up the device twice, and setting the operating mode twice too. Setting things just once saves SMBus transactions, which aren't always cheap, speeding up the device initialization. Signed-off-by: Jean Delvare Cc: Rodolfo Giometti commit b9cdad74883a797952de52464d118d685cafc05a Author: Jean Delvare Date: Thu Jul 12 14:12:31 2007 +0200 i2c: New bus driver for the TAOS evaluation modules This is a new I2C bus driver for the TAOS evaluation modules. Developped and tested on the TAOS TSL2550 EVM. Signed-off-by: Jean Delvare commit 7edcb9abb594a8f3b4ca756e03d01c870aeae127 Author: Oleg Ryjkov Date: Thu Jul 12 14:12:31 2007 +0200 i2c-i801: Use the internal 32-byte buffer on ICH4+ Add an ability to utilize the internal SRAM buffer on ICH4 and newer host controllers to speed up execution of block operations. I've split the code so that it is more clear which block transaction is performed. First of all the host controller's type is identified. isich4 is set when we think that the controller has the internal buffer. Then, before every block transaction, if isich4 is set, we attempt to enable the E32B bit in SMBAUXCTL register. Signed-off-by: Oleg Ryjkov Signed-off-by: Jean Delvare commit ca8b9e32a11a7cbfecbef00c8451a79fe1af392e Author: Oleg Ryjkov Date: Thu Jul 12 14:12:31 2007 +0200 i2c-i801: Various cleanups * Use defines instead of raw numbers for register bits * Fix several wrong indentations and trailing whitespace * Move hwpec timeout checking to a separate function Signed-off-by: Oleg Ryjkov Signed-off-by: Jean Delvare commit a92c344d8c640a812c7a9f5a5202d862cd052a0f Author: Rodolfo Giometti Date: Thu Jul 12 14:12:30 2007 +0200 i2c: Add support for the TSL2550 Add support for Taos TSL2550 ambient light sensors. (http://www.taosinc.com/product_detail.asp?cateid=4&proid=18). Signed-off-by: Rodolfo Giometti Signed-off-by: Jean Delvare commit 066af983c74162fa98e7c5ffa8a5ead4a6979b1f Author: Rodolfo Giometti Date: Thu Jul 12 14:12:30 2007 +0200 i2c-pxa: Support new-style I2C drivers Signed-off-by: Rodolfo Giometti Signed-off-by: Jean Delvare commit 4d6ceed4426cd85e1203a3153246334a3537f92b Author: Atsushi Nemoto Date: Thu Jul 12 14:12:30 2007 +0200 i2c-gpio: Make some internal functions static i2c_gpio_getsda() and i2c_gpio_getscl() are only used in this file. Signed-off-by: Atsushi Nemoto Acked-by: Haavard Skinnemoen Signed-off-by: Jean Delvare commit 7e69c3ac93a9a7aa29dab7179f86da67db7b0ca3 Author: Atsushi Nemoto Date: Thu Jul 12 14:12:30 2007 +0200 i2c-gpio: Add support for new-style clients Use i2c_bit_add_numbered_bus() so that the i2c-gpio adapter works well with new-style pre-declared devices. Signed-off-by: Atsushi Nemoto Signed-off-by: Jean Delvare commit 757ba4c697244da878b65585d8cb671da1cb9eaf Author: Martin Michlmayr Date: Thu Jul 12 14:12:30 2007 +0200 i2c-iop3xx: Switch to static adapter numbering Update the IOP3xx I2C driver to use i2c_add_numbered_adapter(), so that later patches can convert boards to using new-style drivers. Signed-off-by: Martin Michlmayr Tested-by: Voipio Riku Cc: Dan J Williams Signed-off-by: Jean Delvare commit 7375cd822d600b4e8b83cbc025422e4267bf5fac Author: Jean Delvare Date: Thu Jul 12 14:12:30 2007 +0200 i2c-sis5595: Resolve resource conflict with sis5595 Let the i2c-sis5595 driver release its PCI device after registering. This is to allow the sis5595 hardware monitoring driver to also access this PCI device. The same trick is already used in the i2c-viapro and via686a drivers to let them both load. Signed-off-by: Jean Delvare commit 7d13714650ec8868f999d2dc3d06e2723687d0c3 Author: Jean Delvare Date: Thu Jul 12 14:12:30 2007 +0200 matroxfb: Clean-up i2c header inclusions matroxfb_crtc2 has nothing to do with i2c, so there's no reason why matroxfb_crtc2.h should include i2c header files. Signed-off-by: Jean Delvare Acked-by: Petr Vandrovec commit b53c82211a7239643aa7c9b4887429c30f353406 Author: Oleg Ryjkov Date: Thu Jul 12 14:12:29 2007 +0200 i2c-nforce2: Add support for SMBus block transactions Add support for SMBus block read/write transactions to i2c-nforce2 driver, in particular to host controllers MCP51 and MCP55. Signed-off-by: Oleg Ryjkov Signed-off-by: Jean Delvare commit 1469fa263870acd890a4b9f6ef557acc5d673b44 Author: Grant Likely Date: Thu Jul 12 14:12:29 2007 +0200 i2c-mpc: Use i2c_add_numbered_adapter Move the i2c-mpc driver over to using the new i2c infrastructure. Specifically, it now uses i2c_add_numbered_adapter so that the bus number can be determined ahead of time and used to register i2c clients before the bus is instantiated. Tested on an MPC5200 based board Signed-off-by: Grant Likely Signed-off-by: Jean Delvare commit 65b22ad9508b609b0625eccb2680996a1e09ed16 Author: Dale Farnsworth Date: Thu Jul 12 14:12:29 2007 +0200 i2c-mv64xxx: Use i2c_add_numbered_adapter Convert the Marvell mv64xxx I2C driver to use the new i2c infrastructure, by calling i2c_add_numbered_adapter(). This allows clients to be registered before the bus is instantiated. Signed-off-by: Dale Farnsworth Acked-by: Mark A. Greer Signed-off-by: Jean Delvare commit c29c22218b99dad95f7cd0281415a854aeee805c Author: Henry Su Date: Thu Jul 12 14:12:29 2007 +0200 i2c-piix4: Add support for the ATI SB700 Add the SMBus device ID for ATI SB700. Signed-off-by: Henry Su Signed-off-by: Jean Delvare commit 5162b75b24963eebe62c4d4161d0fe0b337a313b Author: Grant Likely Date: Thu Jul 12 14:12:29 2007 +0200 i2c: New DS1682 chip driver A driver for the Dallas DS1682 elapsed time recorder chip. Tested on a MPC5200 based board using the integrated i2c adapter. Signed-off-by: Grant Likely Signed-off-by: Jean Delvare commit 4b2643d7d9bdcd776749e17f73c168ddf02e93cb Author: Jean Delvare Date: Thu Jul 12 14:12:29 2007 +0200 i2c: Fix the i2c_smbus_read_i2c_block_data() prototype Let the drivers specify how many bytes they want to read with i2c_smbus_read_i2c_block_data(). So far, the block count was hard-coded to I2C_SMBUS_BLOCK_MAX (32), which did not make much sense. Many driver authors complained about this before, and I believe it's about time to fix it. Right now, authors have to do technically stupid things, such as individual byte reads or full-fledged I2C messaging, to work around the problem. We do not want to encourage that. I even found that some bus drivers (e.g. i2c-amd8111) already implemented I2C block read the "right" way, that is, they didn't follow the old, broken standard. The fact that it was never noticed before just shows how little i2c_smbus_read_i2c_block_data() was used, which isn't that surprising given how broken its prototype was so far. There are some obvious compatiblity considerations: * This changes the i2c_smbus_read_i2c_block_data() prototype. Users outside the kernel tree will notice at compilation time, and will have to update their code. * User-space has access to i2c_smbus_xfer() directly using i2c-dev, so the changed expectations would affect tools such as i2cdump. In order to preserve binary compatibility, we give I2C_SMBUS_I2C_BLOCK_DATA a new numeric value, and define I2C_SMBUS_I2C_BLOCK_BROKEN with the old numeric value. When i2c-dev receives a transaction with the old value, it can convert it to the new format on the fly. Signed-off-by: Jean Delvare commit ba7fbb723f50ab2607989a282af655fb0fab0492 Author: Jean Delvare Date: Thu Jul 12 14:12:29 2007 +0200 i2c: Deprecate legacy RTC drivers We have a new RTC subsystem with better drivers. Legacy driver status: * ds1337: The DS1337 and DS1339 are now supported by the rtc-ds1307 driver, so it looks to me like we could even delete the ds1337 driver right away. * ds1374: Will soon be replaced with Scott Wood's rtc-ds1374 driver. * m41t00: The M41T00 is supported by the rtc-ds1307 driver. For the M41T81 and M41T85, the rtc-m41t80 driver written by Atsushi Nemoto should work. Signed-off-by: Jean Delvare Cc: Alessandro Zummo Acked-by: Mark A. Greer Acked-by: James Chapman Cc: Randy Vinson commit 890e037509f5b3f967b16ea0ea525c7c75b213ae Author: Jean Delvare Date: Thu Jul 12 14:12:28 2007 +0200 i2c: Delete outdated x1205 driver documentation The x1205 driver moved to the RTC subsystem and was significantly modified since then, so just delete the outdated documentation. Signed-off-by: Jean Delvare Cc: Alessandro Zummo commit 9d9c01ceff00fcba50043f500cac471ecf6752c9 Author: Matthias Kaehlcke Date: Thu Jul 12 14:12:28 2007 +0200 scx200_acb: Use mutex instead of semaphore The scx200_acb driver use a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Cc: Jordan Crouse Signed-off-by: Jean Delvare commit d75d53cd571c02990d56e72f615ab11e943772f9 Author: Mark M. Hoffman Date: Thu Jul 12 14:12:28 2007 +0200 i2c: Fix sparse warning in i2c.h Kill a sparse warning by un-nesting two container_of() calls. Signed-off-by: Mark M. Hoffman Signed-off-by: Jean Delvare commit d64f73be1b59b9556de0a8fbd4f1a003c6a45a5c Author: David Brownell Date: Thu Jul 12 14:12:28 2007 +0200 i2c: Add kernel documentation Generate I2C kerneldoc; fix various glitches and add "context" sections to that documentation. Most I2C and SMBus functions still have no kerneldoc. Let me suggest providing kerneldoc for all the i2c_smbus_*() functions as a small and mostly self-contained project for anyone so inclined. :) Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit 909d6c6c80311f800aee338e5fa528818b115951 Author: George G. Davis Date: Tue Jun 26 01:38:27 2007 +0100 [ARM] 4453/1: Fully Decode ARM instruction set state in show_regs() tombstone The ARM show_regs() tombstone only partially decodes which ARM ISA was executing at the time a fault occurred displaying either "(T)" for the Thumb case or nothing at all for other cases. This patch therefore explicitly identifies which state the processor is in at the time of a fault: ARM, Thumb, Jazelle or JazelleEE. Signed-off-by: George G. Davis Acked-by: Catalin Marinas Signed-off-by: Russell King commit 9d20fdd58e74d4d26dc5216efaaa0f800c23dd3a Author: Bill Gatliff Date: Thu May 31 22:02:22 2007 +0100 [ARM] 4423/1: add ATAGS support Examines the ATAGS pointer (r2) at boot, and interprets a nonzero value as a reference to an ATAGS structure. A suitable ATAGS structure replaces the kernel's command line. Signed-off-by: Bill Gatliff Signed-off-by: Russell King commit 7d09e85448dfa78e3e58186c934449aaf6d49b50 Author: Catalin Marinas Date: Fri Jun 1 17:14:53 2007 +0100 [ARM] 4393/2: ARMv7: Add uncompressing code for the new CPU Id format The current arch/arm/boot/compressed/head.S code only supports cores to ARMv6 with the old CPU Id format. This patch adds support for the new ARMv6 with the new CPU Id and ARMv7 cores that no longer have the ARMv4 cache operations. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 6d78b5f9c6cf59c98d3833e09d0ed6aebd6a33d3 Author: Russell King Date: Sun Jun 3 19:26:04 2007 +0100 [ARM] Fix bounding error in ioremap_pfn() If size=16M offset=2K then we should map two supersections rather than just one. Signed-off-by: Russell King commit 4486b86368d72bcac76439638b36667b1c6a1360 Author: Russell King Date: Sun Jun 3 18:54:42 2007 +0100 [ARM] riscpc: fix decompressor font file handling font_acorn_8x8.o was being built in drivers/video/console/ twice during a build _in the same location_ - once for the kernel proper, and once for the decompressor. The result is when you came to run an install target, the kernel was always rebuilt due to this file apparantly having been built with different compiler arguments. Solve this by making a local copy at build time in the decompressor's directory. Signed-off-by: Russell King commit 8a87a996eae3d25b0670a243f4829ea4aa9eb63d Author: Andrew Victor Date: Mon May 14 14:30:15 2007 +0100 [ARM] 4377/1: KS8695: GPIO driver Driver to control the GPIO pins on the KS8695 processor. The driver natively supports the Generic GPIO interface. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit eab03b3f6609518a80eae4d1f5d78ff8f44e116a Author: Russell King Date: Sun Jun 3 18:50:49 2007 +0100 [ARM] If linux/irq.h is included, asm/irq.h is not required Signed-off-by: Russell King commit d85ed59524d936f4c2657ba39a483b4ab373a59e Author: Michael-Luke Jones Date: Sat May 26 21:58:07 2007 +0100 [ARM] 4407/1: Remove in-kernel mach id setting for gtwx5715 ixp4xx board If MACH_GTWX5715 is set in Kconfig, this code sets the mach id automatically. Howeber, this means that any IXP4xx kernel which is setup to support the gtwx5715 board will not successfully boot on any other board. If the bootloader sets the wrong mach id, it should be set correctly by a kernel shim. Signed-off-by: Michael-Luke Jones Signed-off-by: Russell King commit ddaca4a26efc0716708f027914bf5508e2d86cc7 Author: Michael-Luke Jones Date: Thu May 31 12:27:14 2007 +0100 [ARM] 4408/2: Fixup support for gtwx5715 ixp4xx board This patch fixes up compiling of the gtwx5715 board setup code, which has apparently been broken since 2.6.18 and the generic IRQ changes. In addition it removes some unecessary extern declarations in the gtwx5715-pci.c file. Signed-off-by: Michael-Luke Jones Signed-off-by: Russell King commit dcdeeb21c010e9b5cb2e91f865cd5bebb65bc31f Author: Imre Kaloz Date: Sat Jun 2 15:47:51 2007 +0100 [ARM] 4426/2: Netgear WG302 v2 and WAG302 v2 support This patch provides support for the Netgear WG302 v2 and WAG302 v2 AccessPoint series. This patch relies on the patch "Gateway 7001 series support" minimally, as they only have UART2 connected. Updated to stay below the 80 char limit in uncompress.h Signed-off-by: Imre Kaloz Signed-off-by: Deepak Saxena Signed-off-by: Russell King commit 46918bd13b887e8f0ae2987e690bc2af9c6c08a4 Author: Imre Kaloz Date: Sat Jun 2 15:44:08 2007 +0100 [ARM] 4425/2: Gateway 7001 series support This patch provides support for the Gateway 7001 AccessPoint series. Updated to stay below the 80 char limit in uncompress.h Signed-off-by: Imre Kaloz Signed-off-by: Deepak Saxena Signed-off-by: Russell King commit 4ad48b4bfa121a67ec04162d584afcfa75ed151a Author: Vladimir Barinov Date: Wed May 16 20:39:02 2007 +0100 [ARM] 4385/2: ixdp425: NAND support IXDP425 NAND support (arch specific part). The generic platform driver that is used by ixdp425 platfrom is already in upstream kernel in 2.6.22-rc1. Signed-off-by: Vladimir Barinov Signed-off-by: Ruslan Sushko Signed-off-by: Deepak Saxena Signed-off-by: Russell King commit 51198ea9478b6e10759ab07cd0b9917663c8df7a Author: Dan Williams Date: Wed Jun 6 17:51:21 2007 +0100 [ARM] 4429/2: iop13xx: expose the 'iop' attribute versions of the tpmi control registers The tpmi control registers can be accessed on the internal bus via an address with PCI attributes or IOP attributes (i.e. read-only, read-write... etc). The sas driver needs access to the iop-attribute registers for initialization. Changelog: * use ARRAY_SIZE for num_resources, Russell King Signed-off-by: Dan Williams Signed-off-by: Russell King commit 89bba43514d06478eb27e3fa9099a8ae7dee5589 Author: Pavel Pisa Date: Sun May 13 17:37:33 2007 +0100 [ARM] 4374/3: i.MX/MX1 clock event source Support clock event source based on i.MX general purpose timer in free running timer mode. Signed-off-by: Pavel Pisa Acked-by: Thomas Gleixner Acked-by: Sascha Hauer Signed-off-by: Russell King commit b3e6a508ed920698d367e5993ed056d70364d91f Author: Pavel Pisa Date: Sat May 12 14:31:17 2007 +0100 [ARM] 4373/1: i.MX/MX1 GPIO support implementation Support for generic input output for MX1 family. The implementation prevents allocation of one pin by two users, but does not store pointer to the user description permanently, because this solution would have bigger memory overhead. The simple way to integrate code with per BSP pins setup and allocation is required else all GPIO registration checking is useless. The function imx_gpio_setup_multiple_pins() can be used for this purpose in future. Signed-off-by: Pavel Pisa Signed-off-by: Russell King commit feb47225525a4194e7f6db5e745265793626ceb0 Author: Greg Ungerer Date: Mon Jun 4 06:46:26 2007 +0100 [ARM] 4428/1: modify at91 includes to handle non-MMU at91x40 family Modify the common at91 hardware support to deal with the non-MMU at91x40 family. The base RAM (which is most likely not DRAM) is set to the configured value. Virtual IO device mapping is set to be 1 to 1 with the physical addresses. Signed-off-by: Greg Ungerer Acked-by: Andrew Victor Signed-off-by: Russell King commit 70672224009bc3d4d6713337b3456bc7ab71d52b Author: Greg Ungerer Date: Mon Jun 4 06:45:38 2007 +0100 [ARM] 4427/1: base Atmel at91x40 architecture defines Base at91x40 architecture support defines. These parts are somewhat simpler than the ARM9 Atmel based parts. Signed-off-by: Greg Ungerer Acked-by: Andrew Victor Signed-off-by: Russell King commit b54942f8203689014f80ec89c55ccb1f48ab1166 Author: Greg Ungerer Date: Fri May 18 06:28:01 2007 +0100 [ARM] 4391/1: make at91 debug unit support optional The AT91x40 family doesn't have the debug unit like its bigger brothers. But it does have the ID and extension registers (with the bit meanings the same). Reorganize at91_dbgu.h to cater for this. This also affects the load uncompressor, since it outputs to the debug port. Signed-off-by: Greg Ungerer Acked-by: Andrew Victor Signed-off-by: Russell King commit d0f9b55ece0ec1ffc9e2e57fd7a79200994aead4 Author: Andrew Victor Date: Mon Jun 4 08:41:59 2007 +0100 [ARM] 4420/2: AT91: GPIO buttons on SAM9261-EK board Register the GPIO-connected buttons on the SAM9261-EK board as a "gpio-keys" platform device. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit cdf95c73694e464cf9877cb5aa51df77f42815bc Author: Andrew Victor Date: Mon May 14 15:08:21 2007 +0100 [ARM] 4379/1: AT91: LCD support on SAM9261-EK and SAM9263-EK boards Add board-specific setup for the LCD on the Atmel AT91SAM9261-EK and AT91SAM9263-EK boards. Signed-off-by: Nicolas Ferre Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 3c3e69cd4c667e6ce7939d83b274d48c57779479 Author: Ben Dooks Date: Thu Jul 12 10:57:37 2007 +0100 [ARM] 4470/2: OSIRIS: large page NAND support Add support for the partition layout on the revision B modules which have large page NAND fitted. The new partition table accounts for the use of the 128KiB block parts, which means the second partition on the device is moved to the new boundary. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 5ce4b1fe6c6a126f9274f19d8b2d2c8d29cd49b6 Author: Ben Dooks Date: Thu Jul 12 10:44:53 2007 +0100 [ARM] 4467/3: BAST: AX88796 device resources Add resources for the AX88796 on the Simtec BAST. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit ad3613f4798e229c8885b924c88e17ab85fef96a Author: Ben Dooks Date: Wed Jul 11 11:10:42 2007 +0100 [ARM] 4469/1: ANUBIS: large page NAND support Add support for the partition layour used on the revision B modules which ship with large page NAND flash as default. The differnce between the old and new layouts is that the large page devices use 128KiB blocks, so the initial loader partition now ends at 128KiB boundary pushing the begining of partition 1 up. The rest of the partitions are in the same place as the small page NAND devices. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 8a9ccb7f182d15d6d6d0debb819790f25c87a30b Author: Ben Dooks Date: Thu Jul 12 10:47:35 2007 +0100 [ARM] 4468/2: ANUBIS: Add SM501 device resources Add resources for the SM501 present on the Simtec Anubis board, including the framebuffer and the I2C for DDC. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit eac1d8dab03bde6d20679c961a6409c1b786c201 Author: Ben Dooks Date: Wed Jul 11 10:14:53 2007 +0100 [ARM] 4466/1: ANUBIS: Anubis AX88796 support This patch adds the resources necessary for the AX88796 driver to attach to the AX88796 network controller fitted on the Simtec Anubis board. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 83f53220f8313f097cdf181928be13bafbb697ea Author: Vladimir Barinov Date: Tue Jul 10 13:10:04 2007 +0100 [ARM] 4432/5: davinci: pin mux support Support pin multiplexing configurations driver for TI DaVinci SoC Signed-off-by: Vladimir Barinov Acked-by: Kevin Hilman Signed-off-by: Russell King commit 3d9edf09d4525dad95f98b31f31aa86b8071fab9 Author: Vladimir Barinov Date: Tue Jul 10 13:03:43 2007 +0100 [ARM] 4457/2: davinci: GPIO support Support GPIO driver for TI DaVinci SoC Signed-off-by: Vladimir Barinov Acked-by: David Brownell Acked-by: Kevin Hilman Signed-off-by: Russell King commit 3e062b07ada88edb9ffdd147e39c7df4b4418f64 Author: Vladimir Barinov Date: Tue Jun 5 16:36:55 2007 +0100 [ARM] 4430/1: davinci: clock control support Support clock control driver for TI DaVinci SoC Signed-off-by: Vladimir Barinov Signed-off-by: Kevin Hilman Signed-off-by: Russell King commit f4d640c9be1979a603ed017e1e03a16ba3a4d7a1 Author: Roy Huang Date: Thu Jul 12 16:43:46 2007 +0800 Blackfin serial driver: supporting BF548-EZKIT serial port Signed-off-by: Roy Huang Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit db83b991bce1b4792125d4b23bb108e8cfd5d366 Author: Michael Hennerich Date: Thu Jul 12 12:07:40 2007 +0800 Video Console: Blackfin doesnt support VGA console Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 61b59563266aa6bedaf5d45b9b25bc48bb4d3ed3 Author: Sonic Zhang Date: Thu Jul 12 17:06:45 2007 +0800 Blackfin arch: Add peripheral io API to gpio header file Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit e745106ce34553171a5d8d2450be07c0cffe39d5 Author: Sonic Zhang Date: Thu Jul 12 15:20:25 2007 +0800 Blackfin arch: set up gpio interrupt IRQ_PJ9 for BF54x ATAPI PATA driver Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit db0fa2064585a099e0c652983bd38d71ee7830f3 Author: Bryan Wu Date: Thu Jul 12 14:55:05 2007 +0800 Blackfin arch: add missing CONFIG_LARGE_ALLOCS when upstream merging Signed-off-by: Bryan Wu commit 798b77095dea2f89e42f5aaa0e5b18833fea5358 Author: Mike Frysinger Date: Thu Jul 12 14:35:15 2007 +0800 Blackfin arch: as pointed out by Robert P. J. Day, update the CPU_FREQ name to match current Kconfig Cc: Robert P. J. Day Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 5cf77a5fd03c65b9dd33c283ce308a3abc4cb375 Author: Mike Frysinger Date: Thu Jul 12 14:26:26 2007 +0800 Blackfin arch: extract the entry point from the linked kernel extract the entry point from the linked kernel rather than assuming entry point == load address Signed-off-by: Bryan Wu commit c04d66bbbdbbc7b5d55c42795f29e494190f8fb3 Author: Bryan Wu Date: Thu Jul 12 17:26:31 2007 +0800 Blackfin arch: clean up some coding style issues Signed-off-by: Bryan Wu commit 1d1894749cca89f4bb013364524199b3015d7b00 Author: Mike Frysinger Date: Thu Jul 12 12:32:00 2007 +0800 Blackfin arch: combine the common code of free_initrd_mem and free_initmem Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 5610db61cf2945a5e74667e952f2792c96ba53a1 Author: Michael Hennerich Date: Thu Jul 12 12:32:52 2007 +0800 Blackfin arch: Add Support for Peripheral PortMux and resouce allocation Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 520473b0775ce046d179afa686fb3222884c389d Author: Mike Frysinger Date: Thu Jul 12 12:20:20 2007 +0800 Blackfin arch: use PAGE_SIZE when doing aligns rather than hardcoded values Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit b07af760c9bd8e87c3aa9275298566379ec4e9c1 Author: Sonic Zhang Date: Thu Jul 12 12:18:08 2007 +0800 Blackfin arch: fix bug set dma_address properly in dma_map_sg Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 157cc5aad94fb7025c41a60788c1bfb5299010aa Author: Michael Hennerich Date: Thu Jul 12 16:20:21 2007 +0800 Blackfin arch: Disable CACHELINE_ALIGNED_L1 for BF54x by default Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit f40d24d909ad99c802a6813ff32b6feb20ab8c71 Author: Alex Landau Date: Thu Jul 12 12:11:48 2007 +0800 Blackfin arch: Port the dm9000 driver to Blackfin by using the correct low-level io routines Signed-off-by: Alex Landau Signed-off-by: Bryan Wu commit 9be343c5bcd1cf285c2150f363bc9dd7aab8b7fb Author: Michael Hennerich Date: Thu Jul 12 11:58:44 2007 +0800 Blackfin arch: There is no CDPRIO Bit in the EBIU_AMGCTL Register of BF54x arch However there are similar things in the EBIU_DDRQUE Register Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 9401e618c8f70920f34893946239e24d40a3519a Author: Mike Frysinger Date: Thu Jul 12 11:50:43 2007 +0800 Blackfin arch: scrub dead code we converted to using a system call for userspace spinlocks rather than a dedicated exception long ago Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit c9e27ece79f6170fd1cd1a40c5de5d93456606e7 Author: Michael Hennerich Date: Thu Jul 12 11:48:14 2007 +0800 Blackfin arch: Fix Warning add some defines in BF54x header file Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit d4cf291526a74cc33d33700a35b74395eec812fd Author: Adrian Bunk Date: Sun Jul 1 22:23:53 2007 +0200 security: unexport mmap_min_addr Remove unneeded export. Signed-off-by: Adrian Bunk Signed-off-by: James Morris commit 9faf65fb6ee2b4e08325ba2d69e5ccf0c46453d0 Author: Paul Moore Date: Fri Jun 29 11:48:16 2007 -0400 SELinux: use SECINITSID_NETMSG instead of SECINITSID_UNLABELED for NetLabel These changes will make NetLabel behave like labeled IPsec where there is an access check for both labeled and unlabeled packets as well as providing the ability to restrict domains to receiving only labeled packets when NetLabel is in use. The changes to the policy are straight forward with the following necessary to receive labeled traffic (with SECINITSID_NETMSG defined as "netlabel_peer_t"): allow mydom_t netlabel_peer_t:{ tcp_socket udp_socket rawip_socket } recvfrom; The policy for unlabeled traffic would be: allow mydom_t unlabeled_t:{ tcp_socket udp_socket rawip_socket } recvfrom; These policy changes, as well as more general NetLabel support, are included in the SELinux Reference Policy SVN tree, r2352 or later. Users who enable NetLabel support in the kernel are strongly encouraged to upgrade their policy to avoid network problems. Signed-off-by: Paul Moore Signed-off-by: James Morris commit ed0321895182ffb6ecf210e066d87911b270d587 Author: Eric Paris Date: Thu Jun 28 15:55:21 2007 -0400 security: Protection for exploiting null dereference using mmap Add a new security check on mmap operations to see if the user is attempting to mmap to low area of the address space. The amount of space protected is indicated by the new proc tunable /proc/sys/vm/mmap_min_addr and defaults to 0, preserving existing behavior. This patch uses a new SELinux security class "memprotect." Policy already contains a number of allow rules like a_t self:process * (unconfined_t being one of them) which mean that putting this check in the process class (its best current fit) would make it useless as all user processes, which we also want to protect against, would be allowed. By taking the memprotect name of the new class it will also make it possible for us to move some of the other memory protect permissions out of 'process' and into the new class next time we bump the policy version number (which I also think is a good future idea) Acked-by: Stephen Smalley Acked-by: Chris Wright Signed-off-by: Eric Paris Signed-off-by: James Morris commit 13bddc2e9d591e31bf20020dc19ea6ca85de420e Author: Tobias Oed Date: Mon Jun 11 08:56:31 2007 -0400 SELinux: Use %lu for inode->i_no when printing avc Inode numbers are unsigned long and so need to %lu as format string of printf. Signed-off-by: Tobias Oed Signed-off-by: James Morris commit 2c3c05dbcbc7b9d71549fe0e2b249f10f5a66518 Author: Stephen Smalley Date: Thu Jun 7 15:34:10 2007 -0400 SELinux: allow preemption between transition permission checks In security_get_user_sids, move the transition permission checks outside of the section holding the policy rdlock, and use the AVC to perform the checks, calling cond_resched after each one. These changes should allow preemption between the individual checks and enable caching of the results. It may however increase the overall time spent in the function in some cases, particularly in the cache miss case. The long term fix will be to take much of this logic to userspace by exporting additional state via selinuxfs, and ultimately deprecating and eliminating this interface from the kernel. Tested-by: Ingo Molnar Signed-off-by: Stephen Smalley Signed-off-by: James Morris commit 9dc9978084ea2a96b9f42752753d9e38a9f9d7b2 Author: Eric Paris Date: Mon Jun 4 17:41:22 2007 -0400 selinux: introduce schedule points in policydb_destroy() During the LSPP testing we found that it was possible for policydb_destroy() to take 10+ seconds of kernel time to complete. Basically all policydb_destroy() does is walk some (possibly long) lists and free the memory it finds. Turning off slab debugging config options made the problem go away since the actual functions which took most of the time were (as seen by oprofile) > 121202 23.9879 .check_poison_obj > 78247 15.4864 .check_slabp were caused by that. So I decided to also add some voluntary schedule points in that code so config voluntary preempt would be enough to solve the problem. Something similar was done in places like shmem_free_pages() when we have to walk a list of memory and free it. This was tested by the LSPP group on the hardware which could reproduce the problem just loading a new policy and was found to not trigger the softlock detector. It takes just as much processing time, but the kernel doesn't spend all that time stuck doing one thing and never scheduling. Someday a better way to handle memory might make the time needed in this function a lot less, but this fixes the current issue as it stands today. Signed-off-by: Eric Paris Signed-off-by: James Morris commit e47c8fc582a2c9f3cba059e543c4a056cd6bf8c4 Author: Christopher J. PeBenito Date: Wed May 23 09:12:09 2007 -0400 selinux: add selinuxfs structure for object class discovery The structure is as follows (relative to selinuxfs root): /class/file/index /class/file/perms/read /class/file/perms/write ... Each class is allocated 33 inodes, 1 for the class index and 32 for permissions. Relative to SEL_CLASS_INO_OFFSET, the inode of the index file DIV 33 is the class number. The inode of the permission file % 33 is the index of the permission for that class. Signed-off-by: Christopher J. PeBenito Signed-off-by: James Morris commit 0dd4ae516e7b5be89caed2532f9d953d0b1dbf01 Author: Christopher J. PeBenito Date: Wed May 23 09:12:08 2007 -0400 selinux: change sel_make_dir() to specify inode counter. Specify the inode counter explicitly in sel_make_dir(), rather than always using sel_last_ino. Signed-off-by: Christopher J. PeBenito Signed-off-by: James Morris commit 0c92d7c73b6f99897c8bc7990717b9050cfc722f Author: Christopher J. PeBenito Date: Wed May 23 09:12:07 2007 -0400 selinux: rename sel_remove_bools() for more general usage. sel_remove_bools() will also be used by the object class discovery, rename it for more general use. Signed-off-by: Christopher J. PeBenito Signed-off-by: James Morris commit 55fcf09b3fe4325c9395ebbb0322a547a157ebc7 Author: Christopher J. PeBenito Date: Wed May 23 09:12:06 2007 -0400 selinux: add support for querying object classes and permissions from the running policy Add support to the SELinux security server for obtaining a list of classes, and for obtaining a list of permissions for a specified class. Signed-off-by: Christopher J. PeBenito Signed-off-by: James Morris commit 15028aad00ddf241581fbe74a02ec89cbb28d35d Author: Michael Chan Date: Wed Jul 11 19:49:22 2007 -0700 [TG3]: Update version to 3.78. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 70b65a2d628d2e66bbf044bb764be64949f3580c Author: Matt Carlson Date: Wed Jul 11 19:48:50 2007 -0700 [TG3]: Add missing NVRAM strapping. This patch adds a missing NVRAM strapping for 5755 devices. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9ef8ca99749784644602535691f8cf201ee2a225 Author: Matt Carlson Date: Wed Jul 11 19:48:29 2007 -0700 [TG3]: Enable auto MDI. This patch adds automatic MDI crossover support when autonegotiation is turned off. Automatic MDI crossover allows link to be established without the use of a crossover cable. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit e8f3f6cad7e423253090887bc4afe7bc844162da Author: Matt Carlson Date: Wed Jul 11 19:47:55 2007 -0700 [TG3]: Fix the polarity bit. For most pre-5705 devices, multiple link interrupts were being generated for a single physical link change. The source of the interrupts was determined to be unnecessary toggling of the MAC link polarity bit. This patch changes the way the link polarity bit gets configured. Where possible, code that dynamically configures the bit in response to link changes has been replaced by code that configures the bit once during initialization time and then leaves the bit alone. For correctness, this patch also limits the use of the bit to those devices where it is defined, namely devices before the 5705. This patch also corrects the link polarity configurations for 5700 devices when paired against a bcm5411 phy. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 469665459d26da8d0b46c70d070da1e192e48e46 Author: Michael Chan Date: Wed Jul 11 19:47:19 2007 -0700 [TG3]: Fix irq_sync race condition. Gagan Arneja pointed out that tg3_reset_task() could potentially race with another thread calling tg3_full_lock() such as the ethtool_set_xxx() functions. This may trigger the BUG_ON() in tg3_irq_quiesce() or cause the irq_sync flag to be out- of-sync. I think the easiest way to fix this is to get the tp->lock first before setting the irq_sync flag. This is safe to do because the tp->lock is never grabbed by the irq handler. This change will guarantee that the irq_sync flag updates will be serialized. We also have to change one spot to call tg3_netif_start() (which clears the irq_sync flag) before releasing the tp->lock. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit db3d99c090e0cdb34b1274767e062bfddbb384bc Author: Patrick McHardy Date: Wed Jul 11 19:46:26 2007 -0700 [NET_SCHED]: ematch: module autoloading Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 662ad4f8efd3ba2ed710d36003f968b500e6f123 Author: Stephen Hemminger Date: Wed Jul 11 19:43:52 2007 -0700 [TCP]: tcp probe wraparound handling and other changes Switch from formatting messages in probe routine and copying with kfifo, to using a small circular queue of information and formatting on read. This avoids wraparound issues with kfifo, and saves one copy. Also make sure to state correct license, rather than copying off some other driver I started with. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0e06877c6fdbc67b1132be895f995acd1ff30135 Author: Patrick McHardy Date: Wed Jul 11 19:42:31 2007 -0700 [RTNETLINK]: rtnl_link: allow specifying initial device address Drivers need to validate the initial addresses in their netlink attribute validation function or manually reject them if they can't support this. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2d85cba2b272a5201a60966a65a4f8c0bcc0bb71 Author: Patrick McHardy Date: Wed Jul 11 19:42:13 2007 -0700 [RTNETLINK]: rtnl_link API simplification All drivers need to unregister their devices in the module unload function. While doing so they must hold the rtnl and atomically unregister the rtnl_link ops as well. This makes the rtnl_link_unregister function that takes the rtnl itself completely useless. Provide default newlink/dellink functions, make __rtnl_link_unregister and rtnl_link_unregister unregister all devices with matching rtnl_link_ops and change the existing users to take advantage of that. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 8c979c26a0f093c13290320edda799d8335e50ae Author: Patrick McHardy Date: Wed Jul 11 19:45:24 2007 -0700 [VLAN]: Fix MAC address handling The VLAN MAC address handling is broken in multiple ways. When the address differs when setting it, the real device is put in promiscous mode twice, but never taken out again. Additionally it doesn't resync when the real device's address is changed and needlessly puts it in promiscous mode when the vlan device is still down. Fix by moving address handling to vlan_dev_open/vlan_dev_stop and properly deal with address changes in the device notifier. Also switch to dev_unicast_add (which needs the exact same handling). Since the set_mac_address handler is identical to the generic ethernet one with these changes, kill it and use ether_setup(). Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 71bffe556c59a7865bf0b1ecd94530f1e296cdb0 Author: Patrick McHardy Date: Wed Jul 11 19:41:18 2007 -0700 [ETH]: Validate address in eth_mac_addr Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 50b65cc6fa3a69bdfbc8b3342d8ca6ddbbf5ec88 Merge: 2957862... 5b7f990... Author: David S. Miller Date: Wed Jul 11 19:37:40 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/holtmann/bluetooth-2.6 commit 29578624e354f56143d92510fff33a8b2aaa2c03 Author: Olaf Kirch Date: Wed Jul 11 19:32:02 2007 -0700 [NET]: Fix races in net_rx_action vs netpoll. Keep netpoll/poll_napi from messing with the poll_list. Only net_rx_action is allowed to manipulate the list. Signed-off-by: Olaf Kirch Signed-off-by: David S. Miller commit 91a6902958f052358899f58683d44e36228d85c2 Author: Zhang Rui Date: Sat Jun 9 13:57:22 2007 +0800 sysfs: add parameter "struct bin_attribute *" in .read/.write methods for sysfs binary attributes Well, first of all, I don't want to change so many files either. What I do: Adding a new parameter "struct bin_attribute *" in the .read/.write methods for the sysfs binary attributes. In fact, only the four lines change in fs/sysfs/bin.c and include/linux/sysfs.h do the real work. But I have to update all the files that use binary attributes to make them compatible with the new .read and .write methods. I'm not sure if I missed any. :( Why I do this: For a sysfs attribute, we can get a pointer pointing to the struct attribute in the .show/.store method, while we can't do this for the binary attributes. I don't know why this is different, but this does make it not so handy to use the binary attributes as the regular ones. So I think this patch is reasonable. :) Who benefits from it: The patch that exposes ACPI tables in sysfs requires such an improvement. All the table binary attributes share the same .read method. Parameter "struct bin_attribute *" is used to get the table signature and instance number which are used to distinguish different ACPI table binary attributes. Without this parameter, we need to offer different .read methods for different ACPI table binary attributes. This is impossible as there are various ACPI tables on different platforms, and we don't know what they are until they are loaded. Signed-off-by: Zhang Rui Signed-off-by: Greg Kroah-Hartman commit 51225039f3cf9d250596d1344494b293274b9169 Author: Tejun Heo Date: Thu Jun 14 04:27:25 2007 +0900 sysfs: make directory dentries and inodes reclaimable This patch makes dentries and inodes for sysfs directories reclaimable. * sysfs_notify() is modified to walk sysfs_dirent tree instead of dentry tree. * sysfs_update_file() and sysfs_chmod_file() use sysfs_get_dentry() to grab the victim dentry. * sysfs_rename_dir() and sysfs_move_dir() grab all dentries using sysfs_get_dentry() on startup. * Dentries for all shadowed directories are pinned in memory to serve as lookup start point. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 53e0ae92690c52eceb997905d85fbb42de5fff63 Author: Tejun Heo Date: Thu Jun 14 04:27:25 2007 +0900 sysfs: implement sysfs_get_dentry() Some sysfs operations require dentry and inode. sysfs_get_dentry() looks up and gets dentry for the specified sysfs_dirent. It finds the first ancestor with dentry attached and starts looking up dentries from there. Looking up from the nearest ancestor is necessary to support shadowed directories because we can't reliably lookup dentry for one of the shadows. Dentries for each shadow will be pinned in memory such that they can serve as the starting point for dentry lookup. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit a0edd7c848945a75e2f41673f43bc37d0a5fed15 Author: Tejun Heo Date: Thu Jun 14 04:27:24 2007 +0900 sysfs: move sysfs_drop_dentry() to dir.c and make it static After add/remove path restructuring, the only user of sysfs_drop_dentry() is sysfs_addrm_finish(). Move sysfs_drop_dentry() to dir.c and make it static. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit fb6896da37f19be4b75154c14d1cd79231255b17 Author: Tejun Heo Date: Thu Jun 14 04:27:24 2007 +0900 sysfs: restructure add/remove paths and fix inode update The original add/remove code had the following problems. * parent's timestamps are updated on dentry instantiation. this is incorrect with reclaimable files. * updating parent's timestamps isn't synchronized. * parent nlink update assumes the inode is accessible which won't be true once directory dentries are made reclaimable. This patch restructures add/remove paths to resolve the above problems. Add/removal are done in the following steps. 1. sysfs_addrm_start() : acquire locks including sysfs_mutex and other resources. 2-a. sysfs_add_one() : add new sd. linking the new sd into the children list is caller's responsibility. 2-b. sysfs_remove_one() : remove a sd. unlinking the sd from the children list is caller's responsibility. 3. sysfs_addrm_finish() : release all resources and clean up. Steps 2-a and/or 2-b can be repeated multiple times. Parent's inode is looked up during sysfs_addrm_start(). If available (always at the moment), it's pinned and nlink is updated as sd's are added and removed. Timestamps are updated during finish if any sd has been added or removed. If parent's inode is not available during start, sysfs_mutex ensures that parent inode is not created till add/remove is complete. All the complexity is contained inside the helper functions. Especially, dentry/inode handling is properly hidden from the rest of sysfs which now mostly operate on sysfs_dirents. As an added bonus, codes which use these helpers to add and remove sysfs_dirents are now more structured and simpler. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 3007e997de91ec59af39a3f9c91595b31ae6e08b Author: Tejun Heo Date: Thu Jun 14 04:27:23 2007 +0900 sysfs: use sysfs_mutex to protect the sysfs_dirent tree As kobj sysfs dentries and inodes are gonna be made reclaimable, i_mutex can't be used to protect sysfs_dirent tree. Use sysfs_mutex globally instead. As the whole tree is protected with sysfs_mutex, there is no reason to keep sysfs_rename_sem. Drop it. While at it, add docbook comments to functions which require sysfs_mutex locking. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 5f9953237f684ea1778adb9d26162da00b282225 Author: Tejun Heo Date: Thu Jun 14 04:27:23 2007 +0900 sysfs: consolidate sysfs spinlocks Replace sysfs_lock and kobj_sysfs_assoc_lock with sysfs_assoc_lock. sysfs_lock was originally to be used to protect sysfs_dirent tree but mutex seems better choice, so there is no reason to keep sysfs_lock separate. Merge the two spinlocks into one. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 608e266a2d4e62c1b98c1c573064b6afe8c06a58 Author: Tejun Heo Date: Thu Jun 14 04:27:22 2007 +0900 sysfs: make kobj point to sysfs_dirent instead of dentry As kobj sysfs dentries and inodes are gonna be made reclaimable, dentry can't be used as naming token for sysfs file/directory, replace kobj->dentry with kobj->sd. The only external interface change is shadow directory handling. All other changes are contained in kobj and sysfs. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit f0b0af4792d751106e2003f96af76fa95e10c68d Author: Tejun Heo Date: Thu Jun 14 04:27:22 2007 +0900 sysfs: implement sysfs_find_dirent() and sysfs_get_dirent() Implement sysfs_find_dirent() and sysfs_get_dirent(). sysfs_dirent_exist() is replaced by sysfs_find_dirent(). These will be used to make directory entries reclamiable. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 380e6fbb729a55b73d5d8409551474884e0d93fc Author: Tejun Heo Date: Thu Jun 14 04:27:22 2007 +0900 sysfs: implement SYSFS_FLAG_REMOVED flag Implement SYSFS_FLAG_REMOVED flag which currently is used only to improve sanity check in sysfs_deactivate(). The flag will be used to make directory entries reclamiable. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit b402d72cf7b338a074e3c12b305ec79284e18845 Author: Tejun Heo Date: Thu Jun 14 04:27:21 2007 +0900 sysfs: rename sysfs_dirent->s_type to s_flags and make room for flags Rename sysfs_dirent->s_type to s_flags, pack type into lower eight bits and reserve the rest for flags. sysfs_type() can used to access the type. All existing sd->s_type accesses are converted to use sysfs_type(). While at it, type test is changed to equality test instead of bit-and test where appropriate. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit d0bcb5689a521df98bff7549fcb8b17499660a99 Author: Tejun Heo Date: Thu Jun 14 04:27:21 2007 +0900 sysfs: make sysfs_drop_dentry() access inodes using ilookup() sysfs_drop_dentry() used to go through sd->s_dentry and sd->s_parent->s_dentry to access the inodes. This is incorrect because inode can be cached without dentry. This patch makes sysfs_drop_dentry() access inodes using ilookup() on sd->s_ino. This is both correct and simpler. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 9d9307dabb3de8140fb3801bf6eb01f231dbd83d Author: Rafael J. Wysocki Date: Thu Jun 14 03:45:18 2007 +0900 sysfs: Fix oops in sysfs_drop_dentry on x86_64 Fix oops on x86_64 caused by the dereference of dir in sysfs_drop_dentry() made before checking if dir is not NULL (cf. http://marc.info/?l=linux-kernel&m=118151626704924&w=2). Signed-off-by: Rafael J. Wysocki Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 0c73f18b7d95de8a007039337063a770b5fc8e7a Author: Tejun Heo Date: Thu Jun 14 03:45:18 2007 +0900 sysfs: use singly-linked list for sysfs_dirent tree Make sysfs_dirent use singly linked list for its tree structure. sysfs_link_sibling() and sysfs_unlink_sibling() functions are added to handle simpler cases. It adds some complexity and cpu cycle overhead but reduced memory footprint is worthwhile on big machines. This change reduces the sizeof sysfs_dirent from 104 to 88 on 64bit and from 60 to 52 on 32bit. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 8619f979898397582e366877fd5feeba7560d70c Author: Tejun Heo Date: Thu Jun 14 03:45:18 2007 +0900 sysfs: slim down sysfs_dirent->s_active Make sysfs_dirent->s_active an atomic_t instead of rwsem. This reduces the size of sysfs_dirent from 136 to 104 on 64bit and from 76 to 60 on 32bit with lock debugging turned off. With lock debugging turned on the reduction is much larger. s_active starts at zero and each active reference increments s_active. Putting a reference decrements s_active. Deactivation subtracts SD_DEACTIVATED_BIAS which is currently INT_MIN and assumed to be small enough to make s_active negative. If s_active is negative, sysfs_get() no longer grants new references. Deactivation succeeds immediately if there is no active user; otherwise, it waits using a completion for the last put. Due to the removal of lockdep tricks, this change makes things less trickier in release_sysfs_dirent(). As all the complexity is contained in three s_active functions, I think it's more readable this way. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit b6b4a4399c2a83d1af77c99dee0d0b5cc15ec268 Author: Tejun Heo Date: Thu Jun 14 03:45:18 2007 +0900 sysfs: move s_active functions to fs/sysfs/dir.c These functions are about to receive more complexity and doesn't really need to be inlined in the first place. Move them from fs/sysfs/sysfs.h to fs/sysfs/dir.c. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 0b8ead82f5d9d8f08c0d1236f2e350b70a977753 Author: Tejun Heo Date: Thu Jun 14 03:45:18 2007 +0900 sysfs: fix root sysfs_dirent -> root dentry association The root sysfs_dirent didn't point to the root dentry fix it. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 8312a8d7c1d19d31027bd4ca127ce671962c23d4 Author: Tejun Heo Date: Thu Jun 14 03:45:17 2007 +0900 sysfs: use iget_locked() instead of new_inode() After dentry is reclaimed, sysfs always used to allocate new dentry and inode if the file is accessed again. This causes problem with operations which only pin the inode. For example, if inotify watch is added to a sysfs file and the dentry for the file is reclaimed, the next update event creates new dentry and new inode making the inotify watch miss all the events from there on. This patch fixes it by using iget_locked() instead of new_inode(). sysfs_new_inode() is renamed to sysfs_get_inode() and inode is initialized iff the inode is newly allocated. sysfs_instantiate() is responsible for unlocking new inodes. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit fc9f54b9982e14e6dbe023425c87ffbfd6992c45 Author: Tejun Heo Date: Thu Jun 14 03:45:17 2007 +0900 sysfs: reorganize sysfs_new_indoe() and sysfs_create() Reorganize/clean up sysfs_new_inode() and sysfs_create(). * sysfs_init_inode() is separated out from sysfs_new_inode() and is responsible for basic initialization. * sysfs_instantiate() replaces the last step of sysfs_create() and is responsible for dentry instantitaion. * type-specific initialization is moved out to the callers. * mode is specified only once when creating a sysfs_dirent. * spurious list_del_init(&sd->s_sibling) dropped from create_dir() This change is to * prepare for inode allocation fix. * separate alloc and init code for synchronization update. * make dentry/inode initialization more flexible for later changes. This patch doesn't introduce visible behavior change. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 7f7cfffe60ed6271c4028ec79ae1c297b44bcb14 Author: Tejun Heo Date: Thu Jun 14 03:45:17 2007 +0900 sysfs: fix parent refcounting during rename and move Parent reference wasn't properly transferred during rename and move. Fix it. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 42b37df6abb42ae021e15bf865b43f3629c7f3ab Author: Tejun Heo Date: Thu Jun 14 03:45:17 2007 +0900 sysfs: make sysfs_alloc_ino() static sysfs_alloc_ino() isn't used out side of fs/sysfs/dir.c. Make it static. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit ad6a1e1c66009ba9dcd2f5c90ffa1fb4ce72fce0 Author: Tejun Heo Date: Thu Jun 14 03:45:17 2007 +0900 driver-core: make devt_attr and uevent_attr static devt_attr and uevent_attr are either allocated dynamically with or embedded in device and class_device as they needed their owner field set to the module implementing the driver. Now that sysfs implements immediate disconnect and owner field removed from struct attribute, there is no reason to do this. Remove these attributes from [class_]device and use static attribute structures instead. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 7b595756ec1f49e0049a9e01a1298d53a7faaa15 Author: Tejun Heo Date: Thu Jun 14 03:45:17 2007 +0900 sysfs: kill unnecessary attribute->owner sysfs is now completely out of driver/module lifetime game. After deletion, a sysfs node doesn't access anything outside sysfs proper, so there's no reason to hold onto the attribute owners. Note that often the wrong modules were accounted for as owners leading to accessing removed modules. This patch kills now unnecessary attribute->owner. Note that with this change, userland holding a sysfs node does not prevent the backing module from being unloaded. For more info regarding lifetime rule cleanup, please read the following message. http://article.gmane.org/gmane.linux.kernel/510293 (tweaked by Greg to not delete the field just yet, to make it easier to merge things properly.) Signed-off-by: Tejun Heo Cc: Cornelia Huck Cc: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit dbde0fcf9f8f6d477af3c32d9979e789ee680cde Author: Tejun Heo Date: Thu Jun 14 03:45:16 2007 +0900 sysfs: reimplement sysfs_drop_dentry() This patch reimplements sysfs_drop_dentry() such that remove_dir() can use it to drop dentry instead of using a separate mechanism. With this change, making directories reclaimable is much easier. This patch used to contain fixes for two race conditions around sd->s_dentry but that part has been separated out and included into mainline early as commit 6aa054aadfea613a437ad0b15d38eca2b963fc0a and dd14cbc994709a1c5a64ed3621f583c49a27e521. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 198a2a847015805c6f57d8cc732bdaaccb494007 Author: Tejun Heo Date: Thu Jun 14 03:45:16 2007 +0900 sysfs: separate out sysfs_attach_dentry() Consolidate sd <-> dentry association into sysfs_attach_dentry() and call it after dentry and inode are properly set up. This is in preparation of sysfs_drop_dentry() updates. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 73107cb3ad3963c0f929ae681c05081eafb1c079 Author: Tejun Heo Date: Thu Jun 14 03:45:16 2007 +0900 sysfs: kill attribute file orphaning Now that sysfs_dirent can be disconnected from kobject on deletion, there is no need to orphan each attribute files. All [bin_]attribute nodes are automatically orphaned when the parent node is deleted. Kill attribute file orphaning. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 0ab66088c855eca68513bdd7442a426c4b374ced Author: Tejun Heo Date: Thu Jun 14 03:45:16 2007 +0900 sysfs: implement sysfs_dirent active reference and immediate disconnect sysfs: implement sysfs_dirent active reference and immediate disconnect Opening a sysfs node references its associated kobject, so userland can arbitrarily prolong lifetime of a kobject which complicates lifetime rules in drivers. This patch implements active reference and makes the association between kobject and sysfs immediately breakable. Now each sysfs_dirent has two reference counts - s_count and s_active. s_count is a regular reference count which guarantees that the containing sysfs_dirent is accessible. As long as s_count reference is held, all sysfs internal fields in sysfs_dirent are accessible including s_parent and s_name. The newly added s_active is active reference count. This is acquired by invoking sysfs_get_active() and it's the caller's responsibility to ensure sysfs_dirent itself is accessible (should be holding s_count one way or the other). Dereferencing sysfs_dirent to access objects out of sysfs proper requires active reference. This includes access to the associated kobjects, attributes and ops. The active references can be drained and denied by calling sysfs_deactivate(). All active sysfs_dirents must be deactivated after deletion but before the default reference is dropped. This enables immediate disconnect of sysfs nodes. Once a sysfs_dirent is deleted, it won't access any entity external to sysfs proper. Because attr/bin_attr ops access both the node itself and its parent for kobject, they need to hold active references to both. sysfs_get/put_active_two() helpers are provided to help grabbing both references. Parent's is acquired first and released last. Unlike other operations, mmapped area lingers on after mmap() is finished and the module implement implementing it and kobj need to stay referenced till all the mapped pages are gone. This is accomplished by holding one set of active references to the bin_attr and its parent if there have been any mmap during lifetime of an openfile. The references are dropped when the openfile is released. This change makes sysfs lifetime rules independent from both kobject's and module's. It not only fixes several race conditions caused by sysfs not holding onto the proper module when referencing kobject, but also helps fixing and simplifying lifetime management in driver model and drivers by taking sysfs out of the equation. Please read the following message for more info. http://article.gmane.org/gmane.linux.kernel/510293 Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit eb36165353d0e5ac32b063f555acedcbaf6d3b75 Author: Tejun Heo Date: Thu Jun 14 03:45:16 2007 +0900 sysfs: implement bin_buffer Implement bin_buffer which contains a mutex and pointer to PAGE_SIZE buffer to properly synchronize accesses to per-openfile buffer and prepare for immediate-kobj-disconnect. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 2b29ac252afff87b8465b064ca2d9740cf1f6e52 Author: Tejun Heo Date: Thu Jun 14 03:45:15 2007 +0900 sysfs: reimplement symlink using sysfs_dirent tree sysfs symlink is implemented by referencing dentry and kobject from sysfs_dirent - symlink entry references kobject, dentry is used to walk the tree. This complicates object lifetimes rules and is dangerous - for example, there is no way to tell to which module the target of a symlink belongs and referencing that kobject can make it linger after the module is gone. This patch reimplements symlink using only sysfs_dirent tree. sd for a symlink points and holds reference to the target sysfs_dirent and all walking is done using sysfs_dirent tree. Simpler and safer. Please read the following message for more info. http://article.gmane.org/gmane.linux.kernel/510293 Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit aecdcedaab49ca40620dc7dd70f67ee7269a66c9 Author: Tejun Heo Date: Thu Jun 14 03:45:15 2007 +0900 sysfs: implement kobj_sysfs_assoc_lock kobj->dentry can go away anytime unless the user controls when the associated sysfs node is deleted. This patch implements kobj_sysfs_assoc_lock which protects kobj->dentry. This will be used to maintain kobj based API when converting sysfs to use sysfs_dirent tree instead of dentry/kobject. Note that this lock belongs to kobject/driver-model not sysfs. Once sysfs is converted to not use kobject in its interface, this can be removed from sysfs. This is in preparation of object reference simplification. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 3e5190380ebef77f2b015c9e7a4ca225a3d75021 Author: Tejun Heo Date: Thu Jun 14 03:45:15 2007 +0900 sysfs: make sysfs_dirent->s_element a union Make sd->s_element a union of sysfs_elem_{dir|symlink|attr|bin_attr} and rename it to s_elem. This is to achieve... * some level of type checking : changing symlink to point to sysfs_dirent instead of kobject is much safer and less painful now. * easier / standardized dereferencing * allow sysfs_elem_* to contain more than one entry Where possible, pointer is obtained by directly deferencing from sd instead of going through other entities. This reduces dependencies to dentry, inode and kobject. to_attr() and to_bin_attr() are unused now and removed. This is in preparation of object reference simplification. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 0c096b507f15397da890051ee73de4266d3941fb Author: Tejun Heo Date: Thu Jun 14 03:45:15 2007 +0900 sysfs: add sysfs_dirent->s_name Add s_name to sysfs_dirent. This is to further reduce dependency to the associated dentry. Name is copied for directories and symlinks but not for attributes. Where possible, name dereferences are converted to use sd->s_name. sysfs_symlink->link_name and sysfs_get_name() are unused now and removed. This change allows symlink to be implemented using sysfs_dirent tree proper, which is the last remaining dentry-dependent sysfs walk. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 13b3086d2ea483cbcae5a4236446cecc082a72cf Author: Tejun Heo Date: Thu Jun 14 03:45:14 2007 +0900 sysfs: add sysfs_dirent->s_parent Add sysfs_dirent->s_parent. With this patch, each sd points to and holds a reference to its parent. This allows walking sysfs tree without referencing sd->s_dentry which can go away anytime if the user doesn't control when it's deleted. sd->s_parent is initialized and parent is referenced in sysfs_attach_dirent(). Reference to parent is released when the sd is released, so as long as reference to a sd is held, s_parent can be followed. dentry walk in sysfs_readdir() is convereted to s_parent walk. This will be used to reimplement symlink such that it uses only sysfs_dirent tree. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit a26cd7226c24c3be5dd5f48a74832fe64beb8489 Author: Tejun Heo Date: Thu Jun 14 03:45:14 2007 +0900 sysfs: consolidate sysfs_dirent creation functions Currently there are four functions to create sysfs_dirent - __sysfs_new_dirent(), sysfs_new_dirent(), __sysfs_make_dirent() and sysfs_make_dirent(). Other than sysfs_make_dirent(), no function has two users if calls to implement other functions are excluded. This patch consolidates sysfs_dirent creation functions into the following two. * sysfs_new_dirent() : allocate and initialize * sysfs_attach_dirent() : attach to sysfs_dirent hierarchy and/or associate with dentry This simplifies interface and gives callers more flexibility. This is in preparation of object reference simplification. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 996b73764e9bb9d5e751fd15b130ba38637d66a8 Author: Tejun Heo Date: Thu Jun 14 03:45:14 2007 +0900 sysfs: flatten and fix sysfs_rename_dir() error handling Error handling in sysfs_rename_dir() was broken. * When lookup_one_len() fails, 0 is returned. * If parent inode check fails, returns with inode mutex and rename rwsem held. This patch fixes the above bugs and flattens error handling such that it's more readable and easier to modify. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit dfeb9fb0343363aadc3ee00a9347d120bc2a26b1 Author: Tejun Heo Date: Thu Jun 14 03:45:14 2007 +0900 sysfs: flatten cleanup paths in sysfs_add_link() and create_dir() Flatten cleanup paths in sysfs_add_link() and create_dir() to improve readability and ease further changes to these functions. This is in preparation of object reference simplification. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 93e3cd8270d036953120eca83610f95d3f7374c6 Author: Tejun Heo Date: Thu Jun 14 03:45:13 2007 +0900 sysfs: fix error handling in binattr write() Error handling in fs/sysfs/bin.c:write() was wrong because size_t count is used to receive return value from flush_write() which is negative on failure. This patch updates write() such that int variable is used instead. read() is updated the same way for consistency. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 7a23ad44047b1084a032bc0d127fe08af024593a Author: Tejun Heo Date: Thu Jun 14 03:45:13 2007 +0900 sysfs: make sysfs_put() ignore NULL sd Make sysfs_put() ignore NULL sd instead of oopsing. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 2b611bb7abdcc08278453fc9f6517401fd69ef95 Author: Tejun Heo Date: Thu Jun 14 03:45:13 2007 +0900 sysfs: allocate inode number using ida sysfs used simple incrementing allocator which is not guaranteed to be unique. This patch makes sysfs use ida to give each sd a unique and packed inode number. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit fa7f912ad4ae0ed7591add52422e48282389652d Author: Tejun Heo Date: Thu Jun 14 03:45:13 2007 +0900 sysfs: move release_sysfs_dirent() to dir.c There is no reason this function should be inlined and soon to follow sysfs object reference simplification will make it heavier. Move it to dir.c. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 72dba584b695d8bc8c1a50ed54ad4cba7c62314d Author: Tejun Heo Date: Thu Jun 14 03:45:13 2007 +0900 ida: implement idr based id allocator Implement idr based id allocator. ida is used the same way idr is used but lacks id -> ptr translation and thus consumes much less memory. struct ida_bitmap is attached as leaf nodes to idr tree which is managed by the idr code. Each ida_bitmap is 128bytes long and contains slightly less than a thousand slots. ida is more aggressive with releasing extra resources acquired using ida_pre_get(). After every successful id allocation, ida frees one reserved idr_layer if possible. Reserved ida_bitmap is not freed automatically but only one ida_bitmap is reserved and it's almost always used right away. Under most circumstances, ida won't hold on to memory for too long which isn't actively used. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit e33ac8bdb0c84fe7afd2c45537b763faf28c589e Author: Tejun Heo Date: Thu Jun 14 03:45:12 2007 +0900 idr: separate out idr_mark_full() Separate out idr_mark_full() from sub_alloc() and make marking the allocated slot full the responsibility of idr_get_new_above_int(). Allocation part of idr_get_new_above_int() is renamed to idr_get_empty_slot(). New idr_get_new_above_int() allocates a slot using the function, install the user pointer and marks it full using idr_mark_full(). This change doesn't introduce any behavior change. This will be used by ida. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 7aae6dd80e265aa9402ed507caaff4a5dba55069 Author: Tejun Heo Date: Thu Jun 14 03:45:12 2007 +0900 idr: fix obscure bug in allocation path In sub_alloc(), when bitmap search fails, it goes up one level to continue search. This is done by updating the id cursor and searching the upper level again. If the cursor was at the end of the upper level, we need to go further than that. This wasn't implemented and when that happens the part of the cursor which indexes into the upper level wraps and sub_alloc() ends up searching the wrong bitmap. It allocates id which doesn't match the actual slot. This patch fixes this by restarting from the top if the search needs to go higher than one level. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit dc0afa8388972a9ed7c2203cc46d8df1a4713f65 Author: Cornelia Huck Date: Mon Jul 9 11:39:18 2007 -0700 Driver core: coding style cleanup This converts code of the form if ((error = some_func())) goto fixup; to error = some_func(); if (error) goto fixup; Signed-off-by: Cornelia Huck Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 93160c6397e460bc4c7ac15323fb698f91ef02e5 Author: Rafael J. Wysocki Date: Mon Jul 9 11:39:19 2007 -0700 PM: do not use saved_state from struct dev_pm_info on ARM The saved_state member of 'struct dev_pm_info' that's going to be removed is used in arch/arm/common/locomo.c, arch/arm/common/sa1111.c and arch/arm/mach-sa1100/neponset.c. Change the code in there to use local variables for saving the state of devices during suspend. Signed-off-by: Rafael J. Wysocki Cc: Greg KH Cc: David Brownell Acked-by: Russell King Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 43a49f8baa6b0e7e5b68ed0ee141e1efacfd9ae6 Author: Rafael J. Wysocki Date: Sun Jun 17 19:50:51 2007 +0200 PM: Do not check parent state in suspend and resume core code The checks if the device's parent is in the right state done in drivers/base/power/suspend.c and drivers/base/power/resume.c serve no particular purpose, since if the parent is in a wrong power state, the device's suspend or resume callbacks are supposed to return an error anyway. Moreover, they are also useless from the sanity checking point of view, because they rely on the code being checked to set dev->parent->power.power_state.event appropriately, which need not happen if that code is buggy. For these reasons they can be removed. Signed-off-by: Rafael J. Wysocki Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 1c3f7d1c79425dd8f627b8da139fd1855f096b6e Author: Rafael J. Wysocki Date: Sun Jun 17 19:49:20 2007 +0200 PM: Remove power_state.event checks from suspend core code The suspend routines should be called for every device during a system sleep transition, regardless of the device's state, so that drivers can regard these method calls as notifications that the system is about to go to sleep, rather than as directives to put their devices into the 'off' state. This is documented in Documentation/power/devices.txt and is already done in the core resume code, so it seems reasonable to make the core suspend code behave accordingly. Signed-off-by: Rafael J. Wysocki Signed-off-by: Greg Kroah-Hartman commit 515c53576299e32d6bdb6295cfa2fe1307516eb4 Author: Rafael J. Wysocki Date: Sun Jun 17 19:48:06 2007 +0200 PM: Remove prev_state from struct dev_pm_info The prev_state member of struct dev_pm_info (defined in include/linux/pm.h) is only used during a resume to check if the device's state before the suspend was 'off', in which case the device is not resumed. However, in such cases the decision whether or not to resume the device should be made on the driver level and the resume callbacks from the device's bus and class should be executed anyway (the may be needed for some things other than just powering on the device). Signed-off-by: Rafael J. Wysocki Signed-off-by: Greg Kroah-Hartman commit 2a0134554e12f530c6eccb1dab3f0f8954f855c9 Author: Adrian Bunk Date: Mon Jun 18 01:42:54 2007 +0200 Driver core: fix devres_release_all() return value Every file should include the headers containing the prototypes for it's global functions. Since the GNU C compiler is now able to detect that the function prototype of devres_release_all() in the header and the actual function disagree regarding the return value, this patch also fixes this bug. Signed-off-by: Adrian Bunk Acked-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit ab71c6f0767bcbc618f3db51f668d5b951c00b60 Author: Stefan Richter Date: Sun Jun 17 11:02:12 2007 +0200 driver core: fix kernel doc of device_release_driver Signed-off-by: Stefan Richter Signed-off-by: Greg Kroah-Hartman commit 1f5681aae8feadd113644c9e077152416c12b75c Author: Stefan Richter Date: Sun Jun 17 11:01:18 2007 +0200 driver core: properly get driver in device_release_driver Signed-off-by: Stefan Richter Signed-off-by: Greg Kroah-Hartman commit f8916c11a4dc4cb2367e9bee1788f4e0f1b4eabc Author: Michael S. Tsirkin Date: Sun Jun 10 22:39:12 2007 +0300 Driver core: include linux/mutex.h from attribute_container.c attribute_container.c uses DEFINE_MUTEX, so while linux/mutex.h seems to be pulled in indirectly by one of the headers it includes, the right thing is to include linux/mutex.h directly. Signed-off-by: Michael S. Tsirkin commit 9e584a4fe58881e2dc8f09bdf8444b199ab5ecaf Author: Rafael J. Wysocki Date: Wed Jun 13 16:19:27 2007 +0200 PM: Simplify suspend_device Reduce code duplication in drivers/base/suspend.c by introducing a separate function for printing diagnostic messages. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit cc4900690bf77257996e90f0059eb074b8db52e6 Author: Rafael J. Wysocki Date: Wed Jun 13 15:55:34 2007 +0200 PM: Remove saved_state from struct dev_pm_info The saved_state member of struct dev_pm_info, defined in include/linux/pm.h, is not used anywhere, so it can be removed. Signed-off-by: Rafael J. Wysocki Signed-off-by: Greg Kroah-Hartman commit 9cddad77574313fcee36c5e60122718daa7c0361 Author: Rafael J. Wysocki Date: Wed Jun 13 15:53:34 2007 +0200 PM: Remove pm_parent from struct dev_pm_info The pm_parent member of struct dev_pm_info (defined in include/linux/pm.h) is only used to check if the device's parent is in the right state while the device is being suspended or resumed. However, this can be done just as well with the help of the parent pointer in struct device, so pm_parent can be removed along with some code that handles it. Signed-off-by: Rafael J. Wysocki Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 11048dcf333c414f237bb713c422e68f67b115a3 Author: Matthias Kaehlcke Date: Wed May 23 14:19:41 2007 -0700 Power Management: use mutexes instead of semaphores The Power Management code uses semaphores as mutexes. Use the mutex API instead of the (binary) semaphores. Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 9f3f776bd9e3d52f0204db1df0914b50d6a2372e Author: Matthias Kaehlcke Date: Wed May 23 14:19:42 2007 -0700 sysdev: use mutex instead of semaphore The sysdev code use a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 80f03e349f06a261a8e980bf6005c61811a0d66a Author: Kay Sievers Date: Sat May 26 11:21:36 2007 +0200 Driver core: add missing kset uevent We get uevents for a bus/class going away, but not one registering. Add the missing uevent in kset_register(), which will send an event for a new bus/class. Suppress all unwanted uevents for bus subdirectories like /bus/*/devices/, /bus/*/drivers/. Now we get for module usbcore: add /module/usbcore (module) add /bus/usb (bus) add /class/usb_host (class) add /bus/usb/drivers/hub (drivers) add /bus/usb/drivers/usb (drivers) remove /bus/usb/drivers/usb (drivers) remove /bus/usb/drivers/hub (drivers) remove /class/usb_host (class) remove /bus/usb (bus) remove /module/usbcore (module) instead of: add /module/usbcore (module) add /bus/usb/drivers/hub (drivers) add /bus/usb/drivers/usb (drivers) remove /bus/usb/drivers/usb (drivers) remove /bus/usb/drivers/hub (drivers) remove /class/usb_host (class) remove /bus/usb/drivers (bus) remove /bus/usb/devices (bus) remove /bus/usb (bus) remove /module/usbcore (module) Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 4f5c791a850e5305a5b1b48d0e4b4de248dc96f9 Author: Lennart Poettering Date: Tue May 8 22:07:02 2007 +0200 DMI-based module autoloading The patch below adds DMI/SMBIOS based module autoloading to the Linux kernel. The idea is to load laptop drivers automatically (and other drivers which cannot be autoloaded otherwise), based on the DMI system identification information of the BIOS. Right now most distros manually try to load all available laptop drivers on bootup in the hope that at least one of them loads successfully. This patch does away with all that, and uses udev to automatically load matching drivers on the right machines. Basically the patch just exports the DMI information that has been parsed by the kernel anyway to userspace via a sysfs device /sys/class/dmi/id and makes sure that proper modalias attributes are available. Besides adding the "modalias" attribute it also adds attributes for a few other DMI fields which might be useful for writing udev rules. This patch is not an attempt to export the entire DMI/SMBIOS data to userspace. We already have "dmidecode" which parses the complete DMI info from userspace. The purpose of this patch is machine model identification and good udev integration. To take advantage of DMI based module autoloading, a driver should export one or more MODULE_ALIAS fields similar to these: MODULE_ALIAS("dmi:*:svnMICRO-STARINT'LCO.,LTD:pnMS-1013:pvr0131*:cvnMICRO-STARINT'LCO.,LTD:ct10:*"); MODULE_ALIAS("dmi:*:svnMicro-StarInternational:pnMS-1058:pvr0581:rvnMSI:rnMS-1058:*:ct10:*"); MODULE_ALIAS("dmi:*:svnMicro-StarInternational:pnMS-1412:*:rvnMSI:rnMS-1412:*:cvnMICRO-STARINT'LCO.,LTD:ct10:*"); MODULE_ALIAS("dmi:*:svnNOTEBOOK:pnSAM2000:pvr0131*:cvnMICRO-STARINT'LCO.,LTD:ct10:*"); These lines are specific to my msi-laptop.c driver. They are basically just a concatenation of a few carefully selected DMI fields with all potentially bad characters stripped. Besides laptop drivers, modules like "hdaps", the i2c modules and the hwmon modules are good candidates for "dmi:" MODULE_ALIAS lines. Besides merely exporting the DMI data via sysfs the patch adds support for a few more DMI fields. Especially the CHASSIS fields are very useful to identify different laptop modules. The patch also adds working MODULE_ALIAS lines to my msi-laptop.c driver. I'd like to thank Kay Sievers for helping me to clean up this patch for posting it on lkml. Patch is against Linus' current GIT HEAD. Should probably apply to older kernels as well without modification. Signed-off-by: Lennart Poettering Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit cfc94cdf8e0f14e692a5a40ef3cc10f464b2511b Author: Jan Kara Date: Wed May 9 13:19:52 2007 +0200 debugfs: add rename for debugfs files Implement debugfs_rename() to allow renaming files/directories in debugfs. Signed-off-by: Jan Kara Signed-off-by: Greg Kroah-Hartman commit 46336009b5009e9fab3bd623a3beb9c7421545ac Author: Kay Sievers Date: Fri Jun 8 13:36:37 2007 -0700 Rules on how to use sysfs in userspace programs Here's a document to help clear things up. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 36e235901f90fb83215be43cbd8f1ca14661ea40 Author: Matthew Wilcox Date: Tue Jul 10 10:54:40 2007 -0600 PCI: Only build PCI syscalls on architectures that want them The PCI syscalls are built on every architecture except X86, but only a few have ever hooked them up. Use a new Kconfig symbol to save a couple of kB on the architectures that have never used the syscalls. Tested on x86 and ia64 only. Signed-off-by: Matthew Wilcox Signed-off-by: Greg Kroah-Hartman commit 5463d9f0f323123d96989d318ac9c537158ad0a5 Author: Randy Dunlap Date: Thu Jun 28 16:04:21 2007 -0700 PCI: limit pci_get_bus_and_slot to domain 0 Limit pci_get_bus_and_slot() to domain (segment) 0 since domain is not specified in the function call and defaulting to domain 0 is the only reasonable thing to do (rather than returning a device from some other unknown domain). Signed-off-by: Randy Dunlap Acked-by: H. Peter Anvin Signed-off-by: Greg Kroah-Hartman commit 0bbd6424c55f0ab9e7fcd6a851bc49e265259ff5 Author: Gary Hade Date: Thu Jul 5 11:10:48 2007 -0700 PCI: hotplug: acpiphp: avoid acpiphp "cannot get bridge info" PCI hotplug failure On some systems, the ACPI bus check event can reference a bridge that is higher in the ACPI hierarchy than the bridge immediately above the hotplug PCI slot into which an adapter was just inserted. The current 'acpiphp' code expects the bus check event to reference the bridge immediately above the slot that received the adapter so the hotplug operation can fail on these systems with the message "acpiphp_glue: cannot get bridge info". This change fixes the problem by re-enumerating all slots that lie below the bridge referenced by the bus check event, including those slots that may be located under lower level PCI-to-PCI bridge(s). Signed-off-by: Gary Hade Cc: Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 9ef2241b18266d75319e7d66156243bd9010be44 Author: Gary Hade Date: Thu Jul 5 11:10:47 2007 -0700 PCI: hotplug: acpiphp: remove hot plug parameter write to PCI host bridge acpiphp is writing hot plug parameters to the PCI host bridge PCI config space. This patch removes the incorrect operation. Signed-off-by: Gary Hade Cc: Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit bfceafc5979d9055e04f03f970de6ff7a4bce1b6 Author: Gary Hade Date: Thu Jul 5 11:10:46 2007 -0700 PCI: hotplug: acpiphp: fix slot poweroff problem on systems without _PS3 On systems where the optional _PS3 ACPI object is not implemented acpiphp fails to power off the slot. This is happening because the current code does not attempt to remove power using the _EJ0 ACPI object. This patch restores the _EJ0 evaluation attempt which was apparently inadvertently removed from the power-off sequence when the _EJ0 evaluation code was relocated from power_off_slot() to acpiphp_eject_slot(). Signed-off-by: Gary Hade Cc: Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 5b57a6cea464fc686a6bc446f667c05901fa9734 Author: Kenji Kaneshige Date: Thu Jul 5 11:10:45 2007 -0700 PCI: hotplug: pciehp: wait for 1 second after power off slot According to the specification, we must wait for at least 1 second after turning power off before taking any action that relies on power having been removed from the slot/adapter. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit cca03dec2f0eb8f3c4578e067d2b20a366b940db Author: Andrew Lunn Date: Mon Jul 9 11:55:58 2007 -0700 PCI: pci_set_power_state(): check for PM capabilities earlier Check for PCI_CAP_ID_PM before checking the device state. Apparently fixes some log spam via the 3c59x driver. Signed-off-by: Andrew Lunn Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 0bec2c85bb269446358dceae82ca7822ccfd4e9f Author: Scott Murray Date: Mon Jul 9 11:55:57 2007 -0700 PCI: cpci_hotplug: Convert to use the kthread API Signed-off-by: Christoph Hellwig Signed-off-by: Scott Murray Acked-by: Kristen Carlson Accardi Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 694625c0b322905d6892fad873029f764cd4823f Author: Randy Dunlap Date: Mon Jul 9 11:55:54 2007 -0700 PCI: add pci_try_set_mwi As suggested by Andrew, add pci_try_set_mwi(), which does not require return-value checking. - add pci_try_set_mwi() without __must_check - make it return 0 on success, errno if the "try" failed or error - review callers Signed-off-by: Randy Dunlap Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit f5609d7e679db3f29433f56e1f2e397a2f815288 Author: Milind Arun Choudhary Date: Mon Jul 9 11:55:54 2007 -0700 PCI: pcie: remove SPIN_LOCK_UNLOCKED Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 6f6f8c2f4b59711857d14ada8e70309d52e8fae4 Author: Milind Arun Choudhary Date: Mon Jul 9 11:55:51 2007 -0700 PCI: ROUND_UP macro cleanup in drivers/pci ROUND_UP macro cleanup, use ALIGN where ever appropriate Signed-off-by: Milind Arun Choudhary Acked-by: Scott Murray Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit caa5171622c8fef70fa20d2d74f4326866039df9 Author: Jan Beulich Date: Mon Jul 9 11:55:51 2007 -0700 PCI: remove pci_dac_dma_... APIs Based on replies to a respective query, remove the pci_dac_dma_...() APIs (except for pci_dac_dma_supported() on Alpha, where this function is used in non-DAC PCI DMA code). Signed-off-by: Jan Beulich Cc: Andi Kleen Cc: Jesse Barnes Cc: Christoph Hellwig Acked-by: David Miller Cc: Jeff Garzik Cc: Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit b7b095c154c50ee753832bbf78e8690c492fc8f6 Author: Andrew Morton Date: Mon Jul 9 11:55:50 2007 -0700 PCI: pci-x-pci-express-read-control-interfaces cleanups - remove unneeded local - 80-col fix Cc: Peter Oruba Cc: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 579082df38839efc5b14aa3f48b8806e3e8dc5c2 Author: Rolf Eike Beer Date: Tue Jul 10 13:35:05 2007 +0200 PCI: Fix typo in include/linux/pci.h Signed-off-by: Rolf Eike Beer Signed-off-by: Greg Kroah-Hartman commit 12bedda9f404c4d34eda6477b0ec32140d83501b Author: Jiri Slaby Date: Mon Jun 18 10:56:52 2007 +0200 PCI: pci_ids, remove double or more empty lines pci_ids, remove two or more empty lines Signed-off-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit f732ee0b71365ddc20e6a0b408f9fd1732d7eb75 Author: Jiri Slaby Date: Mon Jun 18 10:58:14 2007 +0200 PCI: pci_ids, add atheros and 3com_2 vendors pci_ids, add atheros and 3com_2 vendors Atheros is wifi vendor. 3com_2 (0xa727) is an vendor id for one card with ath chip. Signed-off-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit 03966e097db1a3b7aff5d364277f2e66069923df Author: Jiri Slaby Date: Mon Jun 18 10:55:30 2007 +0200 PCI: pci_ids, reorder some entries pci_ids, reorder some entries Some lines are not vendor sorted, reorder it to comply with the rest of document. Signed-off-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit c43eaa02abf3b034a9694dcca5c177ecb6072f89 Author: Jiri Slaby Date: Mon Jun 18 10:58:14 2007 +0200 PCI: i386: traps, change VENDOR to DEVICE traps, change VENDOR to DEVICE Change macro for SGI lithium (arch/i386/mach-visws/traps.c) device from VENDOR to DEVICE, because it's a device id. Signed-off-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit 1d0ed384c1f2582b6f7408642c77a78a0c410122 Author: Jiri Slaby Date: Mon Jun 18 10:58:13 2007 +0200 PCI: ATM: lanai, change VENDOR to DEVICE lanai, change VENDOR to DEVICE There were 2 bad named macros in pci_ids (LANAI 2 and IHB). Rename it to DEVICE, because it's device id. Also make some cleanpu in pci_device_id table (use PCI_VDEVICE). Cc: Mitchell Blank Jr Signed-off-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit 44c10138fd4bbc4b6d6bff0873c24902f2a9da65 Author: Auke Kok Date: Fri Jun 8 15:46:36 2007 -0700 PCI: Change all drivers to use pci_device->revision Instead of all drivers reading pci config space to get the revision ID, they can now use the pci_device->revision member. This exposes some issues where drivers where reading a word or a dword for the revision number, and adding useless error-handling around the read. Some drivers even just read it for no purpose of all. In devices where the revision ID is being copied over and used in what appears to be the equivalent of hotpath, I have left the copy code and the cached copy as not to influence the driver's performance. Compile tested with make all{yes,mod}config on x86_64 and i386. Signed-off-by: Auke Kok Acked-by: Dave Jones Signed-off-by: Greg Kroah-Hartman commit b8a3a5214d7cc115f1ca3a3967b7229d97c46f4a Author: Auke Kok Date: Fri Jun 8 15:46:30 2007 -0700 PCI: read revision ID by default Currently there are 97 occurrences where drivers need the pci revision ID. We can do this once for all devices. Even the pci subsystem needs the revision several times for quirks. The extra u8 member pads out nicely in the pci_dev struct. Signed-off-by: Auke Kok Signed-off-by: Greg Kroah-Hartman commit 56906c612e10b5e32a48ccbe8a3c08ab6acf5a28 Author: David Brownell Date: Mon May 7 10:26:17 2007 -0700 PCI: remove useless pci driver method Remove pointless and never-called enable_wake() hook from pci_driver and from documentation. Evidently this was introduced in the 2.4.6 kernel, but there's no evidence it was ever called; and it was rarely implemented. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit e57571a07de8464f2e5911f87d2c8f29b0430fb7 Author: Adrian Bunk Date: Wed Apr 4 17:25:48 2007 +0200 PCI: unexport pci_proc_attach_device On Mon, Apr 02, 2007 at 10:47:45PM -0700, Andrew Morton wrote: >... > Changes since 2.6.21-rc5-mm3: >... > +fix-82875-pci-setup.patch >... > Misc >... pci_proc_attach_device() no longer has any modular user. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit f0dce411930d16a678173e534594bca160f5eaff Author: Stephen Hemminger Date: Wed Jun 6 11:50:34 2007 +0800 PCI aer: add pci_cleanup_aer_correct_aer_status Function to clear bogus correctable errors. Analog to pci_aer_uncorrect_are_status. The Marvell chips seem to start out with a bogus value that needs to be cleared. Yanmin ported it to 2.6.22-rc4 by fixing a fuzz patch applying info. Signed-off-by: Stephen Hemminger Acked-by: Zhang Yanmin Signed-off-by: Greg Kroah-Hartman commit 65b3bc358a3195ebe459761a248cf33a61539947 Author: Stephen Hemminger Date: Wed Jun 6 11:46:49 2007 +0800 PCI aer: fix stub return values The stubs used when advanced error reporting is not enabled must have same return type as real functions. Signed-off-by: Stephen Hemminger Acked-by: Zhang Yanmin Signed-off-by: Greg Kroah-Hartman commit 8d29bfb79e632fe318f4c01c9c2e8faacb89b800 Author: Zhang, Yanmin Date: Wed Jun 6 11:44:16 2007 +0800 PCI: fix AER driver error information Below patch fixes aer driver error information and enables aer driver although CONFIG_ACPI=n. As a matter of fact, the new patch is created from below 2 patches plus a minor patch apply fuzz fixing. Because the second patch fixed a compilation error introduced by the first patch, I merge them to facilitate bisect. 1) http://marc.info/?l=linux-kernel&m=117783233918191&w=2; 2) http://marc.info/?l=linux-mm-commits&m=118046936720790&w=2 Signed-off-by: Zhang Yanmin Signed-off-by: Michael Ellerman Signed-off-by: Greg Kroah-Hartman commit f477836457730a2b925f625023ec4e5bf11015be Author: Kenji Kaneshige Date: Thu May 31 09:43:34 2007 -0700 PCI: hotplug: pciehp: Fix possible race condition in writing slot The slot control register is modified as follows: (1) Read the register value (2) Change the value (3) Write the value to the register Those must be done atomically, otherwise writing to control register would cause an unexpected result. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit adf809d01043d8808e47db2d35fc07b53062884e Author: Alan Cox Date: Mon May 21 14:16:17 2007 -0700 + pci_find_slot-mark-deprecated.patch added to -mm tree We've now fixed up most users of pci_find_slot, and the remainder are either hard and need someone with the hardware and info to work on it, or patches exist but are not yet merged. Time therefore for some gentle encouragement Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit a2cd52ca904f5913651e71764755e712894ccc2f Author: Michael Ellerman Date: Tue May 8 12:03:08 2007 +1000 PCI: Make pcibios_add_platform_entries() return errors Currently pcibios_add_platform_entries() returns void, but could fail, so instead have it return an int and propagate errors up to pci_create_sysfs_dev_files(). Fixes: arch/powerpc/kernel/pci_64.c: In function 'pcibios_add_platform_entries': arch/powerpc/kernel/pci_64.c:878: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result arch/powerpc/kernel/pci_32.c: In function 'pcibios_add_platform_entries': arch/powerpc/kernel/pci_32.c:1043: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result Signed-off-by: Michael Ellerman Signed-off-by: Greg Kroah-Hartman commit 575e3348cb80c3265278756778d5091d5ca4efbf Author: Michael Ellerman Date: Tue May 8 12:03:07 2007 +1000 PCI: Use a weak symbol for the empty version of pcibios_add_platform_entries() I'm not sure if this is going to fly, weak symbols work on the compilers I'm using, but whether they work for all of the affected architectures I can't say. I've cc'ed as many arch maintainers/lists as I could find. But assuming they do, we can use a weak empty definition of pcibios_add_platform_entries() to avoid having an empty definition on every arch. Signed-off-by: Michael Ellerman Signed-off-by: Greg Kroah-Hartman commit d556ad4bbe75faf17b239e151a9f003322b2e851 Author: Peter Oruba Date: Tue May 15 13:59:13 2007 +0200 PCI: add PCI-X/PCI-Express read control interfaces This patch introduces an interface to read and write PCI-X / PCI-Express maximum read byte count values from PCI config space. There is a second function that returns the maximum _designed_ read byte count, which marks the maximum value for a device, since some drivers try to set MMRBC to the highest allowed value and rely on such a function. Based on patch set by Stephen Hemminger Cc: Stephen Hemminger Signed-off-by: Peter Oruba Signed-off-by: Greg Kroah-Hartman commit e4585da22ad04a055cbb5c863a37aa8cc02eac89 Author: Alan Cox Date: Mon Apr 23 14:57:37 2007 +0100 pci syscall.c: Switch to refcounting API Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit a23adb5b2db7f2a0758abfa20b0220dbcbfd7aa9 Author: Greg Kroah-Hartman Date: Thu Jun 7 13:27:09 2007 -0700 PCI: point people to Bernhard instead of the linux-kernel list Back in commit 8c4b2cf9af9b4ecc29d4f0ec4ecc8e94dc4432d7, Bernhard said that he would fix up all instances of when this message happens. So point people at him instead of the linux-kernel list which can not fix things up. Cc: Bernhard Kaindl Cc: Dave Jones Cc: Andrew Morton Cc: Miles Lane Signed-off-by: Greg Kroah-Hartman commit 46ae3571526e4fc3a004053b5fb57984ca5b3eb6 Author: Greg Kroah-Hartman Date: Fri Jun 8 12:08:34 2007 +0800 PCI: remove cpqphp driver maintainer I'm no longer maintaining this driver as I no longer have the hardware and I doubt anyone else does either. Signed-off-by: Greg Kroah-Hartman commit c5d3e45a2200a0905dc45b72714726b7aac3aaf1 Author: Jeff Garzik Date: Wed Jul 11 18:30:50 2007 -0400 [libata] sata_mv: Minor cleanups and renaming, preparing for new EH & NCQ Minor cleanups, new definitions, and code movement, preparing for upcoming new-EH and NCQ changes. This commit shoult not change behavior at all. Signed-off-by: Jeff Garzik commit 1fd05ba5a2f2aa8e7b9b52ef55df850e2e7d54c9 Author: Miklos Szeredi Date: Wed Jul 11 14:22:39 2007 -0700 [AF_UNIX]: Rewrite garbage collector, fixes race. Throw out the old mark & sweep garbage collector and put in a refcounting cycle detecting one. The old one had a race with recvmsg, that resulted in false positives and hence data loss. The old algorithm operated on all unix sockets in the system, so any additional locking would have meant performance problems for all users of these. The new algorithm instead only operates on "in flight" sockets, which are very rare, and the additional locking for these doesn't negatively impact the vast majority of users. In fact it's probable, that there weren't *any* heavy senders of sockets over sockets, otherwise the above race would have been discovered long ago. The patch works OK with the app that exposed the race with the old code. The garbage collection has also been verified to work in a few simple cases. Signed-off-by: Miklos Szeredi Signed-off-by: David S. Miller commit 1612b18ccb2318563ba51268289dc3271a6052f7 Author: Russ Anderson Date: Fri May 18 17:17:17 2007 -0500 [IA64] Support multiple CPUs going through OS_MCA Linux does not gracefully deal with multiple processors going through OS_MCA aa part of the same MCA event. The first cpu into OS_MCA grabs the ia64_mca_serialize lock. Subsequent cpus wait for that lock, preventing them from reporting in as rendezvoused. The first cpu waits 5 seconds then complains that all the cpus have not rendezvoused. The first cpu then handles its MCA and frees up all the rendezvoused cpus and releases the ia64_mca_serialize lock. One of the subsequent cpus going thought OS_MCA then gets the ia64_mca_serialize lock, waits another 5 seconds and then complains that none of the other cpus have rendezvoused. This patch allows multiple CPUs to gracefully go through OS_MCA. The first CPU into ia64_mca_handler() grabs a mca_count lock. Subsequent CPUs into ia64_mca_handler() are added to a list of cpus that need to go through OS_MCA (a bit set in mca_cpu), and report in as rendezvoused, and but spin waiting their turn. The first CPU sees everyone rendezvous, handles his MCA, wakes up one of the other CPUs waiting to process their MCA (by clearing one mca_cpu bit), and then waits for the other cpus to complete their MCA handling. The next CPU handles his MCA and the process repeats until all the CPUs have handled their MCA. When the last CPU has handled it's MCA, it sets monarch_cpu to -1, releasing all the CPUs. In testing this works more reliably and faster. Thanks to Keith Owens for suggesting numerous improvements to this code. Signed-off-by: Russ Anderson Signed-off-by: Tony Luck commit 256a7e097ba3d1179867b4c9aba1b75fb32d44f2 Author: Jes Sorensen Date: Wed Jul 11 17:26:30 2007 +0200 [IA64] silence GCC ia64 unused variable warnings Tell GCC to stop spewing out unnecessary warnings for unused variables passed to functions as pointers for ia64 files. Signed-off-by: Jes Sorensen Signed-off-by: Tony Luck commit 012b7105cc816fb797eb1c161cdfc0052b5c3f53 Author: Alex Chiang Date: Wed Jul 11 11:02:15 2007 -0600 [IA64] prevent MCA when performing MMIO mmap to PCI config space Example memory map (HP rx7640 with 'default' acpiconfig setting, VGA disabled): 0x00000000 - 0x3FFFBFFF supports only WB (cacheable) access If a user attempts to perform an MMIO mmap (using the PCIIOC_MMAP_IS_MEM ioctl) to PCI config space (like mmap'ing and accessing memory at 0xA0000), we will MCA because the kernel will attempt to use a mapping with the UC attribute. So check the memory attribute in kern_mmap and the EFI memmap. If WC is requested, and WC or UC access is supported for the region, allow it. Otherwise, use the same attribute the kernel uses. Updates documentation and test cases as well. Signed-off-by: Alex Chiang Signed-off-by: Bjorn Helgaas Signed-off-by: Tony Luck commit 9e121327b37b751ef66e6f57e2d02dd568955148 Author: Dean Nelson Date: Wed Jul 11 10:22:16 2007 -0500 [IA64] add sn_register_pmi_handler oemcall Add wrapper function to make SN_SAL_REGISTER_PMI_HANDLER ia64_sal_oemcall. Signed-off-by: Dean Nelson Signed-off-by: Tony Luck commit 99d24edeb6abc6ca3a0d0fbdb83c664c04403c8c Author: Patrick McHardy Date: Tue Jul 10 23:24:52 2007 -0700 [NETFILTER]: {ip, nf}_conntrack_sctp: fix remotely triggerable NULL ptr dereference (CVE-2007-2876) When creating a new connection by sending an unknown chunk type, we don't transition to a valid state, causing a NULL pointer dereference in sctp_packet when accessing sctp_timeouts[SCTP_CONNTRACK_NONE]. Fix by don't creating new conntrack entry if initial state is invalid. Noticed by Vilmos Nebehaj Signed-off-by: Patrick McHardy Signed-off-by: Greg Kroah-Hartman Signed-off-by: Chris Wright Signed-off-by: David S. Miller commit 56b3d975bbce65f655c5612b4822da671f9fd9b2 Author: Philippe De Muyter Date: Tue Jul 10 23:07:31 2007 -0700 [NET]: Make all initialized struct seq_operations const. Make all initialized struct seq_operations in net/ const Signed-off-by: Philippe De Muyter Signed-off-by: David S. Miller commit 3be550f34b03e5eb762f74d447ebbeba97efbd6d Author: Patrick McHardy Date: Tue Jul 10 23:06:43 2007 -0700 [UDP]: Fix length check. Rémi Denis-Courmont wrote: > Right. By the way, shouldn't "len" rather be signed in there? > > unsigned int len; > > /* if we're overly short, let UDP handle it */ > len = skb->len - sizeof(struct udphdr); > if (len <= 0) > goto udp; It should, but the < 0 case can't happen since __udp4_lib_rcv already makes sure that we have at least a complete UDP header. Anyways, this patch fixes it. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit dffe4f048b420f1af0b10a6090add0c5ea69e585 Author: Micah Gruber Date: Tue Jul 10 23:04:19 2007 -0700 [IPV6]: Remove unneeded pointer idev from addrconf_cleanup(). This trivial patch removes the unneeded pointer idev returned from __in6_dev_get(), which is never used. The check for NULL can be simply done by if (__in6_dev_get(dev) == NULL). Signed-off-by: Micah Gruber Signed-off-by: David S. Miller commit ed8b548ce3cb988f59a0fd9af6ccdc4f8198cd19 Author: Ilpo Järvinen Date: Tue Jul 10 23:02:12 2007 -0700 [DECNET]: Another unnecessary net/tcp.h inclusion in net/dn.h No longer needed. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 4c752098f529f41abfc985426a3eca0f2cb96676 Author: YOSHIFUJI Hideaki Date: Wed May 23 13:28:48 2007 +0900 [IPV6]: Make IPV6_{RECV,2292}RTHDR boolean options. Because reversing RH0 is no longer supported by deprecation of RH0, let's make IPV6_{RECV,2292}RTHDR boolean options. Boolean are more appropriate from standard POV. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit bb4dbf9e61d0801927e7df2569bb3dd8287ea301 Author: YOSHIFUJI Hideaki Date: Tue Jul 10 22:55:49 2007 -0700 [IPV6]: Do not send RH0 anymore. Based on . Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit c382bb9d32a55029fb13b118858e25908fab4617 Author: YOSHIFUJI Hideaki Date: Tue Jul 10 22:47:58 2007 -0700 [IPV6]: Restore semantics of Routing Header processing. The "fix" for emerging security threat was overkill and it broke basic semantic of IPv6 routing header processing. We should assume RT0 (or even RT2, depends on configuration) as "unknown" RH type so that we - silently ignore the routing header if segleft == 0 - send ICMPv6 Parameter Problem message back to the sender, otherwise. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit c9726d6890f7f3a892c879e067c3ed839f61e745 Author: Ranjit Manomohan Date: Tue Jul 10 22:43:16 2007 -0700 [NET_SCHED]: Make HTB scheduler work with TSO. Currently the HTB scheduler does not correctly account for TSO packets which causes large inaccuracies in the bandwidth control when using TSO. This patch allows the HTB scheduler to work with TSO enabled devices. Signed-off-by: Ranjit Manomohan Signed-off-by: David S. Miller commit c6c6e3e05c0b4349824efcdd36650e7be9d5c7c3 Author: Herbert Xu Date: Tue Jul 10 22:41:55 2007 -0700 [NET]: Update comments for skb checksums Rusty (whose comments we should all study and emulate :) pointed out that our comments for skb checksums are no longer up-to-date. So here is a patch to 1) add the case of partial checksums on input; 2) update partial checksum case to mention csum_start/csum_offset; 3) mention the new IPv6 feature bit. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 5b7f990927fe87ad3bec762a33c0e72bcbf6841e Author: Marcel Holtmann Date: Wed Jul 11 09:51:55 2007 +0200 [Bluetooth] Add basics to better support and handle eSCO links To better support and handle eSCO links in the future a bunch of constants needs to be added and some basic routines need to be updated. This is the initial step. Signed-off-by: Marcel Holtmann commit cfbba49d80be6cf8d3872b66fc5421f119843b36 Author: Patrick McHardy Date: Mon Jul 9 15:33:40 2007 -0700 [NET]: Avoid copying writable clones in tunnel drivers Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4839c52b01ca91be1c62761e08fb3deb3881e857 Author: Philippe De Muyter Date: Mon Jul 9 15:32:57 2007 -0700 [IPV4]: Make ip_tos2prio const. Signed-off-by: Philippe De Muyter Signed-off-by: David S. Miller commit 6b25d30bf112370a12d05c3c0fd43732985dab01 Author: Patrick McHardy Date: Mon Jul 9 15:30:19 2007 -0700 [NET]: Fix gen_estimator timer removal race As noticed by Jarek Poplawski , the timer removal in gen_kill_estimator races with the timer function rearming the timer. Check whether the timer list is empty before rearming the timer in the timer function to fix this. Signed-off-by: Patrick McHardy Acked-by: Jarek Poplawski Signed-off-by: David S. Miller commit 1498b3f1952ae539a7d5c356acf942d5f4c1aece Author: Satyam Sharma Date: Mon Jul 9 15:22:23 2007 -0700 [NETPOLL]: Fix a leak-n-bug in netpoll_cleanup() 93ec2c723e3f8a216dde2899aeb85c648672bc6b applied excessive duct tape to the netpoll beast's netpoll_cleanup(), thus substituting one leak with another, and opening up a little buglet :-) net_device->npinfo (netpoll_info) is a shared and refcounted object and cannot simply be set NULL the first time netpoll_cleanup() is called. Otherwise, further netpoll_cleanup()'s see np->dev->npinfo == NULL and become no-ops, thus leaking. And it's a bug too: the first call to netpoll_cleanup() would thus (annoyingly) "disable" other (still alive) netpolls too. Maybe nobody noticed this because netconsole (only user of netpoll) never supported multiple netpoll objects earlier. This is a trivial and obvious one-line fixlet. Signed-off-by: Satyam Sharma Signed-off-by: David S. Miller commit 5f1de3ec661e7b08348f565b7ca17586e7e94fc5 Author: Robert P. J. Day Date: Mon Jul 9 13:20:54 2007 -0700 [RXRPC]: Remove Makefile reference to obsolete RXRPC config variable Since there is no Kconfig variable RXRPC anywhere in the tree, and the variable AF_RXRPC performs exactly the same function, remove the reference to CONFIG_RXRPC from net/Makefile. Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 0236e667e188af0336cd776e5b54c1f3fd19a03c Author: Dan Aloni Date: Mon Jul 9 13:20:12 2007 -0700 [NETFILTER] net/ipv4/netfilter/ip_tables.c: lower printk severity Signed-off-by: Dan Aloni Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 4fda25a2cd7a18e0ef9f29ba3dd6f6cd9b7ca43f Author: Adrian Bunk Date: Mon Jul 9 13:18:57 2007 -0700 [DCCP]: Make struct dccp_li_cachep static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit aa4291108f434a183207e645379414270118dccb Author: Matthias Kaehlcke Date: Mon Jul 9 13:18:12 2007 -0700 [IRDA]: use mutex instead of semaphore in VLSI 82C147 IrDA controller driver The VLSI 82C147 IrDA controller driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 6f11df8355e8f59f7572bf6ac1f63d692483b0c6 Author: Andrew Morton Date: Mon Jul 9 13:16:00 2007 -0700 [NET]: "wrong timeout value in sk_wait_data()": cleanups - save 4 bytes - it's read-mostly. Signed-off-by: Andrew Morton Acked-by: Vasily Averin Signed-off-by: David S. Miller commit 60f0438a87cfd9f5faa439ca419497cd64e4c59e Author: Pavel Emelianov Date: Mon Jul 9 13:15:14 2007 -0700 [NET]: Make some network-related proc files use seq_list_xxx helpers This includes /proc/net/protocols, /proc/net/rxrpc_calls and /proc/net/rxrpc_connections files. All three need seq_list_start_head to show some header. Signed-off-by: Pavel Emelianov Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 9af97186fcc9a1d9bbf195eb4bc2399d0dd66223 Author: Pavel Emelianov Date: Mon Jul 9 13:12:24 2007 -0700 [ATM] br2684: Use seq_list_xxx helpers The .show callback receives the list_head pointer now, not the struct br2684_dev one. Signed-off-by: Pavel Emelianov Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 1c8c7d64169dc4b1ae3d8cd1bf35ea0a099b50ad Author: Stephen Hemminger Date: Sat Jul 7 23:03:44 2007 -0700 [NET]: netdevice mtu assumptions documentation Document the expectations about device MTU handling. The documentation about oversize packet handling is probably too loose. IMHO devices should drop oversize packets for robustness, but many devices allow it now. For example, if you set mtu to 1200 bytes, most ether devices will allow a 1500 byte frame in. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 1722933323b70f44b0548131604f1f3454c2aa8f Author: Stephen Hemminger Date: Sat Jul 7 22:59:14 2007 -0700 [NET]: netdevice locking assumptions documentation Update the documentation about locking assumptions. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 963bd949b12158d9b5380b718b31c4b33372ed73 Author: Ilpo Järvinen Date: Sat Jul 7 22:54:56 2007 -0700 [BNX2]: Seems to not need net/tcp.h Got bored to always recompile it for no reason. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 3a334b34b62d94be0275e5c76fa153cf7fd42770 Author: Michael Chan Date: Sat Jul 7 22:52:37 2007 -0700 [BNX2]: Update version to 1.6.2. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 58fc2ea4057511f84deaa182b1a3612327ecbf2d Author: Michael Chan Date: Sat Jul 7 22:52:02 2007 -0700 [BNX2]: Print management firmware version. Add management firmware version for ethtool -i. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit df149d70e1f34ec4995c8a703dbde38071ff4a05 Author: Michael Chan Date: Sat Jul 7 22:51:36 2007 -0700 [BNX2]: Enhance the heartbeat. In addition to the periodic heartbeat, we're adding a heartbeat request interrupt when the heartbeat is late. This is needed during netpoll where the timer is not available. -rt kernels will also benefit since the timer is not as accurate. [ We discussed this patch last time and we decided that the -rt kernel problem alone did not justify this patch. I think the netpoll problem makes this patch necessary. ] Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit b8a7ce7bedb2134acb731e08e588ad92087a40ff Author: Michael Chan Date: Sat Jul 7 22:51:03 2007 -0700 [BNX2]: Reduce spurious INTA interrupts. Spurious interrupts are often encountered especially on systems using the 8259 PIC mode. This is because the I/O write to deassert the interrupt is posted and won't get to the chip immediately. As a result, the IRQ may remain asserted after the IRQ handler exits, causing spurious interrupts. Add read back to flush the I/O write to deassert the IRQ immediately. We also store the last_status_idx immediately in the IRQ handler to help detect whether the interrupt is ours or not when the IRQ is entered again before ->poll gets called. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9b1084b8f99a6b5e97c0c9bc1b4455db4fa51a07 Author: Michael Chan Date: Sat Jul 7 22:50:37 2007 -0700 [BNX2]: Modify link up message. Modify the link up dmesg to report remote copper or Serdes link. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 7b6b83474cb9bdd07dadfb7497a29c3005ad9d1d Author: Michael Chan Date: Sat Jul 7 22:50:15 2007 -0700 [BNX2]: Add ethtool support for remote PHY. Modify the driver's ethtool_ops->get_settings and set_settings functions to support remote PHY. Users control the remote copper PHY settings by specifying link settings for the tp (twisted pair) port. The nway_reset function is also modified to support remote PHY. mii-tool operations are not supported on remote PHY and we will return -EOPNOTSUPP. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 0d8a6571051d23c214d7a316976138a6fd8bda1c Author: Michael Chan Date: Sat Jul 7 22:49:43 2007 -0700 [BNX2]: Add support for remote PHY. In blade servers, the Serdes PHY in 5708S can control the remote copper PHY through autonegotiation on the backplane. This patch adds the logic to interface with the firmware to control the remote PHY autonegotiation and to handle remote PHY link events. When remote PHY is present, the 5708S Serdes device practically becomes a copper device with full control over the 1000Base-T link settings. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9700e6befea505b03b6e625536a9a106811e9a14 Author: Michael Chan Date: Sat Jul 7 22:48:31 2007 -0700 [BNX2]: Add remote PHY bit definitions. Add new fields in struct bnx2 and other bit definitions in shared memory to support remote PHY. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit deaf391b4cc9d9f8e2b2793ebd56da776b54197a Author: Michael Chan Date: Sat Jul 7 22:48:00 2007 -0700 [BNX2]: Add bnx2_set_default_link(). Put existing code to setup the default link settings in this new function. This makes it easier to support the remote PHY feature in the next few patches. Also change ETHTOOL_ALL_FIBRE_SPEED to include 2500Mbps if supported. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 5faf41535214b68c989a22302c8870f8758cbb8c Author: Balazs Scheidler Date: Sat Jul 7 22:41:01 2007 -0700 [NETFILTER]: x_tables: add more detail to error message about match/target mask mismatch Signed-off-by: Balazs Scheidler Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 585426fdc5b4cccaacf0afc8cf821ff763750ae8 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:40:26 2007 -0700 [NETFILTER]: nf_queue: Use RCU and mutex for queue handlers Queue handlers are registered/unregistered in only process context. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ce7663d84a87bb4e1743f62950bf7dceed723a13 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:40:08 2007 -0700 [NETFILTER]: nfnetlink_queue: don't unregister handler of other subsystem The queue handlers registered by ip[6]_queue.ko at initialization should not be unregistered according to requests from userland program using nfnetlink_queue. If we allow that, there is no way to register the handlers of built-in ip[6]_queue again. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0d53778e81ac7af266dac8a20cc328328c327112 Author: Patrick McHardy Date: Sat Jul 7 22:39:38 2007 -0700 [NETFILTER]: Convert DEBUGP to pr_debug Convert DEBUGP to pr_debug and fix lots of non-compiling debug statements. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 342b7e3c8a3c84252799c4ac4d9a604b8903d2b4 Author: Patrick McHardy Date: Sat Jul 7 22:39:16 2007 -0700 [NETFILTER]: xt_helper: use RCU The ->helper pointer is protected by RCU, no need to take nf_conntrack_lock. Also remove excessive debugging. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 91e8db80065d655ce1b6d74cadc921671e8d5285 Author: Patrick McHardy Date: Sat Jul 7 22:38:54 2007 -0700 [NETFILTER]: nf_conntrack_h323: turn some printks into DEBUGPs Don't spam the ringbuffer with decoding errors. The only printks remaining are for dropped packets when we're certain they are H.323. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d3c3f4243e135b3d8c41d98be0cb2f54a4141abf Author: Patrick McHardy Date: Sat Jul 7 22:38:30 2007 -0700 [NETFILTER]: ipt_CLUSTERIP: add compat code Adjust structure size and don't expect pointers passed in from userspace to be valid. Also replace an enum in an ABI structure by a fixed size type. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3569b621ceba0a9cfb80e24c0bd19fd632ccee25 Author: Patrick McHardy Date: Sat Jul 7 22:38:07 2007 -0700 [NETFILTER]: ipt_SAME: add to feature-removal-schedule Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7ae7730fd6d98be1afe8ad9ea77813de607ec970 Author: Patrick McHardy Date: Sat Jul 7 22:37:38 2007 -0700 [NETFILTER]: nf_conntrack: early_drop improvement When the maximum number of conntrack entries is reached and a new one needs to be allocated, conntrack tries to drop an unassured connection from the same hash bucket the new conntrack would hash to. Since with a properly sized hash the average number of entries per bucket is 1, the chances of actually finding one are not very good. This patch makes it walk the hash until a minimum number of 8 entries are checked. Based on patch by Vasily Averin . Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ec59a1110aee6846adada8979915cacae64042ce Author: Patrick McHardy Date: Sat Jul 7 22:37:03 2007 -0700 [NETFILTER]: nf_conntrack: mark helpers __read_mostly Most are __read_mostly already, this changes the remaining ones. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b8a7fe6c10511fce10b20efa163123f4041f2550 Author: Patrick McHardy Date: Sat Jul 7 22:36:46 2007 -0700 [NETFILTER]: nf_conntrack_helper: use hashtable for conntrack helpers Eliminate the last global list searched for every new connection. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f264a7df08d50bb4a23be6a9aa06940e497ac1c4 Author: Patrick McHardy Date: Sat Jul 7 22:36:24 2007 -0700 [NETFILTER]: nf_conntrack_expect: introduce nf_conntrack_expect_max sysct As a last step of preventing DoS by creating lots of expectations, this patch introduces a global maximum and a sysctl to control it. The default is initialized to 4 * the expectation hash table size, which results in 1/64 of the default maxmimum of conntracks. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b560580a13b180bc1e3cad7ffbc93388cc39be5d Author: Patrick McHardy Date: Sat Jul 7 22:35:56 2007 -0700 [NETFILTER]: nf_conntrack_expect: maintain per conntrack expectation list This patch brings back the per-conntrack expectation list that was removed around 2.6.10 to avoid walking all expectations on expectation eviction and conntrack destruction. As these were the last users of the global expectation list, this patch also kills that. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 31f15875c5ad98a13b528aaf19c839e22b43dc9a Author: Patrick McHardy Date: Sat Jul 7 22:35:21 2007 -0700 [NETFILTER]: nf_conntrack_helper/nf_conntrack_netlink: convert to expectation hash Convert from the global expectation list to the hash table. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5d08ad440feae11b8d6e7599147a8a20ac60f99a Author: Patrick McHardy Date: Sat Jul 7 22:34:07 2007 -0700 [NETFILTER]: nf_conntrack_expect: convert proc functions to hash Convert from the global expectation list to the hash table. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a71c085562bcc99e8b711cab4222bff1f6e955da Author: Patrick McHardy Date: Sat Jul 7 22:33:47 2007 -0700 [NETFILTER]: nf_conntrack: use hashtable for expectations Currently all expectations are kept on a global list that - needs to be searched for every new conncetion - needs to be walked for evicting expectations when a master connection has reached its limit - needs to be walked on connection destruction for connections that have open expectations This is obviously not good, especially when considering helpers like H.323 that register *lots* of expectations and can set up permanent expectations, but it also allows for an easy DoS against firewalls using connection tracking helpers. Use a hashtable for expectations to avoid incurring the search overhead for every new connection. The default hash size is 1/256 of the conntrack hash table size, this can be overriden using a module parameter. This patch only introduces the hash table for expectation lookups and keeps other users to reduce the noise, the following patches will get rid of it completely. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e9c1b084e17ca225b6be731b819308ee0f9e04b8 Author: Patrick McHardy Date: Sat Jul 7 22:32:53 2007 -0700 [NETFILTER]: nf_conntrack: move expectaton related init code to nf_conntrack_expect.c Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit cf6994c2b9812a9f02b99e89df411ffc5db9c779 Author: Patrick McHardy Date: Sat Jul 7 22:32:34 2007 -0700 [NETFILTER]: nf_conntrack_netlink: sync expectation dumping with conntrack table dumping Resync expectation table dumping code with conntrack dumping: don't rely on the unique ID anymore since that requires to walk the list backwards, which doesn't work with the upcoming conversion to hlists. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4e1d4e6c5a448bd114e0cef6311c974cb7c7385e Author: Patrick McHardy Date: Sat Jul 7 22:32:03 2007 -0700 [NETFILTER]: nf_conntrack_expect: avoid useless list walking Don't walk the list when unexpecting an expectation, we already have a reference and the timer check is enough to guarantee that it still is on the list. This comment suggests that it was copied there by mistake from expectation eviction: /* choose the oldest expectation to evict */ Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d4156e8cd93f5772483928aaf4960120caebd789 Author: Patrick McHardy Date: Sat Jul 7 22:31:32 2007 -0700 [NETFILTER]: nf_conntrack: reduce masks to a subset of tuples Since conntrack currently allows to use masks for every bit of both helper and expectation tuples, we can't hash them and have to keep them on two global lists that are searched for every new connection. This patch removes the never used ability to use masks for the destination part of the expectation tuple and completely removes masks from helpers since the only reasonable choice is a full match on l3num, protonum and src.u.all. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit df43b4e7ca46952756b2fc039ed80469b1bff62d Author: Patrick McHardy Date: Sat Jul 7 22:31:07 2007 -0700 [NETFILTER]: nf_conntrack_ftp: use nf_ct_expect_init Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6823645d608541c2c69e8a99454936e058c294e0 Author: Patrick McHardy Date: Sat Jul 7 22:30:49 2007 -0700 [NETFILTER]: nf_conntrack_expect: function naming unification Currently there is a wild mix of nf_conntrack_expect_, nf_ct_exp_, expect_, exp_, ... Consistently use nf_ct_ as prefix for exported functions. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 53aba5979e1d964c0234816eda2316f1c2e7946d Author: Patrick McHardy Date: Sat Jul 7 22:30:27 2007 -0700 [NETFILTER]: nf_nat: use hlists for bysource hash Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ac565e5fc104fe1842a87f2206fcfb7b6dda903d Author: Patrick McHardy Date: Sat Jul 7 22:30:08 2007 -0700 [NETFILTER]: nf_conntrack: export hash allocation/destruction functions Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 330f7db5e578e1e298ba3a41748e5ea333a64a2b Author: Patrick McHardy Date: Sat Jul 7 22:28:42 2007 -0700 [NETFILTER]: nf_conntrack: remove 'ignore_conntrack' argument from nf_conntrack_find_get All callers pass NULL, this also doesn't seem very useful for modules. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f205c5e0c28aa7e0fb6eaaa66e97928f9d9e6994 Author: Patrick McHardy Date: Sat Jul 7 22:28:14 2007 -0700 [NETFILTER]: nf_conntrack: use hlists for conntrack hash Convert conntrack hash to hlists to reduce its size and cache footprint. Since the default hashsize to max. entries ratio sucks (1:16), this patch doesn't reduce the amount of memory used for the hash by default, but instead uses a better ratio of 1:8, which results in the same max. entries value. One thing worth noting is early_drop. It really should use LRU, so it now has to iterate over the entire chain to find the last unconfirmed entry. Since chains shouldn't be very long and the entire operation is very rare this shouldn't be a problem. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 8e5105a0c36a059dfd0f0bb9e73ee7c97d306247 Author: Patrick McHardy Date: Sat Jul 7 22:27:33 2007 -0700 [NETFILTER]: nf_conntrack: round up hashsize to next multiple of PAGE_SIZE Don't let the rest of the page go to waste. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 61eb3107cd8e0302f95aae26206e552365daf290 Author: Patrick McHardy Date: Sat Jul 7 22:27:06 2007 -0700 [NETFILTER]: nf_conntrack_extend: use __read_mostly for struct nf_ct_ext_type Also make them static. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b6b84d4a94e95727a4c65841eea23ac60c6aa329 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:26:35 2007 -0700 [NETFILTER]: nf_nat: merge nf_conn and nf_nat_info Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d8a0509a696de60296a66ba4fe4f9eaade497103 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:26:16 2007 -0700 [NETFILTER]: nf_nat: kill global 'destroy' operation This kills the global 'destroy' operation which was used by NAT. Instead it uses the extension infrastructure so that multiple extensions can register own operations. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit dacd2a1a5cf621288833aa3c6e815b86a1536538 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:25:51 2007 -0700 [NETFILTER]: nf_conntrack: remove old memory allocator of conntrack Now memory space for help and NAT are allocated by extension infrastructure. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ff09b7493c8f433d3ffd6a31ad58d190f82ef0c5 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:25:28 2007 -0700 [NETFILTER]: nf_nat: remove unused nf_nat_module_is_loaded Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2d59e5ca8c7113ad91452f0f9259a4b55ee90323 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:24:28 2007 -0700 [NETFILTER]: nf_nat: use extension infrastructure Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e54cbc1f91dea4f98b6209e693d3b5eae46321bd Author: Yasuyuki Kozakai Date: Sat Jul 7 22:24:04 2007 -0700 [NETFILTER]: nf_nat: add reference to conntrack from entry of bysource list I will split 'struct nf_nat_info' out from conntrack. So I cannot use 'offsetof' to get the pointer to conntrack from it. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ceceae1b1555a9afcb8dacf90df5fa1f20fd5466 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:23:42 2007 -0700 [NETFILTER]: nf_conntrack: use extension infrastructure for helper Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ecfab2c9fe5597221c2b30dec48634a2361a0d08 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:23:21 2007 -0700 [NETFILTER]: nf_conntrack: introduce extension infrastructure Old space allocator of conntrack had problems about extensibility. - It required slab cache per combination of extensions. - It expected what extensions would be assigned, but it was impossible to expect that completely, then we allocated bigger memory object than really required. - It needed to search helper twice due to lock issue. Now basic informations of a connection are stored in 'struct nf_conn'. And a storage for extension (helper, NAT) is allocated by kmalloc. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4ba887790ce2015e8c464809c0be902fb813ad15 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:22:33 2007 -0700 [NETFILTER]: nf_nat: move NAT declarations from nf_conntrack_ipv4.h to nf_nat.h Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9f15c5302de4e8b0aac7ca24c36bf26a7fe1a513 Author: Patrick McHardy Date: Sat Jul 7 22:22:02 2007 -0700 [NETFILTER]: x_tables: mark matches and targets __read_mostly Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ba9dda3ab5a865542e69dfe01edb2436857c9420 Author: Jozsef Kadlecsik Date: Sat Jul 7 22:21:23 2007 -0700 [NETFILTER]: x_tables: add TRACE target The TRACE target can be used to follow IP and IPv6 packets through the ruleset. Signed-off-by: Jozsef Kadlecsik Signed-off-by: Patrick NcHardy Signed-off-by: David S. Miller commit 1b50b8a371e90a5e110f466e4ac02cf6b5f681de Author: Jan Engelhardt Date: Sat Jul 7 22:20:36 2007 -0700 [NETFILTER]: Add u32 match Along comes... xt_u32, a revamped ipt_u32 from POM-NG, Plus: * 2007-06-02: added ipv6 support * 2007-06-05: uses kmalloc for the big buffer * 2007-06-05: added inversion * 2007-06-20: use skb_copy_bits() and get rid of the big buffer and lock (suggested by Pablo Neira Ayuso) Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f4a607bfae30d15aad46e75d2ed7a39f7ce7708b Author: Jerome Borsboom Date: Sat Jul 7 22:19:48 2007 -0700 [NETFILTER]: nf_nat_sip: only perform RTP DNAT if SIP session was SNATed DNAT of the the RTP session is only necessary if the SIP session has been SNATed. Signed-off-by: Jerome Borsboom Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7c4e36bc172ae1accde835b880fdc4a2c2a3df57 Author: Jan Engelhardt Date: Sat Jul 7 22:19:08 2007 -0700 [NETFILTER]: Remove redundant parentheses/braces Removes redundant parentheses and braces (And add one pair in a xt_tcpudp.c macro). Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 170b197c0afc621179f0f82284e331e3c252b7cf Author: Jan Engelhardt Date: Sat Jul 7 22:17:36 2007 -0700 [NETFILTER]: Remove incorrect inline markers device_cmp: the function's address is taken (call to nf_ct_iterate_cleanup) alloc_null_binding: referenced externally Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a47362a226456d8db8207e618324a2278d05d3a7 Author: Jan Engelhardt Date: Sat Jul 7 22:16:55 2007 -0700 [NETFILTER]: add some consts, remove some casts Make a number of variables const and/or remove unneeded casts. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e1931b784a8de324abf310fa3b5e3f25d3988233 Author: Jan Engelhardt Date: Sat Jul 7 22:16:26 2007 -0700 [NETFILTER]: x_tables: switch xt_target->checkentry to bool Switch the return type of target checkentry functions to boolean. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ccb79bdce71f2c04cfa9bfcbaf4d37e2f963d684 Author: Jan Engelhardt Date: Sat Jul 7 22:16:00 2007 -0700 [NETFILTER]: x_tables: switch xt_match->checkentry to bool Switch the return type of match functions to boolean Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1d93a9cbad608f6398ba6c5b588c504ccd35a2ca Author: Jan Engelhardt Date: Sat Jul 7 22:15:35 2007 -0700 [NETFILTER]: x_tables: switch xt_match->match to bool Switch the return type of match functions to boolean Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit cff533ac12494fa002e2c46acc94d670e5f636a2 Author: Jan Engelhardt Date: Sat Jul 7 22:15:12 2007 -0700 [NETFILTER]: x_tables: switch hotdrop to bool Switch the "hotdrop" variables to boolean Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7bfe24611671ec76b44281e582b38535e21f01a9 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:14:23 2007 -0700 [NETFILTER]: ip6_tables: fix explanation of valid upper protocol number This explains the allowed upper protocol numbers. IP6T_F_NOPROTO was introduced to use 0 as Hop-by-Hop option header, not wildcard. But that seemed to be forgotten. 0 has been used as wildcard since 2002-08-23. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 558585aad0c0ef83d3d14a1c7576b1e404ca1fbc Author: Jing Min Zhao Date: Sat Jul 7 22:13:17 2007 -0700 [NETFILTER]: nf_conntrack_h323: check range first in sequence extension Check range before checking STOP flag. This optimization may save a nanosecond or less :) Signed-off-by: Jing Min Zhao Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 067b207b281db5e3f03f8d244286c20f61aa2343 Author: James Chapman Date: Thu Jul 5 17:08:05 2007 -0700 [UDP]: Cleanup UDP encapsulation code This cleanup fell out after adding L2TP support where a new encap_rcv funcptr was added to struct udp_sock. Have XFRM use the new encap_rcv funcptr, which allows us to move the XFRM encap code from udp.c into xfrm4_input.c. Make xfrm4_rcv_encap() static since it is no longer called externally. Signed-off-by: James Chapman Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 93cce3d3657bfb5d04789afcd5104f8c48700f32 Author: G. Liakhovetski Date: Mon Jul 2 22:56:57 2007 -0700 [IrDA]: tsap init routine factorisation. This patch extracts common code from irttp_open_tsap() and irttp_dup() into a new function to 1) avoid code duplication, 2) help avoid forgetting object initialization in the tsap duplication path in the future. Signed-off-by: G. Liakhovetski Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 66f5e51ed5a300291b34bf3e2b1e22ac28ca3631 Author: Samuel Ortiz Date: Mon Jul 2 22:56:15 2007 -0700 [IrDA]: kingsun-sir.c charset fix. Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 411725280bd0058ebb83c0e32133b7a94902c3a6 Author: Samuel Ortiz Date: Mon Jul 2 22:55:31 2007 -0700 [IrDA]: Monitor mode. Through the IrDA netlink set mode command, we switch to IrDA monitor mode, where one IrLAP instance receives all the packets on the media, without ever responding to them. Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 89da1ecf5483e6aa29b456a15ad6d05a6797c5a5 Author: Samuel Ortiz Date: Mon Jul 2 22:54:18 2007 -0700 [IrDA]: Netlink layer. First IrDA configuration netlink layer implementation. Currently, we only support the set/get mode commands. Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 8c644623fe7e41f59fe97cdf666cba3cb7ced7d8 Author: Guido Guenther Date: Mon Jul 2 22:50:25 2007 -0700 [NET]: Allow group ownership of TUN/TAP devices. Introduce a new syscall TUNSETGROUP for group ownership setting of tap devices. The user now is allowed to send packages if either his euid or his egid matches the one specified via tunctl (via -u or -g respecitvely). If both, gid and uid, are set via tunctl, both have to match. Signed-off-by: Guido Guenther Signed-off-by: Jeff Dike Signed-off-by: David S. Miller commit 0ba48053831d5b89ee2afaefaae1c06eae80cb05 Author: Patrick McHardy Date: Mon Jul 2 22:49:07 2007 -0700 [NET_SCHED]: Remove unnecessary includes Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ee39e10c27ca5293c72addb95bff864095e19904 Author: Patrick McHardy Date: Mon Jul 2 22:48:13 2007 -0700 [NET_SCHED]: sch_htb: use generic estimator Use the generic estimator instead of reimplementing (parts of) it. For compatibility always create a default estimator for new classes. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4bdf39911e7a887c4499161422423cbaf16684e8 Author: Patrick McHardy Date: Mon Jul 2 22:47:37 2007 -0700 [NET_SCHED]: Remove unnecessary stats_lock pointers Remove stats_lock pointers from qdisc-internal structures, in all cases it points to dev->queue_lock. The only case where it is necessary is for top-level qdiscs, where it might also point to dev->ingress_lock in case of the ingress qdisc. Also remove it from actions completely, it always points to the actions internal lock. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 876d48aabf30e4981653f1a0a7ae1e262b8c8b6f Author: Patrick McHardy Date: Mon Jul 2 22:46:07 2007 -0700 [NET_SCHED]: Remove CONFIG_NET_ESTIMATOR option The generic estimator is always built in anways and all the config options does is prevent including a minimal amount of code for setting it up. Additionally the option is already automatically selected for most cases. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a553e4a6317b2cfc7659542c10fe43184ffe53da Author: Jamal Hadi Salim Date: Mon Jul 2 22:41:59 2007 -0700 [PKTGEN]: IPSEC support Added transport mode ESP support for starters. I will send more of these modes and types once i have resolved the tunnel mode isses. Signed-off-by: Jamal Hadi Salim Signed-off-by: Robert Olsson Signed-off-by: David S. Miller commit 628529b6ee334fedc8d25ce56205bb99566572b9 Author: Jamal Hadi Salim Date: Mon Jul 2 22:41:14 2007 -0700 [XFRM] Introduce standalone SAD lookup This allows other in-kernel functions to do SAD lookups. The only known user at the moment is pktgen. Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 007a531b0a0c902392a3deff730acd28ce6625c7 Author: Jamal Hadi Salim Date: Mon Jul 2 22:40:36 2007 -0700 [PKTGEN]: Introduce sequential flows By default all flows in pktgen are randomly selected. This patch introduces ability to have all defined flows to be sent sequentially. Robert defined randomness to be the default behavior. Signed-off-by: Jamal Hadi Salim Signed-off-by: Robert Olsson Signed-off-by: David S. Miller commit 16dab72f65a6aab0aa72866e00c91b58a2794082 Author: Jamal Hadi Salim Date: Mon Jul 2 22:39:50 2007 -0700 [PKTGEN]: Centralize packet overhead tracking Track the extra packet overhead for VLAN tags, MPLS, IPSEC etc Signed-off-by: Jamal Hadi Salim Signed-off-by: Robert Olsson Signed-off-by: David S. Miller commit eef6caf8a916f32f8d9b2a02d4fa7674736c00ac Author: Larry Finger Date: Mon Jul 2 22:36:38 2007 -0700 [MAC80211]: Set low initial rate in rc80211_simple The initial rate for STA's using rc80211_simple is set to the last rate in the rate table. For situations for which the signal is weak, the rate may be too high for authentication and association. Although the rc80211_simple module will adjust the speed, the response may not be fast enough for a successful connection. This modification sets the initial rate to the lowest supported value. Signed-off-by: Larry Finger Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit d0410051164bbbc597e15f068b53c06a954ae0d4 Author: Ilpo Järvinen Date: Mon Jul 2 22:07:22 2007 -0700 [TCP]: SACK fastpath did override adjusted fackets_out Do same adjustment to SACK fastpath counters provided that they're valid. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 61cbc2fca6335be52788773b21efdc52a2750924 Author: Patrick McHardy Date: Sat Jun 30 13:35:52 2007 -0700 [NET]: Fix secondary unicast/multicast address count maintenance When a reference to an existing address is increased or decreased without hitting zero, the address count is incorrectly adjusted. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d62733c8e437fdb58325617c4b3331769ba82d70 Author: Peter P Waskiewicz Jr Date: Thu Jun 28 21:04:31 2007 -0700 [SCHED]: Qdisc changes and sch_rr added for multiqueue Add the new sch_rr qdisc for multiqueue network device support. Allow sch_prio and sch_rr to be compiled with or without multiqueue hardware support. sch_rr is part of sch_prio, and is referenced from MODULE_ALIAS. This was done since sch_prio and sch_rr only differ in their dequeue routine. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f25f4e44808f0f6c9875d94ef1c41ef86c288eb2 Author: Peter P Waskiewicz Jr Date: Fri Jul 6 13:36:20 2007 -0700 [CORE] Stack changes to add multiqueue hardware support API Add the multiqueue hardware device support API to the core network stack. Allow drivers to allocate multiple queues and manage them at the netdev level if they choose to do so. Added a new field to sk_buff, namely queue_mapping, for drivers to know which tx_ring to select based on OS classification of the flow. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a093bf006e09a305e95ff0938c0a18b7520aef67 Author: Peter P Waskiewicz Jr Date: Thu Jun 28 20:45:47 2007 -0700 [NET]: [DOC] Multiqueue hardware support documentation Add a brief howto to Documentation/networking for multiqueue. It explains how to use the multiqueue API in a driver to support multiqueue paths from the stack, as well as the qdiscs to use for feeding a multiqueue device. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: David S. Miller commit a298830cd026b4c0cde45ef3679a5f68a17577e6 Author: Herbert Xu Date: Thu Jun 28 13:44:37 2007 -0700 [NET]: Fix TX checksum feature check This patch fixes a boolean error in the new TX checksum check that causes bogus TSO packets to be generated. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 58e50a904ec78caf4ca938801c031413b0d3f962 Author: James Chapman Date: Wed Jun 27 15:53:49 2007 -0700 [L2TP]: Add PPPoL2TP in-kernel documentation Signed-off-by: James Chapman Signed-off-by: David S. Miller commit a6d2370b0839c228ae4e680e75263ecf0a73e251 Author: James Chapman Date: Wed Jun 27 15:53:17 2007 -0700 [L2TP]: Add PPPoL2TP maintainer Signed-off-by: James Chapman Signed-off-by: David S. Miller commit 38d15b656258b52a659fcf3e181f85b51bd1851f Author: David S. Miller Date: Wed Jun 27 15:52:25 2007 -0700 [PPPOL2TP]: Use proper printf format specifier for size_t. Signed-off-by: David S. Miller commit 3557baabf28088f49bdf72a048fd33ab62e205b1 Author: James Chapman Date: Wed Jun 27 15:49:24 2007 -0700 [L2TP]: PPP over L2TP driver core This driver handles only L2TP data frames; control frames are handled by a userspace application. It implements L2TP using the PPPoX socket family. There is a PPPoX socket for each L2TP session in an L2TP tunnel. PPP data within each session is passed through the kernel's PPP subsystem via this driver. Kernel parameters of each socket can be read or modified using ioctl() or [gs]etsockopt() calls. Signed-off-by: James Chapman Signed-off-by: David S. Miller commit cf14a4d06742d59ecb2d837a3f53bb24d1ff9acb Author: James Chapman Date: Wed Jun 27 15:43:43 2007 -0700 [L2TP]: Changes to existing ppp and socket kernel headers for L2TP Add struct sockaddr_pppol2tp to carry L2TP-specific address information for the PPPoX (PPPoL2TP) socket. Unfortunately we can't use the union inside struct sockaddr_pppox because the L2TP-specific data is larger than the current size of the union and we must preserve the size of struct sockaddr_pppox for binary compatibility. Also add a PPPIOCGL2TPSTATS ioctl to allow userspace to obtain L2TP counters and state from the kernel. Add new if_pppol2tp.h header. [ Modified to use aligned_u64 in statistics structure -DaveM ] Signed-off-by: James Chapman Signed-off-by: David S. Miller commit 342f0234c71b40da785dd6a7ce1dd481ecbfdb81 Author: James Chapman Date: Wed Jun 27 15:37:46 2007 -0700 [UDP]: Introduce UDP encapsulation type for L2TP This patch adds a new UDP_ENCAP_L2TPINUDP encapsulation type for UDP sockets. When a UDP socket's encap_type is UDP_ENCAP_L2TPINUDP, the skb is delivered to a function pointed to by the udp_sock's encap_rcv funcptr. If the skb isn't wanted by L2TP, it returns >0, which causes it to be passed through to UDP. Include padding to put the new encap_rcv field on a 4-byte boundary. Previously, the only user of UDP encap sockets was ESP, so when CONFIG_XFRM was not defined, some of the encap code was compiled out. This patch changes that. As a result, udp_encap_rcv() will now do a little more work when CONFIG_XFRM is not defined. Signed-off-by: James Chapman Signed-off-by: David S. Miller commit 4417da668c0021903464f92db278ddae348e0299 Author: Patrick McHardy Date: Wed Jun 27 01:28:10 2007 -0700 [NET]: dev: secondary unicast address support Add support for configuring secondary unicast addresses on network devices. To support this devices capable of filtering multiple unicast addresses need to change their set_multicast_list function to configure unicast filters as well and assign it to dev->set_rx_mode instead of dev->set_multicast_list. Other devices are put into promiscous mode when secondary unicast addresses are present. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3fba5a8b1e3df2384b90493538161e83cf15dd5f Author: Patrick McHardy Date: Wed Jun 27 01:26:58 2007 -0700 [NET]: dev_mcast: switch to generic net_device address lists Use generic net_device address lists for multicast list handling. Some defines are used to keep drivers working. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit bf742482d7a647c5c6f03f78eb35a862e159ecf5 Author: Patrick McHardy Date: Wed Jun 27 01:26:19 2007 -0700 [NET]: dev: introduce generic net_device address lists Introduce struct dev_addr_list and list maintenance functions based on dev_mc_list and the related functions. This will be used by follow-up patches for both multicast and secondary unicast addresses. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 75ebe8f73610636be8bbd8d73db883512850e6be Author: Patrick McHardy Date: Wed Jun 27 01:25:11 2007 -0700 [NET]: dev_mcast: unexport dev_mc_upload dev_mc_add/dev_mc_delete take care of uploading the list when necessary and thats the only interface other code should use. Also remove two incorrect calls in DECnet. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d212f87b068c9d72065ef579d85b5ee6b8b59381 Author: Stephen Hemminger Date: Wed Jun 27 00:47:37 2007 -0700 [NET]: IPV6 checksum offloading in network devices The existing model for checksum offload does not correctly handle devices that can offload IPV4 and IPV6 only. The NETIF_F_HW_CSUM flag implies device can do any arbitrary protocol. This patch: * adds NETIF_F_IPV6_CSUM for those devices * fixes bnx2 and tg3 devices that need it * add NETIF_F_IPV6_CSUM to ipv6 output (incl GSO) * fixes assumptions about NETIF_F_ALL_CSUM in nat * adjusts bridge union of checksumming computation Signed-off-by: David S. Miller commit d3d6dd3adaaad71eae20902ed81808a66a40a5b9 Author: Masahide NAKAMURA Date: Tue Jun 26 23:57:49 2007 -0700 [XFRM]: Add module alias for transformation type. It is clean-up for XFRM type modules and adds aliases with its protocol: ESP, AH, IPCOMP, IPIP and IPv6 for IPsec ROUTING and DSTOPTS for MIPv6 It is almost the same thing as XFRM mode alias, but it is added new defines XFRM_PROTO_XXX for preprocessing since some protocols are defined as enum. Signed-off-by: Masahide NAKAMURA Acked-by: Ingo Oeser Signed-off-by: David S. Miller commit 59fbb3a61e02deaeaa4fb50792217921f3002d64 Author: Masahide NAKAMURA Date: Tue Jun 26 23:56:32 2007 -0700 [IPV6] MIP6: Loadable module support for MIPv6. This patch makes MIPv6 loadable module named "mip6". Here is a modprobe.conf(5) example to load it automatically when user application uses XFRM state for MIPv6: alias xfrm-type-10-43 mip6 alias xfrm-type-10-60 mip6 Some MIPv6 feature is not included by this modular, however, it should not be affected to other features like either IPsec or IPv6 with and without the patch. We may discuss XFRM, MH (RAW socket) and ancillary data/sockopt separately for future work. Loadable features: * MH receiving check (to send ICMP error back) * RO header parsing and building (i.e. RH2 and HAO in DSTOPTS) * XFRM policy/state database handling for RO These are NOT covered as loadable: * Home Address flags and its rule on source address selection * XFRM sub policy (depends on its own kernel option) * XFRM functions to receive RO as IPv6 extension header * MH sending/receiving through raw socket if user application opens it (since raw socket allows to do so) * RH2 sending as ancillary data * RH2 operation with setsockopt(2) Signed-off-by: Masahide NAKAMURA Signed-off-by: David S. Miller commit 136ebf08b46f839e2dc9db34322b654e5d9b9936 Author: Masahide NAKAMURA Date: Tue Jun 26 23:51:41 2007 -0700 [IPV6] MIP6: Kill unnecessary ifdefs. Kill unnecessary CONFIG_IPV6_MIP6. o It is redundant for RAW socket to keep MH out with the config then it can handle any protocol. o Clean-up at AH. Signed-off-by: Masahide NAKAMURA Signed-off-by: David S. Miller commit 2371baa4bdab3268b32009926f75e7a5d3a41506 Author: Patrick McHardy Date: Tue Jun 26 03:23:44 2007 -0700 [RTNETLINK]: Fix rtnetlink compat attribute patch Sent the wrong patch previously. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit afdc3238ec948531205f5c5f77d2de7bae519c71 Author: Patrick McHardy Date: Mon Jun 25 14:30:16 2007 -0700 [RTNETLINK]: Add nested compat attribute Add a nested compat attribute type that can be used to convert attributes that contain a structure to nested attributes in a backwards compatible way. The attribute looks like this: struct { [ compat contents ] struct rtattr { .rta_len = total size, .rta_type = type, } rta; struct old_structure struct; [ nested top-level attribute ] struct rtattr { .rta_len = nest size, .rta_type = type, } nest_attr; [ optional 0 .. n nested attributes ] struct rtattr { .rta_len = private attribute len, .rta_type = private attribute typ, } nested_attr; struct nested_data data; }; Since both userspace and kernel deal correctly with attributes that are larger than expected old versions will just parse the compat part and ignore the rest. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1092cb219774a82b1f16781aec7b8d4ec727c981 Author: Patrick McHardy Date: Mon Jun 25 13:49:35 2007 -0700 [NETLINK]: attr: add nested compat attribute type Add a nested compat attribute type that can be used to convert attributes that contain a structure to nested attributes in a backwards compatible way. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 334a8132d9950f769f390f0f35c233d099688e7a Author: Patrick McHardy Date: Mon Jun 25 04:35:20 2007 -0700 [SKBUFF]: Keep track of writable header len of headerless clones Currently NAT (and others) that want to modify cloned skbs copy them, even if in the vast majority of cases its not necessary because the skb is a clone made by TCP and the portion NAT wants to modify is actually writable because TCP release the header reference before cloning. The problem is that there is no clean way for NAT to find out how long the writable header area is, so this patch introduces skb->hdr_len to hold this length. When a headerless skb is cloned skb->hdr_len is set to the current headroom, for regular clones it is copied from the original. A new function skb_clone_writable(skb, len) returns whether the skb is writable up to len bytes from skb->data. To avoid enlarging the skb the mac_len field is reduced to 16 bit and the new hdr_len field is put in the remaining 16 bit. I've done a few rough benchmarks of NAT (not with this exact patch, but a very similar one). As expected it saves huge amounts of system time in case of sendfile, bringing it down to basically the same amount as without NAT, with sendmsg it only helps on loopback, probably because of the large MTU. Transmit a 1GB file using sendfile/sendmsg over eth0/lo with and without NAT: - sendfile eth0, no NAT: sys 0m0.388s - sendfile eth0, NAT: sys 0m1.835s - sendfile eth0: NAT + path: sys 0m0.370s (~ -80%) - sendfile lo, no NAT: sys 0m0.258s - sendfile lo, NAT: sys 0m2.609s - sendfile lo, NAT + patch: sys 0m0.260s (~ -90%) - sendmsg eth0, no NAT: sys 0m2.508s - sendmsg eth0, NAT: sys 0m2.539s - sendmsg eth0, NAT + patch: sys 0m2.445s (no change) - sendmsg lo, no NAT: sys 0m2.151s - sendmsg lo, NAT: sys 0m3.557s - sendmsg lo, NAT + patch: sys 0m2.159s (~ -40%) I expect other users can see a similar performance improvement, packet mangling iptables targets, ipip and ip_gre come to mind .. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e50c41b53d7aa48152dd9c633b04fc7abd536f1f Author: Krishna Kumar Date: Sun Jun 24 19:57:27 2007 -0700 [NET]: qdisc_restart - couple of optimizations. Changes : - netif_queue_stopped need not be called inside qdisc_restart as it has been called already in qdisc_run() before the first skb is sent, and in __qdisc_run() after each intermediate skb is sent (note : we are the only sender, so the queue cannot get stopped while the tx lock was got in the ~LLTX case). - BUG_ON((int) q->q.qlen < 0) was a relic from old times when -1 meant more packets are available, and __qdisc_run used to loop when qdisc_restart() returned -1. During those days, it was necessary to make sure that qlen is never less than zero, since __qdisc_run would get into an infinite loop if no packets are on the queue and this bug in qdisc was there (and worse - no more skbs could ever get queue'd as we hold the queue lock too). With Herbert's recent change to return values, this check is not required. Hopefully Herbert can validate this change. If at all this is required, it should be added to skb_dequeue (in failure case), and not to qdisc_qlen. Signed-off-by: Krishna Kumar Signed-off-by: David S. Miller commit 6c1361a6f285bf3df4b502651c0dd38d0eedc044 Author: Krishna Kumar Date: Sun Jun 24 19:56:09 2007 -0700 [NET]: qdisc_restart - readability changes plus one bug fix. New changes : - Incorporated Peter Waskiewicz's comments. - Re-added back one warning message (on driver returning wrong value). Previous changes : - Converted to use switch/case code which looks neater. - "if (ret == NETDEV_TX_LOCKED && lockless)" is buggy, and the lockless check should be removed, since driver will return NETDEV_TX_LOCKED only if lockless is true and driver has to do the locking. In the original code as well as the latest code, this code can result in a bug where if LLTX is not set for a driver (lockless == 0) but the driver is written wrongly to do a trylock (despite LLTX being set), the driver returns LOCKED. But since lockless is zero, the packet is requeue'd instead of calling collision code which will issue warning and free up the skb. Instead this skb will be retried with this driver next time, and the same result will ensue. Removing this check will catch these driver bugs instead of hiding the problem. I am keeping this change to readability section since : a. it is confusing to check two things as it is; and b. it is difficult to keep this check in the changed 'switch' code. - Changed some names, like try_get_tx_pkt to dev_dequeue_skb (as that is the work being done and easier to understand) and do_dev_requeue to dev_requeue_skb, merged handle_dev_cpu_collision and tx_islocked to dev_handle_collision (handle_dev_cpu_collision is a small routine with only one caller, so there is no need to have two separate routines which also results in getting rid of two macros, etc. - Removed an XXX comment as it should never fail (I suspect this was related to batch skb WIP, Jamal ?). Converted some functions to original coding style of having the return values and the function name on same line, eg prio2list. Signed-off-by: Krishna Kumar Signed-off-by: David S. Miller commit 49d66a70cf9fd94057aacd6055334299ab3a5eac Author: Gerrit Renker Date: Sat Jun 16 13:48:50 2007 -0300 [CCID3]: Fix a bug in the send time processing ccid3_hc_tx_send_packet currently returns 0 when the time difference between current time and t_nom is less than 1000 microseconds. In this case the packet is sent immediately; but, unlike other packets that can be emitted on first attempt, it will not have its window counter updated and its options set as required. This is a bug. Fix: Require the time difference to be at least 1000 microseconds. The algorithm then converges: time differences > 1000 microseconds trigger the timer in dccp_write_xmit; after timer expiry this function is tried again; when the time difference is less than 1000, the packet will have its options added and window counter updated as required. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 8132da4d412ad51c34bad11133a8f0941e2a1972 Author: Gerrit Renker Date: Sat Jun 16 13:34:02 2007 -0300 [CCID3]: Sending time: update to ktime_t This updates the computation of t_nom and t_last_win_count to use the newer gettimeofday interface. Committer note: used ktime_to_timeval to set the 'now' variable to t_ld in ccid3hctx_no_feedback_timer Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 1e180f726a58089d15637b5495fecbad8c50c833 Author: Arnaldo Carvalho de Melo Date: Sat Jun 16 12:39:38 2007 -0300 [KTIME]: Introduce ktime_add_us Signed-off-by: Arnaldo Carvalho de Melo commit f1c91da44728fba24927e44056a56e507c11cf7b Author: Gerrit Renker Date: Sat Jun 16 12:38:51 2007 -0300 [KTIME]: Introduce ktime_us_delta This provides a reusable time difference function which returns the difference in microseconds, as often used in the DCCP code. Commiter note: renamed ktime_delta to ktime_us_delta and put it in ktime.h. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit dd36a9aba44e4ddbac011de2cb14a70444487303 Author: Arnaldo Carvalho de Melo Date: Mon May 28 18:56:44 2007 -0300 loss_interval: make struct dccp_li_hist_entry private net/dccp/ccids/lib/loss_interval.c is the only place where this struct is used. Signed-off-by: Arnaldo Carvalho de Melo commit cc4d6a3a34ce3976d7d01d044f3093cddc2921c2 Author: Arnaldo Carvalho de Melo Date: Mon May 28 18:53:08 2007 -0300 loss_interval: Nuke dccp_li_hist It had just a slab cache, so, for the sake of simplicity just make dccp_trfc_lib module init routine create the slab cache, no need for users of the lib to create a private loss_interval object. Signed-off-by: Arnaldo Carvalho de Melo commit c70b729e662a1b3ee2ef5370c1e4c9bc3ddc239f Author: Arnaldo Carvalho de Melo Date: Mon May 28 18:25:12 2007 -0300 loss_interval: Make dccp_li_hist_entry_{new,delete} private Not used outside the loss_interval code anymore. Signed-off-by: Arnaldo Carvalho de Melo commit 8c281780c6f867460c84bd78d9c3885c10f00ae1 Author: Arnaldo Carvalho de Melo Date: Mon May 28 18:21:53 2007 -0300 loss_interval: unexport dccp_li_hist_interval_new Now its only used inside the loss_interval code. Signed-off-by: Arnaldo Carvalho de Melo commit cc0a910b942d11069d35f52b2c0ed0e229e2fb46 Author: Arnaldo Carvalho de Melo Date: Thu Jun 14 17:41:28 2007 -0300 [DCCP] loss_interval: Move ccid3_hc_rx_update_li to loss_interval Renaming it to dccp_li_update_li. Also based on previous work by Ian McDonald. Signed-off-by: Arnaldo Carvalho de Melo commit 878ac60023c4ba11a7fbf0b1dfe07b8472c0d6ce Author: Arnaldo Carvalho de Melo Date: Thu Jun 14 12:24:46 2007 -0300 [CCID3]: Pass ccid3_li_hist to ccid3_hc_rx_update_li Now ccid3_hc_rx_update_li is ready to be moved to net/dccp/ccids/lib/loss_interval, it uses the same interface as the other functions there. Signed-off-by: Arnaldo Carvalho de Melo commit d83258a3da1d3c7ae7b75549c8bf7ed689562c62 Author: Arnaldo Carvalho de Melo Date: Mon May 28 18:04:14 2007 -0300 Remove accesses to ccid3_hc_rx_sock in ccid3_hc_rx_{update,calc_first}_li This is a preparatory patch for moving these loss interval functions from net/dccp/ccids/ccid3.c to net/dccp/ccids/lib/loss_interval.c. Based on a patch by Ian McDonald. Signed-off-by: Arnaldo Carvalho de Melo commit 6bc7efe8efa627077f8f65d01dbb762fc9356a2f Author: Ian McDonald Date: Mon May 28 16:37:45 2007 -0300 loss_interval: Fix timeval initialisation When compiling with EXTRA_CFLAGS=-W noticed that tstamp is not initialised correctly in dccp_li_calc_first_li. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Ian McDonald commit e961811fcde4202ae5c3c9ce81dcfc244e8959bb Author: Ian McDonald Date: Mon May 28 16:32:26 2007 -0300 Fix dccp_sum_coverage When compiling with EXTRA_CFLAGS=-W notice that we have signed/unsigned issue in dccp.h. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Ian McDonald commit b2f41ff4139c0df8d06f352acc962a62fc07a0c3 Author: Ian McDonald Date: Mon May 28 12:23:29 2007 -0300 ccid3: Update copyrights Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 07b5b17e157b7018d0ca40ca0d1581a23096fb45 Author: Patrick McHardy Date: Wed Jun 13 12:07:54 2007 -0700 [VLAN]: Use rtnl_link API Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a4bf3af4ac46802436d352ef409cee4fe80445b3 Author: Patrick McHardy Date: Wed Jun 13 12:07:37 2007 -0700 [VLAN]: Introduce symbolic constants for flag values Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b020cb488586f982f40eb257a32e92a4de710d65 Author: Patrick McHardy Date: Wed Jun 13 12:07:22 2007 -0700 [VLAN]: Keep track of number of QoS mappings Keep track of the number of configured ingress/egress QoS mappings to avoid iteration while calculating the netlink attribute size. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 734423cf38021966a5d3bd5f5c6aaecaf32fb4ac Author: Patrick McHardy Date: Wed Jun 13 12:07:07 2007 -0700 [VLAN]: Use 32 bit value for skb->priority mapping skb->priority has only 32 bits and even VLAN uses 32 bit values in its API. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2ae0bf69b716d07126f0a9c17fcc2d76da172cb6 Author: Patrick McHardy Date: Wed Jun 13 12:06:43 2007 -0700 [VLAN]: Return proper error codes in register_vlan_device The returned device is unused, return proper error codes instead and avoid having the ioctl handler guess the error. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e89fe42cd03c8fd3686df82d8390a235717a66de Author: Patrick McHardy Date: Wed Jun 13 12:06:29 2007 -0700 [VLAN]: Move device registation to seperate function Move device registration and configuration of the underlying device to a seperate function. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c1d3ee9925ca714a5ed3f8fce01a7027137f4e3f Author: Patrick McHardy Date: Wed Jun 13 12:06:14 2007 -0700 [VLAN]: Split up device checks Move the checks of the underlying device to a seperate function. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 42429aaee5eb44f4a48fdb056d77d0c06ef5aebc Author: Patrick McHardy Date: Wed Jun 13 12:05:59 2007 -0700 [VLAN]: Move vlan_group allocation to seperate function Move group allocation to a seperate function to clean up the code a bit and allocate groups before registering the device. Device registration is globally visible and causes netlink events, so we shouldn't fail afterwards. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2f4284a406cb25d1e41454cbf9ec4545b5ed70a1 Author: Patrick McHardy Date: Wed Jun 13 12:05:41 2007 -0700 [VLAN]: Move some device intialization code to dev->init callback Move some device initialization code to new dev->init callback to make it shareable with netlink. Additionally this fixes a minor bug, dev->iflink is set after registration, which causes an incorrect value in the initial netlink message. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c17d8874f9959070552fddf1b4e1d73c0c144c0f Author: Patrick McHardy Date: Wed Jun 13 12:05:22 2007 -0700 [VLAN]: Convert name-based configuration functions to struct netdevice * Move the device lookup and checks to the ioctl handler under the RTNL and change all name-based interfaces to take a struct net_device * instead. This allows to use them from a netlink interface, which identifies devices based on ifindex not name. It also avoids races between the ioctl interface and the (upcoming) netlink interface since now all changes happen under the RTNL. As a nice side effect this greatly simplifies error handling in the helper functions and fixes a number of incorrect error codes like -EINVAL for device not found. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9ba2cd656021e7f70038ba9d551224e04d0bfcef Author: Patrick McHardy Date: Wed Jun 13 12:05:06 2007 -0700 [IFB]: Use rtnl_link API Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 62b7ffcaaa4e91ed547fc55758076ac536bd5571 Author: Patrick McHardy Date: Wed Jun 13 12:04:51 2007 -0700 [IFB]: Keep ifb devices on list Use a list instead of an array to allow creating new devices. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5d5cb173d85ebf6dfb16f456a8148ecb4b1cecbc Author: Patrick McHardy Date: Wed Jun 13 12:04:34 2007 -0700 [DUMMY]: Use rtnl_link API Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 206c9fb26f5df2ea6d440fb64159faf4d8665398 Author: Patrick McHardy Date: Wed Jun 13 12:04:20 2007 -0700 [DUMMY]: Keep dummy devices on list Use a list instead of an array to allow creating new devices. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 58651b24acfd9a6fd3b217b52e577ce34b0932af Author: Patrick McHardy Date: Wed Jun 13 12:04:06 2007 -0700 [DUMMY]: Use dev->stats Use dev->stats instead of netdev_priv(). Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 38f7b870d4a6a5d3ec21557e849620cb7d032965 Author: Patrick McHardy Date: Wed Jun 13 12:03:51 2007 -0700 [RTNETLINK]: Link creation API Add rtnetlink API for creating, changing and deleting software devices. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0157f60c0caea24fa8347f4c0ed53297c412fce1 Author: Patrick McHardy Date: Wed Jun 13 12:03:36 2007 -0700 [RTNETLINK]: Split up rtnl_setlink Split up rtnl_setlink into a function performing validation and a function performing the actual changes. This allows to share the modifcation logic with rtnl_newlink, which is introduced by the next patch. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6472ce6096bf27d85a1f2580964a36f290bd60a9 Author: Patrick McHardy Date: Wed Jun 13 12:03:21 2007 -0700 [NET]: Mark struct net_device * argument to netdev_priv const Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b3d88ad49a0623d09efcf998beb26288c8029f75 Author: Larry Finger Date: Sun Jun 10 17:57:33 2007 -0700 [MAC80211]: Add support for SIOCGIWRATE ioctl At present, transmission rate information for mac80211 is available only if verbose debugging is turned on, and then only in the logs. This patch implements the SIOCGIWRATE ioctl, which adds the current transmission rate to the output of iwconfig. Signed-off-by: Larry Finger Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 8c7b7faaa630fef7f68d8728cee1cce398cc9697 Author: David S. Miller Date: Tue Jul 10 22:08:12 2007 -0700 [NET]: Kill eth_copy_and_sum(). It hasn't "summed" anything in over 7 years, and it's just a straight mempcy ala skb_copy_to_linear_data() so just get rid of it. Signed-off-by: David S. Miller commit 8de0a15483b357d0f0b821330ec84d1660cadc4e Author: Ville Tervo Date: Wed Jul 11 09:23:41 2007 +0200 [Bluetooth] Keep rfcomm_dev on the list until it is freed This patch changes the RFCOMM TTY release process so that the TTY is kept on the list until it is really freed. A new device flag is used to keep track of released TTYs. Signed-off-by: Ville Tervo Signed-off-by: Marcel Holtmann commit a7ab4b501f9b8a9dc4d5cee542db67b6ccd1088b Author: Herbert Xu Date: Sun Jun 10 17:33:08 2007 -0700 [TCPv4]: Improve BH latency in /proc/net/tcp Currently the code for /proc/net/tcp disable BH while iterating over the entire established hash table. Even though we call cond_resched_softirq for each entry, we still won't process softirq's as regularly as we would otherwise do which results in poor performance when the system is loaded near capacity. This anomaly comes from the 2.4 code where this was all in a single function and the local_bh_disable might have made sense as a small optimisation. The cost of each local_bh_disable is so small when compared against the increased latency in keeping it disabled over a large but mostly empty TCP established hash table that we should just move it to the individual read_lock/read_unlock calls as we do in inet_diag. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit c716a81ab946c68a8d84022ee32eb14674e72650 Author: Jamal Hadi Salim Date: Sun Jun 10 17:31:24 2007 -0700 [NET_SCHED]: Cleanup readability of qdisc restart Over the years this code has gotten hairier. Resulting in many long discussions over long summer days and patches that get it wrong. This patch helps tame that code so normal people will understand it. Thanks to Thomas Graf, Peter J. waskiewicz Jr, and Patrick McHardy for their valuable reviews. Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 05646c91109bfd129361d57dc5d98464ab6f6578 Author: Allan Stephens Date: Sun Jun 10 17:25:24 2007 -0700 [TIPC]: Optimize stream send routine to avoid fragmentation This patch enhances TIPC's stream socket send routine so that it avoids transmitting data in chunks that require fragmentation and reassembly, thereby improving performance at both the sending and receiving ends of the connection. The "maximum packet size" hint that records MTU info allows the socket to decide how big a chunk it should send; in the event that the hint has become stale, fragmentation may still occur, but the data will be passed correctly and the hint will be updated in time for the following send. Note: The 66060 byte pseudo-MTU used for intra-node connections requires the send routine to perform an additional check to ensure it does not exceed TIPC"s limit of 66000 bytes of user data per chunk. Signed-off-by: Allan Stephens Signed-off-by: Jon Paul Maloy Signed-off-by: David S. Miller commit 5eee6a6dc945acc5bf4da12956b2f698bbb102b9 Author: Allan Stephens Date: Sun Jun 10 17:24:55 2007 -0700 [TIPC]: Use standard socket "not implemented" routines This patch modifies TIPC's socket API to utilize existing generic routines to indicate unsupported operations, rather than adding similar TIPC-specific routines. Signed-off-by: Allan Stephens Signed-off-by: Jon Paul Maloy Signed-off-by: David S. Miller commit f3ec75f627c746cfe460482d38a33b06a84d038f Author: Allan Stephens Date: Sun Jun 10 17:24:20 2007 -0700 [TIPC]: Improved support for Ethernet traffic filtering This patch simplifies TIPC's Ethernet receive routine to take advantage of information already present in each incoming sk_buff indicating whether the packet was explicitly sent to the interface, has been broadcast to all interfaces, or was picked up because the interface is in promiscous mode. This new approach also fixes the problem of TIPC accepting unwanted traffic through UML's multicast-based Ethernet interfaces (which deliver traffic in a promiscuous manner even if the interface is not configured to be promiscuous). Signed-off-by: Allan Stephens Signed-off-by: Jon Paul Maloy Signed-off-by: David S. Miller commit e06e7c615877026544ad7f8b309d1a3706410383 Author: David S. Miller Date: Sun Jun 10 17:22:39 2007 -0700 [IPV4]: The scheduled removal of multipath cached routing support. With help from Chris Wedgwood. Signed-off-by: David S. Miller commit 84950cf0ba02fd6a5defe2511bc41f9aa2237632 Author: Mikko Rapeli Date: Wed Jul 11 09:18:15 2007 +0200 [Bluetooth] Hangup TTY before releasing rfcomm_dev The core problem is that RFCOMM socket layer ioctl can release rfcomm_dev struct while RFCOMM TTY layer is still actively using it. Calling tty_vhangup() is needed for a synchronous hangup before rfcomm_dev is freed. Addresses the oops at http://bugzilla.kernel.org/show_bug.cgi?id=7509 Acked-by: Alan Cox Signed-off-by: Marcel Holtmann commit 924f0e4a06419fa1996425d1d2512030e43acbba Author: Robert P. J. Day Date: Wed Jul 11 09:07:07 2007 +0200 [Bluetooth] Remove the redundant non-seekable llseek method Remove the llseek method given that the open method already calls nonseekable_open(). Signed-off-by: Robert P. J. Day Signed-off-by: Marcel Holtmann commit 6164c8cd1333403a28202f7c7e64ff9086d8f1aa Author: Sean Hefty Date: Mon Jul 2 16:14:14 2007 -0700 IB/cm: Send no match if a SIDR REQ does not match a listen If a SIDR REQ does not match a listen, we should reply with status value 1 (service ID not supported), rather than dropping through to the default case of status 2 (rejected by service provider). Doing this also fixes a bug where the cm_id_priv is removed from the remote_sidr_table twice. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 29c2731cbfa9d5b560a73461775f2be03b46dd4c Author: Sean Hefty Date: Mon Jul 2 14:36:19 2007 -0700 IB/cm: Fix handling of duplicate SIDR REQs Fix handling to duplicate SIDR REQs to avoid sending a reject if a duplicate is detected. Duplicates should just be silently discarded. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 5d861be8c87b8a8f8e0f58b3b8864f31da7ee9c3 Author: Sean Hefty Date: Thu Jun 28 19:16:51 2007 -0700 IB/cm: cm_msgs.h should include ib_cm.h cm_msgs.h uses definitions from ib_cm.h. Include it directly, rather than depending on a specific include order. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 1d84612649427a85e1f311baa7215f9a6252d856 Author: Sean Hefty Date: Mon Jun 18 11:09:37 2007 -0700 IB/cm: Include HCA ACK delay in local ACK timeout The IB CM should include the HCA ACK delay when calculating the local ACK timeout value to use for RC QPs. If the HCA ACK delay is large enough relative to the packet life time, then if it is not taken into account, the calculated timeout value ends up being too small, which can result in "retry exceeded" errors. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 24be6e81c78314c91a47200272eb4bc31284bd7b Author: Sean Hefty Date: Mon Jun 18 11:09:36 2007 -0700 IB/cm: Use spin_lock_irq() instead of spin_lock_irqsave() when possible The ib_cm is a little over zealous about using spin_lock_irqsave, when spin_lock_irq would do. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 2aec5c602c6a44e2a3a173339a9ab94549658e4b Author: Sean Hefty Date: Mon Jun 18 11:03:58 2007 -0700 IB/sa: Make sure SA queries use default P_Key MADs sent to the SA should use the the default P_Key (0x7fff/0xffff). There's no requirement that the default P_Key is stored at index 0 in the local P_Key table, so add code to the sa_query module to look up the index of the default P_Key when creating an address handle for the SA (which is done any time the P_Key table might change), and use this index for all SA queries. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit babf4d42d0a41ff58463b0a0515683cdce66f541 Author: Marcel Holtmann Date: Wed Jul 11 06:42:35 2007 +0200 [Bluetooth] Use hci_recv_fragment() within HCI USB driver This patch modifies the HCI USB driver to use the new helper function for reassembling HCI data packets and events. Signed-off-by: Marcel Holtmann commit ef222013fc8c1a2fcba5c7ab169be8ffcb778ec4 Author: Marcel Holtmann Date: Wed Jul 11 06:42:04 2007 +0200 [Bluetooth] Add hci_recv_fragment() helper function Most drivers must handle fragmented HCI data packets and events. This patch adds a generic function for their reassembly to the Bluetooth core layer and thus allows to shrink the complexity of the drivers. Signed-off-by: Marcel Holtmann commit 814600ee10d3c056ada315cdbdc2ebe48f54c75a Author: Tejun Heo Date: Sun Jul 1 19:05:58 2007 +0900 libata-link: add PMP related ATA constants Add Port Multiplier related ATA constants and macros. Some of these will be used by ata_link implementation. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit fee7ca72d3dae1078031b6fd272b9930f43bd3d1 Author: Tejun Heo Date: Sun Jul 1 19:05:58 2007 +0900 libata-link: separate out ata_eh_handle_dev_fail() Separate out ata_eh_handle_dev_fail() from ata_eh_recover(). This is in preparation of ata_link and PMP support. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 790956e7bbf0a7b73e72b04d3bd63d974c7e29bb Author: Jeff Garzik Date: Tue Jul 10 21:36:13 2007 -0400 pata_hpt3x3: fix DMA Kconfig option to actually have a hope of working The hook that set DMA mode was accidentally deleted in the original patch. Signed-off-by: Jeff Garzik commit 2f8d90ab797682ab51b27748b960aec8aa42892f Author: Prarit Bhargava Date: Tue Jul 10 18:13:28 2007 -0400 Add Hitachi HDS7250SASUN500G 0621KTAWSD to NCQ blacklist Add Hitachi HDS7250SASUN500G 0621KTAWSD to list of devices with broken NCQ. Signed-off-by: Prarit Bhargava Signed-off-by: Jeff Garzik commit fae57d348379861f115fe1e586a1e0902b71ae9e Author: Akira Iguchi Date: Tue Jul 10 18:29:34 2007 +0900 pata_scc.c: Workaround for errata A308 Workaround for errata A308: turn down the UDMA mode and retry the DMA command when the data lost condition is detected. Signed-off-by: Kou Ishizaki Signed-off-by: Akira Iguchi Signed-off-by: Jeff Garzik commit a520f2614690b8d3a7b431a1d8a40ea6a04d4827 Author: Tejun Heo Date: Tue Jul 10 16:16:18 2007 +0900 libata: add FUJITSU MHV2080BH to NCQ blacklist Please warmly welcome the first member from FUJITSU to the prestigious NCQ spurious completion club. This is reported by Serge Van Thillo in bugzilla bug 8730. http://bugzilla.kernel.org/show_bug.cgi?id=8730 Signed-off-by: Tejun Heo Cc: Serge van Thillo Signed-off-by: Jeff Garzik commit 66e7da4e34610e84bdb1bf726031d6c4c88cbbf9 Author: Alan Cox Date: Mon Jul 9 11:46:22 2007 -0700 pata_hpt3x3: major reworking and testing The HPT343/345 (aka 363) is a bit of a warped device. For many setups you need to access the other registers via BAR4 offsets. PIO is now rock solid, DMA isn't. Unfortunately the drivers/ide hpt34x driver is completely broken so doesn't help further debug. Signed-off-by: Alan Cox Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 75683fe7153c3817bb4fd4491e2a5913af6c463e Author: Tejun Heo Date: Thu Jul 5 13:31:27 2007 +0900 libata: clean up horkage handling Horkage handling had the following problems. * dev->horkage was positioned after ATA_DEVICE_CLEAR_OFFSET, so it was cleared before the device is configured. This broke HORKAGE_DIAGNOSTIC. * Some used dev->horkage while others called ata_device_blacklisted() directly. This was at best confusing. This patch moves dev->horkage right after dev->flags and set the field according to the blacklist during device configuration. All users test against dev->horkage. ata_device_blacklisted() now has only one user, make it static. While at it, rename it to ata_dev_blacklisted() for consistency. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 39ce7128066f2ac5954bcda9f07f429f28166da3 Author: Tejun Heo Date: Thu Jul 5 12:31:31 2007 +0900 libata: quirk IOMEGA ZIP 250 ATAPI FLOPPY The Zip 250 which chokes on MWDMA SET_XFERMODE sometimes have "Floppy" appeneded to its model number. Quirk it too. http://bugzilla.kernel.org/show_bug.cgi?id=8563 Signed-off-by: Tejun Heo Cc: Hans de Bruin Signed-off-by: Jeff Garzik commit d583bc18812f8da52bf25eef9cd111e5fd46a6ab Author: Tejun Heo Date: Wed Jul 4 18:02:07 2007 +0900 libata: simplify PCI legacy SFF host handling With PCI resource fix up for legacy hosts. We can use the same code path to allocate IO resources and initialize host for both legacy and native SFF hosts. Only IRQ requesting needs to be different. Rename ata_pci_*_native_host() to ata_pci_*_sff_host(), kill all legacy specific functions and use the renamed functions instead. This simplifies code a lot. Signed-off-by: Tejun Heo Cc: Alan Cox Signed-off-by: Jeff Garzik commit 35142ddbf7d81ff3f1d9521611e734b8d5014df2 Author: Domen Puncer Date: Tue Jul 3 10:27:38 2007 +0200 pata_mpc52xx: suspend/resume support Implement suspend and resume routines for mpc52xx ata driver. Tested on Lite5200b with deep-sleep and low-power (not yet in-tree) modes. Signed-off-by: Domen Puncer Signed-off-by: Jeff Garzik commit a77720ad0a4049e4bc6355e4febf899966a48222 Author: Mikael Pettersson Date: Tue Jul 3 01:09:05 2007 +0200 sata_promise: SATA hotplug support, take 2 This patch enables hotplugging of SATA devices in the sata_promise driver. It's been tested successfully on both first- and second-generation Promise SATA chips: SATA150 TX2plus, SATAII150 TX2plus, SATAII150 TX4, SATA300 TX2plus, and SATA300 TX4. The only quirk I've seen is that hotplugging (insertion) on the first-generation SATA150 TX2plus requires a lengthier EH sequence than on the second-generation chips. On the second-generation chips a simple soft reset seems to suffice, but on the first-generation chip there's a "port is slow to respond" after the initial soft reset, after which libata issues a hard reset, and then the device is recognised. The hotplug checks are high up in the interrupt handling path, not deep down in error_intr as in ahci/sata_sil24. That's because the chip doesn't signal hotplug status changes in the per-port status register: instead a global register contains hotplug control and status flags for all ports. I considered following the ahci/sata_sil24 structure, but that would have required non-trivial changes to the interrupt handling path, so I chose to keep the hotplug changes simple and unobtrusive. Signed-off-by: Mikael Pettersson -- This patch depends on the "sata_promise: cleanups" patch. Changes since the previous version (posted June 19): - Correct pdc_interrupt() to increment 'handled' also in the hotplug case. This prevents IRQ_NONE from being returned when an interrupt only has hotplug events to handle, which could confuse the kernel's IRQ machinery. - Added testing on the SATAII150 TX4. drivers/ata/sata_promise.c | 41 ++++++++++++++++++++++++++++++++++++----- 1 files changed, 36 insertions(+), 5 deletions(-) Signed-off-by: Jeff Garzik commit 15ce09432a4399e61b57f2ceb564522d6534c15f Author: Alan Cox Date: Fri May 25 20:50:24 2007 +0100 pata_sis: FIFO whack If you are using a SiS controller and the BIOS didn't set it up then the FIFO may be left active when we try and set up the CD. Not convinced this matters but I'd prefer to be safe Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 45a66c1c3ff88e8050dd25e81bafdf79a12a8042 Author: Oleg Nesterov Date: Mon Jul 9 11:46:13 2007 -0700 libata-core: convert to use cancel_rearming_delayed_work() We should not use cancel_work_sync(delayed_work->work). This works, but not good. We can use cancel_rearming_delayed_work(), this also simplifies the code. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 4eb6bf6bfb580afaf1e1a1d30cba17a078530cf4 Author: Alan Cox Date: Tue Jul 10 17:22:27 2007 -0700 lots-of-architectures: enable arbitary speed tty support Add the termios2 structure ready for enabling on most platforms. One or two like Sparc are plain weird so have been left alone. Most can use the same structure as ktermios for termios2 (ie the newer ioctl uses the structure matching the current kernel structure) Signed-off-by: Alan Cox Cc: Bryan Wu Cc: Ian Molton Cc: Haavard Skinnemoen Cc: Yoshinori Sato Cc: Mikael Starvik Cc: David Howells Cc: "Luck, Tony" Cc: Hirokazu Takata Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: Ralf Baechle Cc: Kyle McMartin Cc: Matthew Wilcox Cc: Heiko Carstens Cc: Martin Schwidefsky Cc: Paul Mundt Cc: Kazumoto Kojima Cc: Richard Curnow Cc: Miles Bader Cc: Chris Zankel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bcf67e16251c42302499499b1c50f7d35622f564 Author: Pavel Emelianov Date: Tue Jul 10 17:22:26 2007 -0700 Make common helpers for seq_files that work with list_heads Many places in kernel use seq_file API to iterate over a regular list_head. The code for such iteration is identical in all the places, so it's worth introducing a common helpers. This makes code about 300 lines smaller: The first version of this patch made the helper functions static inline in the seq_file.h header. This patch moves them to the fs/seq_file.c as Andrew proposed. The vmlinux .text section sizes are as follows: 2.6.22-rc1-mm1: 0x001794d5 with the previous version: 0x00179505 with this patch: 0x00179135 The config file used was make allnoconfig with the "y" inclusion of all the possible options to make the files modified by the patch compile plus drivers I have on the test node. This patch: Many places in kernel use seq_file API to iterate over a regular list_head. The code for such iteration is identical in all the places, so it's worth introducing a common helpers. Signed-off-by: Pavel Emelianov Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c14d444b55f285063a4018c10d521614b70b581a Author: Jiri Slaby Date: Tue Jul 10 17:22:25 2007 -0700 sx: switch subven and subid values sx.c is failing to locate Graham's card. Signed-off-by: Jiri Slaby Cc: Graham Murray Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 64c70b1cf43de158282bc1675918d503e5b15cc1 Author: Richard Purdie Date: Tue Jul 10 17:22:24 2007 -0700 Add LZO1X algorithm to the kernel This is a hybrid version of the patch to add the LZO1X compression algorithm to the kernel. Nitin and myself have merged the best parts of the various patches to form this version which we're both happy with (and are jointly signing off). The performance of this version is equivalent to the original minilzo code it was based on. Bytecode comparisons have also been made on ARM, i386 and x86_64 with favourable results. There are several users of LZO lined up including jffs2, crypto and reiser4 since its much faster than zlib. Signed-off-by: Nitin Gupta Signed-off-by: Richard Purdie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c75f7416f51b0c6855952467a5db04f9c598f09 Merge: 6ed911f... ed99c54... Author: Linus Torvalds Date: Tue Jul 10 14:57:52 2007 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc: mmc: at91_mci: fix hanging and rework to match flowcharts mmc: at91_mci typo sdhci: Fix "Unexpected interrupt" handling mmc: fix silly copy-and-paste error mmc: move layer init and workqueue to core file mmc: refactor host class handling mmc: refactor bus operations sdhci: add ene controller id mmc: bounce requests for simple hosts commit 6ed911fb04886c5510a41cd89203b931b1c5d261 Merge: 64b853a... 4ad072c... Author: Linus Torvalds Date: Tue Jul 10 14:56:22 2007 -0700 Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (40 commits) bonding/bond_main.c: make 2 functions static ps3: gigabit ethernet driver for PS3, take3 [netdrvr] Fix dependencies for ax88796 ne2k clone driver eHEA: Capability flag for DLPAR support Remove sk98lin ethernet driver. sunhme.c:quattro_pci_find() must be __devinit bonding / ipv6: no addrconf for slaves separately from master atl1: remove write-only var in tx handler macmace: use "unsigned long flags;" Cleanup usbnet_probe() return value handling netxen: deinline and sparse fix eeprom_93cx6: shorten pulse timing to match spec (bis) phylib: Add Marvell 88E1112 phy id phylib: cleanup marvell.c a bit AX88796 network driver IOC3: Switch to pci refcounting safe APIs e100: Fix Tyan motherboard e100 not receiving IPMI commands QE Ethernet driver writes to wrong register to mask interrupts rrunner.c:rr_init() must be __devinit tokenring/3c359.c:xl_init() must be __devinit ... commit 64b853aa328f34dd58e4e617cded91e2ddbcac13 Merge: 0f16639... c1e4fe7... Author: Linus Torvalds Date: Tue Jul 10 14:50:16 2007 -0700 Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: (32 commits) [libata] sata_mv: print out additional chip info during probe [libata] Use ATA_UDMAx standard masks when filling driver's udma_mask info [libata] AHCI: Add support for Marvell AHCI-like chips (initially 6145) [libata] Clean up driver udma_mask initializers libata: Support chips with 64K PRD quirk Add a PCI ID for santa rosa's PATA controller. sata_sil24: sil24_interrupt() micro-optimisation Add irq_flags to struct pata_platform_info sata_promise: cleanups [libata] pata_ixp4xx: kill unused var ata_piix: fix pio/mwdma programming [libata] ahci: minor internal cleanups [ATA] Add named constant for ATAPI command DEVICE RESET [libata] sata_sx4, sata_via: minor documentation updates [libata] ahci: minor internal cleanups [libata] ahci: Factor out SATA port init into a separate function [libata] pata_sil680: minor cleanups from benh [libata] sata_sx4: named constant cleanup [libata] pata_ixp4xx: convert to new EH [libata] pdc_adma: Reorder initializers with a couple structs ... commit 0f166396e7e8931bb4acfd1a6ea1bd4f0b43f1dd Merge: 5f60cfd... 105b1bc... Author: Linus Torvalds Date: Tue Jul 10 14:48:43 2007 -0700 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (62 commits) [MIPS] PNX8550: Cleanup proc code. [MIPS] WRPPMC: Fix build. [MIPS] Yosemite: Fix modpost warnings. [MIPS] Change names of local variables to silence sparse [MIPS] SB1: Fix modpost warning. [MIPS] PNX: Fix modpost warnings. [MIPS] Alchemy: Fix modpost warnings. [MIPS] Non-FPAFF: Fix warning. [MIPS] DEC: Fix modpost warning. [MIPS] MIPSsim: Enable MIPSsim virtual network driver. [MIPS] Delete Ocelot 3 support. [MIPS] remove LASAT Networks platforms support [MIPS] Early check for SMTC kernel on non-MT processor [MIPS] Add debugfs files to show fpuemu statistics [MIPS] Add some debugfs files to debug unaligned accesses [MIPS] rbtx4938: Fix secondary PCIC and glue internal NICs [MIPS] tc35815: Load MAC address via platform_device [MIPS] Move FPU affinity code into separate file. [MIPS] Make ioremap() work on TX39/49 special unmapped segment [MIPS] rbtx4938: Update and minimize defconfig ... commit 5f60cfd932b42c69ed3226400cb5eab152576c3a Merge: 9f9d763... d7ce6d1... Author: Linus Torvalds Date: Tue Jul 10 14:47:59 2007 -0700 Merge git://git.infradead.org/~dwmw2/battery-2.6 * git://git.infradead.org/~dwmw2/battery-2.6: [BATTERY] ds2760 W1 slave [BATTERY] One Laptop Per Child power/battery driver [BATTERY] Apple PMU driver [BATTERY] 1-Wire ds2760 chip battery driver [BATTERY] APM emulation driver for class batteries [BATTERY] pda_power platform driver [BATTERY] Universal power supply class (was: battery class) commit 9f9d76321659b5ebc9939101481f7c3ce228ea6e Merge: 1b21f45... f60d891... Author: Linus Torvalds Date: Tue Jul 10 14:46:09 2007 -0700 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: [S390] vmlogrdr function annotation. [S390] s390: rename CPU_IDLE to S390_CPU_IDLE [S390] cio: Remove prototype for non-existing function cmf_reset(). [S390] zcrypt: fix request timeout handling [S390] system call optimization. [S390] dasd: Avoid compile warnings on !CONFIG_DASD_PROFILE [S390] Remove volatile from atomic_t [S390] Program check in diag 210 under 31 bit [S390] Bogomips calculation for 64 bit. [S390] smp: Merge smp_count_cpus() and smp_get_save_areas(). [S390] zcore: Fix __user annotation. [S390] fixed cdl-format detection. [S390] sclp: Test facility list before executing a service call. [S390] sclp: introduce some new interfaces. [S390] Fixed comment typo. [S390] vmcp cleanup commit 1b21f458ddbc8fb6fceeb68158e9e04b2571dabd Merge: 01370f0... 3ebf449... Author: Linus Torvalds Date: Tue Jul 10 13:56:13 2007 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: (57 commits) [GFS2] Accept old format NFS filehandles [GFS2] Small fixes to logging code [DLM] dump more lock values [GFS2] Remove i_mode passing from NFS File Handle [GFS2] Obtaining no_formal_ino from directory entry [GFS2] git-gfs2-nmw-build-fix [GFS2] System won't suspend with GFS2 file system mounted [GFS2] remounting w/o acl option leaves acls enabled [GFS2] inode size inconsistency [DLM] Telnet to port 21064 can stop all lockspaces [GFS2] Fix gfs2_block_truncate_page err return [GFS2] Addendum to the journaled file/unmount patch [GFS2] Simplify multiple glock aquisition [GFS2] assertion failure after writing to journaled file, umount [GFS2] Use zero_user_page() in stuffed_readpage() [GFS2] Remove bogus '\0' in rgrp.c [GFS2] Journaled file write/unstuff bug [DLM] don't require FS flag on all nodes [GFS2] Fix deallocation issues [GFS2] return conflicts for GETLK ... commit 01370f0603f8435d415a19f7e62d1bab826c3589 Merge: 5cbc39a... 0845718... Author: Linus Torvalds Date: Tue Jul 10 13:51:06 2007 -0700 Merge branch 'splice-2.6.23' of git://git.kernel.dk/data/git/linux-2.6-block * 'splice-2.6.23' of git://git.kernel.dk/data/git/linux-2.6-block: pipe: add documentation and comments pipe: change the ->pin() operation to ->confirm() Remove remnants of sendfile() xip sendfile removal splice: completely document external interface with kerneldoc sendfile: remove bad_sendfile() from bad_file_ops shmem: convert to using splice instead of sendfile() relay: use splice_to_pipe() instead of open-coding the pipe loop pipe: allow passing around of ops private pointer splice: divorce the splice structure/function definitions from the pipe header splice: relay support sendfile: convert nfsd to splice_direct_to_actor() sendfile: convert nfs to using splice_read() loop: convert to using splice_direct_to_actor() instead of sendfile() splice: add void cookie to the actor data sendfile: kill generic_file_sendfile() sendfile: remove .sendfile from filesystems that use generic_file_sendfile() sys_sendfile: switch to using ->splice_read, if available vmsplice: add vmsplice-to-user support splice: abstract out actor data commit 5cbc39a726eafa1198c18adb3cf56ccee371dba1 Merge: 65f88f8... c0613c1... Author: Linus Torvalds Date: Tue Jul 10 13:49:46 2007 -0700 Merge branch 'trivial-2.6.23' of git://git.kernel.dk/data/git/linux-2.6-block * 'trivial-2.6.23' of git://git.kernel.dk/data/git/linux-2.6-block: Documentation/block/barrier.txt is not in sync with the actual code: - blk_queue_ordered() no longer has a gfp_mask parameter - blk_queue_ordered_locked() no longer exists - sd_prepare_flush() looks slightly different Use list_for_each_entry() instead of list_for_each() in the block device Make a "menuconfig" out of the Kconfig objects "menu, ..., endmenu", block/Kconfig already has its own "menuconfig" so remove these Use menuconfigs instead of menus, so the whole menu can be disabled at once cfq-iosched: fix async queue behaviour unexport bio_{,un}map_user Remove legacy CDROM drivers [PATCH] fix request->cmd == INT cases cciss: add new controller support for P700m [PATCH] Remove acsi.c [BLOCK] drop unnecessary bvec rewinding from flush_dry_bio_endio [PATCH] cdrom_sysctl_info fix blk_hw_contig_segment(): bad segment size checks [TRIVIAL PATCH] Kill blk_congestion_wait() stub for !CONFIG_BLOCK commit 1b844afe9e67d6cd441ae6df71051b4004f31dd2 Author: Roland Dreier Date: Tue Jul 10 13:43:53 2007 -0700 IPoIB: Recycle loopback skbs instead of freeing and reallocating InfiniBand HCAs replicate multicast packets back to the QP that sent them if that QP is attached to the destination multicast group. This means that IPoIB multicasts are often replicated back to the receive queue of the interface that generated them. To avoid confusing the network stack, we drop these duplicates within the IPoIB driver. However, there's no reason to free the skb that received the duplicate and then immediately allocate a new skb to post to the receive queue. We can be more efficient and just repost the same skb. Signed-off-by: Roland Dreier commit 8909c571fa1e62e254c4045394e6eaccfadec6f4 Author: Shani Moideen Date: Mon Jun 18 08:46:41 2007 +0530 IB/mthca: Replace memset(, 0, PAGE_SIZE) with clear_page() Signed-off-by: Shani Moideen Signed-off-by: Roland Dreier ---- commit 4ad072c984ebe329c99965ddd1e58b0bb24af12b Author: Adrian Bunk Date: Mon Jul 9 11:51:12 2007 -0700 bonding/bond_main.c: make 2 functions static Signed-off-by: Adrian Bunk Cc: Chad Tindel Cc: Jay Vosburgh Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 20089ca55786a243c7b72becd1bf670f4e2c2028 Author: Roland Dreier Date: Tue Jul 10 11:18:34 2007 -0700 IPoIB/cm: Fix warning if IPV6 is not enabled Fix drivers/infiniband/ulp/ipoib/ipoib_cm.c:1151: warning: unused variable 'dev' by getting rid of the variable dev, which is only used if CONFIG_IPV6 is enabled, and replacing the one use of it with the value it is assigned, namely priv->dev. Signed-off-by: Roland Dreier commit 02c1889166b47b9ade309a8f4b7c4ddf0489d869 Author: Masakazu Mokuno Date: Thu Jul 5 20:11:16 2007 +0900 ps3: gigabit ethernet driver for PS3, take3 Hi, This is the third submission of the network driver for PS3. The differences from the previous one are: - renamed source file names so that their prefix can match with the module name - added cbe-oss-dev@ozlabs.org line for MAINTAINER file - changed some in copyright comments If there are no more comments, please apply for 2.6.23. Thank you -- Subject: PS3: Ethernet driver From: Masakazu Mokuno Add Gigabit Ethernet support for the PS3 game console. The module will be called ps3_gelic. CC: Geoff Levand Signed-off-by: Masakazu Mokuno Signed-off-by: Jeff Garzik commit def47c5095d53814512bb0c62ec02dfdec769db1 Author: Jeff Garzik Date: Tue Jul 10 14:06:48 2007 -0400 [netdrvr] Fix dependencies for ax88796 ne2k clone driver It needs writesb(), not available on all platforms. Signed-off-by: Jeff Garzik commit 856c52a741950dc0be2c5c231efec626e9a0a3fa Author: Dotan Barak Date: Tue Jul 10 16:55:57 2007 +0300 IB/core: Take sizeof the correct pointer when calling kmalloc() When allocating out_mad in show_pma_counter(), take sizeof *out_mad instead of sizeof *in_mad. It is true that today the type of in_mad and out_mad are the same, but this patch will give us a cleaner code. Signed-off-by: Dotan Barak Signed-off-by: Roland Dreier commit 4c3ca4da8086c3c9fcc81dccc387c34bee6b755e Author: Jan-Bernd Themann Date: Thu Jul 5 09:26:25 2007 +0200 eHEA: Capability flag for DLPAR support This patch introduces a capability flag that is used by the DLPAR userspace tool to check which DLPAR features are supported by the eHEA driver. Missing goto has been included. Signed-off-by: Jan-Bernd Themann Signed-off-by: Jeff Garzik commit e1abecc48938fbe1966ea6e78267fc673fa59295 Author: Jeff Garzik Date: Tue Jul 10 12:58:33 2007 -0400 Remove sk98lin ethernet driver. Unmaintained, superceded by skge. Prodded to deletion by Adrian Bunk. Acked by Stephen Hemminger. Signed-off-by: Jeff Garzik commit cd6f5b8051efe03b90a1dd6d63a642f78ec4e60d Author: Adrian Bunk Date: Tue Jul 10 14:44:49 2007 +0200 sunhme.c:quattro_pci_find() must be __devinit This patch fixes the following section mismatch: <-- snip --> ... MODPOST vmlinux WARNING: drivers/built-in.o(.text+0x272f8b): Section mismatch: reference to .init.text:quattro_pci_find (between 'happy_meal_pci_probe' and 'happy_meal_pci_remove') ... <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit c2edacf80e155ef54ae4774379d461b60896bc2e Author: Jay Vosburgh Date: Mon Jul 9 10:42:47 2007 -0700 bonding / ipv6: no addrconf for slaves separately from master At present, when a device is enslaved to bonding, if ipv6 is active then addrconf will be initated on the slave (because it is closed then opened during the enslavement processing). This causes DAD and RS packets to be sent from the slave. These packets in turn can confuse switches that perform ipv6 snooping, causing them to incorrectly update their forwarding tables (if, e.g., the slave being added is an inactve backup that won't be used right away) and direct traffic away from the active slave to a backup slave (where the incoming packets will be dropped). This patch alters the behavior so that addrconf will only run on the master device itself. I believe this is logically correct, as it prevents slaves from having an IPv6 identity independent from the master. This is consistent with the IPv4 behavior for bonding. This is accomplished by (a) having bonding set IFF_SLAVE sooner in the enslavement processing than currently occurs (before open, not after), and (b) having ipv6 addrconf ignore UP and CHANGE events on slave devices. The eql driver also uses the IFF_SLAVE flag. I inspected eql, and I believe this change is reasonable for its usage of IFF_SLAVE, but I did not test it. Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 89c0d26be7037cd5bbce3bbf12580ba70ed8f382 Author: Alexey Dobriyan Date: Fri Jul 6 19:05:25 2007 +0400 atl1: remove write-only var in tx handler Signed-off-by: Alexey Dobriyan Signed-off-by: Jeff Garzik commit 099575b6cb7eaf18211ba72de56264f67651b90b Author: Alexey Dobriyan Date: Fri Jul 6 18:57:13 2007 +0400 macmace: use "unsigned long flags;" Code will do local_irq_save() on it. Signed-off-by: Alexey Dobriyan Signed-off-by: Jeff Garzik commit 9514bfe5d92000a9fd6f3c44aa775819b5d78aaf Author: Peter Korsgaard Date: Tue Jul 3 00:46:42 2007 +0200 Cleanup usbnet_probe() return value handling usbnet_probe() handles a positive return value from the driver bind() function as success, but will later only setup the status handler if the return value was zero, leading to confusion. Patch adjusts this to accept positive values as success in both checks. Signed-off-by: Peter Korsgaard Signed-off-by: Jeff Garzik commit 4638aef1e2d8d938e52cd49f6492e9d414b38380 Author: Stephen Hemminger Date: Thu Jul 5 16:13:55 2007 -0700 netxen: deinline and sparse fix Get rid of dubious casts to (void *) which causes a sparse warning. And move largeish function from inline to the one file that uses the code, the compiler can then decide to inline it. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 8abd531e3f77188de2fc41e677d075cc66e61631 Author: Francois Romieu Date: Wed Jul 4 00:31:44 2007 +0200 eeprom_93cx6: shorten pulse timing to match spec (bis) Based on an original idea by John W. Linville. It is the missing part of 42d45ccd60636c28e35c2016f091783bc14ad99c Signed-off-by: Francois Romieu Signed-off-by: Jeff Garzik commit 85cfb534280dd6a7c7ac399bb2888e1b8b286ece Author: Olof Johansson Date: Tue Jul 3 16:24:32 2007 -0500 phylib: Add Marvell 88E1112 phy id Add 88E1112 PHY ID to the marvell driver. Seems to do fine with the 88E1111 inits. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit e54792396fb658b97e2f7b0541c6334020e1a3ec Author: Olof Johansson Date: Tue Jul 3 16:23:46 2007 -0500 phylib: cleanup marvell.c a bit Simplify the marvell driver init a bit: Make the supported devices an array instead of explicitly registering each structure. This makes it considerably easier to add new devices down the road. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 825a2ff1896ec3ead94bebef60c71f57254da58a Author: Ben Dooks Date: Tue Jul 3 16:53:09 2007 +0100 AX88796 network driver Support for the Asix AX88796 network controller, an NE2000 compatible 10/100 ethernet device with internal PHY. The driver supports PHY settings via either ioctl() or the ethtool driver ops. Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit 105b1bca4d7bed85bb296f7e7caec2fc643e9fbf Author: Robert P. J. Day Date: Tue Jul 10 06:37:56 2007 -0400 [MIPS] PNX8550: Cleanup proc code. Here's a slightly cleaner way of creating the /proc structure for the pnx8850. mostly, it creates a directory with default mode 555, since the one you're creating is mode 444, which is somewhat unusual for a directory under /proc. Signed-off-by: Ralf Baechle commit 569fb7536ea66e3364a8ff0b26598c6c9874d657 Author: Ralf Baechle Date: Tue Jul 10 16:56:33 2007 +0100 [MIPS] WRPPMC: Fix build. Using another systems defines is a safe way to get your code broken by accident when that system is removed. Signed-off-by: Ralf Baechle commit 44659f29a0a26dcdbf516a82b0ff96d6ba464724 Author: Ralf Baechle Date: Tue Jul 10 16:31:19 2007 +0100 [MIPS] Yosemite: Fix modpost warnings. MODPOST vmlinux WARNING: arch/mips/pmc-sierra/yosemite/built-in.o(.text+0x974): Section mismatch: reference to .init.data: (between 'prom_boot_secondary' and 'prom_cpus_done') WARNING: arch/mips/pmc-sierra/yosemite/built-in.o(.text+0x980): Section mismatch: reference to .init.data: (between 'prom_boot_secondary' and 'prom_cpus_done') WARNING: arch/mips/pmc-sierra/yosemite/built-in.o(.text+0x978): Section mismatch: reference to .init.data: (between 'prom_boot_secondary' and 'prom_cpus_done') WARNING: arch/mips/pmc-sierra/yosemite/built-in.o(.text+0x984): Section mismatch: reference to .init.data: (between 'prom_boot_secondary' and 'prom_cpus_done') WARNING: arch/mips/pmc-sierra/yosemite/built-in.o(.text+0x98c): Section mismatch: reference to .init.data: (between 'prom_boot_secondary' and 'prom_cpus_done') WARNING: arch/mips/pmc-sierra/yosemite/built-in.o(.text+0x990): Section mismatch: reference to .init.data: (between 'prom_boot_secondary' and 'prom_cpus_done') Signed-off-by: Ralf Baechle commit 7e95a016f844fc660bf80065413998a784a78988 Author: Atsushi Nemoto Date: Wed Jul 11 00:24:14 2007 +0900 [MIPS] Change names of local variables to silence sparse This patch is an workaround for these sparse warnings: linux/include/linux/calc64.h:25:17: warning: symbol '__quot' shadows an earlier one linux/include/linux/calc64.h:25:17: originally declared here linux/include/linux/calc64.h:25:17: warning: symbol '__mod' shadows an earlier one linux/include/linux/calc64.h:25:17: originally declared here Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 62b396358e837549f20068ed9c3d2bcf99d9ad2d Author: Ralf Baechle Date: Tue Jul 10 16:10:56 2007 +0100 [MIPS] SB1: Fix modpost warning. MODPOST vmlinux WARNING: arch/mips/mm/built-in.o(.text+0x1978): Section mismatch: reference to .init.text:except_vec2_sb1 (between 'sb1_cache_init' and 'sb1_flush_cache_sigtramp') WARNING: arch/mips/mm/built-in.o(.text+0x1988): Section mismatch: reference to .init.text:except_vec2_sb1 (between 'sb1_cache_init' and 'sb1_flush_cache_sigtramp') Signed-off-by: Ralf Baechle commit f2c4b47f26c9d3ba32fb51e574d8cacce30f744d Author: Ralf Baechle Date: Tue Jul 10 15:04:06 2007 +0100 [MIPS] PNX: Fix modpost warnings. MODPOST vmlinux WARNING: arch/mips/philips/pnx8550/common/built-in.o(.text+0xd40): Section mismatch: reference to .init.data: (after 'pnx8550_platform_init') WARNING: arch/mips/philips/pnx8550/common/built-in.o(.text+0xd44): Section mismatch: reference to .init.data: (after 'pnx8550_platform_init') Signed-off-by: Ralf Baechle commit 070c7b8611e852099370b17eaeb470407cb80ffe Author: Ralf Baechle Date: Tue Jul 10 09:35:12 2007 +0100 [MIPS] Alchemy: Fix modpost warnings. MODPOST vmlinux WARNING: arch/mips/au1000/common/built-in.o(.text+0x1750): Section mismatch: reference to .init.data: (between 'au1xxx_platform_init' and '__fixup_bigphys_addr') WARNING: arch/mips/au1000/common/built-in.o(.text+0x1754): Section mismatch: reference to .init.data: (between 'au1xxx_platform_init' and '__fixup_bigphys_addr') Signed-off-by: Ralf Baechle commit 35c700c0955c43e168c45d375f90a0670be8f054 Author: Ralf Baechle Date: Tue Jul 10 08:59:17 2007 +0100 [MIPS] Non-FPAFF: Fix warning. Signed-off-by: Ralf Baechle commit bf74b964775009071cf12f9d59d4dd5e388fbe0b Author: Ralf Baechle Date: Tue Jul 10 08:14:15 2007 +0100 [MIPS] DEC: Fix modpost warning. LD vmlinux SYSMAP System.map SYSMAP .tmp_System.map MODPOST vmlinux WARNING: drivers/built-in.o(.data+0x2480): Section mismatch: reference to .init.text: (between 'sercons' and 'ds_parms') Signed-off-by: Ralf Baechle commit 46cc84bf412f95610b25e59d575aada6a5512f3a Author: Ralf Baechle Date: Mon Jul 9 19:20:20 2007 +0100 [MIPS] MIPSsim: Enable MIPSsim virtual network driver. Signed-off-by: Ralf Baechle commit 688b3d720820a9e3e2e9d5882be64a28f649e206 Author: Ralf Baechle Date: Mon Jul 9 16:29:16 2007 +0100 [MIPS] Delete Ocelot 3 support. Signed-off-by: Ralf Baechle commit c99cabf034d42c9e4a9c1ed9dfd26411b2fb9b57 Author: Yoichi Yuasa Date: Mon Jul 9 13:10:55 2007 +0900 [MIPS] remove LASAT Networks platforms support Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit ecd27b92fbb41f779d857632a69bd45dbaf0f915 Author: Chris Dearman Date: Fri Jul 6 17:11:20 2007 +0100 [MIPS] Early check for SMTC kernel on non-MT processor Signed-off-by: Chris Dearman Signed-off-by: Ralf Baechle commit 83fd38cabc982db041d3586a15734713f45caa31 Author: Atsushi Nemoto Date: Sat Jul 7 23:21:49 2007 +0900 [MIPS] Add debugfs files to show fpuemu statistics Export contents of struct mips_fpu_emulator_stats via debugfs. There is no way to read these statistics for now but they (at least the "emulated" count) might be sometimes useful for performance tuning on FPU-less CPUs. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 6312e0ee45236b6882cd26b2ccc167b1b91646fc Author: Atsushi Nemoto Date: Sat Jun 30 00:55:48 2007 +0900 [MIPS] Add some debugfs files to debug unaligned accesses Currently a number of unaligned instructions is counted but not used. Add /debug/mips/unaligned_instructions file to show the value. And add /debug/mips/unaligned_action to control behavior upon an unaligned access. Possible actions are: 0: silently fixup the unaligned access. 1: send SIGBUS. 2: dump registers, process name, etc. and fixup. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 2db30150fe4fe309c57087c661209c9ea0b5c21b Author: Atsushi Nemoto Date: Mon Jul 2 22:43:06 2007 +0900 [MIPS] rbtx4938: Fix secondary PCIC and glue internal NICs * Fix pci ops for secondary PCIC * Do not reserve 1MB for PCI MEM region (leave PCIBIOS_MIN_MEM zero) * Use platform_device to provide ethernet addresses for internal NICs. (background: TX49XX SoCs include PCI NIC (TC35815 compatible) connected via its internal PCI bus, but the NIC's PROM interface is not connected to SEEPROM. So we must provide its ethernet address by another way.) * Check return value of early_read_config_word() Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit bd43da8ff130caf31fff0482a75660507a26b641 Author: Atsushi Nemoto Date: Fri Jun 29 22:34:53 2007 +0900 [MIPS] tc35815: Load MAC address via platform_device TX49XX SoCs include PCI NIC (TC35815 compatible) connected via its internal PCI bus, but the NIC's PROM interface is not connected to SEEPROM. So we must provide its ethernet address by another way. Signed-off-by: Atsushi Nemoto Acked-by: Jeff Garzik Signed-off-by: Ralf Baechle commit 295cbf6d63165fe4253cf1d9ceadcda47a318b48 Author: Ralf Baechle Date: Tue Jul 3 14:37:43 2007 +0100 [MIPS] Move FPU affinity code into separate file. Gets rid of some of the CONFIG_MIPS_MT_FPAFF #ifdefery. Signed-off-by: Ralf Baechle commit 5ddcb3c35be995517a32799796e2acda90a784e0 Author: Atsushi Nemoto Date: Tue Jun 26 01:14:01 2007 +0900 [MIPS] Make ioremap() work on TX39/49 special unmapped segment TX39XX and TX49XX have "reserved" segment in CKSEG3 area. 0xff000000-0xff3fffff on TX49XX and 0xff000000-0xfffeffff on TX39XX are reserved (unmapped, uncached). Controllers on these SoCs are placed in this segment. This patch add plat_ioremap() and plat_iounmap() to override default behavior and implement these hooks for TX39/TX49. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit bb33b19ff92aed11fb56435be4c5d5231598a948 Author: Atsushi Nemoto Date: Fri Jun 22 23:22:29 2007 +0900 [MIPS] rbtx4938: Update and minimize defconfig Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit f74cf6ff99a49741b0f243996b621777b2d610d4 Author: Atsushi Nemoto Date: Fri Jun 22 23:22:06 2007 +0900 [MIPS] rbtx4938: Convert SPI codes to use generic SPI drivers Use rtc-rs5c348 and at25 spi protocol driver and spi_txx9 spi controller driver instead of platform dependent codes. This patch also removes dependencies to old RTC interfaces such as rtc_mips_get_time, etc. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 3896b05418b9b8548a678231db754206b3ebe56e Author: Atsushi Nemoto Date: Fri Jun 22 23:21:55 2007 +0900 [MIPS] rbtx4938: Add generic GPIO support GPIO 0..15 are for TX4938 PIO pins, GPIO 16..18 are for FPGA-driven chipselect signals for SPI devices. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 06cf5583fd9ac782cf34996cdabb48afdf478e37 Author: Thomas Bogendoerfer Date: Wed Jun 20 23:36:47 2007 +0200 [MIPS] SNI RM updates - use RTC_CLASS instead of GEN_RTC - get rid of ds1216 in favour of a RTC_CLASS driver - use correct console device for older RM400 - use physical addresses for 82596 device - use 128 byte L1 cache line size (this is needed because most of the SNI caches are using 128 L2 cache lines) Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 68bc00e31143ad8bfa435425e0a11e9b3998911d Author: Marc St-Jean Date: Thu Jun 14 15:57:11 2007 -0600 [MIPS] PMC MSP71xx default configuration Patch to add default configuration for the PMC-Sierra MSP71xx devices. Signed-off-by: Marc St-Jean Signed-off-by: Ralf Baechle commit 6f95e60acf404e39d14030572c9033ddaca6f4de Author: Marc St-Jean Date: Thu Jun 14 15:56:23 2007 -0600 [MIPS] PMC MSP71xx PCI support Patch to add PCI support for the PMC-Sierra MSP71xx devices. Signed-off-by: Marc St-Jean Signed-off-by: Ralf Baechle commit 9267a30d1dc7dcd7cadb5eb6a5bbfed703feeefa Author: Marc St-Jean Date: Thu Jun 14 15:55:31 2007 -0600 [MIPS] PMC MSP71xx mips common Patch to add mips common support for the PMC-Sierra MSP71xx devices. Signed-off-by: Marc St-Jean Signed-off-by: Ralf Baechle commit 35832e26f95ba14a6b6f0519441c5cb64cca6bf9 Author: Marc St-Jean Date: Thu Jun 14 15:54:47 2007 -0600 [MIPS] PMC MSP71xx core platform Patch to add core platform support for the PMC-Sierra MSP71xx devices. Signed-off-by: Marc St-Jean Signed-off-by: Ralf Baechle commit a4b156d47d204904fa104c3e585b4c67b89195f3 Author: Adrian Bunk Date: Tue Jun 19 22:27:04 2007 +0200 [MIPS] Removes the few leftovers of the MOMENCO_JAGUAR_ATX removal. Signed-off-by: Adrian Bunk Signed-off-by: Ralf Baechle commit 42d226c7248a28ff8c478c06b7e9bd9ef5d73574 Author: Songmao Tian Date: Wed Jun 6 14:52:38 2007 +0800 [MIPS] New files for lemote fulong mini-PC support Signed-off-by: Fuxin Zhang Signed-off-by: Songmao Tian Signed-off-by: Ralf Baechle commit 2a21c7300b53b744d16903256a172d9cbcfdd03e Author: Fuxin Zhang Date: Wed Jun 6 14:52:43 2007 +0800 [MIPS] define Hit_Invalidate_I to Index_Invalidate_I for loongson2 Signed-off-by: Fuxin Zhang Signed-off-by: Ralf Baechle commit fee578fad1a29e6a149659e5467aedcae6897c06 Author: Ralf Baechle Date: Tue Jul 10 17:33:02 2007 +0100 [MIPS] Convert init_thread initialization to ISO C initializers. Signed-off-by: Ralf Baechle commit a36920200c5b89d56120a5e839fe4a603d51b16c Author: Ralf Baechle Date: Tue Jul 10 17:33:02 2007 +0100 [MIPS] Enable support for the userlocal hardware register Which will cut down the cost of RDHWR $29 which is used to obtain the TLS pointer and so far being emulated in software down to a single cycle operation. Signed-off-by: Ralf Baechle commit d223a86154f8c66f5a380b17e1c8091d56f47cf8 Author: Ralf Baechle Date: Tue Jul 10 17:33:02 2007 +0100 [MIPS] FP affinity: Coding style cleanups Signed-off-by: Ralf Baechle commit e7c4782f92fc4b83d953ce53f77f05ae65dcd773 Author: Ralf Baechle Date: Tue Jul 10 17:33:01 2007 +0100 [MIPS] Put an end to 's long and annyoing existence Signed-off-by: Ralf Baechle commit 192cca6ef2c49ac5ff46f7a31cb9dd175995658e Author: Franck Bui-Huu Date: Mon Jun 11 15:08:55 2007 +0200 [MIPS] Remove Momenco Ocelot C support Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle delete mode 100644 arch/mips/configs/ocelot_c_defconfig delete mode 100644 arch/mips/momentum/ocelot_c/Makefile delete mode 100644 arch/mips/momentum/ocelot_c/cpci-irq.c delete mode 100644 arch/mips/momentum/ocelot_c/dbg_io.c delete mode 100644 arch/mips/momentum/ocelot_c/irq.c delete mode 100644 arch/mips/momentum/ocelot_c/ocelot_c_fpga.h delete mode 100644 arch/mips/momentum/ocelot_c/platform.c delete mode 100644 arch/mips/momentum/ocelot_c/prom.c delete mode 100644 arch/mips/momentum/ocelot_c/reset.c delete mode 100644 arch/mips/momentum/ocelot_c/setup.c delete mode 100644 arch/mips/momentum/ocelot_c/uart-irq.c delete mode 100644 arch/mips/pci/fixup-ocelot-c.c delete mode 100644 arch/mips/pci/pci-ocelot-c.c commit cfd2afc0f654e86e3f0b5060409b90f21964b9d3 Author: Ralf Baechle Date: Tue Jul 10 17:33:00 2007 +0100 [MIPS] IP32: Remove experimental tag from kconfig. Signed-off-by: Ralf Baechle commit 19df0d1169b3ddcc84933794d1401aaafe2f0000 Author: Ralf Baechle Date: Tue Jul 10 17:33:00 2007 +0100 [MIPS] PCI: Make dev pointer argument of pcibios_map_irq const. This is to break the code of people who think they are supposed to scribble into the pci device structure - it's off limits. Signed-off-by: Ralf Baechle commit 6b5bf509317c013ea0a7c166affc1d4631720d85 Author: Yoichi Yuasa Date: Thu Jun 21 15:06:21 2007 +0900 [MIPS] EV64120: Remove support Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 36de48de85bdb9bc8c35c1eb513737c187d70a46 Author: Maciej W. Rozycki Date: Tue Jun 5 11:45:07 2007 +0100 [MIPS] DECstation: Optimised early printk() This is an optimised implementation of early printk() for the DECstation. After the recent conversion to a MIPS-specific generic routine using a character-by-character output the performance dropped significantly. This change reverts to the previous speed -- even at 9600 bps of the serial console the difference is visible with a naked eye; I presume for a framebuffer it is even worse (it may depend on exactly which one is used though). Additionally the change includes a fix for a problem that the old implementation had -- the format used would not actually limit the length of the string output. This new implementation uses a local buffer to deal with it -- even with this additional copying it is much faster than the generic function. Plus this driver is registered much earlier than the generic one, allowing one to see critical messages, such as one about an incorrect CPU setting used, that are produced beforehand. :-) Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit d388d6853f1b584b8606cb3f2f9f9e4fa2e52258 Author: Maciej W. Rozycki Date: Tue May 29 15:08:07 2007 +0100 [MIPS] No I/O ports on the DECstation There are no I/O ports on the DECstation whatsoever in any configuration as neither the CPU nor the peripheral buses used have a concept of such. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit b63e804459b9b550c1ab21a43e6bac2272e32612 Author: Atsushi Nemoto Date: Tue Jun 5 01:28:07 2007 +0900 [MIPS] Remove unused watchpoint support and arch/mips/lib-{32,64} Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit c66df567e596bd43d6d3e094d82f82951e1b17cd Author: Yoichi Yuasa Date: Sat Jun 2 02:12:41 2007 +0900 [MIPS] update cobalt_defconfig Enable Cobalt button support and change ATA driver from BLK_DEV_VIA82CXXX to PATA_VIA.. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit b1c65b3988c6e29ac371ab1cbbf6c4f8fb7092f8 Author: Franck Bui-Huu Date: Mon Jun 4 17:46:35 2007 +0200 [MIPS] Fix PHYS_OFFSET for 64-bits kernels with 32-bits symbols The current implementation of __pa() for 64-bits kernels with 32-bits symbols is broken. In this configuration, we need 2 values for PAGE_OFFSET, one in XKPHYS and the other in CKSEG0 space. When the value in CKSEG0 space is used, it doesn't take into account of PHYS_OFFSET. Even worse we can't redefine this value. The patch restores CPHYSADDR() but in __pa()'s implementation because it removes the need of 2 PAGE_OFFSET. OTOH, CPHYSADDR() is quite bad when dealing with mapped kernels. So this patch assumes there's no need to deal with such kernel in 64-bits world. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit 41b0483ee54d89f9ad068ceae3c91cdc7594d050 Author: Franck Bui-Huu Date: Mon Jun 4 17:46:34 2007 +0200 [MIPS] Move PHY_OFFSET definition in spaces.h Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit db38501511a7513ec4f0ae9922d847c135cf3c78 Author: Franck Bui-Huu Date: Mon Jun 4 17:46:33 2007 +0200 [MIPS] Make PAGE_OFFSET aware of PHYS_OFFSET For platforms that use PHYS_OFFSET and do not use a mapped kernel, this patch automatically adds PHYS_OFFSET into PAGE_OFFSET. Therefore there are no more needs for them to redefine PAGE_OFFSET. For mapped kernel, they need to redefine PAGE_OFFSET anyways. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit c4612c8596084c898628bd1898da5987ec43ac1d Author: Franck Bui-Huu Date: Mon Jun 4 17:46:32 2007 +0200 [MIPS] Clean up asm-mips/mach-generic/spaces.h PAGE_OFFSET definition is now using CAC_BASE by default. This patch also reorder some macros to make them appear in the same order for both 32 and 64 bits configs. It also makes use of const.h generic header file to annotate constants. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit 09bb9ce15f6e0daba70b7e6978f233ffe2d356eb Author: Franck Bui-Huu Date: Mon Jun 4 17:46:31 2007 +0200 [MIPS] Allow generic spaces.h to be included by platform specific ones Before this patch, when a platform needed to customize one constant in spaces.h, they need to redefine all of them. Now they can just redefine one constant and include the generic file header at the end: #include This patch doesn't allow to redefine CAC_BASE, IO_BASE and UNCAC_BASE for 32 bits platforms because there's no need to do so. This will avoid some macro duplications. It's important specially if we'll add complex macros. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle delete mode 100644 include/asm-mips/mach-ip32/spaces.h commit 69ed25b895b01216b392b60ad3b99d1274e1afa8 Author: Atsushi Nemoto Date: Sat Jun 2 00:30:25 2007 +0900 [MIPS] Remove unused dump_tlb functions Remove unused dump_tlb functions and cleanup some includes. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 4becef1d85a48ea4294c962c2cbacb6074f0dd58 Author: Atsushi Nemoto Date: Sat Jun 2 00:21:30 2007 +0900 [MIPS] Unify dump_tlb Unify lib-{32,64}/dump_tlb.c into lib/dump_tlb.c and move lib-32/r3k_dump_tlb.c to lib directory. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit f6e2373ad6148476464fc7bb2610c6450c18cd2a Author: Ralf Baechle Date: Tue Jul 10 17:32:56 2007 +0100 [MIPS] MIPSsim: Move code away from the other MIPS Inc. BSP code. It shares no code at all. While at it also fix up the beginning bitrot. Signed-off-by: Ralf Baechle commit 24e9d0b96dac5503c0b6f034d553030c604228a7 Author: Ralf Baechle Date: Tue Jul 10 17:32:56 2007 +0100 [MIPS] Hook for platforms to define cachability of /dev/mem regions Signed-off-by: Ralf Baechle commit 8bb809df6919f927bcb910bbc852d5724eaa1eb9 Author: Ralf Baechle Date: Tue Jul 10 17:32:56 2007 +0100 [MIPS] Cleanup TO_PHYS_MASK definition No point in adding yet another #ifdef for Loongson since all this mask is being used for is converting an XKPHYS address into a physical address anyway. So replace all definitions by one with the highest architectural possible value. Signed-off-by: Ralf Baechle commit b3f6df9f21c6efc4641613188204aa0742bc9e22 Author: Robert P. J. Day Date: Fri May 25 14:32:28 2007 -0400 [MIPS] Transform old-style macros to newer "__noreturn" Convert old/obsolete NORET_TYPE and ATTRIB_NORET macros to use the newer standard of "__noreturn" as defined in compiler-gcc.h. Signed-off-by: Robert P. J. Day Signed-off-by: Ralf Baechle commit 8f8771a057bff0d3911459d0bdadf03ec1dd3c89 Author: Ralf Baechle Date: Tue Jul 10 17:32:56 2007 +0100 [MIPS] SMTC: Use current_cpu_data instead of cpu_data[smp_processor_id] Signed-off-by: Ralf Baechle commit 4ead16819b4c61fea9bb73eb470f6bb1d3350e5c Author: Florian Fainelli Date: Tue May 22 21:44:42 2007 +0200 [MIPS] Add generic GPIO to Au1x00 This patch adds support for the generic GPIO API to Au1x00 boards. It requires the generic GPIO patch for MIPS boards by Yoichi Yuasa. Now there is a MIPS target using it, can you queue these patchset for 2.6.22 ? Thank you very much in advance. Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 82b8d2250c4b606e190853db9505b54b9fb71aa5 Author: Atsushi Nemoto Date: Fri Jun 22 23:20:23 2007 +0900 [MIPS] Create fallback gpio.h Create fallback gpio.h which only contains prototypes for gpio API. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 096633358c907d9b50b00caf989816c2edfefe24 Author: Yoichi Yuasa Date: Tue May 22 00:05:58 2007 +0900 [MIPS] Add generic GPIO support Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 4679258d52f6d4aeeafd5c77203d97ddf48e2db0 Author: Adrian Bunk Date: Sat Jul 7 03:03:27 2007 +0200 [MIPS] Remove unused cpu_callout_map and num_booting_cpus() Signed-off-by: Adrian Bunk Signed-off-by: Ralf Baechle commit 9797cae3bfd2d7190609cdce05248cabc5d9081e Author: Adrian Bunk Date: Sat Jul 7 03:03:30 2007 +0200 [MIPS] "extern inline" -> "static inline" "extern inline" will have different semantics with gcc 4.3, and "static inline" is correct here. Signed-off-by: Adrian Bunk Signed-off-by: Ralf Baechle commit e48ce6b8df5b51af3f38b20bb3d008dff69ff64e Author: Atsushi Nemoto Date: Wed May 30 00:38:07 2007 +0900 [MIPS] Simplify missing-syscalls for N32 and O32 Use standard missing-syscalls with EXTRA_CFLAGS instead of duplicating the command. And move the archprepare rule before the archclean rule. Suggested by Franck Bui-Huu. Also add "echo" to show the target ABI. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit d7eb079fc8e68899fd099ad0b5b8095193a8c025 Author: Yoichi Yuasa Date: Mon May 28 22:56:35 2007 +0900 [MIPS] Remove unused config entries Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit e934c82657529a85ca48a2fc3749c514df985e79 Author: Yoichi Yuasa Date: Mon May 21 23:00:38 2007 +0900 [MIPS] remove unused definitions for Cobalt Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit f49343a54864b98333b98706accba66aa75a0c16 Author: Alan Cox Date: Tue Jul 10 17:05:16 2007 +0100 IOC3: Switch to pci refcounting safe APIs Convert the IOC3 driver to use ref counting pci interfaces so that we can obsolete the (usually unsafe) pci_find_{slot/device} interfaces and avoid future authors writing hotplug-unsafe device drivers. Signed-off-by: Alan Cox Build fixes: Signed-off-by: Ralf Baechle Signed-off-by: Jeff Garzik commit 44e4925e4601961b9bd1982008a55fce865d318c Author: David Graham Date: Tue Jul 10 08:45:11 2007 -0700 e100: Fix Tyan motherboard e100 not receiving IPMI commands The 82550 & 51 parts have an extended configuration block that includes a bit "GMRC", required to enable the expected TCO behavior, in config byte offset 22d. The config block sent by the failing driver does include the extension area, but this bit is not initialised, and the downlaod only specifies 0x16 bytes to be sent to the NIC (thaht's bytes 00..21d). By initializing the GMRC bit, and extending the download size for D102+ MACs, the problem is resolved. Signed-off-by: David Graham Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit c6f5047b633f0605098fe47417c4e1ed87a7637a Author: Timur Tabi Date: Tue Jul 10 07:51:11 2007 -0500 QE Ethernet driver writes to wrong register to mask interrupts The QE Ethernet driver was writing to the wrong register to mask interrupts. In ucc_geth_stop(), it was clearing UCCE instead of UCCM. Signed-off-by: Timur Tabi Signed-off-by: Jeff Garzik commit 4f092432bd443416b649519c3d5405aa55ad2d15 Author: Adrian Bunk Date: Tue Jul 10 14:44:47 2007 +0200 rrunner.c:rr_init() must be __devinit This patch fixes the following section mismatch: <-- snip --> ... MODPOST vmlinux WARNING: drivers/built-in.o(.text+0x26e3f2): Section mismatch: reference to .init.text:rr_init (between 'rr_init_one' and 'rr_remove_one') ... <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit 9b5587cdd9f2a8dd4a010a93a6380051d43a3c16 Author: Adrian Bunk Date: Tue Jul 10 14:44:37 2007 +0200 tokenring/3c359.c:xl_init() must be __devinit This patch fixes the following section mismatch: <-- snip --> ... MODPOST vmlinux WARNING: drivers/built-in.o(.text+0x361ef1): Section mismatch: reference to .init.text:xl_init (between 'xl_probe' and 'xl_hw_reset') ... <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit 4e50a8e3c564add2f621dadb752a44872e93c754 Author: Adrian Bunk Date: Tue Jul 10 14:44:35 2007 +0200 sis900_mii_probe() must be __devinit This patch fixes the following section mismatch: <-- snip --> ... MODPOST vmlinux WARNING: drivers/built-in.o(.text+0x298170): Section mismatch: reference to .init.text:sis900_mii_probe (between 'sis900_probe' and 'sis900_default_phy') ... <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit 8453d43f0ee08ac6c20f390797772a08f81f999a Author: Rolf Eike Beer Date: Tue Jul 10 11:58:02 2007 +0200 Fix typo in drivers/net/s2io.c Introduced in d796fdb708fc5b10112934cba43e832c36ce4923. Signed-off-by: Rolf Eike Beer Signed-off-by: Jeff Garzik commit 654e02200578799264941e5a9b533563a87f8579 Author: Marcin Juszkiewicz Date: Tue Jul 10 11:40:28 2007 +0200 PCMCIA: add Socket Ethernet card into pcnet_cs One card submitted by Ångström user. Signed-off-by: Marcin Juszkiewicz Signed-off-by: Jeff Garzik commit 7a627558214664f0e071b2652fc37e4d7d3dce32 Author: Ishizaki Kou Date: Mon Jul 9 18:17:42 2007 -0500 spidernet: improve interrupt handling We intend this patch to improve spidernet interrupt handling to be more strict. We had following problem and this patch solves it. -when CONFIG_DEBUG_SHIRQ=y, request_irq() calls handler(). -when spider_net_open() is called, it calls request_irq() which calls spider_net_interrupt(). -if some specific interrupt bit is set at this timing, it calls netif_rx_schedule() and spider_net_poll() is scheduled. -spider_net_open() calls netif_poll_enable() which clears the bit __LINK_STATE_RX_SCHED. -when spider_net_poll() is called, it calls netif_rx_complete() which causes BUG_ON() because __LINK_STATE_RX_SCHED is not set. Signed-off-by: Kou Ishizaki Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit b8a1fcee26126b566d9e28ba80c643a7a10543eb Author: Steffen Klassert Date: Mon Jul 9 11:50:23 2007 -0700 3cSOHO100-TX needs EXTRA_PREAMBLE The 3cSOHO100-TX needs a mdio_sync() before mdio_read() to read the MII transceiver registers properly. Adding EXTRA_PREAMBLE to drv_flags of the 3cSOHO100-TX will force this. This problem exists already for years (I checked back to 2.6.8). Setting duplex for the 3cSOHO100-TX was more or less a random process. Till 2.6.15 it was more likely that the diver ends up in half duplex mode, after the code change in 2.6.16 it was more likely to end up in full duplex mode. I wonder why nobody noticed this earier. Hopefully addresses Bug 7454 3c59x (3cSOHO100-TX Hurricane) slow network bug http://bugzilla.kernel.org/show_bug.cgi?id=7454 and Bug 3654 3cSOHO100-TX: No MII transceiver present http://bugzilla.kernel.org/show_bug.cgi?id=3654 Cc: Jonas Sandberg Cc: Jon Sanchez Signed-off-by: Steffen Klassert Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 199126a23a091585670fba023529b73047bb2bad Author: vignesh babu Date: Mon Jul 9 11:50:22 2007 -0700 Use is_power_of_2() in myri10ge/myri10ge.c Replace (n & (n-1)) with is_power_of_2() Signed-off-by: vignesh babu Cc: Brice Goglin Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit d9da466a3ce2ac005e05bb649a0f2cfb5c3d5d45 Author: vignesh babu Date: Mon Jul 9 11:50:22 2007 -0700 use is_power_of_2() in cxgb3/cxgb3_main.c Replace (n & (n-1)) with is_power_of_2() Signed-off-by: vignesh babu Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit de0d3dc0e8ecd80f602fac03feb8fd53d0c17a8c Author: Yoann Padioleau Date: Mon Jul 9 11:50:20 2007 -0700 atari_pamsnet.c: old declaration ritchie style fix Use consistent function declaration style. Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 0640b8dc74e938543dd8fc8c460c5f913a1b1a74 Author: Stephen Hemminger Date: Mon Jul 9 15:33:44 2007 -0700 sky2: 1.16 version Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit e923d7b124d2b2218faac22714dc6e4639fab2e7 Author: Stephen Hemminger Date: Mon Jul 9 15:33:43 2007 -0700 sky2: remove some leftover debug messages Eliminate extra debug messages Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 36eb0c71f3ab42b116a5a7bda733230014741632 Author: Stephen Hemminger Date: Mon Jul 9 15:33:42 2007 -0700 sky2: use upper_32_bits() macro Use upper_32_bits() inline Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit f957da2aa0b7ef9659a45b0895ec4a08602b1c15 Author: Stephen Hemminger Date: Mon Jul 9 15:33:41 2007 -0700 sky2: use roundup() macro Use roundup() macro to size receive buffer. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 71749531f2d1954137a1a77422ef4ff29eb102dd Author: Stephen Hemminger Date: Mon Jul 9 15:33:40 2007 -0700 sky2: check drop truncated packets If packet larger than MTU is received, the driver uses hardware to truncate the packet. Use the status registers to catch/drop them. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit f4331a6d24f2e5524678caf4621d35f33fb934da Author: Stephen Hemminger Date: Mon Jul 9 15:33:39 2007 -0700 sky2: add support for read/write of EEPROM Add get/set eeprom support for sky2. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 8a3e3bfdf47b82bfbd78aabf7f72df4dff12abcc Author: Stephen Hemminger Date: Mon Jul 9 15:33:38 2007 -0700 sky2: unmark as EXPERIMENTAL Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 55c9dd35d3299dbd6e437c1a0bd86fffcb17080b Author: Stephen Hemminger Date: Mon Jul 9 15:33:37 2007 -0700 sky2: receive fill Simplify receive buffer refill logic. Rather than trying to update incrementally; do receive ring refill at end of receive processing. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 5c11ce700f77fada15b6264417d72462da4bbb1c Author: Stephen Hemminger Date: Mon Jul 9 15:33:36 2007 -0700 sky2: check for more work before leaving NAPI This patch avoids generating another IRQ if more packets arrive while in the NAPI poll routine. Before marking device as finished, it rechecks that the status ring is empty. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 3cf267539f1f133eb6ba63d074da18cb58cdf89a Author: Stephen Hemminger Date: Mon Jul 9 15:33:35 2007 -0700 sky2: debug interface Add an optional debug interface for displaying state of transmit/receive rings. Creates a file debugfs/sky2/ethX for each device that is up. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 55d7b4e6ed6ad3ec5e5e30b3b4515a0a6a53e344 Author: Stephen Hemminger Date: Mon Jul 9 15:33:34 2007 -0700 sky2: carrier management Make sky2 handle carrier similar to other drivers, eliminate some possible races in carrier state transistions. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit c59697e06058fc2361da8cefcfa3de85ac107582 Author: Stephen Hemminger Date: Mon Jul 9 15:33:33 2007 -0700 sky2: restore workarounds for lost interrupts This patch restores a couple of workarounds from 2.6.16: * restart transmit moderation timer in case it expires during IRQ routine * default to having 10 HZ watchdog timer. At this point it more important not to hang than to worry about the power cost. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit c0613c1c940dac991b9e54db75dc9976491d9f0a Author: Geert Uytterhoeven Date: Tue Jul 10 12:26:29 2007 +0200 Documentation/block/barrier.txt is not in sync with the actual code: - blk_queue_ordered() no longer has a gfp_mask parameter - blk_queue_ordered_locked() no longer exists - sd_prepare_flush() looks slightly different Signed-off-by: Geert Uytterhoeven Acked-by: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 70cee26e020c1d74ff559c991b96c7b19fa4173b Author: Matthias Kaehlcke Date: Tue Jul 10 12:26:24 2007 +0200 Use list_for_each_entry() instead of list_for_each() in the block device elevator Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit fd11d171e51a5b81c176d856d5df5612117e1a45 Author: Jan Engelhardt Date: Tue Jul 10 12:26:06 2007 +0200 Make a "menuconfig" out of the Kconfig objects "menu, ..., endmenu", so that the user can disable all the options in that menu at once instead of having to disable each option separately. Signed-off-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 5f5c926e3cba972636b50ab872b421e992d4f401 Author: Jan Engelhardt Date: Tue Jul 10 12:24:17 2007 +0200 block/Kconfig already has its own "menuconfig" so remove these "menu, endmenu" that did not get cleaned up in the block patch [ http://lkml.org/lkml/2007/4/10/251 ] Signed-off-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 16ed002f224738366c1809023ec70a71ae51421c Author: Jan Engelhardt Date: Tue Jul 10 12:24:11 2007 +0200 Use menuconfigs instead of menus, so the whole menu can be disabled at once instead of going through all options. Signed-off-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 15c31be4d5bd2402c6f5a288d56a24edc9252b71 Author: Jens Axboe Date: Tue Jul 10 13:43:25 2007 +0200 cfq-iosched: fix async queue behaviour With the cfq_queue hash removal, we inadvertently got rid of the async queue sharing. This was not intentional, in fact CFQ purposely shares the async queue per priority level to get good merging for async writes. So put some logic in cfq_get_queue() to track the shared queues. Signed-off-by: Jens Axboe commit 3ebf44902f77537b5784eb5059c2b78d8b5a920a Author: Steven Whitehouse Date: Tue Jul 10 12:28:27 2007 +0100 [GFS2] Accept old format NFS filehandles On Tue, 2007-07-10 at 10:06 +0100, Christoph Hellwig wrote: > > -#define GFS2_LARGE_FH_SIZE 10 > > - > > -struct gfs2_fh_obj { > > - struct gfs2_inum_host this; > > - u32 imode; > > -}; > > +#define GFS2_LARGE_FH_SIZE 8 > > Because gfs2_decode_fh only accepts file handles with GFS2_LARGE_FH_SIZE > or GFS2_LARGE_FH_SIZE you don't accept filehandles sent out by and older > gfs version anymore. Stale filehandles because of a new kernel version > are a big no-no, so please add back code to handle the old filehandles > on the decode side. > This should fix that problem I think since its only relating to end of the fh we can just ignore that field in order to accept the older format. Signed-off-by: Steven Whitehouse Cc: Christoph Hellwig Cc: Wendy Cheng commit d7ce6d1d5f6e307a2fbb69626cf120e20e793fe7 Author: Anton Vorontsov Date: Thu Apr 12 01:03:55 2007 +0400 [BATTERY] ds2760 W1 slave This is W1 slave for ds2760 chip, found inside almost every HP iPaq and HTC PDAs/phones. Signed-off-by: Anton Vorontsov Acked-by: Evgeniy Polyakov Signed-off-by: David Woodhouse commit fb972873a767220333ffb509de8d9131336e212c Author: David Woodhouse Date: Fri May 4 00:51:18 2007 +0400 [BATTERY] One Laptop Per Child power/battery driver Signed-off-by: David Woodhouse Signed-off-by: Anton Vorontsov commit efea58e397dec84e37209c98619d39a46872db4d Author: David Woodhouse Date: Fri May 4 00:47:40 2007 +0400 [BATTERY] Apple PMU driver Signed-off-by: David Woodhouse Signed-off-by: Anton Vorontsov commit fe0e3153acfef4864b69932cf116eb5f38f7500c Author: Anton Vorontsov Date: Fri May 4 00:45:39 2007 +0400 [BATTERY] 1-Wire ds2760 chip battery driver This is driver for batteries with ds2760 chip inside, found inside almost every HP iPaq and HTC PDAs/phones. Signed-off-by: Anton Vorontsov Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 3788ec932bfd4942831e9a5034191509a2e11924 Author: Anton Vorontsov Date: Fri May 4 00:43:24 2007 +0400 [BATTERY] APM emulation driver for class batteries Signed-off-by: Eugeny Boger Signed-off-by: Anton Vorontsov Signed-off-by: David Woodhouse commit b2998049cfae4f4a81c4bb048814d34912017bb9 Author: Anton Vorontsov Date: Fri May 4 00:32:17 2007 +0400 [BATTERY] pda_power platform driver Common power driver for PDAs and phones with one or two external power supplies (AC/USB) connected to main and backup batteries, and optional builtin charger. It's used to stop logic duplication through different embedded devices. So, power supply *logic* is here. pda_power register power supplies, and will take care about notifying batteries about power changes through external power interface. Currently, power consumption legal limits (including USB power consumption) should be handled by platform code, inside set_charge function. Signed-off-by: Anton Vorontsov Signed-off-by: Roman Moravcik Signed-off-by: David Woodhouse commit 4a11b59d8283662193a9c6a9c14c58d1b9bf0617 Author: Anton Vorontsov Date: Fri May 4 00:27:45 2007 +0400 [BATTERY] Universal power supply class (was: battery class) This class is result of "external power" and "battery" classes merge, as suggested by David Woodhouse. He also implemented uevent support. Here how userspace seeing it now: # ls /sys/class/power\ supply/ ac main-battery usb # cat /sys/class/power\ supply/ac/type AC # cat /sys/class/power\ supply/usb/type USB # cat /sys/class/power\ supply/main-battery/type Battery # cat /sys/class/power\ supply/ac/online 1 # cat /sys/class/power\ supply/usb/online 0 # cat /sys/class/power\ supply/main-battery/status Charging # cat /sys/class/leds/h5400\:red-left/trigger none h5400-radio timer hwtimer ac-online usb-online main-battery-charging-or-full [main-battery-charging] main-battery-full Signed-off-by: Anton Vorontsov Signed-off-by: David Woodhouse Signed-off-by: Andrew Morton commit f60d89108f3481ca11672b82cf7e67171e050ce4 Author: Christian Borntraeger Date: Tue Jul 10 11:24:22 2007 +0200 [S390] vmlogrdr function annotation. Use __init and __exit for vmlogrdr. Both functions are only referenced by the module_init exit macros, so this change should be fine. Acked-by: Stefan Weinhuber Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit dce554708cdb02a1053ca3a68997b9facbfde5ce Author: Heiko Carstens Date: Tue Jul 10 11:24:21 2007 +0200 [S390] s390: rename CPU_IDLE to S390_CPU_IDLE sched-cfs-v2.6.22-git-v18.patch introduces CPU_IDLE in sched.h. This conflict with the already existing define in include/asm-s390/processor.h Just rename the s390 defines, since they will go away as soon as we support CONFIG_NO_HZ instead of our own CONFIG_NO_IDLE_HZ. Signed-off-by: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Martin Schwidefsky commit 736f563373804e75f9f3b4abb9e480451bfef8d3 Author: Cornelia Huck Date: Tue Jul 10 11:24:20 2007 +0200 [S390] cio: Remove prototype for non-existing function cmf_reset(). Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit af512ed0f8a7e6a3c6fd93b2b5882c8e837a6939 Author: Ralph Wuerthner Date: Tue Jul 10 11:24:19 2007 +0200 [S390] zcrypt: fix request timeout handling Under very high load zcrypt requests may timeout while waiting on the request queue. Modify zcrypt that timeouts are based on crypto adapter responses. A timeout occurs only if a crypto adapter does not respond within a given time frame to sumitted requests. Signed-off-by: Ralph Wuerthner Signed-off-by: Martin Schwidefsky commit 987ad70a4d90cf0e70dba43ece02c2e2219e092c Author: Martin Schwidefsky Date: Tue Jul 10 11:24:18 2007 +0200 [S390] system call optimization. After the in-kernel system call has been remove the system call path can be optimized. The problem state bit of the old psw is always set between system_call and sysc_do_svc. SAVE_ALL_SVC uses this information to avoid two instructions. Signed-off-by: Martin Schwidefsky commit 3d62149f025134cd69c2fef2a2ccfac3c3c2054f Author: Heiko Carstens Date: Tue Jul 10 11:24:17 2007 +0200 [S390] dasd: Avoid compile warnings on !CONFIG_DASD_PROFILE drivers/s390/block/dasd_proc.c:33: warning: 'dasd_get_user_string' defined but not used drivers/s390/block/dasd_proc.c:172: warning: 'dasd_statistics_array' defined but not used Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 048d5ce6828b9071e241254c7dba13d67bfef2c3 Author: Heiko Carstens Date: Tue Jul 10 11:24:16 2007 +0200 [S390] Remove volatile from atomic_t Follow i386/x86_64 and remove 'volatile' from atomic_t. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit dc4123303b54657389c952049bf5738dd753d004 Author: Michael Holzheu Date: Tue Jul 10 11:24:15 2007 +0200 [S390] Program check in diag 210 under 31 bit If a virtual address is passed to the diag210 function under 31 bit, we get a programming exception, since diag 210 only works with physical addresses. To fix this, the content of the diag210 data structure is copied to a local structure and the physical address of that structure is passed to diagnose 210. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 8a88367088a6b9964d99694b30d80720f019bea2 Author: Martin Schwidefsky Date: Tue Jul 10 11:24:14 2007 +0200 [S390] Bogomips calculation for 64 bit. The bogomips calculation triggered via reading from /proc/cpuinfo can return incorrect values if the qrnnd assembly is called with a pointer in %r2 with any of the upper 32 bits set. Fix this by using 64 bit division / remainder operation provided by gcc instead of calling the assembly. Signed-off-by: Martin Schwidefsky commit 285f67227b63309d699f5bda25ba34962503398f Author: Heiko Carstens Date: Tue Jul 10 11:24:13 2007 +0200 [S390] smp: Merge smp_count_cpus() and smp_get_save_areas(). Merge smp_count_cpus() and smp_get_save_areas() so we save a loop over all potentially present cpus. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit d9f774d439cda5b46324221a47e6aaf7dc2f77cc Author: Heiko Carstens Date: Tue Jul 10 11:24:12 2007 +0200 [S390] zcore: Fix __user annotation. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit bf1a95a225c1349846274caebdca1bb8d20d5853 Author: Stefan Haberland Date: Tue Jul 10 11:24:11 2007 +0200 [S390] fixed cdl-format detection. CDL formated DASDs are now detected correctly even if no VOL1 label is on the disk. This prevents possible loss of data. Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky commit 83119ad4a1ceacd99f380086c2855ae2c4268afc Author: Heiko Carstens Date: Tue Jul 10 11:24:10 2007 +0200 [S390] sclp: Test facility list before executing a service call. Check if a command is available before executing. Saves some superfluous service calls that won't succeed anyway. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 05dd25307ca67cbfa0207bbba2e6c79fa97d125b Author: Heiko Carstens Date: Tue Jul 10 11:24:09 2007 +0200 [S390] sclp: introduce some new interfaces. Introduce some new interfaces so that random subsystems don't have to mess around with sclp internal structures. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit bccdbdc9bd7db3a32c14d8a47f1fb66e3de3c92f Author: Ralph Wuerthner Date: Tue Jul 10 11:24:08 2007 +0200 [S390] Fixed comment typo. Signed-off-by: Ralph Wuerthner Signed-off-by: Martin Schwidefsky commit d197e6921843932b5d8ecf47d23fcac62e73b19a Author: Robert P. J. Day Date: Tue Jul 10 11:24:07 2007 +0200 [S390] vmcp cleanup No need to use the "&" prefix and, since you're calling nonseekable_open(), there is no need to use no_llseek(). Signed-off-by: Robert P. J. Day Signed-off-by: Martin Schwidefsky commit 0845718dafea3e16041d270c256e8516acf4e13d Author: Jens Axboe Date: Tue Jun 12 20:51:32 2007 +0200 pipe: add documentation and comments As per Andrew Mortons request, here's a set of documentation for the generic pipe_buf_operations hooks, the pipe, and pipe_buffer structures. Signed-off-by: Jens Axboe commit cac36bb06efe4880234524e117e0e712b10b1f16 Author: Jens Axboe Date: Thu Jun 14 13:10:48 2007 +0200 pipe: change the ->pin() operation to ->confirm() The name 'pin' was badly chosen, it doesn't pin a pipe buffer in the most commonly used sense in the kernel. So change the name to 'confirm', after debating this issue with Hugh Dickins a bit. A good return from ->confirm() means that the buffer is really there, and that the contents are good. Signed-off-by: Jens Axboe commit d96e6e71647846e0dab097efd9b8bf3a3a556dca Author: Jens Axboe Date: Mon Jun 11 12:18:52 2007 +0200 Remove remnants of sendfile() There are now zero users of .sendfile() in the kernel, so kill it from the file_operations structure and in do_sendfile(). Signed-off-by: Jens Axboe commit d054fe3d10cc1f9aec01378c38caa32dffdd0090 Author: Carsten Otte Date: Fri Jun 15 08:16:22 2007 +0200 xip sendfile removal This patch removes xip_file_sendfile, the sendfile implementation for xip without replacement. Those customers that use xip on s390 are not using sendfile() as far as we know, and so far s390 is the only platform this could potentially be used on so far. Having sendfile is not a popular feature for execute in place file systems, however we have a working implementation of splice_read() based on fs/splice.c if anyone asks for it. At this point in time, it does not seem preferable to merge splice_read() for xip because it causes extra maintenence effort due to code duplication and it requires struct page behind the xip memory segment. We'd like to get rid of that in favor of supporting flash based embedded platforms (Monta Vista work) soon. Signed-off-by: Carsten Otte Signed-off-by: Jens Axboe commit 932cc6d4f7c35bbf70bce8cc865b6033ff49c9c0 Author: Jens Axboe Date: Thu Jun 21 13:10:21 2007 +0200 splice: completely document external interface with kerneldoc Also add fs/splice.c as a kerneldoc target with a smaller blurb that should be expanded to better explain the overview of splice. Signed-off-by: Jens Axboe commit d6f517568f9f5c26e7404a336c7289d5b4b293ec Author: Jens Axboe Date: Mon Jun 4 10:25:05 2007 +0200 sendfile: remove bad_sendfile() from bad_file_ops do_sendfile() prefers splice over sendfile, so it should not trigger (directly, at least). Signed-off-by: Jens Axboe commit ae976416464b741913a13eea62eb6953ee065733 Author: Hugh Dickins Date: Mon Jun 4 10:00:39 2007 +0200 shmem: convert to using splice instead of sendfile() Remove shmem_file_sendfile and resurrect shmem_readpage, as used by tmpfs to support loop and sendfile in 2.4 and 2.5. Now tmpfs can support splice, loop and sendfile in the simplest way, using generic_file_splice_read and generic_file_splice_write (with the aid of shmem_prepare_write). We could make some efficiency tweaks later, if there's a real need; but this is stable and works well as is. Signed-off-by: Hugh Dickins Signed-off-by: Jens Axboe commit 1db60cf2056511c7c8cebcbaee308ef6c79b4728 Author: Jens Axboe Date: Tue Jun 12 08:43:46 2007 +0200 relay: use splice_to_pipe() instead of open-coding the pipe loop It cleans up the relay splice implementation a lot, and gets rid of a lot of internal pipe knowledge that should not be in there. Plus fixes for padding and partial first page (and lots more) from Tom Zanussi. Signed-off-by: Jens Axboe commit 497f9625c2bbd6a8525fb2eedb22a382a6a8253c Author: Jens Axboe Date: Mon Jun 11 12:00:45 2007 +0200 pipe: allow passing around of ops private pointer relay needs this for proper consumption handling, and the network receive support needs it as well to lookup the sk_buff on pipe release. Signed-off-by: Jens Axboe commit d6b29d7cee064f28ca097e906de7453541351095 Author: Jens Axboe Date: Mon Jun 4 09:59:47 2007 +0200 splice: divorce the splice structure/function definitions from the pipe header We need to move even more stuff into the header so that folks can use the splice_to_pipe() implementation instead of open-coding a lot of pipe knowledge (see relay implementation), so move to our own header file finally. Signed-off-by: Jens Axboe commit ebf9909343392c929d9943c04f421cd42e03b530 Author: Tom Zanussi Date: Mon Jun 4 09:12:05 2007 +0200 splice: relay support Signed-off-by: Jens Axboe commit cf8208d0eabd1d5d2625ec02a175a294c3f30d36 Author: Jens Axboe Date: Tue Jun 12 21:22:14 2007 +0200 sendfile: convert nfsd to splice_direct_to_actor() Signed-off-by: Jens Axboe commit f0930fffa99e7fe0a0c4b6c7d9a244dc88288c27 Author: Jens Axboe Date: Fri Jun 1 11:51:43 2007 +0200 sendfile: convert nfs to using splice_read() Acked-by: Trond Myklebust Signed-off-by: Jens Axboe commit fd5821404e6823997666d668f62c76eae228abc9 Author: Jens Axboe Date: Tue Jun 12 21:20:37 2007 +0200 loop: convert to using splice_direct_to_actor() instead of sendfile() This gets rid of the dependency on ->sendfile() for receiving data and converts loop to ->splice_read() instead. Also includes an IV offset fix from Hugh Dickins. Signed-off-by: Jens Axboe commit 130610d6f681c5d970340897f5db000d04a7ef78 Author: Jens Axboe Date: Tue Jun 12 21:20:00 2007 +0200 splice: add void cookie to the actor data We need that for passing driver private info. Signed-off-by: Jens Axboe commit 0452a4e5d021900b07ebdeecb9ed03b49f164f3f Author: Jens Axboe Date: Fri Jun 1 11:55:49 2007 +0200 sendfile: kill generic_file_sendfile() It's no longer used. Signed-off-by: Jens Axboe commit 5ffc4ef45b3b0a57872f631b4e4ceb8ace0d7496 Author: Jens Axboe Date: Fri Jun 1 11:49:19 2007 +0200 sendfile: remove .sendfile from filesystems that use generic_file_sendfile() They can use generic_file_splice_read() instead. Since sys_sendfile() now prefers that, there should be no change in behaviour. Signed-off-by: Jens Axboe commit 534f2aaa6ab07cd71164180bc958a7dcde41db11 Author: Jens Axboe Date: Fri Jun 1 14:52:37 2007 +0200 sys_sendfile: switch to using ->splice_read, if available This patch makes sendfile prefer to use ->splice_read(), if it's available in the file_operations structure. Signed-off-by: Jens Axboe commit 6a14b90bb6bc7cd83e2a444bf457a2ea645cbfe7 Author: Jens Axboe Date: Thu Jun 14 13:08:55 2007 +0200 vmsplice: add vmsplice-to-user support A bit of a cheat, it actually just copies the data to userspace. But this makes the interface nice and symmetric and enables people to build on splice, with room for future improvement in performance. Signed-off-by: Jens Axboe commit c66ab6fa705e1b2887a6d9246b798bdc526839e2 Author: Jens Axboe Date: Tue Jun 12 21:17:17 2007 +0200 splice: abstract out actor data For direct splicing (or private splicing), the output may not be a file. So abstract out the handling into a specified actor function and put the data in the splice_desc structure earlier, so we can build on top of that. This is the first step in better splice handling for drivers, and also for implementing vmsplice _to_ user memory. Signed-off-by: Jens Axboe commit 72d3a38ee083a96c09032e608a4c7e047ce26760 Author: Adrian Bunk Date: Mon Jul 9 09:40:44 2007 +0200 unexport bio_{,un}map_user bio_{,un}map_user no longer have any modular users. Signed-off-by: Adrian Bunk Signed-off-by: Jens Axboe commit f3f541f9ded9dd37edca103dd3be49bfbd9e730d Author: Jens Axboe Date: Thu Jun 21 08:29:34 2007 +0200 Remove legacy CDROM drivers They are all broken beyond repair. Given that nobody has complained about them (most haven't worked in 2.6 AT ALL), remove them from the tree. A new mitsumi driver that actually works is in progress, it'll get added when completed. Signed-off-by: Jens Axboe commit e654bc4393e85e326993256d80b9710a4d6411ff Author: Boaz Harrosh Date: Wed Jun 20 13:53:23 2007 +0200 [PATCH] fix request->cmd == INT cases - I have unearthed very old bugs in stale drivers that still used request->cmd as a READ|WRITE int - This patch is maybe a proof that these drivers have not been used for a long time. Should they be removed completely? Drivers that currently do not work for sure: drivers/acorn/block/fd1772.c | 2 +- drivers/acorn/block/mfmhd.c | 8 ++++---- drivers/cdrom/aztcd.c | 2 +- drivers/cdrom/cm206.c | 2 +- drivers/cdrom/gscd.c | 2 +- drivers/cdrom/mcdx.c | 2 +- drivers/cdrom/optcd.c | 2 +- drivers/cdrom/sjcd.c | 2 +- Drivers with cosmetic fixes only: b/drivers/block/amiflop.c b/drivers/block/nbd.c b/drivers/ide/legacy/hd.c Signed-off-by: Boaz Harrosh Signed-off-by: Jens Axboe commit 9cff3b383dad193b0762c27278a16237e10b53dc Author: Mike Miller (OS Dev Date: Tue Jun 19 20:52:18 2007 +0200 cciss: add new controller support for P700m This patch adds support for the Smart Array P700m SAS controller. This new controller will ship Fall 2007. Signed-off-by: Mike Miller Signed-off-by: Jens Axboe commit c2bcf3b8978c291e1b7f6499475c8403a259d4d6 Author: Jens Axboe Date: Tue Jun 19 19:13:36 2007 +0200 [PATCH] Remove acsi.c Originally from Boaz Harrosh It hasn't been working in 2.5 or 2.6 ever, since it's still buffer_head based. Signed-off-by: Jens Axboe commit f4b09303d00212ead0619db58d8ec8a0a7a94882 Author: Tejun Heo Date: Tue Jun 19 09:18:13 2007 +0200 [BLOCK] drop unnecessary bvec rewinding from flush_dry_bio_endio Barrier bios are completed twice - once after the barrier write itself is done and again after the whole sequence is complete. flush_dry_bio_endio() is for the first completion. It doesn't really complete the bio. It rewinds bvec and resets bio so that it can be completed again when the whole barrier sequence is complete. The bvec rewinding code has the following problems. 1. The rewinding code is wrong because filesystems may pass bvec with non zero bv_offset. 2. The block layer doesn't guarantee anything about the state of bvec array on request completion. bv_offset and len are updated iff __end_that_request_first() completes the bvec partially. Because of #2, #1 doesn't really matter (nobody cares whether bvec is re-wound correctly or not) but then again by not doing unwinding at all, we'll always give back the same bvec to the caller as full bvec completion doesn't alter bvecs and the final completion is always full completion. Drop unnecessary rewinding code. This is spotted by Neil Brown. Signed-off-by: Tejun Heo Cc: Neil Brown Signed-off-by: Jens Axboe commit 554988d6fe369719ae5b41255c577569ecf47c30 Author: Dave Young Date: Tue Jun 19 09:14:26 2007 +0200 [PATCH] cdrom_sysctl_info fix Fix the cdrom_sysctl_info possible buffer overwrite bug. Also fix the locking of accessing topCdromPtr pointer. Signed-off-by: Dave Young Signed-off-by: Jens Axboe commit 32eef964110985c5845472e07fa0a18838a970c4 Author: Jens Axboe Date: Tue Jun 19 09:09:27 2007 +0200 blk_hw_contig_segment(): bad segment size checks Two bugs in there: - The virt oversize check should use the current bio hardware back size and the next bio front size, not the same bio. Spotted by Neil Brown. - The segment size check should add hw front sizes, not total bio sizes. Spotted by James Bottomley Acked-by: James Bottomley Acked-by: NeilBrown Signed-off-by: Jens Axboe commit 7deeed13170e634adc4552ff94588d6301a3da83 Author: Benjamin Gilbert Date: Tue Jun 19 09:05:21 2007 +0200 [TRIVIAL PATCH] Kill blk_congestion_wait() stub for !CONFIG_BLOCK blk_congestion_wait() doesn't exist anymore, but there's still a stub in blkdev.h for the !CONFIG_BLOCK case. Kill it. Signed-off-by: Benjamin Gilbert Signed-off-by: Jens Axboe commit 65f88f89c94d877794a6006f210d75d2974a182e Author: Andrew Morton Date: Tue Jul 10 00:43:06 2007 -0400 Input: tsdev - fix broken usec-to-millisecs conversion Noted by Fengwei Yin Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit 744c9c33eaa062f716c6ae0bcb022b47c3af8b73 Author: Mike Rapoport Date: Tue Jul 10 00:38:39 2007 -0400 Input: pxa27x_keyboard - fix compile error Signed-off-by: Mike Rapoport Acked-by: Rodolfo Giometti Signed-off-by: Dmitry Torokhov commit 4f179f71607382888c5ce5385a4ee136e1a2002a Author: Andrew Morton Date: Tue Jul 10 00:38:31 2007 -0400 Input: serio_raw - shut up errorneous warning drivers/input/serio/serio_raw.c: In function 'serio_raw_read': drivers/input/serio/serio_raw.c:163: warning: 'c' may be used uninitialized in this function Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit 2f1d076a220bf57270020a1e756a9f34108b9338 Author: Robert P. J. Day Date: Tue Jul 10 00:38:18 2007 -0400 Input: update MAINTAINERS to explicitly mention touchscreens Signed-off-by: Robert P. J. Day Signed-off-by: Dmitry Torokhov commit 72a42f242cad8f393bb2556f4cc5175c6cea9892 Author: Hans de Goede Date: Tue Jul 3 01:55:18 2007 -0400 Input: atkbd - change mapping for e032 from KEY_WWW to KEY_HOMEPAGE WWW/Homepage key on Microsoft-compatible keyboards generates KEY_WWW when connected via PS/2 port but KEY_HOMEPAGE when connected via USB. This patch changes mapping in atkbd to match one in HID driver. Signed-off-by: Hans de Goede Acked-by: Vojtech Pavlik Signed-off-by: Dmitry Torokhov commit df561fcd445c9cf9f4fff98ea795a0e72b7dc1e1 Author: Ondrej Zary Date: Tue Jul 3 01:55:03 2007 -0400 Input: usbtouchscreen - add support for IRTOUCHSYSTEMS touchscreens This patch adds support for IRTOUCHSYSTEMS (or UNITOP) infrared touchscreens. The touchscreen sends data in 8-byte packets. BYTE 0 - unknown meaning, seen only one value: 0x54 BYTE 1 - unknown meaning, 3 lowest bits indicate touch state values seen: 0x81, 0x82 or 0x83 bit 0 = set if the screen is touched and was not touched before (touch bit 1 = set if the screen is touched and was touched (dragging) bit 2 = set if the touch was ended (release) BYTES 2 and 3 - X position, high-order-byte first, range = 0 to 0x0FFF BYTES 4 and 5 - Y position, high-order-byte first, range = 0 to 0x0FFF BYTE 6 - unknown meaning, seen only one value: 0xFF BYTE 7 - unknown meaning, seen only one value: 0x00 Signed-off-by: Ondrej Zary Signed-off-by: Daniel Ritz Signed-off-by: Dmitry Torokhov commit 1e2831db01c0726ec046e69719a10d7696b283fb Author: Dmitry Torokhov Date: Thu Jun 14 23:58:51 2007 -0400 Input: ppc-beep - switch to using input_dev->dev.parent In preparation for struct class_device -> struct device input core conversion, switch to using input_dev->dev.parent when specifying device position in sysfs tree. Also, do not access input_dev->private directly, use helpers. Signed-off-by: Dmitry Torokhov commit ae91d10aab2762f81733e9194cb56eff99c8d808 Author: Dmitry Torokhov Date: Thu Jun 14 23:49:55 2007 -0400 Input: xpad - fix report for dpad and inverted Y and RY axes on xbox 360 Make the driver report Y/RY up as positive value and down as negative. Also make DPAD mapping the same as classic xpad. Reported-by: Brian Magnuson Tested-by: Jan Kratochvil Signed-off-by: Dmitry Torokhov commit 6426b333a7365035ede9744faa24bdc5682fad8a Author: Adrian Bunk Date: Thu Jun 14 23:33:26 2007 -0400 Input: xpad - make xpad_play_effect() static xpad_play_effect() does not need to be global. Signed-off-by: Adrian Bunk Signed-off-by: Dmitry Torokhov commit 2e8335a629e48a753642772a5fe758c12d2e48bf Author: Jan Kratochvil Date: Thu Jun 14 23:33:13 2007 -0400 Input: xpad - fix check for succesful usb_buffer_alloc Signed-off-by: Jan Kratochvil Signed-off-by: Dmitry Torokhov commit 5ec1f7f3e4a4896062dc6a64d38036588733bc23 Author: Andi Drebes Date: Thu Jun 14 23:33:01 2007 -0400 Input: grip-mp - use ARRAY_SIZE Signed-off-by: Andi Drebes Signed-off-by: Dmitry Torokhov commit 7ecfbfd3d000a5d6787cf3369228e7f0082b8758 Author: Ping Cheng Date: Thu Jun 14 23:32:48 2007 -0400 Input: wacom - add support for the new Bamboo tablets Signed-off-by: Ping Cheng Signed-off-by: Dmitry Torokhov commit 5f5655023f2814969b744c1e07494666587243aa Author: Hans-Christian Egtvedt Date: Thu Jun 14 23:32:35 2007 -0400 Input: add gpio-mouse driver Adds support for simulating a mouse using GPIO lines. The driver needs an appropriate platform device to be created by architecture code. The driver has been tested on AT32AP7000 microprocessor using the ATSTK1000 development board. Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Dmitry Torokhov commit 9657d75c5f0f7d0a9cb507521d3ad1436aea28c9 Author: Dmitry Torokhov Date: Thu Jun 14 23:32:24 2007 -0400 Input: convert from class devices to standard devices Signed-off-by: Dmitry Torokhov commit d63219a10126b878abbbffdf4c5bcf29ef756b7f Author: Dmitry Torokhov Date: Thu Jun 14 23:31:45 2007 -0400 Input: wistron - add support for querying/changing keymap Implement getkeycode and setkeycode methods for the device so EVIOCGKEYCODE and EVIOCSKEYCODE ioctls will work. Signed-off-by: Dmitry Torokhov commit c2554c91425a86e5d0409a76b7ddcb328362f08b Author: Dmitry Torokhov Date: Tue May 22 23:48:39 2007 -0400 Input: wistron - convert to use input-polldev Switch to using input-polldev skeleton instead of implementing polling loop by itself. Signed-off-by: Dmitry Torokhov commit 389679d8faa38bb6d069d9e1805f15e3cb9a6d7f Author: Eric Piel Date: Mon May 21 00:46:31 2007 -0400 Input: wistron - add LED support Add support to wistron_btns for leds that come with the multimedia keys. Mail and wifi leds are supported, on laptops which have them. Depending on the laptop, wifi subsystem may control just the led, or both the led and the wifi card. Wifi led interface is activated only for the former type of laptops, as the latter type is already managed. Leds are controled by the interface in /sys/class/leds. Signed-off-by: Eric Piel Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit a4da16d3838669d7fb096ea5d1e4917e5ca4dc16 Author: Eric Piel Date: Mon May 21 00:46:22 2007 -0400 Input: wriston - reduce polling frequency Reduces the polling frequency from 10 Hz to 2 Hz, which should be less a burden for laptops wrt energy saving. As it is multimedia keys, 500ms (maximum) of latency should be still fine for the user. In order to keep fluent the feeling when the user is pressing several keys in a raw (such as changing the volume), the frequency is increased for a short duration after a key is pressed. Signed-off-by: Eric Piel Signed-off-by: Dmitry Torokhov commit 5035522d1a6b55f95e7e01c209b57f5d89f88b16 Author: Rene van Paassen Date: Mon May 21 00:32:21 2007 -0400 Input: aiptek - update driver version Update credits and version number to 2.3 Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 1e7b3faed1793e7637a774240ae22541c5ba6ca0 Author: Rene van Paassen Date: Mon May 21 00:32:17 2007 -0400 Input: aiptek - rework the function key code Function keys (also called macro keys) code corrected. Using a lastMacro variable to keep track of key currently pressed. This ensures proper resetting when dragging the pen in the drawing area or to another key. Also suppress sending pressure reports when over the macro key area. Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 0112db36ef95e5632db071297f7df130725c47b9 Author: Rene van Paassen Date: Mon May 21 00:32:12 2007 -0400 Input: aiptek - tolerate newlines in sysfs files Now echo "some value" > /sys/......./somefile is also acceptable. Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit b3b6cf1d47508a04de859d357789a3fc0cf8c690 Author: Rene van Paassen Date: Mon May 21 00:32:07 2007 -0400 Input: aiptek - correct the tool switching code Now the old tool is remembered, and reset when a new tool is selected via the sysfs files. Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit da9fda434cde76dfb8174548a63b685b4ac00a9c Author: Rene van Paassen Date: Mon May 21 00:32:03 2007 -0400 Input: aiptek - use only absolute misc reports To get an on - off reporting for proximity, absolute misc reports are used. The mixture of absolute and relative reports is awkward Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 6125a400354c4a02b9dad0e5d8128f9dc08cfd51 Author: Rene van Paassen Date: Mon May 21 00:31:59 2007 -0400 Input: aiptek - put sensible warnings in probe Added warnings to the points where the tablet probe may fail Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 1a54f49e8989462cfc9cab0c377b2d4e60e5b70a Author: Rene van Paassen Date: Mon May 21 00:31:55 2007 -0400 Input: aiptek - use set_bit instead of bitwise or Have to use set_bit since some bit values are over 32, and bitwise or won't work on these. To be safe for the future too, use set_bit for all input dev capabilities Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 0038cae0ffd72b75699010bd112655dc2615e2fd Author: Mark Vytlacil Date: Mon May 21 00:31:50 2007 -0400 Input: aiptek - fix relative mode parsing Corrections to relative mode, was looking at wrong byte Signed-off-by: Mark Vytlacil Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit ce0982edaec2c46dc9ec466e03f1fe94ee0862d8 Author: Rene van Paassen Date: Mon May 21 00:31:45 2007 -0400 Input: aiptek - fixed mouse button defines Mouse button defines tested the wrong bits, now fixed Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit fe981f2340edffcb6aad2203d8f14c9bef0e67e3 Author: Rene van Paassen Date: Mon May 21 00:31:24 2007 -0400 Input: aiptek - correct the proximity and validity checks Calculation of proximity bit and of data valid bits were reversed for stylus reports. Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 2fe574167be6a61d5f37c496da01c4a7daa73f4d Author: Rene van Paassen Date: Mon May 21 00:18:24 2007 -0400 Input: aiptek - correct documentation on reports Small fix that corrects the documentation on the report byte format produced by the mouse Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 33936fa603f2524a7dde08d22637d0989a4e8fdd Author: Dmitry Torokhov Date: Mon May 21 00:18:15 2007 -0400 Input: aiptek - use array to list all buttons When setting up input device use an array to list all the buttons instead of setting every bit separately. Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 37767b66ed61ee37f0d8f40523f74c31bc187d1d Author: Dmitry Torokhov Date: Mon May 21 00:18:08 2007 -0400 Input: aiptek - kill aiptek_convert_from_2s_complement() There is no reason to do that, just tell the compiler that we are dealing with signed values in buffer, that's it. Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit cd438a58c89221d8642455d0cc8ec96d3b822f6e Author: Dmitry Torokhov Date: Mon May 21 00:17:57 2007 -0400 Input: aiptek - use maps in attributes Use maps to convert for strings to internal constants and vice versa in aiptek's sysfs attribute methods instead of open-coding it. This results in smaller code that is also easier to maintain. [Rene: fix a typo - stylys instead of stylus] Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 02fb6c385c72823af4fac83963a05be9163c73ea Author: Dmitry Torokhov Date: Mon May 21 00:17:44 2007 -0400 Input: aiptek - do not check for NULL in attribute methods It makes no sense to check for NULL in attribute methods - we do usb_set_intfdata before creating attributes and once attributes have been removed we are guaranteed to not be called. Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit b087e1f3ee9ae4da49fdeca2b0f0f8fc5a886a79 Author: Dmitry Torokhov Date: Mon May 21 00:17:37 2007 -0400 Input: aiptek - use attribute group Use attribute group to simplify error handling and reduce code. [Rene: add missing NULL to properly terminate aiptek_attributes] Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 5c659c62f9f60633a8de17bd17afaa448f1e1d68 Author: Dmitry Torokhov Date: Mon May 21 00:17:22 2007 -0400 Input: aiptek - remove vendor and product attributes from sysfs They are already exported by input core; there is no need to do it twice. Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 9b40ed088bb14ebed30540b19d5c417dc4d9d528 Author: Dmitry Torokhov Date: Mon May 21 00:17:12 2007 -0400 Input: aiptek - do not try to export associated event device Do not try to export via sysfs associated event device - it does not work when evdev is a module that is loaded after aiptek; also it pokes too deply into input core internals. Userspace should rely on udev to set up permanent device name for the tablet. Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit aea6a46122a0ce65a831fd93cac6d2084ac666f9 Author: Aristeu Rozanski Date: Thu May 10 01:47:18 2007 -0400 Input: psmouse - add support for Cortron PS/2 Trackballs Cortron PS/2 Trackballs (700-0001A) report the 4th button using the 4th bit of the first packet (yes, it breaks the standard PS/2 protocol). This patch adds an extra protocol to generate BTN_SIDE based on the 4th bit. There's no way to detect those trackballs using any kind of special sequence, thus the protocol must be activated explicitely by writing into 'protocol' sysfs attribute: echo -n "cortps" > /sys/devices/platform/i8042/serio1/protocol Signed-off-by: Aristeu Rozanski Signed-off-by: Dmitry Torokhov commit e01a06e8df239de0ffd4ee37d296c7bc3f57e817 Author: Jan Kratochvil Date: Wed May 9 00:27:51 2007 -0400 Input: xpad - add Xbox360 gamepad rumble support Implementation is using force feedback support for memoryless devices. Signed-off-by: Jan Kratochvil Signed-off-by: Dmitry Torokhov commit c7d9f7eb30dccf601cbdc67d5bd452f54ce90ce4 Author: Jan Kratochvil Date: Wed May 9 00:27:37 2007 -0400 Input: xpad - add support for Xbox 360 gamepad Xbox 360 gamepad is slightly different then the previous model so it has its own version of process_packet method. Detection of this new device relies on USB_DEVICE_INTERFACE_PROTOCOL macro. This device got vendor specific subclass so it can't be matched with USB_INTERFACE_INFO and we need only one interface protocol from four availaible. It means USB_DEVICE can't be used either. Added xpad360_btn structure with additional buttons for x360 gamepad. Added xtype into xpad_device structure to distinguish between different types of xbox devices. Signed-off-by: Jan Kratochvil Signed-off-by: Dmitry Torokhov commit f836ac808f031e84d7d73a3540f30f38036bb41e Author: Jan Kratochvil Date: Wed May 9 00:26:15 2007 -0400 USB: Add USB_DEVICE_INTERFACE_PROTOCOL macro The USB_DEVICE_INTERFACE_PROTOCOL will allow to match one interface protocol of vendor specific device. This macro is used in patch adding support for xbox360 to xpad.c Signed-off-by: Jan Kratochvil Signed-off-by: Greg Kroah-Hartman Signed-off-by: Dmitry Torokhov commit f72d2f081453d8b1ea36e47478c3463042746ddc Author: Hoang-Nam Nguyen Date: Mon Jul 9 15:33:52 2007 +0200 IB/ehca: Improve latency by unlocking after triggering the hardware Kick the hardware before unlocking the send/receive queue to overlap processing a little more. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 8705ce5b90118be93eb8b0ed6f49ca5ff377df24 Author: Joachim Fenkes Date: Mon Jul 9 15:32:22 2007 +0200 IB/ehca: Notify consumers of LID/PKEY/SM changes after nondisruptive events When firmware reports a nondisruptive port configuration change event, previous versions of the eHCA driver didn't forward the event to consumers like IPoIB. Add code that determines the type of configuration change by comparing old and new port attributes and reports it. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit b1cfe43d4b24144596d277133e0e5b715eea1347 Author: Joachim Fenkes Date: Mon Jul 9 15:31:53 2007 +0200 IB/ehca: Return QP pointer in poll_cq() Also add two unlikely() statements. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 26ed687fdd541c2542b79dcd75fb2c82eb36f189 Author: Joachim Fenkes Date: Mon Jul 9 15:31:10 2007 +0200 IB/ehca: Change idr spinlocks into rwlocks This eliminates lock contention among IRQs as well as the need to disable IRQs around idr_find, because there are no IRQ writers. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 28db6beb420c756c61dd44d9f2786a0677159e74 Author: Joachim Fenkes Date: Mon Jul 9 15:30:39 2007 +0200 IB/ehca: Refactor sync between completions and destroy_cq using atomic_t - ehca_cq.nr_events is made an atomic_t, eliminating a lot of locking. - The CQ is removed from the CQ idr first now to make sure no more completions are scheduled on that CQ. The "wait for all completions to end" code becomes much simpler this way. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 9844b71baa60270110eabaa9589d3260443d1a71 Author: Joachim Fenkes Date: Mon Jul 9 15:29:03 2007 +0200 IB/ehca: Lock renaming, static initializers - Rename all spinlock flags to "flags", matching the vast majority of kernel code. - Move hcall_lock into the only file it's used in. - Replaced spin_lock_init() and friends with static initializers for global variables. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 15f001ec47b049051f679f8b8c965ac9aae95b3e Author: Hoang-Nam Nguyen Date: Mon Jul 9 15:28:18 2007 +0200 IB/ehca: Report RDMA atomic attributes in query_qp() Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 85f003172fc130626261730141ed021258e81f85 Author: Stefan Roscher Date: Mon Jul 9 15:27:13 2007 +0200 IB/ehca: Set SEND_GRH flag for all non-LL UD QPs on eHCA2 Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 472803dab844c0a8a5d757d4c67fa5e76013dcbd Author: Stefan Roscher Date: Mon Jul 9 15:26:31 2007 +0200 IB/ehca: Support UD low-latency QPs Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit a6a12947fbf4a1782535468d756b0d44babf9760 Author: Joachim Fenkes Date: Mon Jul 9 15:25:10 2007 +0200 IB/ehca: add Shared Receive Queue support Support SRQs on eHCA2. Since an SRQ is a QP for eHCA2, a lot of code (structures, create, destroy, post_recv) can be shared between QP and SRQ. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 9a79fc0a1b815cbd05a8e37ea838acfccb7235cc Author: Joachim Fenkes Date: Mon Jul 9 15:23:15 2007 +0200 IB/ehca: QP code restructuring in preparation for SRQ - Replace init_qp_queues() by a shorter init_qp_queue(), eliminating duplicate code. - hipz_h_alloc_resource_qp() doesn't need a pointer to struct ehca_qp any longer. All input and output data is transferred through the parms parameter. - Change the interface to also support SRQ. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 91f13aa3fc22e357b494c5b8270e94543870928d Author: Joachim Fenkes Date: Mon Jul 9 15:21:45 2007 +0200 IB/ehca: HW level, HW caps and MTU autodetection In preparation for support of new eHCA2 features, change adapter probing: - Hardware level is changed to encode major and minor chip version - Hardware capabilities are queried from the firmware - The maximum MTU is queried from the firmware instead of assuming a fixed value Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit b8a3ba551369982180917a999d32fcedbba34115 Author: Hoang-Nam Nguyen Date: Mon Jul 9 15:20:55 2007 +0200 IB/ehca: Change scaling_code parameter description to match default value Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit f41d229865c984015914221959675b1c8723f6a7 Author: Sean Hefty Date: Thu Jun 28 19:16:20 2007 -0700 IB/ipath: return correct PortGUID in NodeInfo Return the PortGUID of the correct port when responding to a NodeInfo query. Returning the SystemImageGUID causes issues when there are multiple HCAs in a single system. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 78526821bee8506ab903f596e8e6187fa5919877 Author: Roland Dreier Date: Mon Jul 9 20:12:26 2007 -0700 IB: Update mailing list address The InfiniBand / RDMA discussion list has moved. Signed-off-by: Roland Dreier commit 4f5973fd3bed9dbff0940ad6cc918be64a17b3e4 Author: Arthur Jones Date: Fri Jul 6 12:48:58 2007 -0700 IB/ipath: Remove bogus RD_ATOMIC checks from modify_qp The changeset 3859e39d ("IB/ipath: Support larger IB_QP_MAX_DEST_RD_ATOMIC and IB_QP_MAX_QP_RD_ATOMIC") added support for larger RD_ATOMIC values, but it failed to take out the stricter checks that were before these and hence had no effect. This patch takes out the bogus checks.... Signed-off-by: Arthur Jones Signed-off-by: Roland Dreier commit 3588423fbab1cfaf839e67378897e232a054f317 Author: Arthur Jones Date: Fri Jul 6 12:48:53 2007 -0700 IB/ipath: Test interrupts at driver startup All too often, interrupts do not get enabled for our card due to BIOS misconfiguration and other issues. This patch checks for that condition on startup and warns the user. This patch is based on work (check LID availability) by Robert Walsh. Signed-off-by: Arthur Jones Signed-off-by: Roland Dreier commit 9ca48655667214be6ebd191628a3c4b5b529a87e Author: Ralph Campbell Date: Fri Jul 6 12:48:48 2007 -0700 IB/ipath: Remove support for preproduction HTX InfiniPath cards Clean up some code by removing support for some older pre-production HTX InfiniPath cards. Signed-off-by: Ralph Campbell commit 12f9a49e1bce241c243268c764e1b37391157cd0 Author: Dave Olson Date: Fri Jul 6 12:48:43 2007 -0700 IB/ipath: Change version wording to be less confusing with release number Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 37a7e9b7f28fbef4b6abda102fa41c1467f6022f Author: Ralph Campbell Date: Fri Jul 6 12:48:38 2007 -0700 IB/ipath: Lower default number of kernel send buffers The default calculation for the number of send buffers to allocate to the kernel was too high for the PCIe version of the chip thus leaving fewer than desired send buffers for user MPI applications. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit f42b6471e9e9082ed4bcba1456eccadf98f1337a Author: Arthur Jones Date: Mon Jul 9 20:12:26 2007 -0700 IB/ipath: Update MAINTAINERS entry Bryan is no longer with QLogic and we now have a public git server and a public email alias for infinipath driver patches. And, as pointed out by Hal Rosenstock, the mailing list has changed as well. Signed-off-by: Arthur Jones Signed-off-by: Roland Dreier commit 0f4fc5ebd9a68ede20ca365576a6df2df2fefc4c Author: Dave Olson Date: Fri Jul 6 12:48:33 2007 -0700 IB/ipath: Be more cautious about coming out of freeze mode We are more careful to be sure that we don't lose information about changes that occurred while we were in freeze mode, when the chip will not notify us, and try to avoid false error interrupts while doing cleanup. Put all of this logic in a new function ipath_clear_freeze(). Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 4fc570bcbe77f823aae183dd824869f79e74cc97 Author: Ralph Campbell Date: Fri Jul 6 12:48:23 2007 -0700 IB/ipath: Add barrier before updating WC head in shared memory Add a barrier to make sure the CPU doesn't reorder writes to memory, since user programs can be polling on the head index update and the entry should be written before that. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 06cc85086e6896939f8c68f8518224748f6b0b2f Author: Jan Engelhardt Date: Wed May 23 14:21:22 2007 -0700 IB: Use menuconfig for InfiniBand menu Change Kconfig objects from "menu, config" into "menuconfig" so that the user can disable the whole feature without having to enter the menu first. Signed-off-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Roland Dreier commit 6abb6ea80b6564c00906aa0727cf59d2be780d82 Author: WANG Cong Date: Mon Jul 9 20:12:26 2007 -0700 RDMA/cxgb3: Check return of kmalloc() in iwch_register_device() Signed-off-by: WANG Cong [ Also remove cast from void * return of kmalloc() as suggested by Jesper Juhl . ] Signed-off-by: Roland Dreier commit ecc2f0060fa7ff2fc53864ee19e370e5ddd47d5e Author: Steve Wise Date: Mon Jun 25 12:46:00 2007 -0500 RDMA/cxgb3: Don't abort after failures sending the mpa reply This bug results in an abort request being sent down _after_ the tid has been released. If the tid happens to have been reused, then the subsequent generation of the tid gets incorrectly aborted. The thread running iwch_accecpt_cr() must not abort a connection if an error is returned after being awakened. If any errors did occur while iwch_accept_cr() is blocked, then the connection has already been aborted on the thread processing the error. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 96d0e4931e264012f57a2ae8f7c4697bfa55386a Author: Steve Wise Date: Thu Jun 21 18:17:57 2007 -0500 RDMA/cxgb3: Don't post TID_RELEASE message The LLD does this for us in cxgb3_remove_tid(). Also fixed active open failure cases where we also shouldn't be releasing the TID. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 6eda48d1e82f901d977a405e43a849dc79968d61 Author: Steve Wise Date: Tue Jun 19 09:27:48 2007 -0500 RDMA/cxgb3: ctrl-qp init/clear shouldn't set the gen bit Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 1580367e7b2068d075cd42d04c4b8c274815e6fc Author: Steve Wise Date: Tue Jun 19 09:27:48 2007 -0500 RDMA/cxgb3: Don't count neg_adv abort_req_rss messages as real aborts Negative advice messages should _not_ count toward the 2 abort requests needed to indicate an abort request. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit fb497d726612bb0e50240405aaabcf37f13901ed Author: Steve Wise Date: Tue Jun 19 09:27:48 2007 -0500 RDMA/cxgb3: TERMINATE WRs can hang the tx ofld queue Don't set the gen bits nor length bits in the terminate WR. This is done by the LLD driver. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit de3d353072f9342f04112ba0504c3e294220cb8f Author: Steve Wise Date: Mon May 14 13:27:27 2007 -0500 RDMA/cxgb3: Streaming -> RDMA mode transition fixes Due to a HW issue, our current scheme to transition the connection from streaming to rdma mode is broken on the passive side. The firmware and driver now support a new transition scheme for the passive side: - driver posts rdma_init_wr (now including the initial receive seqno) - driver posts last streaming message via TX_DATA message (MPA start response) - uP atomically sends the last streaming message and transitions the tcb to rdma mode. - driver waits for wr_ack indicating the last streaming message was ACKed. NOTE: This change also bumps the required firmware version to 4.3. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 149983af609e8f5c57157467baf8545d17b8a6a1 Author: Dotan Barak Date: Tue Jun 26 15:55:28 2007 +0300 mlx4_core: Get the maximum message size from reported device capabilities Get the maximum message size from the device capabilities returned from the QUERY_DEV_CAP firmware command, rather than hard-coding 2 GB. Signed-off-by: Dotan Barak Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit 87427da55bc03dbce7906a5b09ed50279d654d28 Author: John Gregor Date: Mon Jun 11 10:21:14 2007 -0700 IB/ipath: Update copyright dates Now that it's June, it's about time to update the copyright notices of files that have changed. Signed-off-by: John Gregor Signed-off-by: Roland Dreier commit 991bda284dcbc1ed0522683320043ac41d70c82c Author: Robert Walsh Date: Mon Jun 4 09:55:48 2007 -0700 IB/ipath: Clean send flags properly on QP reset Signed-off-by: Robert Walsh Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit f2d042313e420002b06715675963cfab48ed2597 Author: Robert Walsh Date: Mon Jun 18 14:24:49 2007 -0700 IB/ipath: ipath_poll fixups and enhancements Fix ipath_poll and enhance it so we can poll for urgent packets or regular packets and receive notifications of when a header queue overflows. Signed-off-by: Robert Walsh Signed-off-by: Roland Dreier commit b506e1dc59726a1c608f26e7294b9fe186255139 Author: Robert Walsh Date: Mon Jun 18 14:24:48 2007 -0700 IB/ipath: Send ACK invalid where appropriate The IB specification ch. 9.9.3 table 58 says that a QP which isn't set up for the operation should return a NAK invalid request. Signed-off-by: Robert Walsh Signed-off-by: Roland Dreier commit e8e7ad711509f576b1bffd92c3ae4672fe92ec48 Author: Michael Albaugh Date: Mon Jun 18 14:24:47 2007 -0700 IB/ipath: Add capability to modify PBC word During compliance testing and when debugging some interconnect issues, it is very useful to be able to send malformed packets, without having the device signal them as malformed (drop, or terminate with EBP). The hardware supports this, but the driver "diagnostic packet" interface did not. Extend capability to send specific malformed packets for testing. Signed-off-by: Michael Albaugh Signed-off-by: Roland Dreier commit bacf4013530e7fc230a8aa0c6ea3c17fc2f47665 Author: Mark Debbage Date: Mon Jun 18 14:24:46 2007 -0700 IB/ipath: Make handling of one subport consistent Previously the driver and userspace code handled the case of 1 subport somewhat inconsistently. The new interpretation of this situation is that if one subport is requested, the driver turns on the subport mechanism and arranges for the port to be "shared" by one process. In normal use the userspace library does not use this configuration and instead arranges for the port not to be shared at all. This particular idiom can be useful for testing purposes. Signed-off-by: Mark Debbage Signed-off-by: Roland Dreier commit 0df6291c8af2778d05f278d5738eef2c8fafa2dd Author: Mark Debbage Date: Mon Jun 18 14:24:45 2007 -0700 IB/ipath: Correct checking of swminor version field when using subports When subports are required to run a program, this patch checks that the driver and the userspace library have compatible subport implementations. This is achieved through checks on the swminor version field built into the driver and userspace library. Bad combinations are reported through syslog and result in an error when opening the port. Signed-off-by: Mark Debbage Signed-off-by: Roland Dreier commit d781b129f1e8b3e2f369d8035a61a5233832e65c Author: Ralph Campbell Date: Mon Jun 18 14:24:44 2007 -0700 IB/ipath: Duplicate RDMA reads can cause responder to NAK inappropriately A duplicate RDMA read request can fool the responder into NAKing a new RDMA read request because the responder wasn't keeping track of whether the queue of RDMA read requests had been sent at least once. For example, requester sends 4 2K byte RDMA read requests, times out, and resends the first, then sees the 4 responses, then sends a 5th RDMA read or atomic operation. The responder sees the 4 requests, sends 4 responses, sees the resent 1st request, rewinds the queue, then sees the 5th request but thinks the queue is full and that the requester is invalidly sending a 5th new request. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 30d149ab58cc3ed8e4bc9c4dc45bebbed0e84b6e Author: Ralph Campbell Date: Mon Jun 18 14:24:44 2007 -0700 IB/ipath: Fix possible data corruption if multiple SGEs used for receive The code to copy data from the receive queue buffers to the IB SGEs doesn't check the SGE length, only the memory region/page length when copying data. This could overwrite parts of the user's memory that were not intended to be written. It can only happen if multiple SGEs are used to describe a receive buffer which almost never happens in practice. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit db5518cd09c21f0fa70af0a4ca38badd90622c9e Author: Ralph Campbell Date: Mon Jun 18 14:24:43 2007 -0700 IB/ipath: Wait for PIO available interrupt The send function is called when posting new send work requests. There is no point in trying to send a packet if the QP is already waiting for a HW send buffer so don't clear the busy bit until the buffer available interrupt happens. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 06ee109002672ac875558ec699b53cf08a865bd3 Author: Ralph Campbell Date: Mon Jun 18 14:24:42 2007 -0700 IB/ipath: Fix RDMA read retry code A RDMA read response or atomic response can ACK earlier sends and RDMA writes. In this case, the wrong work request pointer was being used to store the read first response or atomic result. Also, if a RDMA read request is retried, the code to compute which request to resend was incorrect. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 9380068fc2f230e7840ff87d3f1e6030ae2ee5e8 Author: Dave Olson Date: Mon Jun 18 14:24:41 2007 -0700 IB/ipath: Use S_ABORT not cancel and abort on exit freeze mode after recovery This centralizes the use of the abort functionality, removes the unneeded buffer cancel (abort does the same thing), sets up to ignore launch errors after abort, same as cancel. We need abort on exit from freeze mode to avoid having buffers stuck in the busy state, if a user process happened to complete the send while we were in freeze mode doing the recovery. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 561095f20eeb5c6c05c303bad8cdb3f8a80821bc Author: Dave Olson Date: Mon Jun 18 14:24:40 2007 -0700 IB/ipath: Fix the mtrr_add args for chips with 2 buffer sizes The values passed have never been right for iba 6120 chips, but just happened to work. We needed to select the right buffer offset in the chip (both are in same register), and the total length was wrong also, but was covered by the rounding up. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit f716cdfe57f217966f41a7add190d6f5b9fd0769 Author: Joan Eslinger Date: Mon Jun 18 14:24:39 2007 -0700 IB/ipath: Change use of constants for TID type to defined values Define pkt rcvd 'type' in a way consistent with HW spec and chips. The hardware considers received packets of type 0 to be expected, and type 1 to be eager. The driver was calling the ipath_f_put_tid functions using a variable called 'type' set to 0 for eager and to 1 for expected packets. Worse, the iba6110 and iba6120 drivers used those values inconsistently. This was quite confusing. Now everything is consistent with the hardware. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 1dd6a1be1416be48cafda9e63a614f26f0428d10 Author: Ralph Campbell Date: Mon Jun 18 14:24:38 2007 -0700 IB/ipath: Set M bit in BTH according to IB spec According to chapter 17.2.8.1.1, QPs start in the migrated state and should send packets with the M bit set in the BTH. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 6d2fad0472ca0d6caba7c36d2823a527e2a0e4f5 Author: Ralph Campbell Date: Mon Jun 18 14:24:38 2007 -0700 IB/ipath: Fix local loopback bug when waiting for resources This patch fixes a minor bug where the wrong QP was checked for a send work request that should wait for an RNR timeout. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 2c9749c3b534ea0e606b7ee2c29849bbb8d5b0a9 Author: Ralph Campbell Date: Mon Jun 18 14:24:37 2007 -0700 IB/ipath: Fix problem with next WQE after a UC completion This patch fixes a bug introduced when moving some code around for readability. Setting the wqe pointer at the end of the function is a NOP since it isn't used. Move it back to where it is used. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit fdc7215fbd7b7652b052d1fb7893afe324dba7aa Author: Robert Walsh Date: Mon Jun 18 14:24:36 2007 -0700 IB/ipath: Fill in some missing FMR-related fields in query_device In ipath_query_device(), some of the struct ib_device_attr fields were not being initialized. Signed-off-by: Robert Walsh Signed-off-by: Roland Dreier commit e7340f04426416a6655ffaead4651bfb9e1b0848 Author: Robert Walsh Date: Mon Jun 18 14:24:35 2007 -0700 IB/ipath: Fix maximum MTU reporting Although our chip supports 4K MTUs, our driver doesn't yet support this feature, so limit the maximum MTU to 2K until we get support for 4K MTUs implemented. Signed-off-by: Robert Walsh Signed-off-by: Roland Dreier commit 380bf5d38f3cc2799ed2fae554f7af1c4b0ed35b Author: Dave Olson Date: Mon Jun 18 14:24:35 2007 -0700 IB/ipath: Support the IBA6110 revision 4 Recognize IBA 6110 Revision 4: same feature set, etc. as earlier revisions. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit aecd3b5ab19624ca9644b9df9c61615282d8923f Author: Michael Albaugh Date: Thu May 17 07:26:28 2007 -0700 IB/ipath: Log "active" time and some errors to EEPROM We currently track various errors, now we enhance that capability by logging some of them to EEPROM. We also now log a cumulative "active" time defined by traffic though the InfiniPath HCA beyond the normal SM traffic. Signed-off-by: Michael Albaugh Signed-off-by: Roland Dreier commit 8e9ab3f1c9e34d5c28446c3738983d33a3937fe0 Author: John Gregor Date: Thu May 17 08:15:50 2007 -0700 IB/ipath: Remove incompletely implemented ipath_runtime flags and code The IPATH_RUNTIME_PBC_REWRITE and the IPATH_RUNTIME_LOOSE_DMA_ALIGN flags were not ever implemented correctly and did not turn out to be necessary. Remove the last vestiges of these flags but mark the spot with a comment to remind us to not reuse these flags in the interest of binary compatibility. The INFINIPATH_XGXS_SUPPRESS_ARMLAUNCH_ERR bit was also not found to be useful, so it was dropped in the cleanup as well. Signed-off-by: John Gregor Signed-off-by: Arthur Jones Signed-off-by: Roland Dreier commit 17b2eb9fe6bfadcb3ece308ed50193d10b71ba6e Author: Michael Albaugh Date: Thu May 17 07:05:04 2007 -0700 IB/ipath: Lock and always use shadow copies of GPIO register The new LED blinking interface adds more contention for the unprotected GPIO pins that were already shared, though not commonly at the same time. We add locks to the accesses to these pins so that Read-Modify-Write is now safe. Some of these locks are added at interrupt context, so we shadow the registers which drive and inspect these pins to avoid the mmio read/writes. This mitigates the effects of the locks and hastens us through the interrupt. Add locking and always use shadows for registers controlling GPIO pins (ExtCtrl and GPIOout). The use of shadows implies doing less I/O, which can make I2C operation too fast on some platforms. An explicit udelay(1) in SCL manipulation fixes that. Signed-off-by: Michael Albaugh Signed-off-by: Roland Dreier commit 82466f00ec6ef0a5ca7ea8991c731af2ec561c7d Author: Michael Albaugh Date: Wed May 16 15:45:09 2007 -0700 IB/ipath: Support blinking LEDs with an led_override file When we want to find an InfiniPath HCA in a rack of nodes, it is often expeditious to blink the status LEDs via a userspace /sys file. A write-only led_override "file" is published per device. Writes to this file are interpreted as (string form) numbers, and the resulting value sent to ipath_set_led_override(). The upper eight bits are interpretted as a 4.4 fixed-point "frequency in Hertz", and the bottom two 4-bit values are alternately (D0..3, then D4..7) used by the board-specific LED-setting function to override the normal state. Signed-off-by: Michael Albaugh Signed-off-by: Roland Dreier commit a024291b367f98188f4da4a66a9f2f40a2163efb Author: Bryan O'Sullivan Date: Wed May 16 15:31:19 2007 -0700 IB/ipath: Include to fix ppc64 build Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit 525f5f44c487201c91a11904516ee56dea93644e Author: Michael S. Tsirkin Date: Mon Jul 9 20:12:20 2007 -0700 mlx4_core: Include linux/mutex.h from mlx4.h mlx4.h uses struct mutex, so although seems to be pulled in indirectly by one of the headers it includes, the right thing to do is to include directly. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit 70e8992ec771793e18d33d3a6f2247e558baf6ac Author: Dave Jones Date: Mon Jul 9 20:23:50 2007 -0400 [AGPGART] Hand off AGP maintainence. Most of the AGP changes recently have been done in lock-step with DRM updates, so it's probably easier to have airlied pushing AGP changes at the same time he does DRM updates. [Also remove my name from the boot messages. Cautionary tale to others: Never do this, when computers don't boot, people assume you're responsible even if 15 other subsystems initialised after yours. :-) ] Signed-off-by: Dave Jones Signed-off-by: Dave Airlie commit 63019d9329628a5056b3a0c76aee955873dc25c3 Author: Michael S. Tsirkin Date: Mon Jun 11 08:56:10 2007 +0300 IB/mlx4: Include linux/mutex.h from mlx4_ib.h mlx4_ib.h uses struct mutex, so although seems to be pulled in indirectly by one of the headers it includes, the right thing is to include directly. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit 1d3f4b905a786d69103d9e6d8e92683fb2c7a027 Author: Andrew Morton Date: Fri Jun 8 16:29:43 2007 -0700 IB: Fix ib_umem_get() when npages == 0 gcc correctly warned: drivers/infiniband/core/umem.c: In function 'ib_umem_get': drivers/infiniband/core/umem.c:78: warning: 'ret' may be used uninitialized in this function Set ret to 0 in case npages == 0 and the loop isn't entered at all. Signed-off-by: Andrew Morton Signed-off-by: Roland Dreier commit 43506d954e43933cd6fdcab679f6ab057e7607c6 Author: Roland Dreier Date: Mon Jul 9 16:17:32 2007 -0700 IB: Remove garbage non-ASCII characters from comments A few files had 0xa0 characters in comments. Remove them so that the files are clean ASCII text. Signed-off-by: Roland Dreier commit fffba373ef8cc9a5881353395c4edd1ab27cf154 Author: Joachim Fenkes Date: Thu May 24 16:51:05 2007 +0200 IB/ehca: Refactor "maybe missed event" code Refactor the ehca changes from commit ed23a727 ("IB: Return "maybe missed event" hint from ib_req_notify_cq()") so the queue arithmetic is done in slightly fewer lines. Also, move the spinlock flags into the block they're used in. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 1bae4dbf9576e563da23927e4078fffbbce67a75 Author: Hal Rosenstock Date: Mon May 14 17:21:52 2007 -0400 IB/mad: Enhance SMI for switch support Extend the SMI with switch (intermediate hop) support. Care has been taken to ensure that the CA (and router) code paths are changed as little as possible. Signed-off-by: Suresh Shelvapille Signed-off-by: Hal Rosenstock Signed-off-by: Roland Dreier commit 71780f59e127bb281a9302d430495ca9586c14e7 Merge: 36b7741... 7aa4848... Author: Linus Torvalds Date: Mon Jul 9 15:50:56 2007 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: (31 commits) firewire: fw-sbp2: fix DMA mapping of management ORBs firewire: fw-sbp2: fix DMA mapping of command ORBs firewire: fw-sbp2: fix DMA mapping of S/G tables firewire: fw-sbp2: add a boundary check firewire: fw-sbp2: correctly align page tables firewire: fw-sbp2: memset wants string.h firewire: fw-sbp2: use correct speed in sbp2_agent_reset firewire: fw-sbp2: correctly dereference by container_of firewire: Document userspace ioctl interface. firewire: fw-sbp2: implement nonexclusive login firewire: fw-sbp2: let SCSI shutdown commands through before logout firewire: fw-sbp2: implement max sectors limit for some old bridges firewire: simplify a struct type firewire: support S100B...S400B and link slower than PHY firewire: optimize gap count with 1394b leaf nodes firewire: remove unused macro firewire: missing newline in printk firewire: fw-sbp2: remove unused struct member ieee1394: remove old isochronous ABI ieee1394: sbp2: change some module parameters from int to bool ... commit 36b774102e5ede8d0384684bd394c8285dce5a53 Merge: 71ba22f... feb485d... Author: Linus Torvalds Date: Mon Jul 9 15:50:31 2007 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: HID: handle cases of volume knobs generating relative values HID: Logitech keyboard 0xc311 needs reset leds quirk HID: support for logitech cordless desktop LX500 special mapping HID: fix autocentering of PID devices HID: separate quirks for report descriptor fixup HID: Add NOGET quirk for all NCR devices HID: support for Petalynx Maxter remote control HID: fix mismatch between hid-input HUT find/search mapping and the HUT HID: support for Gameron dual psx adaptor USB HID: avoid flush_scheduled_work() HID: Use menuconfig objects HID: force hid-input for Microsoft SideWinder GameVoice device HID: input mapping for Chicony KU-0418 tactical pad HID: make debugging output runtime-configurable commit 71ba22fa739029bb158144813b9e82c00326497c Merge: 27a278a... f2ec803... Author: Linus Torvalds Date: Mon Jul 9 15:26:43 2007 -0700 Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (75 commits) Ethernet driver for EISA only SNI RM200/RM400 machines Extract chip specific code out of lasi_82596.c ehea: Whitespace cleanup pasemi_mac: Fix TX interrupt threshold spidernet: Replace literal with const r8169: perform RX config change after mac filtering r8169: mac address change support r8169: display some extra debug information during startup r8169: add endianess annotations to [RT]xDesc r8169: align the IP header when there is no DMA constraint r8169: add bit description for the TxPoll register r8169: cleanup r8169: remove the media option r8169: small 8101 comment r8169: confusion between hardware and IP header alignment r8169: merge with version 8.001.00 of Realtek's r8168 driver r8169: merge with version 6.001.00 of Realtek's r8169 driver r8169: prettify mac_version r8169: populate the hw_start handler for the 8110 r8169: populate the hw_start handler for the 8168 ... commit 7aa484815f8c4defd01366f239b71da5e6b8a791 Author: Stefan Richter Date: Mon Jul 2 21:04:44 2007 +0200 firewire: fw-sbp2: fix DMA mapping of management ORBs The CPU must not touch the buffer after it was DMA-mapped. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit 8526392ae816a2c69f57097ba032865523019caa Author: Stefan Richter Date: Mon Jul 2 21:04:08 2007 +0200 firewire: fw-sbp2: fix DMA mapping of command ORBs The CPU must not touch the buffer after it was DMA-mapped. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit b4be016ad81af5a83f0be820edf106de883e6ade Author: Stefan Richter Date: Mon Jul 2 22:07:34 2007 +0200 firewire: fw-sbp2: fix DMA mapping of S/G tables - The CPU must not touch the buffer after it was DMA-mapped. - The size argument of dma_unmap_single(...page_table...) was bogus. - Move a comment closer to the code to which it refers to. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit 332ef3310bc37ff29fd4382d6dfb38a787078091 Author: Stefan Richter Date: Sun Jul 1 13:56:03 2007 +0200 firewire: fw-sbp2: add a boundary check Add rudimentary check for the case that the page table overflows due to merging of s/g elements by the IOMMU. This would have lead to overwriting of arbitrary memory. After this change I expect that an offending command will be unsuccessfully retried until the scsi_device is taken offline by SCSI core. It's a border case and not worth to implement a recovery strategy. Signed-off-by: Stefan Richter Acked-by: Kristian Høgsberg commit 9fb2dd12c019965ffd15e5a0727af14488b3a772 Author: Stefan Richter Date: Sun Jul 1 13:55:31 2007 +0200 firewire: fw-sbp2: correctly align page tables This is required per SBP-2 clause 5.2. Signed-off-by: Stefan Richter Acked-by: Kristian Høgsberg commit e7cdf237b2a8b4b566721cfb08e448b454c74ada Author: Stefan Richter Date: Sun Jul 1 13:54:57 2007 +0200 firewire: fw-sbp2: memset wants string.h Signed-off-by: Stefan Richter Acked-by: Kristian Høgsberg commit ffd0db26ddc32cd87097ece9725921f43ad487ee Author: Stefan Richter Date: Sun Jul 1 13:54:24 2007 +0200 firewire: fw-sbp2: use correct speed in sbp2_agent_reset noticed by Jay Fenlason Signed-off-by: Stefan Richter Acked-by: Kristian Høgsberg commit 6f061487f7d31427d7e8f420f366e5537ae16f43 Author: Jay Fenlason Date: Wed Jun 27 16:04:33 2007 -0400 firewire: fw-sbp2: correctly dereference by container_of Replace a cast with a container_of(). As long as nobody reorders the structure elements, they do the same thing, but container_of() is more readable. Signed-off-by: Stefan Richter (added complete_command_orb) Acked-by: Kristian Høgsberg commit 7ada60e367640fa8a4a349d9b105f235f346238b Author: Kristian Høgsberg Date: Fri Jun 22 00:20:34 2007 +0200 firewire: Document userspace ioctl interface. The isochronous packet format is still not documented, but this is a good first step. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter (format, wording) commit 5cd54c94b0ba45033c126237d3d70c6e7ab52c3f Author: Stefan Richter Date: Sun Jun 17 23:55:41 2007 +0200 firewire: fw-sbp2: implement nonexclusive login Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit 79352e9f94cff4078f2ffefac4a41b7f14046fb6 Author: Stefan Richter Date: Mon Jun 18 18:46:49 2007 +0200 firewire: fw-sbp2: let SCSI shutdown commands through before logout This affects of course only the "soft shutdown" case, e.g. "modprobe -r firewire-sbp2", while it doesn't matter for hot unplug. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit cf47c7a26ca13b944900dce208890c5b6d5f3a14 Author: Stefan Richter Date: Sun Jun 17 23:52:08 2007 +0200 firewire: fw-sbp2: implement max sectors limit for some old bridges This currently only affects one bridge in the hardwired blacklist. I don't own one of those, hence haven't tested it. Signed-off-by: Stefan Richter commit dae1a3aa8ebdd30fbba56a8d4e22f92455fb0861 Author: Stefan Richter Date: Sun Jun 17 23:39:58 2007 +0200 firewire: simplify a struct type cleanup after "firewire: support S100B...S400B and link slower than PHY" Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit f1397490017e337446c6a8b0562b584679a604a6 Author: Stefan Richter Date: Sun Jun 10 21:31:36 2007 +0200 firewire: support S100B...S400B and link slower than PHY Use a speed probe to determine the speed over 1394b buses and of nodes which report a link speed less than their PHY speed. Log the effective maximum speed of newly created nodes in dmesg. Also, read the config ROM (except bus info block) at the maximum speed rather than S100. This isn't a real optimization though because we still only use quadlet read requests for the entire ROM. The patch also adds support for S1600 and S3200, although such hardware does not exist yet. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit 24d40125f1f59a6de9d9e6e046676bd60532596c Author: Stefan Richter Date: Mon Jun 18 19:44:12 2007 +0200 firewire: optimize gap count with 1394b leaf nodes Table-based gap count optimization cannot be used if 1394b repeater PHYs are present. But it does work with 1394b leaf nodes. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit 25d83f583b334ac671fbb905c97c374ba34a597a Author: Stefan Richter Date: Sat Jun 9 19:27:07 2007 +0200 firewire: remove unused macro Signed-off-by: Stefan Richter commit 8a8cea2734808522f02941ea16125810ee42c9c7 Author: Stefan Richter Date: Sat Jun 9 19:26:22 2007 +0200 firewire: missing newline in printk Also remove some errno printouts which will be shown by infrastructure code anyway. Signed-off-by: Stefan Richter commit b8f106570f20a7a98a18a14c2d11d65f581c2808 Author: Stefan Richter Date: Fri May 11 23:04:08 2007 +0200 firewire: fw-sbp2: remove unused struct member cleanup after support of single-buffer requests was dropped Signed-off-by: Stefan Richter Signed-off-by: Kristian Hoegsberg commit 53c96b41742a2dadd14e65c23fc119f2a2fd9f05 Author: Stefan Richter Date: Sun Jun 24 15:31:54 2007 +0200 ieee1394: remove old isochronous ABI Based on patch "the scheduled removal of RAW1394_REQ_ISO_{SEND,LISTEN}" from Adrian Bunk, November 20 2006. This patch also removes the underlying facilities in ohci1394 and disables them in pcilynx. That is, hpsb_host_driver.devctl() and hpsb_host_driver.transmit_packet() are no longer used for iso reception and transmission. Since video1394 and dv1394 only work with ohci1394 and raw1394's rawiso interface has never been implemented in pcilynx, pcilynx is now no longer useful for isochronous applications. raw1394 will still handle the request types but will complete the requests with errors that indicate API version conflicts. Signed-off-by: Stefan Richter commit 77bba7aea7dc833caa34761fa7ce081a40a14493 Author: Stefan Richter Date: Sun Jun 17 23:54:52 2007 +0200 ieee1394: sbp2: change some module parameters from int to bool This is upwards compatible, except that integer values other than 0 or 1 are no longer accepted. But values like "Y", "N", "no", "nnoooh!" work now. Also, improve a comment on the serialize_io parameter and make the ORB_SET_EXCLUSIVE macro ultra-safe. Signed-off-by: Stefan Richter commit 93f2e0259a76ceb9c598d5af382aecbb2df01c51 Author: Stefan Richter Date: Sun Jul 8 13:34:21 2007 +0200 ieee1394: first minimal NUMA awareness Association of a host device with a node on NUMA machines optimizes allocations of skbs given from the networking stack to eth1394. Signed-off-by: Stefan Richter commit 8e4dc400b7659691abdd92b3fc01ef094fc8a1e7 Author: Stefan Richter Date: Sun May 27 23:14:05 2007 +0200 ieee1394: eth1394: revert parent device to that in 2.6.20 After ieee1394 was converted away from class_device like the networking subsystem was already in 2.6.21, eth1394's device may point to the fw-host device as its parent again like in 2.6.20. This affects userspace tools which examine the sysfs representation of eth1394's device. Signed-off-by: Stefan Richter commit a0e857eeffba8976be6bdb9f4bb011c18eb2aff7 Author: Stefan Richter Date: Sun Jun 17 23:47:45 2007 +0200 ieee1394: nodemgr: parallelize between several hosts Remove the global nodemgr_serialize mutex which enclosed most of the host thread event loop. This allows for parallelism between several host adapter cards. Properly serialize the driver hooks .update(), .suspend(), .resume(), and .remove() by means of device->sem. These hooks can be called from outside the host threads' contexts. Get() and put() the device.driver when calling its hooks. Signed-off-by: Stefan Richter commit dd7f2928d834f7ac67202bcdf24a44ba9b138f08 Author: Kay Sievers Date: Fri May 25 11:50:53 2007 +0200 ieee1394: convert ieee1394 from "struct class_device" to "struct device" Here is a straightforward conversion to "struct device". The "struct class_device" will be removed from the kernel. It seems to work fine for me with and without CONFIG_SYSFS_DEPRECATED set. Signed-off-by: Stefan Richter commit 59337087cb33db58aa0d4463892b4475cf66a50b Author: Stefan Richter Date: Wed Jul 4 23:13:53 2007 +0200 ieee1394: raw1394: fix a 32/64-bits compat fix I was told that only i386 aligns 64 bit integers at 4 bytes boundaries while all other architectures (32 bit architectures with 64 bit siblings) align it on 8 bytes boundaries. Signed-off-by: Stefan Richter commit 19f00e66f8aa7ee581c6d003fd68ee9f9dee4057 Author: Stefan Richter Date: Mon May 21 18:52:06 2007 +0200 ieee1394: raw1394: Add ioctl() for 32bit userland on 64bit kernel, amendment Pointed out by Arnd Bergmann: PPC32 aligns this at 64bit, IA32 packs it. A kernel-wide available __compat_u64 which is 4-byte aligned on AMD64 and IA64 would be nicer though. Signed-off-by: Stefan Richter commit 650c12c528d3e0ac69405dd35d3bc8a7228e49f2 Author: Petr Vandrovec Date: Mon May 7 04:14:47 2007 +0200 ieee1394: raw1394: Add ioctl() for 32bit userland on 64bit kernel Add compat_ioctl. Although all structures are more or less same, raw1394_iso_packets got pointer inside, and raw1394_cycle_timer got unwanted padding in the middle. I did not add any translation for ioctls passing array of integers around as integers seem to have same size (32 bits) on all architectures supported by Linux. Signed-off-by: Petr Vandrovec Acked-by: Dan Dennedy Signed-off-by: Stefan Richter (split into 3 patches) commit 883b97eaf2a3fba7628f9f78ca7dc422aaf9728b Author: Petr Vandrovec Date: Mon May 7 04:14:47 2007 +0200 ieee1394: raw1394: Fix write() for 32bit userland on 64bit kernel * write(fd, buf, 52) from 32bit app was returning 56. Most of callers did not care, but some (arm registration) did, and anyway it looks bad if request for writing 52 bytes returns 56. And returning sizeof anything in 'int' is not good as well. So all functions now return '0' instead of sizeof(struct raw1394_request) on success, and write() itself provides correct return value (it just returns value it was asked to write on success as raw1394 does not do any partial writes at all). * Related to this was problem that write() could have returned 0 when kernel state would become corrupted and moved to different state than opened/initialized/connected. Now it returns -EBADFD which seemed appropriate. Signed-off-by: Petr Vandrovec Acked-by: Dan Dennedy Signed-off-by: Stefan Richter (split into 3 patches) commit ee9be425961c3ccf75553c83a73bf1f707e66d91 Author: Petr Vandrovec Date: Mon May 7 04:14:47 2007 +0200 ieee1394: raw1394: Fix read() for 32bit userland on 64bit kernel read() always failed with -EFAULT. This was happening due to raw1394_compat_read copying data to wrong location - access_ok always failed as 'r' is kernel address, not user. Whole function just tried to copy data from 'r' to 'r', which is not good. Signed-off-by: Petr Vandrovec Acked-by: Dan Dennedy Signed-off-by: Stefan Richter (split into 3 patches) commit 6552731a058a4facefd921b0b45a9a5392baa5ea Author: Stefan Richter Date: Sat May 19 12:29:37 2007 +0200 ieee1394: add comments in struct hpsb_packet to clarify who is supposed to set what Signed-off-by: Stefan Richter commit 17a624869ea470e33c708871978223c3d9a4c417 Author: Stefan Richter Date: Thu May 3 20:24:19 2007 +0200 ieee1394: ohci1394: remove dead CONFIG variable spotted by Robert P. J. Day Signed-off-by: Stefan Richter commit 27a278aa4309df244a2619f47031acce00ca1b7c Author: Adrian Bunk Date: Mon Jul 9 23:17:59 2007 +0200 drivers/ide/ide-dma.c: unexport ide_set_dma ide_set_dma no longer has any modular user. Signed-off-by: Adrian Bunk Signed-off-by: Bartlomiej Zolnierkiewicz commit bdab00b73d2f77075a3c73556e2692bf06849c17 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 9 23:17:58 2007 +0200 via82cxxx: backport short cables support from pata_via.c Backport short cables support from pata_via.c. This patch should allow UDMA > 2 modes on Acer Ferrari 3400. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Sergei Shtylyov commit f2befd9e80b39a5aa54d65cf59b6a5feb9a8117e Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 9 23:17:58 2007 +0200 sis5513: backport short cables support from pata_sis.c Backport short cables support from pata_sis.c. This patch allows UDMA > 2 modes on ASUS A6K. Thanks to testing this patch goes out to Jiri Stavinoha. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Sergei Shtylyov commit 95ba8c17bc57bf4666e9de2be715b69d9a1ba211 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 9 23:17:58 2007 +0200 alim15x3: backport short cables support from pata_ali.c Backport short cables support from pata_ali.c and while at it cleanup existing cable detection code. This patch should allow UDMA > 2 modes on HP Pavilion N5430 and Fujitsu P2000. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Sergei Shtylyov commit 7207626f47a3d66ce361bad197eefca4b8a6fa17 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 9 23:17:58 2007 +0200 piix: backport short cables support from ata_piix.c Backport short cables support from ata_piix.c. This patch should allow UDMA > 2 modes on: - Acer 5602WLMi - Acer 3682WLMi - Asus W5F - Acer Aspire 2023WLMi Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Sergei Shtylyov commit 49521f97ccd3c2bf6e71a91cea8fe65d170fa4fb Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 9 23:17:58 2007 +0200 ide: add short cables support This patch allows users to override both host and device side cable detection with "ideX=ata66" kernel parameter. Thanks to this it should be now possible to use UDMA > 2 modes on systems (laptops mainly) which use short 40-pin cable instead of 80-pin one. Next patches add automatic detection of some systems using short cables. Changes: * Rename hwif->udma_four to hwif->cbl and make it u8. * Convert all existing users accordingly (use ATA_CBL_* defines while at it). * Add ATA_CBL_PATA40_SHORT support to ide-iops.c:eighty_ninty_three(). * Use ATA_CBL_PATA40_SHORT for "ideX=ata66" kernel parameter. Signed-off-by: Bartlomiej Zolnierkiewicz Reviewed-by: Sergei Shtylyov commit 75b1d97535327d0428c6bffd9d5407e65546fd5d Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 9 23:17:57 2007 +0200 ide: convert ide_find_best_mode() users to use ide_max_dma_mode() ide-timing.h: * remove handling of DMA modes from ide_find_best_mode() and rename it to ide_find_best_pio_mode() * drop no longer needed "map" argument from ide_find_best_pio_mode() and delete needless ->id check * remove no longer needed XFER_SWDMA and XFER_UDMA* defines au1xxx-ide.c: * use ide_max_dma_mode() instead of ide_find_best_mode() * remove needless CONFIG_BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA #ifdef amd74xx.c: * store UDMA masks in amd_ide_chip[] and while at it make "base" field to be u8 instead of unsigned long * convert the driver to use UDMA masks from amd_ide_chip[] * use ide_max_dma_mode() and ide_find_best_pio_mode() instead of ide_find_best_mode() * delete stale comment from amd74xx_ide_dma_check() * remove no longer needed AMD_UDMA* defines via82cxxx.c: * remove unused DISPLAY_VIA_TIMINGS define * store UDMA masks in via_isa_bridges[] and while at it make "flags" field to be u8 instead of u16 * convert the driver to use UDMA masks from via_isa_bridges[] * use ide_max_dma_mode() and ide_find_best_pio_mode() instead of ide_find_best_mode() * remove no longer needed VIA_UDMA* defines pmac.c: * use ide_max_dma_mode() instead of ide_find_best_mode() There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz Reviewed-by: Sergei Shtylyov commit 15a4f943e729d8ba215ee551df6d7988ba14ac00 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 9 23:17:57 2007 +0200 ide: fix pre-EIDE SWDMA support If the word 62 is not defined use the word 52 to get SWDMA mask in ide_get_mode_mask(). Signed-off-by: Bartlomiej Zolnierkiewicz commit ecea57309e826c8aed020e4dae92b368f2eda2a5 Author: Andi Drebes Date: Mon Jul 9 23:17:57 2007 +0200 drivers/ide/legacy/hd.c: Array size calculation using sizeof replaced with ARRAY_SIZE This patch replaces an array size calculation in drivers/ide/legacy/hd.c that was done using sizeof with the ARRAY_SIZE macro. Tested by compilation on an i386 box using "allyesconfig". Diffed against Linus' git-tree. Signed-off-by: Andi Drebes Signed-off-by: Bartlomiej Zolnierkiewicz commit f50f9d8867b95925078ba0fa450e3a5736629d28 Author: Robert P. J. Day Date: Mon Jul 9 23:17:57 2007 +0200 ide: remove content related to dead CONFIG_BLK_DEV_MAC_MEDIABAY config variable Signed-off-by: Robert P. J. Day Signed-off-by: Bartlomiej Zolnierkiewicz commit e71bc140c013dfaff0369ebcc9802a798e358473 Author: Robert P. J. Day Date: Mon Jul 9 23:17:57 2007 +0200 ide: remove references to the non-existent CONFIG_SCSI_EATA_DMA Signed-off-by: Robert P. J. Day Signed-off-by: Bartlomiej Zolnierkiewicz commit 74c8f97a6c2d12fb144ad34076e969e8a01dc4b3 Author: Robert P. J. Day Date: Mon Jul 9 23:17:57 2007 +0200 ide-cd: replace C code with call to ARRAY_SIZE() macro Delete the unnecessary macro ARY_LEN and use ARRAY_SIZE directly. Signed-off-by: Robert P. J. Day Signed-off-by: Bartlomiej Zolnierkiewicz commit f3577db0c294ab4ce8460a8003312474b509e95f Author: Junio C Hamano Date: Mon Jul 9 23:17:57 2007 +0200 ide_in_drive_list(): "ALL" is not a wildcard anymore This removes the support to treat "ALL" as a wildcard for firmware revision. This is made a separate patch, as it will break out-of-tree ide drivers that feed its own table that uses "ALL" as the wildcard to ide_in_drive_list(). Signed-off-by: Junio C Hamano Cc: Alan Cox Cc: Dave Jones Signed-off-by: Bartlomiej Zolnierkiewicz commit bb53cfe9fa21c4f875d5c9470865fbbd0657804e Author: Junio C Hamano Date: Mon Jul 9 23:17:56 2007 +0200 mips au1xxx_ide.h: use NULL as firmware-revision wildcard This updates the DMA whitelist in MIPS specific au1xxx ide driver to use NULL instead of "ALL" as the wildcard. Signed-off-by: Junio C Hamano Cc: Alan Cox Cc: Dave Jones Signed-off-by: Bartlomiej Zolnierkiewicz commit c2d3ce8c39cb17dfc8d0426a98bd79f5d7b21e36 Author: Junio C Hamano Date: Mon Jul 9 23:17:56 2007 +0200 ide_in_drive_list(): accept NULL as the wildcard for firmware revision Earlier, the matching of (model,rev) in ide-dma black/white list handling was to consider "ALL" in the table to match any revision. This makes NULL to be also an accepted wildcard, and changes the entries of tables in ide-dma.c to use NULL. The code still accepts "ALL" as the wildcard, in order to keep any out-of-tree ide driver that feeds its own table that uses "ALL" as the wildcard to ide_in_drive_list() function from breaking. Signed-off-by: Junio C Hamano Cc: Alan Cox Cc: Dave Jones Signed-off-by: Bartlomiej Zolnierkiewicz commit 6d78013bfc20b8579827fc8f214c6f85d469c051 Author: Sergei Shtylyov Date: Mon Jul 9 23:17:56 2007 +0200 aec62xx: kill speedproc() method wrapper (take 2) There's no reason to have the speedproc() method wrapper for the two quite different chip families, so just get rid of it. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit f9383c4269d264c3cf563bd2de365891f6592ebd Author: Matthias Kaehlcke Date: Mon Jul 9 23:17:56 2007 +0200 ide: use mutex instead of ide_setting_sem semaphore in IDE driver The IDE driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Signed-off-by: Bartlomiej Zolnierkiewicz -- commit 1b9da32a2855afa3c5f27690e03a33dc97410c42 Author: Sergei Shtylyov Date: Mon Jul 9 23:17:56 2007 +0200 aec62xx: remove init_dma() method (take 2) Get rid of the init_dma() method (which had no particular reason to exist) by folding it into the init_hwif() method. While at it, also perform some cleanup in the latter method: - get rid of the useless clearing of hwif->autodma; - fold the serialization code into one 'if' statement; - fold setting the drives' 'autotune' and 'autodma' fields into the single statements... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit b1d19db4e770a752ec032971388fa69a73c84919 Author: Sergei Shtylyov Date: Mon Jul 9 23:17:56 2007 +0200 aec62xx: rework init_setup_aec6x80() Rework init_setup_aec6x80() so that it won't rewrite the constant name strings anymore -- in order to do this: - in aec62xx_init_one(), pass a local copy of 'struct pci_device_id' down the call chain; - change the names for in aec62xx_chipsets[] to default to AEC-6280[R]; - override the 'name' field in init_setup_aec6x80() only if bit 4 of the DMA status register is set. While at it, also change the 'udma_mask' field for AEC-6x80R chips in this function and remove the code doing the same from the init_hwif() method... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 83a6d4ab3b09c0c1921b657bbaac5ada3c9c3623 Author: Sergei Shtylyov Date: Mon Jul 9 23:17:55 2007 +0200 cmd64x: init. code cleanup Fix two minor issues with PCI0646 chip reporting in the init_chipset() method: "IRQ workaround enabled" message printed out not only for revision 0x01 and "CMD646: chipset revision" printed twice (by IDE core and the driver itself). Also, remove empty/pointless switch cases for the chips other than PCI0646, duplicate write to the MRDMODE register when enabling interrupts and MEMORY READ LINE cycles, and needless/misplaced initialization of the timing registers in this method. Switch to reading only the PCI revision ID register itself, not the whole 32 bits at its address in init_chipset() and init_hwif() methods; in addition, get rid of the useless clearing of hwif->autodma and perform some cosmetic style changes in the latter method. Refactor ata66_cmd64x() by moving all the code into the 'switch' statement, renaming/adding variables, and fixing the coding style. While at it, finally get rid of the meaningless aliasing register #define's... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2648e5d9a80d8a020feb343c52a8704e978e60c6 Author: Sergei Shtylyov Date: Mon Jul 9 23:17:55 2007 +0200 hpt366: simplify UltraDMA filtering (take 4) Simplify UltraDMA mode filtering in the driver: - make use of the newly introduced 'udma_mask' field of 'ide_pci_device_t' to set the correct hwif->ultra_mask, modifying init_setup_hpt366() to select the correct mask based on the chip revision; - replace 'max_mode' field of the 'struct hpt_info' with 'max_ultra' specifying the maximum UltraDMA mode allowed; - rewrite hpt3xx_udma_filter() to differ the filters based on the 'chip_type' field, and only use it for HPT366 and HPT370[A] where it's really necessary. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ef29888ea8e1fdc499e995260195b66fc91d2728 Author: Matthias Kaehlcke Date: Mon Jul 9 23:17:55 2007 +0200 ide: use mutex instead of ide_cfg_sem semaphore in IDE driver The IDE driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Signed-off-by: Bartlomiej Zolnierkiewicz commit c283f5dbe31920ca70b80a594a97bfaa2a28be13 Author: Sergei Shtylyov Date: Mon Jul 9 23:17:54 2007 +0200 ide: make void and rename ide_dma_timeout() method Since ide_dma_timeout() method's result is discarded, make it return 'void'. While at it, drop 'ide_' from the method's name, drop the '__' prefix from the default method's name, and do some cleanups in this method driver-wise: - in ide-dma.c, au1xxx-ide.c, and pdc202xx_old.c, define/use 'hwif' variable; - in au1xxx-ide.c, get rid of commented out printk(); - in sl82c105.c, get rid of unnecessary variables. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 841d2a9bf16471716ba3a5172d24aa40a2ea9398 Author: Sergei Shtylyov Date: Mon Jul 9 23:17:54 2007 +0200 ide: make void and rename ide_dma_lostirq() method Since ide_dma_lostirq() method's result is discarded, make it return 'void'. While at it, rename the method to dma_lost_irq(), drop the '__' prefix from the default method's name, and do some cleanups in this method driver-wise: - in aec62xx.c, rename the method in accordance with other drivers, and get rid of unnecessary variables there; - in pdc202xx_old.c, define/use 'hwif' variable; - in sgiioc4.c, rearrange the code to call the resetproc() method directly. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit b740d8846e2e184909e9f74d4ad9d67ae0e084ea Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 9 23:17:53 2007 +0200 serverworks: always tune CSB6 Switch the driver to always program DMA/PIO timings and set device transfer mode instead of trusting BIOS on CSB6 controllers (libata pata_serverworks.c driver is also doing things this way and there were no problems reported so far). While doing conversion I noticed that the old code had many issues: * the code was assuming that hwif->dma_status is always valid (which obviously isn't true if hwif->dma_base == NULL) * value of "(ultra_timing >> (4*unit)) & ~(0xF0)" expression wasn't checked to fit into udma_modes[5] * code validating DMA timings didn't validate corresponding PIO timings * extra CSB5 PIO register wasn't validated et all * hwif->ide_dma_off_quietly() is always called before ide_set_dma() (which in turn calls hwif->speedproc() method - svwks_tune_chipset() in this case) so the code depending on DMA capable bit of DMA status to be set was never executed (=> the code was never validating DMA timings despite actually enabling DMA if the PIO timings were OK!) * on resume driver dependend entirely on BIOS to restore timings and set transfer mode on the device While at it: There is no need to read PIO/MWDMA timings now so don't do it. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Alan Cox commit c6255e9865a07d5313d6162482792f7bec9160db Author: Christian Kandeler Date: Mon Jul 9 16:19:11 2007 +0200 [IA64] Stop bit for brl instruction SDM says that brl instruction must be followed by a stop bit. Fix instance in BRL_COND_FSYS_BUBBLE_DOWN where it isn't. Signed-off-by: Christian Kandeler Signed-off-by: Tony Luck commit d7ad2254fa7cc11aec3faeba076c1243f6adeb47 Author: John Keller Date: Mon Jul 9 11:42:24 2007 -0700 [IA64] SN: Correct ROM resource length for BIOS copy On SN systems, when setting the IORESOURCE_ROM_BIOS_COPY resource flag, the resource length should be set to the actual size of the ROM image so that a call to pci_map_rom() returns the correct size. Signed-off-by: John Keller Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit 71d441ddb51941d9d8279bdc858f965711b85c14 Merge: c31f2e8... 288e4d8... Author: Linus Torvalds Date: Mon Jul 9 13:09:16 2007 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6: JFS: Update print_hex_dump() syntax JFS: use print_hex_dump() rather than private dump_mem() function JFS: Whitespace cleanup and remove some dead code commit ed99c541e0a15281c57530d54a4a5e3272f74fb9 Author: Nicolas Ferre Date: Mon Jul 9 14:58:16 2007 +0200 mmc: at91_mci: fix hanging and rework to match flowcharts Fixes hanging using multi block operations (seen during CMD25). Follows closely the datasheet flowcharts. This piece of code handles better big file writing. I had to take care of the notbusy signal during write (at91_mci_handle_cmdrdy function) and to rearrange the AT91_MCI_ENDRX and AT91_MCI_RXBUFF flag usage. Signed-off-by: Nicolas Ferre Signed-off-by: Pierre Ossman commit e8d04d3dba60bdc139644350fcc88f82e40129dc Author: Nicolas Ferre Date: Tue Jun 19 18:32:34 2007 +0200 mmc: at91_mci typo Typo fix in at91_mci driver : standardized the typo (at91_mci everywhere) Signed-off-by: Nicolas Ferre Signed-off-by: Pierre Ossman commit 9d26a5d3f2b9c4fe4b2ba491683c6989ecd6ae04 Author: Rolf Eike Beer Date: Tue Jun 26 13:31:16 2007 +0200 sdhci: Fix "Unexpected interrupt" handling Whenever a power interrupt is signaled it is also reported as an unexpected one. All other unexpected interrupts get lost. Cause is a not inversed bitmask to remove power interrupts from the status. Signed-off-by: Rolf Eike Beer Signed-off-by: Pierre Ossman commit 8c75deae1ab99661975da098f8b721bafbb247c4 Author: Pierre Ossman Date: Sat May 19 16:14:43 2007 +0200 mmc: fix silly copy-and-paste error Signed-off-by: Pierre Ossman commit ffce2e7e7060c949ccd703dacc9b3dd81b377373 Author: Pierre Ossman Date: Sat May 19 14:32:22 2007 +0200 mmc: move layer init and workqueue to core file Signed-off-by: Pierre Ossman commit b93931a61a119575f84c33af2438b9384fde9eb7 Author: Pierre Ossman Date: Sat May 19 14:06:24 2007 +0200 mmc: refactor host class handling Move basic host class device handling to its own file for clarity. Signed-off-by: Pierre Ossman commit 4101c16a910b15afd190c6bc7d45864461cf5c25 Author: Pierre Ossman Date: Sat May 19 13:39:01 2007 +0200 mmc: refactor bus operations Move bus operations to its own file for the sake of clarity. Also delegate sysfs attributes to bus handlers in preparation for other more exotic types. Signed-off-by: Pierre Ossman commit 7de064ebc67d9baf6c933d3a7046feb9b4eced05 Author: Milko Krachounov Date: Sat May 19 01:18:03 2007 +0200 sdhci: add ene controller id ENE has a very weird design where an SDHCI device (0805) is presented on the PCI bus, but that device is non-functional, and the real device is hidden as a more generic device. Signed-off-by: Milko Krachounov Signed-off-by: Pierre Ossman commit 98ccf14909ba02a41c5925b0b2c92aeeef23d3b9 Author: Pierre Ossman Date: Sat May 12 00:26:16 2007 +0200 mmc: bounce requests for simple hosts Some hosts cannot do scatter/gather in hardware. Since not doing sg is such a big performance hit, we (optionally) bounce the requests to a simple linear buffer that we hand over to the driver. Signed-off-by: Pierre Ossman commit 83ce6ef8408bbc7d9322ab50ba592f83012dea94 Author: Tony Luck Date: Thu Jun 28 16:05:34 2007 -0700 [IA64] Don't set psr.ic and psr.i simultaneously It's not a good idea to use "ssm psr.ic | psr.i" to simultaneously enable interrupts and interrupt state collection, the two bits can take effect asynchronously, so it is possible for an interrupt to be serviced while psr.ic is still zero. Signed-off-by: Tony Luck commit c31f2e8a42c41efa46397732656ddf48cc77593e Author: Ingo Molnar Date: Mon Jul 9 18:52:01 2007 +0200 sched: add CFS credits add credits for recent major scheduler contributions: Con Kolivas, for pioneering the fair-scheduling approach Peter Williams, for smpnice Mike Galbraith, for interactivity tuning of CFS Srivatsa Vaddagiri, for group scheduling enhancements Signed-off-by: Ingo Molnar commit 6fb43d7b50e49a36f8be3199141bec473e5ecb00 Author: Ingo Molnar Date: Mon Jul 9 18:52:01 2007 +0200 sched: micro-optimize mmdrop() micro-optimize mmdrop(). Improves schedule()'s assembly a bit. Signed-off-by: Ingo Molnar commit 9c4801cebc2add1fe514bc8eb201b16372eee11a Author: Ingo Molnar Date: Mon Jul 9 18:52:01 2007 +0200 sched: more agressive idle balancing the Linux scheduler is starving a number of workloads. So default to more agressive idle-balancing. This hurts lmbench context-switching numbers (which was the main reason we sucked at idle-balancing for such a long time) but the lmbench numbers are fine once the system is minimally utilized. Signed-off-by: Ingo Molnar commit 0fec171cdbd7763ef86cbaccb91f3708de6a9003 Author: Ingo Molnar Date: Mon Jul 9 18:52:01 2007 +0200 sched: clean up sleep_on() APIs clean up the sleep_on() APIs: - do not use fastcall - replace fragile macro magic with proper inline functions Signed-off-by: Ingo Molnar commit 9761eea8516d1ff2c7b185e283c5d81cfc307acb Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: style cleanups 4 small style cleanups to sched.c: checkpatch.pl is now happy about the totality of sched.c [ignoring false positives] - yay! ;-) Signed-off-by: Ingo Molnar commit 23bdd703a585a869f2eb32fb9f66749d0476d71e Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: do not set softirqs to nice +19 do not set softirqs to nice +19. _If_ for whatever reason we missed to process some high-prio softirq and woke up ksoftirqd, we should give it a fair chance to actually get some work done, even if the system is under load. Signed-off-by: Ingo Molnar commit ff80a77f20f811c0cc5b251d0f657cbc6f788385 Author: Mike Galbraith Date: Mon Jul 9 18:52:00 2007 +0200 sched: simplify sched_find_first_bit() simplify sched_rt.c's sched_find_first_bit() function: there are only 100 RT priority levels left. Signed-off-by: Ingo Molnar commit 5e7eaade55d53da856f0e07dc9c188f78f780192 Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: add CFS documentation add Documentation/sched-design-CFS.txt Signed-off-by: Ingo Molnar commit b642b6d3fad45f659270a9e35df876b38c489082 Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: scheduler debugging, enable in Kconfig enable CONFIG_SCHED_DEBUG in lib/Kconfig.debug. the runtime overhead of this option is very small. Signed-off-by: Ingo Molnar commit 43ae34cb4cd650d1eb4460a8253a8e747ba052ac Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: scheduler debugging, core scheduler debugging core: implement /proc/sched_debug and /proc//sched files for scheduler debugging. Signed-off-by: Ingo Molnar commit 77e54a1f88a1cb0746c7694fa40052bd02df1123 Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: add CFS debug sysctls add CFS debug sysctls: only tweakable if SCHED_DEBUG is enabled. This allows for faster debugging of scheduler problems. Signed-off-by: Ingo Molnar commit 7dd593608df3f9d4e4531cfe29f28c3a3766a0ee Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: remove old cpu accounting field remove the old cpu-accounting field from signal_struct, now that the code is using CFS's stats. Signed-off-by: Ingo Molnar commit b2cfba19f67228e78e48177187f6b07f4107c784 Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: remove unused rq types from sched.c remove unused rq types from sched.c, now that we switched over to CFS. Signed-off-by: Ingo Molnar commit 0c57d5893e4a9857ff22ec9e379f6bdbdad50850 Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: remove batch_task() batch_task() in sched.h is now unused - remove it. Signed-off-by: Ingo Molnar commit 50e645a8a1a91f57dd5d8454620be5f1cb0fc089 Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: remove interactivity types from sched.h remove now-unused types/fields used by the old scheduler. Signed-off-by: Ingo Molnar commit 634fa8c97cc8f4ee2ae1dea7200ff0df762405e7 Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: remove interactivity types remove now unused interactivity-heuristics related defined and types of the old scheduler. Signed-off-by: Ingo Molnar commit dff06c157b6089b774514337769a3c1b7ccccf6c Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: clean up include files in sched.c clean up include files in sched.c, they were still old-style . Signed-off-by: Ingo Molnar commit ad46c2c4ebcead75cd364a79b63b134393094fb9 Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: clean up fastcall uses of sched_fork()/sched_exit() sched_fork()/sched_exit() does not need to specify fastcall anymore, as the x86 kernel defaults to regparm3, and no assembly code calls these functions. Signed-off-by: Ingo Molnar commit 172ba844a8851c3edd13c0a979cdf46bd5e3cc1a Author: Balbir Singh Date: Mon Jul 9 18:52:00 2007 +0200 sched: update delay-accounting to use CFS's precise stats update delay-accounting to use CFS's precise stats. Signed-off-by: Ingo Molnar commit b27f03d4bdc145a09fb7b0c0e004b29f1ee555fa Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: make use of precise accounting for /proc task stats make use of CFS's precise accounting to drive /proc//stat statistics. this code was co-authored by: Balbir Singh Dmitry Adamushko Ingo Molnar Signed-off-by: Ingo Molnar Signed-off-by: Dmitry Adamushko commit 1b9f19c2125dd1021b9327111dc40b14b557ee12 Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: turn on the use of unstable events make use of sched-clock-unstable events. Signed-off-by: Ingo Molnar commit bb29ab26863c022743143f27956cc0ca362f258c Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: x86, track TSC-unstable events track TSC-unstable events and propagate it to the scheduler code. Also allow sched_clock() to be used when the TSC is unstable, the rq_clock() wrapper creates a reliable clock out of it. Signed-off-by: Ingo Molnar commit dd41f596cda0d7d6e4a8b139ffdfabcefdd46528 Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: cfs core code apply the CFS core code. this change switches over the scheduler core to CFS's modular design and makes use of kernel/sched_fair/rt/idletask.c to implement Linux's scheduling policies. thanks to Andrew Morton and Thomas Gleixner for lots of detailed review feedback and for fixlets. Signed-off-by: Ingo Molnar Signed-off-by: Mike Galbraith Signed-off-by: Dmitry Adamushko Signed-off-by: Srivatsa Vaddagiri commit f3479f10c5d667e591f4417a0bba78e221924206 Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: remove the sleep-bonus interactivity code remove the sleep-bonus interactivity code from the core scheduler. scheduling policy is implemented in the policy modules, and CFS does not need such type of heuristics. Signed-off-by: Ingo Molnar commit c18a17329b3389315e8a138d998b217077509c13 Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: remove expired_starving() remove the expired_starving() heuristics from the core scheduler. CFS does not need it, and this did not really work well in practice anyway, due to the rq->nr_running multiplier to STARVATION_LIMIT. Signed-off-by: Ingo Molnar commit f2ac58ee617fd9f6cd9922fbcd291b661d7c9954 Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: remove sleep_type remove the sleep_type heuristics from the core scheduler - scheduling policy is implemented in the scheduling-policy modules. (and CFS does not use this type of sleep-type heuristics) Signed-off-by: Ingo Molnar commit 45bf76df4814a4cd1c57226ae001c464467cb656 Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: cfs, add load-calculation methods add the new load-calculation methods of CFS. Signed-off-by: Ingo Molnar commit 14531189f0a1071b928586e9e1a89eceac91d95f Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: clean up __normal_prio() position clean up: move __normal_prio() in head of normal_prio(). no code changed. Signed-off-by: Ingo Molnar commit 71f8bd4600521fecb08644072052b85853a5a615 Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: cleanup: move dequeue/enqueue_task() cleanup: move dequeue/enqueue_task() to a more logical place, to not split up __normal_prio()/normal_prio(). Signed-off-by: Ingo Molnar commit c24d20dbef948487cd14f15dbf04644142e9f886 Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: move around resched_task() move resched_task()/resched_cpu() into the 'public interfaces' section of sched.c, for use by kernel/sched_fair/rt/idletask.c Signed-off-by: Ingo Molnar commit 62480d13d5d1812176e969a47e2db78a5398d02e Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: remove the SleepAVG field remove the SleepAVG field from /proc//status, as with the removal of the sleep-average code this value no longer makes sense. Signed-off-by: Ingo Molnar commit e05606d3301525aa67b081ad9fccade2b31ab35a Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: clean up the rt priority macros clean up the rt priority macros, pointed out by Andrew Morton. Signed-off-by: Ingo Molnar commit 138a8aeb5b9e5c5abd5e5ec22b6d1848e7e9c50b Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: add cfs_rq ops add the set_task_cfs_rq() abstraction needed by CONFIG_FAIR_GROUP_SCHED. (not activated yet) Signed-off-by: Ingo Molnar commit 41b86e9c510ae66639bf29d3201e1d2384a7fde6 Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: make posix-cpu-timers use CFS's accounting information update the posix-cpu-timers code to use CFS's CPU accounting information. Signed-off-by: Ingo Molnar commit 20d315d42aed95423a7203e1d7e84086004b5a00 Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: add rq_clock()/__rq_clock() add rq_clock()/__rq_clock(), a robust wrapper around sched_clock(), used by CFS. It protects against common type of sched_clock() problems (caused by hardware): time warps forwards and backwards. Signed-off-by: Ingo Molnar commit 6aa645ea5f7a246702e07f29edc7075d487ae4a3 Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: cfs rq data types add the CFS rq data types to sched.c. (the old scheduler fields are still intact, they are removed by a later patch) Signed-off-by: Ingo Molnar commit 20b8a59f2461e1be911dce2cfafefab9d22e4eee Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: cfs, core data types add the CFS data types to sched.h. (the old scheduler is still fully intact.) Signed-off-by: Ingo Molnar commit fa72e9e484c16f0c9aee23981917d8c8c03f0482 Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: cfs core, kernel/sched_idletask.c add kernel/sched_idletask.c - which implements the idle thread scheduling class. This further simplifies sched.c (under CFS), for example a number of 'if (p == rq->idle)' type of special-cases can be removed from sched.c, and schedule() gets simpler too. Signed-off-by: Ingo Molnar commit bb44e5d1c6b3b748e0facf8f516b3162009feb27 Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: cfs core, kernel/sched_rt.c add kernel/sched_rt.c: SCHED_FIFO/SCHED_RR support. The behavior and semantics of SCHED_FIFO/SCHED_RR tasks is unchanged. Signed-off-by: Ingo Molnar commit bf0f6f24a1ece8988b243aefe84ee613099a9245 Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: cfs core, kernel/sched_fair.c add kernel/sched_fair.c - which implements the bulk of CFS's behavioral changes for SCHED_OTHER tasks. see Documentation/sched-design-CFS.txt about details. Authors: Ingo Molnar Dmitry Adamushko Srivatsa Vaddagiri Mike Galbraith Signed-off-by: Ingo Molnar Signed-off-by: Mike Galbraith Signed-off-by: Dmitry Adamushko Signed-off-by: Srivatsa Vaddagiri commit 9aa7b369819940cb1f3c74ba210516739a32ad95 Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: increase the resolution of smpnice increase SMP-nice's resolution. This is needed by CFS to implement SCHED_IDLE and cleaned up nice level support. no behavioral changes. Signed-off-by: Ingo Molnar commit 425e0968a25fa3f111f9919964cac079738140b5 Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: move code into kernel/sched_stats.h create sched_stats.h and move sched.c schedstats code into it. This cleans up sched.c a bit. no code changes are caused by this patch. Signed-off-by: Ingo Molnar commit 1df21055e34b6a68d62cf0c524b9e52deebd7ead Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: add init_idle_bootup_task() add the init_idle_bootup_task() callback to the bootup thread, unused at the moment. (CFS will use it to switch the scheduling class of the boot thread to the idle class) Signed-off-by: Ingo Molnar commit 4da1ce6d9c7e2a6d9236bf4dcfd33cf506082794 Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: add in_atomic_preempt_off() add in_atomic_preempt_off() - debugging helper that will simplify schedule(). Signed-off-by: Ingo Molnar commit f64f61145a38f7039e4f1c0b50dcc3fbe70ec28e Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: remove sched_exit() remove sched_exit(): the elaborate dance of us trying to recover timeslices given to child tasks never really worked. CFS does not need it either. Signed-off-by: Ingo Molnar commit c65cc8705256ad7524c97564b4fe3ca9782bf6d1 Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: uninline set_task_cpu() uninline set_task_cpu(): CFS will add more code to it. Signed-off-by: Ingo Molnar commit 0437e109e1841607f2988891eaa36c531c6aa6ac Author: Ingo Molnar Date: Mon Jul 9 18:51:57 2007 +0200 sched: zap the migration init / cache-hot balancing code the SMP load-balancer uses the boot-time migration-cost estimation code to attempt to improve the quality of balancing. The reason for this code is that the discrete priority queues do not preserve the order of scheduling accurately, so the load-balancer skips tasks that were running on a CPU 'recently'. this code is fundamental fragile: the boot-time migration cost detector doesnt really work on systems that had large L3 caches, it caused boot delays on large systems and the whole cache-hot concept made the balancing code pretty undeterministic as well. (and hey, i wrote most of it, so i can say it out loud that it sucks ;-) under CFS the same purpose of cache affinity can be achieved without any special cache-hot special-case: tasks are sorted in the 'timeline' tree and the SMP balancer picks tasks from the left side of the tree, thus the most cache-cold task is balanced automatically. Signed-off-by: Ingo Molnar commit 0e6aca43e08a62a48d6770e9a159dbec167bf4c6 Author: Ingo Molnar Date: Mon Jul 9 18:51:57 2007 +0200 sched: add SCHED_IDLE policy this patch adds the SCHED_IDLE policy to sched.h. Signed-off-by: Ingo Molnar commit d15bcfdbe1818478891d714343f037cfe60875f0 Author: Ingo Molnar Date: Mon Jul 9 18:51:57 2007 +0200 sched: rename idle_type/SCHED_IDLE enum idle_type (used by the load-balancer) clashes with the SCHED_IDLE name that we want to introduce. 'CPU_IDLE' instead of 'SCHED_IDLE' is more descriptive as well. Signed-off-by: Ingo Molnar commit c1e4fe711a410a139095e6b3e3ce3f07f466063c Author: Jeff Garzik Date: Mon Jul 9 12:29:31 2007 -0400 [libata] sata_mv: print out additional chip info during probe Indicate whether this is a Generation-I (50xx), Generation-II (60xx), or Generation-II-E (6042/7042) chip. Signed-off-by: Jeff Garzik commit bf6263a853c9c143bf03f0a6fdcc68ab714fb5f5 Author: Jeff Garzik Date: Mon Jul 9 12:16:50 2007 -0400 [libata] Use ATA_UDMAx standard masks when filling driver's udma_mask info The ATA_UDMAx masks are self-documenting, and far better than manually writing in the hex mask. Note that pata_it8213 mask differed from the comment. Added a FIXME there. Signed-off-by: Jeff Garzik commit cd70c26617f4686355263be4533ce8030242740e Author: Jeff Garzik Date: Sun Jul 8 02:29:42 2007 -0400 [libata] AHCI: Add support for Marvell AHCI-like chips (initially 6145) Add support for the SATA portion of Marvell's AHCI-compatible chips. The PATA port capability, also available via AHCI, is disabled until support is completed. NCQ and PCI MSI are disabled by default. Marvell says "we use NCQ" in their drivers but "we do not use PCI MSI." Theoretically that implies we need to fix ahci.c to work with Marvell NCQ, but one wonders why Marvell NCQ is any different from other AHCI chips. Signed-off-by: Jeff Garzik commit 469248abf00dfa813356b372ffe153b85f27f4bf Author: Jeff Garzik Date: Sun Jul 8 01:13:16 2007 -0400 [libata] Clean up driver udma_mask initializers * Use ATA_UDMA* * Remove FIXME notations that once served to remind us to verify that these were indeed the correct UDMA masks. They are. Signed-off-by: Jeff Garzik commit d26fc9551a15fdad0d5de8376a78816b8af44f00 Author: Alan Cox Date: Fri Jul 6 19:13:52 2007 -0400 libata: Support chips with 64K PRD quirk Add ata_dumb_qc_prep and supporting logic so that a driver can just specify it needs to be helped in this area. 64K entries are split as with drivers/ide. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit c1e6f28cc5de37dcd113b9668a185c0b9334ba8a Author: Christian Lamparter Date: Tue Jul 3 10:19:20 2007 -0400 Add a PCI ID for santa rosa's PATA controller. Signed-off-by: Christian Lamparter Signed-off-by: Jeff Garzik commit 825cd6dd793770ebd42d9ca19f5ee7d082350317 Author: Mikael Pettersson Date: Tue Jul 3 01:10:25 2007 +0200 sata_sil24: sil24_interrupt() micro-optimisation sil24_interrupt() loads host->ports[i] into a local variable, validates it, and then loads the value again in the call to sil24_host_intr(). This patch replaces the second load by a reference to the local variable. This is safe since no side-effects have occurred since the initial load. It also improves readability since it makes it clear that the parameter to sil24_host_intr() is the same value which was just validated. Signed-off-by: Mikael Pettersson Signed-off-by: Jeff Garzik commit 5f45bc50976ee1f408f7171af155aec646655a37 Author: Sonic Zhang Date: Fri Jun 15 17:45:49 2007 +0800 Add irq_flags to struct pata_platform_info On some embedded platforms, such as blackfin, the gpio interrupt for IDE interface is designed to be triggered with high voltage. The gpio port should be configured properly by set_irq_type() when register the irq. This patch enable the generic pata platform driver to accept platform irq flags data. Signed-off-by: Sonic Zhang Signed-off-by: Jeff Garzik commit d0e580316e3db9f5cf6a605cc311ffb0372f0a35 Author: Mikael Pettersson Date: Tue Jun 19 21:53:30 2007 +0200 sata_promise: cleanups This patch applies some trivial cleanups to sata_promise: - repair whitespace damage - correct comment at board_2057x_pata definition - pull SATAII TX4 support code out to separate functions - rename ata_nr to ata_no for consistency with libata's port_no - remove some init-time debug printks (requested by Jeff) This patch should cause no behavioural changes, except for the removed printks. Signed-off-by: Mikael Pettersson -- drivers/ata/sata_promise.c | 56 ++++++++++++++++++--------------------------- 1 files changed, 23 insertions(+), 33 deletions(-) Signed-off-by: Jeff Garzik commit 5446b656ddebc2f3902242fda4e860fb343d2787 Author: Jeff Garzik Date: Mon May 28 09:03:51 2007 -0400 [libata] pata_ixp4xx: kill unused var Reported by Michael-Luke Jones. Signed-off-by: Jeff Garzik commit a5bf5f5a370ba7c10f5362265e360952145a7da1 Author: Tejun Heo Date: Fri May 25 19:16:58 2007 +0200 ata_piix: fix pio/mwdma programming Fix various bugs in pio/mwdma mode programming. * Control bits in the timing register wasn't cleared properly while programming PIO mode. * MWDMA mode programming cleared the wrong part of control bits. * MWDMA mode programming cleared udma_mask even when the controller doesn't support UDMA. Signed-off-by: Tejun Heo Cc: Art Haas Signed-off-by: Jeff Garzik commit dab632e8c483532bd84e1f3401c72612e39a7c40 Author: Jeff Garzik Date: Mon May 28 08:33:01 2007 -0400 [libata] ahci: minor internal cleanups Minor cleanups, in preparation for merging Marvell PATA AHCI support in the future. Signed-off-by: Jeff Garzik commit ab2181cf390902f0371f30e4ebeb407b4aaa7314 Author: Jeff Garzik Date: Mon May 28 08:30:36 2007 -0400 [ATA] Add named constant for ATAPI command DEVICE RESET Signed-off-by: Jeff Garzik commit a09060ffe516a0e55f29c89b7da2da760c9487d7 Author: Jeff Garzik Date: Mon May 28 08:17:06 2007 -0400 [libata] sata_sx4, sata_via: minor documentation updates sata_sx4: - describe overall driver theory of operation - add a few constants that will be used in the future sata_via: - remove mention of an old-EH function that is going away Signed-off-by: Jeff Garzik commit df69c9c5438b4e396a64d42608b2a6c48a3e7475 Author: Jeff Garzik Date: Sat May 26 20:46:51 2007 -0400 [libata] ahci: minor internal cleanups Function renaming and factorization. Signed-off-by: Jeff Garzik commit 2bcd866be55f8fe259ccac8eef2b8a7f7721b1d5 Author: Jeff Garzik Date: Mon May 28 07:45:27 2007 -0400 [libata] ahci: Factor out SATA port init into a separate function Signed-off-by: Jeff Garzik commit 79b0bde157e71071320e7a723c5a669cb2c822cf Author: Jeff Garzik Date: Mon May 28 07:22:30 2007 -0400 [libata] pata_sil680: minor cleanups from benh Merge unrelated cleanups (__devinit, dev_dbg, hardware constant) from changeset "pata_sil680: Add MMIO support" authored by Benjamin Herrenschmidt Signed-off-by: Jeff Garzik commit b2d46b61bdb2bd45b93f88892461fa568df721d4 Author: Jeff Garzik Date: Sun May 27 22:58:54 2007 -0400 [libata] sata_sx4: named constant cleanup * convert tabs to spaces * convert some hex numbers to (1 << n) preferred format * document i2c and timer control register bits Signed-off-by: Jeff Garzik commit 5d4c51f6beab08ada99064bab6ee74e995a4f24d Author: Alessandro Zummo Date: Sat May 26 19:26:55 2007 -0400 [libata] pata_ixp4xx: convert to new EH Signed-off-by: Jeff Garzik commit 49de0ac823ed7826695c6a2ac62dc1f730a8b17d Author: Jeff Garzik Date: Sat May 26 18:20:51 2007 -0400 [libata] pdc_adma: Reorder initializers with a couple structs Make it easier to verify which struct initializers are present, by presenting them in the order in which they are defined in the API header. Signed-off-by: Jeff Garzik commit 59f998802bd5df56cd824f313cf5b0c3e356ec59 Author: Jeff Garzik Date: Mon May 28 07:07:20 2007 -0400 [libata] drivers: remove 'void __iomem *' casts from pre-iomap days Signed-off-by: Jeff Garzik commit 1d2808fd3d2d5d2c0483796a0f443d1cb3f11367 Author: Jeff Garzik Date: Mon May 28 06:59:48 2007 -0400 [libata] PATA drivers: remove ATA_FLAG_SRST This flag only has meaning in old-EH drivers, and these drivers have already been converted to the new EH. Remove. Signed-off-by: Jeff Garzik commit 5bcd7a00a464fd81b4b68847b9b811a635a15b61 Author: Jeff Garzik Date: Sat May 26 16:35:42 2007 -0400 [libata] sata_sil: register table cleanup Make the register offset table more maintainable. From the 'sii-lbt' branch, which enables the LBT chip feature. Signed-off-by: Jeff Garzik commit be5d82183f1ebb022f923b008acf3b760d3a571d Author: Jens Axboe Date: Tue May 22 09:45:39 2007 +0200 use_clustering (sht) bit set to 0 in AHCI ? ahci: enable sg segment clustering The specification states that ahci supports segments up to 4MiB in size, so enable clustering. Signed-off-by: Jens Axboe Signed-off-by: Jeff Garzik commit a16abc0b5ff3ef655e40cb5e6671d57f5dde513d Author: Tejun Heo Date: Mon May 21 18:33:47 2007 +0200 libata: replace ap->cbl tests with ATA_FLAG_SATA tests ap->cbl == ATA_CBL_SATA indicates SATA cable while ap->flags & ATA_FLAG_SATA indicates SATA host port. Till now they always gave the same result but SATA/PATA bridge handling will change that. Switch to ATA_FLAG_SATA test if we're testing for host port type. Signed-off-by: Tejun Heo Cc: Alan Cox Signed-off-by: Jeff Garzik commit 1ca972c2028edd6cd6a6ca40bd1f58b91fb4ea58 Author: Jeff Garzik Date: Thu May 24 23:05:25 2007 -0400 [libata] pata_atiixp: add SB700 PCI ID From AMD. Signed-off-by: Jeff Garzik commit 64578a3de723d502621860f9d4d28f34d001b066 Author: Tejun Heo Date: Tue May 15 03:28:16 2007 +0900 libata-acpi: implement _GTM/_STM support Implement _GTM/_STM support. acpi_gtm is added to ata_port which stores _GTM parameters over suspend/resume cycle. A new hook ata_acpi_on_suspend() is responsible for storing _GTM parameters during suspend. _STM is executed in ata_acpi_on_resume(). With this change, invoking _GTF is safe on IDE hierarchy and acpi_sata check before _GTF is removed. ata_acpi_gtm() and ata_acpi_stm() implementation is taken from Alan Cox's pata_acpi implementation. ata_acpi_gtm() is fixed such that the result parameter is not shifted by sizeof(union acpi_object). Signed-off-by: Tejun Heo Cc: Alan Cox Signed-off-by: Jeff Garzik commit e5fa24dfdb522b642dbe9b8b1b692f68dce89835 Author: Tejun Heo Date: Tue May 15 03:28:16 2007 +0900 libata-acpi: remove redundant checks Remove remaining unnecessary feature and status checks. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 6746544c3b143ca7071d144f1882ccbe1f47b08d Author: Tejun Heo Date: Tue May 15 03:28:16 2007 +0900 libata: reimplement ACPI invocation This patch reimplements ACPI invocation such that, instead of exporting ACPI details to the rest of libata, ACPI event handlers - ata_acpi_on_resume() and ata_acpi_on_devcfg() - are used. These two functions are responsible for determining whether specific ACPI method is used and when. On resume, _GTF is scheduled by setting ATA_DFLAG_ACPI_PENDING device flag. This is done this way to avoid performing the action on wrong device device (device swapping while suspended). On every ata_dev_configure(), ata_acpi_on_devcfg() is called, which performs _SDD and _GTF. _GTF is performed only after resuming and, if SATA, hardreset as the ACPI spec specifies. As _GTF may contain arbitrary commands, IDENTIFY page is re-read after _GTF taskfiles are executed. If one of ACPI methods fails, ata_acpi_on_devcfg() retries on the first failure. If it fails again on the second try, ACPI is disabled on the device. Note that successful configuration clears ACPI failed status. With all feature checks moved to the above two functions, do_drive_set_taskfiles() is trivial and thus collapsed into ata_acpi_exec_tfs(), which is now static and converted to return the number of executed taskfiles to be used by ata_acpi_on_resume(). As failures are handled properly, ata_acpi_push_id() now returns -errno on errors instead of unconditional zero. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 69b16a5f4c4f1dab70d4d555c487c318c6878b3e Author: Tejun Heo Date: Tue May 15 03:28:16 2007 +0900 libata-acpi: miscellaneous cleanups * Add missing LOCKING: and RETURNS: to function comment. * Don't conditionalize warning messages with ata_msg_probe(). Print directly with KERN_WARNING. * Drop duplicate debug messages. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 4700c4bc9262a9e78f7197c4c41cc2be085d5276 Author: Tejun Heo Date: Tue May 15 03:28:16 2007 +0900 libata-acpi: clean up ata_acpi_exec_tfs() This patch cleans up ata_acpi_exec_tfs() and its friends. * Rename taskfile_array to ata_acpi_gtf and make it __packed as it's used as argument to ACPI method, and use pointer to ata_acpi_gtf and number of taskfiles to represent _GTF taskfiles instead of a pointer casted into unsigned long and byte count. This makes argument re-checking in do_drive_set_taskfiles() unnecessary. * Pointer in void * not in unsigned long. * Clean up do_drive_get_GTF() error handling and make do_drive_get_GTF() return number of taskfiles on success, 0 if _GTF doesn't exist or doesn't contain valid ata. -errno on other errors. * Remove superflous check for acpi->buffer.pointer. * Update taskfile_load_raw() such that printed messages look similar to the messages printed by ata_eh_report(). * s/do_drive_get_GTF/ata_dev_get_GTF/ s/do_drive_set_taskfiles/ata_dev_set_taskfiles/ Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit fafbae87db88a73b166d3bc3294d209207f27056 Author: Tejun Heo Date: Tue May 15 03:28:16 2007 +0900 libata-acpi: implement ata_acpi_associate() * Add acpi_handle to ata_host and ata_port. Rename ata_device->obj_handle to ->acpi_handle and move it above such that it doesn't get cleared on reconfiguration. * Replace ACPI node association which ata_acpi_associate() which is called once during host initialization. Unlike the previous implementation, ata_acpi_associate() uses ATA_FLAG_ACPI_SATA to choose between IDE or SATA ACPI hierarchy and uses simple child look up instead of recursive walk to match the nodes. This is way safer and simpler. Please read the following message for more info. http://article.gmane.org/gmane.linux.ide/17554 Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit a0a24741cac414aba5918e9939afafa70c37f952 Author: Steven Whitehouse Date: Mon Jul 9 15:43:07 2007 +0100 [GFS2] Small fixes to logging code This reverts part of an earlier patch which tried to reclaim gfs2_bufdata structures too early and resulted in a "use after free" case (this bit from me). Also a change to not write out log headers unless we really need to (in the case of flushing nothing we don't need a header) from Bob. Signed-off-by: Steven Whitehouse Signed-off-by: Bob Peterson commit feb485d4010e450183bd422d90c0d0f6be98f932 Merge: 58037eb... 2c1d8ae... Author: Jiri Kosina Date: Mon Jul 9 14:23:37 2007 +0200 Merge branches 'debug-module-param' and 'upstream' into for-linus commit 2c1d8aea2ca76df1b1de2aed23e3ceda2a044ed1 Author: Jiri Kosina Date: Wed Jul 4 16:45:59 2007 +0200 HID: handle cases of volume knobs generating relative values There are some devices (for example Dell Multimedia Keyboard SK-8135) that have a volume control knob which generates relative events instead of absolute. hid-input maps them to ABS_VOLUME. HUT pages don't restrict volume to absolute values. Adding REL_VOLUME doesn't seem feasible, nothing knows how to handle it. This patch translates relative ABS_VOLUME events into appropriate number of series of VOLUME_UP or VOLUME_DOWN events respectively, so that userspace sees the correct values in the end. kernel.org bugzilla 5233 Reported-by: Jochen Eisinger Signed-off-by: Jiri Kosina commit 3c5f4b25f3552c9bcb52eb956753a3c8140480b7 Author: Jiri Kosina Date: Thu Jun 28 22:33:47 2007 +0200 HID: Logitech keyboard 0xc311 needs reset leds quirk The keyboard 0x046d/0xc311 needs reset leds quirk Tested-by: Antonino Ingargiola Signed-off-by: Jiri Kosina commit 5f9c464aaa1ba3a773c47004e98eb1f3aa2ab2a4 Author: Ryo Dairiki Date: Mon Jun 25 10:31:12 2007 +0200 HID: support for logitech cordless desktop LX500 special mapping This keyboard has wireless mouse which has left, middle, right buttons and 2-dimensional scrolling wheel. Unfornetuly, this wheel reports side scrolling events and 11 or 12 button events at the same time. I've wrote a patch to fix this mapping. I'm not sure if this mapping is proper for buttons, because , for example, there is no entry for "burn cd" in input.h. The patch also supress 11 and 12 button events from mouse when you scroll the wheel left and right. With this patch, only side scrolling events are reported. (This mouse has only 4 buttons and 2D wheel. There is no such buttons like 11 and 12.) Signed-off-by: Jiri Kosina commit 816cbfda8b5113629707f604660204701e93b7ce Author: Diogo Kastrup Date: Tue Jun 19 14:16:15 2007 +0200 HID: fix autocentering of PID devices When setting the autocentering of PID devices, PID_DIRECTION_ENABLE is not being explicitely set to 1. This results in autocentering working only on the vertical axis when this field is preset to 0. Fix that by setting it explicitely to 1 when preparing the set_effect report for autocentering spring effect. Signed-off-by: Diogo Kastrup Signed-off-by: Anssi Hannula Signed-off-by: Jiri Kosina commit ea9a4a8b0e5a34eca6613e39d21be879d92ecff5 Author: Jiri Kosina Date: Tue Jun 19 14:09:14 2007 +0200 HID: separate quirks for report descriptor fixup Lately there have been quite a lot of bug reports against broken devices which require us to fix their report descriptor in the runtime, before it is passed to the HID parser. Those devices have eaten quite an amount of our quirks space, which isn't particularly necessary - the quirks are not needed after the report descriptor is parsed, and they just consume bits. Therefore this patch separates the quirks for report descriptor fixup, and moves their handling into separate code. The quirks are then forgotten as soon as the report descriptor has been parsed. Module parameter 'rdesc_quirks' is introduced to be able to modify these quirks in runtime in a similar way to 'quirks' parameter for ordinary HID quirks. Signed-off-by: Jiri Kosina commit b8e98f1c47b743e56f8ebe21006199cefd577ce5 Author: Jiri Kosina Date: Mon Jun 18 17:41:14 2007 +0200 HID: Add NOGET quirk for all NCR devices Devices manufactured by NCR have userspace hiddev-based drivers, which do all the necessary device querying by themselves. The devices must not be queried directly by the generic HID driver, as reported by NCR engineers. Cc: Petr Ostadal Signed-off-by: Jiri Kosina commit 92d9e6e607eb7f8f1d2a43935f45cf300cf6fdf8 Author: Jiri Kosina Date: Mon Jun 18 13:30:11 2007 +0200 HID: support for Petalynx Maxter remote control Petalynx Maxter remote control [1] 0x18b1/0x0037 emits 0xfa and 0xfc from consumer page (reserved in HUT 1.12) for back and more keys. It also emits a few usages from LOGIVENDOR page, which need adding. Also, this device has broken report descriptor - the reported maximum is too low - it doesn't contain the range for 'back' and 'more' keys, so we need to bump it up before the report descriptor is being parsed. Besides all this, it also requires NOGET quirk. This patch does so. [1] http://www.elmak.pl/index.php?option=com_phpshop&page=shop.browse&category_id=14&ext=opis&lang=en Signed-off-by: Jiri Kosina commit 5fce620c0c7caa9e8d9588e8dcc66c52c456851a Author: Hans de Goede Date: Tue Jun 12 22:04:32 2007 +0200 HID: fix mismatch between hid-input HUT find/search mapping and the HUT When comparing usb vs ps2 / testing the keycodes generated for the easy access keys on my trust (microsoft compatible) keyboard. I noticed the search key generated the keycode for find when connected through USB. This lead me to check the consumer page mappings in hid-input.c . And it turns out the the mapping for ID 0x221 deviates from the HUT standard document: http://www.usb.org/developers/devclass_docs/Hut1_12.pdf Currently it is incorrectly mapped to find, whereas it should be mapped to search. I also added missing bindings for ID 0x21f, the real find and for 0x222, goto. Signed-off-by: Hans de Goede Signed-off-by: Jiri Kosina commit 1b3ebe931195725cceee825c430a8bd5319c2566 Author: Julien Eyries Date: Tue Jun 12 10:12:40 2007 +0200 HID: support for Gameron dual psx adaptor This patch provides support for the Gameron dual psx adaptor. The modification is to add the quirk HID_QUIRK_MULTI_INPUT for this specific USB device. Signed-off-by: Julien Eyries Signed-off-by: Jiri Kosina commit 2fa45a4cffd0c4ab4e238e8ad3b4f9b0c10ac1f3 Author: Alan Stern Date: Wed May 30 11:11:12 2007 -0400 USB HID: avoid flush_scheduled_work() This patch (as914) replaces a call to flush_scheduled_work() with cancel_work_sync(), in order to help avoid potential deadlocks. Signed-off-by: Alan Stern Signed-off-by: Jiri Kosina commit 3cd709866f639d24b0d0f38567c19662c98ea92e Author: Jan Engelhardt Date: Mon Apr 30 13:27:48 2007 +0200 HID: Use menuconfig objects Make a "menuconfig" out of the Kconfig objects "menu, ..., endmenu", so that the user can disable all the options in that menu at once instead of having to disable each option separately. Signed-off-by: Jan Engelhardt Signed-off-by: Jiri Kosina commit defd208681b721dbf2b69347cca5302d60246405 Author: Jiri Kosina Date: Sat May 19 16:28:04 2007 +0200 HID: force hid-input for Microsoft SideWinder GameVoice device Microsoft SideWinder GameVoice driver is a trivial device with a few buttons (0x09 HID usage) and an audio connector, which just forwards the audio input into oridinary sound card present in the computer. Despite this fact, the only interface of this device reports itself as a Telephony/Headset type of HID device. This is apparently incorrect - the device itself doesn't provide any audio/telephony functionality. This is achieved in userland application which only needs to receive the button events from the HID driver. This patch establishes a new quirk which forces hid-input to claim a device it will otherwise leave untouched. Reported-by: Tomas Carnecky Signed-off-by: Jiri Kosina commit cb1d93c98c49e268918e35e45e5c407fc4dc4e9f Author: Jiri Kosina Date: Mon May 14 10:20:29 2007 +0200 HID: input mapping for Chicony KU-0418 tactical pad Chicony KU-0418 (aka Saitek PZ08AU gaming keyboard) has a separate "tactical pad" with 11 non-functional buttons - they generate usage codes from 0xff00 (MSVENDOR) usage page. Special case handling for this keyboard added, so no later clash with MSVENDOR mappings is going to occur. Pointed out in bugzilla #7352 Signed-off-by: Jiri Kosina commit 58037eb961f859607b161c50d9d4ecb374de1e8f Author: Jiri Kosina Date: Wed May 30 15:07:13 2007 +0200 HID: make debugging output runtime-configurable There have been many reports recently about broken HID devices, the diagnosis of which required users to recompile their kernels in order to be able to provide debugging output needed for coding a quirk for a particular device. This patch makes CONFIG_HID_DEBUG default y if !EMBEDDED and makes it possible to control debugging output produced by HID code by supplying 'debug=1' module parameter. Signed-off-by: Jiri Kosina commit ac90a2552500996c529d5f0ddc16a9bf60bf670d Author: David Teigland Date: Fri Jul 6 09:47:08 2007 -0500 [DLM] dump more lock values Add two more output fields (lkb_flags and rsb nodeid) to the new debugfs file that dumps one lock per line. Also, dump all locks instead of just mastered locks. Accordingly, use a suffix of _locks instead of _master. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 35dcc52e3a916184b145fd840250244b81004200 Author: Wendy Cheng Date: Wed Jun 27 17:07:53 2007 -0400 [GFS2] Remove i_mode passing from NFS File Handle GFS2 has been passing i_mode within NFS File Handle. Other than the wrong assumption that there is always room for this extra 16 bit value, the current gfs2_get_dentry doesn't really need the i_mode to work correctly. Note that GFS2 NFS code does go thru the same lookup code path as direct file access route (where the mode is obtained from name lookup) but gfs2_get_dentry() is coded for different purpose. It is not used during lookup time. It is part of the file access procedure call. When the call is invoked, if on-disk inode is not in-memory, it has to be read-in. This makes i_mode passing a useless overhead. Signed-off-by: S. Wendy Cheng Signed-off-by: Steven Whitehouse commit bb9bcf061660661c57ddcf31337529f82414b937 Author: Wendy Cheng Date: Wed Jun 27 17:07:08 2007 -0400 [GFS2] Obtaining no_formal_ino from directory entry GFS2 lookup code doesn't ask for inode shared glock. This implies during in-memory inode creation for existing file, GFS2 will not disk-read in the inode contents. This leaves no_formal_ino un-initialized during lookup time. The un-initialized no_formal_ino is subsequently encoded into file handle. Clients will get ESTALE error whenever it tries to access these files. Signed-off-by: S. Wendy Cheng Signed-off-by: Steven Whitehouse commit f4fadb23ca49abd2f1387a0b7e78b385ebc760ce Author: akpm@linux-foundation.org Date: Wed Jun 27 14:43:37 2007 -0700 [GFS2] git-gfs2-nmw-build-fix Cc: Steven Whitehouse Signed-off-by: Andrew Morton Signed-off-by: Steven Whitehouse commit b3657629249eba0b3b61ff964d6e1539b469d117 Author: Abhijith Das Date: Wed Jun 27 11:06:19 2007 -0500 [GFS2] System won't suspend with GFS2 file system mounted The kernel threads in gfs2, namely gfs2_scand, gfs2_logd, gfs2_quotad, gfs2_glockd, gfs2_recoverd weren't doing anything when the suspend mechanism was trying to freeze them. I put in calls to refrigerator() in the loops for all the daemons and suspend works as expected. Signed-off-by: Abhijith Das Signed-off-by: Steven Whitehouse commit 569a7b6c2e8965ff4908003b925757703a3d649c Author: Bob Peterson Date: Wed Jun 27 10:15:56 2007 -0500 [GFS2] remounting w/o acl option leaves acls enabled This patch is for bugzilla bug #245663. This crosswrites a fix from gfs1 (bz #210369) so that the mount options are reset properly upon remount. This was tested on system trin-10. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 090ffaa55dacea774af9ee378d09e47fb7cea9ff Author: Wendy Cheng Date: Wed Jun 27 11:00:03 2007 -0400 [GFS2] inode size inconsistency This should have been part of the NFS patch #1 but somehow I missed it when packaging the patches. It is not a critical issue as the others (I hope). RHEL 5.1 31.el5 kernel runs fine without this change. Our truncate code is chopped into two parts, one for vfs inode changes (in vmtruncate()) and one of gfs inode (in gfs2_truncatei()). These two operatons are, unfortunately, not atomic. So it could happens that vmtruncate() succeeds (inode->i_size is changed) but gfs2_truncatei fails (say kernel temporarily out of memory). This would leave gfs inode i_di.di_size out of sync with vfs inode i_size. It will later confuse gfs2_commit_write() if a write is issued. Last time I checked, it will cause file corruption. Signed-off-by: S. Wendy Cheng Signed-off-by: Steven Whitehouse commit 97d848365e603def43c69e160937f073bf9cf02e Author: Patrick Caulfield Date: Wed Jun 27 11:36:23 2007 +0100 [DLM] Telnet to port 21064 can stop all lockspaces This patch fixes Red Hat bz#245892 Opening a tcp connection from a cluster member to another cluster member targeting the dlm port it is enough to stop every dlm operation in the cluster. This means that GFS and rgmanager will hang. Signed-Off-By: Patrick Caulfield Signed-off-by: Steven Whitehouse commit 1875f2f31b3955dff8c3712a56ae61836c8b90fe Author: S. Wendy Cheng Date: Mon Jun 25 21:14:31 2007 -0400 [GFS2] Fix gfs2_block_truncate_page err return Code segment inside gfs2_block_truncate_page() doesn't set the return code correctly. This causes NFSD erroneously returns EIO back to client with setattr procedure call (truncate error). Signed-off-by: S. Wendy Cheng Signed-off-by: Steven Whitehouse commit 773ed1a044adc868036dee1722b8bca6ce5923e2 Author: Robert Peterson Date: Wed Jun 20 08:34:06 2007 -0500 [GFS2] Addendum to the journaled file/unmount patch This patch is an addendum to the previous journaled file/unmount patch. It fixes a problem discovered during testing. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit eaf5bd3cac92126e5825c6ebc10bee0fba35d555 Author: Steven Whitehouse Date: Tue Jun 19 15:38:17 2007 +0100 [GFS2] Simplify multiple glock aquisition There is a bug in the code which acquires multiple glocks where if the initial out-of-order attempt fails part way though we can land up trying to acquire the wrong number of glocks. This is part of the fix for red hat bz #239737. The other part of the bz doesn't apply to upstream kernels since it was fixed by: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=d3717bdf8f08a0e1039158c8bab2c24d20f492b6 Since the out-of-order code doesn't appear to add anything to the performance of GFS2, this patch just removed it rather than trying to fix it. It should be much easier to see whats going on here now. In addition, we don't allocate any memory unless we are using a lot of glocks (which is a relatively uncommon case). Signed-off-by: Steven Whitehouse commit 2332c4435bb733b5cd4f612ee57532bd8fde4c1c Author: Robert Peterson Date: Mon Jun 18 14:50:20 2007 -0500 [GFS2] assertion failure after writing to journaled file, umount This patch passes all my nasty tests that were causing the code to fail under one circumstance or another. Here is a complete summary of all changes from today's git tree, in order of appearance: 1. There are now separate variables for metadata buffer accounting. 2. Variable sd_log_num_hdrs is no longer needed, since the header accounting is taken care of by the reserve/refund sequence. 3. Fixed a tiny grammatical problem in a comment. 4. Added a new function "calc_reserved" to calculate the reserved log space. This isn't entirely necessary, but it has two benefits: First, it simplifies the gfs2_log_refund function greatly. Second, it allows for easier debugging because I could sprinkle the code with calls to this function to make sure the accounting is proper (by adding asserts and printks) at strategic point of the code. 5. In log_pull_tail there apparently was a kludge to fix up the accounting based on a "pull" parameter. The buffer accounting is now done properly, so the kludge was removed. 6. File sync operations were making a call to gfs2_log_flush that writes another journal header. Since that header was unplanned for (reserved) by the reserve/refund sequence, the free space had to be decremented so that when log_pull_tail gets called, the free space is be adjusted properly. (Did I hear you call that a kludge? well, maybe, but a lot more justifiable than the one I removed). 7. In the gfs2_log_shutdown code, it optionally syncs the log by specifying the PULL parameter to log_write_header. I'm not sure this is necessary anymore. It just seems to me there could be cases where shutdown is called while there are outstanding log buffers. 8. In the (data)buf_lo_before_commit functions, I changed some offset values from being calculated on the fly to being constants. That simplified some code and we might as well let the compiler do the calculation once rather than redoing those cycles at run time. 9. This version has my rewritten databuf_lo_add function. This version is much more like its predecessor, buf_lo_add, which makes it easier to understand. Again, this might not be necessary, but it seems as if this one works as well as the previous one, maybe even better, so I decided to leave it in. 10. In databuf_lo_before_commit, a previous data corruption problem was caused by going off the end of the buffer. The proper solution is to have the proper limit in place, rather than stopping earlier. (Thus my previous attempt to fix it is wrong). If you don't wrap the buffer, you're stopping too early and that causes more log buffer accounting problems. 11. In lops.h there are two new (previously mentioned) constants for figuring out the data offset for the journal buffers. 12. There are also two new functions, buf_limit and databuf_limit to calculate how many entries will fit in the buffer. 13. In function gfs2_meta_wipe, it needs to distinguish between pinned metadata buffers and journaled data buffers for proper journal buffer accounting. It can't use the JDATA gfs2_inode flag because it's sometimes passed the "real" inode and sometimes the "metadata inode" and the inode flags will be random bits in a metadata gfs2_inode. It needs to base its decision on which was passed in. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 2840501ac822c5bf712f67b4b02640e16e145a29 Author: Steven Whitehouse Date: Mon Jun 18 16:31:42 2007 +0100 [GFS2] Use zero_user_page() in stuffed_readpage() As suggested by Robert P. J. Day Signed-off-by: Steven Whitehouse Cc: Robert P. J. Day commit c4201214cbf10636e2c1ab9131573f735b42c8d4 Author: Steven Whitehouse Date: Thu Jun 14 16:39:13 2007 +0100 [GFS2] Remove bogus '\0' in rgrp.c Not sure how it slipped in, but we don't want it anyway. Signed-off-by: Steven Whitehouse commit 8fb68595d508fd30ec90939572484b263600376c Author: Robert Peterson Date: Tue Jun 12 11:24:36 2007 -0500 [GFS2] Journaled file write/unstuff bug This patch is for bugzilla bug 283162, which uncovered a number of bugs pertaining to writing to files that have the journaled bit on. These bugs happen most often when writing to the meta_fs because the files are always journaled. So operations like gfs2_grow were particularly vulnerable, although many of the problems could be recreated with normal files after setting the journaled bit on. The problems fixed are: -GFS2 wasn't ever writing unstuffed journaled data blocks to their in-place location on disk. Now it does. -If you unmounted too quickly after doing IO to a journaled file, GFS2 was crashing because you would discard a buffer whose bufdata was still on the active items list. GFS2 now deals with this gracefully. -GFS2 was losing track of the bufdata for journaled data blocks, and it wasn't getting freed, causing an error when you tried to unmount the module. GFS2 now frees all the bufdata structures. -There was a memory corruption occurring because GFS2 wrote twice as many log entries for journaled buffers. -It was occasionally trying to write journal headers in buffers that weren't currently mapped. Signed-off-by: Bob Peterson Signed-off-by: Benjamin Marzinski Signed-off-by: Steven Whitehouse commit fad59c1390045b5adb7c7249ec4e77e0f868aca5 Author: David Teigland Date: Mon Jun 11 10:47:18 2007 -0500 [DLM] don't require FS flag on all nodes Mask off the recently added DLM_LSFL_FS flag when setting the exflags. This way all the nodes in the lockspace aren't required to have the FS flag set, since we later check that exflags matches among all nodes. Signed-off-by: Patrick Caulfield Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit d93cfa9884354dac2d8ccd894594a43e0b962b6f Author: Abhijith Das Date: Mon Jun 11 08:22:32 2007 +0100 [GFS2] Fix deallocation issues There were two issues during deallocation of unlinked inodes. The first was relating to the use of a "try" lock which in the case of the inode lock wasn't trying hard enough to deallocate in all circumstances (now changed to a normal glock) and in the case of the iopen lock didn't wait for the demotion of the shared lock before attempting to get the exclusive lock, and thereby sometimes (timing dependent) not completing the deallocation when it should have done. The second issue related to the lack of a way to invalidate dcache entries on remote nodes (now fixed by this patch) which meant that unlinks were taking a long time to return disk space to the fs. By adding some code to invalidate the dcache entries across the cluster for unlinked inodes, that is now fixed. This patch was written jointly by Abhijith Das and Steven Whitehouse. Signed-off-by: Abhijith Das Signed-off-by: Steven Whitehouse commit a7a2ff8a951ab373732116e7c31e2e1fe025d5e0 Author: David Teigland Date: Fri Jun 8 17:01:40 2007 -0500 [GFS2] return conflicts for GETLK We weren't returning the correct result when GETLK found a conflict, which is indicated by userspace passing back a 1. Signed-off-by: Abhijith Das Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit d88101d4d82ea09433692af30618c3b7afb7da02 Author: David Teigland Date: Fri Jun 8 16:00:22 2007 -0500 [GFS2] set plock owner in GETLK info Set the owner field in the plock info sent to userspace for GETLK. Without this, gfs_controld won't correctly see when the GETLK from a process matches one of the process's existing locks. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 037bcbb7564e35aef937c54799550cd27735aac6 Author: akpm@linux-foundation.org Date: Fri Jun 8 16:42:14 2007 -0700 [GFS2] gfs2_lookupi() uninitialised var fix fs/gfs2/inode.c: In function 'gfs2_lookupi': fs/gfs2/inode.c:392: warning: 'error' may be used uninitialized in this function Looks like a real bug to me. Cc: Steven Whitehouse Signed-off-by: Andrew Morton Signed-off-by: Steven Whitehouse commit c8cdf479377462315d6b4f56379f8ac989b0ef29 Author: Steven Whitehouse Date: Fri Jun 8 10:05:33 2007 +0100 [GFS2] Recovery for lost unlinked inodes Under certain circumstances its possible (though rather unlikely) that inodes which were unlinked by one node while still open on another might get "lost" in the sense that they don't get deallocated if the node which held the inode open crashed before it was unlinked. This patch adds the recovery code which allows automatic deallocation of the inode if its found during block allocation (the sensible time to look for such inodes since we are scanning the rgrp's bitmaps anyway at this time, so it adds no overhead to do this). Since the inode will have had its i_nlink set to zero, all we need to trigger recovery is a lookup and an iput(), and the normal deallocation code takes care of the rest. Signed-off-by: Steven Whitehouse commit b35997d4482ed24b43a5951c5b021d224b24293c Author: Robert Peterson Date: Thu Jun 7 09:10:01 2007 -0500 [GFS2] Can't mount GFS2 file system on AoE device This patch fixes bug 243131: Can't mount GFS2 file system on AoE device. When using AoE devices with lock_nolock, there is no locking table, so gfs2 (and gfs1) uses the superblock s_id. This turns out to be the device name in some cases. In the case of AoE, the device contains a slash, (e.g. "etherd/e1.1p2") which is an invalid character when we try to register the table in sysfs. This patch replaces the "/" with underscore. Rather than add a new variable to the stack, I'm just reusing a (char *) variable that's no longer used: table. This code has been tested on the failing system using a RHEL5 patch. The upstream code was tested by using gfs2_tool sb to interject a "/" into the table name of a clustered gfs2 file system. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit e1cc86037b689a82cdb2df50c32fa8cf9d6b6c3a Author: Steven Whitehouse Date: Thu Jun 7 11:47:52 2007 +0100 [GFS2] Fix bug in error path of inode This fixes a bug in the ordering of operations in the error path of createi. Its not valid to do an iput() when holding the inode's glock since the iput() will (in this case) result in delete_inode() being called which needs to grab the lock itself. This was causing the recursive lock checking code to trigger. Signed-off-by: Steven Whitehouse commit ffed8ab342e39b8b5f4d5c94c37a708e225ffcd8 Author: Steven Whitehouse Date: Thu Jun 7 11:29:35 2007 +0100 [GFS2] Fix typo in rename of directories A typo caused us to pass a NULL pointer when renaming directories. It was accidentally introduced in: [GFS2] Clean up inode number handling Signed-off-by: Steven Whitehouse commit 44f487a5536a3afd96a9f571de24c36559e9ae82 Author: Patrick Caulfield Date: Wed Jun 6 09:21:22 2007 -0500 [DLM] variable allocation Add a new flag, DLM_LSFL_FS, to be used when a file system creates a lockspace. This flag causes the dlm to use GFP_NOFS for allocations instead of GFP_KERNEL. (This updated version of the patch uses gfp_t for ls_allocation.) Signed-Off-By: Patrick Caulfield Signed-Off-By: David Teigland Signed-off-by: Steven Whitehouse commit 292e539e9386823df8aab556f3da09667f78da8c Author: Josef Bacik Date: Tue Jun 5 17:36:38 2007 -0400 [DLM] fix reference counting This is a fix for the patch 021d2ff3a08019260a1dc002793c92d6bf18afb6 I left off a dlm_hold_rsb which causes the box to panic if you try to use debugfs. This patch fixes the problem. Sorry about that, Signed-off-by: Josef Bacik Signed-off-by: Steven Whitehouse commit 4bd91ba18198eee42c39d4c334c825d1a0a4b445 Author: Steven Whitehouse Date: Tue Jun 5 09:39:18 2007 +0100 [GFS2] Add nanosecond timestamp feature This adds a nanosecond timestamp feature to the GFS2 filesystem. Due to the way that the on-disk format works, older filesystems will just appear to have this field set to zero. When mounted by an older version of GFS2, the filesystem will simply ignore the extra fields so that it will again appear to have whole second resolution, so that its trivially backward compatible. Signed-off-by: Steven Whitehouse commit bb8d8a6f54c1c84d7c74623491bab043b36a38c5 Author: Steven Whitehouse Date: Fri Jun 1 14:11:58 2007 +0100 [GFS2] Fix sign problem in quota/statfs and cleanup _host structures This patch fixes some sign issues which were accidentally introduced into the quota & statfs code during the endianess annotation process. Also included is a general clean up which moves all of the _host structures out of gfs2_ondisk.h (where they should not have been to start with) and into the places where they are actually used (often only one place). Also those _host structures which are not required any more are removed entirely (which is the eventual plan for all of them). The conversion routines from ondisk.c are also moved into the places where they are actually used, which for almost every one, was just one single place, so all those are now static functions. This also cleans up the end of gfs2_ondisk.h which no longer needs the #ifdef __KERNEL__. The net result is a reduction of about 100 lines of code, many functions now marked static plus the bug fixes as mentioned above. For good measure I ran the code through sparse after making these changes to check that there are no warnings generated. This fixes Red Hat bz #239686 Signed-off-by: Steven Whitehouse commit ddf4b426aababdae4cb96326d7aeb9d119f42c50 Author: Benjamin Marzinski Date: Fri Jun 1 14:21:38 2007 -0500 [GFS2] fix jdata issues This is a patch for the first three issues of RHBZ #238162 The first issue is that when you allocate a new page for a file, it will not start off uptodate. This makes sense, since you haven't written anything to that part of the file yet. Unfortunately, gfs2_pin() checks to make sure that the buffers are uptodate. The solution to this is to mark the buffers uptodate in gfs2_commit_write(), after they have been zeroed out and have the data written into them. I'm pretty confident with this fix, although it's not completely obvious that there is no problem with marking the buffers uptodate here. The second issue is simply that you can try to pin a data buffer that is already on the incore log, and thus, already pinned. This patch checks to see if this buffer is already on the log, and exits databuf_lo_add() if it is, just like buf_lo_add() does. The third issue is that gfs2_log_flush() doesn't do it's block accounting correctly. Both metadata and journaled data are logged, but gfs2_log_flush() only compares the number of metadata blocks with the number of blocks to commit to the ondisk journal. This patch also counts the journaled data blocks. Signed-off-by: Benjamin Marzinski Signed-off-by: Steven Whitehouse commit afb853fb4eec380b492a3c369f837359359c28e8 Author: Patrick Caulfield Date: Fri Jun 1 10:07:26 2007 -0500 [DLM] fix socket shutdown This patch clears the user_data of active sockets as part of cleanup. This prevents any late-arriving data from trying to add jobs to the work queue while we are tidying up. Signed-Off-By: Patrick Caulfield Signed-Off-By: David Teigland Signed-off-by: Steven Whitehouse commit 89918647a445fddfe223b097e29f775dcfa81eab Author: Steven Whitehouse Date: Fri Jun 1 15:19:33 2007 +0100 [GFS2] Make the log reserved blocks depend on block size The number of blocks which we reserve in the log at the start of each transaction needs to depends upon the block size since the overhead is related to the number of "pointers" which can be fitted into a single block. This relates to Red Hat bz #240435 Signed-off-by: Steven Whitehouse commit 1990e917651d58a3c5155d0491431c09e29e385b Author: Abhijith Das Date: Thu May 31 17:52:02 2007 -0500 [GFS2] Quotas non-functional - fix another bug This patch fixes a bug where gfs2 was writing update quota usage information to the wrong location in the quota file. Signed-off-by: Abhijith Das Signed-off-by: Steven Whitehouse commit 0b7cac0fb0e541a7f54d0ba55b31d829ce3dd899 Author: David Teigland Date: Tue May 29 08:47:51 2007 -0500 [DLM] show default protocol Display the initial value of the "protocol" config value in configfs. The default value has always been 0 in the past anyway, so it's always appeared to be correct. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 9dd592d70be0db6fa8e4e19d7642cfaa424b200e Author: David Teigland Date: Tue May 29 08:47:04 2007 -0500 [DLM] dumping master locks Add a new debugfs file that dumps a compact list of mastered locks. This will be used by a userland daemon to collect state for deadlock detection. Also, for the existing function that prints all lock state, lock the rsb before going through the lock lists since they can be changing in the course of normal dlm activity. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 8b4021fa436f7c76a2299e6d85d4d4a619724e9a Author: David Teigland Date: Tue May 29 08:46:00 2007 -0500 [DLM] canceling deadlocked lock Add a function that can be used through libdlm by a system daemon to cancel another process's deadlocked lock. A completion ast with EDEADLK is returned to the process waiting for the lock. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 84d8cd69a8e7f1c9962f46bc79850c9f1f663806 Author: David Teigland Date: Tue May 29 08:44:23 2007 -0500 [DLM] timeout fixes Various fixes related to the new timeout feature: - add_timeout() missed setting TIMEWARN flag on lkb's when the TIMEOUT flag was already set - clear_proc_locks should remove a dead process's locks from the timeout list - the end-of-life calculation for user locks needs to consider that ETIMEDOUT is equivalent to -DLM_ECANCEL - make initial default timewarn_cs config value visible in configfs - change bit position of TIMEOUT_CANCEL flag so it's not copied to a remote master node - set timestamp on remote lkb's so a lock dump will display the time they've been waiting Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit b3cab7b9a34a6e65c1ca8f80fb57b256d57e8555 Author: Steven Whitehouse Date: Tue May 29 11:14:21 2007 +0100 [DLM] Compile fix A one liner fix which got missed from the earlier patches. Signed-off-by: Steven Whitehouse Cc: Fabio Massimo Di Nitto Cc: David Teigland commit 518bbde33f7a6b4e252ea2591c77ef796065afa8 Author: Fabio Massimo Di Nitto Date: Tue May 22 09:00:24 2007 +0200 [GFS2] latest gfs2-nmw headers break userland build 2e8701a15cd6f7c95e74d6660615a69b09e453ef commit breaks libgfs2 build: gcc -Wall -I/usr/src/ubuntu/mypkgs/rhcluster/cluster/config -DHELPER_PROGRAM -D_FILE_OFFSET_BITS=64 -DGFS2_RELEASE_NAME=\"2.0\" -ggdb -I/usr/include -I../include -I../libgfs2 -c -o gfs2hex.o gfs2hex.c In file included from hexedit.h:22, from gfs2hex.c:27: /usr/include/linux/gfs2_ondisk.h:505: error: expected specifier-qualifier-list before ‘u32’ make[2]: *** [gfs2hex.o] Error 1 make[2]: Leaving directory `/usr/src/ubuntu/mypkgs/rhcluster/cluster/gfs2/edit' make[1]: *** [all] Error 2 make[1]: Leaving directory `/usr/src/ubuntu/mypkgs/rhcluster/cluster/gfs2' make: *** [gfs2] Error 2 Signed-off-by: Fabio Massimo Di Nitto Signed-off-by: Steven Whitehouse commit 639aca417d91ebba1077a6084e4423af1c1dd811 Author: David Teigland Date: Fri May 18 16:02:57 2007 -0500 [DLM] fix compile breakage In the rush to get the previous patch set sent, a compilation bug I fixed shortly before sending somehow got clobbered, probably by a missed quilt refresh or something. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 8b0e7b2cf35aa827ed5efb508c1879481b970496 Author: David Teigland Date: Fri May 18 09:03:35 2007 -0500 [DLM] wait for config check during join [6/6] Joining the lockspace should wait for the initial round of inter-node config checks to complete before returning. This way, if there's a configuration mismatch between the joining node and the existing nodes, the join can fail and return an error to the application. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 79d72b54483bf81b9f9de0dd555c710ac7267986 Author: David Teigland Date: Fri May 18 09:02:20 2007 -0500 [DLM] fix new_lockspace error exit [5/6] Fix the error path when exiting new_lockspace(). It was kfree'ing the lockspace struct at the end, but that's only valid if it exits before kobject_register occured. After kobject_register we have to let the kobject do the freeing. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit c85d65e91430db94ae9ce0cf38b56e496658b642 Author: David Teigland Date: Fri May 18 09:01:26 2007 -0500 [DLM] cancel in conversion deadlock [4/6] When conversion deadlock is detected, cancel the conversion and return EDEADLK to the application. This is a new default behavior where before the dlm would allow the deadlock to exist indefinately. The DLM_LKF_NODLCKWT flag can now be used in a conversion to prevent the dlm from performing conversion deadlock detection/cancelation on it. The DLM_LKF_CONVDEADLK flag can continue to be used as before to tell the dlm to demote the granted mode of the lock being converted if it gets into a conversion deadlock. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit d7db923ea4990edb5583bf54af868ba687a1bc84 Author: David Teigland Date: Fri May 18 09:00:32 2007 -0500 [DLM] dlm_device interface changes [3/6] Change the user/kernel device interface used by libdlm: - Add ability for userspace to check the version of the interface. libdlm can now adapt to different versions of the kernel interface. - Increase the size of the flags passed in a lock request so all possible flags can be used from userspace. - Add an opaque "xid" value for each lock. This "transaction id" will be used later to associate locks with each other during deadlock detection. - Add a "timeout" value for each lock. This is used along with the DLM_LKF_TIMEOUT flag. Also, remove a fragment of unused code in device_read(). This patch requires updating libdlm which is backward compatible with older kernels. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 3ae1acf93a21512512f8a78430fcde5992dd208e Author: David Teigland Date: Fri May 18 08:59:31 2007 -0500 [DLM] add lock timeouts and warnings [2/6] New features: lock timeouts and time warnings. If the DLM_LKF_TIMEOUT flag is set, then the request/conversion will be canceled after waiting the specified number of centiseconds (specified per lock). This feature is only available for locks requested through libdlm (can be enabled for kernel dlm users if there's a use for it.) If the new DLM_LSFL_TIMEWARN flag is set when creating the lockspace, then a warning message will be sent to userspace (using genetlink) after a request/conversion has been waiting for a given number of centiseconds (configurable per node). The time warnings will be used in the future to do deadlock detection in userspace. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 85e86edf951a8a39954c0ba1edbe4a58827dcd5c Author: David Teigland Date: Fri May 18 08:58:15 2007 -0500 [DLM] block scand during recovery [1/6] Don't let dlm_scand run during recovery since it may try to do a resource directory removal while the directory nodes are changing. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 916297aad5de2363dccd531873eda55d4d6afb57 Author: Josef Bacik Date: Wed May 16 15:56:13 2007 -0400 [DLM] keep dlm from panicing when traversing rsb list in debugfs This problem was originally reported against GFS6.1, but the same issue exists in upstream DLM. This patch keeps the rsb iterator assigning under the rsbtbl list lock. Each time we process an rsb we grab a reference to it to make sure it is not freed out from underneath us, and then put it when we get the next rsb in the list or move onto another list. Signed-off-by: Josef Bacik Signed-off-by: Steven Whitehouse commit 2a87ab080607d009b8b2a8706f4e27d70402ca9c Author: Abhijith Das Date: Wed May 16 17:02:19 2007 -0500 [GFS2] Quotas non-functional - fix bug This patch fixes an error in the quota code where a 'struct gfs2_quota_lvb*' was being passed to gfs2_adjust_quota() instead of a 'struct gfs2_quota_data*'. Also moved 'struct gfs2_quota_lvb' from fs/gfs2/incore.h to include/linux/gfs2_ondisk.h as per Steve's suggestion. Signed-off-by: Abhijith Das Signed-off-by: Steven Whitehouse commit dbb7cae2a36170cd17ffbe286ec0c91a998740ff Author: Steven Whitehouse Date: Tue May 15 15:37:50 2007 +0100 [GFS2] Clean up inode number handling This patch cleans up the inode number handling code. The main difference is that instead of looking up the inodes using a struct gfs2_inum_host we now use just the no_addr member of this structure. The tests relating to no_formal_ino can then be done by the calling code. This has advantages in that we want to do different things in different code paths if the no_formal_ino doesn't match. In the NFS patch we want to return -ESTALE, but in the ->lookup() path, its a bug in the fs if the no_formal_ino doesn't match and thus we can withdraw in this case. In order to later fix bz #201012, we need to be able to look up an inode without knowing no_formal_ino, as the only information that is known to us is the on-disk location of the inode in question. This patch will also help us to fix bz #236099 at a later date by cleaning up a lot of the code in that area. There are no user visible changes as a result of this patch and there are no changes to the on-disk format either. Signed-off-by: Steven Whitehouse commit 41d7db0ab437bc84f8a6e77cccc626ce937605ac Author: Steven Whitehouse Date: Mon May 14 17:43:26 2007 +0100 [GFS2] Reduce size of struct gdlm_lock This patch removes the completion (which is rather large) from struct gdlm_lock in favour of using the wait_on_bit() functions. We don't need to add any extra fields to the structure to do this, so we save 32 bytes (on x86_64) per structure. This adds up to quite a lot when we may potentially have millions of these lock structures, Signed-off-by: Steven Whitehouse Acked-by: David Teigland commit cd81a4bac67d44742ab0aa1848f4a78e9d7e1093 Author: Robert Peterson Date: Mon May 14 12:42:18 2007 -0500 [GFS2] Addendum patch 2 for gfs2_grow This addendum patch 2 corrects three things: 1. It fixes a stupid mistake in the previous addendum that broke gfs2. Ref: https://www.redhat.com/archives/cluster-devel/2007-May/msg00162.html 2. It fixes a problem that Dave Teigland pointed out regarding the external declarations in ops_address.h being in the wrong place. 3. It recasts a couple more %llu printks to (unsigned long long) as requested by Steve Whitehouse. I would have loved to put this all in one revised patch, but there was a rush to get some patches for RHEL5. Therefore, the previous patches were applied to the git tree "as is" and therefore, I'm posting another addendum. Sorry. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 0507ecf50f22e433592f5ec3a36dc831aaec2e02 Author: Nate Diller Date: Thu May 10 22:41:28 2007 -0700 [GFS2] use zero_user_page Use zero_user_page() instead of open-coding it. Signed-off-by: Nate Diller Cc: Steven Whitehouse Signed-off-by: Andrew Morton commit 6c53267f05dc6689ff662efeec426d25d2c0ab84 Author: Robert Peterson Date: Thu May 10 16:54:38 2007 -0500 [GFS2] Kernel changes to support new gfs2_grow command (part 2) To avoid code redundancy, I separated out the operational "guts" into a new function called read_rindex_entry. Then I made two functions: the closer-to-original gfs2_ri_update (without the special condition checks) and gfs2_ri_update_special that's designed with that condition in mind. (I don't like the name, but if you have a suggestion, I'm all ears). Oh, and there's an added benefit: we don't need all the ugly gotos anymore. ;) This patch has been tested with gfs2_fsck_hellfire (which runs for three and a half hours, btw). Signed-off-By: Bob Peterson Signed-off-by: Steven Whitehouse commit 7ae8fa8451dfb3879ecbc04f2760a707dc65b988 Author: Robert Peterson Date: Wed May 9 09:37:57 2007 -0500 [GFS2] kernel changes to support new gfs2_grow command This is another revision of my gfs2 kernel patch that allows gfs2_grow to function properly. Steve Whitehouse expressed some concerns about the previous patch and I restructured it based on his comments. The previous patch was doing the statfs_change at file close time, under its own transaction. The current patch does the statfs_change inside the gfs2_commit_write function, which keeps it under the umbrella of the inode transaction. I can't call ri_update to re-read the rindex file during the transaction because the transaction may have outstanding unwritten buffers attached to the rgrps that would be otherwise blown away. So instead, I created a new function, gfs2_ri_total, that will re-read the rindex file just to total the file system space for the sake of the statfs_change. The ri_update will happen later, when gfs2 realizes the version number has changed, as it happened before my patch. Since the statfs_change is happening at write_commit time and there may be multiple writes to the rindex file for one grow operation. So one consequence of this restructuring is that instead of getting one kernel message to indicate the change, you may see several. For example, before when you did a gfs2_grow, you'd get a single message like: GFS2: File system extended by 247876 blocks (968MB) Now you get something like: GFS2: File system extended by 207896 blocks (812MB) GFS2: File system extended by 39980 blocks (156MB) This version has also been successfully run against the hours-long "gfs2_fsck_hellfire" test that does several gfs2_grow and gfs2_fsck while interjecting file system damage. It does this repeatedly under a variety Resource Group conditions. Signed-off-By: Bob Peterson Signed-off-by: Steven Whitehouse commit 3168b0780d06ace875696f8a648d04d6089654e5 Author: Satyam Sharma Date: Tue May 8 09:18:58 2007 +0100 [DLM] fix a couple of races Fix two races in fs/dlm/config.c: (1) Grab the configfs subsystem semaphore before calling config_group_find_obj() in get_space(). This solves a potential race between get_space() and concurrent mkdir(2) or rmdir(2). (2) Grab a reference on the found config_item _while_ holding the configfs subsystem semaphore in get_comm(), and not after it. This solves a potential race between get_comm() and concurrent rmdir(2). Signed-off-by: Satyam Sharma Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit b524fe646c9a226a847e30ca1221dc22e952f16b Author: Benjamin Marzinski Date: Wed May 2 09:44:03 2007 -0500 [GFS2] flush the glock completely in inode_go_sync Fix for bz #231910 When filemap_fdatawrite() is called on the inode mapping in data=ordered mode, it will add the glock to the log. In inode_go_sync(), if you do the gfs2_log_flush() before this, after the filemap_fdatawrite() call, the glock and its associated data buffers will be on the log again. This means you can demote a lock from exclusive, without having it flushed from the log. The attached patch simply moves the gfs2_log_flush up to after the filemap_fdatawrite() call. Originally, I tried moving the gfs2_log_flush to after gfs2_meta_sync(), but that caused me to trip the following assert. GFS2: fsid=cypher-36:test.0: fatal: assertion "!buffer_busy(bh)" failed GFS2: fsid=cypher-36:test.0: function = gfs2_ail_empty_gl, file = fs/gfs2/glops.c, line = 61 It appears that gfs2_log_flush() puts some of the glocks buffers in the busy state and the filemap_fdatawrite() call is necessary to flush them. This makes me worry slightly that a related problem could happen because of moving the gfs2_log_flush() after the initial filemap_fdatawrite(), but I assume that gfs2_ail_empty_gl() would catch that case as well. Signed-off-by: Benjamin E. Marzinski Signed-off-by: Steven Whitehouse commit f2ec8030085a27c4ba8e95a10a96f248efb34177 Author: Thomas Bogendoerfer Date: Thu Jun 28 00:49:06 2007 +0200 Ethernet driver for EISA only SNI RM200/RM400 machines Changes to last version: - spelling fix - cleaned up probe code Thomas. Ethernet driver for EISA only SNI RM200/RM400 machines Signed-off-by: Thomas Bogendoerfer Signed-off-by: Jeff Garzik commit 2187f287e2827556210e96c619f76f0f9dd928f0 Author: Thomas Bogendoerfer Date: Thu Jun 28 00:46:22 2007 +0200 Extract chip specific code out of lasi_82596.c Changes to last version: - use netdev_alloc_skb - make init_rx_bufs just fail and not panic, if skb alloc fails - don/t free_irq, if request_irq failed Thomas. Extracted chip specific code out of lasi_82596.c and placed into a lib82596.c to make it usable for other 82596 drivers Signed-off-by: Thomas Bogendoerfer Signed-off-by: Jeff Garzik commit d1d25aaba85fd24ab18b0a4d22f19be02aac65c9 Author: Jan-Bernd Themann Date: Mon Jul 2 13:00:46 2007 +0200 ehea: Whitespace cleanup This patch fixes several whitespace issues. Signed-off-by: Jan-Bernd Themann Signed-off-by: Jeff Garzik commit 7c00db3d28131f4fff42eb49632dcd70636f31f4 Author: Olof Johansson Date: Fri Jun 22 15:04:54 2007 -0500 pasemi_mac: Fix TX interrupt threshold It was mistakenly set to interrupt on the second packet instead of first, causing some interesting latency behaviour. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit e65bbf13dd6ca8c0a4fc35028742c8c85f39c02b Author: Linas Vepstas Date: Thu Jun 14 18:12:23 2007 -0500 spidernet: Replace literal with const Replace literal with const; add bit definitions. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit 57a9f236ebe76be6fe1c85b5f7b3cea842e44177 Author: Francois Romieu Date: Mon Jun 4 22:10:15 2007 +0200 r8169: perform RX config change after mac filtering It does not really make sense to update the RX config register before the mac filtering registers. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 773d202194be84cc17d35f62516eac6d8db833e6 Author: Francois Romieu Date: Wed Jan 31 23:47:43 2007 +0100 r8169: mac address change support Merged from Realtek's r8169-6.001 driver. I have added some locking to protect against the arp monitoring timer in the bonding driver. Accessing the configuration registers is otherwise performed under RTNL locking. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 96b9709c9b47c1f9e8fd80e756e8eddcba68e818 Author: Francois Romieu Date: Wed May 30 00:32:05 2007 +0200 r8169: display some extra debug information during startup It does not cost much and it will ease the identification of (so far) unknown devices. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 6cccd6e7a261263cdf06576bd1b241be575638b6 Author: Rolf Eike Beer Date: Mon May 21 22:11:04 2007 +0200 r8169: add endianess annotations to [RT]xDesc Signed-off-by: Rolf Eike Beer Signed-off-by: Francois Romieu Cc: Edward Hsu commit e9f63f30863fd778a5329e93c7e2208b9bcb5b79 Author: Francois Romieu Date: Wed Feb 28 23:16:57 2007 +0100 r8169: align the IP header when there is no DMA constraint Align the IP header when the chipset can DMA at any location (plain 0x8169). Otherwise (0x8136/0x8168) obey the constraint imposed by the hardware. This patch complements the previous alignment rework done for copybreak. Original idea from Philip Craig Signed-off-by: Francois Romieu Cc: Philip Craig Cc: Mike Isely Cc: Edward Hsu commit 275391a482c436282dde57beeffc5d61b229fdd2 Author: Francois Romieu Date: Fri Feb 23 23:50:28 2007 +0100 r8169: add bit description for the TxPoll register Signed-off-by: Francois Romieu Cc: Edward Hsu commit 07d3f51febdc139c63e95671126fd2791113902e Author: Francois Romieu Date: Wed Feb 21 22:40:46 2007 +0100 r8169: cleanup No functionnal change: - trim the old history log - whitespace/indent/case police - unsigned int where signedness does not matter - removal of obsolete assert - needless cast from void * (dev_instance) - remove dead code once related to power management - use netdev_alloc_skb. Signed-off-by: Francois Romieu Cc: Stephen Hemminger Cc: Edward Hsu commit 901dda2b5f0dfbd310d22d497ec8826d4c60363b Author: Francois Romieu Date: Wed Feb 21 00:10:20 2007 +0100 r8169: remove the media option It has been documented as deprecated: - in MODULE_PARM_DESC since may 2005 ; - at the top of the source file and in printk since june 2004. Good bye. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 0127215c17414322b350c3c6fbd1a7d8dd13856f Author: Francois Romieu Date: Tue Feb 20 22:58:51 2007 +0100 r8169: small 8101 comment Extracted from version 1.001.00 of Realtek's r8101. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 864022344caf43dab7fa5219152280d056c6e051 Author: Francois Romieu Date: Tue Feb 20 22:20:51 2007 +0100 r8169: confusion between hardware and IP header alignment The rx copybreak part is straightforward. The align field in struct rtl_cfg_info is related to the alignment requirements of the DMA operation. Its value is set at 2 to limit the scale of possible regression but my old v1.21 8169 datasheet claims a 8 bytes requirements (which never appeared in the driver, of course) and the 8101/8168 go with a plain 8 bytes alignment. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 0e4851502f846b13b29b7f88f1250c980d57e944 Author: Francois Romieu Date: Tue Feb 20 00:00:26 2007 +0100 r8169: merge with version 8.001.00 of Realtek's r8168 driver This one includes: - more tweaks to rtl_hw_start_8168 - a work around for a Rx FiFO overflow issue on the 8168Bb - rtl8169_{intr_mask/napi_event} are replaced with per-device fields, namely tp->{intr/napi}_event - rtl_cfg_info is converted to C99 for readability but the values are not changed for the 8169/8110 and the 8101 Includes ChipCmd fix from Bernhard Walle (2007/02/24). Signed-off-by: Francois Romieu Cc: Edward Hsu commit 6dccd16b7c2703e8bbf8bca62b5cf248332afbe2 Author: Francois Romieu Date: Tue Feb 13 23:38:05 2007 +0100 r8169: merge with version 6.001.00 of Realtek's r8169 driver - new identifier for the 8110SCe - the PCI latency timer is set unconditionally. This part is identical in Realtek's r8168 (8.001.00) and r8101 (1.001.00) - initialization of the cache line size register is for the 8169s only - more magic in rtl_hw_start_8169 - it is not possible to factor out the setting of the the irq event mask with the 8168 and the 8101 any more. Pushed it into the hw_start handler. - rtl_set_rx_tx_config_registers() and write to the ChipCmd register are issued identically for the whole 8169/8110 family: the 8110SCd/8110SCe are handled the same way - work around for AMD platform. Some registers definitions in Realtek's driver are let aside for later. Signed-off-by: Francois Romieu Cc: Edward Hsu commit ba6eb6ee8583a2c7c7f8327be5e5c239fb760b03 Author: Francois Romieu Date: Mon Jun 11 23:35:18 2007 +0200 r8169: prettify mac_version ...still a bit yucky though. Signed-off-by: Francois Romieu Cc: Edward Hsu commit cdf1a608a6ccf9cf1a773969395b58b017bd6f75 Author: Francois Romieu Date: Mon Jun 11 23:29:50 2007 +0200 r8169: populate the hw_start handler for the 8110 Same thing as the previous change for rtl_hw_start_8168. The 8101 related code in rtl_hw_start_8169 (see RTL_GIGA_MAC_VER_13) goes away. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 2dd99530a248bc70e712a5f98e0bc66139a582cb Author: Francois Romieu Date: Mon Jun 11 23:22:52 2007 +0200 r8169: populate the hw_start handler for the 8168 rtl_hw_start_8168 inherits the content of rtl_hw_start_8169 minus the code which depends on RTL_GIGA_MAC_VER_XY (XY != {11/12}). Signed-off-by: Francois Romieu Cc: Edward Hsu commit 7f796d83ffa58c6f752e53dbed8faebb74333e24 Author: Francois Romieu Date: Mon Jun 11 23:04:41 2007 +0200 r8169: add helpers for per-device hw_start handler They aim to limit the amount of moved code when the hw_start handler gets more specialized. No functional change. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 07ce4064677806e330599ade772a914f500e74af Author: Francois Romieu Date: Fri Feb 23 23:36:39 2007 +0100 r8169: add hooks for per-device hw_start handler Rationale: rtl8169_hw_start will not help maintaining an unified driver for different chipsets but people at Realtek are probably too polite to say it distinctly. Let's add the hook and keep hw_start handler unchanged. As can be seen from the content of rtl8169_pci_tbl, the RTL_CFG_1 entry in rtl_cfg_info was unused. I recycled it for the 0x8168. Signed-off-by: Francois Romieu Cc: Edward Hsu commit b449655ff52ff8a29c66c5fc3fc03617e61182ee Author: Stephen Hemminger Date: Sun Jun 17 01:06:49 2007 +0200 r8169: Rx path update - pci_dma_sync_single_for_cpu is not needed for a single large packet - remove the function pointer to help gcc optimizing the inline pci_dma functions. Signed-off-by: Stephen Hemminger Signed-off-by: Francois Romieu Cc: Edward Hsu commit 278667ba186a23770b0dd23ccd26de56a8cc4ec2 Author: David S. Miller Date: Sun Jun 10 17:55:04 2007 -0700 r8169: kill eth_copy_and_sum() It hasn't "summed" anything in over 7 years, and it's just a straight mempcy ala skb_copy_to_linear_data() so just get rid of it. Signed-off-by: David S. Miller Signed-off-by: Francois Romieu Cc: Edward Hsu commit 4ae47c2ddc55e3c571bb55fca921cfe9b02a685f Author: Francois Romieu Date: Sat Jun 16 23:28:45 2007 +0200 r8169: de-obfuscate modulo arithmetic The former style suggests a modulo arithmetic misuse but the expression should never be < 0. Even if it does, the driver will simply loop longer than expected (not that the remaining parts of the system will necessarily appreciate it...). Let's warn the user when something goes wrong and try to go over it. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 15d317587e17dcb96484e46b17b6e826a1f97661 Author: Stephen Hemminger Date: Sat Jun 16 22:36:41 2007 +0200 r8169: use netdev_alloc_skb Use netdev_alloc_skb and remove the useless sk_buff * argument of rtl8169_alloc_rx_skb. Signed-off-by: Stephen Hemminger Signed-off-by: Francois Romieu Cc: Edward Hsu commit a73b629b3519ae97c5325eda346b1749961cfa8d Author: Stephen Hemminger Date: Mon Jun 4 17:23:27 2007 -0700 sky2: version 1.15 New version because of new chip support. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 69161611025b261cb64be70723c0dffe26aeb3ab Author: Stephen Hemminger Date: Mon Jun 4 17:23:26 2007 -0700 sky2: Yukon Extreme (88e8071) support. Enable support for Yukon EX chipset (88e8071). Most of changes are related to new commands to chip for transmit, and change in status and checksumming. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 8f70920f2f2a699b4ad35e625071cd92f4ba6ca3 Author: Stephen Hemminger Date: Mon Jun 4 17:23:25 2007 -0700 sky2: GPIO register The General Purpose I/O register is yet another hardware workaround catchall. Enable workaround that vendor driver does to stay but for bug compatiable. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 451af33552286b426940a32126bd3ece243223a3 Author: Stephen Hemminger Date: Mon Jun 4 17:23:24 2007 -0700 sky2: enable clocks before probe Catch-22: On Yukon EX (88E8071) need to have internal clocks enabled before reading chip id. It is harmless on other chips. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit f449c7c10698e49e6c654452f852b1b719273d8a Author: Stephen Hemminger Date: Mon Jun 4 17:23:23 2007 -0700 sky2: rename BMU register This register is more of a test and control register on Yukon2. So rename it to Q_TEST and give some bit definitions. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit fc99fe0618f355b708ce88fedaca9783072ac3d5 Author: Stephen Hemminger Date: Mon Jun 4 17:23:22 2007 -0700 sky2: Add PCI device specfic register 4 & 5 Need to setup more PCI control control registers are on Yukon EX. Some of these also exist on Yukon EC-U as well. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 3ead5db7bcd343917e567c083f5faf45f5301664 Author: Stephen Hemminger Date: Mon Jun 4 17:23:21 2007 -0700 sky2: avoid reserved regions on ethtool reg dump On Yukon EX reading some of the undocumented places in the memory space will cause a hang. Since they don't provide useful information, just skip the reserved areas. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 3213e3abc68c776589d574decf3e6aee0467d12c Author: Linas Vepstas Date: Mon Jun 11 14:12:09 2007 -0500 spidernet: driver docmentation Documentation for the spidernet driver. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit 5f309b90e242a4a9c5519ed113801a7ad542cd48 Author: Linas Vepstas Date: Mon Jun 11 14:09:16 2007 -0500 spidernet: fix misnamed flag The transmit frame tail bit is stranglely misnamed as "no checksum". Fix the name to what it should be: "transmit frame tail". No functional change, just a name change. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit 59a11f8809ada4b89ac079fb7f549eaca0554f94 Author: Linas Vepstas Date: Mon Jun 11 14:05:41 2007 -0500 spidernet: move a block of code around Put the enable and disable routines next to one-another, as this makes verifying thier symmetry that much easier. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit e1fd9070729765910b144ffcf74ca199c766509b Author: Linas Vepstas Date: Mon Jun 11 13:59:21 2007 -0500 spidernet: service TX later. When entering the netdev poll routine, empty out the RX chain first, before cleaning up the TX chain. This should help avoid RX buffer overflows. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit 9e0a6e2598ac08d14c3388567eae9a4ccea1244f Author: Linas Vepstas Date: Mon Jun 11 13:52:03 2007 -0500 spidernet: invalidate unused pointer. Invalidate a pointer as its pci_unmap'ed; this is a bit of paranoia to make sure hardware doesn't continue trying to DMA to it. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit 9948357d49c84102151bc14233c2f489552c1f57 Author: Linas Vepstas Date: Mon Jun 11 13:48:55 2007 -0500 spidernet: enhance the dump routine Crazy device problems are hard to debug, when one does not have good trace info. This patch makes a major enhancement to the device dump routine. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit e6311d855e100184d42c0165ab9d5215fd792c89 Author: Linas Vepstas Date: Mon Jun 11 13:41:38 2007 -0500 spidernet: beautify error messages Use dev_err() to print device error messages. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit 91e745aa46336087e1295d44685ee2839bbba07d Author: Stephen Hemminger Date: Wed May 30 14:23:18 2007 -0700 qla3xxx: cleanup checksum offload code The code for checksum is more complex than needed when dealing with VLAN's; the higher layers already pass down the location of the IP header. Compile tested only, no hardware available. Signed-off-by: Stephen Hemminger Signed-off-by: Ron Mercer Signed-off-by: Jeff Garzik commit 59b34c1260045ca264c0208f2b666e839909e2d4 Author: Yoichi Yuasa Date: Tue Jun 5 22:55:06 2007 +0900 add return value check of request_irq() This patch has added return value check of request_irq() to pcmcia net drivers. Signed-off-by: Yoichi Yuasa Signed-off-by: Jeff Garzik commit d1c0a65fb597697d1fbce4eadf42b84f70483edc Author: Jan Engelhardt Date: Wed Jun 13 12:48:53 2007 -0700 Use menuconfig objects II - netdev (general+100mbit) CONFIG_NETDEVICES, CONFIG_NET_ETHERNET: Change Kconfig objects from "menu, config" into "menuconfig" so that the user can disable the whole feature without having to enter the menu first. CONFIG_SMC9194: Move it so that it appears correctly in menuconfig. Signed-off-by: Jan Engelhardt Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 8f036c04a8f3487fa4a2368d99dd74be42b7c6fd Author: Geert Uytterhoeven Date: Wed Jun 6 16:04:39 2007 +0200 acenic: SET_NETDEV_DEV is always there these days acenic: SET_NETDEV_DEV is always there these days Signed-off-by: Geert Uytterhoeven Signed-off-by: Jeff Garzik commit bf0dcbd929faf036f1a4f2918090344d0e249cf5 Author: Stephen Hemminger Date: Mon Jun 4 13:25:40 2007 -0700 b44: use netdev_alloc_skb Use netdev_alloc_skb rather than dev_alloc_skb when allocating receive buffers. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 72f4861ef9b1c1ca6e4abb49854698e80d3b684d Author: Stephen Hemminger Date: Mon Jun 4 13:25:39 2007 -0700 b44: packet offset is constant The receive buffer offset is constant in this driver. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit f65a71775cc3eb5d5d8ac4c349c8f48a7d5c7759 Author: Stephen Hemminger Date: Mon Jun 4 13:25:38 2007 -0700 b44: tx bounce sizing. No need to grap full size MTU buffer for possibly small transmit bounce buffers. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit a72a8179734393ca351f6ecf8cad6841ab7e1470 Author: Stephen Hemminger Date: Mon Jun 4 13:25:37 2007 -0700 b44: timer power saving Make the PHY and statistic timer run on one second boundary for powersaving. On resume, the driver should check for link up immediately, to get online faster (rather than waiting for the next second). Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit eb034a7998956bffdd2acccb7fddfc114c913120 Author: Richard Knutsson Date: Sat May 19 22:18:10 2007 +0200 tulip: Convert to generic boolean Signed-off-by: Richard Knutsson Signed-off-by: Jeff Garzik commit 480fe1a31c662ef4ff0598a7cacefa21f98335f1 Author: Divy Le Ray Date: Wed May 30 21:10:58 2007 -0700 cxgb3 - TP SRAM update The chip executes microcode present in internal RAM, whose content is loaded from EEPROM on power cycle. This patch allows an update of the microcode through PIO without forcing a power cycle. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 8a9fab22cf6a3abde7731f4425d4ff87509bc15a Author: Divy Le Ray Date: Wed May 30 21:10:52 2007 -0700 cxgb3 - Firmware update Update FW to 4.1. Proceed to subsequent HW tuning to improve RDMA perfs.. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit cf992af561cc3ba72d79582535e6262818b00548 Author: Divy Le Ray Date: Wed May 30 21:10:47 2007 -0700 cxgb3 - sge page management Streamline sge page management. Fix dma mappings when buffers are recycled. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 287aa83dffd1b39859f49d73b0d67f57106de5f1 Author: Bill Nottingham Date: Wed May 30 03:59:02 2007 -0400 drivers/net: fix comparisons of unsigned < 0 Recent gcc versions emit warnings when unsigned variables are compared < 0 or >= 0. Signed-off-by: Bill Nottingham Signed-off-by: Jeff Garzik commit 40738f3fcdb951fb8ade286dc1ea05812acc94db Author: Komuro Date: Sun May 27 08:57:58 2007 +0900 PCMCIA-NETDEV : add new ID of lan&modem multifunction card fmvj18x_cs: NEC PK-UG-J001 Panasonic CF-VML201 Panasonic TO-PDL9610 pcnet_cs: MICRO-RESEARCH MC336LAN Signed-off-by: Komuro Signed-off-by: Jeff Garzik commit 18ab458fb7bd5c64bef766090020648266cfa9b6 Author: David Brownell Date: Fri May 25 12:31:32 2007 -0700 usbnet whitespace fixes Whitespace updates for usbnet core, mostly switching to tab-only indents. Signed-off-by: David Brownell Signed-off-by: Jeff Garzik commit 2501f843b051621c5a6df7a092a64dfd78b201f7 Author: Richard Knutsson Date: Sat May 19 22:26:40 2007 +0200 8139cp: Convert to generic boolean Signed-off-by: Richard Knutsson Signed-off-by: Jeff Garzik commit 4117b5be4b877cec7c34058f0c239fcf78274e3d Author: Kapil Juneja Date: Fri May 11 18:25:18 2007 -0500 phylib: m88e1111: enable SGMII mode If connected via SGMII, initialize with SGMII mode configured. Signed-off-by: Kapil Juneja Signed-off-by: Andy Fleming Signed-off-by: Kim Phillips Signed-off-by: Jeff Garzik commit d3c12873c36005263286cf5660663c8c10f9d2b5 Author: Kapil Juneja Date: Fri May 11 18:25:11 2007 -0500 gianfar: add support for SGMII Add code for initialising and configuring TBI interface and programming it for connecting to on-chip SERDES (Lynx PHY) in case of SGMII mode selected through HRCW at reset. also add defines for TBI register configuration. TBI interface is programmed towards the SERDES. refactored mdio read/write functions to differentiate programming local interface MII regs (e.g., for TBI) from always programming the mdio master (TSEC1, for programming the PHYs). Signed-off-by: Kapil Juneja Signed-off-by: Andy Fleming Signed-off-by: Kim Phillips Signed-off-by: Jeff Garzik commit 0cefeebaf3da39d768bffcf62460fe2088e824ef Author: Michael Barkowski Date: Fri May 11 18:24:51 2007 -0500 phylib: add the ICPlus IP175C PHY driver The ICPlus IP175C sports a 100Mbit/s 4-port switch in addition to a dedicated 100Mbit/s WAN port. Signed-off-by: Michael Barkowski Signed-off-by: Kim Phillips Signed-off-by: Jeff Garzik commit 146bd683cc160d728f1f62a6ddade8451801a8c3 Author: Linas Vepstas Date: Mon May 14 18:41:41 2007 -0500 s2io: add PCI error recovery support s2io cleanup suggestions, per discussion on mailing lists. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit d796fdb708fc5b10112934cba43e832c36ce4923 Author: Linas Vepstas Date: Mon May 14 18:37:30 2007 -0500 s2io: add PCI error recovery support This patch adds PCI error recovery support to the s2io 10-Gigabit ethernet device driver. Third revision, blocks interrupts and the watchdog. Tested, seems to work well. Signed-off-by: Linas Vepstas Acked-by: Ramkrishna Vepa Cc: Raghavendra Koushik Cc: Wen Xiong Signed-off-by: Jeff Garzik commit bd5824f138153f407e300728919e814ab7dcfadb Author: Jouni Malinen Date: Mon May 28 09:38:49 2007 -0700 [PATCH] hostap: Remove driver version number The driver version number has not been updated since the driver was included in the main kernel tree and there is no plan on updating this in the future either. At this point, the only correct way to refer to the version is to use the kernel version. The 0.4.4 version is confusing since there are external version with higher version number even though they are not actually any newer than the in-tree version. Let's get rid of the version number in the kernel tree in order to avoid this kind of confusion. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit c15057313725942c6af8dcb60b4d4322101316d9 Author: Matthias Kaehlcke Date: Mon May 28 09:38:48 2007 -0700 [PATCH] hostap: Use list_for_each_entry Use list_for_each_entry() instead of manual iteration and substitute some list_for_each() loops with list_for_each_entry(). Signed-off-by: Matthias Kaehlcke Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit b918099030fe6cc093a7d60a88039bd98f16538e Author: Pavel Roskin Date: Mon May 28 09:38:47 2007 -0700 [PATCH] hostap: Suppress broadcast if no stations are associated This may be useful in mesh setups when most stations act as repeaters only. Signed-off-by: Pavel Roskin Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 67c4f7aa9e64d37f32eb44d6d093b7028f1060bb Author: Akinobu Mita Date: Sun May 27 23:27:40 2007 +0900 [PATCH] softmac: use list_for_each_entry Cleanup using list_for_each_entry. Cc: Johannes Berg Cc: Joe Jezak Cc: Daniel Drake Signed-off-by: Akinobu Mita Signed-off-by: John W. Linville commit 77548f58070894cf5970a110981e511ffe793369 Author: Larry Finger Date: Sat May 26 22:21:29 2007 -0500 [PATCH] bcm43xx: Fix deviation from specifications in set_baseband_attenuation A disagreement between the specifications and the bcm43xx code has just been discovered and is hereby fixed. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit aaf83d4fc4a596929306c894d341e17fbdfba758 Author: Daniel Drake Date: Thu May 24 01:07:15 2007 +0100 [PATCH] zd1211rw: Make CCK gain patching conditional on RF type The vendor driver code suggests that CR47 patching happens on every channel change for every RF (depending on bit 8 in POD). Due to a bug in their driver (upper bits of RF_Mode get zeroed out, then are examined for 1s when setting some other flags), this isn't actually what happens, and their generic CCK patching routine never takes effect. Some of their RF configurations do include explicit (duplicated) code for CR47 patching though. This patch makes zd1211rw match that behaviour. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 4481d6093e62e168ab06e9bbb4e67a9bebb8c7f7 Author: Daniel Drake Date: Thu May 24 01:06:53 2007 +0100 [PATCH] zd1211rw: Add UW2453 RF support This patch adds support for another radio appearing in new devices: the Ubec UW2453. It's more complicated than the other RF's we support, but Ubec publish full tech specs so we're able to understand the vendor code relatively well. Now that we support UW2453, we also support Atheros' new USB chip: the AR5007UG. From the little info we have, this appears to be just a rebranded ZD1211B. This RF code doesn't work very well -- lots more TX/RX errors than the other RFs. However, the vendor driver doesn't do any better, so this is all we can do for now. [kune@deine-taler.de: bug fixes] Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 9c8fc71ddd1b42c0c632036333790f230cea815d Author: Daniel Drake Date: Thu May 24 01:06:41 2007 +0100 [PATCH] zd1211rw: Extend RF layer These changes are needed for UW2453 RF support: Add pointer which RF drivers can use to store private RF data Add exit hook so that RF drivers can free private data Allow RF's to disable the generic TX power integration handling code Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit a9eea9ae6e82d1b0f453c24103a84ce7af5d1e15 Author: Daniel Drake Date: Thu May 24 01:06:29 2007 +0100 [PATCH] zd1211rw: Add ID for ZyXEL G-200v2 Tested by Guy Gallagher zd1211 chip 0586:3407 v4721 high 00-13-49 AL2230_RF pa0 g--- FCC ID SI5WUB200Z Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 0aec00ae1c39b0adaa6e958a4e0119cfc12d884b Author: John W. Linville Date: Tue Jun 12 22:11:42 2007 -0400 [PATCH] rtl8187: add header blocks and indicate origin of magic values Add top-of-file comment blocks to rtl818x headers and attribute origin of magic values to original r8187 driver. Signed-off-by: John W. Linville commit 7e9400f178d291b2208c4ed9aac0f425c1364000 Author: John W. Linville Date: Mon Jun 11 21:37:46 2007 -0400 [PATCH] eeprom_93cx6: shorten pulse timing to match spec 93cx6 datasheet available here: http://ww1.microchip.com/downloads/en/DeviceDoc/21749F.pdf Figure 1-1 and Table 1-2 on pages 4-5 indicate that both Clock High Time and Clock Low Time have largest minimum times of 450ns. Signed-off-by: John W. Linville commit 605bebe23bf6ac66c0a717e663a7baa2f981294d Author: Michael Wu Date: Mon May 14 01:41:02 2007 -0400 [PATCH] Add rtl8187 wireless driver This patch adds a mac80211 based wireless driver for the rtl8187 USB wireless card. Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit 4b914dc0493edff19ff698a18198a173a14ba9d2 Author: Ivo van Doorn Date: Mon May 14 23:06:01 2007 +0200 [PATCH] eeprom_93cx6: Add comment for 1us delay after pulse This will add a comment for the 1us delay which is taken after the pulse has been switched. The 1us delay is based on the specifications so that should be made clear. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9467d64b0e88763914c01f71ddf591b166c4f526 Author: Ivo van Doorn Date: Fri May 11 15:59:40 2007 -0400 [PATCH] Add 93cx6 eeprom library This patch adds a library for reading from 93cx6 eeproms. Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit cefe658bca9cf1d4af841c45d170ebd0f881889e Author: Michael Hennerich Date: Mon Jul 2 11:45:50 2007 +0800 Blackfin arch: add BF54x missing GPIO access functions Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit e3f2300036b5e0f60cb64063a9686361b6be8555 Author: Michael Hennerich Date: Thu Jul 12 16:39:29 2007 +0800 Blackfin arch: Some memory and code optimizations - Fix SYS_IRQS Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 34e0fc89bdc1e6f50032dc43ed23167f5dbad6da Author: Michael Hennerich Date: Thu Jul 12 16:17:18 2007 +0800 Blackfin arch: Enable BF54x PIN/GPIO interrupts Signed-off-bu: Michael Hennerich Signed-off-by: Bryan Wu commit 1f83b8f148a1eb967d2a628cbb741cd56fb54572 Author: Mike Frysinger Date: Thu Jul 12 22:58:21 2007 +0800 Blackfin arch: cleanup warnings from checkpatch -- no functional changes Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 58a7295bc8073b9e668c329cb9ceb5b668c2b15d Author: Tobias Klauser Date: Thu Jun 14 00:28:15 2007 +0200 [CPUFREQ] Fix sysfs_create_file return value handling Commit 0a4b2ccc555fa2ca6873d60219047104e4805d45 in cpufreq.git eliminates the build warnings but does not pass on the error code of sysfs_create_file to the function calling cpufreq_add_dev. Instead some previous value of ret would be returned. Signed-off-by: Tobias Klauser Signed-off-by: Dave Jones commit ea48761519bd40d7a881c587b5f3177664b2987e Author: Venki Pallipadi Date: Wed Jun 20 14:26:24 2007 -0700 [CPUFREQ] ondemand: fix tickless accounting and software coordination bug With tickless kernel and software coordination os P-states, ondemand can look at wrong idle statistics. This can happen when ondemand sampling is happening on CPU 0 and due to software coordination sampling also looks at utilization of CPU 1. If CPU 1 is in tickless state at that moment, its idle statistics will not be uptodate and CPU 0 thinks CPU 1 is idle for less amount of time than it actually is. This can be resolved by looking at all the busy times of CPUs, which is accurate, even with tickless, and use that to determine idle time in a round about way (total time - busy time). Thanks to Arjan for originally reporting the ondemand bug on Lenovo T61. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit 0af99b13c9f323e658b4f1d69a1ccae7d6f3f80a Author: Venki Pallipadi Date: Wed Jun 20 14:24:52 2007 -0700 [CPUFREQ] ondemand: add a check to avoid negative load calculation Due to rounding and inexact jiffy accounting, idle_ticks can sometimes be higher than total_ticks. Make sure those cases are handled as zero load case. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit c7f652e0487a35c16f6cd72707232b6a28647a10 Author: Venki Pallipadi Date: Wed Jun 20 14:24:00 2007 -0700 [CPUFREQ] Keep userspace governor quiet when it is not being used Userspace governor registers a frequency change notifier at init time, even when no CPU is set to userspace governor. Make it register only when atleast one CPU is using userspace. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit 689eba77cbd0cfaaa3687cbe23e8b534f8ae0ebb Author: Rafał Bilski Date: Thu Jun 7 22:31:24 2007 +0200 [CPUFREQ] Longhaul - Proper register access In previous commit I used u32 for u16 register. This code will work only when ACPI block address is set. For now it is only for VT8235 and VT8237. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones commit 669b792c77bbc30e9f4d9c95dbc918dc348c49c2 Author: Robin Getz Date: Thu Jun 21 16:34:08 2007 +0800 Blackfin arch: Clean up trace buffer handling, No major functional changes. Turns on trace earlier, so crashes at kernel start should print out a trace, making things easier to debug. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 29440a2b4cd37e32dfe0fa60ef1665775b24dab1 Author: Bernd Schmidt Date: Thu Jul 12 16:25:29 2007 +0800 Blackfin arch: Start untangling the CPLB handling code. - Move cache initialization to C from assembly. - Move anomaly workaround for writing [ID]MEM_CONTROL to assembly, so that we don't have to mess around with .align directives in C source. - Fix a bug where bfin_write_DMEM_CONTROL would write to IMEM_CONTROL - Break out CPLB related code from kernel/setup.c into their own file. - Don't define variables in header files, only declare them. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit 474f1a667d4bd40b6dcacc6870b70f4d2ba4e155 Author: Sonic Zhang Date: Fri Jun 29 16:35:17 2007 +0800 Blackfin arch: kgdb specific code Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 1c5d2265a82f8d3fa0471a60ca98072b3c53c299 Author: Michael Hennerich Date: Thu Jun 21 11:34:16 2007 +0800 Blackfin arch: add missing implementations SIC_IWR crosses several registers SIC_IWR crosses several registers - add missing implementations - make sure SIC_IWR is SET after boot Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit f8ffe652a01506e85e2dd579c58e50a3ba391921 Author: Mike Frysinger Date: Thu Jun 21 11:34:16 2007 +0800 Blackfin arch: need to rename function after moving to match new internal dma API Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 7adfb58fbd0a27469d26536f99b66391c4c8e2a0 Author: Bernd Schmidt Date: Thu Jun 21 11:34:16 2007 +0800 Blackfin arch: defines and provides entry points for certain user space functions at fixed addresses This patch defines (and provides) entry points for certain user space functions at fixed addresses. The Blackfin has no usable atomic instructions, but we can ensure that these code sequences appear atomic from a user space point of view by detecting when we're in the process of executing them during the interrupt handler return path. This allows much more efficient pthread lock implementations than the bfin_spinlock syscall we're currently using. Also provided is a small sys_rt_sigreturn stub which can be used by the signal handler setup code. The signal.c part will be committed separately. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit 0ba9e350a2c129ce2878d415cf51e88611cbc0e5 Author: Mike Frysinger Date: Mon Jul 2 13:47:45 2007 +0800 Blackfin arch: new kernel config for BF548-EZKIT Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 24a07a124198153540f8f43d9e91d16227aba66e Author: Roy Huang Date: Thu Jul 12 22:41:45 2007 +0800 Blackfin arch: initial supporting for BF548-EZKIT The ADSP-BF54x was specifically designed to meet the needs of convergent multimedia applications where system performance and cost are essential ingredients. The integration of multimedia, human interface, and connectivity peripherals combined with increased system bandwidth and on-chip memory provides customers a platform to design the most demanding applications. Since now, ADSP-BF54x will be supported in the Linux kernel and bunch of related drivers such as USB OTG, ATAPI, NAND flash controller, LCD framebuffer, sound, touch screen will be submitted later. Please enjoy the show. Signed-off-by: Roy Huang Signed-off-by: Bryan Wu commit 088eec1192a0ae60fc218796027e622008af36c0 Author: Roy Huang Date: Thu Jun 21 11:34:16 2007 +0800 Blackfin arch: Add header files for BF548 Signed-off-by: Roy Huang Signed-off-by: Bryan Wu commit 288e4d838d1e999c0515f85a337cacb2be233071 Author: Dave Kleikamp Date: Wed Jun 13 10:17:50 2007 -0500 JFS: Update print_hex_dump() syntax Signed-off-by: Dave Kleikamp commit 209e101bf408a50acc426e32c8252daefacde5b0 Author: Dave Kleikamp Date: Wed Jun 6 16:30:17 2007 -0500 JFS: use print_hex_dump() rather than private dump_mem() function Signed-off-by: Dave Kleikamp commit e8666b2718fdb5bf0ea7c3126f7e292bbbf2946b Author: Joshua Hoblitt Date: Mon May 21 16:47:43 2007 -1000 [CPUFREQ] Kconfig powernow-k8 driver should depend on ACPI P-States driver powernow-k8 really needs to use ACPI to function on SMP systems. The current Kconfig allows us to build kernels which fail mysteriously for some users due to us trying to automatically enable this, and getting it wrong. It's easier to just present this as an option to the user. Signed-off-by: Joshua Hoblitt Signed-off-by: Dave Jones commit 275bc6b7f6429afb8d7a883c2e267547dd899066 Author: Rafał Bilski Date: Tue Jun 5 22:08:50 2007 +0200 [CPUFREQ] Longhaul - Replace ACPI functions with direct I/O Current version of "bm status" bit test works as long as no USB device is in use. When USB device is plugged in ACPI function in this context is always returning 1. Until reboot. Direct I/O is working fine even when many USB devices are connected. Change bm_timeout value to less annoying. 1000 is still much more then worst case observed and it is much better when status bit gets stuck. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones commit f720e3ba558680cc7dd3995d005bdc8ee2ef46af Author: Dave Kleikamp Date: Wed Jun 6 15:28:35 2007 -0500 JFS: Whitespace cleanup and remove some dead code Signed-off-by: Dave Kleikamp commit ce243823af4fee3ab82e1da6b710fbc5f859ad8c Author: Rafał Bilski Date: Mon May 28 21:58:09 2007 +0200 [CPUFREQ] Longhaul - Remove duplicate multipliers Remove duplicate multipliers in clock_ratio table. On 1,4GHz Nehemiah two frequencies are present twice in table. It isn't fatal, but with voltage scaling enabled each will be set twice. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones commit 73e107d4a156affeed510cf5745177fd893878f1 Author: Rafał Bilski Date: Mon May 28 21:56:19 2007 +0200 [CPUFREQ] Longhaul - Embedded "conservative" Longhaul with voltage scaling enabled works great on Ezra CPU (Longhaul ver. 2). As long as "conservative" governor is used. Both "ondemand" and "userspace" can change voltage from min to max at once. Motherboard unfortunatly turns off when vid difference is big. Longhaul was printing warning message, but it is not enough. Now driver will have "conservative" governor built in and will split bigger changes to smaller ones. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones commit 13424f6514f6444554a103362dd9d31eabbbdc54 Author: Venki Pallipadi Date: Wed May 23 15:42:13 2007 -0700 [CPUFREQ] acpi-cpufreq: Proper ReadModifyWrite of PERF_CTL MSR During recent acpi-cpufreq changes, writing to PERF_CTL msr changed from RMW of entire 64 bit to RMW of low 32 bit and clearing of upper 32 bit. Fix it back to do a proper RMW of the MSR. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit 0a4b2ccc555fa2ca6873d60219047104e4805d45 Author: Thomas Renninger Date: Mon May 21 07:20:04 2007 -0500 [CPUFREQ] check return value of sysfs_create_file Eliminate build warning (sysfs_create_file return value must be checked) Signed-off-by: Thomas Renninger Signed-off-by: Dave Jones commit 489dc5cb18932d3cedaef03e84890475db17a843 Author: Rafał Bilski Date: Thu May 17 22:39:02 2007 +0200 [CPUFREQ] Longhaul - Check ACPI "BM DMA in progress" bit It is good idea to wait for PCI bus to become idle before frequency change. Thanks to ACPI it is possible. It makes sense only when northbridge support is in use because it is only case in which we can disable arbiter after check if PCI bus is busy. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones commit 1b11d4ca6d9d7ea3ace9d241e52cc5fe3cfe3d8f Author: Rafał Bilski Date: Thu May 17 22:36:42 2007 +0200 [CPUFREQ] Longhaul - Move old_ratio to correct place Move one line where it should be. After first transition Longhaul will skip frequency transition if destination frequency is already set. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones commit 920dd0fbba1a7aa34c45b73699dcaf092850df51 Author: Rafał Bilski Date: Thu May 17 22:35:29 2007 +0200 [CPUFREQ] Longhaul - VT8237 support Looks like VT8237 has the same bits which VT8235 has. Poke registers if it is found. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones commit 7d5edcc028f1bed2542a96edc2356e484f01ee47 Author: Rafał Bilski Date: Thu May 17 22:33:46 2007 +0200 [CPUFREQ] Longhaul - Use all kinds of support This patch is removing southbridge support as separate kind of support. Instead it is used to make other kinds of support more stable. Also northbridge and ACPI C3 support both will be used if both are available. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones commit 904f7a3f042b5c6aa9e53ce83f2c9de5e33170ff Author: Dave Jones Date: Fri May 18 13:22:28 2007 -0400 [CPUFREQ] powernow-k8: clarify number of cores. Indicate number of processors and cores more cleanly in startup messages. Signed-off-by: Mark Langsdorf Signed-off-by: Dave Jones