aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
Commit message (Collapse)AuthorAge
* SG: Change sg_set_page() to take length and offset argumentJens Axboe2007-10-24
| | | | | | | | | | Most drivers need to set length and offset as well, so may as well fold those three lines into one. Add sg_assign_page() for those two locations that only needed to set the page, where the offset/length is set outside of the function context. Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
* mmc: sg falloutJens Axboe2007-10-24
| | | | | | | Do a full scan of the directory to try and be a bit more proactive, instead of waiting for things to break. Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
* m68k: sg falloutGeert Uytterhoeven2007-10-24
| | | | | Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Jens Axboe <axboe@carl.home.kernel.dk>
* More SG build fixesDavid Miller2007-10-24
| | | | Signed-off-by: Jens Axboe <axboe@carl.home.kernel.dk>
* sg: add missing sg_init_table calls to zfcpHeiko Carstens2007-10-24
| | | | | | | | | | | | | | | | | kernel BUG at include/linux/scatterlist.h:50! illegal operation: 0001 [#1] [...] Call Trace: ([<000000000026f184>] zfcp_ns_gid_pn_request+0x4c/0x2a0) [<0000000000276dd4>] zfcp_erp_strategy_do_action+0x1410/0x1938 [<0000000000278412>] zfcp_erp_thread+0x4fa/0x1430 [<000000000001990a>] kernel_thread_starter+0x6/0xc [<0000000000019904>] kernel_thread_starter+0x0/0xc Cc: Swen Schillig <swen@vnet.ibm.com> Cc: Christof Schmitt <christof.schmitt@de.ibm.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Jens Axboe <axboe@carl.home.kernel.dk>
* Merge branch 'irq-upstream' of ↵Linus Torvalds2007-10-23
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6 * 'irq-upstream' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6: [SPARC, XEN, NET/CXGB3] use irq_handler_t where appropriate drivers/char/riscom8: clean up irq handling isdn/sc: irq handler clean isdn/act2000: fix major bug. clean irq handler. char/pcmcia/synclink_cs: trim trailing whitespace drivers/char/ip2: separate polling and irq-driven work entry points drivers/char/ip2: split out irq core logic into separate function [NETDRVR] lib82596, netxen: delete pointless tests from irq handler Eliminate pointless casts from void* in a few driver irq handlers. [PARPORT] Remove unused 'irq' argument from parport irq functions [PARPORT] Kill useful 'irq' arg from parport_{generic_irq,ieee1284_interrupt} [PARPORT] Consolidate code copies into a single generic irq handler
| * [SPARC, XEN, NET/CXGB3] use irq_handler_t where appropriateJeff Garzik2007-10-23
| | | | | | | | | | | | | | Rather than hand-rolling our own prototype, make the code more future-proof by using the standard irq_handler_t typedef. Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * drivers/char/riscom8: clean up irq handlingJeff Garzik2007-10-23
| | | | | | | | | | | | | | | | | | | | Make irq handling more efficient, by passing board pointer via request_irq() to our irq handler's dev_id argument. This eliminates a table lookup upon each interrupt, and eliminates an associated global variable (the table). Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * isdn/sc: irq handler cleanJeff Garzik2007-10-23
| | | | | | | | | | | | | | | | * pass card number to irq handler * use card number in irq handler to avoid looping through each adapter Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * isdn/act2000: fix major bug. clean irq handler.Jeff Garzik2007-10-23
| | | | | | | | | | | | | | | | | | * invert sense of request_irq() test. otherwise we will always fail, when IRQ is available. * no need to use 'irq' function arg, its stored in a data struct already Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * char/pcmcia/synclink_cs: trim trailing whitespaceJeff Garzik2007-10-23
| | | | | | | | Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * drivers/char/ip2: separate polling and irq-driven work entry pointsJeff Garzik2007-10-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Polling currently calls the irq handler, which loops through all the boards, calling the work function for all polling boards with work. irq handling loops through all the boards, finding the specific board that applies to us, and calling the work just for that one board. The two logics are sufficiently different to warrant different functions, rather than being slack and calling the same function in two different ways. This serves to make the interrupt handler a -lot- more efficient. Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * drivers/char/ip2: split out irq core logic into separate functionJeff Garzik2007-10-23
| | | | | | | | | | | | No changes besides code movement and glue. Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * [NETDRVR] lib82596, netxen: delete pointless tests from irq handlerJeff Garzik2007-10-23
| | | | | | | | | | | | | | | | Remove always-false tests in irq handler. Also a few other minor cleanups. Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * Eliminate pointless casts from void* in a few driver irq handlers.Jeff Garzik2007-10-23
| | | | | | | | Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * [PARPORT] Remove unused 'irq' argument from parport irq functionsJeff Garzik2007-10-23
| | | | | | | | | | | | | | None of the drivers with a struct pardevice's ->irq_func() hook ever used the 'irq' argument passed to it, so remove it. Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * [PARPORT] Kill useful 'irq' arg from parport_{generic_irq,ieee1284_interrupt}Jeff Garzik2007-10-23
| | | | | | | | | | | | | | | | | | | | | | | | | | parport_ieee1284_interrupt() was not using its first arg at all. Delete. parport_generic_irq()'s second arg makes its first arg completely redundant. Delete, and use port->irq in the one place where we actually need it. Also, s/__inline__/inline/ to make the code look nicer. Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * [PARPORT] Consolidate code copies into a single generic irq handlerJeff Garzik2007-10-23
| | | | | | | | | | | | | | | | | | Several arches used the exact same code for their parport irq handling. Make that code generic, in parport_irq_handler(). Also, s/__inline__/inline/ in include/linux/parport.h. Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | Merge branch 'warnings' of ↵Linus Torvalds2007-10-23
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6 * 'warnings' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6: ni5010: kill unused variable eexpress: fix !SMP unused-var warning cgroup: kill unused variable
| * | ni5010: kill unused variableJeff Garzik2007-10-23
| | | | | | | | | | | | Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * | eexpress: fix !SMP unused-var warningJeff Garzik2007-10-23
| |/ | | | | | | Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | Merge branch 'upstream-linus' of ↵Linus Torvalds2007-10-23
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: (39 commits) Remove Andrew Morton from list of net driver maintainers. bonding: Acquire correct locks in alb for promisc change bonding: Convert more locks to _bh, acquire rtnl, for new locking bonding: Convert locks to _bh, rework alb locking for new locking bonding: Convert miimon to new locking bonding: Convert balance-rr transmit to new locking Convert bonding timers to workqueues Update MAINTAINERS to reflect my (jgarzik's) current efforts. pasemi_mac: fix typo defxx.c: dfx_bus_init() is __devexit not __devinit s390 MAINTAINERS remove header_ops bug in qeth driver sky2: crash on remove MIPSnet: Delete all the useless debugging printks. AR7 ethernet: small post-merge cleanups and fixes mv643xx_eth: Hook up mv643xx_get_sset_count mv643xx_eth: Remove obsolete checksum offload comment mv643xx_eth: Merge drivers/net/mv643xx_eth.h into mv643xx_eth.c mv643xx_eth: Remove unused register defines mv643xx_eth: Clean up mv643xx_eth.h ...
| * | bonding: Acquire correct locks in alb for promisc changeJay Vosburgh2007-10-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | Update ALB mode monitor to hold correct locks (RTNL and nothing else) when calling dev_set_promiscuity. Signed-off-by: Andy Gospodarek <andy@greyhouse.net> Signed-off-by: Jay Vosburgh <fubar@us.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | bonding: Convert more locks to _bh, acquire rtnl, for new lockingJay Vosburgh2007-10-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Convert more lock acquisitions to _bh flavor to avoid deadlock with workqueue activity and add acquisition of RTNL in appropriate places. Affects ALB mode, as well as core bonding functions and sysfs. Signed-off-by: Andy Gospodarek <andy@greyhouse.net> Signed-off-by: Jay Vosburgh <fubar@us.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | bonding: Convert locks to _bh, rework alb locking for new lockingJay Vosburgh2007-10-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Convert locking-related activity to new & improved system. Convert some lock acquisitions to _bh and rework parts of ALB mode, both to avoid deadlocks with workqueue activity. Signed-off-by: Andy Gospodarek <andy@greyhouse.net> Signed-off-by: Jay Vosburgh <fubar@us.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | bonding: Convert miimon to new lockingJay Vosburgh2007-10-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Convert mii (link state) monitor to acquire correct locks for failover events. In particular, failovers generally require RTNL at a low level (when manipulating device MAC addresses, for example) and no other locks. The high level monitor is responsible for acquiring a known set of locks, RTNL, the bond->lock for read and the slave_lock for write, and the low level failover processing can then release appropriate locks as needed. This patch provides the high level portion. As it is undesirable to acquire RTNL for every monitor pass (which may occur as often as every 10 ms), the miimon has been converted to do conditional locking. A first pass inspects all slaves to determine if any action is required, and if so, a second pass (after acquring RTNL) is done to perform any actions (doing a complete rescan, as the situation may have changed when all locks were released). Signed-off-by: Andy Gospodarek <andy@greyhouse.net> Signed-off-by: Jay Vosburgh <fubar@us.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | bonding: Convert balance-rr transmit to new lockingJay Vosburgh2007-10-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change locking in balance-rr transmit processing to use a free running counter to determine which slave to transmit on. Instead, a free-running counter is maintained, and modulo arithmetic used to select a slave for transmit. This removes lock operations from the TX path, and eliminates a deadlock introduced by the conversion to work queues. Signed-off-by: Andy Gospodarek <andy@greyhouse.net> Signed-off-by: Jay Vosburgh <fubar@us.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | Convert bonding timers to workqueuesJay Vosburgh2007-10-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Convert bonding timers to workqueues. This converts the various monitor functions to run in periodic work queues instead of timers. This patch introduces the framework and convers the calls, but does not resolve various locking issues, and does not stand alone. Signed-off-by: Andy Gospodarek <andy@greyhouse.net> Signed-off-by: Jay Vosburgh <fubar@us.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | pasemi_mac: fix typoOlof Johansson2007-10-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add missing &: drivers/net/pasemi_mac.c: In function 'pasemi_mac_clean_rx': drivers/net/pasemi_mac.c:553: warning: passing argument 1 of 'prefetch' makes pointer from integer without a cast Signed-off-by: Olof Johansson <olof@lixom.net> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | defxx.c: dfx_bus_init() is __devexit not __devinitMaciej W. Rozycki2007-10-23
| | | | | | | | | | | | | | | | | | | | | | | | The dfx_bus_uninit() call is called from dfx_unregister() which is __devexit and which is ultimately the ->remove call for the device. Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | sky2: crash on removeStephen Hemminger2007-10-23
| | | | | | | | | | | | | | | | | | | | | Fix off-by one in remove logic that just got introduced. Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | MIPSnet: Delete all the useless debugging printks.Ralf Baechle2007-10-23
| | | | | | | | | | | | | | | | | | | | | Plus minor formatting fixes. Signed-off-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | AR7 ethernet: small post-merge cleanups and fixesMatteo Croce2007-10-23
| | | | | | | | | | | | | | | | | | | | | Signed-off-by: Matteo Croce <technoboy85@gmail.com> Signed-off-by: Eugene Konev <ejka@imfi.kspu.ru> Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | Merge branch 'features' of git://farnsworth.org/dale/linux-2.6-mv643xx_eth ↵Jeff Garzik2007-10-23
| |\ \ | | | | | | | | | | | | into upstream
| | * | mv643xx_eth: Remove obsolete checksum offload commentDale Farnsworth2007-10-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We fixed checksum offload a while back. Remove the note that it doesn't work. Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
| | * | mv643xx_eth: Merge drivers/net/mv643xx_eth.h into mv643xx_eth.cLennert Buytenhek2007-10-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since drivers/net/mv643xx_eth.c is the only user of drivers/net/mv643xx_eth.h, there's not much use in having the header file as a separate file, so merge the header into the driver. Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
| | * | mv643xx_eth: Remove unused register definesLennert Buytenhek2007-10-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most of the register defines in drivers/net/mv643xx_eth.h aren't used at all. Nuke them -- we can always re-add them if/when we need them, and meanwhile, they unnecessarily clutter up the header file. Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Acked-by: Tzachi Perelstein <tzachi@marvell.com> Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
| | * | mv643xx_eth: Clean up mv643xx_eth.hLennert Buytenhek2007-10-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apply the following cleanups to drivers/net/mv643xx_eth.h: * Change "#define<tab>" to "#define<space>". * Fix comment block style. * Wrap lines to fit in 80 columns. * Change "foo<<1" to "foo << 1". * Align addresses in the same column. * Parenthesize macro arguments. * Replace "(1<<24) | (1<<23) | (1<<22)" type constructs with "(7 << 22)". Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Acked-by: Tzachi Perelstein <tzachi@marvell.com> Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
| | * | mv643xx_eth: Remove MV643XX_ETH_ register prefixLennert Buytenhek2007-10-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that all register address and bit defines are in private namespace (drivers/net/mv643xx_eth.h), we can safely remove the MV643XX_ETH_ prefix to conserve horizontal space. Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Acked-by: Tzachi Perelstein <tzachi@marvell.com> Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
| | * | mv643xx_eth: Remove SHARED_REGS register address biasLennert Buytenhek2007-10-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Start counting mv643xx_eth register addresses from zero, instead of from 0x2000 (MV643XX_ETH_SHARED_REGS.) Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Acked-by: Tzachi Perelstein <tzachi@marvell.com> Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
| | * | mv643xx_eth: Enable use on Orion platformsLennert Buytenhek2007-10-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow Orion ARM platforms to use the mv643xx_eth driver. Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Acked-by: Tzachi Perelstein <tzachi@marvell.com> Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
| | * | mv643xx_eth: Disable RX/TX byte swapping on little-endian systemsLennert Buytenhek2007-10-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On little-endian systems, configure the SDMA unit with MV643XX_ETH_BLM_RX_NO_SWAP and MV643XX_ETH_BLM_TX_NO_SWAP. Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Acked-by: Tzachi Perelstein <tzachi@marvell.com> Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
| | * | mv643xx_eth: Move ethernet register definitions into private headerLennert Buytenhek2007-10-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the mv643xx's ethernet-related register definitions from include/linux/mv643xx.h into drivers/net/mv643xx_eth.h, since they aren't of any use outside the ethernet driver. Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Acked-by: Tzachi Perelstein <tzachi@marvell.com> Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
| * | | Merge branch 'bug-fixes' of git://farnsworth.org/dale/linux-2.6-mv643xx_eth ↵Jeff Garzik2007-10-23
| |\ \ \ | | | | | | | | | | | | | | | into upstream
| | * | | mv643xx_eth: Hook up mv643xx_get_sset_countDale Farnsworth2007-10-23
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit b9f2c044 replaced mv643xx_get_stats_count() with mv643xx_get_sset_count(), but forgot to hook it up. drivers/net/mv643xx_eth.c:2678: warning: mv643xx_get_sset_count defined but not used Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
| * | | Merge branch 'upstream-jeff' of ↵Jeff Garzik2007-10-23
| |\ \ \ | | |_|/ | |/| | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/romieu/netdev-2.6 into upstream
| | * | r8169: more phy init for the 8168Francois Romieu2007-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Realtek's r8168 driver version 8.003.00 adds new init sequences (they do not appear in version 8.002.00). Signed-off-by: Francois Romieu <romieu@fr.zoreil.com> Cc: Edward Hsu <edward_hsu@realtek.com.tw>
| | * | r8169: update the phy init for the 8168CFrancois Romieu2007-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The values have been updated between version 8.002.00 and version 8.003.00 of Realtek's r8168 driver. This modification syncs the 8168C with version 8.003.00. Signed-off-by: Francois Romieu <romieu@fr.zoreil.com> Cc: Edward Hsu <edward_hsu@realtek.com.tw>
| | * | r8169: phy init cleanupFrancois Romieu2007-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Consistent use of hexadecimal. No change of behavior otherwise. Signed-off-by: Francois Romieu <romieu@fr.zoreil.com> Cc: Edward Hsu <edward_hsu@realtek.com.tw>
| | * | r8169: phy init for the 8168Francois Romieu2007-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The values have been extracted from Realtek's r8168 driver version 8.002.00. Signed-off-by: Francois Romieu <romieu@fr.zoreil.com> Cc: Edward Hsu <edward_hsu@realtek.com.tw>