* [PATCH/WIP] Remove 'irq' argument from all IRQ handlers
@ 2007-05-19 6:20 Jeff Garzik
2007-05-19 9:03 ` Benjamin Herrenschmidt
2007-06-01 20:08 ` Eric W. Biederman
0 siblings, 2 replies; 3+ messages in thread
From: Jeff Garzik @ 2007-05-19 6:20 UTC (permalink / raw)
To: Linux Kernel Mailing List; +Cc: Benjamin Herrenschmidt, Paul Mackerras
[-- Attachment #1: Type: text/plain, Size: 1144 bytes --]
Attached is the patch and description that represents a current
work-in-progress, removal of the 'irq' argument passed to all driver IRQ
handlers.
As this patch demonstrates, the 'irq' argument is useless and
practically unused. The vast majority of drivers have this information
elsewhere (struct pci_dev or private struct). The cases where it is
actually used are as follows:
* a couple Mac drivers have multiple IRQs, and use the irq argument for
disambiguation purposes. This can easily be remedied by moving that
information into the info passed in the normal void* pointer.
* Several ancient ISA drivers, which mainly use it for
printk-in-irq-handler purposes. A couple use the irq argument as an
index into a structure, which is a buggy approach. I fixed up these.
This can be found in the 'hacking-irq-remove' branch of
git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6.git
Before I will even consider submitting this upstream, this patchset needs
* non-x86[-64] build fixes, and testing
* update the Mac drivers
* one more review pass, to make sure everything is kosher
so IOW, not anytime soon :)
[-- Attachment #2: desc --]
[-- Type: text/plain, Size: 49309 bytes --]
Jeff Garzik (12):
[irq-remove] Update core irq handling code to omit 'irq' parameter
[irq-remove] update sound drivers for new irq handler function sig
[irq-remove] update SCSI, ATA, IDE drivers for new irq handler function sig
[irq-remove] update net drivers for new irq handler function sig
driver irq handler arg removal: acorn, atm, block, bluetooth, cdrom
driver irq handler arg removal: arch-specific code
driver irq handler arg removal: acpi, char, dma, fc4
driver irq handler arg removal: i2c, ieee1394, infiniband, input, isdn
driver irq handler arg removal: macintosh, media, message, mfd, misc, mmc
driver irq handler arg removal: serial, video
driver irq handler arg removal: the rest
irq-remove: build and warning fixes for 2.6.21
arch/frv/kernel/dma.c | 2 +-
arch/frv/kernel/irq-mb93091.c | 2 +-
arch/frv/kernel/irq-mb93093.c | 2 +-
arch/frv/kernel/irq-mb93493.c | 2 +-
arch/frv/kernel/time.c | 4 ++--
arch/i386/kernel/i8259.c | 2 +-
arch/i386/kernel/time.c | 2 +-
arch/i386/kernel/vm86.c | 3 ++-
arch/i386/mach-visws/visws_apic.c | 2 +-
arch/i386/mach-voyager/voyager_basic.c | 2 +-
arch/ia64/kernel/irq_ia64.c | 4 ++--
arch/ia64/kernel/machvec.c | 2 +-
arch/ia64/kernel/mca.c | 2 +-
arch/ia64/kernel/time.c | 2 +-
arch/ia64/sn/pci/tioca_provider.c | 2 +-
arch/ia64/sn/pci/tioce_provider.c | 2 +-
arch/mips/kernel/time.c | 4 ++--
arch/mips/sgi-ip22/ip22-reset.c | 2 +-
arch/powerpc/platforms/cell/interrupt.c | 2 +-
arch/powerpc/platforms/powermac/low_i2c.c | 2 +-
arch/powerpc/platforms/powermac/pfunc_base.c | 2 +-
arch/powerpc/platforms/pseries/ras.c | 8 ++++----
arch/powerpc/platforms/pseries/xics.c | 4 ++--
arch/powerpc/sysdev/mpic.c | 2 +-
arch/sparc/kernel/irq.c | 7 ++++---
arch/x86_64/kernel/time.c | 2 +-
drivers/acorn/block/mfmhd.c | 2 +-
drivers/acpi/osl.c | 2 +-
drivers/ata/ahci.c | 2 +-
drivers/ata/libata-core.c | 2 +-
drivers/ata/pdc_adma.c | 2 +-
drivers/ata/sata_inic162x.c | 2 +-
drivers/ata/sata_mv.c | 2 +-
drivers/ata/sata_nv.c | 16 ++++++++--------
drivers/ata/sata_promise.c | 2 +-
drivers/ata/sata_qstor.c | 2 +-
drivers/ata/sata_sil.c | 2 +-
drivers/ata/sata_sil24.c | 2 +-
drivers/ata/sata_sx4.c | 2 +-
drivers/ata/sata_vsc.c | 2 +-
drivers/atm/ambassador.c | 7 ++++---
drivers/atm/eni.c | 2 +-
drivers/atm/firestream.c | 2 +-
drivers/atm/fore200e.c | 2 +-
drivers/atm/he.c | 4 ++--
drivers/atm/horizon.c | 5 +++--
drivers/atm/idt77252.c | 2 +-
drivers/atm/iphase.c | 2 +-
drivers/atm/lanai.c | 2 +-
drivers/atm/nicstar.c | 4 ++--
drivers/atm/zatm.c | 2 +-
drivers/block/DAC960.c | 21 +++++++--------------
drivers/block/DAC960.h | 12 ++++++------
drivers/block/acsi.c | 4 ++--
drivers/block/acsi_slm.c | 2 +-
drivers/block/amiflop.c | 4 ++--
drivers/block/ataflop.c | 4 ++--
drivers/block/cciss.c | 6 +++---
drivers/block/cpqarray.c | 4 ++--
drivers/block/floppy.c | 4 ++--
drivers/block/ps2esdi.c | 4 ++--
drivers/block/swim3.c | 8 ++++----
drivers/block/sx8.c | 2 +-
drivers/block/umem.c | 2 +-
drivers/block/xd.c | 2 +-
drivers/block/xd.h | 2 +-
drivers/bluetooth/bluecard_cs.c | 4 ++--
drivers/bluetooth/bt3c_cs.c | 4 ++--
drivers/bluetooth/btuart_cs.c | 4 ++--
drivers/bluetooth/dtl1_cs.c | 4 ++--
drivers/cdrom/cdu31a.c | 2 +-
drivers/cdrom/cm206.c | 2 +-
drivers/cdrom/mcdx.c | 2 +-
drivers/cdrom/sonycd535.c | 2 +-
drivers/char/amiserial.c | 6 +++---
drivers/char/applicom.c | 4 ++--
drivers/char/cyclades.c | 21 +++------------------
drivers/char/drm/drm_os_linux.h | 2 +-
drivers/char/ec3104_keyb.c | 2 +-
drivers/char/esp.c | 2 +-
drivers/char/hpet.c | 2 +-
drivers/char/hvc_console.c | 2 +-
drivers/char/hvcs.c | 4 ++--
drivers/char/hvsi.c | 2 +-
drivers/char/ip2/ip2main.c | 10 +++++-----
drivers/char/ipmi/ipmi_si_intf.c | 6 +++---
drivers/char/isicom.c | 2 +-
drivers/char/mbcs.c | 3 +--
drivers/char/mmtimer.c | 3 +--
drivers/char/mwave/tp3780i.c | 10 ++++++----
drivers/char/mxser.c | 4 ++--
drivers/char/mxser_new.c | 2 +-
drivers/char/nwbutton.c | 2 +-
drivers/char/nwbutton.h | 2 +-
drivers/char/pcmcia/synclink_cs.c | 8 ++++----
drivers/char/ppdev.c | 4 +++-
drivers/char/rio/rio_linux.c | 14 ++++++++------
drivers/char/riscom8.c | 4 ++--
drivers/char/rtc.c | 6 +++---
drivers/char/ser_a2232.c | 4 ++--
drivers/char/serial167.c | 6 +++---
drivers/char/snsc.c | 2 +-
drivers/char/snsc_event.c | 2 +-
drivers/char/sonypi.c | 2 +-
drivers/char/specialix.c | 7 ++++---
drivers/char/stallion.c | 4 ++--
drivers/char/sx.c | 14 +++++++-------
drivers/char/synclink.c | 4 ++--
drivers/char/synclink_gt.c | 9 ++++-----
drivers/char/synclinkmp.c | 7 +++----
drivers/char/tlclk.c | 4 ++--
drivers/char/tpm/tpm_tis.c | 6 +++---
drivers/char/vme_scc.c | 16 ++++++++--------
drivers/char/watchdog/eurotechwdt.c | 2 +-
drivers/char/watchdog/mpcore_wdt.c | 2 +-
drivers/char/watchdog/s3c2410_wdt.c | 2 +-
drivers/char/watchdog/wdt.c | 3 +--
drivers/char/watchdog/wdt285.c | 2 +-
drivers/char/watchdog/wdt_pci.c | 2 +-
drivers/dma/ioatdma.c | 2 +-
drivers/fc4/soc.c | 2 +-
drivers/fc4/socal.c | 2 +-
drivers/i2c/busses/i2c-elektor.c | 2 +-
drivers/i2c/busses/i2c-ibm_iic.c | 2 +-
drivers/i2c/busses/i2c-iop3xx.c | 2 +-
drivers/i2c/busses/i2c-mpc.c | 2 +-
drivers/i2c/busses/i2c-mv64xxx.c | 2 +-
drivers/i2c/busses/i2c-ocores.c | 2 +-
drivers/i2c/busses/i2c-omap.c | 2 +-
drivers/i2c/busses/i2c-pca-isa.c | 2 +-
drivers/i2c/busses/i2c-pxa.c | 2 +-
drivers/i2c/busses/i2c-s3c2410.c | 2 +-
drivers/i2c/chips/isp1301_omap.c | 2 +-
drivers/i2c/chips/tps65010.c | 2 +-
drivers/ide/ide-io.c | 8 ++++----
drivers/ide/legacy/hd.c | 2 +-
drivers/ide/legacy/macide.c | 2 +-
drivers/ieee1394/ohci1394.c | 2 +-
drivers/ieee1394/pcilynx.c | 2 +-
drivers/infiniband/hw/amso1100/c2.c | 4 ++--
drivers/infiniband/hw/ehca/ehca_irq.c | 4 ++--
drivers/infiniband/hw/ehca/ehca_irq.h | 4 ++--
drivers/infiniband/hw/ipath/ipath_intr.c | 2 +-
drivers/infiniband/hw/ipath/ipath_kernel.h | 2 +-
drivers/infiniband/hw/mthca/mthca_eq.c | 8 ++++----
drivers/input/joystick/amijoy.c | 2 +-
drivers/input/keyboard/amikbd.c | 2 +-
drivers/input/keyboard/corgikbd.c | 2 +-
drivers/input/keyboard/hilkbd.c | 2 +-
drivers/input/keyboard/locomokbd.c | 2 +-
drivers/input/keyboard/omap-keypad.c | 2 +-
drivers/input/keyboard/spitzkbd.c | 4 ++--
drivers/input/misc/ixp4xx-beeper.c | 2 +-
drivers/input/mouse/amimouse.c | 2 +-
drivers/input/mouse/inport.c | 2 +-
drivers/input/mouse/logibm.c | 2 +-
drivers/input/mouse/pc110pad.c | 8 ++++----
drivers/input/mouse/rpcmouse.c | 2 +-
drivers/input/serio/ambakmi.c | 2 +-
drivers/input/serio/ct82c710.c | 2 +-
drivers/input/serio/gscps2.c | 4 ++--
drivers/input/serio/hp_sdc.c | 6 +++---
drivers/input/serio/i8042.c | 9 +++++----
drivers/input/serio/maceps2.c | 2 +-
drivers/input/serio/parkbd.c | 6 ++++--
drivers/input/serio/pcips2.c | 2 +-
drivers/input/serio/q40kbd.c | 2 +-
drivers/input/serio/rpckbd.c | 4 ++--
drivers/input/serio/sa1111ps2.c | 4 ++--
drivers/input/touchscreen/ads7846.c | 2 +-
drivers/input/touchscreen/corgi_ts.c | 2 +-
drivers/input/touchscreen/h3600_ts_input.c | 4 ++--
drivers/input/touchscreen/hp680_ts_input.c | 2 +-
drivers/input/touchscreen/mk712.c | 2 +-
drivers/input/touchscreen/ucb1400_ts.c | 13 +++++--------
drivers/isdn/act2000/act2000_isa.c | 3 ++-
drivers/isdn/hardware/avm/avmcard.h | 4 ++--
drivers/isdn/hardware/avm/b1.c | 2 +-
drivers/isdn/hardware/avm/b1dma.c | 2 +-
drivers/isdn/hardware/avm/c4.c | 2 +-
drivers/isdn/hardware/avm/t1isa.c | 2 +-
drivers/isdn/hardware/eicon/divasmain.c | 2 +-
drivers/isdn/hisax/amd7930_fn.c | 2 +-
drivers/isdn/hisax/asuscom.c | 4 ++--
drivers/isdn/hisax/avm_a1.c | 2 +-
drivers/isdn/hisax/avm_a1p.c | 2 +-
drivers/isdn/hisax/avm_pci.c | 2 +-
drivers/isdn/hisax/bkm_a4t.c | 2 +-
drivers/isdn/hisax/bkm_a8.c | 2 +-
drivers/isdn/hisax/diva.c | 8 ++++----
drivers/isdn/hisax/elsa.c | 8 ++++----
drivers/isdn/hisax/elsa_ser.c | 2 +-
drivers/isdn/hisax/enternow_pci.c | 2 +-
drivers/isdn/hisax/gazel.c | 4 ++--
drivers/isdn/hisax/hfc4s8s_l1.c | 2 +-
drivers/isdn/hisax/hfc_pci.c | 2 +-
drivers/isdn/hisax/hfc_sx.c | 2 +-
drivers/isdn/hisax/hfcscard.c | 2 +-
drivers/isdn/hisax/hisax.h | 2 +-
drivers/isdn/hisax/hisax_fcpcipnp.c | 4 ++--
drivers/isdn/hisax/icc.c | 2 +-
drivers/isdn/hisax/isac.c | 2 +-
drivers/isdn/hisax/isurf.c | 2 +-
drivers/isdn/hisax/ix1_micro.c | 2 +-
drivers/isdn/hisax/mic.c | 2 +-
drivers/isdn/hisax/netjet.h | 2 +-
drivers/isdn/hisax/niccy.c | 2 +-
drivers/isdn/hisax/nj_s.c | 2 +-
drivers/isdn/hisax/nj_u.c | 2 +-
drivers/isdn/hisax/s0box.c | 2 +-
drivers/isdn/hisax/saphir.c | 2 +-
drivers/isdn/hisax/sedlbauer.c | 6 +++---
drivers/isdn/hisax/sportster.c | 2 +-
drivers/isdn/hisax/teleint.c | 2 +-
drivers/isdn/hisax/teles0.c | 2 +-
drivers/isdn/hisax/teles3.c | 2 +-
drivers/isdn/hisax/telespci.c | 2 +-
drivers/isdn/hisax/w6692.c | 4 ++--
drivers/isdn/hysdn/boardergo.c | 2 +-
drivers/isdn/pcbit/layer2.c | 2 +-
drivers/isdn/pcbit/layer2.h | 2 +-
drivers/isdn/sc/card.h | 2 +-
drivers/isdn/sc/interrupt.c | 3 ++-
drivers/macintosh/macio-adb.c | 4 ++--
drivers/macintosh/smu.c | 4 ++--
drivers/macintosh/via-cuda.c | 4 ++--
drivers/macintosh/via-macii.c | 6 +++---
drivers/macintosh/via-maciisi.c | 9 ++++-----
drivers/macintosh/via-pmu.c | 8 ++++----
drivers/macintosh/via-pmu68k.c | 10 +++++-----
drivers/media/common/saa7146_core.c | 2 +-
drivers/media/dvb/b2c2/flexcop-pci.c | 2 +-
drivers/media/dvb/bt8xx/bt878.c | 2 +-
drivers/media/dvb/pluto2/pluto2.c | 2 +-
drivers/media/video/arv.c | 2 +-
drivers/media/video/bt8xx/bttv-driver.c | 2 +-
drivers/media/video/cafe_ccic.c | 2 +-
drivers/media/video/cx88/cx88-alsa.c | 2 +-
drivers/media/video/cx88/cx88-mpeg.c | 2 +-
drivers/media/video/cx88/cx88-video.c | 2 +-
drivers/media/video/meye.c | 2 +-
drivers/media/video/planb.c | 7 ++++---
drivers/media/video/saa7134/saa7134-alsa.c | 2 +-
drivers/media/video/saa7134/saa7134-core.c | 2 +-
drivers/media/video/saa7134/saa7134-oss.c | 2 +-
drivers/media/video/stradis.c | 2 +-
drivers/media/video/vino.c | 2 +-
drivers/media/video/zoran_device.c | 3 +--
drivers/media/video/zoran_device.h | 2 +-
drivers/message/fusion/mptbase.c | 4 ++--
drivers/message/i2o/pci.c | 3 +--
drivers/mfd/ucb1x00-core.c | 2 +-
drivers/misc/ibmasm/ibmasm.h | 2 +-
drivers/misc/ibmasm/lowlevel.c | 2 +-
drivers/misc/tifm_7xx1.c | 2 +-
drivers/mmc/host/at91_mci.c | 2 +-
drivers/mmc/host/au1xmmc.c | 4 ++--
drivers/mmc/host/imxmmc.c | 2 +-
drivers/mmc/host/mmci.c | 4 ++--
drivers/mmc/host/omap.c | 4 ++--
drivers/mmc/host/pxamci.c | 4 ++--
drivers/mmc/host/sdhci.c | 2 +-
drivers/mmc/host/wbsd.c | 2 +-
drivers/mtd/nand/cafe_nand.c | 2 +-
drivers/mtd/onenand/onenand_base.c | 4 ++--
drivers/net/3c501.c | 3 +--
drivers/net/3c501.h | 2 +-
drivers/net/3c505.c | 2 +-
drivers/net/3c507.c | 4 ++--
drivers/net/3c509.c | 6 +++---
drivers/net/3c515.c | 4 ++--
drivers/net/3c523.c | 4 ++--
drivers/net/3c527.c | 4 ++--
drivers/net/3c59x.c | 14 +++++++-------
drivers/net/7990.c | 4 ++--
drivers/net/8139cp.c | 4 ++--
drivers/net/8139too.c | 6 +++---
drivers/net/82596.c | 6 +++---
drivers/net/8390.c | 4 ++--
drivers/net/8390.h | 2 +-
drivers/net/a2065.c | 2 +-
drivers/net/acenic.c | 2 +-
drivers/net/acenic.h | 2 +-
drivers/net/amd8111e.c | 4 ++--
drivers/net/apne.c | 4 ++--
drivers/net/appletalk/cops.c | 4 ++--
drivers/net/appletalk/ltpc.c | 2 +-
drivers/net/arcnet/arcnet.c | 2 +-
drivers/net/ariadne.c | 4 ++--
drivers/net/arm/am79c961a.c | 6 +++---
drivers/net/arm/at91_ether.c | 4 ++--
drivers/net/arm/ep93xx_eth.c | 2 +-
drivers/net/arm/ether1.c | 4 ++--
drivers/net/arm/ether3.c | 4 ++--
drivers/net/at1700.c | 4 ++--
drivers/net/atari_bionet.c | 2 +-
drivers/net/atari_pamsnet.c | 2 +-
drivers/net/atarilance.c | 4 ++--
drivers/net/atl1/atl1_main.c | 3 +--
drivers/net/atp.c | 4 ++--
drivers/net/au1000_eth.c | 4 ++--
drivers/net/b44.c | 4 ++--
drivers/net/bmac.c | 12 ++++++------
drivers/net/bnx2.c | 8 ++++----
drivers/net/cassini.c | 8 ++++----
drivers/net/chelsio/cxgb2.c | 2 +-
drivers/net/chelsio/sge.c | 4 ++--
drivers/net/chelsio/sge.h | 2 +-
drivers/net/cris/eth_v10.c | 8 ++++----
drivers/net/cs89x0.c | 6 +++---
drivers/net/cxgb3/adapter.h | 6 ++----
drivers/net/cxgb3/cxgb3_main.c | 5 ++---
drivers/net/cxgb3/sge.c | 16 ++++++++--------
drivers/net/de600.c | 2 +-
drivers/net/de600.h | 2 +-
drivers/net/de620.c | 4 ++--
drivers/net/declance.c | 4 ++--
drivers/net/defxx.c | 4 ++--
drivers/net/depca.c | 4 ++--
drivers/net/dgrs.c | 5 +++--
drivers/net/dl2k.c | 4 ++--
drivers/net/dm9000.c | 6 +++---
drivers/net/e100.c | 4 ++--
drivers/net/e1000/e1000_ethtool.c | 2 +-
drivers/net/e1000/e1000_main.c | 10 +++++-----
drivers/net/eepro.c | 4 ++--
drivers/net/eepro100.c | 6 +++---
drivers/net/eexpress.c | 5 +++--
drivers/net/ehea/ehea_main.c | 6 +++---
drivers/net/epic100.c | 4 ++--
drivers/net/eth16i.c | 4 ++--
drivers/net/ewrk3.c | 4 ++--
drivers/net/fealnx.c | 4 ++--
drivers/net/fec.c | 8 ++++----
drivers/net/fec_8xx/fec_main.c | 4 ++--
drivers/net/forcedeth.c | 26 +++++++++++++-------------
drivers/net/fs_enet/fs_enet-main.c | 2 +-
drivers/net/gianfar.c | 14 +++++++-------
drivers/net/gianfar.h | 2 +-
drivers/net/hamachi.c | 4 ++--
drivers/net/hamradio/baycom_epp.c | 3 ++-
drivers/net/hamradio/baycom_par.c | 4 +++-
drivers/net/hamradio/baycom_ser_fdx.c | 2 +-
drivers/net/hamradio/baycom_ser_hdx.c | 2 +-
drivers/net/hamradio/dmascc.c | 4 ++--
drivers/net/hamradio/scc.c | 6 +++---
drivers/net/hamradio/yam.c | 2 +-
drivers/net/hp100.c | 4 ++--
drivers/net/ibm_emac/ibm_emac_core.c | 4 ++--
drivers/net/ibm_emac/ibm_emac_mal.c | 10 +++++-----
drivers/net/ibmlana.c | 2 +-
drivers/net/ibmveth.c | 4 ++--
drivers/net/ioc3-eth.c | 2 +-
drivers/net/irda/ali-ircc.c | 2 +-
drivers/net/irda/au1k_ir.c | 8 +++++---
drivers/net/irda/donauboe.c | 4 ++--
drivers/net/irda/irport.c | 4 ++--
drivers/net/irda/irport.h | 2 +-
drivers/net/irda/nsc-ircc.c | 2 +-
drivers/net/irda/pxaficp_ir.c | 4 ++--
drivers/net/irda/sa1100_ir.c | 2 +-
drivers/net/irda/smsc-ircc2.c | 6 +++---
drivers/net/irda/via-ircc.c | 6 +++---
drivers/net/irda/vlsi_ir.c | 2 +-
drivers/net/irda/w83977af_ir.c | 2 +-
drivers/net/isa-skeleton.c | 4 ++--
drivers/net/ixgb/ixgb_main.c | 6 +++---
drivers/net/ixp2000/ixpdev.c | 4 ++--
drivers/net/lance.c | 4 ++--
drivers/net/lasi_82596.c | 8 ++++----
drivers/net/lib8390.c | 4 ++--
drivers/net/lp486e.c | 4 ++--
drivers/net/mac89x0.c | 4 ++--
drivers/net/mace.c | 12 ++++++------
drivers/net/macmace.c | 8 ++++----
drivers/net/meth.c | 4 ++--
drivers/net/mipsnet.c | 2 +-
drivers/net/mv643xx_eth.c | 4 ++--
drivers/net/myri10ge/myri10ge.c | 2 +-
drivers/net/myri_sbus.c | 2 +-
drivers/net/natsemi.c | 6 +++---
drivers/net/netx-eth.c | 2 +-
drivers/net/netxen/netxen_nic_main.c | 12 ++++--------
drivers/net/ni5010.c | 4 ++--
drivers/net/ni52.c | 4 ++--
drivers/net/ni65.c | 4 ++--
drivers/net/ns83820.c | 2 +-
drivers/net/pci-skeleton.c | 4 ++--
drivers/net/pcmcia/3c574_cs.c | 6 +++---
drivers/net/pcmcia/3c589_cs.c | 6 +++---
drivers/net/pcmcia/axnet_cs.c | 12 ++++++------
drivers/net/pcmcia/fmvj18x_cs.c | 6 +++---
drivers/net/pcmcia/nmclan_cs.c | 4 ++--
drivers/net/pcmcia/pcnet_cs.c | 8 ++++----
drivers/net/pcmcia/smc91c92_cs.c | 6 +++---
drivers/net/pcmcia/xirc2ps_cs.c | 4 ++--
drivers/net/pcnet32.c | 6 +++---
drivers/net/phy/phy.c | 4 ++--
drivers/net/plip.c | 12 +++++++-----
drivers/net/qla3xxx.c | 2 +-
drivers/net/r8169.c | 6 +++---
drivers/net/rrunner.c | 2 +-
drivers/net/rrunner.h | 2 +-
drivers/net/s2io.c | 8 ++++----
drivers/net/s2io.h | 8 ++++----
drivers/net/saa9730.c | 2 +-
drivers/net/sb1000.c | 4 ++--
drivers/net/sb1250-mac.c | 4 ++--
drivers/net/sc92031.c | 4 ++--
drivers/net/seeq8005.c | 4 ++--
drivers/net/sgiseeq.c | 2 +-
drivers/net/sis190.c | 4 ++--
drivers/net/sis900.c | 6 +++---
drivers/net/sk98lin/skge.c | 10 +++++-----
drivers/net/skfp/skfddi.c | 4 ++--
drivers/net/skge.c | 4 ++--
drivers/net/sky2.c | 4 ++--
drivers/net/smc-ultra.c | 2 +-
drivers/net/smc911x.c | 4 ++--
drivers/net/smc9194.c | 4 ++--
drivers/net/smc91x.c | 4 ++--
drivers/net/sonic.c | 2 +-
drivers/net/sonic.h | 2 +-
drivers/net/spider_net.c | 4 ++--
drivers/net/starfire.c | 4 ++--
drivers/net/sun3_82586.c | 4 ++--
drivers/net/sun3lance.c | 4 ++--
drivers/net/sunbmac.c | 2 +-
drivers/net/sundance.c | 4 ++--
drivers/net/sungem.c | 4 ++--
drivers/net/sunhme.c | 2 +-
drivers/net/sunlance.c | 2 +-
drivers/net/sunqe.c | 2 +-
drivers/net/tc35815.c | 4 ++--
drivers/net/tg3.c | 14 ++++++--------
drivers/net/tlan.c | 6 +++---
drivers/net/tokenring/3c359.c | 4 ++--
drivers/net/tokenring/ibmtr.c | 4 ++--
drivers/net/tokenring/lanstreamer.c | 4 ++--
drivers/net/tokenring/madgemc.c | 6 +++---
drivers/net/tokenring/olympic.c | 4 ++--
drivers/net/tokenring/smctr.c | 4 ++--
drivers/net/tokenring/tms380tr.c | 2 +-
drivers/net/tokenring/tms380tr.h | 2 +-
drivers/net/tulip/de2104x.c | 2 +-
drivers/net/tulip/de4x5.c | 4 ++--
drivers/net/tulip/dmfe.c | 6 +++---
drivers/net/tulip/interrupt.c | 2 +-
drivers/net/tulip/tulip.h | 2 +-
drivers/net/tulip/tulip_core.c | 2 +-
drivers/net/tulip/uli526x.c | 4 ++--
drivers/net/tulip/winbond-840.c | 4 ++--
drivers/net/tulip/xircom_cb.c | 6 +++---
drivers/net/tulip/xircom_tulip_cb.c | 4 ++--
drivers/net/typhoon.c | 2 +-
drivers/net/ucc_geth.c | 4 ++--
drivers/net/via-rhine.c | 6 +++---
drivers/net/via-velocity.c | 4 ++--
drivers/net/wan/cosa.c | 4 ++--
drivers/net/wan/cycx_main.c | 4 ++--
drivers/net/wan/dscc4.c | 4 ++--
drivers/net/wan/farsync.c | 2 +-
drivers/net/wan/hd6457x.c | 2 +-
drivers/net/wan/lmc/lmc_main.c | 4 ++--
drivers/net/wan/pc300_drv.c | 4 ++--
drivers/net/wan/sbni.c | 4 ++--
drivers/net/wan/sdla.c | 5 +++--
drivers/net/wan/wanxl.c | 2 +-
drivers/net/wan/z85230.c | 2 +-
drivers/net/wan/z85230.h | 2 +-
drivers/net/wireless/airo.c | 4 ++--
drivers/net/wireless/arlan-main.c | 4 ++--
drivers/net/wireless/atmel.c | 2 +-
drivers/net/wireless/bcm43xx/bcm43xx_main.c | 4 ++--
drivers/net/wireless/hostap/hostap_hw.c | 2 +-
drivers/net/wireless/ipw2100.c | 2 +-
drivers/net/wireless/ipw2200.c | 2 +-
drivers/net/wireless/netwave_cs.c | 4 ++--
drivers/net/wireless/orinoco.c | 2 +-
drivers/net/wireless/orinoco.h | 2 +-
drivers/net/wireless/prism54/islpci_dev.c | 2 +-
drivers/net/wireless/prism54/islpci_dev.h | 2 +-
drivers/net/wireless/ray_cs.c | 4 ++--
drivers/net/wireless/wavelan.c | 2 +-
drivers/net/wireless/wavelan.p.h | 3 +--
drivers/net/wireless/wavelan_cs.c | 3 +--
drivers/net/wireless/wavelan_cs.p.h | 3 +--
drivers/net/wireless/wl3501_cs.c | 3 +--
drivers/net/yellowfin.c | 4 ++--
drivers/net/znet.c | 4 ++--
drivers/parisc/dino.c | 2 +-
drivers/parisc/eisa.c | 2 +-
drivers/parisc/gsc.c | 2 +-
drivers/parisc/gsc.h | 2 +-
drivers/parisc/power.c | 3 ++-
drivers/parisc/superio.c | 2 +-
drivers/parport/daisy.c | 2 +-
drivers/parport/ieee1284.c | 4 +++-
drivers/parport/parport_amiga.c | 2 +-
drivers/parport/parport_atari.c | 4 ++--
drivers/parport/parport_ax88796.c | 4 ++--
drivers/parport/parport_gsc.c | 4 ++--
drivers/parport/parport_ip32.c | 8 ++++----
drivers/parport/parport_mfc3.c | 2 +-
drivers/parport/parport_pc.c | 4 ++--
drivers/parport/parport_sunbpp.c | 2 +-
drivers/parport/share.c | 2 +-
drivers/pci/hotplug/cpci_hotplug_core.c | 2 +-
drivers/pci/hotplug/cpqphp.h | 2 +-
drivers/pci/hotplug/cpqphp_ctrl.c | 2 +-
drivers/pci/hotplug/pciehp_hpc.c | 6 +++---
drivers/pci/hotplug/shpchp_hpc.c | 6 +++---
drivers/pci/pcie/aer/aerdrv.c | 3 +--
drivers/pcmcia/at91_cf.c | 2 +-
drivers/pcmcia/hd64465_ss.c | 4 ++--
drivers/pcmcia/i82092.c | 2 +-
drivers/pcmcia/i82092aa.h | 2 +-
drivers/pcmcia/i82365.c | 13 +++++++------
drivers/pcmcia/m32r_cfc.c | 2 +-
drivers/pcmcia/m32r_pcc.c | 4 ++--
drivers/pcmcia/m8xx_pcmcia.c | 4 ++--
drivers/pcmcia/omap_cf.c | 2 +-
drivers/pcmcia/pcmcia_resource.c | 2 +-
drivers/pcmcia/pd6729.c | 6 +++---
drivers/pcmcia/soc_common.c | 2 +-
drivers/pcmcia/tcic.c | 10 +++++-----
drivers/pcmcia/vrc4171_card.c | 2 +-
drivers/pcmcia/vrc4173_cardu.c | 2 +-
drivers/pcmcia/yenta_socket.c | 6 +++---
drivers/pnp/resource.c | 2 +-
drivers/rtc/rtc-cmos.c | 2 +-
drivers/rtc/rtc-ds1553.c | 2 +-
drivers/rtc/rtc-pl031.c | 2 +-
drivers/rtc/rtc-s3c.c | 4 ++--
drivers/rtc/rtc-sa1100.c | 4 ++--
drivers/rtc/rtc-sh.c | 6 +++---
drivers/rtc/rtc-vr41xx.c | 4 ++--
drivers/sbus/char/bbc_i2c.c | 2 +-
drivers/sbus/char/cpwatchdog.c | 4 ++--
drivers/sbus/char/uctrl.c | 2 +-
drivers/scsi/3w-9xxx.c | 2 +-
drivers/scsi/3w-xxxx.c | 2 +-
drivers/scsi/53c700.c | 2 +-
drivers/scsi/53c700.h | 2 +-
drivers/scsi/53c7xx.c | 6 +++---
drivers/scsi/BusLogic.c | 2 +-
drivers/scsi/BusLogic.h | 2 +-
drivers/scsi/NCR5380.c | 6 +++---
drivers/scsi/NCR5380.h | 2 +-
drivers/scsi/NCR53C9x.c | 7 ++++---
drivers/scsi/NCR53C9x.h | 2 +-
drivers/scsi/NCR53c406a.c | 4 ++--
drivers/scsi/NCR_D700.c | 8 ++++----
drivers/scsi/NCR_Q720.c | 5 ++---
drivers/scsi/a100u2w.c | 2 +-
drivers/scsi/a2091.c | 2 +-
drivers/scsi/a3000.c | 2 +-
drivers/scsi/aacraid/aacraid.h | 2 +-
drivers/scsi/aacraid/rx.c | 4 ++--
drivers/scsi/aacraid/sa.c | 2 +-
drivers/scsi/advansys.c | 4 ++--
drivers/scsi/aha152x.c | 13 ++++---------
drivers/scsi/aha1542.c | 5 +++--
drivers/scsi/aha1740.c | 2 +-
drivers/scsi/aic7xxx/aic79xx_osm.c | 2 +-
drivers/scsi/aic7xxx/aic79xx_osm.h | 2 +-
drivers/scsi/aic7xxx/aic7xxx_osm.c | 2 +-
drivers/scsi/aic7xxx/aic7xxx_osm.h | 2 +-
drivers/scsi/aic7xxx_old.c | 4 ++--
drivers/scsi/aic94xx/aic94xx_hwi.c | 2 +-
drivers/scsi/aic94xx/aic94xx_hwi.h | 2 +-
drivers/scsi/amiga7xx.h | 2 +-
drivers/scsi/arcmsr/arcmsr_hba.c | 2 +-
drivers/scsi/arm/acornscsi.c | 7 +++----
drivers/scsi/arm/cumana_2.c | 5 ++---
drivers/scsi/arm/eesox.c | 5 ++---
drivers/scsi/arm/powertec.c | 5 ++---
drivers/scsi/atari_NCR5380.c | 4 ++--
drivers/scsi/atari_dma_emul.c | 4 ++--
drivers/scsi/atari_scsi.c | 10 +++++-----
drivers/scsi/atp870u.c | 2 +-
drivers/scsi/bvme6000.h | 2 +-
drivers/scsi/dc395x.c | 2 +-
drivers/scsi/dec_esp.c | 12 ++++++------
drivers/scsi/dpt_i2o.c | 2 +-
drivers/scsi/dpti.h | 2 +-
drivers/scsi/eata.c | 19 ++++++++++---------
drivers/scsi/eata_pio.c | 6 +++---
drivers/scsi/fd_mcs.c | 4 ++--
drivers/scsi/fdomain.c | 4 ++--
drivers/scsi/gdth.c | 7 ++++---
drivers/scsi/gvp11.c | 2 +-
drivers/scsi/hptiop.c | 2 +-
drivers/scsi/ibmmca.c | 2 +-
drivers/scsi/ibmvscsi/rpa_vscsi.c | 3 +--
drivers/scsi/in2000.c | 2 +-
drivers/scsi/initio.c | 2 +-
drivers/scsi/ipr.c | 2 +-
drivers/scsi/ips.c | 4 ++--
drivers/scsi/lpfc/lpfc_crtn.h | 2 +-
drivers/scsi/lpfc/lpfc_sli.c | 2 +-
drivers/scsi/mac53c94.c | 8 ++++----
drivers/scsi/mac_esp.c | 10 +++++-----
drivers/scsi/megaraid.c | 5 ++---
drivers/scsi/megaraid.h | 4 ++--
drivers/scsi/megaraid/megaraid_mbox.c | 4 ++--
drivers/scsi/megaraid/megaraid_sas.c | 2 +-
drivers/scsi/mesh.c | 2 +-
drivers/scsi/mvme147.c | 2 +-
drivers/scsi/mvme16x.h | 2 +-
drivers/scsi/ncr53c8xx.c | 2 +-
drivers/scsi/ncr53c8xx.h | 2 +-
drivers/scsi/nsp32.c | 4 ++--
drivers/scsi/pcmcia/nsp_cs.c | 2 +-
drivers/scsi/pcmcia/nsp_cs.h | 2 +-
drivers/scsi/pcmcia/sym53c500_cs.c | 2 +-
drivers/scsi/psi240i.c | 10 +++++-----
drivers/scsi/qla1280.c | 2 +-
drivers/scsi/qla2xxx/qla_gbl.h | 6 +++---
drivers/scsi/qla2xxx/qla_inline.h | 2 +-
drivers/scsi/qla2xxx/qla_isr.c | 13 ++++++-------
drivers/scsi/qla4xxx/ql4_glbl.h | 2 +-
drivers/scsi/qla4xxx/ql4_isr.c | 3 +--
drivers/scsi/qlogicfas408.c | 2 +-
drivers/scsi/qlogicfas408.h | 2 +-
drivers/scsi/qlogicpti.c | 4 ++--
drivers/scsi/seagate.c | 10 +++++-----
drivers/scsi/sgiwd93.c | 2 +-
drivers/scsi/stex.c | 2 +-
drivers/scsi/sun3_NCR5380.c | 2 +-
drivers/scsi/sun3_scsi.c | 4 ++--
drivers/scsi/sun3_scsi_vme.c | 4 ++--
drivers/scsi/sym53c416.c | 3 ++-
drivers/scsi/sym53c8xx_2/sym_glue.c | 2 +-
drivers/scsi/tmscsim.c | 2 +-
drivers/scsi/u14-34f.c | 12 +++++++-----
drivers/scsi/ultrastor.c | 4 ++--
drivers/scsi/wd7000.c | 2 +-
drivers/serial/21285.c | 4 ++--
drivers/serial/68328serial.c | 2 +-
drivers/serial/68360serial.c | 4 +++-
drivers/serial/8250.c | 4 ++--
drivers/serial/amba-pl010.c | 2 +-
drivers/serial/amba-pl011.c | 2 +-
drivers/serial/atmel_serial.c | 2 +-
drivers/serial/clps711x.c | 4 ++--
drivers/serial/cpm_uart/cpm_uart_core.c | 2 +-
drivers/serial/crisv10.c | 6 +++---
drivers/serial/dz.c | 2 +-
drivers/serial/icom.c | 2 +-
drivers/serial/imx.c | 6 +++---
drivers/serial/ioc4_serial.c | 3 +--
drivers/serial/ip22zilog.c | 2 +-
drivers/serial/jsm/jsm_neo.c | 2 +-
drivers/serial/m32r_sio.c | 2 +-
drivers/serial/mcfserial.c | 2 +-
drivers/serial/mpc52xx_uart.c | 4 ++--
drivers/serial/mpsc.c | 2 +-
drivers/serial/netx-serial.c | 2 +-
drivers/serial/pmac_zilog.c | 2 +-
drivers/serial/pxa.c | 2 +-
drivers/serial/s3c2410.c | 4 ++--
drivers/serial/sa1100.c | 2 +-
drivers/serial/serial_lh7a40x.c | 2 +-
drivers/serial/serial_txx9.c | 2 +-
drivers/serial/sh-sci.c | 10 +++++-----
drivers/serial/sn_console.c | 2 +-
drivers/serial/sunhv.c | 2 +-
drivers/serial/sunsab.c | 2 +-
drivers/serial/sunsu.c | 4 ++--
drivers/serial/sunzilog.c | 2 +-
drivers/serial/v850e_uart.c | 4 ++--
drivers/serial/vr41xx_siu.c | 2 +-
drivers/sn/ioc3.c | 4 ++--
drivers/spi/pxa2xx_spi.c | 2 +-
drivers/spi/spi_mpc83xx.c | 2 +-
drivers/spi/spi_s3c24xx.c | 2 +-
drivers/tc/zs.c | 2 +-
drivers/usb/core/hcd.c | 2 +-
drivers/usb/core/hcd.h | 2 +-
drivers/usb/gadget/at91_udc.c | 2 +-
drivers/usb/gadget/goku_udc.c | 2 +-
drivers/usb/gadget/lh7a40x_udc.c | 2 +-
drivers/usb/gadget/net2280.c | 2 +-
drivers/usb/gadget/omap_udc.c | 6 +++---
drivers/usb/gadget/pxa2xx_udc.c | 6 +++---
drivers/usb/misc/uss720.c | 2 +-
drivers/video/amifb.c | 4 ++--
drivers/video/arcfb.c | 2 +-
drivers/video/atafb.c | 2 +-
drivers/video/aty/atyfb_base.c | 2 +-
drivers/video/au1200fb.c | 2 +-
drivers/video/console/fbcon.c | 4 ++--
drivers/video/intelfb/intelfbhw.c | 2 +-
drivers/video/matrox/matroxfb_base.c | 2 +-
drivers/video/pvr2fb.c | 4 ++--
drivers/video/pxafb.c | 2 +-
drivers/video/s3c2410fb.c | 2 +-
drivers/video/sa1100fb.c | 2 +-
include/asm-generic/irq_regs.h | 25 +++++++++++++++++++++++++
include/asm-i386/arch_hooks.h | 2 +-
include/asm-i386/floppy.h | 6 +++---
include/asm-i386/hpet.h | 2 +-
include/asm-i386/irq_regs.h | 25 +++++++++++++++++++++++++
include/asm-m68k/floppy.h | 6 +++---
include/asm-m68k/sun3xflop.h | 6 +++---
include/asm-mips/time.h | 2 +-
include/asm-parisc/floppy.h | 6 +++---
include/asm-ppc/floppy.h | 7 +++----
include/asm-sh/floppy.h | 6 +++---
include/asm-sparc64/floppy.h | 8 ++++----
include/asm-x86_64/floppy.h | 6 +++---
include/linux/arcdevice.h | 2 +-
include/linux/ide.h | 2 +-
include/linux/interrupt.h | 4 ++--
include/linux/libata.h | 2 +-
include/linux/parport.h | 15 ++++++++-------
include/linux/rtc.h | 2 +-
include/sound/cs4231.h | 2 +-
include/sound/emu10k1.h | 2 +-
include/sound/gus.h | 2 +-
include/sound/initval.h | 2 +-
include/sound/mpu401.h | 4 ++--
include/sound/sb.h | 2 +-
include/sound/vx_core.h | 2 +-
kernel/irq/handle.c | 5 +++--
kernel/irq/manage.c | 8 ++++----
kernel/irq/spurious.c | 3 ++-
lib/irq_regs.c | 5 +++++
sound/aoa/core/snd-aoa-gpio-feature.c | 2 +-
sound/aoa/soundbus/i2sbus/i2sbus-core.c | 2 +-
sound/aoa/soundbus/i2sbus/i2sbus-pcm.c | 4 ++--
sound/aoa/soundbus/i2sbus/i2sbus.h | 4 ++--
sound/arm/aaci.c | 2 +-
sound/arm/pxa2xx-ac97.c | 2 +-
sound/drivers/mpu401/mpu401_uart.c | 4 ++--
sound/drivers/mtpav.c | 2 +-
sound/drivers/mts64.c | 4 +++-
sound/drivers/serial-u16550.c | 2 +-
sound/drivers/vx/vx_core.c | 2 +-
sound/isa/ad1816a/ad1816a_lib.c | 2 +-
sound/isa/ad1848/ad1848_lib.c | 2 +-
sound/isa/cs423x/cs4231_lib.c | 2 +-
sound/isa/es1688/es1688_lib.c | 2 +-
sound/isa/es18xx.c | 4 ++--
sound/isa/gus/gus_irq.c | 2 +-
sound/isa/gus/gusmax.c | 6 +++---
sound/isa/gus/interwave.c | 6 +++---
sound/isa/opl3sa2.c | 6 +++---
sound/isa/opti9xx/opti92x-ad1848.c | 2 +-
sound/isa/sb/es968.c | 2 +-
sound/isa/sb/sb16_main.c | 4 ++--
sound/isa/sb/sb8.c | 2 +-
sound/isa/sgalaxy.c | 2 +-
sound/isa/wavefront/wavefront.c | 2 +-
sound/mips/au1x00.c | 2 +-
sound/oss/ad1816.c | 7 +------
sound/oss/ad1848.c | 4 ++--
sound/oss/ad1889.c | 2 +-
sound/oss/btaudio.c | 2 +-
sound/oss/cs46xx.c | 2 +-
sound/oss/dmasound/dmasound_atari.c | 4 ++--
sound/oss/dmasound/dmasound_awacs.c | 14 +++++++-------
sound/oss/dmasound/dmasound_paula.c | 4 ++--
sound/oss/dmasound/dmasound_q40.c | 8 ++++----
sound/oss/emu10k1/irqmgr.c | 2 +-
sound/oss/emu10k1/main.c | 2 +-
sound/oss/es1371.c | 2 +-
sound/oss/hal2.c | 2 +-
sound/oss/i810_audio.c | 2 +-
sound/oss/mpu401.c | 2 +-
sound/oss/mpu401.h | 2 +-
sound/oss/msnd_pinnacle.c | 2 +-
sound/oss/nec_vrc5477.c | 2 +-
sound/oss/nm256_audio.c | 8 ++++----
sound/oss/pas2_card.c | 2 +-
sound/oss/sb_common.c | 4 ++--
sound/oss/sh_dac_audio.c | 2 +-
sound/oss/swarm_cs4297a.c | 2 +-
sound/oss/trident.c | 2 +-
sound/oss/uart401.c | 2 +-
sound/oss/uart6850.c | 2 +-
sound/oss/via82cxxx_audio.c | 6 +++---
sound/oss/vidc.h | 2 +-
sound/oss/vwsnd.c | 2 +-
sound/oss/waveartist.c | 4 ++--
sound/parisc/harmony.c | 2 +-
sound/pci/ad1889.c | 2 +-
sound/pci/ali5451/ali5451.c | 2 +-
sound/pci/als300.c | 4 ++--
sound/pci/als4000.c | 4 ++--
sound/pci/atiixp.c | 2 +-
sound/pci/atiixp_modem.c | 2 +-
sound/pci/au88x0/au88x0.h | 2 +-
sound/pci/au88x0/au88x0_core.c | 5 ++---
sound/pci/azt3328.c | 4 ++--
sound/pci/bt87x.c | 2 +-
sound/pci/ca0106/ca0106_main.c | 2 +-
sound/pci/cmipci.c | 4 ++--
sound/pci/cs4281.c | 4 ++--
sound/pci/cs46xx/cs46xx_lib.c | 2 +-
sound/pci/cs5535audio/cs5535audio.c | 2 +-
sound/pci/echoaudio/echoaudio.c | 2 +-
sound/pci/emu10k1/emu10k1x.c | 2 +-
sound/pci/emu10k1/irq.c | 2 +-
sound/pci/ens1370.c | 4 ++--
sound/pci/es1938.c | 6 +++---
sound/pci/es1968.c | 9 ++++-----
sound/pci/fm801.c | 4 ++--
sound/pci/hda/hda_intel.c | 2 +-
sound/pci/ice1712/ice1712.c | 6 +++---
sound/pci/ice1712/ice1724.c | 4 ++--
sound/pci/intel8x0.c | 2 +-
sound/pci/intel8x0m.c | 2 +-
sound/pci/korg1212/korg1212.c | 2 +-
sound/pci/maestro3.c | 4 ++--
sound/pci/mixart/mixart_core.c | 2 +-
sound/pci/mixart/mixart_core.h | 2 +-
sound/pci/nm256/nm256.c | 4 ++--
sound/pci/pcxhr/pcxhr_core.c | 2 +-
sound/pci/pcxhr/pcxhr_core.h | 2 +-
sound/pci/riptide/riptide.c | 5 ++---
sound/pci/rme32.c | 2 +-
sound/pci/rme96.c | 3 +--
sound/pci/rme9652/hdsp.c | 2 +-
sound/pci/rme9652/hdspm.c | 2 +-
sound/pci/rme9652/rme9652.c | 2 +-
sound/pci/sonicvibes.c | 4 ++--
sound/pci/trident/trident_main.c | 6 +++---
sound/pci/via82xx.c | 6 +++---
sound/pci/via82xx_modem.c | 2 +-
sound/pci/ymfpci/ymfpci_main.c | 4 ++--
sound/pcmcia/pdaudiocf/pdaudiocf.h | 2 +-
sound/pcmcia/pdaudiocf/pdaudiocf_irq.c | 2 +-
sound/ppc/pmac.c | 6 +++---
sound/ppc/tumbler.c | 2 +-
sound/sparc/amd7930.c | 2 +-
sound/sparc/cs4231.c | 2 +-
sound/sparc/dbri.c | 2 +-
839 files changed, 1577 insertions(+), 1551 deletions(-)
[-- Attachment #3: patch.gz --]
[-- Type: application/x-gzip, Size: 121864 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH/WIP] Remove 'irq' argument from all IRQ handlers
2007-05-19 6:20 [PATCH/WIP] Remove 'irq' argument from all IRQ handlers Jeff Garzik
@ 2007-05-19 9:03 ` Benjamin Herrenschmidt
2007-06-01 20:08 ` Eric W. Biederman
1 sibling, 0 replies; 3+ messages in thread
From: Benjamin Herrenschmidt @ 2007-05-19 9:03 UTC (permalink / raw)
To: Jeff Garzik; +Cc: Linux Kernel Mailing List, Paul Mackerras
On Sat, 2007-05-19 at 02:20 -0400, Jeff Garzik wrote:
>
> Before I will even consider submitting this upstream, this patchset
> needs
>
> * non-x86[-64] build fixes, and testing
> * update the Mac drivers
Which ones ? I don't remember doing much of irq either... could be some
drivers we share with m64k or some historical stuff... should be easy
enough to fix in any case.
Overall, sounds like a good idea to me.
Cheers,
Ben.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH/WIP] Remove 'irq' argument from all IRQ handlers
2007-05-19 6:20 [PATCH/WIP] Remove 'irq' argument from all IRQ handlers Jeff Garzik
2007-05-19 9:03 ` Benjamin Herrenschmidt
@ 2007-06-01 20:08 ` Eric W. Biederman
1 sibling, 0 replies; 3+ messages in thread
From: Eric W. Biederman @ 2007-06-01 20:08 UTC (permalink / raw)
To: Jeff Garzik
Cc: Linux Kernel Mailing List, Benjamin Herrenschmidt, Paul Mackerras
Jeff Garzik <jeff@garzik.org> writes:
> Attached is the patch and description that represents a current
> work-in-progress, removal of the 'irq' argument passed to all driver IRQ
> handlers.
>
> As this patch demonstrates, the 'irq' argument is useless and practically
> unused. The vast majority of drivers have this information elsewhere (struct
> pci_dev or private struct). The cases where it is actually used are as follows:
>
> * a couple Mac drivers have multiple IRQs, and use the irq argument for
> disambiguation purposes. This can easily be remedied by moving that information
> into the info passed in the normal void* pointer.
>
> * Several ancient ISA drivers, which mainly use it for printk-in-irq-handler
> purposes. A couple use the irq argument as an index into a structure, which is
> a buggy approach. I fixed up these.
>
> This can be found in the 'hacking-irq-remove' branch of
> git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6.git
>
>
> Before I will even consider submitting this upstream, this patchset needs
>
> * non-x86[-64] build fixes, and testing
> * update the Mac drivers
> * one more review pass, to make sure everything is kosher
>
> so IOW, not anytime soon :)
>
> Jeff Garzik (12):
> [irq-remove] Update core irq handling code to omit 'irq' parameter
> [irq-remove] update sound drivers for new irq handler function sig
> [irq-remove] update SCSI, ATA, IDE drivers for new irq handler function
> sig
> [irq-remove] update net drivers for new irq handler function sig
> driver irq handler arg removal: acorn, atm, block, bluetooth, cdrom
> driver irq handler arg removal: arch-specific code
> driver irq handler arg removal: acpi, char, dma, fc4
> driver irq handler arg removal: i2c, ieee1394, infiniband, input, isdn
> driver irq handler arg removal: macintosh, media, message, mfd, misc, mmc
> driver irq handler arg removal: serial, video
> driver irq handler arg removal: the rest
> irq-remove: build and warning fixes for 2.6.21
Looks reasonable to me. In my nefarious plans to make everything use
a struct irq pointer this would certainly help.
The get_irqfunc_irq() function to get the irq for the functions that
still need it looks like a very useful migration path.
Eric
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2007-06-01 20:10 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-05-19 6:20 [PATCH/WIP] Remove 'irq' argument from all IRQ handlers Jeff Garzik
2007-05-19 9:03 ` Benjamin Herrenschmidt
2007-06-01 20:08 ` Eric W. Biederman
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).