summaryrefslogtreecommitdiffstats
path: root/drivers
AgeCommit message (Collapse)Author
2007-11-02[WATCHDOG] spin_lock_init() fixesAlexey Dobriyan
Some watchdog drivers initialize global spinlocks in module's init function which is tolerable, but some do it in PCI probe function. So, switch to static initialization to fix theoretical bugs and, more importantly, stop giving people bad examples. Signed-off-by: Alexey Dobriyan <adobriyan@sw.ru> Signed-off-by: Wim Van Sebroeck <wim@iguana.be> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2007-10-27[WATCHDOG] Unlock in iTCO_wdt_start when reboot is disabledRoel Kluin
Unlock in iTCO_wdt_start when reboot is disabled Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2007-10-25[WATCHDOG] Add necessary braces to if (...) \n #if... casesIlpo Jarvinen
Signed-off-by: Ilpo Jarvinen <ilpo.jarvinen@helsinki.fi> Signed-off-by: Wim Van Sebroeck <wim@iguana.be> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2007-10-25[WATCHDOG] trivial fix two returns in void functionsFlorian Fainelli
This patch fixes two returns in the TI Davinci and PNX4008 in void functions. Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2007-10-23Merge branch 'irq-upstream' of ↵Linus Torvalds
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
2007-10-23Merge branch 'warnings' of ↵Linus Torvalds
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
2007-10-23Merge branch 'upstream-linus' of ↵Linus Torvalds
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 ...
2007-10-23Merge branch 'upstream-linus' of ↵Linus Torvalds
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: jmicron: update quirk for JMB361/3/5/6 libata: add HTS542525K9SA00 to NCQ blacklist libata-core: auditting chk_status v check_status [libata] checkpatch-inspired cleanups
2007-10-23ni5010: kill unused variableJeff Garzik
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2007-10-23eexpress: fix !SMP unused-var warningJeff Garzik
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2007-10-23jmicron: update quirk for JMB361/3/5/6Tejun Heo
Set bits 0, 4, 5 and 7 of PCI configuration register 0x40 in the quirk. This has the following effects and is recommended by the vendor. * Force enable of IDE channels (used to be left alone as BIOS configured) * Change initial phase behavior of PIO cycle such that the host pulls down the bus instead of tristating it. Vendor recommends this setting. The above settings are better for the current generation of controllers and needed for the upcoming next generation. Tested on JMB363. Signed-off-by: Tejun Heo <htejun@gmail.com> Cc: Ethan Hsiao <ethanhsiao@jmicron.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-10-23libata: add HTS542525K9SA00 to NCQ blacklistTejun Heo
Another one doing spurious NCQ completions. Blacklist it. Signed-off-by: Tejun Heo <htejun@gmail.com> Cc: Luca Tettamanti <kronos.it@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-10-23libata-core: auditting chk_status v check_statusAlan Cox
Did a complete audit of these and found we have another error case. ata_bus_softreset calls ata_check_status which means that it tries to do an ioread8 on the port blindly and check versus 0xFF for an error. It should of course be using the ap->ops method for this via chk_status, and this bug causes a wrog status call on the NS87415 at least. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-10-23[libata] checkpatch-inspired cleanupsJeff Garzik
Tackle the relatively sane complaints of checkpatch --file. The vast majority is indentation and whitespace changes, the rest are * #include fixes * printk KERN_xxx prefix addition * BSS/initializer cleanups Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2007-10-23bonding: Acquire correct locks in alb for promisc changeJay Vosburgh
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>
2007-10-23bonding: Convert more locks to _bh, acquire rtnl, for new lockingJay Vosburgh
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>
2007-10-23bonding: Convert locks to _bh, rework alb locking for new lockingJay Vosburgh
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>
2007-10-23bonding: Convert miimon to new lockingJay Vosburgh
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>
2007-10-23bonding: Convert balance-rr transmit to new lockingJay Vosburgh
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>
2007-10-23Convert bonding timers to workqueuesJay Vosburgh
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>
2007-10-23pasemi_mac: fix typoOlof Johansson
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>
2007-10-23defxx.c: dfx_bus_init() is __devexit not __devinitMaciej W. Rozycki
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>
2007-10-23sky2: crash on removeStephen Hemminger
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>
2007-10-23MIPSnet: Delete all the useless debugging printks.Ralf Baechle
Plus minor formatting fixes. Signed-off-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-10-23AR7 ethernet: small post-merge cleanups and fixesMatteo Croce
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>
2007-10-23Merge branch 'features' of git://farnsworth.org/dale/linux-2.6-mv643xx_eth ↵Jeff Garzik
into upstream
2007-10-23Merge branch 'bug-fixes' of git://farnsworth.org/dale/linux-2.6-mv643xx_eth ↵Jeff Garzik
into upstream
2007-10-23Merge branch 'upstream-jeff' of ↵Jeff Garzik
git://git.kernel.org/pub/scm/linux/kernel/git/romieu/netdev-2.6 into upstream
2007-10-23[SPARC, XEN, NET/CXGB3] use irq_handler_t where appropriateJeff Garzik
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>
2007-10-23drivers/char/riscom8: clean up irq handlingJeff Garzik
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>
2007-10-23isdn/sc: irq handler cleanJeff Garzik
* 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>
2007-10-23isdn/act2000: fix major bug. clean irq handler.Jeff Garzik
* 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>
2007-10-23char/pcmcia/synclink_cs: trim trailing whitespaceJeff Garzik
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2007-10-23drivers/char/ip2: separate polling and irq-driven work entry pointsJeff Garzik
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>
2007-10-23drivers/char/ip2: split out irq core logic into separate functionJeff Garzik
No changes besides code movement and glue. Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2007-10-23[NETDRVR] lib82596, netxen: delete pointless tests from irq handlerJeff Garzik
Remove always-false tests in irq handler. Also a few other minor cleanups. Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2007-10-23Eliminate pointless casts from void* in a few driver irq handlers.Jeff Garzik
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2007-10-23[PARPORT] Remove unused 'irq' argument from parport irq functionsJeff Garzik
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>
2007-10-23[PARPORT] Kill useful 'irq' arg from parport_{generic_irq,ieee1284_interrupt}Jeff Garzik
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>
2007-10-23[PARPORT] Consolidate code copies into a single generic irq handlerJeff Garzik
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>
2007-10-23Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6Linus Torvalds
* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (39 commits) [SCSI] qla2xxx: Update version number to 8.02.00-k5. [SCSI] qla2xxx: Correct display of ISP serial-number. [SCSI] qla2xxx: Correct residual-count handling discrepancies during UNDERRUN handling. [SCSI] qla2xxx: Make driver (mostly) legacy I/O port free. [SCSI] qla2xxx: Fix issue where final flash-segment updates were falling into the slow-path write handler. [SCSI] qla2xxx: Handle unaligned sector writes during NVRAM/VPD updates. [SCSI] qla2xxx: Defer explicit interrupt-polling processing to init-time scenarios. [SCSI] qla2xxx: Resync with latest HBA SSID specification -- 2.2u. [SCSI] sym53c8xx: Remove sym_xpt_async_sent_bdr [SCSI] sym53c8xx: Remove pci_dev pointer from sym_shcb [SCSI] sym53c8xx: Make interrupt handler capable of returning IRQ_NONE [SCSI] sym53c8xx: Get rid of IRQ_FMT and IRQ_PRM [SCSI] sym53c8xx: Use scmd_printk where appropriate [SCSI] sym53c8xx: Simplify DAC DMA handling [SCSI] sym53c8xx: Remove tag_ctrl module parameter [SCSI] sym53c8xx: Remove io_ws, mmio_ws and ram_ws elements [SCSI] sym53c8xx: Remove ->device_id [SCSI] sym53c8xx: Use pdev->revision [SCSI] sym53c8xx: PCI Error Recovery support [SCSI] sym53c8xx: Stop overriding scsi_done ...
2007-10-23Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdogLinus Torvalds
* git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: [WATCHDOG] Documentation/watchdog/src/watchdog-simple.c: improve this code [WATCHDOG] AR7: watchdog timer [WATCHDOG] Linux kernel IPC SBC Watchdog Timer driver
2007-10-23[WATCHDOG] AR7: watchdog timerMatteo Croce
Driver for the watchdog timer. Still doesn't reboots the machine on some boards, but we have improved and cleaned it Signed-off-by: Matteo Croce <technoboy85@gmail.com> Signed-off-by: Nicolas Thill <nico@openwrt.org> Signed-off-by: Enrik Berkhan <Enrik.Berkhan@akk.org> Signed-off-by: Christer Weinigel <wingel@nano-system.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2007-10-23[WATCHDOG] Linux kernel IPC SBC Watchdog Timer driverVeljkovic Srdjan
ICP's Wafer 5823 SBC has, as far as I can tell, the same WDT as many, if not all ICP's SBC's (that do have a WDT). I have tested it with several boards, including Rocky 4783, Rocky 3703 and Rocky 3782. I propose a rename of the Wafer 5823 watchdog timer driver to something like "IPC (SBC) Watchdog Timer", to reflect that it works with other IPC boards (maybe even all of them). Signed-off-by: Veljkovic Srdjan <sveljko@gvs.co.yu> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2007-10-23[SCSI] qla2xxx: Update version number to 8.02.00-k5.Andrew Vasquez
Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-10-23[SCSI] qla2xxx: Correct display of ISP serial-number.Andrew Vasquez
The original serial-number calculations based on WWPN no longer apply to newer ISPs (ISP24xx and ISP25xx). These newer board's serial number reside in the VPD. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-10-23[SCSI] qla2xxx: Correct residual-count handling discrepancies during ↵Andrew Vasquez
UNDERRUN handling. For recent ISPs, software during CS_UNDERRUN handling must determine if the two residuals, firmware-calculated and FCP_RSP, are different to recognize if a frame has been dropped. Update the driver to catch this condition, and clear the SS_RESIDUAL_UNDER and lscsi_status bits. This logic is consistent with what earlier firmwares did by explicitly cracking open the FCP_RSP statuses and clearing SS_RESIDUAL_UNDER. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-10-23[SCSI] qla2xxx: Make driver (mostly) legacy I/O port free.Andrew Vasquez
Recent ISPs need only the single MMIO BAR to manipulate HW registers. Unfortunately, ISP21xx, ISP22xx, ISP23xx, and ISP63xx type cards still require the I/O mapped region to manipulate the FLASH via the two HW flash-registers (flash_address and flash_data). Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-10-23[SCSI] qla2xxx: Fix issue where final flash-segment updates were falling ↵Andrew Vasquez
into the slow-path write handler. Original implementation would not use the burst-write mechanisms for requests equal to OPTROM_BURST_DWORDS transfer dwords. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-10-23[SCSI] qla2xxx: Handle unaligned sector writes during NVRAM/VPD updates.Andrew Vasquez
Since both NVRAM and VPD regions of the flash reside on unaligned sector boundaries, during update, the driver must perform a read-modify-write operation to the composite NVRAM/VPD region. This affects ISP25xx type boards only. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>