aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/acorn/block/mfmhd.c2
-rw-r--r--drivers/acpi/osl.c2
-rw-r--r--drivers/atm/ambassador.c2
-rw-r--r--drivers/atm/eni.c2
-rw-r--r--drivers/atm/firestream.c2
-rw-r--r--drivers/atm/fore200e.c2
-rw-r--r--drivers/atm/he.c2
-rw-r--r--drivers/atm/horizon.c2
-rw-r--r--drivers/atm/idt77252.c2
-rw-r--r--drivers/atm/iphase.c2
-rw-r--r--drivers/atm/lanai.c2
-rw-r--r--drivers/atm/nicstar.c2
-rw-r--r--drivers/atm/zatm.c2
-rw-r--r--drivers/block/DAC960.c2
-rw-r--r--drivers/block/cciss.c2
-rw-r--r--drivers/block/cpqarray.c2
-rw-r--r--drivers/block/ps2esdi.c4
-rw-r--r--drivers/block/sx8.c2
-rw-r--r--drivers/block/umem.c2
-rw-r--r--drivers/cdrom/cdu31a.c2
-rw-r--r--drivers/cdrom/mcdx.c2
-rw-r--r--drivers/cdrom/sonycd535.c2
-rw-r--r--drivers/char/amiserial.c2
-rw-r--r--drivers/char/applicom.c4
-rw-r--r--drivers/char/cyclades.c8
-rw-r--r--drivers/char/drm/drm_irq.c2
-rw-r--r--drivers/char/esp.c2
-rw-r--r--drivers/char/ftape/lowlevel/fdc-io.c2
-rw-r--r--drivers/char/hpet.c2
-rw-r--r--drivers/char/hvc_console.c2
-rw-r--r--drivers/char/hvcs.c2
-rw-r--r--drivers/char/hvsi.c2
-rw-r--r--drivers/char/ip2/ip2main.c6
-rw-r--r--drivers/char/ipmi/ipmi_si_intf.c4
-rw-r--r--drivers/char/isicom.c4
-rw-r--r--drivers/char/ite_gpio.c2
-rw-r--r--drivers/char/mbcs.c6
-rw-r--r--drivers/char/mmtimer.c2
-rw-r--r--drivers/char/mxser.c2
-rw-r--r--drivers/char/nwbutton.c2
-rw-r--r--drivers/char/qtronix.c2
-rw-r--r--drivers/char/rio/rio_linux.c2
-rw-r--r--drivers/char/riscom8.c2
-rw-r--r--drivers/char/rtc.c6
-rw-r--r--drivers/char/s3c2410-rtc.c4
-rw-r--r--drivers/char/snsc.c2
-rw-r--r--drivers/char/snsc_event.c2
-rw-r--r--drivers/char/sonypi.c2
-rw-r--r--drivers/char/specialix.c4
-rw-r--r--drivers/char/stallion.c4
-rw-r--r--drivers/char/sx.c4
-rw-r--r--drivers/char/synclink.c2
-rw-r--r--drivers/char/synclink_gt.c2
-rw-r--r--drivers/char/synclinkmp.c2
-rw-r--r--drivers/char/tlclk.c2
-rw-r--r--drivers/char/tpm/tpm_tis.c4
-rw-r--r--drivers/char/vme_scc.c48
-rw-r--r--drivers/char/watchdog/eurotechwdt.c2
-rw-r--r--drivers/char/watchdog/mpcore_wdt.c2
-rw-r--r--drivers/char/watchdog/wdt.c2
-rw-r--r--drivers/char/watchdog/wdt_pci.c2
-rw-r--r--drivers/dma/ioatdma.c2
-rw-r--r--drivers/fc4/soc.c2
-rw-r--r--drivers/fc4/socal.c2
-rw-r--r--drivers/i2c/busses/i2c-mpc.c2
-rw-r--r--drivers/i2c/busses/i2c-pxa.c2
-rw-r--r--drivers/i2c/busses/i2c-s3c2410.c2
-rw-r--r--drivers/i2c/chips/isp1301_omap.c4
-rw-r--r--drivers/i2c/chips/tps65010.c8
-rw-r--r--drivers/ide/ide-probe.c10
-rw-r--r--drivers/ide/legacy/hd.c4
-rw-r--r--drivers/ieee1394/ohci1394.c4
-rw-r--r--drivers/ieee1394/pcilynx.c2
-rw-r--r--drivers/infiniband/hw/ipath/ipath_driver.c4
-rw-r--r--drivers/infiniband/hw/mthca/mthca_eq.c2
-rw-r--r--drivers/input/keyboard/corgikbd.c2
-rw-r--r--drivers/input/keyboard/spitzkbd.c12
-rw-r--r--drivers/input/misc/ixp4xx-beeper.c2
-rw-r--r--drivers/input/mouse/rpcmouse.c2
-rw-r--r--drivers/input/serio/gscps2.c2
-rw-r--r--drivers/input/serio/i8042.c4
-rw-r--r--drivers/input/serio/pcips2.c2
-rw-r--r--drivers/input/touchscreen/ads7846.c2
-rw-r--r--drivers/input/touchscreen/corgi_ts.c4
-rw-r--r--drivers/input/touchscreen/h3600_ts_input.c4
-rw-r--r--drivers/input/touchscreen/hp680_ts_input.c2
-rw-r--r--drivers/isdn/hardware/avm/b1pci.c4
-rw-r--r--drivers/isdn/hardware/avm/b1pcmcia.c2
-rw-r--r--drivers/isdn/hardware/avm/c4.c2
-rw-r--r--drivers/isdn/hardware/avm/t1pci.c2
-rw-r--r--drivers/isdn/hardware/eicon/divasmain.c2
-rw-r--r--drivers/isdn/hisax/avm_a1p.c2
-rw-r--r--drivers/isdn/hisax/avm_pci.c2
-rw-r--r--drivers/isdn/hisax/bkm_a4t.c2
-rw-r--r--drivers/isdn/hisax/bkm_a8.c2
-rw-r--r--drivers/isdn/hisax/diva.c2
-rw-r--r--drivers/isdn/hisax/elsa.c22
-rw-r--r--drivers/isdn/hisax/enternow_pci.c2
-rw-r--r--drivers/isdn/hisax/gazel.c2
-rw-r--r--drivers/isdn/hisax/hfc4s8s_l1.c2
-rw-r--r--drivers/isdn/hisax/hfc_pci.c2
-rw-r--r--drivers/isdn/hisax/hisax_fcpcipnp.c4
-rw-r--r--drivers/isdn/hisax/niccy.c2
-rw-r--r--drivers/isdn/hisax/nj_s.c2
-rw-r--r--drivers/isdn/hisax/nj_u.c2
-rw-r--r--drivers/isdn/hisax/sedlbauer.c4
-rw-r--r--drivers/isdn/hisax/teles3.c2
-rw-r--r--drivers/isdn/hisax/telespci.c2
-rw-r--r--drivers/isdn/hisax/w6692.c2
-rw-r--r--drivers/isdn/hysdn/boardergo.c2
-rw-r--r--drivers/isdn/sc/init.c2
-rw-r--r--drivers/macintosh/smu.c4
-rw-r--r--drivers/media/common/saa7146_core.c2
-rw-r--r--drivers/media/dvb/b2c2/flexcop-pci.c2
-rw-r--r--drivers/media/dvb/bt8xx/bt878.c2
-rw-r--r--drivers/media/dvb/pluto2/pluto2.c2
-rw-r--r--drivers/media/video/bt8xx/bttv-driver.c2
-rw-r--r--drivers/media/video/cx88/cx88-alsa.c2
-rw-r--r--drivers/media/video/cx88/cx88-mpeg.c2
-rw-r--r--drivers/media/video/cx88/cx88-video.c2
-rw-r--r--drivers/media/video/meye.c2
-rw-r--r--drivers/media/video/saa7134/saa7134-alsa.c2
-rw-r--r--drivers/media/video/saa7134/saa7134-core.c2
-rw-r--r--drivers/media/video/saa7134/saa7134-oss.c2
-rw-r--r--drivers/media/video/stradis.c2
-rw-r--r--drivers/media/video/zoran_card.c2
-rw-r--r--drivers/media/video/zr36120.c2
-rw-r--r--drivers/message/fusion/mptbase.c2
-rw-r--r--drivers/message/i2o/pci.c2
-rw-r--r--drivers/mfd/ucb1x00-core.c2
-rw-r--r--drivers/misc/ibmasm/module.c2
-rw-r--r--drivers/mmc/at91_mci.c2
-rw-r--r--drivers/mmc/au1xmmc.c2
-rw-r--r--drivers/mmc/mmci.c4
-rw-r--r--drivers/mmc/omap.c45
-rw-r--r--drivers/mmc/sdhci.c2
-rw-r--r--drivers/mmc/wbsd.c2
-rw-r--r--drivers/net/3c515.c2
-rw-r--r--drivers/net/3c523.c2
-rw-r--r--drivers/net/3c527.c2
-rw-r--r--drivers/net/3c59x.c4
-rw-r--r--drivers/net/8139cp.c2
-rw-r--r--drivers/net/8139too.c2
-rw-r--r--drivers/net/a2065.c2
-rw-r--r--drivers/net/acenic.c2
-rw-r--r--drivers/net/amd8111e.c2
-rw-r--r--drivers/net/apne.c2
-rw-r--r--drivers/net/arcnet/com20020-pci.c2
-rw-r--r--drivers/net/ariadne.c2
-rw-r--r--drivers/net/b44.c4
-rw-r--r--drivers/net/bnx2.c6
-rw-r--r--drivers/net/cassini.c2
-rw-r--r--drivers/net/chelsio/cxgb2.c2
-rw-r--r--drivers/net/cris/eth_v10.c2
-rw-r--r--drivers/net/defxx.c2
-rw-r--r--drivers/net/dgrs.c2
-rw-r--r--drivers/net/dl2k.c2
-rw-r--r--drivers/net/dm9000.c2
-rw-r--r--drivers/net/e100.c2
-rw-r--r--drivers/net/e1000/e1000_ethtool.c6
-rw-r--r--drivers/net/e1000/e1000_main.c2
-rw-r--r--drivers/net/eepro.c2
-rw-r--r--drivers/net/eepro100.c2
-rw-r--r--drivers/net/epic100.c2
-rw-r--r--drivers/net/fealnx.c2
-rw-r--r--drivers/net/forcedeth.c18
-rw-r--r--drivers/net/fs_enet/fs_enet-main.c2
-rw-r--r--drivers/net/gt96100eth.c2
-rw-r--r--drivers/net/hamachi.c2
-rw-r--r--drivers/net/hamradio/baycom_ser_fdx.c2
-rw-r--r--drivers/net/hamradio/baycom_ser_hdx.c2
-rw-r--r--drivers/net/hamradio/scc.c2
-rw-r--r--drivers/net/hamradio/yam.c2
-rw-r--r--drivers/net/hp100.c2
-rw-r--r--drivers/net/hydra.c2
-rw-r--r--drivers/net/ibmlana.c2
-rw-r--r--drivers/net/ioc3-eth.c2
-rw-r--r--drivers/net/irda/donauboe.c4
-rw-r--r--drivers/net/irda/vlsi_ir.c2
-rw-r--r--drivers/net/ixgb/ixgb_main.c2
-rw-r--r--drivers/net/ixp2000/ixpdev.c2
-rw-r--r--drivers/net/jazzsonic.c2
-rw-r--r--drivers/net/lp486e.c2
-rw-r--r--drivers/net/mipsnet.c2
-rw-r--r--drivers/net/mv643xx_eth.c2
-rw-r--r--drivers/net/myri10ge/myri10ge.c4
-rw-r--r--drivers/net/myri_sbus.c2
-rw-r--r--drivers/net/natsemi.c2
-rw-r--r--drivers/net/ne2k-pci.c2
-rw-r--r--drivers/net/netx-eth.c2
-rw-r--r--drivers/net/ns83820.c2
-rw-r--r--drivers/net/pci-skeleton.c2
-rw-r--r--drivers/net/pcmcia/axnet_cs.c2
-rw-r--r--drivers/net/pcmcia/pcnet_cs.c2
-rw-r--r--drivers/net/pcnet32.c2
-rw-r--r--drivers/net/phy/phy.c2
-rw-r--r--drivers/net/r8169.c2
-rw-r--r--drivers/net/rrunner.c2
-rw-r--r--drivers/net/s2io.c4
-rw-r--r--drivers/net/sb1250-mac.c2
-rw-r--r--drivers/net/sis190.c2
-rw-r--r--drivers/net/sis900.c2
-rw-r--r--drivers/net/sk98lin/skge.c8
-rw-r--r--drivers/net/sk_mca.c2
-rw-r--r--drivers/net/skfp/skfddi.c2
-rw-r--r--drivers/net/skge.c2
-rw-r--r--drivers/net/sky2.c4
-rw-r--r--drivers/net/smc-ultra32.c2
-rw-r--r--drivers/net/smc911x.c2
-rw-r--r--drivers/net/smc91x.h4
-rw-r--r--drivers/net/spider_net.c2
-rw-r--r--drivers/net/starfire.c2
-rw-r--r--drivers/net/sun3lance.c2
-rw-r--r--drivers/net/sunbmac.c2
-rw-r--r--drivers/net/sundance.c2
-rw-r--r--drivers/net/sungem.c2
-rw-r--r--drivers/net/sunhme.c4
-rw-r--r--drivers/net/sunlance.c2
-rw-r--r--drivers/net/sunqe.c2
-rw-r--r--drivers/net/tc35815.c2
-rw-r--r--drivers/net/tg3.c6
-rw-r--r--drivers/net/tlan.c2
-rw-r--r--drivers/net/tokenring/3c359.c2
-rw-r--r--drivers/net/tokenring/abyss.c2
-rw-r--r--drivers/net/tokenring/lanstreamer.c2
-rw-r--r--drivers/net/tokenring/madgemc.c2
-rw-r--r--drivers/net/tokenring/olympic.c2
-rw-r--r--drivers/net/tokenring/smctr.c4
-rw-r--r--drivers/net/tokenring/tmspci.c2
-rw-r--r--drivers/net/tulip/de2104x.c2
-rw-r--r--drivers/net/tulip/de4x5.c8
-rw-r--r--drivers/net/tulip/dmfe.c2
-rw-r--r--drivers/net/tulip/tulip_core.c4
-rw-r--r--drivers/net/tulip/uli526x.c2
-rw-r--r--drivers/net/tulip/winbond-840.c2
-rw-r--r--drivers/net/tulip/xircom_cb.c2
-rw-r--r--drivers/net/tulip/xircom_tulip_cb.c2
-rw-r--r--drivers/net/typhoon.c2
-rw-r--r--drivers/net/via-rhine.c4
-rw-r--r--drivers/net/via-velocity.c2
-rw-r--r--drivers/net/wan/dscc4.c2
-rw-r--r--drivers/net/wan/farsync.c2
-rw-r--r--drivers/net/wan/hostess_sv11.c2
-rw-r--r--drivers/net/wan/lmc/lmc_main.c2
-rw-r--r--drivers/net/wan/pc300_drv.c2
-rw-r--r--drivers/net/wan/pci200syn.c2
-rw-r--r--drivers/net/wan/sbni.c2
-rw-r--r--drivers/net/wan/sealevel.c2
-rw-r--r--drivers/net/wan/wanxl.c2
-rw-r--r--drivers/net/wireless/airo.c2
-rw-r--r--drivers/net/wireless/atmel.c2
-rw-r--r--drivers/net/wireless/bcm43xx/bcm43xx_main.c2
-rw-r--r--drivers/net/wireless/hostap/hostap_pci.c2
-rw-r--r--drivers/net/wireless/hostap/hostap_plx.c2
-rw-r--r--drivers/net/wireless/ipw2100.c2
-rw-r--r--drivers/net/wireless/ipw2200.c2
-rw-r--r--drivers/net/wireless/orinoco_nortel.c2
-rw-r--r--drivers/net/wireless/orinoco_pci.c2
-rw-r--r--drivers/net/wireless/orinoco_pci.h2
-rw-r--r--drivers/net/wireless/orinoco_plx.c2
-rw-r--r--drivers/net/wireless/orinoco_tmd.c2
-rw-r--r--drivers/net/wireless/prism54/islpci_hotplug.c2
-rw-r--r--drivers/net/yellowfin.c2
-rw-r--r--drivers/net/zorro8390.c2
-rw-r--r--drivers/parisc/eisa.c2
-rw-r--r--drivers/parisc/superio.c2
-rw-r--r--drivers/parport/parport_ax88796.c2
-rw-r--r--drivers/parport/parport_mfc3.c2
-rw-r--r--drivers/parport/parport_sunbpp.c2
-rw-r--r--drivers/pci/hotplug/cpci_hotplug_core.c2
-rw-r--r--drivers/pci/hotplug/cpcihp_zt5550.c5
-rw-r--r--drivers/pci/hotplug/cpqphp_core.c2
-rw-r--r--drivers/pci/hotplug/pciehp_hpc.c2
-rw-r--r--drivers/pci/hotplug/shpchp_hpc.c2
-rw-r--r--drivers/pcmcia/at91_cf.c4
-rw-r--r--drivers/pcmcia/hd64465_ss.c2
-rw-r--r--drivers/pcmcia/i82092.c2
-rw-r--r--drivers/pcmcia/i82365.c6
-rw-r--r--drivers/pcmcia/omap_cf.c2
-rw-r--r--drivers/pcmcia/pcmcia_resource.c8
-rw-r--r--drivers/pcmcia/pd6729.c2
-rw-r--r--drivers/pcmcia/soc_common.c4
-rw-r--r--drivers/pcmcia/vrc4171_card.c2
-rw-r--r--drivers/pcmcia/vrc4173_cardu.c2
-rw-r--r--drivers/pcmcia/yenta_socket.c4
-rw-r--r--drivers/pnp/resource.c2
-rw-r--r--drivers/rtc/rtc-at91.c2
-rw-r--r--drivers/rtc/rtc-ds1553.c2
-rw-r--r--drivers/rtc/rtc-pl031.c2
-rw-r--r--drivers/rtc/rtc-sa1100.c6
-rw-r--r--drivers/rtc/rtc-vr41xx.c4
-rw-r--r--drivers/sbus/char/aurora.c12
-rw-r--r--drivers/sbus/char/bbc_i2c.c2
-rw-r--r--drivers/sbus/char/cpwatchdog.c2
-rw-r--r--drivers/scsi/3w-9xxx.c2
-rw-r--r--drivers/scsi/3w-xxxx.c2
-rw-r--r--drivers/scsi/53c7xx.c4
-rw-r--r--drivers/scsi/BusLogic.c2
-rw-r--r--drivers/scsi/NCR5380.c2
-rw-r--r--drivers/scsi/NCR_D700.c2
-rw-r--r--drivers/scsi/NCR_Q720.c2
-rw-r--r--drivers/scsi/a100u2w.c2
-rw-r--r--drivers/scsi/a2091.c2
-rw-r--r--drivers/scsi/a3000.c2
-rw-r--r--drivers/scsi/aacraid/rkt.c2
-rw-r--r--drivers/scsi/aacraid/rx.c2
-rw-r--r--drivers/scsi/aacraid/sa.c2
-rw-r--r--drivers/scsi/advansys.c18
-rw-r--r--drivers/scsi/aha152x.c4
-rw-r--r--drivers/scsi/aha1740.c2
-rw-r--r--drivers/scsi/ahci.c2
-rw-r--r--drivers/scsi/aic7xxx/aic7770_osm.c2
-rw-r--r--drivers/scsi/aic7xxx/aic79xx_osm_pci.c2
-rw-r--r--drivers/scsi/aic7xxx/aic7xxx_osm_pci.c2
-rw-r--r--drivers/scsi/aic7xxx_old.c4
-rw-r--r--drivers/scsi/arm/acornscsi.c2
-rw-r--r--drivers/scsi/arm/cumana_1.c2
-rw-r--r--drivers/scsi/arm/cumana_2.c2
-rw-r--r--drivers/scsi/arm/powertec.c2
-rw-r--r--drivers/scsi/atp870u.c6
-rw-r--r--drivers/scsi/blz1230.c2
-rw-r--r--drivers/scsi/blz2060.c2
-rw-r--r--drivers/scsi/cyberstorm.c2
-rw-r--r--drivers/scsi/cyberstormII.c2
-rw-r--r--drivers/scsi/dc395x.c2
-rw-r--r--drivers/scsi/dec_esp.c10
-rw-r--r--drivers/scsi/dmx3191d.c2
-rw-r--r--drivers/scsi/dpt_i2o.c2
-rw-r--r--drivers/scsi/dtc.c2
-rw-r--r--drivers/scsi/eata.c2
-rw-r--r--drivers/scsi/eata_pio.c4
-rw-r--r--drivers/scsi/esp.c2
-rw-r--r--drivers/scsi/fastlane.c2
-rw-r--r--drivers/scsi/fd_mcs.c2
-rw-r--r--drivers/scsi/fdomain.c2
-rw-r--r--drivers/scsi/g_NCR5380.c2
-rw-r--r--drivers/scsi/gdth.c6
-rw-r--r--drivers/scsi/gvp11.c2
-rw-r--r--drivers/scsi/hptiop.c2
-rw-r--r--drivers/scsi/ibmmca.c6
-rw-r--r--drivers/scsi/in2000.c2
-rw-r--r--drivers/scsi/initio.c2
-rw-r--r--drivers/scsi/ipr.c2
-rw-r--r--drivers/scsi/ips.c4
-rw-r--r--drivers/scsi/jazz_esp.c2
-rw-r--r--drivers/scsi/lasi700.c2
-rw-r--r--drivers/scsi/libata-bmdma.c2
-rw-r--r--drivers/scsi/lpfc/lpfc_init.c2
-rw-r--r--drivers/scsi/megaraid.c2
-rw-r--r--drivers/scsi/megaraid/megaraid_mbox.c2
-rw-r--r--drivers/scsi/megaraid/megaraid_sas.c2
-rw-r--r--drivers/scsi/nsp32.c2
-rw-r--r--drivers/scsi/oktagon_esp.c2
-rw-r--r--drivers/scsi/pas16.c2
-rw-r--r--drivers/scsi/pcmcia/nsp_cs.c2
-rw-r--r--drivers/scsi/pcmcia/sym53c500_cs.c2
-rw-r--r--drivers/scsi/pdc_adma.c2
-rw-r--r--drivers/scsi/qla1280.c4
-rw-r--r--drivers/scsi/qla2xxx/qla_os.c2
-rw-r--r--drivers/scsi/qlogicpti.c2
-rw-r--r--drivers/scsi/sata_mv.c2
-rw-r--r--drivers/scsi/sata_promise.c2
-rw-r--r--drivers/scsi/sata_qstor.c2
-rw-r--r--drivers/scsi/sata_sil.c2
-rw-r--r--drivers/scsi/sata_sil24.c2
-rw-r--r--drivers/scsi/sata_svw.c2
-rw-r--r--drivers/scsi/sata_sx4.c2
-rw-r--r--drivers/scsi/sata_via.c2
-rw-r--r--drivers/scsi/sata_vsc.c2
-rw-r--r--drivers/scsi/seagate.c2
-rw-r--r--drivers/scsi/sim710.c2
-rw-r--r--drivers/scsi/sun3x_esp.c2
-rw-r--r--drivers/scsi/sym53c8xx_2/sym_glue.c2
-rw-r--r--drivers/scsi/t128.c2
-rw-r--r--drivers/scsi/tmscsim.c2
-rw-r--r--drivers/scsi/u14-34f.c2
-rw-r--r--drivers/scsi/wd7000.c2
-rw-r--r--drivers/scsi/zalon.c2
-rw-r--r--drivers/serial/8250.c4
-rw-r--r--drivers/serial/at91_serial.c2
-rw-r--r--drivers/serial/crisv10.c22
-rw-r--r--drivers/serial/dz.c2
-rw-r--r--drivers/serial/icom.c2
-rw-r--r--drivers/serial/imx.c2
-rw-r--r--drivers/serial/ioc4_serial.c2
-rw-r--r--drivers/serial/jsm/jsm_driver.c2
-rw-r--r--drivers/serial/m32r_sio.c2
-rw-r--r--drivers/serial/mcfserial.c2
-rw-r--r--drivers/serial/mpc52xx_uart.c2
-rw-r--r--drivers/serial/mpsc.c2
-rw-r--r--drivers/serial/pmac_zilog.c2
-rw-r--r--drivers/serial/serial_txx9.c2
-rw-r--r--drivers/serial/sh-sci.c4
-rw-r--r--drivers/serial/sn_console.c2
-rw-r--r--drivers/serial/sunsab.c2
-rw-r--r--drivers/serial/sunsu.c4
-rw-r--r--drivers/serial/sunzilog.c2
-rw-r--r--drivers/serial/v850e_uart.c4
-rw-r--r--drivers/sn/ioc3.c6
-rw-r--r--drivers/tc/zs.c2
-rw-r--r--drivers/usb/core/hcd-pci.c2
-rw-r--r--drivers/usb/gadget/at91_udc.c4
-rw-r--r--drivers/usb/gadget/goku_udc.c2
-rw-r--r--drivers/usb/gadget/lh7a40x_udc.c2
-rw-r--r--drivers/usb/gadget/net2280.c2
-rw-r--r--drivers/usb/gadget/omap_udc.c8
-rw-r--r--drivers/usb/gadget/pxa2xx_udc.c6
-rw-r--r--drivers/usb/host/ehci-au1xxx.c2
-rw-r--r--drivers/usb/host/ehci-fsl.c2
-rw-r--r--drivers/usb/host/isp116x-hcd.c2
-rw-r--r--drivers/usb/host/ohci-at91.c2
-rw-r--r--drivers/usb/host/ohci-au1xxx.c2
-rw-r--r--drivers/usb/host/ohci-lh7a404.c2
-rw-r--r--drivers/usb/host/ohci-omap.c4
-rw-r--r--drivers/usb/host/ohci-ppc-soc.c2
-rw-r--r--drivers/usb/host/ohci-pxa27x.c2
-rw-r--r--drivers/usb/host/ohci-s3c2410.c2
-rw-r--r--drivers/usb/host/ohci-sa1111.c2
-rw-r--r--drivers/usb/host/sl811-hcd.c2
-rw-r--r--drivers/video/arcfb.c2
-rw-r--r--drivers/video/aty/atyfb_base.c2
-rw-r--r--drivers/video/au1200fb.c2
-rw-r--r--drivers/video/matrox/matroxfb_base.c2
-rw-r--r--drivers/video/pxafb.c2
-rw-r--r--drivers/video/s3c2410fb.c2
-rw-r--r--drivers/video/sa1100fb.c2
426 files changed, 617 insertions, 619 deletions
diff --git a/drivers/acorn/block/mfmhd.c b/drivers/acorn/block/mfmhd.c
index d9c9a35961b3..3dd6b7bb5d35 100644
--- a/drivers/acorn/block/mfmhd.c
+++ b/drivers/acorn/block/mfmhd.c
@@ -1278,7 +1278,7 @@ static int mfm_do_init(unsigned char irqmask)
1278 1278
1279 printk("mfm: detected %d hard drive%s\n", mfm_drives, 1279 printk("mfm: detected %d hard drive%s\n", mfm_drives,
1280 mfm_drives == 1 ? "" : "s"); 1280 mfm_drives == 1 ? "" : "s");
1281 ret = request_irq(mfm_irq, mfm_interrupt_handler, SA_INTERRUPT, "MFM harddisk", NULL); 1281 ret = request_irq(mfm_irq, mfm_interrupt_handler, IRQF_DISABLED, "MFM harddisk", NULL);
1282 if (ret) { 1282 if (ret) {
1283 printk("mfm: unable to get IRQ%d\n", mfm_irq); 1283 printk("mfm: unable to get IRQ%d\n", mfm_irq);
1284 goto out4; 1284 goto out4;
diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c
index 5dd2ed11a387..5a468e2779ae 100644
--- a/drivers/acpi/osl.c
+++ b/drivers/acpi/osl.c
@@ -280,7 +280,7 @@ acpi_os_install_interrupt_handler(u32 gsi, acpi_osd_handler handler,
280 280
281 acpi_irq_handler = handler; 281 acpi_irq_handler = handler;
282 acpi_irq_context = context; 282 acpi_irq_context = context;
283 if (request_irq(irq, acpi_irq, SA_SHIRQ, "acpi", acpi_irq)) { 283 if (request_irq(irq, acpi_irq, IRQF_SHARED, "acpi", acpi_irq)) {
284 printk(KERN_ERR PREFIX "SCI (IRQ%d) allocation failed\n", irq); 284 printk(KERN_ERR PREFIX "SCI (IRQ%d) allocation failed\n", irq);
285 return AE_NOT_ACQUIRED; 285 return AE_NOT_ACQUIRED;
286 } 286 }
diff --git a/drivers/atm/ambassador.c b/drivers/atm/ambassador.c
index 4048681f36d5..d3b426313a41 100644
--- a/drivers/atm/ambassador.c
+++ b/drivers/atm/ambassador.c
@@ -2286,7 +2286,7 @@ static int __devinit amb_probe(struct pci_dev *pci_dev, const struct pci_device_
2286 setup_pci_dev(pci_dev); 2286 setup_pci_dev(pci_dev);
2287 2287
2288 // grab (but share) IRQ and install handler 2288 // grab (but share) IRQ and install handler
2289 err = request_irq(irq, interrupt_handler, SA_SHIRQ, DEV_LABEL, dev); 2289 err = request_irq(irq, interrupt_handler, IRQF_SHARED, DEV_LABEL, dev);
2290 if (err < 0) { 2290 if (err < 0) {
2291 PRINTK (KERN_ERR, "request IRQ failed!"); 2291 PRINTK (KERN_ERR, "request IRQ failed!");
2292 goto out_reset; 2292 goto out_reset;
diff --git a/drivers/atm/eni.c b/drivers/atm/eni.c
index 976ced1f019e..df359a6c14f6 100644
--- a/drivers/atm/eni.c
+++ b/drivers/atm/eni.c
@@ -1797,7 +1797,7 @@ static int __devinit eni_start(struct atm_dev *dev)
1797 1797
1798 DPRINTK(">eni_start\n"); 1798 DPRINTK(">eni_start\n");
1799 eni_dev = ENI_DEV(dev); 1799 eni_dev = ENI_DEV(dev);
1800 if (request_irq(eni_dev->irq,&eni_int,SA_SHIRQ,DEV_LABEL,dev)) { 1800 if (request_irq(eni_dev->irq,&eni_int,IRQF_SHARED,DEV_LABEL,dev)) {
1801 printk(KERN_ERR DEV_LABEL "(itf %d): IRQ%d is already in use\n", 1801 printk(KERN_ERR DEV_LABEL "(itf %d): IRQ%d is already in use\n",
1802 dev->number,eni_dev->irq); 1802 dev->number,eni_dev->irq);
1803 error = -EAGAIN; 1803 error = -EAGAIN;
diff --git a/drivers/atm/firestream.c b/drivers/atm/firestream.c
index d40605c1af73..38fc054bd671 100644
--- a/drivers/atm/firestream.c
+++ b/drivers/atm/firestream.c
@@ -1829,7 +1829,7 @@ static int __devinit fs_init (struct fs_dev *dev)
1829 init_q (dev, &dev->rx_rq[i], RXB_RQ(i), RXRQ_NENTRIES, 1); 1829 init_q (dev, &dev->rx_rq[i], RXB_RQ(i), RXRQ_NENTRIES, 1);
1830 1830
1831 dev->irq = pci_dev->irq; 1831 dev->irq = pci_dev->irq;
1832 if (request_irq (dev->irq, fs_irq, SA_SHIRQ, "firestream", dev)) { 1832 if (request_irq (dev->irq, fs_irq, IRQF_SHARED, "firestream", dev)) {
1833 printk (KERN_WARNING "couldn't get irq %d for firestream.\n", pci_dev->irq); 1833 printk (KERN_WARNING "couldn't get irq %d for firestream.\n", pci_dev->irq);
1834 /* XXX undo all previous stuff... */ 1834 /* XXX undo all previous stuff... */
1835 return 1; 1835 return 1;
diff --git a/drivers/atm/fore200e.c b/drivers/atm/fore200e.c
index 9be9a4055199..98622130de5b 100644
--- a/drivers/atm/fore200e.c
+++ b/drivers/atm/fore200e.c
@@ -2123,7 +2123,7 @@ fore200e_change_qos(struct atm_vcc* vcc,struct atm_qos* qos, int flags)
2123static int __devinit 2123static int __devinit
2124fore200e_irq_request(struct fore200e* fore200e) 2124fore200e_irq_request(struct fore200e* fore200e)
2125{ 2125{
2126 if (request_irq(fore200e->irq, fore200e_interrupt, SA_SHIRQ, fore200e->name, fore200e->atm_dev) < 0) { 2126 if (request_irq(fore200e->irq, fore200e_interrupt, IRQF_SHARED, fore200e->name, fore200e->atm_dev) < 0) {
2127 2127
2128 printk(FORE200E "unable to reserve IRQ %s for device %s\n", 2128 printk(FORE200E "unable to reserve IRQ %s for device %s\n",
2129 fore200e_irq_itoa(fore200e->irq), fore200e->name); 2129 fore200e_irq_itoa(fore200e->irq), fore200e->name);
diff --git a/drivers/atm/he.c b/drivers/atm/he.c
index a5cbd3d6e50f..d369130f4235 100644
--- a/drivers/atm/he.c
+++ b/drivers/atm/he.c
@@ -1007,7 +1007,7 @@ he_init_irq(struct he_dev *he_dev)
1007 he_writel(he_dev, 0x0, GRP_54_MAP); 1007 he_writel(he_dev, 0x0, GRP_54_MAP);
1008 he_writel(he_dev, 0x0, GRP_76_MAP); 1008 he_writel(he_dev, 0x0, GRP_76_MAP);
1009 1009
1010 if (request_irq(he_dev->pci_dev->irq, he_irq_handler, SA_INTERRUPT|SA_SHIRQ, DEV_LABEL, he_dev)) { 1010 if (request_irq(he_dev->pci_dev->irq, he_irq_handler, IRQF_DISABLED|IRQF_SHARED, DEV_LABEL, he_dev)) {
1011 hprintk("irq %d already in use\n", he_dev->pci_dev->irq); 1011 hprintk("irq %d already in use\n", he_dev->pci_dev->irq);
1012 return -EINVAL; 1012 return -EINVAL;
1013 } 1013 }
diff --git a/drivers/atm/horizon.c b/drivers/atm/horizon.c
index 821c81e8cd38..d1113e845f95 100644
--- a/drivers/atm/horizon.c
+++ b/drivers/atm/horizon.c
@@ -2735,7 +2735,7 @@ static int __devinit hrz_probe(struct pci_dev *pci_dev, const struct pci_device_
2735 irq = pci_dev->irq; 2735 irq = pci_dev->irq;
2736 if (request_irq(irq, 2736 if (request_irq(irq,
2737 interrupt_handler, 2737 interrupt_handler,
2738 SA_SHIRQ, /* irqflags guess */ 2738 IRQF_SHARED, /* irqflags guess */
2739 DEV_LABEL, /* name guess */ 2739 DEV_LABEL, /* name guess */
2740 dev)) { 2740 dev)) {
2741 PRINTD(DBG_WARN, "request IRQ failed!"); 2741 PRINTD(DBG_WARN, "request IRQ failed!");
diff --git a/drivers/atm/idt77252.c b/drivers/atm/idt77252.c
index 8fdb30116f99..5d1c6c95262c 100644
--- a/drivers/atm/idt77252.c
+++ b/drivers/atm/idt77252.c
@@ -3386,7 +3386,7 @@ init_card(struct atm_dev *dev)
3386 writel(SAR_STAT_TMROF, SAR_REG_STAT); 3386 writel(SAR_STAT_TMROF, SAR_REG_STAT);
3387 } 3387 }
3388 IPRINTK("%s: Request IRQ ... ", card->name); 3388 IPRINTK("%s: Request IRQ ... ", card->name);
3389 if (request_irq(pcidev->irq, idt77252_interrupt, SA_INTERRUPT|SA_SHIRQ, 3389 if (request_irq(pcidev->irq, idt77252_interrupt, IRQF_DISABLED|IRQF_SHARED,
3390 card->name, card) != 0) { 3390 card->name, card) != 0) {
3391 printk("%s: can't allocate IRQ.\n", card->name); 3391 printk("%s: can't allocate IRQ.\n", card->name);
3392 deinit_card(card); 3392 deinit_card(card);
diff --git a/drivers/atm/iphase.c b/drivers/atm/iphase.c
index 333a7bc609d2..f20b0b2c06c6 100644
--- a/drivers/atm/iphase.c
+++ b/drivers/atm/iphase.c
@@ -2488,7 +2488,7 @@ static int __devinit ia_start(struct atm_dev *dev)
2488 u32 ctrl_reg; 2488 u32 ctrl_reg;
2489 IF_EVENT(printk(">ia_start\n");) 2489 IF_EVENT(printk(">ia_start\n");)
2490 iadev = INPH_IA_DEV(dev); 2490 iadev = INPH_IA_DEV(dev);
2491 if (request_irq(iadev->irq, &ia_int, SA_SHIRQ, DEV_LABEL, dev)) { 2491 if (request_irq(iadev->irq, &ia_int, IRQF_SHARED, DEV_LABEL, dev)) {
2492 printk(KERN_ERR DEV_LABEL "(itf %d): IRQ%d is already in use\n", 2492 printk(KERN_ERR DEV_LABEL "(itf %d): IRQ%d is already in use\n",
2493 dev->number, iadev->irq); 2493 dev->number, iadev->irq);
2494 error = -EAGAIN; 2494 error = -EAGAIN;
diff --git a/drivers/atm/lanai.c b/drivers/atm/lanai.c
index cac09e353be8..fe60a59b7fc0 100644
--- a/drivers/atm/lanai.c
+++ b/drivers/atm/lanai.c
@@ -2240,7 +2240,7 @@ static int __devinit lanai_dev_open(struct atm_dev *atmdev)
2240 conf2_write(lanai); 2240 conf2_write(lanai);
2241 reg_write(lanai, TX_FIFO_DEPTH, TxDepth_Reg); 2241 reg_write(lanai, TX_FIFO_DEPTH, TxDepth_Reg);
2242 reg_write(lanai, 0, CBR_ICG_Reg); /* CBR defaults to no limit */ 2242 reg_write(lanai, 0, CBR_ICG_Reg); /* CBR defaults to no limit */
2243 if ((result = request_irq(lanai->pci->irq, lanai_int, SA_SHIRQ, 2243 if ((result = request_irq(lanai->pci->irq, lanai_int, IRQF_SHARED,
2244 DEV_LABEL, lanai)) != 0) { 2244 DEV_LABEL, lanai)) != 0) {
2245 printk(KERN_ERR DEV_LABEL ": can't allocate interrupt\n"); 2245 printk(KERN_ERR DEV_LABEL ": can't allocate interrupt\n");
2246 goto error_vcctable; 2246 goto error_vcctable;
diff --git a/drivers/atm/nicstar.c b/drivers/atm/nicstar.c
index b78612d3fa46..b8036899e56f 100644
--- a/drivers/atm/nicstar.c
+++ b/drivers/atm/nicstar.c
@@ -625,7 +625,7 @@ static int __devinit ns_init_card(int i, struct pci_dev *pcidev)
625 if (mac[i] == NULL) 625 if (mac[i] == NULL)
626 nicstar_init_eprom(card->membase); 626 nicstar_init_eprom(card->membase);
627 627
628 if (request_irq(pcidev->irq, &ns_irq_handler, SA_INTERRUPT | SA_SHIRQ, "nicstar", card) != 0) 628 if (request_irq(pcidev->irq, &ns_irq_handler, IRQF_DISABLED | IRQF_SHARED, "nicstar", card) != 0)
629 { 629 {
630 printk("nicstar%d: can't allocate IRQ %d.\n", i, pcidev->irq); 630 printk("nicstar%d: can't allocate IRQ %d.\n", i, pcidev->irq);
631 error = 9; 631 error = 9;
diff --git a/drivers/atm/zatm.c b/drivers/atm/zatm.c
index 1699c934bad0..2c65e82f0d6b 100644
--- a/drivers/atm/zatm.c
+++ b/drivers/atm/zatm.c
@@ -1270,7 +1270,7 @@ static int __init zatm_start(struct atm_dev *dev)
1270 zatm_dev->rx_map = zatm_dev->tx_map = NULL; 1270 zatm_dev->rx_map = zatm_dev->tx_map = NULL;
1271 for (i = 0; i < NR_MBX; i++) 1271 for (i = 0; i < NR_MBX; i++)
1272 zatm_dev->mbx_start[i] = 0; 1272 zatm_dev->mbx_start[i] = 0;
1273 error = request_irq(zatm_dev->irq, zatm_int, SA_SHIRQ, DEV_LABEL, dev); 1273 error = request_irq(zatm_dev->irq, zatm_int, IRQF_SHARED, DEV_LABEL, dev);
1274 if (error < 0) { 1274 if (error < 0) {
1275 printk(KERN_ERR DEV_LABEL "(itf %d): IRQ%d is already in use\n", 1275 printk(KERN_ERR DEV_LABEL "(itf %d): IRQ%d is already in use\n",
1276 dev->number,zatm_dev->irq); 1276 dev->number,zatm_dev->irq);
diff --git a/drivers/block/DAC960.c b/drivers/block/DAC960.c
index 50ca1aa4ee3b..4cd23c3eab41 100644
--- a/drivers/block/DAC960.c
+++ b/drivers/block/DAC960.c
@@ -3014,7 +3014,7 @@ DAC960_DetectController(struct pci_dev *PCI_Device,
3014 Acquire shared access to the IRQ Channel. 3014 Acquire shared access to the IRQ Channel.
3015 */ 3015 */
3016 IRQ_Channel = PCI_Device->irq; 3016 IRQ_Channel = PCI_Device->irq;
3017 if (request_irq(IRQ_Channel, InterruptHandler, SA_SHIRQ, 3017 if (request_irq(IRQ_Channel, InterruptHandler, IRQF_SHARED,
3018 Controller->FullModelName, Controller) < 0) 3018 Controller->FullModelName, Controller) < 0)
3019 { 3019 {
3020 DAC960_Error("Unable to acquire IRQ Channel %d for Controller at\n", 3020 DAC960_Error("Unable to acquire IRQ Channel %d for Controller at\n",
diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c
index 05fb08312c01..1c4df22dfd2a 100644
--- a/drivers/block/cciss.c
+++ b/drivers/block/cciss.c
@@ -3159,7 +3159,7 @@ static int __devinit cciss_init_one(struct pci_dev *pdev,
3159 /* make sure the board interrupts are off */ 3159 /* make sure the board interrupts are off */
3160 hba[i]->access.set_intr_mask(hba[i], CCISS_INTR_OFF); 3160 hba[i]->access.set_intr_mask(hba[i], CCISS_INTR_OFF);
3161 if (request_irq(hba[i]->intr[SIMPLE_MODE_INT], do_cciss_intr, 3161 if (request_irq(hba[i]->intr[SIMPLE_MODE_INT], do_cciss_intr,
3162 SA_INTERRUPT | SA_SHIRQ, hba[i]->devname, hba[i])) { 3162 IRQF_DISABLED | IRQF_SHARED, hba[i]->devname, hba[i])) {
3163 printk(KERN_ERR "cciss: Unable to get irq %d for %s\n", 3163 printk(KERN_ERR "cciss: Unable to get irq %d for %s\n",
3164 hba[i]->intr[SIMPLE_MODE_INT], hba[i]->devname); 3164 hba[i]->intr[SIMPLE_MODE_INT], hba[i]->devname);
3165 goto clean2; 3165 goto clean2;
diff --git a/drivers/block/cpqarray.c b/drivers/block/cpqarray.c
index bfd245df0a8c..757f42dd8e86 100644
--- a/drivers/block/cpqarray.c
+++ b/drivers/block/cpqarray.c
@@ -408,7 +408,7 @@ static int __init cpqarray_register_ctlr( int i, struct pci_dev *pdev)
408 } 408 }
409 hba[i]->access.set_intr_mask(hba[i], 0); 409 hba[i]->access.set_intr_mask(hba[i], 0);
410 if (request_irq(hba[i]->intr, do_ida_intr, 410 if (request_irq(hba[i]->intr, do_ida_intr,
411 SA_INTERRUPT|SA_SHIRQ, hba[i]->devname, hba[i])) 411 IRQF_DISABLED|IRQF_SHARED, hba[i]->devname, hba[i]))
412 { 412 {
413 printk(KERN_ERR "cpqarray: Unable to get irq %d for %s\n", 413 printk(KERN_ERR "cpqarray: Unable to get irq %d for %s\n",
414 hba[i]->intr, hba[i]->devname); 414 hba[i]->intr, hba[i]->devname);
diff --git a/drivers/block/ps2esdi.c b/drivers/block/ps2esdi.c
index aef5a0ccabc9..5537974fb242 100644
--- a/drivers/block/ps2esdi.c
+++ b/drivers/block/ps2esdi.c
@@ -340,9 +340,9 @@ static int __init ps2esdi_geninit(void)
340 /* try to grab IRQ, and try to grab a slow IRQ if it fails, so we can 340 /* try to grab IRQ, and try to grab a slow IRQ if it fails, so we can
341 share with the SCSI driver */ 341 share with the SCSI driver */
342 if (request_irq(PS2ESDI_IRQ, ps2esdi_interrupt_handler, 342 if (request_irq(PS2ESDI_IRQ, ps2esdi_interrupt_handler,
343 SA_INTERRUPT | SA_SHIRQ, "PS/2 ESDI", &ps2esdi_gendisk) 343 IRQF_DISABLED | IRQF_SHARED, "PS/2 ESDI", &ps2esdi_gendisk)
344 && request_irq(PS2ESDI_IRQ, ps2esdi_interrupt_handler, 344 && request_irq(PS2ESDI_IRQ, ps2esdi_interrupt_handler,
345 SA_SHIRQ, "PS/2 ESDI", &ps2esdi_gendisk) 345 IRQF_SHARED, "PS/2 ESDI", &ps2esdi_gendisk)
346 ) { 346 ) {
347 printk("%s: Unable to get IRQ %d\n", DEVICE_NAME, PS2ESDI_IRQ); 347 printk("%s: Unable to get IRQ %d\n", DEVICE_NAME, PS2ESDI_IRQ);
348 error = -EBUSY; 348 error = -EBUSY;
diff --git a/drivers/block/sx8.c b/drivers/block/sx8.c
index 10a4aa5fb54d..c6beee18a07c 100644
--- a/drivers/block/sx8.c
+++ b/drivers/block/sx8.c
@@ -1676,7 +1676,7 @@ static int carm_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
1676 1676
1677 pci_set_master(pdev); 1677 pci_set_master(pdev);
1678 1678
1679 rc = request_irq(pdev->irq, carm_interrupt, SA_SHIRQ, DRV_NAME, host); 1679 rc = request_irq(pdev->irq, carm_interrupt, IRQF_SHARED, DRV_NAME, host);
1680 if (rc) { 1680 if (rc) {
1681 printk(KERN_ERR DRV_NAME "(%s): irq alloc failure\n", 1681 printk(KERN_ERR DRV_NAME "(%s): irq alloc failure\n",
1682 pci_name(pdev)); 1682 pci_name(pdev));
diff --git a/drivers/block/umem.c b/drivers/block/umem.c
index f675f97f2a78..5d8925bd9045 100644
--- a/drivers/block/umem.c
+++ b/drivers/block/umem.c
@@ -1040,7 +1040,7 @@ static int __devinit mm_pci_probe(struct pci_dev *dev, const struct pci_device_i
1040 card->win_size = data; 1040 card->win_size = data;
1041 1041
1042 1042
1043 if (request_irq(dev->irq, mm_interrupt, SA_SHIRQ, "pci-umem", card)) { 1043 if (request_irq(dev->irq, mm_interrupt, IRQF_SHARED, "pci-umem", card)) {
1044 printk(KERN_ERR "MM%d: Unable to allocate IRQ\n", card->card_number); 1044 printk(KERN_ERR "MM%d: Unable to allocate IRQ\n", card->card_number);
1045 ret = -ENODEV; 1045 ret = -ENODEV;
1046 1046
diff --git a/drivers/cdrom/cdu31a.c b/drivers/cdrom/cdu31a.c
index 5f0f2027f29e..37bdb0163f0d 100644
--- a/drivers/cdrom/cdu31a.c
+++ b/drivers/cdrom/cdu31a.c
@@ -3141,7 +3141,7 @@ int __init cdu31a_init(void)
3141 3141
3142 if (cdu31a_irq > 0) { 3142 if (cdu31a_irq > 0) {
3143 if (request_irq 3143 if (request_irq
3144 (cdu31a_irq, cdu31a_interrupt, SA_INTERRUPT, 3144 (cdu31a_irq, cdu31a_interrupt, IRQF_DISABLED,
3145 "cdu31a", NULL)) { 3145 "cdu31a", NULL)) {
3146 printk(KERN_WARNING PFX "Unable to grab IRQ%d for " 3146 printk(KERN_WARNING PFX "Unable to grab IRQ%d for "
3147 "the CDU31A driver\n", cdu31a_irq); 3147 "the CDU31A driver\n", cdu31a_irq);
diff --git a/drivers/cdrom/mcdx.c b/drivers/cdrom/mcdx.c
index 788c7a0b2fe3..dcd1ab684f3e 100644
--- a/drivers/cdrom/mcdx.c
+++ b/drivers/cdrom/mcdx.c
@@ -1193,7 +1193,7 @@ static int __init mcdx_init_drive(int drive)
1193 } 1193 }
1194 1194
1195 xtrace(INIT, "init() subscribe irq and i/o\n"); 1195 xtrace(INIT, "init() subscribe irq and i/o\n");
1196 if (request_irq(stuffp->irq, mcdx_intr, SA_INTERRUPT, "mcdx", stuffp)) { 1196 if (request_irq(stuffp->irq, mcdx_intr, IRQF_DISABLED, "mcdx", stuffp)) {
1197 release_region(stuffp->wreg_data, MCDX_IO_SIZE); 1197 release_region(stuffp->wreg_data, MCDX_IO_SIZE);
1198 xwarn("%s=0x%03x,%d: Init failed. Can't get irq (%d).\n", 1198 xwarn("%s=0x%03x,%d: Init failed. Can't get irq (%d).\n",
1199 MCDX, stuffp->wreg_data, stuffp->irq, stuffp->irq); 1199 MCDX, stuffp->wreg_data, stuffp->irq, stuffp->irq);
diff --git a/drivers/cdrom/sonycd535.c b/drivers/cdrom/sonycd535.c
index 8f7cc452af8d..30ab56258a92 100644
--- a/drivers/cdrom/sonycd535.c
+++ b/drivers/cdrom/sonycd535.c
@@ -1527,7 +1527,7 @@ static int __init sony535_init(void)
1527 } 1527 }
1528 if (sony535_irq_used > 0) { 1528 if (sony535_irq_used > 0) {
1529 if (request_irq(sony535_irq_used, cdu535_interrupt, 1529 if (request_irq(sony535_irq_used, cdu535_interrupt,
1530 SA_INTERRUPT, CDU535_HANDLE, NULL)) { 1530 IRQF_DISABLED, CDU535_HANDLE, NULL)) {
1531 printk("Unable to grab IRQ%d for the " CDU535_MESSAGE_NAME 1531 printk("Unable to grab IRQ%d for the " CDU535_MESSAGE_NAME
1532 " driver; polling instead.\n", sony535_irq_used); 1532 " driver; polling instead.\n", sony535_irq_used);
1533 sony535_irq_used = 0; 1533 sony535_irq_used = 0;
diff --git a/drivers/char/amiserial.c b/drivers/char/amiserial.c
index 3e7dc7cbd740..9d6713a93ed7 100644
--- a/drivers/char/amiserial.c
+++ b/drivers/char/amiserial.c
@@ -2051,7 +2051,7 @@ static int __init rs_init(void)
2051 2051
2052 /* set ISRs, and then disable the rx interrupts */ 2052 /* set ISRs, and then disable the rx interrupts */
2053 request_irq(IRQ_AMIGA_TBE, ser_tx_int, 0, "serial TX", state); 2053 request_irq(IRQ_AMIGA_TBE, ser_tx_int, 0, "serial TX", state);
2054 request_irq(IRQ_AMIGA_RBF, ser_rx_int, SA_INTERRUPT, "serial RX", state); 2054 request_irq(IRQ_AMIGA_RBF, ser_rx_int, IRQF_DISABLED, "serial RX", state);
2055 2055
2056 /* turn off Rx and Tx interrupts */ 2056 /* turn off Rx and Tx interrupts */
2057 custom.intena = IF_RBF | IF_TBE; 2057 custom.intena = IF_RBF | IF_TBE;
diff --git a/drivers/char/applicom.c b/drivers/char/applicom.c
index 72fb60765c45..bcc4668835b5 100644
--- a/drivers/char/applicom.c
+++ b/drivers/char/applicom.c
@@ -229,7 +229,7 @@ static int __init applicom_init(void)
229 continue; 229 continue;
230 } 230 }
231 231
232 if (request_irq(dev->irq, &ac_interrupt, SA_SHIRQ, "Applicom PCI", &dummy)) { 232 if (request_irq(dev->irq, &ac_interrupt, IRQF_SHARED, "Applicom PCI", &dummy)) {
233 printk(KERN_INFO "Could not allocate IRQ %d for PCI Applicom device.\n", dev->irq); 233 printk(KERN_INFO "Could not allocate IRQ %d for PCI Applicom device.\n", dev->irq);
234 iounmap(RamIO); 234 iounmap(RamIO);
235 pci_disable_device(dev); 235 pci_disable_device(dev);
@@ -276,7 +276,7 @@ static int __init applicom_init(void)
276 printk(KERN_NOTICE "Applicom ISA card found at mem 0x%lx, irq %d\n", mem + (LEN_RAM_IO*i), irq); 276 printk(KERN_NOTICE "Applicom ISA card found at mem 0x%lx, irq %d\n", mem + (LEN_RAM_IO*i), irq);
277 277
278 if (!numisa) { 278 if (!numisa) {
279 if (request_irq(irq, &ac_interrupt, SA_SHIRQ, "Applicom ISA", &dummy)) { 279 if (request_irq(irq, &ac_interrupt, IRQF_SHARED, "Applicom ISA", &dummy)) {
280 printk(KERN_WARNING "Could not allocate IRQ %d for ISA Applicom device.\n", irq); 280 printk(KERN_WARNING "Could not allocate IRQ %d for ISA Applicom device.\n", irq);
281 iounmap(RamIO); 281 iounmap(RamIO);
282 apbs[boardno - 1].RamIO = NULL; 282 apbs[boardno - 1].RamIO = NULL;
diff --git a/drivers/char/cyclades.c b/drivers/char/cyclades.c
index 1f61a6744a26..c1c67281750d 100644
--- a/drivers/char/cyclades.c
+++ b/drivers/char/cyclades.c
@@ -4612,7 +4612,7 @@ cy_detect_isa(void)
4612 4612
4613 /* allocate IRQ */ 4613 /* allocate IRQ */
4614 if(request_irq(cy_isa_irq, cyy_interrupt, 4614 if(request_irq(cy_isa_irq, cyy_interrupt,
4615 SA_INTERRUPT, "Cyclom-Y", &cy_card[j])) 4615 IRQF_DISABLED, "Cyclom-Y", &cy_card[j]))
4616 { 4616 {
4617 printk("Cyclom-Y/ISA found at 0x%lx ", 4617 printk("Cyclom-Y/ISA found at 0x%lx ",
4618 (unsigned long) cy_isa_address); 4618 (unsigned long) cy_isa_address);
@@ -4785,7 +4785,7 @@ cy_detect_pci(void)
4785 4785
4786 /* allocate IRQ */ 4786 /* allocate IRQ */
4787 if(request_irq(cy_pci_irq, cyy_interrupt, 4787 if(request_irq(cy_pci_irq, cyy_interrupt,
4788 SA_SHIRQ, "Cyclom-Y", &cy_card[j])) 4788 IRQF_SHARED, "Cyclom-Y", &cy_card[j]))
4789 { 4789 {
4790 printk("Cyclom-Y/PCI found at 0x%lx ", 4790 printk("Cyclom-Y/PCI found at 0x%lx ",
4791 (ulong) cy_pci_phys2); 4791 (ulong) cy_pci_phys2);
@@ -4965,7 +4965,7 @@ cy_detect_pci(void)
4965 /* allocate IRQ only if board has an IRQ */ 4965 /* allocate IRQ only if board has an IRQ */
4966 if( (cy_pci_irq != 0) && (cy_pci_irq != 255) ) { 4966 if( (cy_pci_irq != 0) && (cy_pci_irq != 255) ) {
4967 if(request_irq(cy_pci_irq, cyz_interrupt, 4967 if(request_irq(cy_pci_irq, cyz_interrupt,
4968 SA_SHIRQ, "Cyclades-Z", &cy_card[j])) 4968 IRQF_SHARED, "Cyclades-Z", &cy_card[j]))
4969 { 4969 {
4970 printk("Cyclom-8Zo/PCI found at 0x%lx ", 4970 printk("Cyclom-8Zo/PCI found at 0x%lx ",
4971 (ulong) cy_pci_phys2); 4971 (ulong) cy_pci_phys2);
@@ -5059,7 +5059,7 @@ cy_detect_pci(void)
5059 /* allocate IRQ only if board has an IRQ */ 5059 /* allocate IRQ only if board has an IRQ */
5060 if( (cy_pci_irq != 0) && (cy_pci_irq != 255) ) { 5060 if( (cy_pci_irq != 0) && (cy_pci_irq != 255) ) {
5061 if(request_irq(cy_pci_irq, cyz_interrupt, 5061 if(request_irq(cy_pci_irq, cyz_interrupt,
5062 SA_SHIRQ, "Cyclades-Z", &cy_card[j])) 5062 IRQF_SHARED, "Cyclades-Z", &cy_card[j]))
5063 { 5063 {
5064 printk("Cyclom-Ze/PCI found at 0x%lx ", 5064 printk("Cyclom-Ze/PCI found at 0x%lx ",
5065 (ulong) cy_pci_phys2); 5065 (ulong) cy_pci_phys2);
diff --git a/drivers/char/drm/drm_irq.c b/drivers/char/drm/drm_irq.c
index 611a1173091d..ebdb7182c4fd 100644
--- a/drivers/char/drm/drm_irq.c
+++ b/drivers/char/drm/drm_irq.c
@@ -130,7 +130,7 @@ static int drm_irq_install(drm_device_t * dev)
130 130
131 /* Install handler */ 131 /* Install handler */
132 if (drm_core_check_feature(dev, DRIVER_IRQ_SHARED)) 132 if (drm_core_check_feature(dev, DRIVER_IRQ_SHARED))
133 sh_flags = SA_SHIRQ; 133 sh_flags = IRQF_SHARED;
134 134
135 ret = request_irq(dev->irq, dev->driver->irq_handler, 135 ret = request_irq(dev->irq, dev->driver->irq_handler,
136 sh_flags, dev->devname, dev); 136 sh_flags, dev->devname, dev);
diff --git a/drivers/char/esp.c b/drivers/char/esp.c
index 9827d170ca17..afcd83d9984b 100644
--- a/drivers/char/esp.c
+++ b/drivers/char/esp.c
@@ -883,7 +883,7 @@ static int startup(struct esp_struct * info)
883 * Allocate the IRQ 883 * Allocate the IRQ
884 */ 884 */
885 885
886 retval = request_irq(info->irq, rs_interrupt_single, SA_SHIRQ, 886 retval = request_irq(info->irq, rs_interrupt_single, IRQF_SHARED,
887 "esp serial", info); 887 "esp serial", info);
888 888
889 if (retval) { 889 if (retval) {
diff --git a/drivers/char/ftape/lowlevel/fdc-io.c b/drivers/char/ftape/lowlevel/fdc-io.c
index 093fdf98b19a..65c9d2ec60bd 100644
--- a/drivers/char/ftape/lowlevel/fdc-io.c
+++ b/drivers/char/ftape/lowlevel/fdc-io.c
@@ -1268,7 +1268,7 @@ static int fdc_grab_irq_and_dma(void)
1268 /* Get fast interrupt handler. 1268 /* Get fast interrupt handler.
1269 */ 1269 */
1270 if (request_irq(fdc.irq, ftape_interrupt, 1270 if (request_irq(fdc.irq, ftape_interrupt,
1271 SA_INTERRUPT, "ft", ftape_id)) { 1271 IRQF_DISABLED, "ft", ftape_id)) {
1272 TRACE_ABORT(-EIO, ft_t_bug, 1272 TRACE_ABORT(-EIO, ft_t_bug,
1273 "Unable to grab IRQ%d for ftape driver", 1273 "Unable to grab IRQ%d for ftape driver",
1274 fdc.irq); 1274 fdc.irq);
diff --git a/drivers/char/hpet.c b/drivers/char/hpet.c
index 8b6c76f8ef0e..e5643f3aa73f 100644
--- a/drivers/char/hpet.c
+++ b/drivers/char/hpet.c
@@ -395,7 +395,7 @@ static int hpet_ioctl_ieon(struct hpet_dev *devp)
395 395
396 sprintf(devp->hd_name, "hpet%d", (int)(devp - hpetp->hp_dev)); 396 sprintf(devp->hd_name, "hpet%d", (int)(devp - hpetp->hp_dev));
397 irq_flags = devp->hd_flags & HPET_SHARED_IRQ 397 irq_flags = devp->hd_flags & HPET_SHARED_IRQ
398 ? SA_SHIRQ : SA_INTERRUPT; 398 ? IRQF_SHARED : IRQF_DISABLED;
399 if (request_irq(irq, hpet_interrupt, irq_flags, 399 if (request_irq(irq, hpet_interrupt, irq_flags,
400 devp->hd_name, (void *)devp)) { 400 devp->hd_name, (void *)devp)) {
401 printk(KERN_ERR "hpet: IRQ %d is not free\n", irq); 401 printk(KERN_ERR "hpet: IRQ %d is not free\n", irq);
diff --git a/drivers/char/hvc_console.c b/drivers/char/hvc_console.c
index 859e5005c785..ca2f538e549e 100644
--- a/drivers/char/hvc_console.c
+++ b/drivers/char/hvc_console.c
@@ -346,7 +346,7 @@ static int hvc_open(struct tty_struct *tty, struct file * filp)
346 spin_unlock_irqrestore(&hp->lock, flags); 346 spin_unlock_irqrestore(&hp->lock, flags);
347 /* check error, fallback to non-irq */ 347 /* check error, fallback to non-irq */
348 if (irq != NO_IRQ) 348 if (irq != NO_IRQ)
349 rc = request_irq(irq, hvc_handle_interrupt, SA_INTERRUPT, "hvc_console", hp); 349 rc = request_irq(irq, hvc_handle_interrupt, IRQF_DISABLED, "hvc_console", hp);
350 350
351 /* 351 /*
352 * If the request_irq() fails and we return an error. The tty layer 352 * If the request_irq() fails and we return an error. The tty layer
diff --git a/drivers/char/hvcs.c b/drivers/char/hvcs.c
index 130dedc37568..4589ff302b07 100644
--- a/drivers/char/hvcs.c
+++ b/drivers/char/hvcs.c
@@ -899,7 +899,7 @@ static int hvcs_enable_device(struct hvcs_struct *hvcsd, uint32_t unit_address,
899 * the conn was registered and now. 899 * the conn was registered and now.
900 */ 900 */
901 if (!(rc = request_irq(irq, &hvcs_handle_interrupt, 901 if (!(rc = request_irq(irq, &hvcs_handle_interrupt,
902 SA_INTERRUPT, "ibmhvcs", hvcsd))) { 902 IRQF_DISABLED, "ibmhvcs", hvcsd))) {
903 /* 903 /*
904 * It is possible the vty-server was removed after the irq was 904 * It is possible the vty-server was removed after the irq was
905 * requested but before we have time to enable interrupts. 905 * requested but before we have time to enable interrupts.
diff --git a/drivers/char/hvsi.c b/drivers/char/hvsi.c
index 7b04eb153205..8dc205b275e3 100644
--- a/drivers/char/hvsi.c
+++ b/drivers/char/hvsi.c
@@ -1168,7 +1168,7 @@ static int __init hvsi_init(void)
1168 struct hvsi_struct *hp = &hvsi_ports[i]; 1168 struct hvsi_struct *hp = &hvsi_ports[i];
1169 int ret = 1; 1169 int ret = 1;
1170 1170
1171 ret = request_irq(hp->virq, hvsi_interrupt, SA_INTERRUPT, "hvsi", hp); 1171 ret = request_irq(hp->virq, hvsi_interrupt, IRQF_DISABLED, "hvsi", hp);
1172 if (ret) 1172 if (ret)
1173 printk(KERN_ERR "HVSI: couldn't reserve irq 0x%x (error %i)\n", 1173 printk(KERN_ERR "HVSI: couldn't reserve irq 0x%x (error %i)\n",
1174 hp->virq, ret); 1174 hp->virq, ret);
diff --git a/drivers/char/ip2/ip2main.c b/drivers/char/ip2/ip2main.c
index f9aa53c76f99..a4200a2b0811 100644
--- a/drivers/char/ip2/ip2main.c
+++ b/drivers/char/ip2/ip2main.c
@@ -491,8 +491,8 @@ static struct tty_operations ip2_ops = {
491/* initialisation of the devices and driver structures, and registers itself */ 491/* initialisation of the devices and driver structures, and registers itself */
492/* with the relevant kernel modules. */ 492/* with the relevant kernel modules. */
493/******************************************************************************/ 493/******************************************************************************/
494/* SA_INTERRUPT- if set blocks all interrupts else only this line */ 494/* IRQF_DISABLED - if set blocks all interrupts else only this line */
495/* SA_SHIRQ - for shared irq PCI or maybe EISA only */ 495/* IRQF_SHARED - for shared irq PCI or maybe EISA only */
496/* SA_RANDOM - can be source for cert. random number generators */ 496/* SA_RANDOM - can be source for cert. random number generators */
497#define IP2_SA_FLAGS 0 497#define IP2_SA_FLAGS 0
498 498
@@ -753,7 +753,7 @@ retry:
753 if (have_requested_irq(ip2config.irq[i])) 753 if (have_requested_irq(ip2config.irq[i]))
754 continue; 754 continue;
755 rc = request_irq( ip2config.irq[i], ip2_interrupt, 755 rc = request_irq( ip2config.irq[i], ip2_interrupt,
756 IP2_SA_FLAGS | (ip2config.type[i] == PCI ? SA_SHIRQ : 0), 756 IP2_SA_FLAGS | (ip2config.type[i] == PCI ? IRQF_SHARED : 0),
757 pcName, (void *)&pcName); 757 pcName, (void *)&pcName);
758 if (rc) { 758 if (rc) {
759 printk(KERN_ERR "IP2: an request_irq failed: error %d\n",rc); 759 printk(KERN_ERR "IP2: an request_irq failed: error %d\n",rc);
diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c
index c7f3e5c80666..f57eba0bf253 100644
--- a/drivers/char/ipmi/ipmi_si_intf.c
+++ b/drivers/char/ipmi/ipmi_si_intf.c
@@ -1041,7 +1041,7 @@ static int std_irq_setup(struct smi_info *info)
1041 if (info->si_type == SI_BT) { 1041 if (info->si_type == SI_BT) {
1042 rv = request_irq(info->irq, 1042 rv = request_irq(info->irq,
1043 si_bt_irq_handler, 1043 si_bt_irq_handler,
1044 SA_INTERRUPT, 1044 IRQF_DISABLED,
1045 DEVICE_NAME, 1045 DEVICE_NAME,
1046 info); 1046 info);
1047 if (!rv) 1047 if (!rv)
@@ -1051,7 +1051,7 @@ static int std_irq_setup(struct smi_info *info)
1051 } else 1051 } else
1052 rv = request_irq(info->irq, 1052 rv = request_irq(info->irq,
1053 si_irq_handler, 1053 si_irq_handler,
1054 SA_INTERRUPT, 1054 IRQF_DISABLED,
1055 DEVICE_NAME, 1055 DEVICE_NAME,
1056 info); 1056 info);
1057 if (rv) { 1057 if (rv) {
diff --git a/drivers/char/isicom.c b/drivers/char/isicom.c
index c105b9540ad8..913be23e0a24 100644
--- a/drivers/char/isicom.c
+++ b/drivers/char/isicom.c
@@ -1614,14 +1614,14 @@ static int __devinit isicom_register_isr(struct pci_dev *pdev,
1614 const unsigned int index) 1614 const unsigned int index)
1615{ 1615{
1616 struct isi_board *board = pci_get_drvdata(pdev); 1616 struct isi_board *board = pci_get_drvdata(pdev);
1617 unsigned long irqflags = SA_INTERRUPT; 1617 unsigned long irqflags = IRQF_DISABLED;
1618 int retval = -EINVAL; 1618 int retval = -EINVAL;
1619 1619
1620 if (!board->base) 1620 if (!board->base)
1621 goto end; 1621 goto end;
1622 1622
1623 if (board->isa == NO) 1623 if (board->isa == NO)
1624 irqflags |= SA_SHIRQ; 1624 irqflags |= IRQF_SHARED;
1625 1625
1626 retval = request_irq(board->irq, isicom_interrupt, irqflags, 1626 retval = request_irq(board->irq, isicom_interrupt, irqflags,
1627 ISICOM_NAME, board); 1627 ISICOM_NAME, board);
diff --git a/drivers/char/ite_gpio.c b/drivers/char/ite_gpio.c
index d1ed6ac950d1..747ba45e50e5 100644
--- a/drivers/char/ite_gpio.c
+++ b/drivers/char/ite_gpio.c
@@ -397,7 +397,7 @@ int __init ite_gpio_init(void)
397 init_waitqueue_head(&ite_gpio_wait[i]); 397 init_waitqueue_head(&ite_gpio_wait[i]);
398 } 398 }
399 399
400 if (request_irq(ite_gpio_irq, ite_gpio_irq_handler, SA_SHIRQ, "gpio", 0) < 0) { 400 if (request_irq(ite_gpio_irq, ite_gpio_irq_handler, IRQF_SHARED, "gpio", 0) < 0) {
401 misc_deregister(&ite_gpio_miscdev); 401 misc_deregister(&ite_gpio_miscdev);
402 release_region(ite_gpio_base, 0x1c); 402 release_region(ite_gpio_base, 0x1c);
403 return 0; 403 return 0;
diff --git a/drivers/char/mbcs.c b/drivers/char/mbcs.c
index bb07c2766b27..0385650f6077 100644
--- a/drivers/char/mbcs.c
+++ b/drivers/char/mbcs.c
@@ -592,7 +592,7 @@ static int mbcs_intr_alloc(struct cx_dev *dev)
592 getdma->intrHostDest = sn_irq->irq_xtalkaddr; 592 getdma->intrHostDest = sn_irq->irq_xtalkaddr;
593 getdma->intrVector = sn_irq->irq_irq; 593 getdma->intrVector = sn_irq->irq_irq;
594 if (request_irq(sn_irq->irq_irq, 594 if (request_irq(sn_irq->irq_irq,
595 (void *)mbcs_completion_intr_handler, SA_SHIRQ, 595 (void *)mbcs_completion_intr_handler, IRQF_SHARED,
596 "MBCS get intr", (void *)soft)) { 596 "MBCS get intr", (void *)soft)) {
597 tiocx_irq_free(soft->get_sn_irq); 597 tiocx_irq_free(soft->get_sn_irq);
598 return -EAGAIN; 598 return -EAGAIN;
@@ -608,7 +608,7 @@ static int mbcs_intr_alloc(struct cx_dev *dev)
608 putdma->intrHostDest = sn_irq->irq_xtalkaddr; 608 putdma->intrHostDest = sn_irq->irq_xtalkaddr;
609 putdma->intrVector = sn_irq->irq_irq; 609 putdma->intrVector = sn_irq->irq_irq;
610 if (request_irq(sn_irq->irq_irq, 610 if (request_irq(sn_irq->irq_irq,
611 (void *)mbcs_completion_intr_handler, SA_SHIRQ, 611 (void *)mbcs_completion_intr_handler, IRQF_SHARED,
612 "MBCS put intr", (void *)soft)) { 612 "MBCS put intr", (void *)soft)) {
613 tiocx_irq_free(soft->put_sn_irq); 613 tiocx_irq_free(soft->put_sn_irq);
614 free_irq(soft->get_sn_irq->irq_irq, soft); 614 free_irq(soft->get_sn_irq->irq_irq, soft);
@@ -628,7 +628,7 @@ static int mbcs_intr_alloc(struct cx_dev *dev)
628 algo->intrHostDest = sn_irq->irq_xtalkaddr; 628 algo->intrHostDest = sn_irq->irq_xtalkaddr;
629 algo->intrVector = sn_irq->irq_irq; 629 algo->intrVector = sn_irq->irq_irq;
630 if (request_irq(sn_irq->irq_irq, 630 if (request_irq(sn_irq->irq_irq,
631 (void *)mbcs_completion_intr_handler, SA_SHIRQ, 631 (void *)mbcs_completion_intr_handler, IRQF_SHARED,
632 "MBCS algo intr", (void *)soft)) { 632 "MBCS algo intr", (void *)soft)) {
633 tiocx_irq_free(soft->algo_sn_irq); 633 tiocx_irq_free(soft->algo_sn_irq);
634 free_irq(soft->put_sn_irq->irq_irq, soft); 634 free_irq(soft->put_sn_irq->irq_irq, soft);
diff --git a/drivers/char/mmtimer.c b/drivers/char/mmtimer.c
index 95e8122b8068..70b774ff5aa4 100644
--- a/drivers/char/mmtimer.c
+++ b/drivers/char/mmtimer.c
@@ -687,7 +687,7 @@ static int __init mmtimer_init(void)
687 mmtimer_femtoperiod = ((unsigned long)1E15 + sn_rtc_cycles_per_second / 687 mmtimer_femtoperiod = ((unsigned long)1E15 + sn_rtc_cycles_per_second /
688 2) / sn_rtc_cycles_per_second; 688 2) / sn_rtc_cycles_per_second;
689 689
690 if (request_irq(SGI_MMTIMER_VECTOR, mmtimer_interrupt, SA_PERCPU_IRQ, MMTIMER_NAME, NULL)) { 690 if (request_irq(SGI_MMTIMER_VECTOR, mmtimer_interrupt, IRQF_PERCPU, MMTIMER_NAME, NULL)) {
691 printk(KERN_WARNING "%s: unable to allocate interrupt.", 691 printk(KERN_WARNING "%s: unable to allocate interrupt.",
692 MMTIMER_NAME); 692 MMTIMER_NAME);
693 return -1; 693 return -1;
diff --git a/drivers/char/mxser.c b/drivers/char/mxser.c
index eb1559fcb81a..556abd3e0d07 100644
--- a/drivers/char/mxser.c
+++ b/drivers/char/mxser.c
@@ -94,7 +94,7 @@
94#define RELEVANT_IFLAG(iflag) (iflag & (IGNBRK|BRKINT|IGNPAR|PARMRK|INPCK|\ 94#define RELEVANT_IFLAG(iflag) (iflag & (IGNBRK|BRKINT|IGNPAR|PARMRK|INPCK|\
95 IXON|IXOFF)) 95 IXON|IXOFF))
96 96
97#define IRQ_T(info) ((info->flags & ASYNC_SHARE_IRQ) ? SA_SHIRQ : SA_INTERRUPT) 97#define IRQ_T(info) ((info->flags & ASYNC_SHARE_IRQ) ? IRQF_SHARED : IRQF_DISABLED)
98 98
99#define C168_ASIC_ID 1 99#define C168_ASIC_ID 1
100#define C104_ASIC_ID 2 100#define C104_ASIC_ID 2
diff --git a/drivers/char/nwbutton.c b/drivers/char/nwbutton.c
index 94845dd12ca9..f240a104d250 100644
--- a/drivers/char/nwbutton.c
+++ b/drivers/char/nwbutton.c
@@ -223,7 +223,7 @@ static int __init nwbutton_init(void)
223 return -EBUSY; 223 return -EBUSY;
224 } 224 }
225 225
226 if (request_irq (IRQ_NETWINDER_BUTTON, button_handler, SA_INTERRUPT, 226 if (request_irq (IRQ_NETWINDER_BUTTON, button_handler, IRQF_DISABLED,
227 "nwbutton", NULL)) { 227 "nwbutton", NULL)) {
228 printk (KERN_WARNING "nwbutton: IRQ %d is not free.\n", 228 printk (KERN_WARNING "nwbutton: IRQ %d is not free.\n",
229 IRQ_NETWINDER_BUTTON); 229 IRQ_NETWINDER_BUTTON);
diff --git a/drivers/char/qtronix.c b/drivers/char/qtronix.c
index 1087530e5854..9d134e98d2a0 100644
--- a/drivers/char/qtronix.c
+++ b/drivers/char/qtronix.c
@@ -144,7 +144,7 @@ void __init init_qtronix_990P_kbd(void)
144 cir_port_init(cir); 144 cir_port_init(cir);
145 145
146 retval = request_irq(IT8172_CIR0_IRQ, kbd_int_handler, 146 retval = request_irq(IT8172_CIR0_IRQ, kbd_int_handler,
147 (unsigned long )(SA_INTERRUPT|SA_SHIRQ), 147 (unsigned long )(IRQF_DISABLED|IRQF_SHARED),
148 (const char *)"Qtronix IR Keyboard", (void *)cir); 148 (const char *)"Qtronix IR Keyboard", (void *)cir);
149 149
150 if (retval) { 150 if (retval) {
diff --git a/drivers/char/rio/rio_linux.c b/drivers/char/rio/rio_linux.c
index 5332d1d4b0e4..3afc6a47ebbc 100644
--- a/drivers/char/rio/rio_linux.c
+++ b/drivers/char/rio/rio_linux.c
@@ -1119,7 +1119,7 @@ static int __init rio_init(void)
1119 for (i = 0; i < p->RIONumHosts; i++) { 1119 for (i = 0; i < p->RIONumHosts; i++) {
1120 hp = &p->RIOHosts[i]; 1120 hp = &p->RIOHosts[i];
1121 if (hp->Ivec) { 1121 if (hp->Ivec) {
1122 int mode = SA_SHIRQ; 1122 int mode = IRQF_SHARED;
1123 if (hp->Ivec & 0x8000) { 1123 if (hp->Ivec & 0x8000) {
1124 mode = 0; 1124 mode = 0;
1125 hp->Ivec &= 0x7fff; 1125 hp->Ivec &= 0x7fff;
diff --git a/drivers/char/riscom8.c b/drivers/char/riscom8.c
index c84c3c3f10c3..f1c94f771af5 100644
--- a/drivers/char/riscom8.c
+++ b/drivers/char/riscom8.c
@@ -625,7 +625,7 @@ static inline int rc_setup_board(struct riscom_board * bp)
625 if (bp->flags & RC_BOARD_ACTIVE) 625 if (bp->flags & RC_BOARD_ACTIVE)
626 return 0; 626 return 0;
627 627
628 error = request_irq(bp->irq, rc_interrupt, SA_INTERRUPT, 628 error = request_irq(bp->irq, rc_interrupt, IRQF_DISABLED,
629 "RISCom/8", NULL); 629 "RISCom/8", NULL);
630 if (error) 630 if (error)
631 return error; 631 return error;
diff --git a/drivers/char/rtc.c b/drivers/char/rtc.c
index 37dc2edd8d75..aefac4ac0bf5 100644
--- a/drivers/char/rtc.c
+++ b/drivers/char/rtc.c
@@ -220,7 +220,7 @@ static inline unsigned char rtc_is_updating(void)
220 220
221#ifdef RTC_IRQ 221#ifdef RTC_IRQ
222/* 222/*
223 * A very tiny interrupt handler. It runs with SA_INTERRUPT set, 223 * A very tiny interrupt handler. It runs with IRQF_DISABLED set,
224 * but there is possibility of conflicting with the set_rtc_mmss() 224 * but there is possibility of conflicting with the set_rtc_mmss()
225 * call (the rtc irq and the timer irq can easily run at the same 225 * call (the rtc irq and the timer irq can easily run at the same
226 * time in two different CPUs). So we need to serialize 226 * time in two different CPUs). So we need to serialize
@@ -958,7 +958,7 @@ found:
958 * XXX Interrupt pin #7 in Espresso is shared between RTC and 958 * XXX Interrupt pin #7 in Espresso is shared between RTC and
959 * PCI Slot 2 INTA# (and some INTx# in Slot 1). 959 * PCI Slot 2 INTA# (and some INTx# in Slot 1).
960 */ 960 */
961 if (request_irq(rtc_irq, rtc_interrupt, SA_SHIRQ, "rtc", (void *)&rtc_port)) { 961 if (request_irq(rtc_irq, rtc_interrupt, IRQF_SHARED, "rtc", (void *)&rtc_port)) {
962 printk(KERN_ERR "rtc: cannot register IRQ %d\n", rtc_irq); 962 printk(KERN_ERR "rtc: cannot register IRQ %d\n", rtc_irq);
963 return -EIO; 963 return -EIO;
964 } 964 }
@@ -976,7 +976,7 @@ no_irq:
976 rtc_int_handler_ptr = rtc_interrupt; 976 rtc_int_handler_ptr = rtc_interrupt;
977 } 977 }
978 978
979 if(request_irq(RTC_IRQ, rtc_int_handler_ptr, SA_INTERRUPT, "rtc", NULL)) { 979 if(request_irq(RTC_IRQ, rtc_int_handler_ptr, IRQF_DISABLED, "rtc", NULL)) {
980 /* Yeah right, seeing as irq 8 doesn't even hit the bus. */ 980 /* Yeah right, seeing as irq 8 doesn't even hit the bus. */
981 printk(KERN_ERR "rtc: IRQ %d is not free.\n", RTC_IRQ); 981 printk(KERN_ERR "rtc: IRQ %d is not free.\n", RTC_IRQ);
982 release_region(RTC_PORT(0), RTC_IO_EXTENT); 982 release_region(RTC_PORT(0), RTC_IO_EXTENT);
diff --git a/drivers/char/s3c2410-rtc.c b/drivers/char/s3c2410-rtc.c
index b0038b19b505..5458ef1634e5 100644
--- a/drivers/char/s3c2410-rtc.c
+++ b/drivers/char/s3c2410-rtc.c
@@ -341,13 +341,13 @@ static int s3c2410_rtc_open(void)
341 int ret; 341 int ret;
342 342
343 ret = request_irq(s3c2410_rtc_alarmno, s3c2410_rtc_alarmirq, 343 ret = request_irq(s3c2410_rtc_alarmno, s3c2410_rtc_alarmirq,
344 SA_INTERRUPT, "s3c2410-rtc alarm", NULL); 344 IRQF_DISABLED, "s3c2410-rtc alarm", NULL);
345 345
346 if (ret) 346 if (ret)
347 printk(KERN_ERR "IRQ%d already in use\n", s3c2410_rtc_alarmno); 347 printk(KERN_ERR "IRQ%d already in use\n", s3c2410_rtc_alarmno);
348 348
349 ret = request_irq(s3c2410_rtc_tickno, s3c2410_rtc_tickirq, 349 ret = request_irq(s3c2410_rtc_tickno, s3c2410_rtc_tickirq,
350 SA_INTERRUPT, "s3c2410-rtc tick", NULL); 350 IRQF_DISABLED, "s3c2410-rtc tick", NULL);
351 351
352 if (ret) { 352 if (ret) {
353 printk(KERN_ERR "IRQ%d already in use\n", s3c2410_rtc_tickno); 353 printk(KERN_ERR "IRQ%d already in use\n", s3c2410_rtc_tickno);
diff --git a/drivers/char/snsc.c b/drivers/char/snsc.c
index 56c8243cdb73..203240b6c08f 100644
--- a/drivers/char/snsc.c
+++ b/drivers/char/snsc.c
@@ -105,7 +105,7 @@ scdrv_open(struct inode *inode, struct file *file)
105 105
106 /* hook this subchannel up to the system controller interrupt */ 106 /* hook this subchannel up to the system controller interrupt */
107 rv = request_irq(SGI_UART_VECTOR, scdrv_interrupt, 107 rv = request_irq(SGI_UART_VECTOR, scdrv_interrupt,
108 SA_SHIRQ | SA_INTERRUPT, 108 IRQF_SHARED | IRQF_DISABLED,
109 SYSCTL_BASENAME, sd); 109 SYSCTL_BASENAME, sd);
110 if (rv) { 110 if (rv) {
111 ia64_sn_irtr_close(sd->sd_nasid, sd->sd_subch); 111 ia64_sn_irtr_close(sd->sd_nasid, sd->sd_subch);
diff --git a/drivers/char/snsc_event.c b/drivers/char/snsc_event.c
index e234d50e142a..8b2210b633df 100644
--- a/drivers/char/snsc_event.c
+++ b/drivers/char/snsc_event.c
@@ -310,7 +310,7 @@ scdrv_event_init(struct sysctl_data_s *scd)
310 310
311 /* hook event subchannel up to the system controller interrupt */ 311 /* hook event subchannel up to the system controller interrupt */
312 rv = request_irq(SGI_UART_VECTOR, scdrv_event_interrupt, 312 rv = request_irq(SGI_UART_VECTOR, scdrv_event_interrupt,
313 SA_SHIRQ | SA_INTERRUPT, 313 IRQF_SHARED | IRQF_DISABLED,
314 "system controller events", event_sd); 314 "system controller events", event_sd);
315 if (rv) { 315 if (rv) {
316 printk(KERN_WARNING "%s: irq request failed (%d)\n", 316 printk(KERN_WARNING "%s: irq request failed (%d)\n",
diff --git a/drivers/char/sonypi.c b/drivers/char/sonypi.c
index e19d4856e9fc..45508a039508 100644
--- a/drivers/char/sonypi.c
+++ b/drivers/char/sonypi.c
@@ -1282,7 +1282,7 @@ static int __devinit sonypi_setup_irq(struct sonypi_device *dev,
1282 while (irq_list->irq) { 1282 while (irq_list->irq) {
1283 1283
1284 if (!request_irq(irq_list->irq, sonypi_irq, 1284 if (!request_irq(irq_list->irq, sonypi_irq,
1285 SA_SHIRQ, "sonypi", sonypi_irq)) { 1285 IRQF_SHARED, "sonypi", sonypi_irq)) {
1286 dev->irq = irq_list->irq; 1286 dev->irq = irq_list->irq;
1287 dev->bits = irq_list->bits; 1287 dev->bits = irq_list->bits;
1288 return 0; 1288 return 0;
diff --git a/drivers/char/specialix.c b/drivers/char/specialix.c
index d4243fb80815..cb2859249d49 100644
--- a/drivers/char/specialix.c
+++ b/drivers/char/specialix.c
@@ -1015,9 +1015,9 @@ static inline int sx_setup_board(struct specialix_board * bp)
1015 return 0; 1015 return 0;
1016 1016
1017 if (bp->flags & SX_BOARD_IS_PCI) 1017 if (bp->flags & SX_BOARD_IS_PCI)
1018 error = request_irq(bp->irq, sx_interrupt, SA_INTERRUPT | SA_SHIRQ, "specialix IO8+", bp); 1018 error = request_irq(bp->irq, sx_interrupt, IRQF_DISABLED | IRQF_SHARED, "specialix IO8+", bp);
1019 else 1019 else
1020 error = request_irq(bp->irq, sx_interrupt, SA_INTERRUPT, "specialix IO8+", bp); 1020 error = request_irq(bp->irq, sx_interrupt, IRQF_DISABLED, "specialix IO8+", bp);
1021 1021
1022 if (error) 1022 if (error)
1023 return error; 1023 return error;
diff --git a/drivers/char/stallion.c b/drivers/char/stallion.c
index f15df0e423e0..ed7b8eaf0367 100644
--- a/drivers/char/stallion.c
+++ b/drivers/char/stallion.c
@@ -2302,7 +2302,7 @@ static inline int stl_initeio(stlbrd_t *brdp)
2302 brdp->nrpanels = 1; 2302 brdp->nrpanels = 1;
2303 brdp->state |= BRD_FOUND; 2303 brdp->state |= BRD_FOUND;
2304 brdp->hwid = status; 2304 brdp->hwid = status;
2305 if (request_irq(brdp->irq, stl_intr, SA_SHIRQ, name, brdp) != 0) { 2305 if (request_irq(brdp->irq, stl_intr, IRQF_SHARED, name, brdp) != 0) {
2306 printk("STALLION: failed to register interrupt " 2306 printk("STALLION: failed to register interrupt "
2307 "routine for %s irq=%d\n", name, brdp->irq); 2307 "routine for %s irq=%d\n", name, brdp->irq);
2308 rc = -ENODEV; 2308 rc = -ENODEV;
@@ -2512,7 +2512,7 @@ static inline int stl_initech(stlbrd_t *brdp)
2512 outb((brdp->ioctrlval | ECH_BRDDISABLE), brdp->ioctrl); 2512 outb((brdp->ioctrlval | ECH_BRDDISABLE), brdp->ioctrl);
2513 2513
2514 brdp->state |= BRD_FOUND; 2514 brdp->state |= BRD_FOUND;
2515 if (request_irq(brdp->irq, stl_intr, SA_SHIRQ, name, brdp) != 0) { 2515 if (request_irq(brdp->irq, stl_intr, IRQF_SHARED, name, brdp) != 0) {
2516 printk("STALLION: failed to register interrupt " 2516 printk("STALLION: failed to register interrupt "
2517 "routine for %s irq=%d\n", name, brdp->irq); 2517 "routine for %s irq=%d\n", name, brdp->irq);
2518 i = -ENODEV; 2518 i = -ENODEV;
diff --git a/drivers/char/sx.c b/drivers/char/sx.c
index 76b9107f7f81..45c193aa11db 100644
--- a/drivers/char/sx.c
+++ b/drivers/char/sx.c
@@ -1993,7 +1993,7 @@ static int sx_init_board (struct sx_board *board)
1993 if(board->irq > 0) { 1993 if(board->irq > 0) {
1994 /* fixed irq, probably PCI */ 1994 /* fixed irq, probably PCI */
1995 if(sx_irqmask & (1 << board->irq)) { /* may we use this irq? */ 1995 if(sx_irqmask & (1 << board->irq)) { /* may we use this irq? */
1996 if(request_irq(board->irq, sx_interrupt, SA_SHIRQ | SA_INTERRUPT, "sx", board)) { 1996 if(request_irq(board->irq, sx_interrupt, IRQF_SHARED | IRQF_DISABLED, "sx", board)) {
1997 printk(KERN_ERR "sx: Cannot allocate irq %d.\n", board->irq); 1997 printk(KERN_ERR "sx: Cannot allocate irq %d.\n", board->irq);
1998 board->irq = 0; 1998 board->irq = 0;
1999 } 1999 }
@@ -2005,7 +2005,7 @@ static int sx_init_board (struct sx_board *board)
2005 int irqmask = sx_irqmask & (IS_SX_BOARD(board) ? SX_ISA_IRQ_MASK : SI2_ISA_IRQ_MASK); 2005 int irqmask = sx_irqmask & (IS_SX_BOARD(board) ? SX_ISA_IRQ_MASK : SI2_ISA_IRQ_MASK);
2006 for(irqnr = 15; irqnr > 0; irqnr--) 2006 for(irqnr = 15; irqnr > 0; irqnr--)
2007 if(irqmask & (1 << irqnr)) 2007 if(irqmask & (1 << irqnr))
2008 if(! request_irq(irqnr, sx_interrupt, SA_SHIRQ | SA_INTERRUPT, "sx", board)) 2008 if(! request_irq(irqnr, sx_interrupt, IRQF_SHARED | IRQF_DISABLED, "sx", board))
2009 break; 2009 break;
2010 if(! irqnr) 2010 if(! irqnr)
2011 printk(KERN_ERR "sx: Cannot allocate IRQ.\n"); 2011 printk(KERN_ERR "sx: Cannot allocate IRQ.\n");
diff --git a/drivers/char/synclink.c b/drivers/char/synclink.c
index fee2aca3f6a5..df782dd1098c 100644
--- a/drivers/char/synclink.c
+++ b/drivers/char/synclink.c
@@ -8150,7 +8150,7 @@ static int __devinit synclink_init_one (struct pci_dev *dev,
8150 8150
8151 info->bus_type = MGSL_BUS_TYPE_PCI; 8151 info->bus_type = MGSL_BUS_TYPE_PCI;
8152 info->io_addr_size = 8; 8152 info->io_addr_size = 8;
8153 info->irq_flags = SA_SHIRQ; 8153 info->irq_flags = IRQF_SHARED;
8154 8154
8155 if (dev->device == 0x0210) { 8155 if (dev->device == 0x0210) {
8156 /* Version 1 PCI9030 based universal PCI adapter */ 8156 /* Version 1 PCI9030 based universal PCI adapter */
diff --git a/drivers/char/synclink_gt.c b/drivers/char/synclink_gt.c
index 03edccc8a823..e829594195c1 100644
--- a/drivers/char/synclink_gt.c
+++ b/drivers/char/synclink_gt.c
@@ -3343,7 +3343,7 @@ static struct slgt_info *alloc_dev(int adapter_num, int port_num, struct pci_dev
3343 info->phys_reg_addr = pci_resource_start(pdev,0); 3343 info->phys_reg_addr = pci_resource_start(pdev,0);
3344 3344
3345 info->bus_type = MGSL_BUS_TYPE_PCI; 3345 info->bus_type = MGSL_BUS_TYPE_PCI;
3346 info->irq_flags = SA_SHIRQ; 3346 info->irq_flags = IRQF_SHARED;
3347 3347
3348 info->init_error = -1; /* assume error, set to 0 on successful init */ 3348 info->init_error = -1; /* assume error, set to 0 on successful init */
3349 } 3349 }
diff --git a/drivers/char/synclinkmp.c b/drivers/char/synclinkmp.c
index ba54df3cf60a..1e443a233f51 100644
--- a/drivers/char/synclinkmp.c
+++ b/drivers/char/synclinkmp.c
@@ -3835,7 +3835,7 @@ static SLMP_INFO *alloc_dev(int adapter_num, int port_num, struct pci_dev *pdev)
3835 info->phys_statctrl_base &= ~(PAGE_SIZE-1); 3835 info->phys_statctrl_base &= ~(PAGE_SIZE-1);
3836 3836
3837 info->bus_type = MGSL_BUS_TYPE_PCI; 3837 info->bus_type = MGSL_BUS_TYPE_PCI;
3838 info->irq_flags = SA_SHIRQ; 3838 info->irq_flags = IRQF_SHARED;
3839 3839
3840 init_timer(&info->tx_timer); 3840 init_timer(&info->tx_timer);
3841 info->tx_timer.data = (unsigned long)info; 3841 info->tx_timer.data = (unsigned long)info;
diff --git a/drivers/char/tlclk.c b/drivers/char/tlclk.c
index dfc4437afefb..952b829e2cb4 100644
--- a/drivers/char/tlclk.c
+++ b/drivers/char/tlclk.c
@@ -208,7 +208,7 @@ static int tlclk_open(struct inode *inode, struct file *filp)
208 /* This device is wired through the FPGA IO space of the ATCA blade 208 /* This device is wired through the FPGA IO space of the ATCA blade
209 * we can't share this IRQ */ 209 * we can't share this IRQ */
210 result = request_irq(telclk_interrupt, &tlclk_interrupt, 210 result = request_irq(telclk_interrupt, &tlclk_interrupt,
211 SA_INTERRUPT, "telco_clock", tlclk_interrupt); 211 IRQF_DISABLED, "telco_clock", tlclk_interrupt);
212 if (result == -EBUSY) { 212 if (result == -EBUSY) {
213 printk(KERN_ERR "tlclk: Interrupt can't be reserved.\n"); 213 printk(KERN_ERR "tlclk: Interrupt can't be reserved.\n");
214 return -EBUSY; 214 return -EBUSY;
diff --git a/drivers/char/tpm/tpm_tis.c b/drivers/char/tpm/tpm_tis.c
index 8ea70625f7ea..abb0f2aeae66 100644
--- a/drivers/char/tpm/tpm_tis.c
+++ b/drivers/char/tpm/tpm_tis.c
@@ -522,7 +522,7 @@ static int __devinit tpm_tis_pnp_init(struct pnp_dev *pnp_dev,
522 iowrite8(i, chip->vendor.iobase + 522 iowrite8(i, chip->vendor.iobase +
523 TPM_INT_VECTOR(chip->vendor.locality)); 523 TPM_INT_VECTOR(chip->vendor.locality));
524 if (request_irq 524 if (request_irq
525 (i, tis_int_probe, SA_SHIRQ, 525 (i, tis_int_probe, IRQF_SHARED,
526 chip->vendor.miscdev.name, chip) != 0) { 526 chip->vendor.miscdev.name, chip) != 0) {
527 dev_info(chip->dev, 527 dev_info(chip->dev,
528 "Unable to request irq: %d for probe\n", 528 "Unable to request irq: %d for probe\n",
@@ -557,7 +557,7 @@ static int __devinit tpm_tis_pnp_init(struct pnp_dev *pnp_dev,
557 chip->vendor.iobase + 557 chip->vendor.iobase +
558 TPM_INT_VECTOR(chip->vendor.locality)); 558 TPM_INT_VECTOR(chip->vendor.locality));
559 if (request_irq 559 if (request_irq
560 (chip->vendor.irq, tis_int_handler, SA_SHIRQ, 560 (chip->vendor.irq, tis_int_handler, IRQF_SHARED,
561 chip->vendor.miscdev.name, chip) != 0) { 561 chip->vendor.miscdev.name, chip) != 0) {
562 dev_info(chip->dev, 562 dev_info(chip->dev,
563 "Unable to request irq: %d for use\n", 563 "Unable to request irq: %d for use\n",
diff --git a/drivers/char/vme_scc.c b/drivers/char/vme_scc.c
index b17a6e2bbca8..bfe5ea948f6a 100644
--- a/drivers/char/vme_scc.c
+++ b/drivers/char/vme_scc.c
@@ -203,13 +203,13 @@ static int mvme147_scc_init(void)
203 port->datap = port->ctrlp + 1; 203 port->datap = port->ctrlp + 1;
204 port->port_a = &scc_ports[0]; 204 port->port_a = &scc_ports[0];
205 port->port_b = &scc_ports[1]; 205 port->port_b = &scc_ports[1];
206 request_irq(MVME147_IRQ_SCCA_TX, scc_tx_int, SA_INTERRUPT, 206 request_irq(MVME147_IRQ_SCCA_TX, scc_tx_int, IRQF_DISABLED,
207 "SCC-A TX", port); 207 "SCC-A TX", port);
208 request_irq(MVME147_IRQ_SCCA_STAT, scc_stat_int, SA_INTERRUPT, 208 request_irq(MVME147_IRQ_SCCA_STAT, scc_stat_int, IRQF_DISABLED,
209 "SCC-A status", port); 209 "SCC-A status", port);
210 request_irq(MVME147_IRQ_SCCA_RX, scc_rx_int, SA_INTERRUPT, 210 request_irq(MVME147_IRQ_SCCA_RX, scc_rx_int, IRQF_DISABLED,
211 "SCC-A RX", port); 211 "SCC-A RX", port);
212 request_irq(MVME147_IRQ_SCCA_SPCOND, scc_spcond_int, SA_INTERRUPT, 212 request_irq(MVME147_IRQ_SCCA_SPCOND, scc_spcond_int, IRQF_DISABLED,
213 "SCC-A special cond", port); 213 "SCC-A special cond", port);
214 { 214 {
215 SCC_ACCESS_INIT(port); 215 SCC_ACCESS_INIT(port);
@@ -230,13 +230,13 @@ static int mvme147_scc_init(void)
230 port->datap = port->ctrlp + 1; 230 port->datap = port->ctrlp + 1;
231 port->port_a = &scc_ports[0]; 231 port->port_a = &scc_ports[0];
232 port->port_b = &scc_ports[1]; 232 port->port_b = &scc_ports[1];
233 request_irq(MVME147_IRQ_SCCB_TX, scc_tx_int, SA_INTERRUPT, 233 request_irq(MVME147_IRQ_SCCB_TX, scc_tx_int, IRQF_DISABLED,
234 "SCC-B TX", port); 234 "SCC-B TX", port);
235 request_irq(MVME147_IRQ_SCCB_STAT, scc_stat_int, SA_INTERRUPT, 235 request_irq(MVME147_IRQ_SCCB_STAT, scc_stat_int, IRQF_DISABLED,
236 "SCC-B status", port); 236 "SCC-B status", port);
237 request_irq(MVME147_IRQ_SCCB_RX, scc_rx_int, SA_INTERRUPT, 237 request_irq(MVME147_IRQ_SCCB_RX, scc_rx_int, IRQF_DISABLED,
238 "SCC-B RX", port); 238 "SCC-B RX", port);
239 request_irq(MVME147_IRQ_SCCB_SPCOND, scc_spcond_int, SA_INTERRUPT, 239 request_irq(MVME147_IRQ_SCCB_SPCOND, scc_spcond_int, IRQF_DISABLED,
240 "SCC-B special cond", port); 240 "SCC-B special cond", port);
241 { 241 {
242 SCC_ACCESS_INIT(port); 242 SCC_ACCESS_INIT(port);
@@ -273,13 +273,13 @@ static int mvme162_scc_init(void)
273 port->datap = port->ctrlp + 2; 273 port->datap = port->ctrlp + 2;
274 port->port_a = &scc_ports[0]; 274 port->port_a = &scc_ports[0];
275 port->port_b = &scc_ports[1]; 275 port->port_b = &scc_ports[1];
276 request_irq(MVME162_IRQ_SCCA_TX, scc_tx_int, SA_INTERRUPT, 276 request_irq(MVME162_IRQ_SCCA_TX, scc_tx_int, IRQF_DISABLED,
277 "SCC-A TX", port); 277 "SCC-A TX", port);
278 request_irq(MVME162_IRQ_SCCA_STAT, scc_stat_int, SA_INTERRUPT, 278 request_irq(MVME162_IRQ_SCCA_STAT, scc_stat_int, IRQF_DISABLED,
279 "SCC-A status", port); 279 "SCC-A status", port);
280 request_irq(MVME162_IRQ_SCCA_RX, scc_rx_int, SA_INTERRUPT, 280 request_irq(MVME162_IRQ_SCCA_RX, scc_rx_int, IRQF_DISABLED,
281 "SCC-A RX", port); 281 "SCC-A RX", port);
282 request_irq(MVME162_IRQ_SCCA_SPCOND, scc_spcond_int, SA_INTERRUPT, 282 request_irq(MVME162_IRQ_SCCA_SPCOND, scc_spcond_int, IRQF_DISABLED,
283 "SCC-A special cond", port); 283 "SCC-A special cond", port);
284 { 284 {
285 SCC_ACCESS_INIT(port); 285 SCC_ACCESS_INIT(port);
@@ -300,13 +300,13 @@ static int mvme162_scc_init(void)
300 port->datap = port->ctrlp + 2; 300 port->datap = port->ctrlp + 2;
301 port->port_a = &scc_ports[0]; 301 port->port_a = &scc_ports[0];
302 port->port_b = &scc_ports[1]; 302 port->port_b = &scc_ports[1];
303 request_irq(MVME162_IRQ_SCCB_TX, scc_tx_int, SA_INTERRUPT, 303 request_irq(MVME162_IRQ_SCCB_TX, scc_tx_int, IRQF_DISABLED,
304 "SCC-B TX", port); 304 "SCC-B TX", port);
305 request_irq(MVME162_IRQ_SCCB_STAT, scc_stat_int, SA_INTERRUPT, 305 request_irq(MVME162_IRQ_SCCB_STAT, scc_stat_int, IRQF_DISABLED,
306 "SCC-B status", port); 306 "SCC-B status", port);
307 request_irq(MVME162_IRQ_SCCB_RX, scc_rx_int, SA_INTERRUPT, 307 request_irq(MVME162_IRQ_SCCB_RX, scc_rx_int, IRQF_DISABLED,
308 "SCC-B RX", port); 308 "SCC-B RX", port);
309 request_irq(MVME162_IRQ_SCCB_SPCOND, scc_spcond_int, SA_INTERRUPT, 309 request_irq(MVME162_IRQ_SCCB_SPCOND, scc_spcond_int, IRQF_DISABLED,
310 "SCC-B special cond", port); 310 "SCC-B special cond", port);
311 311
312 { 312 {
@@ -341,13 +341,13 @@ static int bvme6000_scc_init(void)
341 port->datap = port->ctrlp + 4; 341 port->datap = port->ctrlp + 4;
342 port->port_a = &scc_ports[0]; 342 port->port_a = &scc_ports[0];
343 port->port_b = &scc_ports[1]; 343 port->port_b = &scc_ports[1];
344 request_irq(BVME_IRQ_SCCA_TX, scc_tx_int, SA_INTERRUPT, 344 request_irq(BVME_IRQ_SCCA_TX, scc_tx_int, IRQF_DISABLED,
345 "SCC-A TX", port); 345 "SCC-A TX", port);
346 request_irq(BVME_IRQ_SCCA_STAT, scc_stat_int, SA_INTERRUPT, 346 request_irq(BVME_IRQ_SCCA_STAT, scc_stat_int, IRQF_DISABLED,
347 "SCC-A status", port); 347 "SCC-A status", port);
348 request_irq(BVME_IRQ_SCCA_RX, scc_rx_int, SA_INTERRUPT, 348 request_irq(BVME_IRQ_SCCA_RX, scc_rx_int, IRQF_DISABLED,
349 "SCC-A RX", port); 349 "SCC-A RX", port);
350 request_irq(BVME_IRQ_SCCA_SPCOND, scc_spcond_int, SA_INTERRUPT, 350 request_irq(BVME_IRQ_SCCA_SPCOND, scc_spcond_int, IRQF_DISABLED,
351 "SCC-A special cond", port); 351 "SCC-A special cond", port);
352 { 352 {
353 SCC_ACCESS_INIT(port); 353 SCC_ACCESS_INIT(port);
@@ -368,13 +368,13 @@ static int bvme6000_scc_init(void)
368 port->datap = port->ctrlp + 4; 368 port->datap = port->ctrlp + 4;
369 port->port_a = &scc_ports[0]; 369 port->port_a = &scc_ports[0];
370 port->port_b = &scc_ports[1]; 370 port->port_b = &scc_ports[1];
371 request_irq(BVME_IRQ_SCCB_TX, scc_tx_int, SA_INTERRUPT, 371 request_irq(BVME_IRQ_SCCB_TX, scc_tx_int, IRQF_DISABLED,
372 "SCC-B TX", port); 372 "SCC-B TX", port);
373 request_irq(BVME_IRQ_SCCB_STAT, scc_stat_int, SA_INTERRUPT, 373 request_irq(BVME_IRQ_SCCB_STAT, scc_stat_int, IRQF_DISABLED,
374 "SCC-B status", port); 374 "SCC-B status", port);
375 request_irq(BVME_IRQ_SCCB_RX, scc_rx_int, SA_INTERRUPT, 375 request_irq(BVME_IRQ_SCCB_RX, scc_rx_int, IRQF_DISABLED,
376 "SCC-B RX", port); 376 "SCC-B RX", port);
377 request_irq(BVME_IRQ_SCCB_SPCOND, scc_spcond_int, SA_INTERRUPT, 377 request_irq(BVME_IRQ_SCCB_SPCOND, scc_spcond_int, IRQF_DISABLED,
378 "SCC-B special cond", port); 378 "SCC-B special cond", port);
379 379
380 { 380 {
diff --git a/drivers/char/watchdog/eurotechwdt.c b/drivers/char/watchdog/eurotechwdt.c
index e89cda010b49..ea670de4fab7 100644
--- a/drivers/char/watchdog/eurotechwdt.c
+++ b/drivers/char/watchdog/eurotechwdt.c
@@ -420,7 +420,7 @@ static int __init eurwdt_init(void)
420 goto out; 420 goto out;
421 } 421 }
422 422
423 ret = request_irq(irq, eurwdt_interrupt, SA_INTERRUPT, "eurwdt", NULL); 423 ret = request_irq(irq, eurwdt_interrupt, IRQF_DISABLED, "eurwdt", NULL);
424 if(ret) { 424 if(ret) {
425 printk(KERN_ERR "eurwdt: IRQ %d is not free.\n", irq); 425 printk(KERN_ERR "eurwdt: IRQ %d is not free.\n", irq);
426 goto outmisc; 426 goto outmisc;
diff --git a/drivers/char/watchdog/mpcore_wdt.c b/drivers/char/watchdog/mpcore_wdt.c
index 9c11d920add5..c2d492c852fc 100644
--- a/drivers/char/watchdog/mpcore_wdt.c
+++ b/drivers/char/watchdog/mpcore_wdt.c
@@ -355,7 +355,7 @@ static int __devinit mpcore_wdt_probe(struct platform_device *dev)
355 goto err_misc; 355 goto err_misc;
356 } 356 }
357 357
358 ret = request_irq(wdt->irq, mpcore_wdt_fire, SA_INTERRUPT, "mpcore_wdt", wdt); 358 ret = request_irq(wdt->irq, mpcore_wdt_fire, IRQF_DISABLED, "mpcore_wdt", wdt);
359 if (ret) { 359 if (ret) {
360 dev_printk(KERN_ERR, _dev, "cannot register IRQ%d for watchdog\n", wdt->irq); 360 dev_printk(KERN_ERR, _dev, "cannot register IRQ%d for watchdog\n", wdt->irq);
361 goto err_irq; 361 goto err_irq;
diff --git a/drivers/char/watchdog/wdt.c b/drivers/char/watchdog/wdt.c
index 2586e9e858e2..a1d972c8f44c 100644
--- a/drivers/char/watchdog/wdt.c
+++ b/drivers/char/watchdog/wdt.c
@@ -580,7 +580,7 @@ static int __init wdt_init(void)
580 goto out; 580 goto out;
581 } 581 }
582 582
583 ret = request_irq(irq, wdt_interrupt, SA_INTERRUPT, "wdt501p", NULL); 583 ret = request_irq(irq, wdt_interrupt, IRQF_DISABLED, "wdt501p", NULL);
584 if(ret) { 584 if(ret) {
585 printk(KERN_ERR "wdt: IRQ %d is not free.\n", irq); 585 printk(KERN_ERR "wdt: IRQ %d is not free.\n", irq);
586 goto outreg; 586 goto outreg;
diff --git a/drivers/char/watchdog/wdt_pci.c b/drivers/char/watchdog/wdt_pci.c
index c79cc9543d96..7529ecdbabae 100644
--- a/drivers/char/watchdog/wdt_pci.c
+++ b/drivers/char/watchdog/wdt_pci.c
@@ -617,7 +617,7 @@ static int __devinit wdtpci_init_one (struct pci_dev *dev,
617 goto out_pci; 617 goto out_pci;
618 } 618 }
619 619
620 if (request_irq (irq, wdtpci_interrupt, SA_INTERRUPT | SA_SHIRQ, 620 if (request_irq (irq, wdtpci_interrupt, IRQF_DISABLED | IRQF_SHARED,
621 "wdt_pci", &wdtpci_miscdev)) { 621 "wdt_pci", &wdtpci_miscdev)) {
622 printk (KERN_ERR PFX "IRQ %d is not free\n", irq); 622 printk (KERN_ERR PFX "IRQ %d is not free\n", irq);
623 goto out_reg; 623 goto out_reg;
diff --git a/drivers/dma/ioatdma.c b/drivers/dma/ioatdma.c
index 2801d14a5e42..ecad8f65d2d4 100644
--- a/drivers/dma/ioatdma.c
+++ b/drivers/dma/ioatdma.c
@@ -739,7 +739,7 @@ static int __devinit ioat_probe(struct pci_dev *pdev,
739 device->msi = 0; 739 device->msi = 0;
740 } 740 }
741#endif 741#endif
742 err = request_irq(pdev->irq, &ioat_do_interrupt, SA_SHIRQ, "ioat", 742 err = request_irq(pdev->irq, &ioat_do_interrupt, IRQF_SHARED, "ioat",
743 device); 743 device);
744 if (err) 744 if (err)
745 goto err_irq; 745 goto err_irq;
diff --git a/drivers/fc4/soc.c b/drivers/fc4/soc.c
index cf8768b8d1f1..3b07e0ca81cd 100644
--- a/drivers/fc4/soc.c
+++ b/drivers/fc4/soc.c
@@ -637,7 +637,7 @@ static inline void soc_init(struct sbus_dev *sdev, int no)
637 637
638 irq = sdev->irqs[0]; 638 irq = sdev->irqs[0];
639 639
640 if (request_irq (irq, soc_intr, SA_SHIRQ, "SOC", (void *)s)) { 640 if (request_irq (irq, soc_intr, IRQF_SHARED, "SOC", (void *)s)) {
641 soc_printk ("Cannot order irq %d to go\n", irq); 641 soc_printk ("Cannot order irq %d to go\n", irq);
642 socs = s->next; 642 socs = s->next;
643 return; 643 return;
diff --git a/drivers/fc4/socal.c b/drivers/fc4/socal.c
index f52d1e5bd5a5..2b75edc5859d 100644
--- a/drivers/fc4/socal.c
+++ b/drivers/fc4/socal.c
@@ -761,7 +761,7 @@ static inline void socal_init(struct sbus_dev *sdev, int no)
761 761
762 irq = sdev->irqs[0]; 762 irq = sdev->irqs[0];
763 763
764 if (request_irq (irq, socal_intr, SA_SHIRQ, "SOCAL", (void *)s)) { 764 if (request_irq (irq, socal_intr, IRQF_SHARED, "SOCAL", (void *)s)) {
765 socal_printk ("Cannot order irq %d to go\n", irq); 765 socal_printk ("Cannot order irq %d to go\n", irq);
766 socals = s->next; 766 socals = s->next;
767 return; 767 return;
diff --git a/drivers/i2c/busses/i2c-mpc.c b/drivers/i2c/busses/i2c-mpc.c
index de93601de178..377ab40944b8 100644
--- a/drivers/i2c/busses/i2c-mpc.c
+++ b/drivers/i2c/busses/i2c-mpc.c
@@ -318,7 +318,7 @@ static int fsl_i2c_probe(struct platform_device *pdev)
318 318
319 if (i2c->irq != 0) 319 if (i2c->irq != 0)
320 if ((result = request_irq(i2c->irq, mpc_i2c_isr, 320 if ((result = request_irq(i2c->irq, mpc_i2c_isr,
321 SA_SHIRQ, "i2c-mpc", i2c)) < 0) { 321 IRQF_SHARED, "i2c-mpc", i2c)) < 0) {
322 printk(KERN_ERR 322 printk(KERN_ERR
323 "i2c-mpc - failed to attach interrupt\n"); 323 "i2c-mpc - failed to attach interrupt\n");
324 goto fail_irq; 324 goto fail_irq;
diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
index 5155010b455e..ee114b48face 100644
--- a/drivers/i2c/busses/i2c-pxa.c
+++ b/drivers/i2c/busses/i2c-pxa.c
@@ -968,7 +968,7 @@ static int i2c_pxa_probe(struct platform_device *dev)
968#endif 968#endif
969 969
970 pxa_set_cken(CKEN14_I2C, 1); 970 pxa_set_cken(CKEN14_I2C, 1);
971 ret = request_irq(IRQ_I2C, i2c_pxa_handler, SA_INTERRUPT, 971 ret = request_irq(IRQ_I2C, i2c_pxa_handler, IRQF_DISABLED,
972 "pxa2xx-i2c", i2c); 972 "pxa2xx-i2c", i2c);
973 if (ret) 973 if (ret)
974 goto out; 974 goto out;
diff --git a/drivers/i2c/busses/i2c-s3c2410.c b/drivers/i2c/busses/i2c-s3c2410.c
index 512b8791c328..5d2950e91fc5 100644
--- a/drivers/i2c/busses/i2c-s3c2410.c
+++ b/drivers/i2c/busses/i2c-s3c2410.c
@@ -828,7 +828,7 @@ static int s3c24xx_i2c_probe(struct platform_device *pdev)
828 goto out; 828 goto out;
829 } 829 }
830 830
831 ret = request_irq(res->start, s3c24xx_i2c_irq, SA_INTERRUPT, 831 ret = request_irq(res->start, s3c24xx_i2c_irq, IRQF_DISABLED,
832 pdev->name, i2c); 832 pdev->name, i2c);
833 833
834 if (ret != 0) { 834 if (ret != 0) {
diff --git a/drivers/i2c/chips/isp1301_omap.c b/drivers/i2c/chips/isp1301_omap.c
index b638ac6e59f4..f92505b94c61 100644
--- a/drivers/i2c/chips/isp1301_omap.c
+++ b/drivers/i2c/chips/isp1301_omap.c
@@ -908,7 +908,7 @@ static int otg_bind(struct isp1301 *isp)
908 908
909 if (otg_dev) 909 if (otg_dev)
910 status = request_irq(otg_dev->resource[1].start, omap_otg_irq, 910 status = request_irq(otg_dev->resource[1].start, omap_otg_irq,
911 SA_INTERRUPT, DRIVER_NAME, isp); 911 IRQF_DISABLED, DRIVER_NAME, isp);
912 else 912 else
913 status = -ENODEV; 913 status = -ENODEV;
914 914
@@ -1578,7 +1578,7 @@ fail1:
1578 } 1578 }
1579 1579
1580 status = request_irq(isp->irq, isp1301_irq, 1580 status = request_irq(isp->irq, isp1301_irq,
1581 SA_SAMPLE_RANDOM, DRIVER_NAME, isp); 1581 IRQF_SAMPLE_RANDOM, DRIVER_NAME, isp);
1582 if (status < 0) { 1582 if (status < 0) {
1583 dev_dbg(&i2c->dev, "can't get IRQ %d, err %d\n", 1583 dev_dbg(&i2c->dev, "can't get IRQ %d, err %d\n",
1584 isp->irq, status); 1584 isp->irq, status);
diff --git a/drivers/i2c/chips/tps65010.c b/drivers/i2c/chips/tps65010.c
index e27ee12245d3..e7e27049fbfa 100644
--- a/drivers/i2c/chips/tps65010.c
+++ b/drivers/i2c/chips/tps65010.c
@@ -521,14 +521,14 @@ tps65010_probe(struct i2c_adapter *bus, int address, int kind)
521 } 521 }
522 522
523#ifdef CONFIG_ARM 523#ifdef CONFIG_ARM
524 irqflags = SA_SAMPLE_RANDOM | SA_TRIGGER_LOW; 524 irqflags = IRQF_SAMPLE_RANDOM | IRQF_TRIGGER_LOW;
525 if (machine_is_omap_h2()) { 525 if (machine_is_omap_h2()) {
526 tps->model = TPS65010; 526 tps->model = TPS65010;
527 omap_cfg_reg(W4_GPIO58); 527 omap_cfg_reg(W4_GPIO58);
528 tps->irq = OMAP_GPIO_IRQ(58); 528 tps->irq = OMAP_GPIO_IRQ(58);
529 omap_request_gpio(58); 529 omap_request_gpio(58);
530 omap_set_gpio_direction(58, 1); 530 omap_set_gpio_direction(58, 1);
531 irqflags |= SA_TRIGGER_FALLING; 531 irqflags |= IRQF_TRIGGER_FALLING;
532 } 532 }
533 if (machine_is_omap_osk()) { 533 if (machine_is_omap_osk()) {
534 tps->model = TPS65010; 534 tps->model = TPS65010;
@@ -536,7 +536,7 @@ tps65010_probe(struct i2c_adapter *bus, int address, int kind)
536 tps->irq = OMAP_GPIO_IRQ(OMAP_MPUIO(1)); 536 tps->irq = OMAP_GPIO_IRQ(OMAP_MPUIO(1));
537 omap_request_gpio(OMAP_MPUIO(1)); 537 omap_request_gpio(OMAP_MPUIO(1));
538 omap_set_gpio_direction(OMAP_MPUIO(1), 1); 538 omap_set_gpio_direction(OMAP_MPUIO(1), 1);
539 irqflags |= SA_TRIGGER_FALLING; 539 irqflags |= IRQF_TRIGGER_FALLING;
540 } 540 }
541 if (machine_is_omap_h3()) { 541 if (machine_is_omap_h3()) {
542 tps->model = TPS65013; 542 tps->model = TPS65013;
@@ -544,7 +544,7 @@ tps65010_probe(struct i2c_adapter *bus, int address, int kind)
544 // FIXME set up this board's IRQ ... 544 // FIXME set up this board's IRQ ...
545 } 545 }
546#else 546#else
547 irqflags = SA_SAMPLE_RANDOM; 547 irqflags = IRQF_SAMPLE_RANDOM;
548#endif 548#endif
549 549
550 if (tps->irq > 0) { 550 if (tps->irq > 0) {
diff --git a/drivers/ide/ide-probe.c b/drivers/ide/ide-probe.c
index c5f71ac28d14..9cadf0106c6c 100644
--- a/drivers/ide/ide-probe.c
+++ b/drivers/ide/ide-probe.c
@@ -1004,7 +1004,7 @@ static int ide_init_queue(ide_drive_t *drive)
1004 * and irq serialization situations. This is somewhat complex because 1004 * and irq serialization situations. This is somewhat complex because
1005 * it handles static as well as dynamic (PCMCIA) IDE interfaces. 1005 * it handles static as well as dynamic (PCMCIA) IDE interfaces.
1006 * 1006 *
1007 * The SA_INTERRUPT in sa_flags means ide_intr() is always entered with 1007 * The IRQF_DISABLED in sa_flags means ide_intr() is always entered with
1008 * interrupts completely disabled. This can be bad for interrupt latency, 1008 * interrupts completely disabled. This can be bad for interrupt latency,
1009 * but anything else has led to problems on some machines. We re-enable 1009 * but anything else has led to problems on some machines. We re-enable
1010 * interrupts as much as we can safely do in most places. 1010 * interrupts as much as we can safely do in most places.
@@ -1090,15 +1090,15 @@ static int init_irq (ide_hwif_t *hwif)
1090 * Allocate the irq, if not already obtained for another hwif 1090 * Allocate the irq, if not already obtained for another hwif
1091 */ 1091 */
1092 if (!match || match->irq != hwif->irq) { 1092 if (!match || match->irq != hwif->irq) {
1093 int sa = SA_INTERRUPT; 1093 int sa = IRQF_DISABLED;
1094#if defined(__mc68000__) || defined(CONFIG_APUS) 1094#if defined(__mc68000__) || defined(CONFIG_APUS)
1095 sa = SA_SHIRQ; 1095 sa = IRQF_SHARED;
1096#endif /* __mc68000__ || CONFIG_APUS */ 1096#endif /* __mc68000__ || CONFIG_APUS */
1097 1097
1098 if (IDE_CHIPSET_IS_PCI(hwif->chipset)) { 1098 if (IDE_CHIPSET_IS_PCI(hwif->chipset)) {
1099 sa = SA_SHIRQ; 1099 sa = IRQF_SHARED;
1100#ifndef CONFIG_IDEPCI_SHARE_IRQ 1100#ifndef CONFIG_IDEPCI_SHARE_IRQ
1101 sa |= SA_INTERRUPT; 1101 sa |= IRQF_DISABLED;
1102#endif /* CONFIG_IDEPCI_SHARE_IRQ */ 1102#endif /* CONFIG_IDEPCI_SHARE_IRQ */
1103 } 1103 }
1104 1104
diff --git a/drivers/ide/legacy/hd.c b/drivers/ide/legacy/hd.c
index 6439dec66881..aebecd8f51cc 100644
--- a/drivers/ide/legacy/hd.c
+++ b/drivers/ide/legacy/hd.c
@@ -691,7 +691,7 @@ static struct block_device_operations hd_fops = {
691}; 691};
692 692
693/* 693/*
694 * This is the hard disk IRQ description. The SA_INTERRUPT in sa_flags 694 * This is the hard disk IRQ description. The IRQF_DISABLED in sa_flags
695 * means we run the IRQ-handler with interrupts disabled: this is bad for 695 * means we run the IRQ-handler with interrupts disabled: this is bad for
696 * interrupt latency, but anything else has led to problems on some 696 * interrupt latency, but anything else has led to problems on some
697 * machines. 697 * machines.
@@ -806,7 +806,7 @@ static int __init hd_init(void)
806 p->cyl, p->head, p->sect); 806 p->cyl, p->head, p->sect);
807 } 807 }
808 808
809 if (request_irq(HD_IRQ, hd_interrupt, SA_INTERRUPT, "hd", NULL)) { 809 if (request_irq(HD_IRQ, hd_interrupt, IRQF_DISABLED, "hd", NULL)) {
810 printk("hd: unable to get IRQ%d for the hard disk driver\n", 810 printk("hd: unable to get IRQ%d for the hard disk driver\n",
811 HD_IRQ); 811 HD_IRQ);
812 goto out1; 812 goto out1;
diff --git a/drivers/ieee1394/ohci1394.c b/drivers/ieee1394/ohci1394.c
index 8de81ecd3ba6..d4bad6704bbe 100644
--- a/drivers/ieee1394/ohci1394.c
+++ b/drivers/ieee1394/ohci1394.c
@@ -3392,12 +3392,12 @@ static int __devinit ohci1394_pci_probe(struct pci_dev *dev,
3392 spin_lock_init(&ohci->event_lock); 3392 spin_lock_init(&ohci->event_lock);
3393 3393
3394 /* 3394 /*
3395 * interrupts are disabled, all right, but... due to SA_SHIRQ we 3395 * interrupts are disabled, all right, but... due to IRQF_SHARED we
3396 * might get called anyway. We'll see no event, of course, but 3396 * might get called anyway. We'll see no event, of course, but
3397 * we need to get to that "no event", so enough should be initialized 3397 * we need to get to that "no event", so enough should be initialized
3398 * by that point. 3398 * by that point.
3399 */ 3399 */
3400 if (request_irq(dev->irq, ohci_irq_handler, SA_SHIRQ, 3400 if (request_irq(dev->irq, ohci_irq_handler, IRQF_SHARED,
3401 OHCI1394_DRIVER_NAME, ohci)) 3401 OHCI1394_DRIVER_NAME, ohci))
3402 FAIL(-ENOMEM, "Failed to allocate shared interrupt %d", dev->irq); 3402 FAIL(-ENOMEM, "Failed to allocate shared interrupt %d", dev->irq);
3403 3403
diff --git a/drivers/ieee1394/pcilynx.c b/drivers/ieee1394/pcilynx.c
index 5b48f6ac5c7f..e6f41238f5e8 100644
--- a/drivers/ieee1394/pcilynx.c
+++ b/drivers/ieee1394/pcilynx.c
@@ -1253,7 +1253,7 @@ static int __devinit add_card(struct pci_dev *dev,
1253 1253
1254 sprintf (irq_buf, "%d", dev->irq); 1254 sprintf (irq_buf, "%d", dev->irq);
1255 1255
1256 if (!request_irq(dev->irq, lynx_irq_handler, SA_SHIRQ, 1256 if (!request_irq(dev->irq, lynx_irq_handler, IRQF_SHARED,
1257 PCILYNX_DRIVER_NAME, lynx)) { 1257 PCILYNX_DRIVER_NAME, lynx)) {
1258 PRINT(KERN_INFO, lynx->id, "allocated interrupt %s", irq_buf); 1258 PRINT(KERN_INFO, lynx->id, "allocated interrupt %s", irq_buf);
1259 lynx->state = have_intr; 1259 lynx->state = have_intr;
diff --git a/drivers/infiniband/hw/ipath/ipath_driver.c b/drivers/infiniband/hw/ipath/ipath_driver.c
index 6efc56bce921..823131d58b34 100644
--- a/drivers/infiniband/hw/ipath/ipath_driver.c
+++ b/drivers/infiniband/hw/ipath/ipath_driver.c
@@ -468,7 +468,7 @@ static int __devinit ipath_init_one(struct pci_dev *pdev,
468 "continuing anyway\n"); 468 "continuing anyway\n");
469 469
470 /* 470 /*
471 * set up our interrupt handler; SA_SHIRQ probably not needed, 471 * set up our interrupt handler; IRQF_SHARED probably not needed,
472 * since MSI interrupts shouldn't be shared but won't hurt for now. 472 * since MSI interrupts shouldn't be shared but won't hurt for now.
473 * check 0 irq after we return from chip-specific bus setup, since 473 * check 0 irq after we return from chip-specific bus setup, since
474 * that can affect this due to setup 474 * that can affect this due to setup
@@ -477,7 +477,7 @@ static int __devinit ipath_init_one(struct pci_dev *pdev,
477 ipath_dev_err(dd, "irq is 0, BIOS error? Interrupts won't " 477 ipath_dev_err(dd, "irq is 0, BIOS error? Interrupts won't "
478 "work\n"); 478 "work\n");
479 else { 479 else {
480 ret = request_irq(pdev->irq, ipath_intr, SA_SHIRQ, 480 ret = request_irq(pdev->irq, ipath_intr, IRQF_SHARED,
481 IPATH_DRV_NAME, dd); 481 IPATH_DRV_NAME, dd);
482 if (ret) { 482 if (ret) {
483 ipath_dev_err(dd, "Couldn't setup irq handler, " 483 ipath_dev_err(dd, "Couldn't setup irq handler, "
diff --git a/drivers/infiniband/hw/mthca/mthca_eq.c b/drivers/infiniband/hw/mthca/mthca_eq.c
index d536217e700e..a29b1b6d82b1 100644
--- a/drivers/infiniband/hw/mthca/mthca_eq.c
+++ b/drivers/infiniband/hw/mthca/mthca_eq.c
@@ -900,7 +900,7 @@ int __devinit mthca_init_eq_table(struct mthca_dev *dev)
900 mthca_is_memfree(dev) ? 900 mthca_is_memfree(dev) ?
901 mthca_arbel_interrupt : 901 mthca_arbel_interrupt :
902 mthca_tavor_interrupt, 902 mthca_tavor_interrupt,
903 SA_SHIRQ, DRV_NAME, dev); 903 IRQF_SHARED, DRV_NAME, dev);
904 if (err) 904 if (err)
905 goto err_out_cmd; 905 goto err_out_cmd;
906 dev->eq_table.have_irq = 1; 906 dev->eq_table.have_irq = 1;
diff --git a/drivers/input/keyboard/corgikbd.c b/drivers/input/keyboard/corgikbd.c
index 1f0e720267d7..1e03153b9bca 100644
--- a/drivers/input/keyboard/corgikbd.c
+++ b/drivers/input/keyboard/corgikbd.c
@@ -352,7 +352,7 @@ static int __init corgikbd_probe(struct platform_device *pdev)
352 for (i = 0; i < CORGI_KEY_SENSE_NUM; i++) { 352 for (i = 0; i < CORGI_KEY_SENSE_NUM; i++) {
353 pxa_gpio_mode(CORGI_GPIO_KEY_SENSE(i) | GPIO_IN); 353 pxa_gpio_mode(CORGI_GPIO_KEY_SENSE(i) | GPIO_IN);
354 if (request_irq(CORGI_IRQ_GPIO_KEY_SENSE(i), corgikbd_interrupt, 354 if (request_irq(CORGI_IRQ_GPIO_KEY_SENSE(i), corgikbd_interrupt,
355 SA_INTERRUPT | SA_TRIGGER_RISING, 355 IRQF_DISABLED | IRQF_TRIGGER_RISING,
356 "corgikbd", corgikbd)) 356 "corgikbd", corgikbd))
357 printk(KERN_WARNING "corgikbd: Can't get IRQ: %d!\n", i); 357 printk(KERN_WARNING "corgikbd: Can't get IRQ: %d!\n", i);
358 } 358 }
diff --git a/drivers/input/keyboard/spitzkbd.c b/drivers/input/keyboard/spitzkbd.c
index c5d03fb77bcb..e385710233f4 100644
--- a/drivers/input/keyboard/spitzkbd.c
+++ b/drivers/input/keyboard/spitzkbd.c
@@ -410,7 +410,7 @@ static int __init spitzkbd_probe(struct platform_device *dev)
410 for (i = 0; i < SPITZ_KEY_SENSE_NUM; i++) { 410 for (i = 0; i < SPITZ_KEY_SENSE_NUM; i++) {
411 pxa_gpio_mode(spitz_senses[i] | GPIO_IN); 411 pxa_gpio_mode(spitz_senses[i] | GPIO_IN);
412 if (request_irq(IRQ_GPIO(spitz_senses[i]), spitzkbd_interrupt, 412 if (request_irq(IRQ_GPIO(spitz_senses[i]), spitzkbd_interrupt,
413 SA_INTERRUPT|SA_TRIGGER_RISING, 413 IRQF_DISABLED|IRQF_TRIGGER_RISING,
414 "Spitzkbd Sense", spitzkbd)) 414 "Spitzkbd Sense", spitzkbd))
415 printk(KERN_WARNING "spitzkbd: Can't get Sense IRQ: %d!\n", i); 415 printk(KERN_WARNING "spitzkbd: Can't get Sense IRQ: %d!\n", i);
416 } 416 }
@@ -425,19 +425,19 @@ static int __init spitzkbd_probe(struct platform_device *dev)
425 pxa_gpio_mode(SPITZ_GPIO_SWB | GPIO_IN); 425 pxa_gpio_mode(SPITZ_GPIO_SWB | GPIO_IN);
426 426
427 request_irq(SPITZ_IRQ_GPIO_SYNC, spitzkbd_interrupt, 427 request_irq(SPITZ_IRQ_GPIO_SYNC, spitzkbd_interrupt,
428 SA_INTERRUPT | SA_TRIGGER_RISING | SA_TRIGGER_FALLING, 428 IRQF_DISABLED | IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,
429 "Spitzkbd Sync", spitzkbd); 429 "Spitzkbd Sync", spitzkbd);
430 request_irq(SPITZ_IRQ_GPIO_ON_KEY, spitzkbd_interrupt, 430 request_irq(SPITZ_IRQ_GPIO_ON_KEY, spitzkbd_interrupt,
431 SA_INTERRUPT | SA_TRIGGER_RISING | SA_TRIGGER_FALLING, 431 IRQF_DISABLED | IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,
432 "Spitzkbd PwrOn", spitzkbd); 432 "Spitzkbd PwrOn", spitzkbd);
433 request_irq(SPITZ_IRQ_GPIO_SWA, spitzkbd_hinge_isr, 433 request_irq(SPITZ_IRQ_GPIO_SWA, spitzkbd_hinge_isr,
434 SA_INTERRUPT | SA_TRIGGER_RISING | SA_TRIGGER_FALLING, 434 IRQF_DISABLED | IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,
435 "Spitzkbd SWA", spitzkbd); 435 "Spitzkbd SWA", spitzkbd);
436 request_irq(SPITZ_IRQ_GPIO_SWB, spitzkbd_hinge_isr, 436 request_irq(SPITZ_IRQ_GPIO_SWB, spitzkbd_hinge_isr,
437 SA_INTERRUPT | SA_TRIGGER_RISING | SA_TRIGGER_FALLING, 437 IRQF_DISABLED | IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,
438 "Spitzkbd SWB", spitzkbd); 438 "Spitzkbd SWB", spitzkbd);
439 request_irq(SPITZ_IRQ_GPIO_AK_INT, spitzkbd_hinge_isr, 439 request_irq(SPITZ_IRQ_GPIO_AK_INT, spitzkbd_hinge_isr,
440 SA_INTERRUPT | SA_TRIGGER_RISING | SA_TRIGGER_FALLING, 440 IRQF_DISABLED | IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,
441 "Spitzkbd HP", spitzkbd); 441 "Spitzkbd HP", spitzkbd);
442 442
443 printk(KERN_INFO "input: Spitz Keyboard Registered\n"); 443 printk(KERN_INFO "input: Spitz Keyboard Registered\n");
diff --git a/drivers/input/misc/ixp4xx-beeper.c b/drivers/input/misc/ixp4xx-beeper.c
index 3a6ae85cd69c..805b636e73d9 100644
--- a/drivers/input/misc/ixp4xx-beeper.c
+++ b/drivers/input/misc/ixp4xx-beeper.c
@@ -113,7 +113,7 @@ static int __devinit ixp4xx_spkr_probe(struct platform_device *dev)
113 input_dev->event = ixp4xx_spkr_event; 113 input_dev->event = ixp4xx_spkr_event;
114 114
115 err = request_irq(IRQ_IXP4XX_TIMER2, &ixp4xx_spkr_interrupt, 115 err = request_irq(IRQ_IXP4XX_TIMER2, &ixp4xx_spkr_interrupt,
116 SA_INTERRUPT | SA_TIMER, "ixp4xx-beeper", (void *) dev->id); 116 IRQF_DISABLED | IRQF_TIMER, "ixp4xx-beeper", (void *) dev->id);
117 if (err) 117 if (err)
118 goto err_free_device; 118 goto err_free_device;
119 119
diff --git a/drivers/input/mouse/rpcmouse.c b/drivers/input/mouse/rpcmouse.c
index 09b6ffdb7582..872b30bf7aad 100644
--- a/drivers/input/mouse/rpcmouse.c
+++ b/drivers/input/mouse/rpcmouse.c
@@ -85,7 +85,7 @@ static int __init rpcmouse_init(void)
85 rpcmouse_lastx = (short) iomd_readl(IOMD_MOUSEX); 85 rpcmouse_lastx = (short) iomd_readl(IOMD_MOUSEX);
86 rpcmouse_lasty = (short) iomd_readl(IOMD_MOUSEY); 86 rpcmouse_lasty = (short) iomd_readl(IOMD_MOUSEY);
87 87
88 if (request_irq(IRQ_VSYNCPULSE, rpcmouse_irq, SA_SHIRQ, "rpcmouse", rpcmouse_dev)) { 88 if (request_irq(IRQ_VSYNCPULSE, rpcmouse_irq, IRQF_SHARED, "rpcmouse", rpcmouse_dev)) {
89 printk(KERN_ERR "rpcmouse: unable to allocate VSYNC interrupt\n"); 89 printk(KERN_ERR "rpcmouse: unable to allocate VSYNC interrupt\n");
90 input_free_device(rpcmouse_dev); 90 input_free_device(rpcmouse_dev);
91 return -EBUSY; 91 return -EBUSY;
diff --git a/drivers/input/serio/gscps2.c b/drivers/input/serio/gscps2.c
index 22d02d53eb16..cde036a92168 100644
--- a/drivers/input/serio/gscps2.c
+++ b/drivers/input/serio/gscps2.c
@@ -370,7 +370,7 @@ static int __init gscps2_probe(struct parisc_device *dev)
370 serio->dev.parent = &dev->dev; 370 serio->dev.parent = &dev->dev;
371 371
372 ret = -EBUSY; 372 ret = -EBUSY;
373 if (request_irq(dev->irq, gscps2_interrupt, SA_SHIRQ, ps2port->port->name, ps2port)) 373 if (request_irq(dev->irq, gscps2_interrupt, IRQF_SHARED, ps2port->port->name, ps2port))
374 goto fail_miserably; 374 goto fail_miserably;
375 375
376 if (ps2port->id != GSC_ID_KEYBOARD && ps2port->id != GSC_ID_MOUSE) { 376 if (ps2port->id != GSC_ID_KEYBOARD && ps2port->id != GSC_ID_MOUSE) {
diff --git a/drivers/input/serio/i8042.c b/drivers/input/serio/i8042.c
index 7fa4bc222583..06a3f25657dd 100644
--- a/drivers/input/serio/i8042.c
+++ b/drivers/input/serio/i8042.c
@@ -328,7 +328,7 @@ static int i8042_open(struct serio *serio)
328 return 0; 328 return 0;
329 329
330 if (request_irq(port->irq, i8042_interrupt, 330 if (request_irq(port->irq, i8042_interrupt,
331 SA_SHIRQ, "i8042", i8042_request_irq_cookie)) { 331 IRQF_SHARED, "i8042", i8042_request_irq_cookie)) {
332 printk(KERN_ERR "i8042.c: Can't get irq %d for %s, unregistering the port.\n", port->irq, port->name); 332 printk(KERN_ERR "i8042.c: Can't get irq %d for %s, unregistering the port.\n", port->irq, port->name);
333 goto irq_fail; 333 goto irq_fail;
334 } 334 }
@@ -610,7 +610,7 @@ static int __devinit i8042_check_aux(void)
610 */ 610 */
611 611
612 if (request_irq(i8042_ports[I8042_AUX_PORT_NO].irq, i8042_interrupt, 612 if (request_irq(i8042_ports[I8042_AUX_PORT_NO].irq, i8042_interrupt,
613 SA_SHIRQ, "i8042", &i8042_check_aux_cookie)) 613 IRQF_SHARED, "i8042", &i8042_check_aux_cookie))
614 return -1; 614 return -1;
615 free_irq(i8042_ports[I8042_AUX_PORT_NO].irq, &i8042_check_aux_cookie); 615 free_irq(i8042_ports[I8042_AUX_PORT_NO].irq, &i8042_check_aux_cookie);
616 616
diff --git a/drivers/input/serio/pcips2.c b/drivers/input/serio/pcips2.c
index 1e139c5e59de..fb727c665253 100644
--- a/drivers/input/serio/pcips2.c
+++ b/drivers/input/serio/pcips2.c
@@ -107,7 +107,7 @@ static int pcips2_open(struct serio *io)
107 outb(PS2_CTRL_ENABLE, ps2if->base); 107 outb(PS2_CTRL_ENABLE, ps2if->base);
108 pcips2_flush_input(ps2if); 108 pcips2_flush_input(ps2if);
109 109
110 ret = request_irq(ps2if->dev->irq, pcips2_interrupt, SA_SHIRQ, 110 ret = request_irq(ps2if->dev->irq, pcips2_interrupt, IRQF_SHARED,
111 "pcips2", ps2if); 111 "pcips2", ps2if);
112 if (ret == 0) 112 if (ret == 0)
113 val = PS2_CTRL_ENABLE | PS2_CTRL_RXIRQ; 113 val = PS2_CTRL_ENABLE | PS2_CTRL_RXIRQ;
diff --git a/drivers/input/touchscreen/ads7846.c b/drivers/input/touchscreen/ads7846.c
index 386023c594d7..66e411badf70 100644
--- a/drivers/input/touchscreen/ads7846.c
+++ b/drivers/input/touchscreen/ads7846.c
@@ -773,7 +773,7 @@ static int __devinit ads7846_probe(struct spi_device *spi)
773 773
774 ts->last_msg = m; 774 ts->last_msg = m;
775 775
776 if (request_irq(spi->irq, ads7846_irq, SA_TRIGGER_FALLING, 776 if (request_irq(spi->irq, ads7846_irq, IRQF_TRIGGER_FALLING,
777 spi->dev.driver->name, ts)) { 777 spi->dev.driver->name, ts)) {
778 dev_dbg(&spi->dev, "irq %d busy?\n", spi->irq); 778 dev_dbg(&spi->dev, "irq %d busy?\n", spi->irq);
779 err = -EBUSY; 779 err = -EBUSY;
diff --git a/drivers/input/touchscreen/corgi_ts.c b/drivers/input/touchscreen/corgi_ts.c
index 5013703db0e6..9b66271d3ba8 100644
--- a/drivers/input/touchscreen/corgi_ts.c
+++ b/drivers/input/touchscreen/corgi_ts.c
@@ -17,7 +17,7 @@
17#include <linux/interrupt.h> 17#include <linux/interrupt.h>
18#include <linux/module.h> 18#include <linux/module.h>
19#include <linux/slab.h> 19#include <linux/slab.h>
20//#include <asm/irq.h> 20#include <linux/irq.h>
21 21
22#include <asm/arch/sharpsl.h> 22#include <asm/arch/sharpsl.h>
23#include <asm/arch/hardware.h> 23#include <asm/arch/hardware.h>
@@ -318,7 +318,7 @@ static int __init corgits_probe(struct platform_device *pdev)
318 corgi_ssp_ads7846_putget((5u << ADSCTRL_ADR_SH) | ADSCTRL_STS); 318 corgi_ssp_ads7846_putget((5u << ADSCTRL_ADR_SH) | ADSCTRL_STS);
319 mdelay(5); 319 mdelay(5);
320 320
321 if (request_irq(corgi_ts->irq_gpio, ts_interrupt, SA_INTERRUPT, "ts", corgi_ts)) { 321 if (request_irq(corgi_ts->irq_gpio, ts_interrupt, IRQF_DISABLED, "ts", corgi_ts)) {
322 err = -EBUSY; 322 err = -EBUSY;
323 goto fail; 323 goto fail;
324 } 324 }
diff --git a/drivers/input/touchscreen/h3600_ts_input.c b/drivers/input/touchscreen/h3600_ts_input.c
index 2de2139f2fed..e2b910018773 100644
--- a/drivers/input/touchscreen/h3600_ts_input.c
+++ b/drivers/input/touchscreen/h3600_ts_input.c
@@ -399,14 +399,14 @@ static int h3600ts_connect(struct serio *serio, struct serio_driver *drv)
399 set_GPIO_IRQ_edge(GPIO_BITSY_NPOWER_BUTTON, GPIO_RISING_EDGE); 399 set_GPIO_IRQ_edge(GPIO_BITSY_NPOWER_BUTTON, GPIO_RISING_EDGE);
400 400
401 if (request_irq(IRQ_GPIO_BITSY_ACTION_BUTTON, action_button_handler, 401 if (request_irq(IRQ_GPIO_BITSY_ACTION_BUTTON, action_button_handler,
402 SA_SHIRQ | SA_INTERRUPT, "h3600_action", &ts->dev)) { 402 IRQF_SHARED | IRQF_DISABLED, "h3600_action", &ts->dev)) {
403 printk(KERN_ERR "h3600ts.c: Could not allocate Action Button IRQ!\n"); 403 printk(KERN_ERR "h3600ts.c: Could not allocate Action Button IRQ!\n");
404 err = -EBUSY; 404 err = -EBUSY;
405 goto fail2; 405 goto fail2;
406 } 406 }
407 407
408 if (request_irq(IRQ_GPIO_BITSY_NPOWER_BUTTON, npower_button_handler, 408 if (request_irq(IRQ_GPIO_BITSY_NPOWER_BUTTON, npower_button_handler,
409 SA_SHIRQ | SA_INTERRUPT, "h3600_suspend", &ts->dev)) { 409 IRQF_SHARED | IRQF_DISABLED, "h3600_suspend", &ts->dev)) {
410 printk(KERN_ERR "h3600ts.c: Could not allocate Power Button IRQ!\n"); 410 printk(KERN_ERR "h3600ts.c: Could not allocate Power Button IRQ!\n");
411 err = -EBUSY; 411 err = -EBUSY;
412 goto fail3; 412 goto fail3;
diff --git a/drivers/input/touchscreen/hp680_ts_input.c b/drivers/input/touchscreen/hp680_ts_input.c
index 957dd5a1b15e..fa97e0f79e7e 100644
--- a/drivers/input/touchscreen/hp680_ts_input.c
+++ b/drivers/input/touchscreen/hp680_ts_input.c
@@ -109,7 +109,7 @@ static int __init hp680_ts_init(void)
109 input_register_device(hp680_ts_dev); 109 input_register_device(hp680_ts_dev);
110 110
111 if (request_irq(HP680_TS_IRQ, hp680_ts_interrupt, 111 if (request_irq(HP680_TS_IRQ, hp680_ts_interrupt,
112 SA_INTERRUPT, MODNAME, 0) < 0) { 112 IRQF_DISABLED, MODNAME, 0) < 0) {
113 printk(KERN_ERR "hp680_touchscreen.c: Can't allocate irq %d\n", 113 printk(KERN_ERR "hp680_touchscreen.c: Can't allocate irq %d\n",
114 HP680_TS_IRQ); 114 HP680_TS_IRQ);
115 input_unregister_device(hp680_ts_dev); 115 input_unregister_device(hp680_ts_dev);
diff --git a/drivers/isdn/hardware/avm/b1pci.c b/drivers/isdn/hardware/avm/b1pci.c
index 7edf19b32299..90e2e6643d19 100644
--- a/drivers/isdn/hardware/avm/b1pci.c
+++ b/drivers/isdn/hardware/avm/b1pci.c
@@ -97,7 +97,7 @@ static int b1pci_probe(struct capicardparams *p, struct pci_dev *pdev)
97 b1_reset(card->port); 97 b1_reset(card->port);
98 b1_getrevision(card); 98 b1_getrevision(card);
99 99
100 retval = request_irq(card->irq, b1_interrupt, SA_SHIRQ, card->name, card); 100 retval = request_irq(card->irq, b1_interrupt, IRQF_SHARED, card->name, card);
101 if (retval) { 101 if (retval) {
102 printk(KERN_ERR "b1pci: unable to get IRQ %d.\n", card->irq); 102 printk(KERN_ERR "b1pci: unable to get IRQ %d.\n", card->irq);
103 retval = -EBUSY; 103 retval = -EBUSY;
@@ -234,7 +234,7 @@ static int b1pciv4_probe(struct capicardparams *p, struct pci_dev *pdev)
234 b1dma_reset(card); 234 b1dma_reset(card);
235 b1_getrevision(card); 235 b1_getrevision(card);
236 236
237 retval = request_irq(card->irq, b1dma_interrupt, SA_SHIRQ, card->name, card); 237 retval = request_irq(card->irq, b1dma_interrupt, IRQF_SHARED, card->name, card);
238 if (retval) { 238 if (retval) {
239 printk(KERN_ERR "b1pci: unable to get IRQ %d.\n", 239 printk(KERN_ERR "b1pci: unable to get IRQ %d.\n",
240 card->irq); 240 card->irq);
diff --git a/drivers/isdn/hardware/avm/b1pcmcia.c b/drivers/isdn/hardware/avm/b1pcmcia.c
index ad5025155b4e..e479c0aef38d 100644
--- a/drivers/isdn/hardware/avm/b1pcmcia.c
+++ b/drivers/isdn/hardware/avm/b1pcmcia.c
@@ -82,7 +82,7 @@ static int b1pcmcia_add_card(unsigned int port, unsigned irq,
82 card->irq = irq; 82 card->irq = irq;
83 card->cardtype = cardtype; 83 card->cardtype = cardtype;
84 84
85 retval = request_irq(card->irq, b1_interrupt, SA_SHIRQ, card->name, card); 85 retval = request_irq(card->irq, b1_interrupt, IRQF_SHARED, card->name, card);
86 if (retval) { 86 if (retval) {
87 printk(KERN_ERR "b1pcmcia: unable to get IRQ %d.\n", 87 printk(KERN_ERR "b1pcmcia: unable to get IRQ %d.\n",
88 card->irq); 88 card->irq);
diff --git a/drivers/isdn/hardware/avm/c4.c b/drivers/isdn/hardware/avm/c4.c
index e7924a545d49..6c3d5f5f1f4b 100644
--- a/drivers/isdn/hardware/avm/c4.c
+++ b/drivers/isdn/hardware/avm/c4.c
@@ -1172,7 +1172,7 @@ static int c4_add_card(struct capicardparams *p, struct pci_dev *dev,
1172 } 1172 }
1173 c4_reset(card); 1173 c4_reset(card);
1174 1174
1175 retval = request_irq(card->irq, c4_interrupt, SA_SHIRQ, card->name, card); 1175 retval = request_irq(card->irq, c4_interrupt, IRQF_SHARED, card->name, card);
1176 if (retval) { 1176 if (retval) {
1177 printk(KERN_ERR "c4: unable to get IRQ %d.\n",card->irq); 1177 printk(KERN_ERR "c4: unable to get IRQ %d.\n",card->irq);
1178 retval = -EBUSY; 1178 retval = -EBUSY;
diff --git a/drivers/isdn/hardware/avm/t1pci.c b/drivers/isdn/hardware/avm/t1pci.c
index af85511600d0..d1e253c94db4 100644
--- a/drivers/isdn/hardware/avm/t1pci.c
+++ b/drivers/isdn/hardware/avm/t1pci.c
@@ -103,7 +103,7 @@ static int t1pci_add_card(struct capicardparams *p, struct pci_dev *pdev)
103 } 103 }
104 b1dma_reset(card); 104 b1dma_reset(card);
105 105
106 retval = request_irq(card->irq, b1dma_interrupt, SA_SHIRQ, card->name, card); 106 retval = request_irq(card->irq, b1dma_interrupt, IRQF_SHARED, card->name, card);
107 if (retval) { 107 if (retval) {
108 printk(KERN_ERR "t1pci: unable to get IRQ %d.\n", card->irq); 108 printk(KERN_ERR "t1pci: unable to get IRQ %d.\n", card->irq);
109 retval = -EBUSY; 109 retval = -EBUSY;
diff --git a/drivers/isdn/hardware/eicon/divasmain.c b/drivers/isdn/hardware/eicon/divasmain.c
index b05e35f7ccb1..b7dadba13e82 100644
--- a/drivers/isdn/hardware/eicon/divasmain.c
+++ b/drivers/isdn/hardware/eicon/divasmain.c
@@ -486,7 +486,7 @@ void __inline__ outpp(void __iomem *addr, word p)
486int diva_os_register_irq(void *context, byte irq, const char *name) 486int diva_os_register_irq(void *context, byte irq, const char *name)
487{ 487{
488 int result = request_irq(irq, diva_os_irq_wrapper, 488 int result = request_irq(irq, diva_os_irq_wrapper,
489 SA_INTERRUPT | SA_SHIRQ, name, context); 489 IRQF_DISABLED | IRQF_SHARED, name, context);
490 return (result); 490 return (result);
491} 491}
492 492
diff --git a/drivers/isdn/hisax/avm_a1p.c b/drivers/isdn/hisax/avm_a1p.c
index d643bb32ad09..574e252dfa43 100644
--- a/drivers/isdn/hisax/avm_a1p.c
+++ b/drivers/isdn/hisax/avm_a1p.c
@@ -255,7 +255,7 @@ setup_avm_a1_pcmcia(struct IsdnCard *card)
255 cs->BC_Write_Reg = &WriteHSCX; 255 cs->BC_Write_Reg = &WriteHSCX;
256 cs->BC_Send_Data = &hscx_fill_fifo; 256 cs->BC_Send_Data = &hscx_fill_fifo;
257 cs->cardmsg = &AVM_card_msg; 257 cs->cardmsg = &AVM_card_msg;
258 cs->irq_flags = SA_SHIRQ; 258 cs->irq_flags = IRQF_SHARED;
259 cs->irq_func = &avm_a1p_interrupt; 259 cs->irq_func = &avm_a1p_interrupt;
260 260
261 ISACVersion(cs, "AVM A1 PCMCIA:"); 261 ISACVersion(cs, "AVM A1 PCMCIA:");
diff --git a/drivers/isdn/hisax/avm_pci.c b/drivers/isdn/hisax/avm_pci.c
index 93f3a5343a74..04f5917bf5a1 100644
--- a/drivers/isdn/hisax/avm_pci.c
+++ b/drivers/isdn/hisax/avm_pci.c
@@ -808,7 +808,7 @@ setup_avm_pcipnp(struct IsdnCard *card)
808 printk(KERN_WARNING "FritzPCI: No PCI card found\n"); 808 printk(KERN_WARNING "FritzPCI: No PCI card found\n");
809 return(0); 809 return(0);
810 } 810 }
811 cs->irq_flags |= SA_SHIRQ; 811 cs->irq_flags |= IRQF_SHARED;
812#else 812#else
813 printk(KERN_WARNING "FritzPCI: NO_PCI_BIOS\n"); 813 printk(KERN_WARNING "FritzPCI: NO_PCI_BIOS\n");
814 return (0); 814 return (0);
diff --git a/drivers/isdn/hisax/bkm_a4t.c b/drivers/isdn/hisax/bkm_a4t.c
index de28cb54817d..3cf1f2421789 100644
--- a/drivers/isdn/hisax/bkm_a4t.c
+++ b/drivers/isdn/hisax/bkm_a4t.c
@@ -335,7 +335,7 @@ setup_bkm_a4t(struct IsdnCard *card)
335 cs->BC_Send_Data = &jade_fill_fifo; 335 cs->BC_Send_Data = &jade_fill_fifo;
336 cs->cardmsg = &BKM_card_msg; 336 cs->cardmsg = &BKM_card_msg;
337 cs->irq_func = &bkm_interrupt; 337 cs->irq_func = &bkm_interrupt;
338 cs->irq_flags |= SA_SHIRQ; 338 cs->irq_flags |= IRQF_SHARED;
339 ISACVersion(cs, "Telekom A4T:"); 339 ISACVersion(cs, "Telekom A4T:");
340 /* Jade version */ 340 /* Jade version */
341 JadeVersion(cs, "Telekom A4T:"); 341 JadeVersion(cs, "Telekom A4T:");
diff --git a/drivers/isdn/hisax/bkm_a8.c b/drivers/isdn/hisax/bkm_a8.c
index 9d1abfb93dde..15681f3e73b8 100644
--- a/drivers/isdn/hisax/bkm_a8.c
+++ b/drivers/isdn/hisax/bkm_a8.c
@@ -374,7 +374,7 @@ setup_sct_quadro(struct IsdnCard *card)
374 pci_ioaddr5 &= PCI_BASE_ADDRESS_IO_MASK; 374 pci_ioaddr5 &= PCI_BASE_ADDRESS_IO_MASK;
375 /* Take over */ 375 /* Take over */
376 cs->irq = pci_irq; 376 cs->irq = pci_irq;
377 cs->irq_flags |= SA_SHIRQ; 377 cs->irq_flags |= IRQF_SHARED;
378 /* pci_ioaddr1 is unique to all subdevices */ 378 /* pci_ioaddr1 is unique to all subdevices */
379 /* pci_ioaddr2 is for the fourth subdevice only */ 379 /* pci_ioaddr2 is for the fourth subdevice only */
380 /* pci_ioaddr3 is for the third subdevice only */ 380 /* pci_ioaddr3 is for the third subdevice only */
diff --git a/drivers/isdn/hisax/diva.c b/drivers/isdn/hisax/diva.c
index fbb9d02e3e29..323a02ef3844 100644
--- a/drivers/isdn/hisax/diva.c
+++ b/drivers/isdn/hisax/diva.c
@@ -1076,7 +1076,7 @@ setup_diva(struct IsdnCard *card)
1076 printk(KERN_WARNING "Diva: No IO-Adr for PCI card found\n"); 1076 printk(KERN_WARNING "Diva: No IO-Adr for PCI card found\n");
1077 return(0); 1077 return(0);
1078 } 1078 }
1079 cs->irq_flags |= SA_SHIRQ; 1079 cs->irq_flags |= IRQF_SHARED;
1080#else 1080#else
1081 printk(KERN_WARNING "Diva: cfgreg 0 and NO_PCI_BIOS\n"); 1081 printk(KERN_WARNING "Diva: cfgreg 0 and NO_PCI_BIOS\n");
1082 printk(KERN_WARNING "Diva: unable to config DIVA PCI\n"); 1082 printk(KERN_WARNING "Diva: unable to config DIVA PCI\n");
diff --git a/drivers/isdn/hisax/elsa.c b/drivers/isdn/hisax/elsa.c
index 7a5cdb1dee1e..3b3e318f6076 100644
--- a/drivers/isdn/hisax/elsa.c
+++ b/drivers/isdn/hisax/elsa.c
@@ -85,8 +85,8 @@ static const char *ITACVer[] =
85 *** ***/ 85 *** ***/
86 86
87/* Config-Register (Read) */ 87/* Config-Register (Read) */
88#define ELSA_TIMER_RUN 0x02 /* Bit 1 des Config-Reg */ 88#define ELIRQF_TIMER_RUN 0x02 /* Bit 1 des Config-Reg */
89#define ELSA_TIMER_RUN_PCC8 0x01 /* Bit 0 des Config-Reg bei PCC */ 89#define ELIRQF_TIMER_RUN_PCC8 0x01 /* Bit 0 des Config-Reg bei PCC */
90#define ELSA_IRQ_IDX 0x38 /* Bit 3,4,5 des Config-Reg */ 90#define ELSA_IRQ_IDX 0x38 /* Bit 3,4,5 des Config-Reg */
91#define ELSA_IRQ_IDX_PCC8 0x30 /* Bit 4,5 des Config-Reg */ 91#define ELSA_IRQ_IDX_PCC8 0x30 /* Bit 4,5 des Config-Reg */
92#define ELSA_IRQ_IDX_PC 0x0c /* Bit 2,3 des Config-Reg */ 92#define ELSA_IRQ_IDX_PC 0x0c /* Bit 2,3 des Config-Reg */
@@ -102,7 +102,7 @@ static const char *ITACVer[] =
102#define ELSA_S0_POWER_BAD 0x08 /* Bit 3 S0-Bus Spannung fehlt */ 102#define ELSA_S0_POWER_BAD 0x08 /* Bit 3 S0-Bus Spannung fehlt */
103 103
104/* Status Flags */ 104/* Status Flags */
105#define ELSA_TIMER_AKTIV 1 105#define ELIRQF_TIMER_AKTIV 1
106#define ELSA_BAD_PWR 2 106#define ELSA_BAD_PWR 2
107#define ELSA_ASSIGN 4 107#define ELSA_ASSIGN 4
108 108
@@ -259,10 +259,10 @@ TimerRun(struct IsdnCardState *cs)
259 259
260 v = bytein(cs->hw.elsa.cfg); 260 v = bytein(cs->hw.elsa.cfg);
261 if ((cs->subtyp == ELSA_QS1000) || (cs->subtyp == ELSA_QS3000)) 261 if ((cs->subtyp == ELSA_QS1000) || (cs->subtyp == ELSA_QS3000))
262 return (0 == (v & ELSA_TIMER_RUN)); 262 return (0 == (v & ELIRQF_TIMER_RUN));
263 else if (cs->subtyp == ELSA_PCC8) 263 else if (cs->subtyp == ELSA_PCC8)
264 return (v & ELSA_TIMER_RUN_PCC8); 264 return (v & ELIRQF_TIMER_RUN_PCC8);
265 return (v & ELSA_TIMER_RUN); 265 return (v & ELIRQF_TIMER_RUN);
266} 266}
267/* 267/*
268 * fast interrupt HSCX stuff goes here 268 * fast interrupt HSCX stuff goes here
@@ -334,7 +334,7 @@ elsa_interrupt(int intno, void *dev_id, struct pt_regs *regs)
334 writereg(cs->hw.elsa.ale, cs->hw.elsa.hscx, HSCX_MASK, 0xFF); 334 writereg(cs->hw.elsa.ale, cs->hw.elsa.hscx, HSCX_MASK, 0xFF);
335 writereg(cs->hw.elsa.ale, cs->hw.elsa.hscx, HSCX_MASK + 0x40, 0xFF); 335 writereg(cs->hw.elsa.ale, cs->hw.elsa.hscx, HSCX_MASK + 0x40, 0xFF);
336 writereg(cs->hw.elsa.ale, cs->hw.elsa.isac, ISAC_MASK, 0xFF); 336 writereg(cs->hw.elsa.ale, cs->hw.elsa.isac, ISAC_MASK, 0xFF);
337 if (cs->hw.elsa.status & ELSA_TIMER_AKTIV) { 337 if (cs->hw.elsa.status & ELIRQF_TIMER_AKTIV) {
338 if (!TimerRun(cs)) { 338 if (!TimerRun(cs)) {
339 /* Timer Restart */ 339 /* Timer Restart */
340 byteout(cs->hw.elsa.timer, 0); 340 byteout(cs->hw.elsa.timer, 0);
@@ -685,7 +685,7 @@ Elsa_card_msg(struct IsdnCardState *cs, int mt, void *arg)
685 spin_lock_irqsave(&cs->lock, flags); 685 spin_lock_irqsave(&cs->lock, flags);
686 cs->hw.elsa.counter = 0; 686 cs->hw.elsa.counter = 0;
687 cs->hw.elsa.ctrl_reg |= ELSA_ENA_TIMER_INT; 687 cs->hw.elsa.ctrl_reg |= ELSA_ENA_TIMER_INT;
688 cs->hw.elsa.status |= ELSA_TIMER_AKTIV; 688 cs->hw.elsa.status |= ELIRQF_TIMER_AKTIV;
689 byteout(cs->hw.elsa.ctrl, cs->hw.elsa.ctrl_reg); 689 byteout(cs->hw.elsa.ctrl, cs->hw.elsa.ctrl_reg);
690 byteout(cs->hw.elsa.timer, 0); 690 byteout(cs->hw.elsa.timer, 0);
691 spin_unlock_irqrestore(&cs->lock, flags); 691 spin_unlock_irqrestore(&cs->lock, flags);
@@ -693,7 +693,7 @@ Elsa_card_msg(struct IsdnCardState *cs, int mt, void *arg)
693 spin_lock_irqsave(&cs->lock, flags); 693 spin_lock_irqsave(&cs->lock, flags);
694 cs->hw.elsa.ctrl_reg &= ~ELSA_ENA_TIMER_INT; 694 cs->hw.elsa.ctrl_reg &= ~ELSA_ENA_TIMER_INT;
695 byteout(cs->hw.elsa.ctrl, cs->hw.elsa.ctrl_reg); 695 byteout(cs->hw.elsa.ctrl, cs->hw.elsa.ctrl_reg);
696 cs->hw.elsa.status &= ~ELSA_TIMER_AKTIV; 696 cs->hw.elsa.status &= ~ELIRQF_TIMER_AKTIV;
697 spin_unlock_irqrestore(&cs->lock, flags); 697 spin_unlock_irqrestore(&cs->lock, flags);
698 printk(KERN_INFO "Elsa: %d timer tics in 110 msek\n", 698 printk(KERN_INFO "Elsa: %d timer tics in 110 msek\n",
699 cs->hw.elsa.counter); 699 cs->hw.elsa.counter);
@@ -1012,7 +1012,7 @@ setup_elsa(struct IsdnCard *card)
1012 cs->hw.elsa.timer = 0; 1012 cs->hw.elsa.timer = 0;
1013 cs->hw.elsa.trig = 0; 1013 cs->hw.elsa.trig = 0;
1014 cs->hw.elsa.ctrl = 0; 1014 cs->hw.elsa.ctrl = 0;
1015 cs->irq_flags |= SA_SHIRQ; 1015 cs->irq_flags |= IRQF_SHARED;
1016 printk(KERN_INFO 1016 printk(KERN_INFO
1017 "Elsa: %s defined at %#lx IRQ %d\n", 1017 "Elsa: %s defined at %#lx IRQ %d\n",
1018 Elsa_Types[cs->subtyp], 1018 Elsa_Types[cs->subtyp],
@@ -1061,7 +1061,7 @@ setup_elsa(struct IsdnCard *card)
1061 test_and_set_bit(HW_IPAC, &cs->HW_Flags); 1061 test_and_set_bit(HW_IPAC, &cs->HW_Flags);
1062 cs->hw.elsa.timer = 0; 1062 cs->hw.elsa.timer = 0;
1063 cs->hw.elsa.trig = 0; 1063 cs->hw.elsa.trig = 0;
1064 cs->irq_flags |= SA_SHIRQ; 1064 cs->irq_flags |= IRQF_SHARED;
1065 printk(KERN_INFO 1065 printk(KERN_INFO
1066 "Elsa: %s defined at %#lx/0x%x IRQ %d\n", 1066 "Elsa: %s defined at %#lx/0x%x IRQ %d\n",
1067 Elsa_Types[cs->subtyp], 1067 Elsa_Types[cs->subtyp],
diff --git a/drivers/isdn/hisax/enternow_pci.c b/drivers/isdn/hisax/enternow_pci.c
index 5f4876184691..8fcbe2e7d765 100644
--- a/drivers/isdn/hisax/enternow_pci.c
+++ b/drivers/isdn/hisax/enternow_pci.c
@@ -405,7 +405,7 @@ setup_enternow_pci(struct IsdnCard *card)
405 cs->BC_Send_Data = &netjet_fill_dma; 405 cs->BC_Send_Data = &netjet_fill_dma;
406 cs->cardmsg = &enpci_card_msg; 406 cs->cardmsg = &enpci_card_msg;
407 cs->irq_func = &enpci_interrupt; 407 cs->irq_func = &enpci_interrupt;
408 cs->irq_flags |= SA_SHIRQ; 408 cs->irq_flags |= IRQF_SHARED;
409 409
410 return (1); 410 return (1);
411} 411}
diff --git a/drivers/isdn/hisax/gazel.c b/drivers/isdn/hisax/gazel.c
index 82a1d2e86cee..3e7d92303582 100644
--- a/drivers/isdn/hisax/gazel.c
+++ b/drivers/isdn/hisax/gazel.c
@@ -592,7 +592,7 @@ setup_gazelpci(struct IsdnCardState *cs)
592 cs->hw.gazel.hscxfifo[0] = cs->hw.gazel.hscx[0]; 592 cs->hw.gazel.hscxfifo[0] = cs->hw.gazel.hscx[0];
593 cs->hw.gazel.hscxfifo[1] = cs->hw.gazel.hscx[1]; 593 cs->hw.gazel.hscxfifo[1] = cs->hw.gazel.hscx[1];
594 cs->irq = pci_irq; 594 cs->irq = pci_irq;
595 cs->irq_flags |= SA_SHIRQ; 595 cs->irq_flags |= IRQF_SHARED;
596 596
597 switch (seekcard) { 597 switch (seekcard) {
598 case PCI_DEVICE_ID_PLX_R685: 598 case PCI_DEVICE_ID_PLX_R685:
diff --git a/drivers/isdn/hisax/hfc4s8s_l1.c b/drivers/isdn/hisax/hfc4s8s_l1.c
index 913fd27a1f55..0f967b3df79d 100644
--- a/drivers/isdn/hisax/hfc4s8s_l1.c
+++ b/drivers/isdn/hisax/hfc4s8s_l1.c
@@ -1552,7 +1552,7 @@ setup_instance(hfc4s8s_hw * hw)
1552 INIT_WORK(&hw->tqueue, (void *) (void *) hfc4s8s_bh, hw); 1552 INIT_WORK(&hw->tqueue, (void *) (void *) hfc4s8s_bh, hw);
1553 1553
1554 if (request_irq 1554 if (request_irq
1555 (hw->irq, hfc4s8s_interrupt, SA_SHIRQ, hw->card_name, hw)) { 1555 (hw->irq, hfc4s8s_interrupt, IRQF_SHARED, hw->card_name, hw)) {
1556 printk(KERN_INFO 1556 printk(KERN_INFO
1557 "HFC-4S/8S: unable to alloc irq %d, card ignored\n", 1557 "HFC-4S/8S: unable to alloc irq %d, card ignored\n",
1558 hw->irq); 1558 hw->irq);
diff --git a/drivers/isdn/hisax/hfc_pci.c b/drivers/isdn/hisax/hfc_pci.c
index fa9615747e26..7241e73879ba 100644
--- a/drivers/isdn/hisax/hfc_pci.c
+++ b/drivers/isdn/hisax/hfc_pci.c
@@ -1732,7 +1732,7 @@ setup_hfcpci(struct IsdnCard *card)
1732 cs->BC_Read_Reg = NULL; 1732 cs->BC_Read_Reg = NULL;
1733 cs->BC_Write_Reg = NULL; 1733 cs->BC_Write_Reg = NULL;
1734 cs->irq_func = &hfcpci_interrupt; 1734 cs->irq_func = &hfcpci_interrupt;
1735 cs->irq_flags |= SA_SHIRQ; 1735 cs->irq_flags |= IRQF_SHARED;
1736 cs->hw.hfcpci.timer.function = (void *) hfcpci_Timer; 1736 cs->hw.hfcpci.timer.function = (void *) hfcpci_Timer;
1737 cs->hw.hfcpci.timer.data = (long) cs; 1737 cs->hw.hfcpci.timer.data = (long) cs;
1738 init_timer(&cs->hw.hfcpci.timer); 1738 init_timer(&cs->hw.hfcpci.timer);
diff --git a/drivers/isdn/hisax/hisax_fcpcipnp.c b/drivers/isdn/hisax/hisax_fcpcipnp.c
index dbcca287ee2c..1d7cf3bd6aa3 100644
--- a/drivers/isdn/hisax/hisax_fcpcipnp.c
+++ b/drivers/isdn/hisax/hisax_fcpcipnp.c
@@ -725,11 +725,11 @@ static int __devinit fcpcipnp_setup(struct fritz_adapter *adapter)
725 725
726 switch (adapter->type) { 726 switch (adapter->type) {
727 case AVM_FRITZ_PCIV2: 727 case AVM_FRITZ_PCIV2:
728 retval = request_irq(adapter->irq, fcpci2_irq, SA_SHIRQ, 728 retval = request_irq(adapter->irq, fcpci2_irq, IRQF_SHARED,
729 "fcpcipnp", adapter); 729 "fcpcipnp", adapter);
730 break; 730 break;
731 case AVM_FRITZ_PCI: 731 case AVM_FRITZ_PCI:
732 retval = request_irq(adapter->irq, fcpci_irq, SA_SHIRQ, 732 retval = request_irq(adapter->irq, fcpci_irq, IRQF_SHARED,
733 "fcpcipnp", adapter); 733 "fcpcipnp", adapter);
734 break; 734 break;
735 case AVM_FRITZ_PNP: 735 case AVM_FRITZ_PNP:
diff --git a/drivers/isdn/hisax/niccy.c b/drivers/isdn/hisax/niccy.c
index 868762cf76c6..79a97b1c3812 100644
--- a/drivers/isdn/hisax/niccy.c
+++ b/drivers/isdn/hisax/niccy.c
@@ -336,7 +336,7 @@ setup_niccy(struct IsdnCard *card)
336 printk(KERN_WARNING "Niccy: No PCI card found\n"); 336 printk(KERN_WARNING "Niccy: No PCI card found\n");
337 return(0); 337 return(0);
338 } 338 }
339 cs->irq_flags |= SA_SHIRQ; 339 cs->irq_flags |= IRQF_SHARED;
340 cs->hw.niccy.isac = pci_ioaddr + ISAC_PCI_DATA; 340 cs->hw.niccy.isac = pci_ioaddr + ISAC_PCI_DATA;
341 cs->hw.niccy.isac_ale = pci_ioaddr + ISAC_PCI_ADDR; 341 cs->hw.niccy.isac_ale = pci_ioaddr + ISAC_PCI_ADDR;
342 cs->hw.niccy.hscx = pci_ioaddr + HSCX_PCI_DATA; 342 cs->hw.niccy.hscx = pci_ioaddr + HSCX_PCI_DATA;
diff --git a/drivers/isdn/hisax/nj_s.c b/drivers/isdn/hisax/nj_s.c
index 1b3ac46df52c..e5b900a6fa0b 100644
--- a/drivers/isdn/hisax/nj_s.c
+++ b/drivers/isdn/hisax/nj_s.c
@@ -271,7 +271,7 @@ setup_netjet_s(struct IsdnCard *card)
271 setup_isac(cs); 271 setup_isac(cs);
272 cs->cardmsg = &NETjet_S_card_msg; 272 cs->cardmsg = &NETjet_S_card_msg;
273 cs->irq_func = &netjet_s_interrupt; 273 cs->irq_func = &netjet_s_interrupt;
274 cs->irq_flags |= SA_SHIRQ; 274 cs->irq_flags |= IRQF_SHARED;
275 ISACVersion(cs, "NETjet-S:"); 275 ISACVersion(cs, "NETjet-S:");
276 return (1); 276 return (1);
277} 277}
diff --git a/drivers/isdn/hisax/nj_u.c b/drivers/isdn/hisax/nj_u.c
index 7a6010eac60d..7002b09936d4 100644
--- a/drivers/isdn/hisax/nj_u.c
+++ b/drivers/isdn/hisax/nj_u.c
@@ -237,7 +237,7 @@ setup_netjet_u(struct IsdnCard *card)
237 cs->BC_Send_Data = &netjet_fill_dma; 237 cs->BC_Send_Data = &netjet_fill_dma;
238 cs->cardmsg = &NETjet_U_card_msg; 238 cs->cardmsg = &NETjet_U_card_msg;
239 cs->irq_func = &netjet_u_interrupt; 239 cs->irq_func = &netjet_u_interrupt;
240 cs->irq_flags |= SA_SHIRQ; 240 cs->irq_flags |= IRQF_SHARED;
241 ICCVersion(cs, "NETspider-U:"); 241 ICCVersion(cs, "NETspider-U:");
242 return (1); 242 return (1);
243} 243}
diff --git a/drivers/isdn/hisax/sedlbauer.c b/drivers/isdn/hisax/sedlbauer.c
index 11ea456626b6..8d8e8a299892 100644
--- a/drivers/isdn/hisax/sedlbauer.c
+++ b/drivers/isdn/hisax/sedlbauer.c
@@ -632,7 +632,7 @@ setup_sedlbauer(struct IsdnCard *card)
632 printk(KERN_WARNING "Sedlbauer: No PCI card found\n"); 632 printk(KERN_WARNING "Sedlbauer: No PCI card found\n");
633 return(0); 633 return(0);
634 } 634 }
635 cs->irq_flags |= SA_SHIRQ; 635 cs->irq_flags |= IRQF_SHARED;
636 cs->hw.sedl.bus = SEDL_BUS_PCI; 636 cs->hw.sedl.bus = SEDL_BUS_PCI;
637 sub_vendor_id = dev_sedl->subsystem_vendor; 637 sub_vendor_id = dev_sedl->subsystem_vendor;
638 sub_id = dev_sedl->subsystem_device; 638 sub_id = dev_sedl->subsystem_device;
@@ -809,7 +809,7 @@ ready:
809 cs->hw.sedl.hscx = cs->hw.sedl.cfg_reg + SEDL_HSCX_PCMCIA_HSCX; 809 cs->hw.sedl.hscx = cs->hw.sedl.cfg_reg + SEDL_HSCX_PCMCIA_HSCX;
810 cs->hw.sedl.reset_on = cs->hw.sedl.cfg_reg + SEDL_HSCX_PCMCIA_RESET; 810 cs->hw.sedl.reset_on = cs->hw.sedl.cfg_reg + SEDL_HSCX_PCMCIA_RESET;
811 cs->hw.sedl.reset_off = cs->hw.sedl.cfg_reg + SEDL_HSCX_PCMCIA_RESET; 811 cs->hw.sedl.reset_off = cs->hw.sedl.cfg_reg + SEDL_HSCX_PCMCIA_RESET;
812 cs->irq_flags |= SA_SHIRQ; 812 cs->irq_flags |= IRQF_SHARED;
813 } else { 813 } else {
814 cs->hw.sedl.adr = cs->hw.sedl.cfg_reg + SEDL_HSCX_ISA_ADR; 814 cs->hw.sedl.adr = cs->hw.sedl.cfg_reg + SEDL_HSCX_ISA_ADR;
815 cs->hw.sedl.isac = cs->hw.sedl.cfg_reg + SEDL_HSCX_ISA_ISAC; 815 cs->hw.sedl.isac = cs->hw.sedl.cfg_reg + SEDL_HSCX_ISA_ISAC;
diff --git a/drivers/isdn/hisax/teles3.c b/drivers/isdn/hisax/teles3.c
index 090abd16b4bc..5cb712437da4 100644
--- a/drivers/isdn/hisax/teles3.c
+++ b/drivers/isdn/hisax/teles3.c
@@ -369,7 +369,7 @@ setup_teles3(struct IsdnCard *card)
369 cs->hw.teles3.hscx[1] + 96); 369 cs->hw.teles3.hscx[1] + 96);
370 return (0); 370 return (0);
371 } 371 }
372 cs->irq_flags |= SA_SHIRQ; /* cardbus can share */ 372 cs->irq_flags |= IRQF_SHARED; /* cardbus can share */
373 } else { 373 } else {
374 if (cs->hw.teles3.cfg_reg) { 374 if (cs->hw.teles3.cfg_reg) {
375 if (cs->typ == ISDN_CTYPE_COMPAQ_ISA) { 375 if (cs->typ == ISDN_CTYPE_COMPAQ_ISA) {
diff --git a/drivers/isdn/hisax/telespci.c b/drivers/isdn/hisax/telespci.c
index a1bb73e28841..9382cdf04d8d 100644
--- a/drivers/isdn/hisax/telespci.c
+++ b/drivers/isdn/hisax/telespci.c
@@ -347,7 +347,7 @@ setup_telespci(struct IsdnCard *card)
347 cs->BC_Send_Data = &hscx_fill_fifo; 347 cs->BC_Send_Data = &hscx_fill_fifo;
348 cs->cardmsg = &TelesPCI_card_msg; 348 cs->cardmsg = &TelesPCI_card_msg;
349 cs->irq_func = &telespci_interrupt; 349 cs->irq_func = &telespci_interrupt;
350 cs->irq_flags |= SA_SHIRQ; 350 cs->irq_flags |= IRQF_SHARED;
351 ISACVersion(cs, "TelesPCI:"); 351 ISACVersion(cs, "TelesPCI:");
352 if (HscxVersion(cs, "TelesPCI:")) { 352 if (HscxVersion(cs, "TelesPCI:")) {
353 printk(KERN_WARNING 353 printk(KERN_WARNING
diff --git a/drivers/isdn/hisax/w6692.c b/drivers/isdn/hisax/w6692.c
index 00e4fa2aef51..6c68419c05ff 100644
--- a/drivers/isdn/hisax/w6692.c
+++ b/drivers/isdn/hisax/w6692.c
@@ -1080,7 +1080,7 @@ setup_w6692(struct IsdnCard *card)
1080 cs->BC_Send_Data = &W6692B_fill_fifo; 1080 cs->BC_Send_Data = &W6692B_fill_fifo;
1081 cs->cardmsg = &w6692_card_msg; 1081 cs->cardmsg = &w6692_card_msg;
1082 cs->irq_func = &W6692_interrupt; 1082 cs->irq_func = &W6692_interrupt;
1083 cs->irq_flags |= SA_SHIRQ; 1083 cs->irq_flags |= IRQF_SHARED;
1084 W6692Version(cs, "W6692:"); 1084 W6692Version(cs, "W6692:");
1085 printk(KERN_INFO "W6692 ISTA=0x%X\n", ReadW6692(cs, W_ISTA)); 1085 printk(KERN_INFO "W6692 ISTA=0x%X\n", ReadW6692(cs, W_ISTA));
1086 printk(KERN_INFO "W6692 IMASK=0x%X\n", ReadW6692(cs, W_IMASK)); 1086 printk(KERN_INFO "W6692 IMASK=0x%X\n", ReadW6692(cs, W_IMASK));
diff --git a/drivers/isdn/hysdn/boardergo.c b/drivers/isdn/hysdn/boardergo.c
index 89fd531fbce6..73afebdf80bd 100644
--- a/drivers/isdn/hysdn/boardergo.c
+++ b/drivers/isdn/hysdn/boardergo.c
@@ -435,7 +435,7 @@ ergo_inithardware(hysdn_card * card)
435 } 435 }
436 436
437 ergo_stopcard(card); /* disable interrupts */ 437 ergo_stopcard(card); /* disable interrupts */
438 if (request_irq(card->irq, ergo_interrupt, SA_SHIRQ, "HYSDN", card)) { 438 if (request_irq(card->irq, ergo_interrupt, IRQF_SHARED, "HYSDN", card)) {
439 ergo_releasehardware(card); /* return the acquired hardware */ 439 ergo_releasehardware(card); /* return the acquired hardware */
440 return (-1); 440 return (-1);
441 } 441 }
diff --git a/drivers/isdn/sc/init.c b/drivers/isdn/sc/init.c
index 62b7acfad8a4..a627e68023f6 100644
--- a/drivers/isdn/sc/init.c
+++ b/drivers/isdn/sc/init.c
@@ -342,7 +342,7 @@ static int __init sc_init(void)
342 */ 342 */
343 sc_adapter[cinst]->interrupt = irq[b]; 343 sc_adapter[cinst]->interrupt = irq[b];
344 if (request_irq(sc_adapter[cinst]->interrupt, interrupt_handler, 344 if (request_irq(sc_adapter[cinst]->interrupt, interrupt_handler,
345 SA_INTERRUPT, interface->id, NULL)) 345 IRQF_DISABLED, interface->id, NULL))
346 { 346 {
347 kfree(sc_adapter[cinst]->channel); 347 kfree(sc_adapter[cinst]->channel);
348 indicate_status(cinst, ISDN_STAT_UNLOAD, 0, NULL); /* Fix me */ 348 indicate_status(cinst, ISDN_STAT_UNLOAD, 0, NULL); /* Fix me */
diff --git a/drivers/macintosh/smu.c b/drivers/macintosh/smu.c
index 030130570e0a..ff6d9bfdc3d2 100644
--- a/drivers/macintosh/smu.c
+++ b/drivers/macintosh/smu.c
@@ -555,7 +555,7 @@ static int smu_late_init(void)
555 555
556 if (smu->db_irq != NO_IRQ) { 556 if (smu->db_irq != NO_IRQ) {
557 if (request_irq(smu->db_irq, smu_db_intr, 557 if (request_irq(smu->db_irq, smu_db_intr,
558 SA_SHIRQ, "SMU doorbell", smu) < 0) { 558 IRQF_SHARED, "SMU doorbell", smu) < 0) {
559 printk(KERN_WARNING "SMU: can't " 559 printk(KERN_WARNING "SMU: can't "
560 "request interrupt %d\n", 560 "request interrupt %d\n",
561 smu->db_irq); 561 smu->db_irq);
@@ -565,7 +565,7 @@ static int smu_late_init(void)
565 565
566 if (smu->msg_irq != NO_IRQ) { 566 if (smu->msg_irq != NO_IRQ) {
567 if (request_irq(smu->msg_irq, smu_msg_intr, 567 if (request_irq(smu->msg_irq, smu_msg_intr,
568 SA_SHIRQ, "SMU message", smu) < 0) { 568 IRQF_SHARED, "SMU message", smu) < 0) {
569 printk(KERN_WARNING "SMU: can't " 569 printk(KERN_WARNING "SMU: can't "
570 "request interrupt %d\n", 570 "request interrupt %d\n",
571 smu->msg_irq); 571 smu->msg_irq);
diff --git a/drivers/media/common/saa7146_core.c b/drivers/media/common/saa7146_core.c
index 8cdd4d265ffa..b88451e33c09 100644
--- a/drivers/media/common/saa7146_core.c
+++ b/drivers/media/common/saa7146_core.c
@@ -363,7 +363,7 @@ static int saa7146_init_one(struct pci_dev *pci, const struct pci_device_id *ent
363 saa7146_write(dev, MC2, 0xf8000000); 363 saa7146_write(dev, MC2, 0xf8000000);
364 364
365 /* request an interrupt for the saa7146 */ 365 /* request an interrupt for the saa7146 */
366 err = request_irq(pci->irq, interrupt_hw, SA_SHIRQ | SA_INTERRUPT, 366 err = request_irq(pci->irq, interrupt_hw, IRQF_SHARED | IRQF_DISABLED,
367 dev->name, dev); 367 dev->name, dev);
368 if (err < 0) { 368 if (err < 0) {
369 ERR(("request_irq() failed.\n")); 369 ERR(("request_irq() failed.\n"));
diff --git a/drivers/media/dvb/b2c2/flexcop-pci.c b/drivers/media/dvb/b2c2/flexcop-pci.c
index f04041702191..eb2e6432c8c2 100644
--- a/drivers/media/dvb/b2c2/flexcop-pci.c
+++ b/drivers/media/dvb/b2c2/flexcop-pci.c
@@ -294,7 +294,7 @@ static int flexcop_pci_init(struct flexcop_pci *fc_pci)
294 pci_set_drvdata(fc_pci->pdev, fc_pci); 294 pci_set_drvdata(fc_pci->pdev, fc_pci);
295 295
296 if ((ret = request_irq(fc_pci->pdev->irq, flexcop_pci_isr, 296 if ((ret = request_irq(fc_pci->pdev->irq, flexcop_pci_isr,
297 SA_SHIRQ, DRIVER_NAME, fc_pci)) != 0) 297 IRQF_SHARED, DRIVER_NAME, fc_pci)) != 0)
298 goto err_pci_iounmap; 298 goto err_pci_iounmap;
299 299
300 spin_lock_init(&fc_pci->irq_lock); 300 spin_lock_init(&fc_pci->irq_lock);
diff --git a/drivers/media/dvb/bt8xx/bt878.c b/drivers/media/dvb/bt8xx/bt878.c
index 761fa6e7d762..755822ee6e9b 100644
--- a/drivers/media/dvb/bt8xx/bt878.c
+++ b/drivers/media/dvb/bt8xx/bt878.c
@@ -488,7 +488,7 @@ static int __devinit bt878_probe(struct pci_dev *dev,
488 btwrite(0, BT848_INT_MASK); 488 btwrite(0, BT848_INT_MASK);
489 489
490 result = request_irq(bt->irq, bt878_irq, 490 result = request_irq(bt->irq, bt878_irq,
491 SA_SHIRQ | SA_INTERRUPT, "bt878", 491 IRQF_SHARED | IRQF_DISABLED, "bt878",
492 (void *) bt); 492 (void *) bt);
493 if (result == -EINVAL) { 493 if (result == -EINVAL) {
494 printk(KERN_ERR "bt878(%d): Bad irq number or handler\n", 494 printk(KERN_ERR "bt878(%d): Bad irq number or handler\n",
diff --git a/drivers/media/dvb/pluto2/pluto2.c b/drivers/media/dvb/pluto2/pluto2.c
index acabea0793b6..2310b2bfed4e 100644
--- a/drivers/media/dvb/pluto2/pluto2.c
+++ b/drivers/media/dvb/pluto2/pluto2.c
@@ -616,7 +616,7 @@ static int __devinit pluto2_probe(struct pci_dev *pdev,
616 616
617 pci_set_drvdata(pdev, pluto); 617 pci_set_drvdata(pdev, pluto);
618 618
619 ret = request_irq(pdev->irq, pluto_irq, SA_SHIRQ, DRIVER_NAME, pluto); 619 ret = request_irq(pdev->irq, pluto_irq, IRQF_SHARED, DRIVER_NAME, pluto);
620 if (ret < 0) 620 if (ret < 0)
621 goto err_pci_iounmap; 621 goto err_pci_iounmap;
622 622
diff --git a/drivers/media/video/bt8xx/bttv-driver.c b/drivers/media/video/bt8xx/bttv-driver.c
index aa3203ae670c..5764a89d3562 100644
--- a/drivers/media/video/bt8xx/bttv-driver.c
+++ b/drivers/media/video/bt8xx/bttv-driver.c
@@ -4050,7 +4050,7 @@ static int __devinit bttv_probe(struct pci_dev *dev,
4050 /* disable irqs, register irq handler */ 4050 /* disable irqs, register irq handler */
4051 btwrite(0, BT848_INT_MASK); 4051 btwrite(0, BT848_INT_MASK);
4052 result = request_irq(btv->c.pci->irq, bttv_irq, 4052 result = request_irq(btv->c.pci->irq, bttv_irq,
4053 SA_SHIRQ | SA_INTERRUPT,btv->c.name,(void *)btv); 4053 IRQF_SHARED | IRQF_DISABLED,btv->c.name,(void *)btv);
4054 if (result < 0) { 4054 if (result < 0) {
4055 printk(KERN_ERR "bttv%d: can't get IRQ %d\n", 4055 printk(KERN_ERR "bttv%d: can't get IRQ %d\n",
4056 bttv_num,btv->c.pci->irq); 4056 bttv_num,btv->c.pci->irq);
diff --git a/drivers/media/video/cx88/cx88-alsa.c b/drivers/media/video/cx88/cx88-alsa.c
index 292a5e81eb75..f0340662e078 100644
--- a/drivers/media/video/cx88/cx88-alsa.c
+++ b/drivers/media/video/cx88/cx88-alsa.c
@@ -700,7 +700,7 @@ static int __devinit snd_cx88_create(struct snd_card *card,
700 700
701 /* get irq */ 701 /* get irq */
702 err = request_irq(chip->pci->irq, cx8801_irq, 702 err = request_irq(chip->pci->irq, cx8801_irq,
703 SA_SHIRQ | SA_INTERRUPT, chip->core->name, chip); 703 IRQF_SHARED | IRQF_DISABLED, chip->core->name, chip);
704 if (err < 0) { 704 if (err < 0) {
705 dprintk(0, "%s: can't get IRQ %d\n", 705 dprintk(0, "%s: can't get IRQ %d\n",
706 chip->core->name, chip->pci->irq); 706 chip->core->name, chip->pci->irq);
diff --git a/drivers/media/video/cx88/cx88-mpeg.c b/drivers/media/video/cx88/cx88-mpeg.c
index 2c12aca1b6a3..138a4f692501 100644
--- a/drivers/media/video/cx88/cx88-mpeg.c
+++ b/drivers/media/video/cx88/cx88-mpeg.c
@@ -438,7 +438,7 @@ int cx8802_init_common(struct cx8802_dev *dev)
438 438
439 /* get irq */ 439 /* get irq */
440 err = request_irq(dev->pci->irq, cx8802_irq, 440 err = request_irq(dev->pci->irq, cx8802_irq,
441 SA_SHIRQ | SA_INTERRUPT, dev->core->name, dev); 441 IRQF_SHARED | IRQF_DISABLED, dev->core->name, dev);
442 if (err < 0) { 442 if (err < 0) {
443 printk(KERN_ERR "%s: can't get IRQ %d\n", 443 printk(KERN_ERR "%s: can't get IRQ %d\n",
444 dev->core->name, dev->pci->irq); 444 dev->core->name, dev->pci->irq);
diff --git a/drivers/media/video/cx88/cx88-video.c b/drivers/media/video/cx88/cx88-video.c
index c538d99ec9f6..2225d4b94140 100644
--- a/drivers/media/video/cx88/cx88-video.c
+++ b/drivers/media/video/cx88/cx88-video.c
@@ -1915,7 +1915,7 @@ static int __devinit cx8800_initdev(struct pci_dev *pci_dev,
1915 1915
1916 /* get irq */ 1916 /* get irq */
1917 err = request_irq(pci_dev->irq, cx8800_irq, 1917 err = request_irq(pci_dev->irq, cx8800_irq,
1918 SA_SHIRQ | SA_INTERRUPT, core->name, dev); 1918 IRQF_SHARED | IRQF_DISABLED, core->name, dev);
1919 if (err < 0) { 1919 if (err < 0) {
1920 printk(KERN_ERR "%s: can't get IRQ %d\n", 1920 printk(KERN_ERR "%s: can't get IRQ %d\n",
1921 core->name,pci_dev->irq); 1921 core->name,pci_dev->irq);
diff --git a/drivers/media/video/meye.c b/drivers/media/video/meye.c
index ddd62214bee5..e278753f8f25 100644
--- a/drivers/media/video/meye.c
+++ b/drivers/media/video/meye.c
@@ -1881,7 +1881,7 @@ static int __devinit meye_probe(struct pci_dev *pcidev,
1881 1881
1882 meye.mchip_irq = pcidev->irq; 1882 meye.mchip_irq = pcidev->irq;
1883 if (request_irq(meye.mchip_irq, meye_irq, 1883 if (request_irq(meye.mchip_irq, meye_irq,
1884 SA_INTERRUPT | SA_SHIRQ, "meye", meye_irq)) { 1884 IRQF_DISABLED | IRQF_SHARED, "meye", meye_irq)) {
1885 printk(KERN_ERR "meye: request_irq failed\n"); 1885 printk(KERN_ERR "meye: request_irq failed\n");
1886 goto outreqirq; 1886 goto outreqirq;
1887 } 1887 }
diff --git a/drivers/media/video/saa7134/saa7134-alsa.c b/drivers/media/video/saa7134/saa7134-alsa.c
index d77e6a8d9432..f1fd69e7f119 100644
--- a/drivers/media/video/saa7134/saa7134-alsa.c
+++ b/drivers/media/video/saa7134/saa7134-alsa.c
@@ -929,7 +929,7 @@ static int alsa_card_saa7134_create(struct saa7134_dev *dev, int devnum)
929 929
930 930
931 err = request_irq(dev->pci->irq, saa7134_alsa_irq, 931 err = request_irq(dev->pci->irq, saa7134_alsa_irq,
932 SA_SHIRQ | SA_INTERRUPT, dev->name, 932 IRQF_SHARED | IRQF_DISABLED, dev->name,
933 (void*) &dev->dmasound); 933 (void*) &dev->dmasound);
934 934
935 if (err < 0) { 935 if (err < 0) {
diff --git a/drivers/media/video/saa7134/saa7134-core.c b/drivers/media/video/saa7134/saa7134-core.c
index 535172f643b9..6e97cc84ba89 100644
--- a/drivers/media/video/saa7134/saa7134-core.c
+++ b/drivers/media/video/saa7134/saa7134-core.c
@@ -923,7 +923,7 @@ static int __devinit saa7134_initdev(struct pci_dev *pci_dev,
923 923
924 /* get irq */ 924 /* get irq */
925 err = request_irq(pci_dev->irq, saa7134_irq, 925 err = request_irq(pci_dev->irq, saa7134_irq,
926 SA_SHIRQ | SA_INTERRUPT, dev->name, dev); 926 IRQF_SHARED | IRQF_DISABLED, dev->name, dev);
927 if (err < 0) { 927 if (err < 0) {
928 printk(KERN_ERR "%s: can't get IRQ %d\n", 928 printk(KERN_ERR "%s: can't get IRQ %d\n",
929 dev->name,pci_dev->irq); 929 dev->name,pci_dev->irq);
diff --git a/drivers/media/video/saa7134/saa7134-oss.c b/drivers/media/video/saa7134/saa7134-oss.c
index 7aa02b34e012..3895d05804ae 100644
--- a/drivers/media/video/saa7134/saa7134-oss.c
+++ b/drivers/media/video/saa7134/saa7134-oss.c
@@ -845,7 +845,7 @@ int saa7134_oss_init1(struct saa7134_dev *dev)
845{ 845{
846 846
847 if ((request_irq(dev->pci->irq, saa7134_oss_irq, 847 if ((request_irq(dev->pci->irq, saa7134_oss_irq,
848 SA_SHIRQ | SA_INTERRUPT, dev->name, 848 IRQF_SHARED | IRQF_DISABLED, dev->name,
849 (void*) &dev->dmasound)) < 0) 849 (void*) &dev->dmasound)) < 0)
850 return -1; 850 return -1;
851 851
diff --git a/drivers/media/video/stradis.c b/drivers/media/video/stradis.c
index c18b31d9928c..b36ba9fa3a28 100644
--- a/drivers/media/video/stradis.c
+++ b/drivers/media/video/stradis.c
@@ -1983,7 +1983,7 @@ static int __devinit configure_saa7146(struct pci_dev *pdev, int num)
1983 memcpy(&saa->video_dev, &saa_template, sizeof(saa_template)); 1983 memcpy(&saa->video_dev, &saa_template, sizeof(saa_template));
1984 saawrite(0, SAA7146_IER); /* turn off all interrupts */ 1984 saawrite(0, SAA7146_IER); /* turn off all interrupts */
1985 1985
1986 retval = request_irq(saa->irq, saa7146_irq, SA_SHIRQ | SA_INTERRUPT, 1986 retval = request_irq(saa->irq, saa7146_irq, IRQF_SHARED | IRQF_DISABLED,
1987 "stradis", saa); 1987 "stradis", saa);
1988 if (retval == -EINVAL) 1988 if (retval == -EINVAL)
1989 dev_err(&pdev->dev, "%d: Bad irq number or handler\n", num); 1989 dev_err(&pdev->dev, "%d: Bad irq number or handler\n", num);
diff --git a/drivers/media/video/zoran_card.c b/drivers/media/video/zoran_card.c
index 33b32f3cf84e..f2249ed25273 100644
--- a/drivers/media/video/zoran_card.c
+++ b/drivers/media/video/zoran_card.c
@@ -1380,7 +1380,7 @@ find_zr36057 (void)
1380 1380
1381 result = request_irq(zr->pci_dev->irq, 1381 result = request_irq(zr->pci_dev->irq,
1382 zoran_irq, 1382 zoran_irq,
1383 SA_SHIRQ | SA_INTERRUPT, 1383 IRQF_SHARED | IRQF_DISABLED,
1384 ZR_DEVNAME(zr), 1384 ZR_DEVNAME(zr),
1385 (void *) zr); 1385 (void *) zr);
1386 if (result < 0) { 1386 if (result < 0) {
diff --git a/drivers/media/video/zr36120.c b/drivers/media/video/zr36120.c
index 6ac3b6740089..50437383ed62 100644
--- a/drivers/media/video/zr36120.c
+++ b/drivers/media/video/zr36120.c
@@ -1858,7 +1858,7 @@ int __init find_zoran(void)
1858 DEBUG(printk(KERN_DEBUG "zoran: mapped-memory at 0x%p\n",ztv->zoran_mem)); 1858 DEBUG(printk(KERN_DEBUG "zoran: mapped-memory at 0x%p\n",ztv->zoran_mem));
1859 1859
1860 result = request_irq(dev->irq, zoran_irq, 1860 result = request_irq(dev->irq, zoran_irq,
1861 SA_SHIRQ|SA_INTERRUPT,"zoran", ztv); 1861 IRQF_SHARED|IRQF_DISABLED,"zoran", ztv);
1862 if (result==-EINVAL) 1862 if (result==-EINVAL)
1863 { 1863 {
1864 iounmap(ztv->zoran_mem); 1864 iounmap(ztv->zoran_mem);
diff --git a/drivers/message/fusion/mptbase.c b/drivers/message/fusion/mptbase.c
index 2544fc7af0f6..57543603d6c8 100644
--- a/drivers/message/fusion/mptbase.c
+++ b/drivers/message/fusion/mptbase.c
@@ -1705,7 +1705,7 @@ mpt_do_ioc_recovery(MPT_ADAPTER *ioc, u32 reason, int sleepFlag)
1705 printk(MYIOC_s_INFO_FMT "PCI-MSI enabled\n", 1705 printk(MYIOC_s_INFO_FMT "PCI-MSI enabled\n",
1706 ioc->name); 1706 ioc->name);
1707 rc = request_irq(ioc->pcidev->irq, mpt_interrupt, 1707 rc = request_irq(ioc->pcidev->irq, mpt_interrupt,
1708 SA_SHIRQ, ioc->name, ioc); 1708 IRQF_SHARED, ioc->name, ioc);
1709 if (rc < 0) { 1709 if (rc < 0) {
1710 printk(MYIOC_s_ERR_FMT "Unable to allocate " 1710 printk(MYIOC_s_ERR_FMT "Unable to allocate "
1711 "interrupt %d!\n", ioc->name, 1711 "interrupt %d!\n", ioc->name,
diff --git a/drivers/message/i2o/pci.c b/drivers/message/i2o/pci.c
index 4f1515cae5dc..1b58444d5aaf 100644
--- a/drivers/message/i2o/pci.c
+++ b/drivers/message/i2o/pci.c
@@ -274,7 +274,7 @@ static int i2o_pci_irq_enable(struct i2o_controller *c)
274 writel(0xffffffff, c->irq_mask); 274 writel(0xffffffff, c->irq_mask);
275 275
276 if (pdev->irq) { 276 if (pdev->irq) {
277 rc = request_irq(pdev->irq, i2o_pci_interrupt, SA_SHIRQ, 277 rc = request_irq(pdev->irq, i2o_pci_interrupt, IRQF_SHARED,
278 c->name, c); 278 c->name, c);
279 if (rc < 0) { 279 if (rc < 0) {
280 printk(KERN_ERR "%s: unable to allocate interrupt %d." 280 printk(KERN_ERR "%s: unable to allocate interrupt %d."
diff --git a/drivers/mfd/ucb1x00-core.c b/drivers/mfd/ucb1x00-core.c
index 6fe2ff5a63db..632bc218c86a 100644
--- a/drivers/mfd/ucb1x00-core.c
+++ b/drivers/mfd/ucb1x00-core.c
@@ -508,7 +508,7 @@ static int ucb1x00_probe(struct mcp *mcp)
508 goto err_free; 508 goto err_free;
509 } 509 }
510 510
511 ret = request_irq(ucb->irq, ucb1x00_irq, SA_TRIGGER_RISING, 511 ret = request_irq(ucb->irq, ucb1x00_irq, IRQF_TRIGGER_RISING,
512 "UCB1x00", ucb); 512 "UCB1x00", ucb);
513 if (ret) { 513 if (ret) {
514 printk(KERN_ERR "ucb1x00: unable to grab irq%d: %d\n", 514 printk(KERN_ERR "ucb1x00: unable to grab irq%d: %d\n",
diff --git a/drivers/misc/ibmasm/module.c b/drivers/misc/ibmasm/module.c
index 9706cc19134a..2f3bddfab937 100644
--- a/drivers/misc/ibmasm/module.c
+++ b/drivers/misc/ibmasm/module.c
@@ -113,7 +113,7 @@ static int __devinit ibmasm_init_one(struct pci_dev *pdev, const struct pci_devi
113 goto error_ioremap; 113 goto error_ioremap;
114 } 114 }
115 115
116 result = request_irq(sp->irq, ibmasm_interrupt_handler, SA_SHIRQ, sp->devname, (void*)sp); 116 result = request_irq(sp->irq, ibmasm_interrupt_handler, IRQF_SHARED, sp->devname, (void*)sp);
117 if (result) { 117 if (result) {
118 dev_err(sp->dev, "Failed to register interrupt handler\n"); 118 dev_err(sp->dev, "Failed to register interrupt handler\n");
119 goto error_request_irq; 119 goto error_request_irq;
diff --git a/drivers/mmc/at91_mci.c b/drivers/mmc/at91_mci.c
index 075a2a07924e..6b7638b84290 100644
--- a/drivers/mmc/at91_mci.c
+++ b/drivers/mmc/at91_mci.c
@@ -850,7 +850,7 @@ static int at91_mci_probe(struct platform_device *pdev)
850 /* 850 /*
851 * Allocate the MCI interrupt 851 * Allocate the MCI interrupt
852 */ 852 */
853 ret = request_irq(AT91_ID_MCI, at91_mci_irq, SA_SHIRQ, DRIVER_NAME, host); 853 ret = request_irq(AT91_ID_MCI, at91_mci_irq, IRQF_SHARED, DRIVER_NAME, host);
854 if (ret) { 854 if (ret) {
855 printk(KERN_ERR "Failed to request MCI interrupt\n"); 855 printk(KERN_ERR "Failed to request MCI interrupt\n");
856 clk_disable(mci_clk); 856 clk_disable(mci_clk);
diff --git a/drivers/mmc/au1xmmc.c b/drivers/mmc/au1xmmc.c
index 41069908f4a7..fb606165af3b 100644
--- a/drivers/mmc/au1xmmc.c
+++ b/drivers/mmc/au1xmmc.c
@@ -886,7 +886,7 @@ static int __devinit au1xmmc_probe(struct platform_device *pdev)
886 int i, ret = 0; 886 int i, ret = 0;
887 887
888 /* THe interrupt is shared among all controllers */ 888 /* THe interrupt is shared among all controllers */
889 ret = request_irq(AU1100_SD_IRQ, au1xmmc_irq, SA_INTERRUPT, "MMC", 0); 889 ret = request_irq(AU1100_SD_IRQ, au1xmmc_irq, IRQF_DISABLED, "MMC", 0);
890 890
891 if (ret) { 891 if (ret) {
892 printk(DRIVER_NAME "ERROR: Couldn't get int %d: %d\n", 892 printk(DRIVER_NAME "ERROR: Couldn't get int %d: %d\n",
diff --git a/drivers/mmc/mmci.c b/drivers/mmc/mmci.c
index 9dfb34a857e3..1886562abdd4 100644
--- a/drivers/mmc/mmci.c
+++ b/drivers/mmc/mmci.c
@@ -531,11 +531,11 @@ static int mmci_probe(struct amba_device *dev, void *id)
531 writel(0, host->base + MMCIMASK1); 531 writel(0, host->base + MMCIMASK1);
532 writel(0xfff, host->base + MMCICLEAR); 532 writel(0xfff, host->base + MMCICLEAR);
533 533
534 ret = request_irq(dev->irq[0], mmci_irq, SA_SHIRQ, DRIVER_NAME " (cmd)", host); 534 ret = request_irq(dev->irq[0], mmci_irq, IRQF_SHARED, DRIVER_NAME " (cmd)", host);
535 if (ret) 535 if (ret)
536 goto unmap; 536 goto unmap;
537 537
538 ret = request_irq(dev->irq[1], mmci_pio_irq, SA_SHIRQ, DRIVER_NAME " (pio)", host); 538 ret = request_irq(dev->irq[1], mmci_pio_irq, IRQF_SHARED, DRIVER_NAME " (pio)", host);
539 if (ret) 539 if (ret)
540 goto irq0_free; 540 goto irq0_free;
541 541
diff --git a/drivers/mmc/omap.c b/drivers/mmc/omap.c
index 7a4840ec53b7..ddf06b32c159 100644
--- a/drivers/mmc/omap.c
+++ b/drivers/mmc/omap.c
@@ -60,6 +60,7 @@ struct mmc_omap_host {
60 unsigned char id; /* 16xx chips have 2 MMC blocks */ 60 unsigned char id; /* 16xx chips have 2 MMC blocks */
61 struct clk * iclk; 61 struct clk * iclk;
62 struct clk * fclk; 62 struct clk * fclk;
63 struct resource *res;
63 void __iomem *base; 64 void __iomem *base;
64 int irq; 65 int irq;
65 unsigned char bus_mode; 66 unsigned char bus_mode;
@@ -339,8 +340,6 @@ static void
339mmc_omap_xfer_data(struct mmc_omap_host *host, int write) 340mmc_omap_xfer_data(struct mmc_omap_host *host, int write)
340{ 341{
341 int n; 342 int n;
342 void __iomem *reg;
343 u16 *p;
344 343
345 if (host->buffer_bytes_left == 0) { 344 if (host->buffer_bytes_left == 0) {
346 host->sg_idx++; 345 host->sg_idx++;
@@ -657,12 +656,12 @@ static void mmc_omap_dma_cb(int lch, u16 ch_status, void *data)
657 struct mmc_data *mmcdat = host->data; 656 struct mmc_data *mmcdat = host->data;
658 657
659 if (unlikely(host->dma_ch < 0)) { 658 if (unlikely(host->dma_ch < 0)) {
660 dev_err(mmc_dev(host->mmc), "DMA callback while DMA not 659 dev_err(mmc_dev(host->mmc),
661 enabled\n"); 660 "DMA callback while DMA not enabled\n");
662 return; 661 return;
663 } 662 }
664 /* FIXME: We really should do something to _handle_ the errors */ 663 /* FIXME: We really should do something to _handle_ the errors */
665 if (ch_status & OMAP_DMA_TOUT_IRQ) { 664 if (ch_status & OMAP1_DMA_TOUT_IRQ) {
666 dev_err(mmc_dev(host->mmc),"DMA timeout\n"); 665 dev_err(mmc_dev(host->mmc),"DMA timeout\n");
667 return; 666 return;
668 } 667 }
@@ -972,20 +971,20 @@ static int __init mmc_omap_probe(struct platform_device *pdev)
972 struct omap_mmc_conf *minfo = pdev->dev.platform_data; 971 struct omap_mmc_conf *minfo = pdev->dev.platform_data;
973 struct mmc_host *mmc; 972 struct mmc_host *mmc;
974 struct mmc_omap_host *host = NULL; 973 struct mmc_omap_host *host = NULL;
974 struct resource *r;
975 int ret = 0; 975 int ret = 0;
976 int irq;
976 977
977 if (platform_get_resource(pdev, IORESOURCE_MEM, 0) || 978 r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
978 platform_get_irq(pdev, IORESOURCE_IRQ, 0)) { 979 irq = platform_get_irq(pdev, 0);
979 dev_err(&pdev->dev, "mmc_omap_probe: invalid resource type\n"); 980 if (!r || irq < 0)
980 return -ENODEV; 981 return -ENXIO;
981 }
982 982
983 if (!request_mem_region(pdev->resource[0].start, 983 r = request_mem_region(pdev->resource[0].start,
984 pdev->resource[0].end - pdev->resource[0].start + 1, 984 pdev->resource[0].end - pdev->resource[0].start + 1,
985 pdev->name)) { 985 pdev->name);
986 dev_dbg(&pdev->dev, "request_mem_region failed\n"); 986 if (!r)
987 return -EBUSY; 987 return -EBUSY;
988 }
989 988
990 mmc = mmc_alloc_host(sizeof(struct mmc_omap_host), &pdev->dev); 989 mmc = mmc_alloc_host(sizeof(struct mmc_omap_host), &pdev->dev);
991 if (!mmc) { 990 if (!mmc) {
@@ -1002,6 +1001,8 @@ static int __init mmc_omap_probe(struct platform_device *pdev)
1002 host->dma_timer.data = (unsigned long) host; 1001 host->dma_timer.data = (unsigned long) host;
1003 1002
1004 host->id = pdev->id; 1003 host->id = pdev->id;
1004 host->res = r;
1005 host->irq = irq;
1005 1006
1006 if (cpu_is_omap24xx()) { 1007 if (cpu_is_omap24xx()) {
1007 host->iclk = clk_get(&pdev->dev, "mmc_ick"); 1008 host->iclk = clk_get(&pdev->dev, "mmc_ick");
@@ -1031,13 +1032,9 @@ static int __init mmc_omap_probe(struct platform_device *pdev)
1031 host->dma_ch = -1; 1032 host->dma_ch = -1;
1032 1033
1033 host->irq = pdev->resource[1].start; 1034 host->irq = pdev->resource[1].start;
1034 host->base = ioremap(pdev->res.start, SZ_4K); 1035 host->base = (void __iomem*)IO_ADDRESS(r->start);
1035 if (!host->base) {
1036 ret = -ENOMEM;
1037 goto out;
1038 }
1039 1036
1040 if (minfo->wire4) 1037 if (minfo->wire4)
1041 mmc->caps |= MMC_CAP_4_BIT_DATA; 1038 mmc->caps |= MMC_CAP_4_BIT_DATA;
1042 1039
1043 mmc->ops = &mmc_omap_ops; 1040 mmc->ops = &mmc_omap_ops;
@@ -1056,8 +1053,8 @@ static int __init mmc_omap_probe(struct platform_device *pdev)
1056 1053
1057 if (host->power_pin >= 0) { 1054 if (host->power_pin >= 0) {
1058 if ((ret = omap_request_gpio(host->power_pin)) != 0) { 1055 if ((ret = omap_request_gpio(host->power_pin)) != 0) {
1059 dev_err(mmc_dev(host->mmc), "Unable to get GPIO 1056 dev_err(mmc_dev(host->mmc),
1060 pin for MMC power\n"); 1057 "Unable to get GPIO pin for MMC power\n");
1061 goto out; 1058 goto out;
1062 } 1059 }
1063 omap_set_gpio_direction(host->power_pin, 0); 1060 omap_set_gpio_direction(host->power_pin, 0);
@@ -1085,7 +1082,7 @@ static int __init mmc_omap_probe(struct platform_device *pdev)
1085 1082
1086 omap_set_gpio_direction(host->switch_pin, 1); 1083 omap_set_gpio_direction(host->switch_pin, 1);
1087 ret = request_irq(OMAP_GPIO_IRQ(host->switch_pin), 1084 ret = request_irq(OMAP_GPIO_IRQ(host->switch_pin),
1088 mmc_omap_switch_irq, SA_TRIGGER_RISING, DRIVER_NAME, host); 1085 mmc_omap_switch_irq, IRQF_TRIGGER_RISING, DRIVER_NAME, host);
1089 if (ret) { 1086 if (ret) {
1090 dev_warn(mmc_dev(host->mmc), "Unable to get IRQ for MMC cover switch\n"); 1087 dev_warn(mmc_dev(host->mmc), "Unable to get IRQ for MMC cover switch\n");
1091 omap_free_gpio(host->switch_pin); 1088 omap_free_gpio(host->switch_pin);
@@ -1099,7 +1096,7 @@ static int __init mmc_omap_probe(struct platform_device *pdev)
1099 device_remove_file(&pdev->dev, &dev_attr_cover_switch); 1096 device_remove_file(&pdev->dev, &dev_attr_cover_switch);
1100 } 1097 }
1101 if (ret) { 1098 if (ret) {
1102 dev_wan(mmc_dev(host->mmc), "Unable to create sysfs attributes\n"); 1099 dev_warn(mmc_dev(host->mmc), "Unable to create sysfs attributes\n");
1103 free_irq(OMAP_GPIO_IRQ(host->switch_pin), host); 1100 free_irq(OMAP_GPIO_IRQ(host->switch_pin), host);
1104 omap_free_gpio(host->switch_pin); 1101 omap_free_gpio(host->switch_pin);
1105 host->switch_pin = -1; 1102 host->switch_pin = -1;
diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c
index 60a40cb0a49a..893319108ba4 100644
--- a/drivers/mmc/sdhci.c
+++ b/drivers/mmc/sdhci.c
@@ -1314,7 +1314,7 @@ static int __devinit sdhci_probe_slot(struct pci_dev *pdev, int slot)
1314 1314
1315 setup_timer(&host->timer, sdhci_timeout_timer, (long)host); 1315 setup_timer(&host->timer, sdhci_timeout_timer, (long)host);
1316 1316
1317 ret = request_irq(host->irq, sdhci_irq, SA_SHIRQ, 1317 ret = request_irq(host->irq, sdhci_irq, IRQF_SHARED,
1318 host->slot_descr, host); 1318 host->slot_descr, host);
1319 if (ret) 1319 if (ret)
1320 goto untasklet; 1320 goto untasklet;
diff --git a/drivers/mmc/wbsd.c b/drivers/mmc/wbsd.c
index 3fcd86c08ebd..8a30ef3ae419 100644
--- a/drivers/mmc/wbsd.c
+++ b/drivers/mmc/wbsd.c
@@ -1553,7 +1553,7 @@ static int __devinit wbsd_request_irq(struct wbsd_host *host, int irq)
1553 * Allocate interrupt. 1553 * Allocate interrupt.
1554 */ 1554 */
1555 1555
1556 ret = request_irq(irq, wbsd_irq, SA_SHIRQ, DRIVER_NAME, host); 1556 ret = request_irq(irq, wbsd_irq, IRQF_SHARED, DRIVER_NAME, host);
1557 if (ret) 1557 if (ret)
1558 return ret; 1558 return ret;
1559 1559
diff --git a/drivers/net/3c515.c b/drivers/net/3c515.c
index ac60f3f62db8..4532b17e40ea 100644
--- a/drivers/net/3c515.c
+++ b/drivers/net/3c515.c
@@ -760,7 +760,7 @@ static int corkscrew_open(struct net_device *dev)
760 vp->product_name, dev)) return -EAGAIN; 760 vp->product_name, dev)) return -EAGAIN;
761 enable_dma(dev->dma); 761 enable_dma(dev->dma);
762 set_dma_mode(dev->dma, DMA_MODE_CASCADE); 762 set_dma_mode(dev->dma, DMA_MODE_CASCADE);
763 } else if (request_irq(dev->irq, &corkscrew_interrupt, SA_SHIRQ, 763 } else if (request_irq(dev->irq, &corkscrew_interrupt, IRQF_SHARED,
764 vp->product_name, dev)) { 764 vp->product_name, dev)) {
765 return -EAGAIN; 765 return -EAGAIN;
766 } 766 }
diff --git a/drivers/net/3c523.c b/drivers/net/3c523.c
index 4bf8510655c5..5dfd97f0ba9e 100644
--- a/drivers/net/3c523.c
+++ b/drivers/net/3c523.c
@@ -289,7 +289,7 @@ static int elmc_open(struct net_device *dev)
289 289
290 elmc_id_attn586(); /* disable interrupts */ 290 elmc_id_attn586(); /* disable interrupts */
291 291
292 ret = request_irq(dev->irq, &elmc_interrupt, SA_SHIRQ | SA_SAMPLE_RANDOM, 292 ret = request_irq(dev->irq, &elmc_interrupt, IRQF_SHARED | IRQF_SAMPLE_RANDOM,
293 dev->name, dev); 293 dev->name, dev);
294 if (ret) { 294 if (ret) {
295 printk(KERN_ERR "%s: couldn't get irq %d\n", dev->name, dev->irq); 295 printk(KERN_ERR "%s: couldn't get irq %d\n", dev->name, dev->irq);
diff --git a/drivers/net/3c527.c b/drivers/net/3c527.c
index 157eda573925..03c0f7176fc9 100644
--- a/drivers/net/3c527.c
+++ b/drivers/net/3c527.c
@@ -435,7 +435,7 @@ static int __init mc32_probe1(struct net_device *dev, int slot)
435 * Grab the IRQ 435 * Grab the IRQ
436 */ 436 */
437 437
438 err = request_irq(dev->irq, &mc32_interrupt, SA_SHIRQ | SA_SAMPLE_RANDOM, DRV_NAME, dev); 438 err = request_irq(dev->irq, &mc32_interrupt, IRQF_SHARED | IRQF_SAMPLE_RANDOM, DRV_NAME, dev);
439 if (err) { 439 if (err) {
440 release_region(dev->base_addr, MC32_IO_EXTENT); 440 release_region(dev->base_addr, MC32_IO_EXTENT);
441 printk(KERN_ERR "%s: unable to get IRQ %d.\n", DRV_NAME, dev->irq); 441 printk(KERN_ERR "%s: unable to get IRQ %d.\n", DRV_NAME, dev->irq);
diff --git a/drivers/net/3c59x.c b/drivers/net/3c59x.c
index 45125db44177..8ab03b4a885e 100644
--- a/drivers/net/3c59x.c
+++ b/drivers/net/3c59x.c
@@ -996,7 +996,7 @@ static int vortex_resume(struct pci_dev *pdev)
996 pci_enable_device(pdev); 996 pci_enable_device(pdev);
997 pci_set_master(pdev); 997 pci_set_master(pdev);
998 if (request_irq(dev->irq, vp->full_bus_master_rx ? 998 if (request_irq(dev->irq, vp->full_bus_master_rx ?
999 &boomerang_interrupt : &vortex_interrupt, SA_SHIRQ, dev->name, dev)) { 999 &boomerang_interrupt : &vortex_interrupt, IRQF_SHARED, dev->name, dev)) {
1000 printk(KERN_WARNING "%s: Could not reserve IRQ %d\n", dev->name, dev->irq); 1000 printk(KERN_WARNING "%s: Could not reserve IRQ %d\n", dev->name, dev->irq);
1001 pci_disable_device(pdev); 1001 pci_disable_device(pdev);
1002 return -EBUSY; 1002 return -EBUSY;
@@ -1833,7 +1833,7 @@ vortex_open(struct net_device *dev)
1833 1833
1834 /* Use the now-standard shared IRQ implementation. */ 1834 /* Use the now-standard shared IRQ implementation. */
1835 if ((retval = request_irq(dev->irq, vp->full_bus_master_rx ? 1835 if ((retval = request_irq(dev->irq, vp->full_bus_master_rx ?
1836 &boomerang_interrupt : &vortex_interrupt, SA_SHIRQ, dev->name, dev))) { 1836 &boomerang_interrupt : &vortex_interrupt, IRQF_SHARED, dev->name, dev))) {
1837 printk(KERN_ERR "%s: Could not reserve IRQ %d\n", dev->name, dev->irq); 1837 printk(KERN_ERR "%s: Could not reserve IRQ %d\n", dev->name, dev->irq);
1838 goto out; 1838 goto out;
1839 } 1839 }
diff --git a/drivers/net/8139cp.c b/drivers/net/8139cp.c
index 1d7af760c2b1..1959654cbec8 100644
--- a/drivers/net/8139cp.c
+++ b/drivers/net/8139cp.c
@@ -1203,7 +1203,7 @@ static int cp_open (struct net_device *dev)
1203 1203
1204 cp_init_hw(cp); 1204 cp_init_hw(cp);
1205 1205
1206 rc = request_irq(dev->irq, cp_interrupt, SA_SHIRQ, dev->name, dev); 1206 rc = request_irq(dev->irq, cp_interrupt, IRQF_SHARED, dev->name, dev);
1207 if (rc) 1207 if (rc)
1208 goto err_out_hw; 1208 goto err_out_hw;
1209 1209
diff --git a/drivers/net/8139too.c b/drivers/net/8139too.c
index d21e98f5adbc..717506b2b13a 100644
--- a/drivers/net/8139too.c
+++ b/drivers/net/8139too.c
@@ -1310,7 +1310,7 @@ static int rtl8139_open (struct net_device *dev)
1310 int retval; 1310 int retval;
1311 void __iomem *ioaddr = tp->mmio_addr; 1311 void __iomem *ioaddr = tp->mmio_addr;
1312 1312
1313 retval = request_irq (dev->irq, rtl8139_interrupt, SA_SHIRQ, dev->name, dev); 1313 retval = request_irq (dev->irq, rtl8139_interrupt, IRQF_SHARED, dev->name, dev);
1314 if (retval) 1314 if (retval)
1315 return retval; 1315 return retval;
1316 1316
diff --git a/drivers/net/a2065.c b/drivers/net/a2065.c
index 519390c033c3..f4ea62641acd 100644
--- a/drivers/net/a2065.c
+++ b/drivers/net/a2065.c
@@ -495,7 +495,7 @@ static int lance_open (struct net_device *dev)
495 ll->rdp = LE_C0_STOP; 495 ll->rdp = LE_C0_STOP;
496 496
497 /* Install the Interrupt handler */ 497 /* Install the Interrupt handler */
498 ret = request_irq(IRQ_AMIGA_PORTS, lance_interrupt, SA_SHIRQ, 498 ret = request_irq(IRQ_AMIGA_PORTS, lance_interrupt, IRQF_SHARED,
499 dev->name, dev); 499 dev->name, dev);
500 if (ret) return ret; 500 if (ret) return ret;
501 501
diff --git a/drivers/net/acenic.c b/drivers/net/acenic.c
index c290b5ae63b2..1c01e9b3d07c 100644
--- a/drivers/net/acenic.c
+++ b/drivers/net/acenic.c
@@ -1194,7 +1194,7 @@ static int __devinit ace_init(struct net_device *dev)
1194 goto init_error; 1194 goto init_error;
1195 } 1195 }
1196 1196
1197 ecode = request_irq(pdev->irq, ace_interrupt, SA_SHIRQ, 1197 ecode = request_irq(pdev->irq, ace_interrupt, IRQF_SHARED,
1198 DRV_NAME, dev); 1198 DRV_NAME, dev);
1199 if (ecode) { 1199 if (ecode) {
1200 printk(KERN_WARNING "%s: Requested IRQ %d is busy\n", 1200 printk(KERN_WARNING "%s: Requested IRQ %d is busy\n",
diff --git a/drivers/net/amd8111e.c b/drivers/net/amd8111e.c
index c017c4f6b3b5..ed322a76980d 100644
--- a/drivers/net/amd8111e.c
+++ b/drivers/net/amd8111e.c
@@ -1376,7 +1376,7 @@ static int amd8111e_open(struct net_device * dev )
1376{ 1376{
1377 struct amd8111e_priv *lp = netdev_priv(dev); 1377 struct amd8111e_priv *lp = netdev_priv(dev);
1378 1378
1379 if(dev->irq ==0 || request_irq(dev->irq, amd8111e_interrupt, SA_SHIRQ, 1379 if(dev->irq ==0 || request_irq(dev->irq, amd8111e_interrupt, IRQF_SHARED,
1380 dev->name, dev)) 1380 dev->name, dev))
1381 return -EAGAIN; 1381 return -EAGAIN;
1382 1382
diff --git a/drivers/net/apne.c b/drivers/net/apne.c
index b9820b86cdcc..9cc13a0250d6 100644
--- a/drivers/net/apne.c
+++ b/drivers/net/apne.c
@@ -313,7 +313,7 @@ static int __init apne_probe1(struct net_device *dev, int ioaddr)
313 dev->base_addr = ioaddr; 313 dev->base_addr = ioaddr;
314 314
315 /* Install the Interrupt handler */ 315 /* Install the Interrupt handler */
316 i = request_irq(IRQ_AMIGA_PORTS, apne_interrupt, SA_SHIRQ, DRV_NAME, dev); 316 i = request_irq(IRQ_AMIGA_PORTS, apne_interrupt, IRQF_SHARED, DRV_NAME, dev);
317 if (i) return i; 317 if (i) return i;
318 318
319 for(i = 0; i < ETHER_ADDR_LEN; i++) { 319 for(i = 0; i < ETHER_ADDR_LEN; i++) {
diff --git a/drivers/net/arcnet/com20020-pci.c b/drivers/net/arcnet/com20020-pci.c
index 96636ca8754e..979a33df0a8c 100644
--- a/drivers/net/arcnet/com20020-pci.c
+++ b/drivers/net/arcnet/com20020-pci.c
@@ -120,7 +120,7 @@ static int __devinit com20020pci_probe(struct pci_dev *pdev, const struct pci_de
120 goto out_port; 120 goto out_port;
121 } 121 }
122 122
123 if ((err = com20020_found(dev, SA_SHIRQ)) != 0) 123 if ((err = com20020_found(dev, IRQF_SHARED)) != 0)
124 goto out_port; 124 goto out_port;
125 125
126 return 0; 126 return 0;
diff --git a/drivers/net/ariadne.c b/drivers/net/ariadne.c
index a9bb7a4aff98..cc721addd576 100644
--- a/drivers/net/ariadne.c
+++ b/drivers/net/ariadne.c
@@ -320,7 +320,7 @@ static int ariadne_open(struct net_device *dev)
320 320
321 netif_start_queue(dev); 321 netif_start_queue(dev);
322 322
323 i = request_irq(IRQ_AMIGA_PORTS, ariadne_interrupt, SA_SHIRQ, 323 i = request_irq(IRQ_AMIGA_PORTS, ariadne_interrupt, IRQF_SHARED,
324 dev->name, dev); 324 dev->name, dev);
325 if (i) return i; 325 if (i) return i;
326 326
diff --git a/drivers/net/b44.c b/drivers/net/b44.c
index a7e4ba5a580f..cd98d31dee8c 100644
--- a/drivers/net/b44.c
+++ b/drivers/net/b44.c
@@ -1421,7 +1421,7 @@ static int b44_open(struct net_device *dev)
1421 1421
1422 b44_check_phy(bp); 1422 b44_check_phy(bp);
1423 1423
1424 err = request_irq(dev->irq, b44_interrupt, SA_SHIRQ, dev->name, dev); 1424 err = request_irq(dev->irq, b44_interrupt, IRQF_SHARED, dev->name, dev);
1425 if (unlikely(err < 0)) { 1425 if (unlikely(err < 0)) {
1426 b44_chip_reset(bp); 1426 b44_chip_reset(bp);
1427 b44_free_rings(bp); 1427 b44_free_rings(bp);
@@ -2322,7 +2322,7 @@ static int b44_resume(struct pci_dev *pdev)
2322 if (!netif_running(dev)) 2322 if (!netif_running(dev))
2323 return 0; 2323 return 0;
2324 2324
2325 if (request_irq(dev->irq, b44_interrupt, SA_SHIRQ, dev->name, dev)) 2325 if (request_irq(dev->irq, b44_interrupt, IRQF_SHARED, dev->name, dev))
2326 printk(KERN_ERR PFX "%s: request_irq failed\n", dev->name); 2326 printk(KERN_ERR PFX "%s: request_irq failed\n", dev->name);
2327 2327
2328 spin_lock_irq(&bp->lock); 2328 spin_lock_irq(&bp->lock);
diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c
index 7e32d4ea71e2..4f4db5ae503b 100644
--- a/drivers/net/bnx2.c
+++ b/drivers/net/bnx2.c
@@ -4260,11 +4260,11 @@ bnx2_open(struct net_device *dev)
4260 } 4260 }
4261 else { 4261 else {
4262 rc = request_irq(bp->pdev->irq, bnx2_interrupt, 4262 rc = request_irq(bp->pdev->irq, bnx2_interrupt,
4263 SA_SHIRQ, dev->name, dev); 4263 IRQF_SHARED, dev->name, dev);
4264 } 4264 }
4265 } 4265 }
4266 else { 4266 else {
4267 rc = request_irq(bp->pdev->irq, bnx2_interrupt, SA_SHIRQ, 4267 rc = request_irq(bp->pdev->irq, bnx2_interrupt, IRQF_SHARED,
4268 dev->name, dev); 4268 dev->name, dev);
4269 } 4269 }
4270 if (rc) { 4270 if (rc) {
@@ -4311,7 +4311,7 @@ bnx2_open(struct net_device *dev)
4311 4311
4312 if (!rc) { 4312 if (!rc) {
4313 rc = request_irq(bp->pdev->irq, bnx2_interrupt, 4313 rc = request_irq(bp->pdev->irq, bnx2_interrupt,
4314 SA_SHIRQ, dev->name, dev); 4314 IRQF_SHARED, dev->name, dev);
4315 } 4315 }
4316 if (rc) { 4316 if (rc) {
4317 bnx2_free_skbs(bp); 4317 bnx2_free_skbs(bp);
diff --git a/drivers/net/cassini.c b/drivers/net/cassini.c
index b89c7bb2c591..d33130f64700 100644
--- a/drivers/net/cassini.c
+++ b/drivers/net/cassini.c
@@ -4349,7 +4349,7 @@ static int cas_open(struct net_device *dev)
4349 * mapping to expose them 4349 * mapping to expose them
4350 */ 4350 */
4351 if (request_irq(cp->pdev->irq, cas_interrupt, 4351 if (request_irq(cp->pdev->irq, cas_interrupt,
4352 SA_SHIRQ, dev->name, (void *) dev)) { 4352 IRQF_SHARED, dev->name, (void *) dev)) {
4353 printk(KERN_ERR "%s: failed to request irq !\n", 4353 printk(KERN_ERR "%s: failed to request irq !\n",
4354 cp->dev->name); 4354 cp->dev->name);
4355 err = -EAGAIN; 4355 err = -EAGAIN;
diff --git a/drivers/net/chelsio/cxgb2.c b/drivers/net/chelsio/cxgb2.c
index c490a862e79c..e67872433e92 100644
--- a/drivers/net/chelsio/cxgb2.c
+++ b/drivers/net/chelsio/cxgb2.c
@@ -218,7 +218,7 @@ static int cxgb_up(struct adapter *adapter)
218 218
219 t1_interrupts_clear(adapter); 219 t1_interrupts_clear(adapter);
220 if ((err = request_irq(adapter->pdev->irq, 220 if ((err = request_irq(adapter->pdev->irq,
221 t1_select_intr_handler(adapter), SA_SHIRQ, 221 t1_select_intr_handler(adapter), IRQF_SHARED,
222 adapter->name, adapter))) { 222 adapter->name, adapter))) {
223 goto out_err; 223 goto out_err;
224 } 224 }
diff --git a/drivers/net/cris/eth_v10.c b/drivers/net/cris/eth_v10.c
index d3654fd71604..0eb1f8787ed7 100644
--- a/drivers/net/cris/eth_v10.c
+++ b/drivers/net/cris/eth_v10.c
@@ -671,7 +671,7 @@ e100_open(struct net_device *dev)
671 /* allocate the irq corresponding to the receiving DMA */ 671 /* allocate the irq corresponding to the receiving DMA */
672 672
673 if (request_irq(NETWORK_DMA_RX_IRQ_NBR, e100rxtx_interrupt, 673 if (request_irq(NETWORK_DMA_RX_IRQ_NBR, e100rxtx_interrupt,
674 SA_SAMPLE_RANDOM, cardname, (void *)dev)) { 674 IRQF_SAMPLE_RANDOM, cardname, (void *)dev)) {
675 goto grace_exit0; 675 goto grace_exit0;
676 } 676 }
677 677
diff --git a/drivers/net/defxx.c b/drivers/net/defxx.c
index 5acd35c312ac..91cc8cbdd440 100644
--- a/drivers/net/defxx.c
+++ b/drivers/net/defxx.c
@@ -1228,7 +1228,7 @@ static int dfx_open(struct net_device *dev)
1228 1228
1229 /* Register IRQ - support shared interrupts by passing device ptr */ 1229 /* Register IRQ - support shared interrupts by passing device ptr */
1230 1230
1231 ret = request_irq(dev->irq, dfx_interrupt, SA_SHIRQ, dev->name, dev); 1231 ret = request_irq(dev->irq, dfx_interrupt, IRQF_SHARED, dev->name, dev);
1232 if (ret) { 1232 if (ret) {
1233 printk(KERN_ERR "%s: Requested IRQ %d is busy\n", dev->name, dev->irq); 1233 printk(KERN_ERR "%s: Requested IRQ %d is busy\n", dev->name, dev->irq);
1234 return ret; 1234 return ret;
diff --git a/drivers/net/dgrs.c b/drivers/net/dgrs.c
index e175d4876682..fa4f09432975 100644
--- a/drivers/net/dgrs.c
+++ b/drivers/net/dgrs.c
@@ -1191,7 +1191,7 @@ dgrs_probe1(struct net_device *dev)
1191 if (priv->plxreg) 1191 if (priv->plxreg)
1192 OUTL(dev->base_addr + PLX_LCL2PCI_DOORBELL, 1); 1192 OUTL(dev->base_addr + PLX_LCL2PCI_DOORBELL, 1);
1193 1193
1194 rc = request_irq(dev->irq, &dgrs_intr, SA_SHIRQ, "RightSwitch", dev); 1194 rc = request_irq(dev->irq, &dgrs_intr, IRQF_SHARED, "RightSwitch", dev);
1195 if (rc) 1195 if (rc)
1196 goto err_out; 1196 goto err_out;
1197 1197
diff --git a/drivers/net/dl2k.c b/drivers/net/dl2k.c
index 29778055223b..4b6ddb70f921 100644
--- a/drivers/net/dl2k.c
+++ b/drivers/net/dl2k.c
@@ -440,7 +440,7 @@ rio_open (struct net_device *dev)
440 int i; 440 int i;
441 u16 macctrl; 441 u16 macctrl;
442 442
443 i = request_irq (dev->irq, &rio_interrupt, SA_SHIRQ, dev->name, dev); 443 i = request_irq (dev->irq, &rio_interrupt, IRQF_SHARED, dev->name, dev);
444 if (i) 444 if (i)
445 return i; 445 return i;
446 446
diff --git a/drivers/net/dm9000.c b/drivers/net/dm9000.c
index 7965a9b08e79..1b758b707134 100644
--- a/drivers/net/dm9000.c
+++ b/drivers/net/dm9000.c
@@ -603,7 +603,7 @@ dm9000_open(struct net_device *dev)
603 603
604 PRINTK2("entering dm9000_open\n"); 604 PRINTK2("entering dm9000_open\n");
605 605
606 if (request_irq(dev->irq, &dm9000_interrupt, SA_SHIRQ, dev->name, dev)) 606 if (request_irq(dev->irq, &dm9000_interrupt, IRQF_SHARED, dev->name, dev))
607 return -EAGAIN; 607 return -EAGAIN;
608 608
609 /* Initialize DM9000 board */ 609 /* Initialize DM9000 board */
diff --git a/drivers/net/e100.c b/drivers/net/e100.c
index a1d676a0df7c..91ef5f2fd768 100644
--- a/drivers/net/e100.c
+++ b/drivers/net/e100.c
@@ -2063,7 +2063,7 @@ static int e100_up(struct nic *nic)
2063 e100_set_multicast_list(nic->netdev); 2063 e100_set_multicast_list(nic->netdev);
2064 e100_start_receiver(nic, NULL); 2064 e100_start_receiver(nic, NULL);
2065 mod_timer(&nic->watchdog, jiffies); 2065 mod_timer(&nic->watchdog, jiffies);
2066 if((err = request_irq(nic->pdev->irq, e100_intr, SA_SHIRQ, 2066 if((err = request_irq(nic->pdev->irq, e100_intr, IRQF_SHARED,
2067 nic->netdev->name, nic->netdev))) 2067 nic->netdev->name, nic->netdev)))
2068 goto err_no_irq; 2068 goto err_no_irq;
2069 netif_wake_queue(nic->netdev); 2069 netif_wake_queue(nic->netdev);
diff --git a/drivers/net/e1000/e1000_ethtool.c b/drivers/net/e1000/e1000_ethtool.c
index 6ed7f599eba3..d19664891768 100644
--- a/drivers/net/e1000/e1000_ethtool.c
+++ b/drivers/net/e1000/e1000_ethtool.c
@@ -871,10 +871,10 @@ e1000_intr_test(struct e1000_adapter *adapter, uint64_t *data)
871 *data = 0; 871 *data = 0;
872 872
873 /* Hook up test interrupt handler just for this test */ 873 /* Hook up test interrupt handler just for this test */
874 if (!request_irq(irq, &e1000_test_intr, SA_PROBEIRQ, netdev->name, 874 if (!request_irq(irq, &e1000_test_intr, IRQF_PROBE_SHARED,
875 netdev)) { 875 netdev->name, netdev)) {
876 shared_int = FALSE; 876 shared_int = FALSE;
877 } else if (request_irq(irq, &e1000_test_intr, SA_SHIRQ, 877 } else if (request_irq(irq, &e1000_test_intr, IRQF_SHARED,
878 netdev->name, netdev)){ 878 netdev->name, netdev)){
879 *data = 1; 879 *data = 1;
880 return -1; 880 return -1;
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index 32b7d444b374..f77624f5f17b 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -426,7 +426,7 @@ e1000_up(struct e1000_adapter *adapter)
426 } 426 }
427#endif 427#endif
428 if ((err = request_irq(adapter->pdev->irq, &e1000_intr, 428 if ((err = request_irq(adapter->pdev->irq, &e1000_intr,
429 SA_SHIRQ | SA_SAMPLE_RANDOM, 429 IRQF_SHARED | IRQF_SAMPLE_RANDOM,
430 netdev->name, netdev))) { 430 netdev->name, netdev))) {
431 DPRINTK(PROBE, ERR, 431 DPRINTK(PROBE, ERR,
432 "Unable to allocate interrupt Error: %d\n", err); 432 "Unable to allocate interrupt Error: %d\n", err);
diff --git a/drivers/net/eepro.c b/drivers/net/eepro.c
index e70f172699db..20d31430c74f 100644
--- a/drivers/net/eepro.c
+++ b/drivers/net/eepro.c
@@ -920,7 +920,7 @@ static int eepro_grab_irq(struct net_device *dev)
920 920
921 eepro_sw2bank0(ioaddr); /* Switch back to Bank 0 */ 921 eepro_sw2bank0(ioaddr); /* Switch back to Bank 0 */
922 922
923 if (request_irq (*irqp, NULL, SA_SHIRQ, "bogus", dev) != EBUSY) { 923 if (request_irq (*irqp, NULL, IRQF_SHARED, "bogus", dev) != EBUSY) {
924 unsigned long irq_mask; 924 unsigned long irq_mask;
925 /* Twinkle the interrupt, and check if it's seen */ 925 /* Twinkle the interrupt, and check if it's seen */
926 irq_mask = probe_irq_on(); 926 irq_mask = probe_irq_on();
diff --git a/drivers/net/eepro100.c b/drivers/net/eepro100.c
index 1e2fbbbb966e..2ad327542927 100644
--- a/drivers/net/eepro100.c
+++ b/drivers/net/eepro100.c
@@ -977,7 +977,7 @@ speedo_open(struct net_device *dev)
977 sp->in_interrupt = 0; 977 sp->in_interrupt = 0;
978 978
979 /* .. we can safely take handler calls during init. */ 979 /* .. we can safely take handler calls during init. */
980 retval = request_irq(dev->irq, &speedo_interrupt, SA_SHIRQ, dev->name, dev); 980 retval = request_irq(dev->irq, &speedo_interrupt, IRQF_SHARED, dev->name, dev);
981 if (retval) { 981 if (retval) {
982 return retval; 982 return retval;
983 } 983 }
diff --git a/drivers/net/epic100.c b/drivers/net/epic100.c
index b160abed8dd7..9f3e09a3d88c 100644
--- a/drivers/net/epic100.c
+++ b/drivers/net/epic100.c
@@ -713,7 +713,7 @@ static int epic_open(struct net_device *dev)
713 /* Soft reset the chip. */ 713 /* Soft reset the chip. */
714 outl(0x4001, ioaddr + GENCTL); 714 outl(0x4001, ioaddr + GENCTL);
715 715
716 if ((retval = request_irq(dev->irq, &epic_interrupt, SA_SHIRQ, dev->name, dev))) 716 if ((retval = request_irq(dev->irq, &epic_interrupt, IRQF_SHARED, dev->name, dev)))
717 return retval; 717 return retval;
718 718
719 epic_init_ring(dev); 719 epic_init_ring(dev);
diff --git a/drivers/net/fealnx.c b/drivers/net/fealnx.c
index 13eca7ede2af..c701951dcd6f 100644
--- a/drivers/net/fealnx.c
+++ b/drivers/net/fealnx.c
@@ -834,7 +834,7 @@ static int netdev_open(struct net_device *dev)
834 834
835 iowrite32(0x00000001, ioaddr + BCR); /* Reset */ 835 iowrite32(0x00000001, ioaddr + BCR); /* Reset */
836 836
837 if (request_irq(dev->irq, &intr_handler, SA_SHIRQ, dev->name, dev)) 837 if (request_irq(dev->irq, &intr_handler, IRQF_SHARED, dev->name, dev))
838 return -EAGAIN; 838 return -EAGAIN;
839 839
840 for (i = 0; i < 3; i++) 840 for (i = 0; i < 3; i++)
diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c
index 21be4fa071b5..3c90003f4230 100644
--- a/drivers/net/forcedeth.c
+++ b/drivers/net/forcedeth.c
@@ -2622,21 +2622,21 @@ static int nv_request_irq(struct net_device *dev, int intr_test)
2622 np->msi_flags |= NV_MSI_X_ENABLED; 2622 np->msi_flags |= NV_MSI_X_ENABLED;
2623 if (optimization_mode == NV_OPTIMIZATION_MODE_THROUGHPUT && !intr_test) { 2623 if (optimization_mode == NV_OPTIMIZATION_MODE_THROUGHPUT && !intr_test) {
2624 /* Request irq for rx handling */ 2624 /* Request irq for rx handling */
2625 if (request_irq(np->msi_x_entry[NV_MSI_X_VECTOR_RX].vector, &nv_nic_irq_rx, SA_SHIRQ, dev->name, dev) != 0) { 2625 if (request_irq(np->msi_x_entry[NV_MSI_X_VECTOR_RX].vector, &nv_nic_irq_rx, IRQF_SHARED, dev->name, dev) != 0) {
2626 printk(KERN_INFO "forcedeth: request_irq failed for rx %d\n", ret); 2626 printk(KERN_INFO "forcedeth: request_irq failed for rx %d\n", ret);
2627 pci_disable_msix(np->pci_dev); 2627 pci_disable_msix(np->pci_dev);
2628 np->msi_flags &= ~NV_MSI_X_ENABLED; 2628 np->msi_flags &= ~NV_MSI_X_ENABLED;
2629 goto out_err; 2629 goto out_err;
2630 } 2630 }
2631 /* Request irq for tx handling */ 2631 /* Request irq for tx handling */
2632 if (request_irq(np->msi_x_entry[NV_MSI_X_VECTOR_TX].vector, &nv_nic_irq_tx, SA_SHIRQ, dev->name, dev) != 0) { 2632 if (request_irq(np->msi_x_entry[NV_MSI_X_VECTOR_TX].vector, &nv_nic_irq_tx, IRQF_SHARED, dev->name, dev) != 0) {
2633 printk(KERN_INFO "forcedeth: request_irq failed for tx %d\n", ret); 2633 printk(KERN_INFO "forcedeth: request_irq failed for tx %d\n", ret);
2634 pci_disable_msix(np->pci_dev); 2634 pci_disable_msix(np->pci_dev);
2635 np->msi_flags &= ~NV_MSI_X_ENABLED; 2635 np->msi_flags &= ~NV_MSI_X_ENABLED;
2636 goto out_free_rx; 2636 goto out_free_rx;
2637 } 2637 }
2638 /* Request irq for link and timer handling */ 2638 /* Request irq for link and timer handling */
2639 if (request_irq(np->msi_x_entry[NV_MSI_X_VECTOR_OTHER].vector, &nv_nic_irq_other, SA_SHIRQ, dev->name, dev) != 0) { 2639 if (request_irq(np->msi_x_entry[NV_MSI_X_VECTOR_OTHER].vector, &nv_nic_irq_other, IRQF_SHARED, dev->name, dev) != 0) {
2640 printk(KERN_INFO "forcedeth: request_irq failed for link %d\n", ret); 2640 printk(KERN_INFO "forcedeth: request_irq failed for link %d\n", ret);
2641 pci_disable_msix(np->pci_dev); 2641 pci_disable_msix(np->pci_dev);
2642 np->msi_flags &= ~NV_MSI_X_ENABLED; 2642 np->msi_flags &= ~NV_MSI_X_ENABLED;
@@ -2651,9 +2651,9 @@ static int nv_request_irq(struct net_device *dev, int intr_test)
2651 } else { 2651 } else {
2652 /* Request irq for all interrupts */ 2652 /* Request irq for all interrupts */
2653 if ((!intr_test && 2653 if ((!intr_test &&
2654 request_irq(np->msi_x_entry[NV_MSI_X_VECTOR_ALL].vector, &nv_nic_irq, SA_SHIRQ, dev->name, dev) != 0) || 2654 request_irq(np->msi_x_entry[NV_MSI_X_VECTOR_ALL].vector, &nv_nic_irq, IRQF_SHARED, dev->name, dev) != 0) ||
2655 (intr_test && 2655 (intr_test &&
2656 request_irq(np->msi_x_entry[NV_MSI_X_VECTOR_ALL].vector, &nv_nic_irq_test, SA_SHIRQ, dev->name, dev) != 0)) { 2656 request_irq(np->msi_x_entry[NV_MSI_X_VECTOR_ALL].vector, &nv_nic_irq_test, IRQF_SHARED, dev->name, dev) != 0)) {
2657 printk(KERN_INFO "forcedeth: request_irq failed %d\n", ret); 2657 printk(KERN_INFO "forcedeth: request_irq failed %d\n", ret);
2658 pci_disable_msix(np->pci_dev); 2658 pci_disable_msix(np->pci_dev);
2659 np->msi_flags &= ~NV_MSI_X_ENABLED; 2659 np->msi_flags &= ~NV_MSI_X_ENABLED;
@@ -2669,8 +2669,8 @@ static int nv_request_irq(struct net_device *dev, int intr_test)
2669 if (ret != 0 && np->msi_flags & NV_MSI_CAPABLE) { 2669 if (ret != 0 && np->msi_flags & NV_MSI_CAPABLE) {
2670 if ((ret = pci_enable_msi(np->pci_dev)) == 0) { 2670 if ((ret = pci_enable_msi(np->pci_dev)) == 0) {
2671 np->msi_flags |= NV_MSI_ENABLED; 2671 np->msi_flags |= NV_MSI_ENABLED;
2672 if ((!intr_test && request_irq(np->pci_dev->irq, &nv_nic_irq, SA_SHIRQ, dev->name, dev) != 0) || 2672 if ((!intr_test && request_irq(np->pci_dev->irq, &nv_nic_irq, IRQF_SHARED, dev->name, dev) != 0) ||
2673 (intr_test && request_irq(np->pci_dev->irq, &nv_nic_irq_test, SA_SHIRQ, dev->name, dev) != 0)) { 2673 (intr_test && request_irq(np->pci_dev->irq, &nv_nic_irq_test, IRQF_SHARED, dev->name, dev) != 0)) {
2674 printk(KERN_INFO "forcedeth: request_irq failed %d\n", ret); 2674 printk(KERN_INFO "forcedeth: request_irq failed %d\n", ret);
2675 pci_disable_msi(np->pci_dev); 2675 pci_disable_msi(np->pci_dev);
2676 np->msi_flags &= ~NV_MSI_ENABLED; 2676 np->msi_flags &= ~NV_MSI_ENABLED;
@@ -2685,8 +2685,8 @@ static int nv_request_irq(struct net_device *dev, int intr_test)
2685 } 2685 }
2686 } 2686 }
2687 if (ret != 0) { 2687 if (ret != 0) {
2688 if ((!intr_test && request_irq(np->pci_dev->irq, &nv_nic_irq, SA_SHIRQ, dev->name, dev) != 0) || 2688 if ((!intr_test && request_irq(np->pci_dev->irq, &nv_nic_irq, IRQF_SHARED, dev->name, dev) != 0) ||
2689 (intr_test && request_irq(np->pci_dev->irq, &nv_nic_irq_test, SA_SHIRQ, dev->name, dev) != 0)) 2689 (intr_test && request_irq(np->pci_dev->irq, &nv_nic_irq_test, IRQF_SHARED, dev->name, dev) != 0))
2690 goto out_err; 2690 goto out_err;
2691 2691
2692 } 2692 }
diff --git a/drivers/net/fs_enet/fs_enet-main.c b/drivers/net/fs_enet/fs_enet-main.c
index e96a93c94941..f6abff5846b3 100644
--- a/drivers/net/fs_enet/fs_enet-main.c
+++ b/drivers/net/fs_enet/fs_enet-main.c
@@ -671,7 +671,7 @@ static int fs_request_irq(struct net_device *dev, int irq, const char *name,
671 struct fs_enet_private *fep = netdev_priv(dev); 671 struct fs_enet_private *fep = netdev_priv(dev);
672 672
673 (*fep->ops->pre_request_irq)(dev, irq); 673 (*fep->ops->pre_request_irq)(dev, irq);
674 return request_irq(irq, irqf, SA_SHIRQ, name, dev); 674 return request_irq(irq, irqf, IRQF_SHARED, name, dev);
675} 675}
676 676
677static void fs_free_irq(struct net_device *dev, int irq) 677static void fs_free_irq(struct net_device *dev, int irq)
diff --git a/drivers/net/gt96100eth.c b/drivers/net/gt96100eth.c
index 2d2435404614..49dacc6e35aa 100644
--- a/drivers/net/gt96100eth.c
+++ b/drivers/net/gt96100eth.c
@@ -1030,7 +1030,7 @@ gt96100_open(struct net_device *dev)
1030 } 1030 }
1031 1031
1032 if ((retval = request_irq(dev->irq, &gt96100_interrupt, 1032 if ((retval = request_irq(dev->irq, &gt96100_interrupt,
1033 SA_SHIRQ, dev->name, dev))) { 1033 IRQF_SHARED, dev->name, dev))) {
1034 err("unable to get IRQ %d\n", dev->irq); 1034 err("unable to get IRQ %d\n", dev->irq);
1035 return retval; 1035 return retval;
1036 } 1036 }
diff --git a/drivers/net/hamachi.c b/drivers/net/hamachi.c
index 0ea4cb4a0d80..7bcd939c6edd 100644
--- a/drivers/net/hamachi.c
+++ b/drivers/net/hamachi.c
@@ -871,7 +871,7 @@ static int hamachi_open(struct net_device *dev)
871 u32 rx_int_var, tx_int_var; 871 u32 rx_int_var, tx_int_var;
872 u16 fifo_info; 872 u16 fifo_info;
873 873
874 i = request_irq(dev->irq, &hamachi_interrupt, SA_SHIRQ, dev->name, dev); 874 i = request_irq(dev->irq, &hamachi_interrupt, IRQF_SHARED, dev->name, dev);
875 if (i) 875 if (i)
876 return i; 876 return i;
877 877
diff --git a/drivers/net/hamradio/baycom_ser_fdx.c b/drivers/net/hamradio/baycom_ser_fdx.c
index 232793d2ce6b..55906c7b4bb1 100644
--- a/drivers/net/hamradio/baycom_ser_fdx.c
+++ b/drivers/net/hamradio/baycom_ser_fdx.c
@@ -434,7 +434,7 @@ static int ser12_open(struct net_device *dev)
434 outb(0, FCR(dev->base_addr)); /* disable FIFOs */ 434 outb(0, FCR(dev->base_addr)); /* disable FIFOs */
435 outb(0x0d, MCR(dev->base_addr)); 435 outb(0x0d, MCR(dev->base_addr));
436 outb(0, IER(dev->base_addr)); 436 outb(0, IER(dev->base_addr));
437 if (request_irq(dev->irq, ser12_interrupt, SA_INTERRUPT | SA_SHIRQ, 437 if (request_irq(dev->irq, ser12_interrupt, IRQF_DISABLED | IRQF_SHARED,
438 "baycom_ser_fdx", dev)) { 438 "baycom_ser_fdx", dev)) {
439 release_region(dev->base_addr, SER12_EXTENT); 439 release_region(dev->base_addr, SER12_EXTENT);
440 return -EBUSY; 440 return -EBUSY;
diff --git a/drivers/net/hamradio/baycom_ser_hdx.c b/drivers/net/hamradio/baycom_ser_hdx.c
index be596a3eb3fd..de95de8983da 100644
--- a/drivers/net/hamradio/baycom_ser_hdx.c
+++ b/drivers/net/hamradio/baycom_ser_hdx.c
@@ -488,7 +488,7 @@ static int ser12_open(struct net_device *dev)
488 outb(0, FCR(dev->base_addr)); /* disable FIFOs */ 488 outb(0, FCR(dev->base_addr)); /* disable FIFOs */
489 outb(0x0d, MCR(dev->base_addr)); 489 outb(0x0d, MCR(dev->base_addr));
490 outb(0, IER(dev->base_addr)); 490 outb(0, IER(dev->base_addr));
491 if (request_irq(dev->irq, ser12_interrupt, SA_INTERRUPT | SA_SHIRQ, 491 if (request_irq(dev->irq, ser12_interrupt, IRQF_DISABLED | IRQF_SHARED,
492 "baycom_ser12", dev)) { 492 "baycom_ser12", dev)) {
493 release_region(dev->base_addr, SER12_EXTENT); 493 release_region(dev->base_addr, SER12_EXTENT);
494 return -EBUSY; 494 return -EBUSY;
diff --git a/drivers/net/hamradio/scc.c b/drivers/net/hamradio/scc.c
index b9b10caa031c..df4b68142ac7 100644
--- a/drivers/net/hamradio/scc.c
+++ b/drivers/net/hamradio/scc.c
@@ -1736,7 +1736,7 @@ static int scc_net_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
1736 1736
1737 if (!Ivec[hwcfg.irq].used && hwcfg.irq) 1737 if (!Ivec[hwcfg.irq].used && hwcfg.irq)
1738 { 1738 {
1739 if (request_irq(hwcfg.irq, scc_isr, SA_INTERRUPT, "AX.25 SCC", NULL)) 1739 if (request_irq(hwcfg.irq, scc_isr, IRQF_DISABLED, "AX.25 SCC", NULL))
1740 printk(KERN_WARNING "z8530drv: warning, cannot get IRQ %d\n", hwcfg.irq); 1740 printk(KERN_WARNING "z8530drv: warning, cannot get IRQ %d\n", hwcfg.irq);
1741 else 1741 else
1742 Ivec[hwcfg.irq].used = 1; 1742 Ivec[hwcfg.irq].used = 1;
diff --git a/drivers/net/hamradio/yam.c b/drivers/net/hamradio/yam.c
index dd2f11c98530..f98f5777dfbb 100644
--- a/drivers/net/hamradio/yam.c
+++ b/drivers/net/hamradio/yam.c
@@ -873,7 +873,7 @@ static int yam_open(struct net_device *dev)
873 goto out_release_base; 873 goto out_release_base;
874 } 874 }
875 outb(0, IER(dev->base_addr)); 875 outb(0, IER(dev->base_addr));
876 if (request_irq(dev->irq, yam_interrupt, SA_INTERRUPT | SA_SHIRQ, dev->name, dev)) { 876 if (request_irq(dev->irq, yam_interrupt, IRQF_DISABLED | IRQF_SHARED, dev->name, dev)) {
877 printk(KERN_ERR "%s: irq %d busy\n", dev->name, dev->irq); 877 printk(KERN_ERR "%s: irq %d busy\n", dev->name, dev->irq);
878 ret = -EBUSY; 878 ret = -EBUSY;
879 goto out_release_base; 879 goto out_release_base;
diff --git a/drivers/net/hp100.c b/drivers/net/hp100.c
index dd1dc32dc98d..e7d9bf330287 100644
--- a/drivers/net/hp100.c
+++ b/drivers/net/hp100.c
@@ -1079,7 +1079,7 @@ static int hp100_open(struct net_device *dev)
1079 /* New: if bus is PCI or EISA, interrupts might be shared interrupts */ 1079 /* New: if bus is PCI or EISA, interrupts might be shared interrupts */
1080 if (request_irq(dev->irq, hp100_interrupt, 1080 if (request_irq(dev->irq, hp100_interrupt,
1081 lp->bus == HP100_BUS_PCI || lp->bus == 1081 lp->bus == HP100_BUS_PCI || lp->bus ==
1082 HP100_BUS_EISA ? SA_SHIRQ : SA_INTERRUPT, 1082 HP100_BUS_EISA ? IRQF_SHARED : IRQF_DISABLED,
1083 "hp100", dev)) { 1083 "hp100", dev)) {
1084 printk("hp100: %s: unable to get IRQ %d\n", dev->name, dev->irq); 1084 printk("hp100: %s: unable to get IRQ %d\n", dev->name, dev->irq);
1085 return -EAGAIN; 1085 return -EAGAIN;
diff --git a/drivers/net/hydra.c b/drivers/net/hydra.c
index d9fb8e74e631..91326ea3e12b 100644
--- a/drivers/net/hydra.c
+++ b/drivers/net/hydra.c
@@ -117,7 +117,7 @@ static int __devinit hydra_init(struct zorro_dev *z)
117 dev->irq = IRQ_AMIGA_PORTS; 117 dev->irq = IRQ_AMIGA_PORTS;
118 118
119 /* Install the Interrupt handler */ 119 /* Install the Interrupt handler */
120 if (request_irq(IRQ_AMIGA_PORTS, ei_interrupt, SA_SHIRQ, "Hydra Ethernet", 120 if (request_irq(IRQ_AMIGA_PORTS, ei_interrupt, IRQF_SHARED, "Hydra Ethernet",
121 dev)) { 121 dev)) {
122 free_netdev(dev); 122 free_netdev(dev);
123 return -EAGAIN; 123 return -EAGAIN;
diff --git a/drivers/net/ibmlana.c b/drivers/net/ibmlana.c
index 51fd51609ea9..2a95d72fa593 100644
--- a/drivers/net/ibmlana.c
+++ b/drivers/net/ibmlana.c
@@ -782,7 +782,7 @@ static int ibmlana_open(struct net_device *dev)
782 782
783 /* register resources - only necessary for IRQ */ 783 /* register resources - only necessary for IRQ */
784 784
785 result = request_irq(priv->realirq, irq_handler, SA_SHIRQ | SA_SAMPLE_RANDOM, dev->name, dev); 785 result = request_irq(priv->realirq, irq_handler, IRQF_SHARED | IRQF_SAMPLE_RANDOM, dev->name, dev);
786 if (result != 0) { 786 if (result != 0) {
787 printk(KERN_ERR "%s: failed to register irq %d\n", dev->name, dev->irq); 787 printk(KERN_ERR "%s: failed to register irq %d\n", dev->name, dev->irq);
788 return result; 788 return result;
diff --git a/drivers/net/ioc3-eth.c b/drivers/net/ioc3-eth.c
index dbf67750d899..68d8af7df08e 100644
--- a/drivers/net/ioc3-eth.c
+++ b/drivers/net/ioc3-eth.c
@@ -1063,7 +1063,7 @@ static int ioc3_open(struct net_device *dev)
1063{ 1063{
1064 struct ioc3_private *ip = netdev_priv(dev); 1064 struct ioc3_private *ip = netdev_priv(dev);
1065 1065
1066 if (request_irq(dev->irq, ioc3_interrupt, SA_SHIRQ, ioc3_str, dev)) { 1066 if (request_irq(dev->irq, ioc3_interrupt, IRQF_SHARED, ioc3_str, dev)) {
1067 printk(KERN_ERR "%s: Can't get irq %d\n", dev->name, dev->irq); 1067 printk(KERN_ERR "%s: Can't get irq %d\n", dev->name, dev->irq);
1068 1068
1069 return -EAGAIN; 1069 return -EAGAIN;
diff --git a/drivers/net/irda/donauboe.c b/drivers/net/irda/donauboe.c
index 910c0cab35b0..33c07d5275da 100644
--- a/drivers/net/irda/donauboe.c
+++ b/drivers/net/irda/donauboe.c
@@ -1372,7 +1372,7 @@ toshoboe_net_open (struct net_device *dev)
1372 return 0; 1372 return 0;
1373 1373
1374 if (request_irq (self->io.irq, toshoboe_interrupt, 1374 if (request_irq (self->io.irq, toshoboe_interrupt,
1375 SA_SHIRQ | SA_INTERRUPT, dev->name, (void *) self)) 1375 IRQF_SHARED | IRQF_DISABLED, dev->name, (void *) self))
1376 { 1376 {
1377 return -EAGAIN; 1377 return -EAGAIN;
1378 } 1378 }
@@ -1573,7 +1573,7 @@ toshoboe_open (struct pci_dev *pci_dev, const struct pci_device_id *pdid)
1573 self->io.fir_base = self->base; 1573 self->io.fir_base = self->base;
1574 self->io.fir_ext = OBOE_IO_EXTENT; 1574 self->io.fir_ext = OBOE_IO_EXTENT;
1575 self->io.irq = pci_dev->irq; 1575 self->io.irq = pci_dev->irq;
1576 self->io.irqflags = SA_SHIRQ | SA_INTERRUPT; 1576 self->io.irqflags = IRQF_SHARED | IRQF_DISABLED;
1577 1577
1578 self->speed = self->io.speed = 9600; 1578 self->speed = self->io.speed = 9600;
1579 self->async = 0; 1579 self->async = 0;
diff --git a/drivers/net/irda/vlsi_ir.c b/drivers/net/irda/vlsi_ir.c
index b9f28b14b3ae..92d646cc9edc 100644
--- a/drivers/net/irda/vlsi_ir.c
+++ b/drivers/net/irda/vlsi_ir.c
@@ -1517,7 +1517,7 @@ static int vlsi_open(struct net_device *ndev)
1517 1517
1518 outb(IRINTR_INT_MASK, ndev->base_addr+VLSI_PIO_IRINTR); 1518 outb(IRINTR_INT_MASK, ndev->base_addr+VLSI_PIO_IRINTR);
1519 1519
1520 if (request_irq(ndev->irq, vlsi_interrupt, SA_SHIRQ, 1520 if (request_irq(ndev->irq, vlsi_interrupt, IRQF_SHARED,
1521 drivername, ndev)) { 1521 drivername, ndev)) {
1522 IRDA_WARNING("%s: couldn't get IRQ: %d\n", 1522 IRDA_WARNING("%s: couldn't get IRQ: %d\n",
1523 __FUNCTION__, ndev->irq); 1523 __FUNCTION__, ndev->irq);
diff --git a/drivers/net/ixgb/ixgb_main.c b/drivers/net/ixgb/ixgb_main.c
index 8bb32f946993..b91e082483f6 100644
--- a/drivers/net/ixgb/ixgb_main.c
+++ b/drivers/net/ixgb/ixgb_main.c
@@ -253,7 +253,7 @@ ixgb_up(struct ixgb_adapter *adapter)
253 253
254#endif 254#endif
255 if((err = request_irq(adapter->pdev->irq, &ixgb_intr, 255 if((err = request_irq(adapter->pdev->irq, &ixgb_intr,
256 SA_SHIRQ | SA_SAMPLE_RANDOM, 256 IRQF_SHARED | IRQF_SAMPLE_RANDOM,
257 netdev->name, netdev))) { 257 netdev->name, netdev))) {
258 DPRINTK(PROBE, ERR, 258 DPRINTK(PROBE, ERR,
259 "Unable to allocate interrupt Error: %d\n", err); 259 "Unable to allocate interrupt Error: %d\n", err);
diff --git a/drivers/net/ixp2000/ixpdev.c b/drivers/net/ixp2000/ixpdev.c
index 99229a0456d9..6eeb965b4d72 100644
--- a/drivers/net/ixp2000/ixpdev.c
+++ b/drivers/net/ixp2000/ixpdev.c
@@ -235,7 +235,7 @@ static int ixpdev_open(struct net_device *dev)
235 235
236 if (!nds_open++) { 236 if (!nds_open++) {
237 err = request_irq(IRQ_IXP2000_THDA0, ixpdev_interrupt, 237 err = request_irq(IRQ_IXP2000_THDA0, ixpdev_interrupt,
238 SA_SHIRQ, "ixp2000_eth", nds); 238 IRQF_SHARED, "ixp2000_eth", nds);
239 if (err) { 239 if (err) {
240 nds_open--; 240 nds_open--;
241 return err; 241 return err;
diff --git a/drivers/net/jazzsonic.c b/drivers/net/jazzsonic.c
index 272d331d29cd..661d75b4cad2 100644
--- a/drivers/net/jazzsonic.c
+++ b/drivers/net/jazzsonic.c
@@ -260,7 +260,7 @@ MODULE_DESCRIPTION("Jazz SONIC ethernet driver");
260module_param(sonic_debug, int, 0); 260module_param(sonic_debug, int, 0);
261MODULE_PARM_DESC(sonic_debug, "jazzsonic debug level (1-4)"); 261MODULE_PARM_DESC(sonic_debug, "jazzsonic debug level (1-4)");
262 262
263#define SONIC_IRQ_FLAG SA_INTERRUPT 263#define SONIC_IRQ_FLAG IRQF_DISABLED
264 264
265#include "sonic.c" 265#include "sonic.c"
266 266
diff --git a/drivers/net/lp486e.c b/drivers/net/lp486e.c
index bf3f343ae715..b783a6984abc 100644
--- a/drivers/net/lp486e.c
+++ b/drivers/net/lp486e.c
@@ -851,7 +851,7 @@ static int i596_open(struct net_device *dev)
851{ 851{
852 int i; 852 int i;
853 853
854 i = request_irq(dev->irq, &i596_interrupt, SA_SHIRQ, dev->name, dev); 854 i = request_irq(dev->irq, &i596_interrupt, IRQF_SHARED, dev->name, dev);
855 if (i) { 855 if (i) {
856 printk(KERN_ERR "%s: IRQ %d not free\n", dev->name, dev->irq); 856 printk(KERN_ERR "%s: IRQ %d not free\n", dev->name, dev->irq);
857 return i; 857 return i;
diff --git a/drivers/net/mipsnet.c b/drivers/net/mipsnet.c
index bbffb585b3b3..07e58f4a2916 100644
--- a/drivers/net/mipsnet.c
+++ b/drivers/net/mipsnet.c
@@ -179,7 +179,7 @@ static int mipsnet_open(struct net_device *dev)
179 pr_debug("%s: mipsnet_open\n", dev->name); 179 pr_debug("%s: mipsnet_open\n", dev->name);
180 180
181 err = request_irq(dev->irq, &mipsnet_interrupt, 181 err = request_irq(dev->irq, &mipsnet_interrupt,
182 SA_SHIRQ, dev->name, (void *) dev); 182 IRQF_SHARED, dev->name, (void *) dev);
183 183
184 if (err) { 184 if (err) {
185 pr_debug("%s: %s(): can't get irq %d\n", 185 pr_debug("%s: %s(): can't get irq %d\n",
diff --git a/drivers/net/mv643xx_eth.c b/drivers/net/mv643xx_eth.c
index 625ff61c9988..760c61b98867 100644
--- a/drivers/net/mv643xx_eth.c
+++ b/drivers/net/mv643xx_eth.c
@@ -778,7 +778,7 @@ static int mv643xx_eth_open(struct net_device *dev)
778 int err; 778 int err;
779 779
780 err = request_irq(dev->irq, mv643xx_eth_int_handler, 780 err = request_irq(dev->irq, mv643xx_eth_int_handler,
781 SA_SHIRQ | SA_SAMPLE_RANDOM, dev->name, dev); 781 IRQF_SHARED | IRQF_SAMPLE_RANDOM, dev->name, dev);
782 if (err) { 782 if (err) {
783 printk(KERN_ERR "Can not assign IRQ number to MV643XX_eth%d\n", 783 printk(KERN_ERR "Can not assign IRQ number to MV643XX_eth%d\n",
784 port_num); 784 port_num);
diff --git a/drivers/net/myri10ge/myri10ge.c b/drivers/net/myri10ge/myri10ge.c
index dbdf189436fa..72aad42db7b4 100644
--- a/drivers/net/myri10ge/myri10ge.c
+++ b/drivers/net/myri10ge/myri10ge.c
@@ -2413,7 +2413,7 @@ static int myri10ge_resume(struct pci_dev *pdev)
2413 pci_enable_device(pdev); 2413 pci_enable_device(pdev);
2414 pci_set_master(pdev); 2414 pci_set_master(pdev);
2415 2415
2416 status = request_irq(pdev->irq, myri10ge_intr, SA_SHIRQ, 2416 status = request_irq(pdev->irq, myri10ge_intr, IRQF_SHARED,
2417 netdev->name, mgp); 2417 netdev->name, mgp);
2418 if (status != 0) { 2418 if (status != 0) {
2419 dev_err(&pdev->dev, "failed to allocate IRQ\n"); 2419 dev_err(&pdev->dev, "failed to allocate IRQ\n");
@@ -2694,7 +2694,7 @@ static int myri10ge_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
2694 mgp->msi_enabled = 1; 2694 mgp->msi_enabled = 1;
2695 } 2695 }
2696 2696
2697 status = request_irq(pdev->irq, myri10ge_intr, SA_SHIRQ, 2697 status = request_irq(pdev->irq, myri10ge_intr, IRQF_SHARED,
2698 netdev->name, mgp); 2698 netdev->name, mgp);
2699 if (status != 0) { 2699 if (status != 0) {
2700 dev_err(&pdev->dev, "failed to allocate IRQ\n"); 2700 dev_err(&pdev->dev, "failed to allocate IRQ\n");
diff --git a/drivers/net/myri_sbus.c b/drivers/net/myri_sbus.c
index 19981065efb4..1b965a2b56e4 100644
--- a/drivers/net/myri_sbus.c
+++ b/drivers/net/myri_sbus.c
@@ -1069,7 +1069,7 @@ static int __init myri_ether_init(struct sbus_dev *sdev)
1069 /* Register interrupt handler now. */ 1069 /* Register interrupt handler now. */
1070 DET(("Requesting MYRIcom IRQ line.\n")); 1070 DET(("Requesting MYRIcom IRQ line.\n"));
1071 if (request_irq(dev->irq, &myri_interrupt, 1071 if (request_irq(dev->irq, &myri_interrupt,
1072 SA_SHIRQ, "MyriCOM Ethernet", (void *) dev)) { 1072 IRQF_SHARED, "MyriCOM Ethernet", (void *) dev)) {
1073 printk("MyriCOM: Cannot register interrupt handler.\n"); 1073 printk("MyriCOM: Cannot register interrupt handler.\n");
1074 goto err; 1074 goto err;
1075 } 1075 }
diff --git a/drivers/net/natsemi.c b/drivers/net/natsemi.c
index 438c63f940b9..9df2628be1e7 100644
--- a/drivers/net/natsemi.c
+++ b/drivers/net/natsemi.c
@@ -1574,7 +1574,7 @@ static int netdev_open(struct net_device *dev)
1574 /* Reset the chip, just in case. */ 1574 /* Reset the chip, just in case. */
1575 natsemi_reset(dev); 1575 natsemi_reset(dev);
1576 1576
1577 i = request_irq(dev->irq, &intr_handler, SA_SHIRQ, dev->name, dev); 1577 i = request_irq(dev->irq, &intr_handler, IRQF_SHARED, dev->name, dev);
1578 if (i) return i; 1578 if (i) return i;
1579 1579
1580 if (netif_msg_ifup(np)) 1580 if (netif_msg_ifup(np))
diff --git a/drivers/net/ne2k-pci.c b/drivers/net/ne2k-pci.c
index ced9fdb8335c..fa50eb889408 100644
--- a/drivers/net/ne2k-pci.c
+++ b/drivers/net/ne2k-pci.c
@@ -420,7 +420,7 @@ static int ne2k_pci_set_fdx(struct net_device *dev)
420 420
421static int ne2k_pci_open(struct net_device *dev) 421static int ne2k_pci_open(struct net_device *dev)
422{ 422{
423 int ret = request_irq(dev->irq, ei_interrupt, SA_SHIRQ, dev->name, dev); 423 int ret = request_irq(dev->irq, ei_interrupt, IRQF_SHARED, dev->name, dev);
424 if (ret) 424 if (ret)
425 return ret; 425 return ret;
426 426
diff --git a/drivers/net/netx-eth.c b/drivers/net/netx-eth.c
index b92430c4e3ac..b1311ae82675 100644
--- a/drivers/net/netx-eth.c
+++ b/drivers/net/netx-eth.c
@@ -223,7 +223,7 @@ static int netx_eth_open(struct net_device *ndev)
223 struct netx_eth_priv *priv = netdev_priv(ndev); 223 struct netx_eth_priv *priv = netdev_priv(ndev);
224 224
225 if (request_irq 225 if (request_irq
226 (ndev->irq, &netx_eth_interrupt, SA_SHIRQ, ndev->name, ndev)) 226 (ndev->irq, &netx_eth_interrupt, IRQF_SHARED, ndev->name, ndev))
227 return -EAGAIN; 227 return -EAGAIN;
228 228
229 writel(ndev->dev_addr[0] | 229 writel(ndev->dev_addr[0] |
diff --git a/drivers/net/ns83820.c b/drivers/net/ns83820.c
index deedd7b2af5d..70429108c40d 100644
--- a/drivers/net/ns83820.c
+++ b/drivers/net/ns83820.c
@@ -1881,7 +1881,7 @@ static int __devinit ns83820_init_one(struct pci_dev *pci_dev, const struct pci_
1881 1881
1882 dev->IMR_cache = 0; 1882 dev->IMR_cache = 0;
1883 1883
1884 err = request_irq(pci_dev->irq, ns83820_irq, SA_SHIRQ, 1884 err = request_irq(pci_dev->irq, ns83820_irq, IRQF_SHARED,
1885 DRV_NAME, ndev); 1885 DRV_NAME, ndev);
1886 if (err) { 1886 if (err) {
1887 printk(KERN_INFO "ns83820: unable to register irq %d\n", 1887 printk(KERN_INFO "ns83820: unable to register irq %d\n",
diff --git a/drivers/net/pci-skeleton.c b/drivers/net/pci-skeleton.c
index 978b95afc721..3388ee1313ea 100644
--- a/drivers/net/pci-skeleton.c
+++ b/drivers/net/pci-skeleton.c
@@ -1075,7 +1075,7 @@ static int netdrv_open (struct net_device *dev)
1075 1075
1076 DPRINTK ("ENTER\n"); 1076 DPRINTK ("ENTER\n");
1077 1077
1078 retval = request_irq (dev->irq, netdrv_interrupt, SA_SHIRQ, dev->name, dev); 1078 retval = request_irq (dev->irq, netdrv_interrupt, IRQF_SHARED, dev->name, dev);
1079 if (retval) { 1079 if (retval) {
1080 DPRINTK ("EXIT, returning %d\n", retval); 1080 DPRINTK ("EXIT, returning %d\n", retval);
1081 return retval; 1081 return retval;
diff --git a/drivers/net/pcmcia/axnet_cs.c b/drivers/net/pcmcia/axnet_cs.c
index 2ea66aca648b..297e9f805366 100644
--- a/drivers/net/pcmcia/axnet_cs.c
+++ b/drivers/net/pcmcia/axnet_cs.c
@@ -535,7 +535,7 @@ static int axnet_open(struct net_device *dev)
535 535
536 link->open++; 536 link->open++;
537 537
538 request_irq(dev->irq, ei_irq_wrapper, SA_SHIRQ, "axnet_cs", dev); 538 request_irq(dev->irq, ei_irq_wrapper, IRQF_SHARED, "axnet_cs", dev);
539 539
540 info->link_status = 0x00; 540 info->link_status = 0x00;
541 init_timer(&info->watchdog); 541 init_timer(&info->watchdog);
diff --git a/drivers/net/pcmcia/pcnet_cs.c b/drivers/net/pcmcia/pcnet_cs.c
index 661bfe54ff5d..0ecebfc31f07 100644
--- a/drivers/net/pcmcia/pcnet_cs.c
+++ b/drivers/net/pcmcia/pcnet_cs.c
@@ -998,7 +998,7 @@ static int pcnet_open(struct net_device *dev)
998 link->open++; 998 link->open++;
999 999
1000 set_misc_reg(dev); 1000 set_misc_reg(dev);
1001 request_irq(dev->irq, ei_irq_wrapper, SA_SHIRQ, dev_info, dev); 1001 request_irq(dev->irq, ei_irq_wrapper, IRQF_SHARED, dev_info, dev);
1002 1002
1003 info->phy_id = info->eth_phy; 1003 info->phy_id = info->eth_phy;
1004 info->link_status = 0x00; 1004 info->link_status = 0x00;
diff --git a/drivers/net/pcnet32.c b/drivers/net/pcnet32.c
index 0e01c75da429..d768f3d1ac28 100644
--- a/drivers/net/pcnet32.c
+++ b/drivers/net/pcnet32.c
@@ -1541,7 +1541,7 @@ static int pcnet32_open(struct net_device *dev)
1541 unsigned long flags; 1541 unsigned long flags;
1542 1542
1543 if (request_irq(dev->irq, &pcnet32_interrupt, 1543 if (request_irq(dev->irq, &pcnet32_interrupt,
1544 lp->shared_irq ? SA_SHIRQ : 0, dev->name, 1544 lp->shared_irq ? IRQF_SHARED : 0, dev->name,
1545 (void *)dev)) { 1545 (void *)dev)) {
1546 return -EAGAIN; 1546 return -EAGAIN;
1547 } 1547 }
diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
index 44bcd3eb2b83..7d5c2233c252 100644
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
@@ -556,7 +556,7 @@ int phy_start_interrupts(struct phy_device *phydev)
556 INIT_WORK(&phydev->phy_queue, phy_change, phydev); 556 INIT_WORK(&phydev->phy_queue, phy_change, phydev);
557 557
558 if (request_irq(phydev->irq, phy_interrupt, 558 if (request_irq(phydev->irq, phy_interrupt,
559 SA_SHIRQ, 559 IRQF_SHARED,
560 "phy_interrupt", 560 "phy_interrupt",
561 phydev) < 0) { 561 phydev) < 0) {
562 printk(KERN_WARNING "%s: Can't get IRQ %d (PHY)\n", 562 printk(KERN_WARNING "%s: Can't get IRQ %d (PHY)\n",
diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c
index 12d1cb289bb0..16a0ef1b1369 100644
--- a/drivers/net/r8169.c
+++ b/drivers/net/r8169.c
@@ -1726,7 +1726,7 @@ static int rtl8169_open(struct net_device *dev)
1726 rtl8169_set_rxbufsize(tp, dev); 1726 rtl8169_set_rxbufsize(tp, dev);
1727 1727
1728 retval = 1728 retval =
1729 request_irq(dev->irq, rtl8169_interrupt, SA_SHIRQ, dev->name, dev); 1729 request_irq(dev->irq, rtl8169_interrupt, IRQF_SHARED, dev->name, dev);
1730 if (retval < 0) 1730 if (retval < 0)
1731 goto out; 1731 goto out;
1732 1732
diff --git a/drivers/net/rrunner.c b/drivers/net/rrunner.c
index 757c542ac40a..c3ed734cbe39 100644
--- a/drivers/net/rrunner.c
+++ b/drivers/net/rrunner.c
@@ -1252,7 +1252,7 @@ static int rr_open(struct net_device *dev)
1252 readl(&regs->HostCtrl); 1252 readl(&regs->HostCtrl);
1253 spin_unlock_irqrestore(&rrpriv->lock, flags); 1253 spin_unlock_irqrestore(&rrpriv->lock, flags);
1254 1254
1255 if (request_irq(dev->irq, rr_interrupt, SA_SHIRQ, dev->name, dev)) { 1255 if (request_irq(dev->irq, rr_interrupt, IRQF_SHARED, dev->name, dev)) {
1256 printk(KERN_WARNING "%s: Requested IRQ %d is busy\n", 1256 printk(KERN_WARNING "%s: Requested IRQ %d is busy\n",
1257 dev->name, dev->irq); 1257 dev->name, dev->irq);
1258 ecode = -EAGAIN; 1258 ecode = -EAGAIN;
diff --git a/drivers/net/s2io.c b/drivers/net/s2io.c
index 001344c0763e..c6b77acb35ef 100644
--- a/drivers/net/s2io.c
+++ b/drivers/net/s2io.c
@@ -3761,7 +3761,7 @@ static int s2io_open(struct net_device *dev)
3761 /* After proper initialization of H/W, register ISR */ 3761 /* After proper initialization of H/W, register ISR */
3762 if (sp->intr_type == MSI) { 3762 if (sp->intr_type == MSI) {
3763 err = request_irq((int) sp->pdev->irq, s2io_msi_handle, 3763 err = request_irq((int) sp->pdev->irq, s2io_msi_handle,
3764 SA_SHIRQ, sp->name, dev); 3764 IRQF_SHARED, sp->name, dev);
3765 if (err) { 3765 if (err) {
3766 DBG_PRINT(ERR_DBG, "%s: MSI registration \ 3766 DBG_PRINT(ERR_DBG, "%s: MSI registration \
3767failed\n", dev->name); 3767failed\n", dev->name);
@@ -3799,7 +3799,7 @@ failed\n", dev->name, i);
3799 } 3799 }
3800 } 3800 }
3801 if (sp->intr_type == INTA) { 3801 if (sp->intr_type == INTA) {
3802 err = request_irq((int) sp->pdev->irq, s2io_isr, SA_SHIRQ, 3802 err = request_irq((int) sp->pdev->irq, s2io_isr, IRQF_SHARED,
3803 sp->name, dev); 3803 sp->name, dev);
3804 if (err) { 3804 if (err) {
3805 DBG_PRINT(ERR_DBG, "%s: ISR registration failed\n", 3805 DBG_PRINT(ERR_DBG, "%s: ISR registration failed\n",
diff --git a/drivers/net/sb1250-mac.c b/drivers/net/sb1250-mac.c
index c7b5f0004e54..9ab1618e82a4 100644
--- a/drivers/net/sb1250-mac.c
+++ b/drivers/net/sb1250-mac.c
@@ -2450,7 +2450,7 @@ static int sbmac_open(struct net_device *dev)
2450 */ 2450 */
2451 2451
2452 __raw_readq(sc->sbm_isr); 2452 __raw_readq(sc->sbm_isr);
2453 if (request_irq(dev->irq, &sbmac_intr, SA_SHIRQ, dev->name, dev)) 2453 if (request_irq(dev->irq, &sbmac_intr, IRQF_SHARED, dev->name, dev))
2454 return -EBUSY; 2454 return -EBUSY;
2455 2455
2456 /* 2456 /*
diff --git a/drivers/net/sis190.c b/drivers/net/sis190.c
index df39f3447655..df0cbebb3277 100644
--- a/drivers/net/sis190.c
+++ b/drivers/net/sis190.c
@@ -1054,7 +1054,7 @@ static int sis190_open(struct net_device *dev)
1054 1054
1055 sis190_request_timer(dev); 1055 sis190_request_timer(dev);
1056 1056
1057 rc = request_irq(dev->irq, sis190_interrupt, SA_SHIRQ, dev->name, dev); 1057 rc = request_irq(dev->irq, sis190_interrupt, IRQF_SHARED, dev->name, dev);
1058 if (rc < 0) 1058 if (rc < 0)
1059 goto err_release_timer_2; 1059 goto err_release_timer_2;
1060 1060
diff --git a/drivers/net/sis900.c b/drivers/net/sis900.c
index d05874172209..29ee7ffedfff 100644
--- a/drivers/net/sis900.c
+++ b/drivers/net/sis900.c
@@ -1013,7 +1013,7 @@ sis900_open(struct net_device *net_dev)
1013 /* Equalizer workaround Rule */ 1013 /* Equalizer workaround Rule */
1014 sis630_set_eq(net_dev, sis_priv->chipset_rev); 1014 sis630_set_eq(net_dev, sis_priv->chipset_rev);
1015 1015
1016 ret = request_irq(net_dev->irq, &sis900_interrupt, SA_SHIRQ, 1016 ret = request_irq(net_dev->irq, &sis900_interrupt, IRQF_SHARED,
1017 net_dev->name, net_dev); 1017 net_dev->name, net_dev);
1018 if (ret) 1018 if (ret)
1019 return ret; 1019 return ret;
diff --git a/drivers/net/sk98lin/skge.c b/drivers/net/sk98lin/skge.c
index f3efbd177ae7..ee62845d3ac9 100644
--- a/drivers/net/sk98lin/skge.c
+++ b/drivers/net/sk98lin/skge.c
@@ -570,9 +570,9 @@ SK_BOOL DualNet;
570 spin_unlock_irqrestore(&pAC->SlowPathLock, Flags); 570 spin_unlock_irqrestore(&pAC->SlowPathLock, Flags);
571 571
572 if (pAC->GIni.GIMacsFound == 2) { 572 if (pAC->GIni.GIMacsFound == 2) {
573 Ret = request_irq(dev->irq, SkGeIsr, SA_SHIRQ, "sk98lin", dev); 573 Ret = request_irq(dev->irq, SkGeIsr, IRQF_SHARED, "sk98lin", dev);
574 } else if (pAC->GIni.GIMacsFound == 1) { 574 } else if (pAC->GIni.GIMacsFound == 1) {
575 Ret = request_irq(dev->irq, SkGeIsrOnePort, SA_SHIRQ, 575 Ret = request_irq(dev->irq, SkGeIsrOnePort, IRQF_SHARED,
576 "sk98lin", dev); 576 "sk98lin", dev);
577 } else { 577 } else {
578 printk(KERN_WARNING "sk98lin: Illegal number of ports: %d\n", 578 printk(KERN_WARNING "sk98lin: Illegal number of ports: %d\n",
@@ -5073,9 +5073,9 @@ static int skge_resume(struct pci_dev *pdev)
5073 pci_enable_device(pdev); 5073 pci_enable_device(pdev);
5074 pci_set_master(pdev); 5074 pci_set_master(pdev);
5075 if (pAC->GIni.GIMacsFound == 2) 5075 if (pAC->GIni.GIMacsFound == 2)
5076 ret = request_irq(dev->irq, SkGeIsr, SA_SHIRQ, "sk98lin", dev); 5076 ret = request_irq(dev->irq, SkGeIsr, IRQF_SHARED, "sk98lin", dev);
5077 else 5077 else
5078 ret = request_irq(dev->irq, SkGeIsrOnePort, SA_SHIRQ, "sk98lin", dev); 5078 ret = request_irq(dev->irq, SkGeIsrOnePort, IRQF_SHARED, "sk98lin", dev);
5079 if (ret) { 5079 if (ret) {
5080 printk(KERN_WARNING "sk98lin: unable to acquire IRQ %d\n", dev->irq); 5080 printk(KERN_WARNING "sk98lin: unable to acquire IRQ %d\n", dev->irq);
5081 pAC->AllocFlag &= ~SK_ALLOC_IRQ; 5081 pAC->AllocFlag &= ~SK_ALLOC_IRQ;
diff --git a/drivers/net/sk_mca.c b/drivers/net/sk_mca.c
index e5d6d95960c7..799e09801934 100644
--- a/drivers/net/sk_mca.c
+++ b/drivers/net/sk_mca.c
@@ -824,7 +824,7 @@ static int skmca_open(struct net_device *dev)
824 /* register resources - only necessary for IRQ */ 824 /* register resources - only necessary for IRQ */
825 result = 825 result =
826 request_irq(priv->realirq, irq_handler, 826 request_irq(priv->realirq, irq_handler,
827 SA_SHIRQ | SA_SAMPLE_RANDOM, "sk_mca", dev); 827 IRQF_SHARED | IRQF_SAMPLE_RANDOM, "sk_mca", dev);
828 if (result != 0) { 828 if (result != 0) {
829 printk("%s: failed to register irq %d\n", dev->name, 829 printk("%s: failed to register irq %d\n", dev->name,
830 dev->irq); 830 dev->irq);
diff --git a/drivers/net/skfp/skfddi.c b/drivers/net/skfp/skfddi.c
index c7fb6133047e..b5714a60237d 100644
--- a/drivers/net/skfp/skfddi.c
+++ b/drivers/net/skfp/skfddi.c
@@ -497,7 +497,7 @@ static int skfp_open(struct net_device *dev)
497 497
498 PRINTK(KERN_INFO "entering skfp_open\n"); 498 PRINTK(KERN_INFO "entering skfp_open\n");
499 /* Register IRQ - support shared interrupts by passing device ptr */ 499 /* Register IRQ - support shared interrupts by passing device ptr */
500 err = request_irq(dev->irq, (void *) skfp_interrupt, SA_SHIRQ, 500 err = request_irq(dev->irq, (void *) skfp_interrupt, IRQF_SHARED,
501 dev->name, dev); 501 dev->name, dev);
502 if (err) 502 if (err)
503 return err; 503 return err;
diff --git a/drivers/net/skge.c b/drivers/net/skge.c
index 82df13be3d40..82200bfaa8ed 100644
--- a/drivers/net/skge.c
+++ b/drivers/net/skge.c
@@ -3341,7 +3341,7 @@ static int __devinit skge_probe(struct pci_dev *pdev,
3341 goto err_out_free_hw; 3341 goto err_out_free_hw;
3342 } 3342 }
3343 3343
3344 err = request_irq(pdev->irq, skge_intr, SA_SHIRQ, DRV_NAME, hw); 3344 err = request_irq(pdev->irq, skge_intr, IRQF_SHARED, DRV_NAME, hw);
3345 if (err) { 3345 if (err) {
3346 printk(KERN_ERR PFX "%s: cannot assign irq %d\n", 3346 printk(KERN_ERR PFX "%s: cannot assign irq %d\n",
3347 pci_name(pdev), pdev->irq); 3347 pci_name(pdev), pdev->irq);
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c
index 3f1b0fef13e7..418f169a6a31 100644
--- a/drivers/net/sky2.c
+++ b/drivers/net/sky2.c
@@ -3188,7 +3188,7 @@ static int __devinit sky2_test_msi(struct sky2_hw *hw)
3188 3188
3189 sky2_write32(hw, B0_IMSK, Y2_IS_IRQ_SW); 3189 sky2_write32(hw, B0_IMSK, Y2_IS_IRQ_SW);
3190 3190
3191 err = request_irq(pdev->irq, sky2_test_intr, SA_SHIRQ, DRV_NAME, hw); 3191 err = request_irq(pdev->irq, sky2_test_intr, IRQF_SHARED, DRV_NAME, hw);
3192 if (err) { 3192 if (err) {
3193 printk(KERN_ERR PFX "%s: cannot assign irq %d\n", 3193 printk(KERN_ERR PFX "%s: cannot assign irq %d\n",
3194 pci_name(pdev), pdev->irq); 3194 pci_name(pdev), pdev->irq);
@@ -3348,7 +3348,7 @@ static int __devinit sky2_probe(struct pci_dev *pdev,
3348 goto err_out_unregister; 3348 goto err_out_unregister;
3349 } 3349 }
3350 3350
3351 err = request_irq(pdev->irq, sky2_intr, SA_SHIRQ, DRV_NAME, hw); 3351 err = request_irq(pdev->irq, sky2_intr, IRQF_SHARED, DRV_NAME, hw);
3352 if (err) { 3352 if (err) {
3353 printk(KERN_ERR PFX "%s: cannot assign irq %d\n", 3353 printk(KERN_ERR PFX "%s: cannot assign irq %d\n",
3354 pci_name(pdev), pdev->irq); 3354 pci_name(pdev), pdev->irq);
diff --git a/drivers/net/smc-ultra32.c b/drivers/net/smc-ultra32.c
index ff9bd97746dc..85be22a05973 100644
--- a/drivers/net/smc-ultra32.c
+++ b/drivers/net/smc-ultra32.c
@@ -290,7 +290,7 @@ out:
290static int ultra32_open(struct net_device *dev) 290static int ultra32_open(struct net_device *dev)
291{ 291{
292 int ioaddr = dev->base_addr - ULTRA32_NIC_OFFSET; /* ASIC addr */ 292 int ioaddr = dev->base_addr - ULTRA32_NIC_OFFSET; /* ASIC addr */
293 int irq_flags = (inb(ioaddr + ULTRA32_CFG5) & 0x08) ? 0 : SA_SHIRQ; 293 int irq_flags = (inb(ioaddr + ULTRA32_CFG5) & 0x08) ? 0 : IRQF_SHARED;
294 int retval; 294 int retval;
295 295
296 retval = request_irq(dev->irq, ei_interrupt, irq_flags, dev->name, dev); 296 retval = request_irq(dev->irq, ei_interrupt, irq_flags, dev->name, dev);
diff --git a/drivers/net/smc911x.c b/drivers/net/smc911x.c
index bdd8702ead54..d37bd860b336 100644
--- a/drivers/net/smc911x.c
+++ b/drivers/net/smc911x.c
@@ -2081,7 +2081,7 @@ static int __init smc911x_probe(struct net_device *dev, unsigned long ioaddr)
2081 lp->ctl_rspeed = 100; 2081 lp->ctl_rspeed = 100;
2082 2082
2083 /* Grab the IRQ */ 2083 /* Grab the IRQ */
2084 retval = request_irq(dev->irq, &smc911x_interrupt, SA_SHIRQ, dev->name, dev); 2084 retval = request_irq(dev->irq, &smc911x_interrupt, IRQF_SHARED, dev->name, dev);
2085 if (retval) 2085 if (retval)
2086 goto err_out; 2086 goto err_out;
2087 2087
diff --git a/drivers/net/smc91x.h b/drivers/net/smc91x.h
index bf776125ca38..b4028049ed76 100644
--- a/drivers/net/smc91x.h
+++ b/drivers/net/smc91x.h
@@ -207,7 +207,7 @@ SMC_outw(u16 val, void __iomem *ioaddr, int reg)
207 machine_is_omap_h2() \ 207 machine_is_omap_h2() \
208 || machine_is_omap_h3() \ 208 || machine_is_omap_h3() \
209 || (machine_is_omap_innovator() && !cpu_is_omap1510()) \ 209 || (machine_is_omap_innovator() && !cpu_is_omap1510()) \
210 ) ? SA_TRIGGER_FALLING : SA_TRIGGER_RISING) 210 ) ? IRQF_TRIGGER_FALLING : IRQF_TRIGGER_RISING)
211 211
212 212
213#elif defined(CONFIG_SH_SH4202_MICRODEV) 213#elif defined(CONFIG_SH_SH4202_MICRODEV)
@@ -540,7 +540,7 @@ smc_pxa_dma_irq(int dma, void *dummy, struct pt_regs *regs)
540#endif 540#endif
541 541
542#ifndef SMC_IRQ_FLAGS 542#ifndef SMC_IRQ_FLAGS
543#define SMC_IRQ_FLAGS SA_TRIGGER_RISING 543#define SMC_IRQ_FLAGS IRQF_TRIGGER_RISING
544#endif 544#endif
545 545
546#ifndef SMC_INTERRUPT_PREAMBLE 546#ifndef SMC_INTERRUPT_PREAMBLE
diff --git a/drivers/net/spider_net.c b/drivers/net/spider_net.c
index e0b72676922c..fb1d5a8a45cf 100644
--- a/drivers/net/spider_net.c
+++ b/drivers/net/spider_net.c
@@ -1744,7 +1744,7 @@ spider_net_open(struct net_device *netdev)
1744 1744
1745 result = -EBUSY; 1745 result = -EBUSY;
1746 if (request_irq(netdev->irq, spider_net_interrupt, 1746 if (request_irq(netdev->irq, spider_net_interrupt,
1747 SA_SHIRQ, netdev->name, netdev)) 1747 IRQF_SHARED, netdev->name, netdev))
1748 goto register_int_failed; 1748 goto register_int_failed;
1749 1749
1750 spider_net_enable_card(card); 1750 spider_net_enable_card(card);
diff --git a/drivers/net/starfire.c b/drivers/net/starfire.c
index f91be95356a4..ed1f59901ff4 100644
--- a/drivers/net/starfire.c
+++ b/drivers/net/starfire.c
@@ -1070,7 +1070,7 @@ static int netdev_open(struct net_device *dev)
1070 1070
1071 /* Do we ever need to reset the chip??? */ 1071 /* Do we ever need to reset the chip??? */
1072 1072
1073 retval = request_irq(dev->irq, &intr_handler, SA_SHIRQ, dev->name, dev); 1073 retval = request_irq(dev->irq, &intr_handler, IRQF_SHARED, dev->name, dev);
1074 if (retval) 1074 if (retval)
1075 return retval; 1075 return retval;
1076 1076
diff --git a/drivers/net/sun3lance.c b/drivers/net/sun3lance.c
index a2fad50437e6..2dcadb169a22 100644
--- a/drivers/net/sun3lance.c
+++ b/drivers/net/sun3lance.c
@@ -341,7 +341,7 @@ static int __init lance_probe( struct net_device *dev)
341 341
342 REGA(CSR0) = CSR0_STOP; 342 REGA(CSR0) = CSR0_STOP;
343 343
344 request_irq(LANCE_IRQ, lance_interrupt, SA_INTERRUPT, "SUN3 Lance", dev); 344 request_irq(LANCE_IRQ, lance_interrupt, IRQF_DISABLED, "SUN3 Lance", dev);
345 dev->irq = (unsigned short)LANCE_IRQ; 345 dev->irq = (unsigned short)LANCE_IRQ;
346 346
347 347
diff --git a/drivers/net/sunbmac.c b/drivers/net/sunbmac.c
index 7127f0f36f0e..d46891510767 100644
--- a/drivers/net/sunbmac.c
+++ b/drivers/net/sunbmac.c
@@ -918,7 +918,7 @@ static int bigmac_open(struct net_device *dev)
918 struct bigmac *bp = (struct bigmac *) dev->priv; 918 struct bigmac *bp = (struct bigmac *) dev->priv;
919 int ret; 919 int ret;
920 920
921 ret = request_irq(dev->irq, &bigmac_interrupt, SA_SHIRQ, dev->name, bp); 921 ret = request_irq(dev->irq, &bigmac_interrupt, IRQF_SHARED, dev->name, bp);
922 if (ret) { 922 if (ret) {
923 printk(KERN_ERR "BIGMAC: Can't order irq %d to go.\n", dev->irq); 923 printk(KERN_ERR "BIGMAC: Can't order irq %d to go.\n", dev->irq);
924 return ret; 924 return ret;
diff --git a/drivers/net/sundance.c b/drivers/net/sundance.c
index f13b2a195c70..643fceae3db5 100644
--- a/drivers/net/sundance.c
+++ b/drivers/net/sundance.c
@@ -870,7 +870,7 @@ static int netdev_open(struct net_device *dev)
870 870
871 /* Do we need to reset the chip??? */ 871 /* Do we need to reset the chip??? */
872 872
873 i = request_irq(dev->irq, &intr_handler, SA_SHIRQ, dev->name, dev); 873 i = request_irq(dev->irq, &intr_handler, IRQF_SHARED, dev->name, dev);
874 if (i) 874 if (i)
875 return i; 875 return i;
876 876
diff --git a/drivers/net/sungem.c b/drivers/net/sungem.c
index 5248670d29f7..b70bbd748978 100644
--- a/drivers/net/sungem.c
+++ b/drivers/net/sungem.c
@@ -2220,7 +2220,7 @@ static int gem_do_start(struct net_device *dev)
2220 spin_unlock_irqrestore(&gp->lock, flags); 2220 spin_unlock_irqrestore(&gp->lock, flags);
2221 2221
2222 if (request_irq(gp->pdev->irq, gem_interrupt, 2222 if (request_irq(gp->pdev->irq, gem_interrupt,
2223 SA_SHIRQ, dev->name, (void *)dev)) { 2223 IRQF_SHARED, dev->name, (void *)dev)) {
2224 printk(KERN_ERR "%s: failed to request irq !\n", gp->dev->name); 2224 printk(KERN_ERR "%s: failed to request irq !\n", gp->dev->name);
2225 2225
2226 spin_lock_irqsave(&gp->lock, flags); 2226 spin_lock_irqsave(&gp->lock, flags);
diff --git a/drivers/net/sunhme.c b/drivers/net/sunhme.c
index d85b83204f6b..8673fd4c08c7 100644
--- a/drivers/net/sunhme.c
+++ b/drivers/net/sunhme.c
@@ -2194,7 +2194,7 @@ static int happy_meal_open(struct net_device *dev)
2194 */ 2194 */
2195 if ((hp->happy_flags & (HFLAG_QUATTRO|HFLAG_PCI)) != HFLAG_QUATTRO) { 2195 if ((hp->happy_flags & (HFLAG_QUATTRO|HFLAG_PCI)) != HFLAG_QUATTRO) {
2196 if (request_irq(dev->irq, &happy_meal_interrupt, 2196 if (request_irq(dev->irq, &happy_meal_interrupt,
2197 SA_SHIRQ, dev->name, (void *)dev)) { 2197 IRQF_SHARED, dev->name, (void *)dev)) {
2198 HMD(("EAGAIN\n")); 2198 HMD(("EAGAIN\n"));
2199 printk(KERN_ERR "happy_meal(SBUS): Can't order irq %d to go.\n", 2199 printk(KERN_ERR "happy_meal(SBUS): Can't order irq %d to go.\n",
2200 dev->irq); 2200 dev->irq);
@@ -2608,7 +2608,7 @@ static void __init quattro_sbus_register_irqs(void)
2608 2608
2609 err = request_irq(sdev->irqs[0], 2609 err = request_irq(sdev->irqs[0],
2610 quattro_sbus_interrupt, 2610 quattro_sbus_interrupt,
2611 SA_SHIRQ, "Quattro", 2611 IRQF_SHARED, "Quattro",
2612 qp); 2612 qp);
2613 if (err != 0) { 2613 if (err != 0) {
2614 printk(KERN_ERR "Quattro: Fatal IRQ registery error %d.\n", err); 2614 printk(KERN_ERR "Quattro: Fatal IRQ registery error %d.\n", err);
diff --git a/drivers/net/sunlance.c b/drivers/net/sunlance.c
index 5b0b60f4d20e..1ef9fd39a79a 100644
--- a/drivers/net/sunlance.c
+++ b/drivers/net/sunlance.c
@@ -930,7 +930,7 @@ static int lance_open(struct net_device *dev)
930 930
931 STOP_LANCE(lp); 931 STOP_LANCE(lp);
932 932
933 if (request_irq(dev->irq, &lance_interrupt, SA_SHIRQ, 933 if (request_irq(dev->irq, &lance_interrupt, IRQF_SHARED,
934 lancestr, (void *) dev)) { 934 lancestr, (void *) dev)) {
935 printk(KERN_ERR "Lance: Can't get irq %d\n", dev->irq); 935 printk(KERN_ERR "Lance: Can't get irq %d\n", dev->irq);
936 return -EAGAIN; 936 return -EAGAIN;
diff --git a/drivers/net/sunqe.c b/drivers/net/sunqe.c
index 9da6d5b87173..817a40b66638 100644
--- a/drivers/net/sunqe.c
+++ b/drivers/net/sunqe.c
@@ -811,7 +811,7 @@ static struct sunqec * __init get_qec(struct sbus_dev *child_sdev)
811 qec_init_once(qecp, qec_sdev); 811 qec_init_once(qecp, qec_sdev);
812 812
813 if (request_irq(qec_sdev->irqs[0], &qec_interrupt, 813 if (request_irq(qec_sdev->irqs[0], &qec_interrupt,
814 SA_SHIRQ, "qec", (void *) qecp)) { 814 IRQF_SHARED, "qec", (void *) qecp)) {
815 printk(KERN_ERR "qec: Can't register irq.\n"); 815 printk(KERN_ERR "qec: Can't register irq.\n");
816 goto fail; 816 goto fail;
817 } 817 }
diff --git a/drivers/net/tc35815.c b/drivers/net/tc35815.c
index c2ec9fd8c31d..8b53ded66d37 100644
--- a/drivers/net/tc35815.c
+++ b/drivers/net/tc35815.c
@@ -880,7 +880,7 @@ tc35815_open(struct net_device *dev)
880 */ 880 */
881 881
882 if (dev->irq == 0 || 882 if (dev->irq == 0 ||
883 request_irq(dev->irq, &tc35815_interrupt, SA_SHIRQ, cardname, dev)) { 883 request_irq(dev->irq, &tc35815_interrupt, IRQF_SHARED, cardname, dev)) {
884 return -EAGAIN; 884 return -EAGAIN;
885 } 885 }
886 886
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c
index 953255e92633..e5e1b2962936 100644
--- a/drivers/net/tg3.c
+++ b/drivers/net/tg3.c
@@ -6702,12 +6702,12 @@ static int tg3_request_irq(struct tg3 *tp)
6702 fn = tg3_msi; 6702 fn = tg3_msi;
6703 if (tp->tg3_flags2 & TG3_FLG2_1SHOT_MSI) 6703 if (tp->tg3_flags2 & TG3_FLG2_1SHOT_MSI)
6704 fn = tg3_msi_1shot; 6704 fn = tg3_msi_1shot;
6705 flags = SA_SAMPLE_RANDOM; 6705 flags = IRQF_SAMPLE_RANDOM;
6706 } else { 6706 } else {
6707 fn = tg3_interrupt; 6707 fn = tg3_interrupt;
6708 if (tp->tg3_flags & TG3_FLAG_TAGGED_STATUS) 6708 if (tp->tg3_flags & TG3_FLAG_TAGGED_STATUS)
6709 fn = tg3_interrupt_tagged; 6709 fn = tg3_interrupt_tagged;
6710 flags = SA_SHIRQ | SA_SAMPLE_RANDOM; 6710 flags = IRQF_SHARED | IRQF_SAMPLE_RANDOM;
6711 } 6711 }
6712 return (request_irq(tp->pdev->irq, fn, flags, dev->name, dev)); 6712 return (request_irq(tp->pdev->irq, fn, flags, dev->name, dev));
6713} 6713}
@@ -6726,7 +6726,7 @@ static int tg3_test_interrupt(struct tg3 *tp)
6726 free_irq(tp->pdev->irq, dev); 6726 free_irq(tp->pdev->irq, dev);
6727 6727
6728 err = request_irq(tp->pdev->irq, tg3_test_isr, 6728 err = request_irq(tp->pdev->irq, tg3_test_isr,
6729 SA_SHIRQ | SA_SAMPLE_RANDOM, dev->name, dev); 6729 IRQF_SHARED | IRQF_SAMPLE_RANDOM, dev->name, dev);
6730 if (err) 6730 if (err)
6731 return err; 6731 return err;
6732 6732
diff --git a/drivers/net/tlan.c b/drivers/net/tlan.c
index 12076f8f942c..23c0017f25a9 100644
--- a/drivers/net/tlan.c
+++ b/drivers/net/tlan.c
@@ -943,7 +943,7 @@ static int TLan_Open( struct net_device *dev )
943 int err; 943 int err;
944 944
945 priv->tlanRev = TLan_DioRead8( dev->base_addr, TLAN_DEF_REVISION ); 945 priv->tlanRev = TLan_DioRead8( dev->base_addr, TLAN_DEF_REVISION );
946 err = request_irq( dev->irq, TLan_HandleInterrupt, SA_SHIRQ, TLanSignature, dev ); 946 err = request_irq( dev->irq, TLan_HandleInterrupt, IRQF_SHARED, TLanSignature, dev );
947 947
948 if ( err ) { 948 if ( err ) {
949 printk(KERN_ERR "TLAN: Cannot open %s because IRQ %d is already in use.\n", dev->name, dev->irq ); 949 printk(KERN_ERR "TLAN: Cannot open %s because IRQ %d is already in use.\n", dev->name, dev->irq );
diff --git a/drivers/net/tokenring/3c359.c b/drivers/net/tokenring/3c359.c
index 77bb298129d7..465921e3874c 100644
--- a/drivers/net/tokenring/3c359.c
+++ b/drivers/net/tokenring/3c359.c
@@ -576,7 +576,7 @@ static int xl_open(struct net_device *dev)
576 576
577 u16 switchsettings, switchsettings_eeprom ; 577 u16 switchsettings, switchsettings_eeprom ;
578 578
579 if(request_irq(dev->irq, &xl_interrupt, SA_SHIRQ , "3c359", dev)) { 579 if(request_irq(dev->irq, &xl_interrupt, IRQF_SHARED , "3c359", dev)) {
580 return -EAGAIN; 580 return -EAGAIN;
581 } 581 }
582 582
diff --git a/drivers/net/tokenring/abyss.c b/drivers/net/tokenring/abyss.c
index 649d8ea354f5..1bdd3beefbe5 100644
--- a/drivers/net/tokenring/abyss.c
+++ b/drivers/net/tokenring/abyss.c
@@ -123,7 +123,7 @@ static int __devinit abyss_attach(struct pci_dev *pdev, const struct pci_device_
123 goto err_out_trdev; 123 goto err_out_trdev;
124 } 124 }
125 125
126 ret = request_irq(pdev->irq, tms380tr_interrupt, SA_SHIRQ, 126 ret = request_irq(pdev->irq, tms380tr_interrupt, IRQF_SHARED,
127 dev->name, dev); 127 dev->name, dev);
128 if (ret) 128 if (ret)
129 goto err_out_region; 129 goto err_out_region;
diff --git a/drivers/net/tokenring/lanstreamer.c b/drivers/net/tokenring/lanstreamer.c
index 30dcdaebf41a..28d968ffd5d0 100644
--- a/drivers/net/tokenring/lanstreamer.c
+++ b/drivers/net/tokenring/lanstreamer.c
@@ -601,7 +601,7 @@ static int streamer_open(struct net_device *dev)
601 rc=streamer_reset(dev); 601 rc=streamer_reset(dev);
602 } 602 }
603 603
604 if (request_irq(dev->irq, &streamer_interrupt, SA_SHIRQ, "lanstreamer", dev)) { 604 if (request_irq(dev->irq, &streamer_interrupt, IRQF_SHARED, "lanstreamer", dev)) {
605 return -EAGAIN; 605 return -EAGAIN;
606 } 606 }
607#if STREAMER_DEBUG 607#if STREAMER_DEBUG
diff --git a/drivers/net/tokenring/madgemc.c b/drivers/net/tokenring/madgemc.c
index 19e6f4dfd69c..666bbaaae82f 100644
--- a/drivers/net/tokenring/madgemc.c
+++ b/drivers/net/tokenring/madgemc.c
@@ -311,7 +311,7 @@ static int __devinit madgemc_probe(struct device *device)
311 */ 311 */
312 outb(0, dev->base_addr + MC_CONTROL_REG0); /* sanity */ 312 outb(0, dev->base_addr + MC_CONTROL_REG0); /* sanity */
313 madgemc_setsifsel(dev, 1); 313 madgemc_setsifsel(dev, 1);
314 if (request_irq(dev->irq, madgemc_interrupt, SA_SHIRQ, 314 if (request_irq(dev->irq, madgemc_interrupt, IRQF_SHARED,
315 "madgemc", dev)) { 315 "madgemc", dev)) {
316 ret = -EBUSY; 316 ret = -EBUSY;
317 goto getout3; 317 goto getout3;
diff --git a/drivers/net/tokenring/olympic.c b/drivers/net/tokenring/olympic.c
index d7a30d99ae8f..85831484bc40 100644
--- a/drivers/net/tokenring/olympic.c
+++ b/drivers/net/tokenring/olympic.c
@@ -445,7 +445,7 @@ static int olympic_open(struct net_device *dev)
445 445
446 olympic_init(dev); 446 olympic_init(dev);
447 447
448 if(request_irq(dev->irq, &olympic_interrupt, SA_SHIRQ , "olympic", dev)) { 448 if(request_irq(dev->irq, &olympic_interrupt, IRQF_SHARED , "olympic", dev)) {
449 return -EAGAIN; 449 return -EAGAIN;
450 } 450 }
451 451
diff --git a/drivers/net/tokenring/smctr.c b/drivers/net/tokenring/smctr.c
index f2807ab5a2be..cd2e0251e2bc 100644
--- a/drivers/net/tokenring/smctr.c
+++ b/drivers/net/tokenring/smctr.c
@@ -531,7 +531,7 @@ static int __init smctr_chk_mca(struct net_device *dev)
531 dev->irq = 15; 531 dev->irq = 15;
532 break; 532 break;
533 } 533 }
534 if (request_irq(dev->irq, smctr_interrupt, SA_SHIRQ, smctr_name, dev)) { 534 if (request_irq(dev->irq, smctr_interrupt, IRQF_SHARED, smctr_name, dev)) {
535 release_region(dev->base_addr, SMCTR_IO_EXTENT); 535 release_region(dev->base_addr, SMCTR_IO_EXTENT);
536 return -ENODEV; 536 return -ENODEV;
537 } 537 }
@@ -1061,7 +1061,7 @@ static int __init smctr_chk_isa(struct net_device *dev)
1061 goto out2; 1061 goto out2;
1062 } 1062 }
1063 1063
1064 if (request_irq(dev->irq, smctr_interrupt, SA_SHIRQ, smctr_name, dev)) 1064 if (request_irq(dev->irq, smctr_interrupt, IRQF_SHARED, smctr_name, dev))
1065 goto out2; 1065 goto out2;
1066 1066
1067 /* Get 58x Rom Base */ 1067 /* Get 58x Rom Base */
diff --git a/drivers/net/tokenring/tmspci.c b/drivers/net/tokenring/tmspci.c
index ab47c0547a3b..7d3e270c4f45 100644
--- a/drivers/net/tokenring/tmspci.c
+++ b/drivers/net/tokenring/tmspci.c
@@ -122,7 +122,7 @@ static int __devinit tms_pci_attach(struct pci_dev *pdev, const struct pci_devic
122 goto err_out_trdev; 122 goto err_out_trdev;
123 } 123 }
124 124
125 ret = request_irq(pdev->irq, tms380tr_interrupt, SA_SHIRQ, 125 ret = request_irq(pdev->irq, tms380tr_interrupt, IRQF_SHARED,
126 dev->name, dev); 126 dev->name, dev);
127 if (ret) 127 if (ret)
128 goto err_out_region; 128 goto err_out_region;
diff --git a/drivers/net/tulip/de2104x.c b/drivers/net/tulip/de2104x.c
index 354294c6271e..d05c5aa254ee 100644
--- a/drivers/net/tulip/de2104x.c
+++ b/drivers/net/tulip/de2104x.c
@@ -1371,7 +1371,7 @@ static int de_open (struct net_device *dev)
1371 1371
1372 dw32(IntrMask, 0); 1372 dw32(IntrMask, 0);
1373 1373
1374 rc = request_irq(dev->irq, de_interrupt, SA_SHIRQ, dev->name, dev); 1374 rc = request_irq(dev->irq, de_interrupt, IRQF_SHARED, dev->name, dev);
1375 if (rc) { 1375 if (rc) {
1376 printk(KERN_ERR "%s: IRQ %d request failure, err=%d\n", 1376 printk(KERN_ERR "%s: IRQ %d request failure, err=%d\n",
1377 dev->name, dev->irq, rc); 1377 dev->name, dev->irq, rc);
diff --git a/drivers/net/tulip/de4x5.c b/drivers/net/tulip/de4x5.c
index 2647a5bc5211..75ff14a55239 100644
--- a/drivers/net/tulip/de4x5.c
+++ b/drivers/net/tulip/de4x5.c
@@ -292,7 +292,7 @@
292 0.41 21-Mar-96 Don't check for get_hw_addr checksum unless DEC card 292 0.41 21-Mar-96 Don't check for get_hw_addr checksum unless DEC card
293 only <niles@axp745gsfc.nasa.gov> 293 only <niles@axp745gsfc.nasa.gov>
294 Fix for multiple PCI cards reported by <jos@xos.nl> 294 Fix for multiple PCI cards reported by <jos@xos.nl>
295 Duh, put the SA_SHIRQ flag into request_interrupt(). 295 Duh, put the IRQF_SHARED flag into request_interrupt().
296 Fix SMC ethernet address in enet_det[]. 296 Fix SMC ethernet address in enet_det[].
297 Print chip name instead of "UNKNOWN" during boot. 297 Print chip name instead of "UNKNOWN" during boot.
298 0.42 26-Apr-96 Fix MII write TA bit error. 298 0.42 26-Apr-96 Fix MII write TA bit error.
@@ -353,7 +353,7 @@
353 infoblocks. 353 infoblocks.
354 Added DC21142 and DC21143 functions. 354 Added DC21142 and DC21143 functions.
355 Added byte counters from <phil@tazenda.demon.co.uk> 355 Added byte counters from <phil@tazenda.demon.co.uk>
356 Added SA_INTERRUPT temporary fix from 356 Added IRQF_DISABLED temporary fix from
357 <mjacob@feral.com>. 357 <mjacob@feral.com>.
358 0.53 12-Nov-97 Fix the *_probe() to include 'eth??' name during 358 0.53 12-Nov-97 Fix the *_probe() to include 'eth??' name during
359 module load: bug reported by 359 module load: bug reported by
@@ -1319,10 +1319,10 @@ de4x5_open(struct net_device *dev)
1319 lp->state = OPEN; 1319 lp->state = OPEN;
1320 de4x5_dbg_open(dev); 1320 de4x5_dbg_open(dev);
1321 1321
1322 if (request_irq(dev->irq, (void *)de4x5_interrupt, SA_SHIRQ, 1322 if (request_irq(dev->irq, (void *)de4x5_interrupt, IRQF_SHARED,
1323 lp->adapter_name, dev)) { 1323 lp->adapter_name, dev)) {
1324 printk("de4x5_open(): Requested IRQ%d is busy - attemping FAST/SHARE...", dev->irq); 1324 printk("de4x5_open(): Requested IRQ%d is busy - attemping FAST/SHARE...", dev->irq);
1325 if (request_irq(dev->irq, de4x5_interrupt, SA_INTERRUPT | SA_SHIRQ, 1325 if (request_irq(dev->irq, de4x5_interrupt, IRQF_DISABLED | IRQF_SHARED,
1326 lp->adapter_name, dev)) { 1326 lp->adapter_name, dev)) {
1327 printk("\n Cannot get IRQ- reconfigure your hardware.\n"); 1327 printk("\n Cannot get IRQ- reconfigure your hardware.\n");
1328 disable_ast(dev); 1328 disable_ast(dev);
diff --git a/drivers/net/tulip/dmfe.c b/drivers/net/tulip/dmfe.c
index ba5b112093f4..4e5b0f2acc39 100644
--- a/drivers/net/tulip/dmfe.c
+++ b/drivers/net/tulip/dmfe.c
@@ -506,7 +506,7 @@ static int dmfe_open(struct DEVICE *dev)
506 506
507 DMFE_DBUG(0, "dmfe_open", 0); 507 DMFE_DBUG(0, "dmfe_open", 0);
508 508
509 ret = request_irq(dev->irq, &dmfe_interrupt, SA_SHIRQ, dev->name, dev); 509 ret = request_irq(dev->irq, &dmfe_interrupt, IRQF_SHARED, dev->name, dev);
510 if (ret) 510 if (ret)
511 return ret; 511 return ret;
512 512
diff --git a/drivers/net/tulip/tulip_core.c b/drivers/net/tulip/tulip_core.c
index 8f4f4840fc12..7351831f57ce 100644
--- a/drivers/net/tulip/tulip_core.c
+++ b/drivers/net/tulip/tulip_core.c
@@ -489,7 +489,7 @@ tulip_open(struct net_device *dev)
489{ 489{
490 int retval; 490 int retval;
491 491
492 if ((retval = request_irq(dev->irq, &tulip_interrupt, SA_SHIRQ, dev->name, dev))) 492 if ((retval = request_irq(dev->irq, &tulip_interrupt, IRQF_SHARED, dev->name, dev)))
493 return retval; 493 return retval;
494 494
495 tulip_init_ring (dev); 495 tulip_init_ring (dev);
@@ -1770,7 +1770,7 @@ static int tulip_resume(struct pci_dev *pdev)
1770 1770
1771 pci_enable_device(pdev); 1771 pci_enable_device(pdev);
1772 1772
1773 if ((retval = request_irq(dev->irq, &tulip_interrupt, SA_SHIRQ, dev->name, dev))) { 1773 if ((retval = request_irq(dev->irq, &tulip_interrupt, IRQF_SHARED, dev->name, dev))) {
1774 printk (KERN_ERR "tulip: request_irq failed in resume\n"); 1774 printk (KERN_ERR "tulip: request_irq failed in resume\n");
1775 return retval; 1775 return retval;
1776 } 1776 }
diff --git a/drivers/net/tulip/uli526x.c b/drivers/net/tulip/uli526x.c
index 8b3a28f53c3d..fd64b2b3e99c 100644
--- a/drivers/net/tulip/uli526x.c
+++ b/drivers/net/tulip/uli526x.c
@@ -436,7 +436,7 @@ static int uli526x_open(struct net_device *dev)
436 436
437 ULI526X_DBUG(0, "uli526x_open", 0); 437 ULI526X_DBUG(0, "uli526x_open", 0);
438 438
439 ret = request_irq(dev->irq, &uli526x_interrupt, SA_SHIRQ, dev->name, dev); 439 ret = request_irq(dev->irq, &uli526x_interrupt, IRQF_SHARED, dev->name, dev);
440 if (ret) 440 if (ret)
441 return ret; 441 return ret;
442 442
diff --git a/drivers/net/tulip/winbond-840.c b/drivers/net/tulip/winbond-840.c
index 602a6e5002a0..b4c0d101a7d7 100644
--- a/drivers/net/tulip/winbond-840.c
+++ b/drivers/net/tulip/winbond-840.c
@@ -658,7 +658,7 @@ static int netdev_open(struct net_device *dev)
658 iowrite32(0x00000001, ioaddr + PCIBusCfg); /* Reset */ 658 iowrite32(0x00000001, ioaddr + PCIBusCfg); /* Reset */
659 659
660 netif_device_detach(dev); 660 netif_device_detach(dev);
661 i = request_irq(dev->irq, &intr_handler, SA_SHIRQ, dev->name, dev); 661 i = request_irq(dev->irq, &intr_handler, IRQF_SHARED, dev->name, dev);
662 if (i) 662 if (i)
663 goto out_err; 663 goto out_err;
664 664
diff --git a/drivers/net/tulip/xircom_cb.c b/drivers/net/tulip/xircom_cb.c
index 63c2175ed138..f874e4f6ccf6 100644
--- a/drivers/net/tulip/xircom_cb.c
+++ b/drivers/net/tulip/xircom_cb.c
@@ -457,7 +457,7 @@ static int xircom_open(struct net_device *dev)
457 int retval; 457 int retval;
458 enter("xircom_open"); 458 enter("xircom_open");
459 printk(KERN_INFO "xircom cardbus adaptor found, registering as %s, using irq %i \n",dev->name,dev->irq); 459 printk(KERN_INFO "xircom cardbus adaptor found, registering as %s, using irq %i \n",dev->name,dev->irq);
460 retval = request_irq(dev->irq, &xircom_interrupt, SA_SHIRQ, dev->name, dev); 460 retval = request_irq(dev->irq, &xircom_interrupt, IRQF_SHARED, dev->name, dev);
461 if (retval) { 461 if (retval) {
462 leave("xircom_open - No IRQ"); 462 leave("xircom_open - No IRQ");
463 return retval; 463 return retval;
diff --git a/drivers/net/tulip/xircom_tulip_cb.c b/drivers/net/tulip/xircom_tulip_cb.c
index aecafdabbc91..091ebb7a62f6 100644
--- a/drivers/net/tulip/xircom_tulip_cb.c
+++ b/drivers/net/tulip/xircom_tulip_cb.c
@@ -807,7 +807,7 @@ xircom_open(struct net_device *dev)
807{ 807{
808 struct xircom_private *tp = netdev_priv(dev); 808 struct xircom_private *tp = netdev_priv(dev);
809 809
810 if (request_irq(dev->irq, &xircom_interrupt, SA_SHIRQ, dev->name, dev)) 810 if (request_irq(dev->irq, &xircom_interrupt, IRQF_SHARED, dev->name, dev))
811 return -EAGAIN; 811 return -EAGAIN;
812 812
813 xircom_up(dev); 813 xircom_up(dev);
diff --git a/drivers/net/typhoon.c b/drivers/net/typhoon.c
index e24d2dafcf6c..063816f2b11e 100644
--- a/drivers/net/typhoon.c
+++ b/drivers/net/typhoon.c
@@ -2131,7 +2131,7 @@ typhoon_open(struct net_device *dev)
2131 goto out_sleep; 2131 goto out_sleep;
2132 } 2132 }
2133 2133
2134 err = request_irq(dev->irq, &typhoon_interrupt, SA_SHIRQ, 2134 err = request_irq(dev->irq, &typhoon_interrupt, IRQF_SHARED,
2135 dev->name, dev); 2135 dev->name, dev);
2136 if(err < 0) 2136 if(err < 0)
2137 goto out_sleep; 2137 goto out_sleep;
diff --git a/drivers/net/via-rhine.c b/drivers/net/via-rhine.c
index c80a4f1d5f7a..98b6f3207d3d 100644
--- a/drivers/net/via-rhine.c
+++ b/drivers/net/via-rhine.c
@@ -1210,7 +1210,7 @@ static int rhine_open(struct net_device *dev)
1210 void __iomem *ioaddr = rp->base; 1210 void __iomem *ioaddr = rp->base;
1211 int rc; 1211 int rc;
1212 1212
1213 rc = request_irq(rp->pdev->irq, &rhine_interrupt, SA_SHIRQ, dev->name, 1213 rc = request_irq(rp->pdev->irq, &rhine_interrupt, IRQF_SHARED, dev->name,
1214 dev); 1214 dev);
1215 if (rc) 1215 if (rc)
1216 return rc; 1216 return rc;
@@ -1999,7 +1999,7 @@ static int rhine_resume(struct pci_dev *pdev)
1999 if (!netif_running(dev)) 1999 if (!netif_running(dev))
2000 return 0; 2000 return 0;
2001 2001
2002 if (request_irq(dev->irq, rhine_interrupt, SA_SHIRQ, dev->name, dev)) 2002 if (request_irq(dev->irq, rhine_interrupt, IRQF_SHARED, dev->name, dev))
2003 printk(KERN_ERR "via-rhine %s: request_irq failed\n", dev->name); 2003 printk(KERN_ERR "via-rhine %s: request_irq failed\n", dev->name);
2004 2004
2005 ret = pci_set_power_state(pdev, PCI_D0); 2005 ret = pci_set_power_state(pdev, PCI_D0);
diff --git a/drivers/net/via-velocity.c b/drivers/net/via-velocity.c
index 857d71c3c017..ba2972ba3757 100644
--- a/drivers/net/via-velocity.c
+++ b/drivers/net/via-velocity.c
@@ -1750,7 +1750,7 @@ static int velocity_open(struct net_device *dev)
1750 1750
1751 velocity_init_registers(vptr, VELOCITY_INIT_COLD); 1751 velocity_init_registers(vptr, VELOCITY_INIT_COLD);
1752 1752
1753 ret = request_irq(vptr->pdev->irq, &velocity_intr, SA_SHIRQ, 1753 ret = request_irq(vptr->pdev->irq, &velocity_intr, IRQF_SHARED,
1754 dev->name, dev); 1754 dev->name, dev);
1755 if (ret < 0) { 1755 if (ret < 0) {
1756 /* Power down the chip */ 1756 /* Power down the chip */
diff --git a/drivers/net/wan/dscc4.c b/drivers/net/wan/dscc4.c
index 04a376ec0ed8..684af4316ffd 100644
--- a/drivers/net/wan/dscc4.c
+++ b/drivers/net/wan/dscc4.c
@@ -752,7 +752,7 @@ static int __devinit dscc4_init_one(struct pci_dev *pdev,
752 752
753 priv = pci_get_drvdata(pdev); 753 priv = pci_get_drvdata(pdev);
754 754
755 rc = request_irq(pdev->irq, dscc4_irq, SA_SHIRQ, DRV_NAME, priv->root); 755 rc = request_irq(pdev->irq, dscc4_irq, IRQF_SHARED, DRV_NAME, priv->root);
756 if (rc < 0) { 756 if (rc < 0) {
757 printk(KERN_WARNING "%s: IRQ %d busy\n", DRV_NAME, pdev->irq); 757 printk(KERN_WARNING "%s: IRQ %d busy\n", DRV_NAME, pdev->irq);
758 goto err_release_4; 758 goto err_release_4;
diff --git a/drivers/net/wan/farsync.c b/drivers/net/wan/farsync.c
index 7981a2c7906e..3705db04a343 100644
--- a/drivers/net/wan/farsync.c
+++ b/drivers/net/wan/farsync.c
@@ -2519,7 +2519,7 @@ fst_add_one(struct pci_dev *pdev, const struct pci_device_id *ent)
2519 dbg(DBG_PCI, "kernel mem %p, ctlmem %p\n", card->mem, card->ctlmem); 2519 dbg(DBG_PCI, "kernel mem %p, ctlmem %p\n", card->mem, card->ctlmem);
2520 2520
2521 /* Register the interrupt handler */ 2521 /* Register the interrupt handler */
2522 if (request_irq(pdev->irq, fst_intr, SA_SHIRQ, FST_DEV_NAME, card)) { 2522 if (request_irq(pdev->irq, fst_intr, IRQF_SHARED, FST_DEV_NAME, card)) {
2523 printk_err("Unable to register interrupt %d\n", card->irq); 2523 printk_err("Unable to register interrupt %d\n", card->irq);
2524 pci_release_regions(pdev); 2524 pci_release_regions(pdev);
2525 pci_disable_device(pdev); 2525 pci_disable_device(pdev);
diff --git a/drivers/net/wan/hostess_sv11.c b/drivers/net/wan/hostess_sv11.c
index cf5c805452a3..a4f735723c41 100644
--- a/drivers/net/wan/hostess_sv11.c
+++ b/drivers/net/wan/hostess_sv11.c
@@ -264,7 +264,7 @@ static struct sv11_device *sv11_init(int iobase, int irq)
264 /* We want a fast IRQ for this device. Actually we'd like an even faster 264 /* We want a fast IRQ for this device. Actually we'd like an even faster
265 IRQ ;) - This is one driver RtLinux is made for */ 265 IRQ ;) - This is one driver RtLinux is made for */
266 266
267 if(request_irq(irq, &z8530_interrupt, SA_INTERRUPT, "Hostess SV11", dev)<0) 267 if(request_irq(irq, &z8530_interrupt, IRQF_DISABLED, "Hostess SV11", dev)<0)
268 { 268 {
269 printk(KERN_WARNING "hostess: IRQ %d already in use.\n", irq); 269 printk(KERN_WARNING "hostess: IRQ %d already in use.\n", irq);
270 goto fail1; 270 goto fail1;
diff --git a/drivers/net/wan/lmc/lmc_main.c b/drivers/net/wan/lmc/lmc_main.c
index 40926d779161..39f44241a728 100644
--- a/drivers/net/wan/lmc/lmc_main.c
+++ b/drivers/net/wan/lmc/lmc_main.c
@@ -1058,7 +1058,7 @@ static int lmc_open (struct net_device *dev) /*fold00*/
1058 lmc_softreset (sc); 1058 lmc_softreset (sc);
1059 1059
1060 /* Since we have to use PCI bus, this should work on x86,alpha,ppc */ 1060 /* Since we have to use PCI bus, this should work on x86,alpha,ppc */
1061 if (request_irq (dev->irq, &lmc_interrupt, SA_SHIRQ, dev->name, dev)){ 1061 if (request_irq (dev->irq, &lmc_interrupt, IRQF_SHARED, dev->name, dev)){
1062 printk(KERN_WARNING "%s: could not get irq: %d\n", dev->name, dev->irq); 1062 printk(KERN_WARNING "%s: could not get irq: %d\n", dev->name, dev->irq);
1063 lmc_trace(dev, "lmc_open irq failed out"); 1063 lmc_trace(dev, "lmc_open irq failed out");
1064 return -EAGAIN; 1064 return -EAGAIN;
diff --git a/drivers/net/wan/pc300_drv.c b/drivers/net/wan/pc300_drv.c
index d7897ae89f90..567effff4a3e 100644
--- a/drivers/net/wan/pc300_drv.c
+++ b/drivers/net/wan/pc300_drv.c
@@ -3600,7 +3600,7 @@ cpc_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
3600 } 3600 }
3601 3601
3602 /* Allocate IRQ */ 3602 /* Allocate IRQ */
3603 if (request_irq(card->hw.irq, cpc_intr, SA_SHIRQ, "Cyclades-PC300", card)) { 3603 if (request_irq(card->hw.irq, cpc_intr, IRQF_SHARED, "Cyclades-PC300", card)) {
3604 printk ("PC300 found at RAM 0x%08x, but could not allocate IRQ%d.\n", 3604 printk ("PC300 found at RAM 0x%08x, but could not allocate IRQ%d.\n",
3605 card->hw.ramphys, card->hw.irq); 3605 card->hw.ramphys, card->hw.irq);
3606 goto err_io_unmap; 3606 goto err_io_unmap;
diff --git a/drivers/net/wan/pci200syn.c b/drivers/net/wan/pci200syn.c
index 24c3c57c13c9..4df61fa3214b 100644
--- a/drivers/net/wan/pci200syn.c
+++ b/drivers/net/wan/pci200syn.c
@@ -402,7 +402,7 @@ static int __devinit pci200_pci_init_one(struct pci_dev *pdev,
402 writew(readw(p) | 0x0040, p); 402 writew(readw(p) | 0x0040, p);
403 403
404 /* Allocate IRQ */ 404 /* Allocate IRQ */
405 if (request_irq(pdev->irq, sca_intr, SA_SHIRQ, devname, card)) { 405 if (request_irq(pdev->irq, sca_intr, IRQF_SHARED, devname, card)) {
406 printk(KERN_WARNING "pci200syn: could not allocate IRQ%d.\n", 406 printk(KERN_WARNING "pci200syn: could not allocate IRQ%d.\n",
407 pdev->irq); 407 pdev->irq);
408 pci200_pci_remove_one(pdev); 408 pci200_pci_remove_one(pdev);
diff --git a/drivers/net/wan/sbni.c b/drivers/net/wan/sbni.c
index f2d071272cee..fc75bec19029 100644
--- a/drivers/net/wan/sbni.c
+++ b/drivers/net/wan/sbni.c
@@ -1192,7 +1192,7 @@ sbni_open( struct net_device *dev )
1192 } 1192 }
1193 } 1193 }
1194 1194
1195 if( request_irq(dev->irq, sbni_interrupt, SA_SHIRQ, dev->name, dev) ) { 1195 if( request_irq(dev->irq, sbni_interrupt, IRQF_SHARED, dev->name, dev) ) {
1196 printk( KERN_ERR "%s: unable to get IRQ %d.\n", 1196 printk( KERN_ERR "%s: unable to get IRQ %d.\n",
1197 dev->name, dev->irq ); 1197 dev->name, dev->irq );
1198 return -EAGAIN; 1198 return -EAGAIN;
diff --git a/drivers/net/wan/sealevel.c b/drivers/net/wan/sealevel.c
index 050e854e7774..70fb1b98b1dd 100644
--- a/drivers/net/wan/sealevel.c
+++ b/drivers/net/wan/sealevel.c
@@ -322,7 +322,7 @@ static __init struct slvl_board *slvl_init(int iobase, int irq,
322 /* We want a fast IRQ for this device. Actually we'd like an even faster 322 /* We want a fast IRQ for this device. Actually we'd like an even faster
323 IRQ ;) - This is one driver RtLinux is made for */ 323 IRQ ;) - This is one driver RtLinux is made for */
324 324
325 if(request_irq(irq, &z8530_interrupt, SA_INTERRUPT, "SeaLevel", dev)<0) 325 if(request_irq(irq, &z8530_interrupt, IRQF_DISABLED, "SeaLevel", dev)<0)
326 { 326 {
327 printk(KERN_WARNING "sealevel: IRQ %d already in use.\n", irq); 327 printk(KERN_WARNING "sealevel: IRQ %d already in use.\n", irq);
328 goto fail1_1; 328 goto fail1_1;
diff --git a/drivers/net/wan/wanxl.c b/drivers/net/wan/wanxl.c
index 437e0e938e38..d564224cdca9 100644
--- a/drivers/net/wan/wanxl.c
+++ b/drivers/net/wan/wanxl.c
@@ -755,7 +755,7 @@ static int __devinit wanxl_pci_init_one(struct pci_dev *pdev,
755 pci_name(pdev), plx_phy, ramsize / 1024, mem_phy, pdev->irq); 755 pci_name(pdev), plx_phy, ramsize / 1024, mem_phy, pdev->irq);
756 756
757 /* Allocate IRQ */ 757 /* Allocate IRQ */
758 if (request_irq(pdev->irq, wanxl_intr, SA_SHIRQ, "wanXL", card)) { 758 if (request_irq(pdev->irq, wanxl_intr, IRQF_SHARED, "wanXL", card)) {
759 printk(KERN_WARNING "wanXL %s: could not allocate IRQ%i.\n", 759 printk(KERN_WARNING "wanXL %s: could not allocate IRQ%i.\n",
760 pci_name(pdev), pdev->irq); 760 pci_name(pdev), pdev->irq);
761 wanxl_pci_remove_one(pdev); 761 wanxl_pci_remove_one(pdev);
diff --git a/drivers/net/wireless/airo.c b/drivers/net/wireless/airo.c
index 89328d119efa..a4dd13942714 100644
--- a/drivers/net/wireless/airo.c
+++ b/drivers/net/wireless/airo.c
@@ -2848,7 +2848,7 @@ static struct net_device *_init_airo_card( unsigned short irq, int port,
2848 reset_card (dev, 1); 2848 reset_card (dev, 1);
2849 msleep(400); 2849 msleep(400);
2850 2850
2851 rc = request_irq( dev->irq, airo_interrupt, SA_SHIRQ, dev->name, dev ); 2851 rc = request_irq( dev->irq, airo_interrupt, IRQF_SHARED, dev->name, dev );
2852 if (rc) { 2852 if (rc) {
2853 airo_print_err(dev->name, "register interrupt %d failed, rc %d", 2853 airo_print_err(dev->name, "register interrupt %d failed, rc %d",
2854 irq, rc); 2854 irq, rc);
diff --git a/drivers/net/wireless/atmel.c b/drivers/net/wireless/atmel.c
index 54e31fa2d402..995c7bea5897 100644
--- a/drivers/net/wireless/atmel.c
+++ b/drivers/net/wireless/atmel.c
@@ -1577,7 +1577,7 @@ struct net_device *init_atmel_card(unsigned short irq, unsigned long port,
1577 1577
1578 SET_NETDEV_DEV(dev, sys_dev); 1578 SET_NETDEV_DEV(dev, sys_dev);
1579 1579
1580 if ((rc = request_irq(dev->irq, service_interrupt, SA_SHIRQ, dev->name, dev))) { 1580 if ((rc = request_irq(dev->irq, service_interrupt, IRQF_SHARED, dev->name, dev))) {
1581 printk(KERN_ERR "%s: register interrupt %d failed, rc %d\n", dev->name, irq, rc); 1581 printk(KERN_ERR "%s: register interrupt %d failed, rc %d\n", dev->name, irq, rc);
1582 goto err_out_free; 1582 goto err_out_free;
1583 } 1583 }
diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_main.c b/drivers/net/wireless/bcm43xx/bcm43xx_main.c
index 27bcf47228e2..d8f5600578b4 100644
--- a/drivers/net/wireless/bcm43xx/bcm43xx_main.c
+++ b/drivers/net/wireless/bcm43xx/bcm43xx_main.c
@@ -2175,7 +2175,7 @@ static int bcm43xx_initialize_irq(struct bcm43xx_private *bcm)
2175 } 2175 }
2176#endif 2176#endif
2177 res = request_irq(bcm->irq, bcm43xx_interrupt_handler, 2177 res = request_irq(bcm->irq, bcm43xx_interrupt_handler,
2178 SA_SHIRQ, KBUILD_MODNAME, bcm); 2178 IRQF_SHARED, KBUILD_MODNAME, bcm);
2179 if (res) { 2179 if (res) {
2180 printk(KERN_ERR PFX "Cannot register IRQ%d\n", bcm->irq); 2180 printk(KERN_ERR PFX "Cannot register IRQ%d\n", bcm->irq);
2181 return -ENODEV; 2181 return -ENODEV;
diff --git a/drivers/net/wireless/hostap/hostap_pci.c b/drivers/net/wireless/hostap/hostap_pci.c
index 5ea8ac835857..c2fa011be291 100644
--- a/drivers/net/wireless/hostap/hostap_pci.c
+++ b/drivers/net/wireless/hostap/hostap_pci.c
@@ -337,7 +337,7 @@ static int prism2_pci_probe(struct pci_dev *pdev,
337 337
338 pci_set_drvdata(pdev, dev); 338 pci_set_drvdata(pdev, dev);
339 339
340 if (request_irq(dev->irq, prism2_interrupt, SA_SHIRQ, dev->name, 340 if (request_irq(dev->irq, prism2_interrupt, IRQF_SHARED, dev->name,
341 dev)) { 341 dev)) {
342 printk(KERN_WARNING "%s: request_irq failed\n", dev->name); 342 printk(KERN_WARNING "%s: request_irq failed\n", dev->name);
343 goto fail; 343 goto fail;
diff --git a/drivers/net/wireless/hostap/hostap_plx.c b/drivers/net/wireless/hostap/hostap_plx.c
index 4ee6abbc65ec..49860fa61c30 100644
--- a/drivers/net/wireless/hostap/hostap_plx.c
+++ b/drivers/net/wireless/hostap/hostap_plx.c
@@ -550,7 +550,7 @@ static int prism2_plx_probe(struct pci_dev *pdev,
550 550
551 pci_set_drvdata(pdev, dev); 551 pci_set_drvdata(pdev, dev);
552 552
553 if (request_irq(dev->irq, prism2_interrupt, SA_SHIRQ, dev->name, 553 if (request_irq(dev->irq, prism2_interrupt, IRQF_SHARED, dev->name,
554 dev)) { 554 dev)) {
555 printk(KERN_WARNING "%s: request_irq failed\n", dev->name); 555 printk(KERN_WARNING "%s: request_irq failed\n", dev->name);
556 goto fail; 556 goto fail;
diff --git a/drivers/net/wireless/ipw2100.c b/drivers/net/wireless/ipw2100.c
index 27f744e43095..e955db435b30 100644
--- a/drivers/net/wireless/ipw2100.c
+++ b/drivers/net/wireless/ipw2100.c
@@ -6229,7 +6229,7 @@ static int ipw2100_pci_init_one(struct pci_dev *pci_dev,
6229 ipw2100_queues_initialize(priv); 6229 ipw2100_queues_initialize(priv);
6230 6230
6231 err = request_irq(pci_dev->irq, 6231 err = request_irq(pci_dev->irq,
6232 ipw2100_interrupt, SA_SHIRQ, dev->name, priv); 6232 ipw2100_interrupt, IRQF_SHARED, dev->name, priv);
6233 if (err) { 6233 if (err) {
6234 printk(KERN_WARNING DRV_NAME 6234 printk(KERN_WARNING DRV_NAME
6235 "Error calling request_irq: %d.\n", pci_dev->irq); 6235 "Error calling request_irq: %d.\n", pci_dev->irq);
diff --git a/drivers/net/wireless/ipw2200.c b/drivers/net/wireless/ipw2200.c
index a8a8f975432f..b3300ffe4eec 100644
--- a/drivers/net/wireless/ipw2200.c
+++ b/drivers/net/wireless/ipw2200.c
@@ -11545,7 +11545,7 @@ static int ipw_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
11545 11545
11546 ipw_sw_reset(priv, 1); 11546 ipw_sw_reset(priv, 1);
11547 11547
11548 err = request_irq(pdev->irq, ipw_isr, SA_SHIRQ, DRV_NAME, priv); 11548 err = request_irq(pdev->irq, ipw_isr, IRQF_SHARED, DRV_NAME, priv);
11549 if (err) { 11549 if (err) {
11550 IPW_ERROR("Error allocating IRQ %d\n", pdev->irq); 11550 IPW_ERROR("Error allocating IRQ %d\n", pdev->irq);
11551 goto out_destroy_workqueue; 11551 goto out_destroy_workqueue;
diff --git a/drivers/net/wireless/orinoco_nortel.c b/drivers/net/wireless/orinoco_nortel.c
index 4597fe1d1979..bf05b907747e 100644
--- a/drivers/net/wireless/orinoco_nortel.c
+++ b/drivers/net/wireless/orinoco_nortel.c
@@ -198,7 +198,7 @@ static int orinoco_nortel_init_one(struct pci_dev *pdev,
198 198
199 hermes_struct_init(&priv->hw, hermes_io, HERMES_16BIT_REGSPACING); 199 hermes_struct_init(&priv->hw, hermes_io, HERMES_16BIT_REGSPACING);
200 200
201 err = request_irq(pdev->irq, orinoco_interrupt, SA_SHIRQ, 201 err = request_irq(pdev->irq, orinoco_interrupt, IRQF_SHARED,
202 dev->name, dev); 202 dev->name, dev);
203 if (err) { 203 if (err) {
204 printk(KERN_ERR PFX "Cannot allocate IRQ %d\n", pdev->irq); 204 printk(KERN_ERR PFX "Cannot allocate IRQ %d\n", pdev->irq);
diff --git a/drivers/net/wireless/orinoco_pci.c b/drivers/net/wireless/orinoco_pci.c
index de3eae082a0d..1759c543fbee 100644
--- a/drivers/net/wireless/orinoco_pci.c
+++ b/drivers/net/wireless/orinoco_pci.c
@@ -153,7 +153,7 @@ static int orinoco_pci_init_one(struct pci_dev *pdev,
153 153
154 hermes_struct_init(&priv->hw, hermes_io, HERMES_32BIT_REGSPACING); 154 hermes_struct_init(&priv->hw, hermes_io, HERMES_32BIT_REGSPACING);
155 155
156 err = request_irq(pdev->irq, orinoco_interrupt, SA_SHIRQ, 156 err = request_irq(pdev->irq, orinoco_interrupt, IRQF_SHARED,
157 dev->name, dev); 157 dev->name, dev);
158 if (err) { 158 if (err) {
159 printk(KERN_ERR PFX "Cannot allocate IRQ %d\n", pdev->irq); 159 printk(KERN_ERR PFX "Cannot allocate IRQ %d\n", pdev->irq);
diff --git a/drivers/net/wireless/orinoco_pci.h b/drivers/net/wireless/orinoco_pci.h
index 7eb1e08113e0..be1abea4b64f 100644
--- a/drivers/net/wireless/orinoco_pci.h
+++ b/drivers/net/wireless/orinoco_pci.h
@@ -63,7 +63,7 @@ static int orinoco_pci_resume(struct pci_dev *pdev)
63 pci_enable_device(pdev); 63 pci_enable_device(pdev);
64 pci_restore_state(pdev); 64 pci_restore_state(pdev);
65 65
66 err = request_irq(pdev->irq, orinoco_interrupt, SA_SHIRQ, 66 err = request_irq(pdev->irq, orinoco_interrupt, IRQF_SHARED,
67 dev->name, dev); 67 dev->name, dev);
68 if (err) { 68 if (err) {
69 printk(KERN_ERR "%s: cannot re-allocate IRQ on resume\n", 69 printk(KERN_ERR "%s: cannot re-allocate IRQ on resume\n",
diff --git a/drivers/net/wireless/orinoco_plx.c b/drivers/net/wireless/orinoco_plx.c
index 3f928b8939f0..7f006f624171 100644
--- a/drivers/net/wireless/orinoco_plx.c
+++ b/drivers/net/wireless/orinoco_plx.c
@@ -237,7 +237,7 @@ static int orinoco_plx_init_one(struct pci_dev *pdev,
237 237
238 hermes_struct_init(&priv->hw, hermes_io, HERMES_16BIT_REGSPACING); 238 hermes_struct_init(&priv->hw, hermes_io, HERMES_16BIT_REGSPACING);
239 239
240 err = request_irq(pdev->irq, orinoco_interrupt, SA_SHIRQ, 240 err = request_irq(pdev->irq, orinoco_interrupt, IRQF_SHARED,
241 dev->name, dev); 241 dev->name, dev);
242 if (err) { 242 if (err) {
243 printk(KERN_ERR PFX "Cannot allocate IRQ %d\n", pdev->irq); 243 printk(KERN_ERR PFX "Cannot allocate IRQ %d\n", pdev->irq);
diff --git a/drivers/net/wireless/orinoco_tmd.c b/drivers/net/wireless/orinoco_tmd.c
index 160a642185f0..0831721e4d6c 100644
--- a/drivers/net/wireless/orinoco_tmd.c
+++ b/drivers/net/wireless/orinoco_tmd.c
@@ -139,7 +139,7 @@ static int orinoco_tmd_init_one(struct pci_dev *pdev,
139 139
140 hermes_struct_init(&priv->hw, hermes_io, HERMES_16BIT_REGSPACING); 140 hermes_struct_init(&priv->hw, hermes_io, HERMES_16BIT_REGSPACING);
141 141
142 err = request_irq(pdev->irq, orinoco_interrupt, SA_SHIRQ, 142 err = request_irq(pdev->irq, orinoco_interrupt, IRQF_SHARED,
143 dev->name, dev); 143 dev->name, dev);
144 if (err) { 144 if (err) {
145 printk(KERN_ERR PFX "Cannot allocate IRQ %d\n", pdev->irq); 145 printk(KERN_ERR PFX "Cannot allocate IRQ %d\n", pdev->irq);
diff --git a/drivers/net/wireless/prism54/islpci_hotplug.c b/drivers/net/wireless/prism54/islpci_hotplug.c
index bfa0cc319a09..09fc17a0f029 100644
--- a/drivers/net/wireless/prism54/islpci_hotplug.c
+++ b/drivers/net/wireless/prism54/islpci_hotplug.c
@@ -189,7 +189,7 @@ prism54_probe(struct pci_dev *pdev, const struct pci_device_id *id)
189 189
190 /* request for the interrupt before uploading the firmware */ 190 /* request for the interrupt before uploading the firmware */
191 rvalue = request_irq(pdev->irq, &islpci_interrupt, 191 rvalue = request_irq(pdev->irq, &islpci_interrupt,
192 SA_SHIRQ, ndev->name, priv); 192 IRQF_SHARED, ndev->name, priv);
193 193
194 if (rvalue) { 194 if (rvalue) {
195 /* error, could not hook the handler to the irq */ 195 /* error, could not hook the handler to the irq */
diff --git a/drivers/net/yellowfin.c b/drivers/net/yellowfin.c
index 569305f57561..bbbf7e274a2a 100644
--- a/drivers/net/yellowfin.c
+++ b/drivers/net/yellowfin.c
@@ -602,7 +602,7 @@ static int yellowfin_open(struct net_device *dev)
602 /* Reset the chip. */ 602 /* Reset the chip. */
603 iowrite32(0x80000000, ioaddr + DMACtrl); 603 iowrite32(0x80000000, ioaddr + DMACtrl);
604 604
605 i = request_irq(dev->irq, &yellowfin_interrupt, SA_SHIRQ, dev->name, dev); 605 i = request_irq(dev->irq, &yellowfin_interrupt, IRQF_SHARED, dev->name, dev);
606 if (i) return i; 606 if (i) return i;
607 607
608 if (yellowfin_debug > 1) 608 if (yellowfin_debug > 1)
diff --git a/drivers/net/zorro8390.c b/drivers/net/zorro8390.c
index 8037e5806d0a..df04e050c647 100644
--- a/drivers/net/zorro8390.c
+++ b/drivers/net/zorro8390.c
@@ -201,7 +201,7 @@ static int __devinit zorro8390_init(struct net_device *dev,
201 dev->irq = IRQ_AMIGA_PORTS; 201 dev->irq = IRQ_AMIGA_PORTS;
202 202
203 /* Install the Interrupt handler */ 203 /* Install the Interrupt handler */
204 i = request_irq(IRQ_AMIGA_PORTS, ei_interrupt, SA_SHIRQ, DRV_NAME, dev); 204 i = request_irq(IRQ_AMIGA_PORTS, ei_interrupt, IRQF_SHARED, DRV_NAME, dev);
205 if (i) return i; 205 if (i) return i;
206 206
207 for(i = 0; i < ETHER_ADDR_LEN; i++) { 207 for(i = 0; i < ETHER_ADDR_LEN; i++) {
diff --git a/drivers/parisc/eisa.c b/drivers/parisc/eisa.c
index 58f0ce8d78e0..884965cedec9 100644
--- a/drivers/parisc/eisa.c
+++ b/drivers/parisc/eisa.c
@@ -340,7 +340,7 @@ static int __devinit eisa_probe(struct parisc_device *dev)
340 } 340 }
341 pcibios_register_hba(&eisa_dev.hba); 341 pcibios_register_hba(&eisa_dev.hba);
342 342
343 result = request_irq(dev->irq, eisa_irq, SA_SHIRQ, "EISA", &eisa_dev); 343 result = request_irq(dev->irq, eisa_irq, IRQF_SHARED, "EISA", &eisa_dev);
344 if (result) { 344 if (result) {
345 printk(KERN_ERR "EISA: request_irq failed!\n"); 345 printk(KERN_ERR "EISA: request_irq failed!\n");
346 return result; 346 return result;
diff --git a/drivers/parisc/superio.c b/drivers/parisc/superio.c
index a988dc7a9abd..4ee26a6d9e25 100644
--- a/drivers/parisc/superio.c
+++ b/drivers/parisc/superio.c
@@ -271,7 +271,7 @@ superio_init(struct pci_dev *pcidev)
271 else 271 else
272 printk(KERN_ERR PFX "USB regulator not initialized!\n"); 272 printk(KERN_ERR PFX "USB regulator not initialized!\n");
273 273
274 if (request_irq(pdev->irq, superio_interrupt, SA_INTERRUPT, 274 if (request_irq(pdev->irq, superio_interrupt, IRQF_DISABLED,
275 SUPERIO, (void *)sio)) { 275 SUPERIO, (void *)sio)) {
276 276
277 printk(KERN_ERR PFX "could not get irq\n"); 277 printk(KERN_ERR PFX "could not get irq\n");
diff --git a/drivers/parport/parport_ax88796.c b/drivers/parport/parport_ax88796.c
index 4baa719439a2..1850632590fd 100644
--- a/drivers/parport/parport_ax88796.c
+++ b/drivers/parport/parport_ax88796.c
@@ -345,7 +345,7 @@ static int parport_ax88796_probe(struct platform_device *pdev)
345 if (irq >= 0) { 345 if (irq >= 0) {
346 /* request irq */ 346 /* request irq */
347 ret = request_irq(irq, parport_ax88796_interrupt, 347 ret = request_irq(irq, parport_ax88796_interrupt,
348 SA_TRIGGER_FALLING, pdev->name, pp); 348 IRQF_TRIGGER_FALLING, pdev->name, pp);
349 349
350 if (ret < 0) 350 if (ret < 0)
351 goto exit_port; 351 goto exit_port;
diff --git a/drivers/parport/parport_mfc3.c b/drivers/parport/parport_mfc3.c
index c85364765ef8..b2b8092a2b39 100644
--- a/drivers/parport/parport_mfc3.c
+++ b/drivers/parport/parport_mfc3.c
@@ -353,7 +353,7 @@ static int __init parport_mfc3_init(void)
353 353
354 if (p->irq != PARPORT_IRQ_NONE) { 354 if (p->irq != PARPORT_IRQ_NONE) {
355 if (use_cnt++ == 0) 355 if (use_cnt++ == 0)
356 if (request_irq(IRQ_AMIGA_PORTS, mfc3_interrupt, SA_SHIRQ, p->name, &pp_mfc3_ops)) 356 if (request_irq(IRQ_AMIGA_PORTS, mfc3_interrupt, IRQF_SHARED, p->name, &pp_mfc3_ops))
357 goto out_irq; 357 goto out_irq;
358 } 358 }
359 359
diff --git a/drivers/parport/parport_sunbpp.c b/drivers/parport/parport_sunbpp.c
index 7c43c5392bed..fac333b279bf 100644
--- a/drivers/parport/parport_sunbpp.c
+++ b/drivers/parport/parport_sunbpp.c
@@ -322,7 +322,7 @@ static int __devinit init_one_port(struct sbus_dev *sdev)
322 p->size = size; 322 p->size = size;
323 323
324 if ((err = request_irq(p->irq, parport_sunbpp_interrupt, 324 if ((err = request_irq(p->irq, parport_sunbpp_interrupt,
325 SA_SHIRQ, p->name, p)) != 0) { 325 IRQF_SHARED, p->name, p)) != 0) {
326 goto out_put_port; 326 goto out_put_port;
327 } 327 }
328 328
diff --git a/drivers/pci/hotplug/cpci_hotplug_core.c b/drivers/pci/hotplug/cpci_hotplug_core.c
index 30d87143b5d9..d5df5871cfa2 100644
--- a/drivers/pci/hotplug/cpci_hotplug_core.c
+++ b/drivers/pci/hotplug/cpci_hotplug_core.c
@@ -347,7 +347,7 @@ cpci_hp_intr(int irq, void *data, struct pt_regs *regs)
347 dbg("entered cpci_hp_intr"); 347 dbg("entered cpci_hp_intr");
348 348
349 /* Check to see if it was our interrupt */ 349 /* Check to see if it was our interrupt */
350 if ((controller->irq_flags & SA_SHIRQ) && 350 if ((controller->irq_flags & IRQF_SHARED) &&
351 !controller->ops->check_irq(controller->dev_id)) { 351 !controller->ops->check_irq(controller->dev_id)) {
352 dbg("exited cpci_hp_intr, not our interrupt"); 352 dbg("exited cpci_hp_intr, not our interrupt");
353 return IRQ_NONE; 353 return IRQ_NONE;
diff --git a/drivers/pci/hotplug/cpcihp_zt5550.c b/drivers/pci/hotplug/cpcihp_zt5550.c
index 584f8538da13..1c12e9171097 100644
--- a/drivers/pci/hotplug/cpcihp_zt5550.c
+++ b/drivers/pci/hotplug/cpcihp_zt5550.c
@@ -35,7 +35,8 @@
35#include <linux/init.h> 35#include <linux/init.h>
36#include <linux/errno.h> 36#include <linux/errno.h>
37#include <linux/pci.h> 37#include <linux/pci.h>
38#include <linux/signal.h> /* SA_SHIRQ */ 38#include <linux/interrupt.h>
39#include <linux/signal.h> /* IRQF_SHARED */
39#include "cpci_hotplug.h" 40#include "cpci_hotplug.h"
40#include "cpcihp_zt5550.h" 41#include "cpcihp_zt5550.h"
41 42
@@ -219,7 +220,7 @@ static int zt5550_hc_init_one (struct pci_dev *pdev, const struct pci_device_id
219 zt5550_hpc.ops = &zt5550_hpc_ops; 220 zt5550_hpc.ops = &zt5550_hpc_ops;
220 if(!poll) { 221 if(!poll) {
221 zt5550_hpc.irq = hc_dev->irq; 222 zt5550_hpc.irq = hc_dev->irq;
222 zt5550_hpc.irq_flags = SA_SHIRQ; 223 zt5550_hpc.irq_flags = IRQF_SHARED;
223 zt5550_hpc.dev_id = hc_dev; 224 zt5550_hpc.dev_id = hc_dev;
224 225
225 zt5550_hpc_ops.enable_irq = zt5550_hc_enable_irq; 226 zt5550_hpc_ops.enable_irq = zt5550_hc_enable_irq;
diff --git a/drivers/pci/hotplug/cpqphp_core.c b/drivers/pci/hotplug/cpqphp_core.c
index e6e171f77c34..1fc259913b68 100644
--- a/drivers/pci/hotplug/cpqphp_core.c
+++ b/drivers/pci/hotplug/cpqphp_core.c
@@ -1188,7 +1188,7 @@ static int cpqhpc_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
1188 /* set up the interrupt */ 1188 /* set up the interrupt */
1189 dbg("HPC interrupt = %d \n", ctrl->interrupt); 1189 dbg("HPC interrupt = %d \n", ctrl->interrupt);
1190 if (request_irq(ctrl->interrupt, cpqhp_ctrl_intr, 1190 if (request_irq(ctrl->interrupt, cpqhp_ctrl_intr,
1191 SA_SHIRQ, MY_NAME, ctrl)) { 1191 IRQF_SHARED, MY_NAME, ctrl)) {
1192 err("Can't get irq %d for the hotplug pci controller\n", 1192 err("Can't get irq %d for the hotplug pci controller\n",
1193 ctrl->interrupt); 1193 ctrl->interrupt);
1194 rc = -ENODEV; 1194 rc = -ENODEV;
diff --git a/drivers/pci/hotplug/pciehp_hpc.c b/drivers/pci/hotplug/pciehp_hpc.c
index 11f7858f0064..0d8fb6e607a1 100644
--- a/drivers/pci/hotplug/pciehp_hpc.c
+++ b/drivers/pci/hotplug/pciehp_hpc.c
@@ -1458,7 +1458,7 @@ int pcie_init(struct controller * ctrl, struct pcie_device *dev)
1458 start_int_poll_timer( php_ctlr, 10 ); /* start with 10 second delay */ 1458 start_int_poll_timer( php_ctlr, 10 ); /* start with 10 second delay */
1459 } else { 1459 } else {
1460 /* Installs the interrupt handler */ 1460 /* Installs the interrupt handler */
1461 rc = request_irq(php_ctlr->irq, pcie_isr, SA_SHIRQ, MY_NAME, (void *) ctrl); 1461 rc = request_irq(php_ctlr->irq, pcie_isr, IRQF_SHARED, MY_NAME, (void *) ctrl);
1462 dbg("%s: request_irq %d for hpc%d (returns %d)\n", __FUNCTION__, php_ctlr->irq, ctlr_seq_num, rc); 1462 dbg("%s: request_irq %d for hpc%d (returns %d)\n", __FUNCTION__, php_ctlr->irq, ctlr_seq_num, rc);
1463 if (rc) { 1463 if (rc) {
1464 err("Can't get irq %d for the hotplug controller\n", php_ctlr->irq); 1464 err("Can't get irq %d for the hotplug controller\n", php_ctlr->irq);
diff --git a/drivers/pci/hotplug/shpchp_hpc.c b/drivers/pci/hotplug/shpchp_hpc.c
index 45facaad39bd..0f9798df4704 100644
--- a/drivers/pci/hotplug/shpchp_hpc.c
+++ b/drivers/pci/hotplug/shpchp_hpc.c
@@ -1246,7 +1246,7 @@ int shpc_init(struct controller * ctrl, struct pci_dev * pdev)
1246 } else 1246 } else
1247 php_ctlr->irq = pdev->irq; 1247 php_ctlr->irq = pdev->irq;
1248 1248
1249 rc = request_irq(php_ctlr->irq, shpc_isr, SA_SHIRQ, MY_NAME, (void *) ctrl); 1249 rc = request_irq(php_ctlr->irq, shpc_isr, IRQF_SHARED, MY_NAME, (void *) ctrl);
1250 dbg("%s: request_irq %d for hpc%d (returns %d)\n", __FUNCTION__, php_ctlr->irq, ctlr_seq_num, rc); 1250 dbg("%s: request_irq %d for hpc%d (returns %d)\n", __FUNCTION__, php_ctlr->irq, ctlr_seq_num, rc);
1251 if (rc) { 1251 if (rc) {
1252 err("Can't get irq %d for the hotplug controller\n", php_ctlr->irq); 1252 err("Can't get irq %d for the hotplug controller\n", php_ctlr->irq);
diff --git a/drivers/pcmcia/at91_cf.c b/drivers/pcmcia/at91_cf.c
index 5256342e8532..40569f40e90e 100644
--- a/drivers/pcmcia/at91_cf.c
+++ b/drivers/pcmcia/at91_cf.c
@@ -267,7 +267,7 @@ static int __init at91_cf_probe(struct platform_device *pdev)
267 267
268 /* must be a GPIO; ergo must trigger on both edges */ 268 /* must be a GPIO; ergo must trigger on both edges */
269 status = request_irq(board->det_pin, at91_cf_irq, 269 status = request_irq(board->det_pin, at91_cf_irq,
270 SA_SAMPLE_RANDOM, driver_name, cf); 270 IRQF_SAMPLE_RANDOM, driver_name, cf);
271 if (status < 0) 271 if (status < 0)
272 goto fail0; 272 goto fail0;
273 device_init_wakeup(&pdev->dev, 1); 273 device_init_wakeup(&pdev->dev, 1);
@@ -280,7 +280,7 @@ static int __init at91_cf_probe(struct platform_device *pdev)
280 */ 280 */
281 if (board->irq_pin) { 281 if (board->irq_pin) {
282 status = request_irq(board->irq_pin, at91_cf_irq, 282 status = request_irq(board->irq_pin, at91_cf_irq,
283 SA_SHIRQ, driver_name, cf); 283 IRQF_SHARED, driver_name, cf);
284 if (status < 0) 284 if (status < 0)
285 goto fail0a; 285 goto fail0a;
286 cf->socket.pci_irq = board->irq_pin; 286 cf->socket.pci_irq = board->irq_pin;
diff --git a/drivers/pcmcia/hd64465_ss.c b/drivers/pcmcia/hd64465_ss.c
index c662e4f89d46..ad02629c8be2 100644
--- a/drivers/pcmcia/hd64465_ss.c
+++ b/drivers/pcmcia/hd64465_ss.c
@@ -761,7 +761,7 @@ static int hs_init_socket(hs_socket_t *sp, int irq, unsigned long mem_base,
761 761
762 hd64465_register_irq_demux(sp->irq, hs_irq_demux, sp); 762 hd64465_register_irq_demux(sp->irq, hs_irq_demux, sp);
763 763
764 if ((err = request_irq(sp->irq, hs_interrupt, SA_INTERRUPT, MODNAME, sp)) < 0) 764 if ((err = request_irq(sp->irq, hs_interrupt, IRQF_DISABLED, MODNAME, sp)) < 0)
765 return err; 765 return err;
766 if (request_mem_region(sp->mem_base, sp->mem_length, MODNAME) == 0) { 766 if (request_mem_region(sp->mem_base, sp->mem_length, MODNAME) == 0) {
767 sp->mem_base = 0; 767 sp->mem_base = 0;
diff --git a/drivers/pcmcia/i82092.c b/drivers/pcmcia/i82092.c
index d5f03a338c6c..2163aa75a257 100644
--- a/drivers/pcmcia/i82092.c
+++ b/drivers/pcmcia/i82092.c
@@ -149,7 +149,7 @@ static int __devinit i82092aa_pci_probe(struct pci_dev *dev, const struct pci_de
149 149
150 /* Register the interrupt handler */ 150 /* Register the interrupt handler */
151 dprintk(KERN_DEBUG "Requesting interrupt %i \n",dev->irq); 151 dprintk(KERN_DEBUG "Requesting interrupt %i \n",dev->irq);
152 if ((ret = request_irq(dev->irq, i82092aa_interrupt, SA_SHIRQ, "i82092aa", i82092aa_interrupt))) { 152 if ((ret = request_irq(dev->irq, i82092aa_interrupt, IRQF_SHARED, "i82092aa", i82092aa_interrupt))) {
153 printk(KERN_ERR "i82092aa: Failed to register IRQ %d, aborting\n", dev->irq); 153 printk(KERN_ERR "i82092aa: Failed to register IRQ %d, aborting\n", dev->irq);
154 goto err_out_free_res; 154 goto err_out_free_res;
155 } 155 }
diff --git a/drivers/pcmcia/i82365.c b/drivers/pcmcia/i82365.c
index ff51a65d9433..1cc2682394b1 100644
--- a/drivers/pcmcia/i82365.c
+++ b/drivers/pcmcia/i82365.c
@@ -509,7 +509,7 @@ static irqreturn_t i365_count_irq(int irq, void *dev, struct pt_regs *regs)
509static u_int __init test_irq(u_short sock, int irq) 509static u_int __init test_irq(u_short sock, int irq)
510{ 510{
511 debug(2, " testing ISA irq %d\n", irq); 511 debug(2, " testing ISA irq %d\n", irq);
512 if (request_irq(irq, i365_count_irq, SA_PROBEIRQ, "scan", 512 if (request_irq(irq, i365_count_irq, IRQF_PROBE_SHARED, "scan",
513 i365_count_irq) != 0) 513 i365_count_irq) != 0)
514 return 1; 514 return 1;
515 irq_hits = 0; irq_sock = sock; 515 irq_hits = 0; irq_sock = sock;
@@ -562,7 +562,7 @@ static u_int __init isa_scan(u_short sock, u_int mask0)
562 } else { 562 } else {
563 /* Fallback: just find interrupts that aren't in use */ 563 /* Fallback: just find interrupts that aren't in use */
564 for (i = 0; i < 16; i++) 564 for (i = 0; i < 16; i++)
565 if ((mask0 & (1 << i)) && (_check_irq(i, SA_PROBEIRQ) == 0)) 565 if ((mask0 & (1 << i)) && (_check_irq(i, IRQF_PROBE_SHARED) == 0))
566 mask1 |= (1 << i); 566 mask1 |= (1 << i);
567 printk("default"); 567 printk("default");
568 /* If scan failed, default to polled status */ 568 /* If scan failed, default to polled status */
@@ -726,7 +726,7 @@ static void __init add_pcic(int ns, int type)
726 u_int cs_mask = mask & ((cs_irq) ? (1<<cs_irq) : ~(1<<12)); 726 u_int cs_mask = mask & ((cs_irq) ? (1<<cs_irq) : ~(1<<12));
727 for (cs_irq = 15; cs_irq > 0; cs_irq--) 727 for (cs_irq = 15; cs_irq > 0; cs_irq--)
728 if ((cs_mask & (1 << cs_irq)) && 728 if ((cs_mask & (1 << cs_irq)) &&
729 (_check_irq(cs_irq, SA_PROBEIRQ) == 0)) 729 (_check_irq(cs_irq, IRQF_PROBE_SHARED) == 0))
730 break; 730 break;
731 if (cs_irq) { 731 if (cs_irq) {
732 grab_irq = 1; 732 grab_irq = 1;
diff --git a/drivers/pcmcia/omap_cf.c b/drivers/pcmcia/omap_cf.c
index 2c23d7584399..420e10aec0ae 100644
--- a/drivers/pcmcia/omap_cf.c
+++ b/drivers/pcmcia/omap_cf.c
@@ -232,7 +232,7 @@ static int __init omap_cf_probe(struct device *dev)
232 dev_set_drvdata(dev, cf); 232 dev_set_drvdata(dev, cf);
233 233
234 /* this primarily just shuts up irq handling noise */ 234 /* this primarily just shuts up irq handling noise */
235 status = request_irq(irq, omap_cf_irq, SA_SHIRQ, 235 status = request_irq(irq, omap_cf_irq, IRQF_SHARED,
236 driver_name, cf); 236 driver_name, cf);
237 if (status < 0) 237 if (status < 0)
238 goto fail0; 238 goto fail0;
diff --git a/drivers/pcmcia/pcmcia_resource.c b/drivers/pcmcia/pcmcia_resource.c
index 3281e519e714..7bf25b88ea31 100644
--- a/drivers/pcmcia/pcmcia_resource.c
+++ b/drivers/pcmcia/pcmcia_resource.c
@@ -801,9 +801,9 @@ int pcmcia_request_irq(struct pcmcia_device *p_dev, irq_req_t *req)
801 /* Decide what type of interrupt we are registering */ 801 /* Decide what type of interrupt we are registering */
802 type = 0; 802 type = 0;
803 if (s->functions > 1) /* All of this ought to be handled higher up */ 803 if (s->functions > 1) /* All of this ought to be handled higher up */
804 type = SA_SHIRQ; 804 type = IRQF_SHARED;
805 if (req->Attributes & IRQ_TYPE_DYNAMIC_SHARING) 805 if (req->Attributes & IRQ_TYPE_DYNAMIC_SHARING)
806 type = SA_SHIRQ; 806 type = IRQF_SHARED;
807 807
808#ifdef CONFIG_PCMCIA_PROBE 808#ifdef CONFIG_PCMCIA_PROBE
809 if (s->irq.AssignedIRQ != 0) { 809 if (s->irq.AssignedIRQ != 0) {
@@ -845,7 +845,7 @@ int pcmcia_request_irq(struct pcmcia_device *p_dev, irq_req_t *req)
845 if (ret && !s->irq.AssignedIRQ) { 845 if (ret && !s->irq.AssignedIRQ) {
846 if (!s->pci_irq) 846 if (!s->pci_irq)
847 return ret; 847 return ret;
848 type = SA_SHIRQ; 848 type = IRQF_SHARED;
849 irq = s->pci_irq; 849 irq = s->pci_irq;
850 } 850 }
851 851
@@ -855,7 +855,7 @@ int pcmcia_request_irq(struct pcmcia_device *p_dev, irq_req_t *req)
855 } 855 }
856 856
857 /* Make sure the fact the request type was overridden is passed back */ 857 /* Make sure the fact the request type was overridden is passed back */
858 if (type == SA_SHIRQ && !(req->Attributes & IRQ_TYPE_DYNAMIC_SHARING)) { 858 if (type == IRQF_SHARED && !(req->Attributes & IRQ_TYPE_DYNAMIC_SHARING)) {
859 req->Attributes |= IRQ_TYPE_DYNAMIC_SHARING; 859 req->Attributes |= IRQ_TYPE_DYNAMIC_SHARING;
860 printk(KERN_WARNING "pcmcia: request for exclusive IRQ could not be fulfilled.\n"); 860 printk(KERN_WARNING "pcmcia: request for exclusive IRQ could not be fulfilled.\n");
861 printk(KERN_WARNING "pcmcia: the driver needs updating to supported shared IRQ lines.\n"); 861 printk(KERN_WARNING "pcmcia: the driver needs updating to supported shared IRQ lines.\n");
diff --git a/drivers/pcmcia/pd6729.c b/drivers/pcmcia/pd6729.c
index 9ee26c1b8635..22c5e7427ddd 100644
--- a/drivers/pcmcia/pd6729.c
+++ b/drivers/pcmcia/pd6729.c
@@ -689,7 +689,7 @@ static int __devinit pd6729_pci_probe(struct pci_dev *dev,
689 pci_set_drvdata(dev, socket); 689 pci_set_drvdata(dev, socket);
690 if (irq_mode == 1) { 690 if (irq_mode == 1) {
691 /* Register the interrupt handler */ 691 /* Register the interrupt handler */
692 if ((ret = request_irq(dev->irq, pd6729_interrupt, SA_SHIRQ, 692 if ((ret = request_irq(dev->irq, pd6729_interrupt, IRQF_SHARED,
693 "pd6729", socket))) { 693 "pd6729", socket))) {
694 printk(KERN_ERR "pd6729: Failed to register irq %d, " 694 printk(KERN_ERR "pd6729: Failed to register irq %d, "
695 "aborting\n", dev->irq); 695 "aborting\n", dev->irq);
diff --git a/drivers/pcmcia/soc_common.c b/drivers/pcmcia/soc_common.c
index ecf65d4c4e95..ecaa132fa592 100644
--- a/drivers/pcmcia/soc_common.c
+++ b/drivers/pcmcia/soc_common.c
@@ -38,12 +38,12 @@
38#include <linux/timer.h> 38#include <linux/timer.h>
39#include <linux/mm.h> 39#include <linux/mm.h>
40#include <linux/interrupt.h> 40#include <linux/interrupt.h>
41#include <linux/irq.h>
41#include <linux/spinlock.h> 42#include <linux/spinlock.h>
42#include <linux/cpufreq.h> 43#include <linux/cpufreq.h>
43 44
44#include <asm/hardware.h> 45#include <asm/hardware.h>
45#include <asm/io.h> 46#include <asm/io.h>
46#include <asm/irq.h>
47#include <asm/system.h> 47#include <asm/system.h>
48 48
49#include "soc_common.h" 49#include "soc_common.h"
@@ -523,7 +523,7 @@ int soc_pcmcia_request_irqs(struct soc_pcmcia_socket *skt,
523 if (irqs[i].sock != skt->nr) 523 if (irqs[i].sock != skt->nr)
524 continue; 524 continue;
525 res = request_irq(irqs[i].irq, soc_common_pcmcia_interrupt, 525 res = request_irq(irqs[i].irq, soc_common_pcmcia_interrupt,
526 SA_INTERRUPT, irqs[i].str, skt); 526 IRQF_DISABLED, irqs[i].str, skt);
527 if (res) 527 if (res)
528 break; 528 break;
529 set_irq_type(irqs[i].irq, IRQT_NOEDGE); 529 set_irq_type(irqs[i].irq, IRQT_NOEDGE);
diff --git a/drivers/pcmcia/vrc4171_card.c b/drivers/pcmcia/vrc4171_card.c
index 459e6e1946fd..e076a13db555 100644
--- a/drivers/pcmcia/vrc4171_card.c
+++ b/drivers/pcmcia/vrc4171_card.c
@@ -730,7 +730,7 @@ static int __devinit vrc4171_card_init(void)
730 730
731 retval = vrc4171_add_sockets(); 731 retval = vrc4171_add_sockets();
732 if (retval == 0) 732 if (retval == 0)
733 retval = request_irq(vrc4171_irq, pccard_interrupt, SA_SHIRQ, 733 retval = request_irq(vrc4171_irq, pccard_interrupt, IRQF_SHARED,
734 vrc4171_card_name, vrc4171_sockets); 734 vrc4171_card_name, vrc4171_sockets);
735 735
736 if (retval < 0) { 736 if (retval < 0) {
diff --git a/drivers/pcmcia/vrc4173_cardu.c b/drivers/pcmcia/vrc4173_cardu.c
index 6004196f7cc1..d19a9138135f 100644
--- a/drivers/pcmcia/vrc4173_cardu.c
+++ b/drivers/pcmcia/vrc4173_cardu.c
@@ -500,7 +500,7 @@ static int __devinit vrc4173_cardu_probe(struct pci_dev *dev,
500 return -ENOMEM; 500 return -ENOMEM;
501 } 501 }
502 502
503 if (request_irq(dev->irq, cardu_interrupt, SA_SHIRQ, socket->name, socket) < 0) { 503 if (request_irq(dev->irq, cardu_interrupt, IRQF_SHARED, socket->name, socket) < 0) {
504 pcmcia_unregister_socket(socket->pcmcia_socket); 504 pcmcia_unregister_socket(socket->pcmcia_socket);
505 socket->pcmcia_socket = NULL; 505 socket->pcmcia_socket = NULL;
506 iounmap(socket->base); 506 iounmap(socket->base);
diff --git a/drivers/pcmcia/yenta_socket.c b/drivers/pcmcia/yenta_socket.c
index 47e57602d5ea..1344746381e8 100644
--- a/drivers/pcmcia/yenta_socket.c
+++ b/drivers/pcmcia/yenta_socket.c
@@ -923,7 +923,7 @@ static int yenta_probe_cb_irq(struct yenta_socket *socket)
923 923
924 socket->probe_status = 0; 924 socket->probe_status = 0;
925 925
926 if (request_irq(socket->cb_irq, yenta_probe_handler, SA_SHIRQ, "yenta", socket)) { 926 if (request_irq(socket->cb_irq, yenta_probe_handler, IRQF_SHARED, "yenta", socket)) {
927 printk(KERN_WARNING "Yenta: request_irq() in yenta_probe_cb_irq() failed!\n"); 927 printk(KERN_WARNING "Yenta: request_irq() in yenta_probe_cb_irq() failed!\n");
928 return -1; 928 return -1;
929 } 929 }
@@ -1172,7 +1172,7 @@ static int __devinit yenta_probe (struct pci_dev *dev, const struct pci_device_i
1172 1172
1173 /* We must finish initialization here */ 1173 /* We must finish initialization here */
1174 1174
1175 if (!socket->cb_irq || request_irq(socket->cb_irq, yenta_interrupt, SA_SHIRQ, "yenta", socket)) { 1175 if (!socket->cb_irq || request_irq(socket->cb_irq, yenta_interrupt, IRQF_SHARED, "yenta", socket)) {
1176 /* No IRQ or request_irq failed. Poll */ 1176 /* No IRQ or request_irq failed. Poll */
1177 socket->cb_irq = 0; /* But zero is a valid IRQ number. */ 1177 socket->cb_irq = 0; /* But zero is a valid IRQ number. */
1178 init_timer(&socket->poll_timer); 1178 init_timer(&socket->poll_timer);
diff --git a/drivers/pnp/resource.c b/drivers/pnp/resource.c
index 9fefe563f8fc..5c8ec21e1086 100644
--- a/drivers/pnp/resource.c
+++ b/drivers/pnp/resource.c
@@ -396,7 +396,7 @@ int pnp_check_irq(struct pnp_dev * dev, int idx)
396 * device is active because it itself may be in use */ 396 * device is active because it itself may be in use */
397 if(!dev->active) { 397 if(!dev->active) {
398 if (request_irq(*irq, pnp_test_handler, 398 if (request_irq(*irq, pnp_test_handler,
399 SA_INTERRUPT|SA_PROBEIRQ, "pnp", NULL)) 399 IRQF_DISABLED|IRQF_PROBE_SHARED, "pnp", NULL))
400 return 0; 400 return 0;
401 free_irq(*irq, NULL); 401 free_irq(*irq, NULL);
402 } 402 }
diff --git a/drivers/rtc/rtc-at91.c b/drivers/rtc/rtc-at91.c
index b676f443c17e..dfd0ce86f6a0 100644
--- a/drivers/rtc/rtc-at91.c
+++ b/drivers/rtc/rtc-at91.c
@@ -293,7 +293,7 @@ static int __init at91_rtc_probe(struct platform_device *pdev)
293 AT91_RTC_CALEV); 293 AT91_RTC_CALEV);
294 294
295 ret = request_irq(AT91_ID_SYS, at91_rtc_interrupt, 295 ret = request_irq(AT91_ID_SYS, at91_rtc_interrupt,
296 SA_SHIRQ, "at91_rtc", pdev); 296 IRQF_SHARED, "at91_rtc", pdev);
297 if (ret) { 297 if (ret) {
298 printk(KERN_ERR "at91_rtc: IRQ %d already in use.\n", 298 printk(KERN_ERR "at91_rtc: IRQ %d already in use.\n",
299 AT91_ID_SYS); 299 AT91_ID_SYS);
diff --git a/drivers/rtc/rtc-ds1553.c b/drivers/rtc/rtc-ds1553.c
index 762521a1419c..209001495474 100644
--- a/drivers/rtc/rtc-ds1553.c
+++ b/drivers/rtc/rtc-ds1553.c
@@ -341,7 +341,7 @@ static int __init ds1553_rtc_probe(struct platform_device *pdev)
341 341
342 if (pdata->irq >= 0) { 342 if (pdata->irq >= 0) {
343 writeb(0, ioaddr + RTC_INTERRUPTS); 343 writeb(0, ioaddr + RTC_INTERRUPTS);
344 if (request_irq(pdata->irq, ds1553_rtc_interrupt, SA_SHIRQ, 344 if (request_irq(pdata->irq, ds1553_rtc_interrupt, IRQF_SHARED,
345 pdev->name, pdev) < 0) { 345 pdev->name, pdev) < 0) {
346 dev_warn(&pdev->dev, "interrupt not available.\n"); 346 dev_warn(&pdev->dev, "interrupt not available.\n");
347 pdata->irq = -1; 347 pdata->irq = -1;
diff --git a/drivers/rtc/rtc-pl031.c b/drivers/rtc/rtc-pl031.c
index ee538632660b..d6d1c5726b0e 100644
--- a/drivers/rtc/rtc-pl031.c
+++ b/drivers/rtc/rtc-pl031.c
@@ -173,7 +173,7 @@ static int pl031_probe(struct amba_device *adev, void *id)
173 goto out_no_remap; 173 goto out_no_remap;
174 } 174 }
175 175
176 if (request_irq(adev->irq[0], pl031_interrupt, SA_INTERRUPT, 176 if (request_irq(adev->irq[0], pl031_interrupt, IRQF_DISABLED,
177 "rtc-pl031", ldata->rtc)) { 177 "rtc-pl031", ldata->rtc)) {
178 ret = -EIO; 178 ret = -EIO;
179 goto out_no_irq; 179 goto out_no_irq;
diff --git a/drivers/rtc/rtc-sa1100.c b/drivers/rtc/rtc-sa1100.c
index 9cd1cb304bb2..ee4b61ee67b0 100644
--- a/drivers/rtc/rtc-sa1100.c
+++ b/drivers/rtc/rtc-sa1100.c
@@ -157,19 +157,19 @@ static int sa1100_rtc_open(struct device *dev)
157{ 157{
158 int ret; 158 int ret;
159 159
160 ret = request_irq(IRQ_RTC1Hz, sa1100_rtc_interrupt, SA_INTERRUPT, 160 ret = request_irq(IRQ_RTC1Hz, sa1100_rtc_interrupt, IRQF_DISABLED,
161 "rtc 1Hz", dev); 161 "rtc 1Hz", dev);
162 if (ret) { 162 if (ret) {
163 dev_err(dev, "IRQ %d already in use.\n", IRQ_RTC1Hz); 163 dev_err(dev, "IRQ %d already in use.\n", IRQ_RTC1Hz);
164 goto fail_ui; 164 goto fail_ui;
165 } 165 }
166 ret = request_irq(IRQ_RTCAlrm, sa1100_rtc_interrupt, SA_INTERRUPT, 166 ret = request_irq(IRQ_RTCAlrm, sa1100_rtc_interrupt, IRQF_DISABLED,
167 "rtc Alrm", dev); 167 "rtc Alrm", dev);
168 if (ret) { 168 if (ret) {
169 dev_err(dev, "IRQ %d already in use.\n", IRQ_RTCAlrm); 169 dev_err(dev, "IRQ %d already in use.\n", IRQ_RTCAlrm);
170 goto fail_ai; 170 goto fail_ai;
171 } 171 }
172 ret = request_irq(IRQ_OST1, timer1_interrupt, SA_INTERRUPT, 172 ret = request_irq(IRQ_OST1, timer1_interrupt, IRQF_DISABLED,
173 "rtc timer", dev); 173 "rtc timer", dev);
174 if (ret) { 174 if (ret) {
175 dev_err(dev, "IRQ %d already in use.\n", IRQ_OST1); 175 dev_err(dev, "IRQ %d already in use.\n", IRQ_OST1);
diff --git a/drivers/rtc/rtc-vr41xx.c b/drivers/rtc/rtc-vr41xx.c
index 4b9291dd4443..bb6d5ff24fd0 100644
--- a/drivers/rtc/rtc-vr41xx.c
+++ b/drivers/rtc/rtc-vr41xx.c
@@ -345,11 +345,11 @@ static int __devinit rtc_probe(struct platform_device *pdev)
345 spin_unlock_irq(&rtc_lock); 345 spin_unlock_irq(&rtc_lock);
346 346
347 irq = ELAPSEDTIME_IRQ; 347 irq = ELAPSEDTIME_IRQ;
348 retval = request_irq(irq, elapsedtime_interrupt, SA_INTERRUPT, 348 retval = request_irq(irq, elapsedtime_interrupt, IRQF_DISABLED,
349 "elapsed_time", pdev); 349 "elapsed_time", pdev);
350 if (retval == 0) { 350 if (retval == 0) {
351 irq = RTCLONG1_IRQ; 351 irq = RTCLONG1_IRQ;
352 retval = request_irq(irq, rtclong1_interrupt, SA_INTERRUPT, 352 retval = request_irq(irq, rtclong1_interrupt, IRQF_DISABLED,
353 "rtclong1", pdev); 353 "rtclong1", pdev);
354 } 354 }
355 355
diff --git a/drivers/sbus/char/aurora.c b/drivers/sbus/char/aurora.c
index 015db40ad8a4..4fdb2c932210 100644
--- a/drivers/sbus/char/aurora.c
+++ b/drivers/sbus/char/aurora.c
@@ -337,19 +337,19 @@ static int aurora_probe(void)
337 printk("intr pri %d\n", grrr); 337 printk("intr pri %d\n", grrr);
338#endif 338#endif
339 if ((bp->irq=irqs[bn]) && valid_irq(bp->irq) && 339 if ((bp->irq=irqs[bn]) && valid_irq(bp->irq) &&
340 !request_irq(bp->irq|0x30, aurora_interrupt, SA_SHIRQ, "sio16", bp)) { 340 !request_irq(bp->irq|0x30, aurora_interrupt, IRQF_SHARED, "sio16", bp)) {
341 free_irq(bp->irq|0x30, bp); 341 free_irq(bp->irq|0x30, bp);
342 } else 342 } else
343 if ((bp->irq=prom_getint(sdev->prom_node, "bintr")) && valid_irq(bp->irq) && 343 if ((bp->irq=prom_getint(sdev->prom_node, "bintr")) && valid_irq(bp->irq) &&
344 !request_irq(bp->irq|0x30, aurora_interrupt, SA_SHIRQ, "sio16", bp)) { 344 !request_irq(bp->irq|0x30, aurora_interrupt, IRQF_SHARED, "sio16", bp)) {
345 free_irq(bp->irq|0x30, bp); 345 free_irq(bp->irq|0x30, bp);
346 } else 346 } else
347 if ((bp->irq=prom_getint(sdev->prom_node, "intr")) && valid_irq(bp->irq) && 347 if ((bp->irq=prom_getint(sdev->prom_node, "intr")) && valid_irq(bp->irq) &&
348 !request_irq(bp->irq|0x30, aurora_interrupt, SA_SHIRQ, "sio16", bp)) { 348 !request_irq(bp->irq|0x30, aurora_interrupt, IRQF_SHARED, "sio16", bp)) {
349 free_irq(bp->irq|0x30, bp); 349 free_irq(bp->irq|0x30, bp);
350 } else 350 } else
351 for(grrr=0;grrr<TYPE_1_IRQS;grrr++) { 351 for(grrr=0;grrr<TYPE_1_IRQS;grrr++) {
352 if ((bp->irq=type_1_irq[grrr])&&!request_irq(bp->irq|0x30, aurora_interrupt, SA_SHIRQ, "sio16", bp)) { 352 if ((bp->irq=type_1_irq[grrr])&&!request_irq(bp->irq|0x30, aurora_interrupt, IRQF_SHARED, "sio16", bp)) {
353 free_irq(bp->irq|0x30, bp); 353 free_irq(bp->irq|0x30, bp);
354 break; 354 break;
355 } else { 355 } else {
@@ -909,14 +909,14 @@ static int aurora_setup_board(struct Aurora_board * bp)
909#ifdef AURORA_ALLIRQ 909#ifdef AURORA_ALLIRQ
910 int i; 910 int i;
911 for (i = 0; i < AURORA_ALLIRQ; i++) { 911 for (i = 0; i < AURORA_ALLIRQ; i++) {
912 error = request_irq(allirq[i]|0x30, aurora_interrupt, SA_SHIRQ, 912 error = request_irq(allirq[i]|0x30, aurora_interrupt, IRQF_SHARED,
913 "sio16", bp); 913 "sio16", bp);
914 if (error) 914 if (error)
915 printk(KERN_ERR "IRQ%d request error %d\n", 915 printk(KERN_ERR "IRQ%d request error %d\n",
916 allirq[i], error); 916 allirq[i], error);
917 } 917 }
918#else 918#else
919 error = request_irq(bp->irq|0x30, aurora_interrupt, SA_SHIRQ, 919 error = request_irq(bp->irq|0x30, aurora_interrupt, IRQF_SHARED,
920 "sio16", bp); 920 "sio16", bp);
921 if (error) { 921 if (error) {
922 printk(KERN_ERR "IRQ request error %d\n", error); 922 printk(KERN_ERR "IRQ request error %d\n", error);
diff --git a/drivers/sbus/char/bbc_i2c.c b/drivers/sbus/char/bbc_i2c.c
index 73634371393b..7186235594f9 100644
--- a/drivers/sbus/char/bbc_i2c.c
+++ b/drivers/sbus/char/bbc_i2c.c
@@ -377,7 +377,7 @@ static int __init attach_one_i2c(struct linux_ebus_device *edev, int index)
377 bp->waiting = 0; 377 bp->waiting = 0;
378 init_waitqueue_head(&bp->wq); 378 init_waitqueue_head(&bp->wq);
379 if (request_irq(edev->irqs[0], bbc_i2c_interrupt, 379 if (request_irq(edev->irqs[0], bbc_i2c_interrupt,
380 SA_SHIRQ, "bbc_i2c", bp)) 380 IRQF_SHARED, "bbc_i2c", bp))
381 goto fail; 381 goto fail;
382 382
383 bp->index = index; 383 bp->index = index;
diff --git a/drivers/sbus/char/cpwatchdog.c b/drivers/sbus/char/cpwatchdog.c
index 21737b7e86a1..836a58bb0305 100644
--- a/drivers/sbus/char/cpwatchdog.c
+++ b/drivers/sbus/char/cpwatchdog.c
@@ -301,7 +301,7 @@ static int wd_open(struct inode *inode, struct file *f)
301 { 301 {
302 if (request_irq(wd_dev.irq, 302 if (request_irq(wd_dev.irq,
303 &wd_interrupt, 303 &wd_interrupt,
304 SA_SHIRQ, 304 IRQF_SHARED,
305 WD_OBPNAME, 305 WD_OBPNAME,
306 (void *)wd_dev.regs)) { 306 (void *)wd_dev.regs)) {
307 printk("%s: Cannot register IRQ %d\n", 307 printk("%s: Cannot register IRQ %d\n",
diff --git a/drivers/scsi/3w-9xxx.c b/drivers/scsi/3w-9xxx.c
index b003baf8d404..5a9475e56d0e 100644
--- a/drivers/scsi/3w-9xxx.c
+++ b/drivers/scsi/3w-9xxx.c
@@ -2122,7 +2122,7 @@ static int __devinit twa_probe(struct pci_dev *pdev, const struct pci_device_id
2122 TW_PARAM_PORTCOUNT, TW_PARAM_PORTCOUNT_LENGTH))); 2122 TW_PARAM_PORTCOUNT, TW_PARAM_PORTCOUNT_LENGTH)));
2123 2123
2124 /* Now setup the interrupt handler */ 2124 /* Now setup the interrupt handler */
2125 retval = request_irq(pdev->irq, twa_interrupt, SA_SHIRQ, "3w-9xxx", tw_dev); 2125 retval = request_irq(pdev->irq, twa_interrupt, IRQF_SHARED, "3w-9xxx", tw_dev);
2126 if (retval) { 2126 if (retval) {
2127 TW_PRINTK(tw_dev->host, TW_DRIVER, 0x30, "Error requesting IRQ"); 2127 TW_PRINTK(tw_dev->host, TW_DRIVER, 0x30, "Error requesting IRQ");
2128 goto out_remove_host; 2128 goto out_remove_host;
diff --git a/drivers/scsi/3w-xxxx.c b/drivers/scsi/3w-xxxx.c
index 17dbd4ac8692..f3a5f422a8e4 100644
--- a/drivers/scsi/3w-xxxx.c
+++ b/drivers/scsi/3w-xxxx.c
@@ -2397,7 +2397,7 @@ static int __devinit tw_probe(struct pci_dev *pdev, const struct pci_device_id *
2397 printk(KERN_WARNING "3w-xxxx: scsi%d: Found a 3ware Storage Controller at 0x%x, IRQ: %d.\n", host->host_no, tw_dev->base_addr, pdev->irq); 2397 printk(KERN_WARNING "3w-xxxx: scsi%d: Found a 3ware Storage Controller at 0x%x, IRQ: %d.\n", host->host_no, tw_dev->base_addr, pdev->irq);
2398 2398
2399 /* Now setup the interrupt handler */ 2399 /* Now setup the interrupt handler */
2400 retval = request_irq(pdev->irq, tw_interrupt, SA_SHIRQ, "3w-xxxx", tw_dev); 2400 retval = request_irq(pdev->irq, tw_interrupt, IRQF_SHARED, "3w-xxxx", tw_dev);
2401 if (retval) { 2401 if (retval) {
2402 printk(KERN_WARNING "3w-xxxx: Error requesting IRQ."); 2402 printk(KERN_WARNING "3w-xxxx: Error requesting IRQ.");
2403 goto out_remove_host; 2403 goto out_remove_host;
diff --git a/drivers/scsi/53c7xx.c b/drivers/scsi/53c7xx.c
index c9bd0335995d..c690c2b89e41 100644
--- a/drivers/scsi/53c7xx.c
+++ b/drivers/scsi/53c7xx.c
@@ -1070,7 +1070,7 @@ NCR53c7x0_init (struct Scsi_Host *host) {
1070 1070
1071 NCR53c7x0_driver_init (host); 1071 NCR53c7x0_driver_init (host);
1072 1072
1073 if (request_irq(host->irq, NCR53c7x0_intr, SA_SHIRQ, "53c7xx", host)) 1073 if (request_irq(host->irq, NCR53c7x0_intr, IRQF_SHARED, "53c7xx", host))
1074 { 1074 {
1075 printk("scsi%d : IRQ%d not free, detaching\n", 1075 printk("scsi%d : IRQ%d not free, detaching\n",
1076 host->host_no, host->irq); 1076 host->host_no, host->irq);
@@ -4232,7 +4232,7 @@ restart:
4232 * Purpose : handle NCR53c7x0 interrupts for all NCR devices sharing 4232 * Purpose : handle NCR53c7x0 interrupts for all NCR devices sharing
4233 * the same IRQ line. 4233 * the same IRQ line.
4234 * 4234 *
4235 * Inputs : Since we're using the SA_INTERRUPT interrupt handler 4235 * Inputs : Since we're using the IRQF_DISABLED interrupt handler
4236 * semantics, irq indicates the interrupt which invoked 4236 * semantics, irq indicates the interrupt which invoked
4237 * this handler. 4237 * this handler.
4238 * 4238 *
diff --git a/drivers/scsi/BusLogic.c b/drivers/scsi/BusLogic.c
index 259b47ec4f54..16a12a3b7b2b 100644
--- a/drivers/scsi/BusLogic.c
+++ b/drivers/scsi/BusLogic.c
@@ -1844,7 +1844,7 @@ static boolean __init BusLogic_AcquireResources(struct BusLogic_HostAdapter *Hos
1844 /* 1844 /*
1845 Acquire shared access to the IRQ Channel. 1845 Acquire shared access to the IRQ Channel.
1846 */ 1846 */
1847 if (request_irq(HostAdapter->IRQ_Channel, BusLogic_InterruptHandler, SA_SHIRQ, HostAdapter->FullModelName, HostAdapter) < 0) { 1847 if (request_irq(HostAdapter->IRQ_Channel, BusLogic_InterruptHandler, IRQF_SHARED, HostAdapter->FullModelName, HostAdapter) < 0) {
1848 BusLogic_Error("UNABLE TO ACQUIRE IRQ CHANNEL %d - DETACHING\n", HostAdapter, HostAdapter->IRQ_Channel); 1848 BusLogic_Error("UNABLE TO ACQUIRE IRQ CHANNEL %d - DETACHING\n", HostAdapter, HostAdapter->IRQ_Channel);
1849 return false; 1849 return false;
1850 } 1850 }
diff --git a/drivers/scsi/NCR5380.c b/drivers/scsi/NCR5380.c
index 75f2f7ae2a8e..616810ad17d8 100644
--- a/drivers/scsi/NCR5380.c
+++ b/drivers/scsi/NCR5380.c
@@ -585,7 +585,7 @@ static int __init NCR5380_probe_irq(struct Scsi_Host *instance, int possible)
585 NCR5380_setup(instance); 585 NCR5380_setup(instance);
586 586
587 for (trying_irqs = i = 0, mask = 1; i < 16; ++i, mask <<= 1) 587 for (trying_irqs = i = 0, mask = 1; i < 16; ++i, mask <<= 1)
588 if ((mask & possible) && (request_irq(i, &probe_intr, SA_INTERRUPT, "NCR-probe", NULL) == 0)) 588 if ((mask & possible) && (request_irq(i, &probe_intr, IRQF_DISABLED, "NCR-probe", NULL) == 0))
589 trying_irqs |= mask; 589 trying_irqs |= mask;
590 590
591 timeout = jiffies + (250 * HZ / 1000); 591 timeout = jiffies + (250 * HZ / 1000);
diff --git a/drivers/scsi/NCR_D700.c b/drivers/scsi/NCR_D700.c
index 577e63499778..a06f547e87f7 100644
--- a/drivers/scsi/NCR_D700.c
+++ b/drivers/scsi/NCR_D700.c
@@ -320,7 +320,7 @@ NCR_D700_probe(struct device *dev)
320 memset(p, '\0', sizeof(*p)); 320 memset(p, '\0', sizeof(*p));
321 p->dev = dev; 321 p->dev = dev;
322 snprintf(p->name, sizeof(p->name), "D700(%s)", dev->bus_id); 322 snprintf(p->name, sizeof(p->name), "D700(%s)", dev->bus_id);
323 if (request_irq(irq, NCR_D700_intr, SA_SHIRQ, p->name, p)) { 323 if (request_irq(irq, NCR_D700_intr, IRQF_SHARED, p->name, p)) {
324 printk(KERN_ERR "D700: request_irq failed\n"); 324 printk(KERN_ERR "D700: request_irq failed\n");
325 kfree(p); 325 kfree(p);
326 return -EBUSY; 326 return -EBUSY;
diff --git a/drivers/scsi/NCR_Q720.c b/drivers/scsi/NCR_Q720.c
index 9d18ec90510f..c39ffbb86e39 100644
--- a/drivers/scsi/NCR_Q720.c
+++ b/drivers/scsi/NCR_Q720.c
@@ -265,7 +265,7 @@ NCR_Q720_probe(struct device *dev)
265 p->irq = irq; 265 p->irq = irq;
266 p->siops = siops; 266 p->siops = siops;
267 267
268 if (request_irq(irq, NCR_Q720_intr, SA_SHIRQ, "NCR_Q720", p)) { 268 if (request_irq(irq, NCR_Q720_intr, IRQF_SHARED, "NCR_Q720", p)) {
269 printk(KERN_ERR "NCR_Q720: request irq %d failed\n", irq); 269 printk(KERN_ERR "NCR_Q720: request irq %d failed\n", irq);
270 goto out_release; 270 goto out_release;
271 } 271 }
diff --git a/drivers/scsi/a100u2w.c b/drivers/scsi/a100u2w.c
index 3dce21c78737..d7e9fab54c60 100644
--- a/drivers/scsi/a100u2w.c
+++ b/drivers/scsi/a100u2w.c
@@ -1120,7 +1120,7 @@ static int __devinit inia100_probe_one(struct pci_dev *pdev,
1120 shost->sg_tablesize = TOTAL_SG_ENTRY; 1120 shost->sg_tablesize = TOTAL_SG_ENTRY;
1121 1121
1122 /* Initial orc chip */ 1122 /* Initial orc chip */
1123 error = request_irq(pdev->irq, inia100_intr, SA_SHIRQ, 1123 error = request_irq(pdev->irq, inia100_intr, IRQF_SHARED,
1124 "inia100", shost); 1124 "inia100", shost);
1125 if (error < 0) { 1125 if (error < 0) {
1126 printk(KERN_WARNING "inia100: unable to get irq %d\n", 1126 printk(KERN_WARNING "inia100: unable to get irq %d\n",
diff --git a/drivers/scsi/a2091.c b/drivers/scsi/a2091.c
index 54996eaae979..fddfa2ebcd70 100644
--- a/drivers/scsi/a2091.c
+++ b/drivers/scsi/a2091.c
@@ -208,7 +208,7 @@ int __init a2091_detect(struct scsi_host_template *tpnt)
208 regs.SASR = &(DMA(instance)->SASR); 208 regs.SASR = &(DMA(instance)->SASR);
209 regs.SCMD = &(DMA(instance)->SCMD); 209 regs.SCMD = &(DMA(instance)->SCMD);
210 wd33c93_init(instance, regs, dma_setup, dma_stop, WD33C93_FS_8_10); 210 wd33c93_init(instance, regs, dma_setup, dma_stop, WD33C93_FS_8_10);
211 request_irq(IRQ_AMIGA_PORTS, a2091_intr, SA_SHIRQ, "A2091 SCSI", 211 request_irq(IRQ_AMIGA_PORTS, a2091_intr, IRQF_SHARED, "A2091 SCSI",
212 instance); 212 instance);
213 DMA(instance)->CNTR = CNTR_PDMD | CNTR_INTEN; 213 DMA(instance)->CNTR = CNTR_PDMD | CNTR_INTEN;
214 num_a2091++; 214 num_a2091++;
diff --git a/drivers/scsi/a3000.c b/drivers/scsi/a3000.c
index f425d424bf08..ae9ab4b136ac 100644
--- a/drivers/scsi/a3000.c
+++ b/drivers/scsi/a3000.c
@@ -190,7 +190,7 @@ int __init a3000_detect(struct scsi_host_template *tpnt)
190 regs.SASR = &(DMA(a3000_host)->SASR); 190 regs.SASR = &(DMA(a3000_host)->SASR);
191 regs.SCMD = &(DMA(a3000_host)->SCMD); 191 regs.SCMD = &(DMA(a3000_host)->SCMD);
192 wd33c93_init(a3000_host, regs, dma_setup, dma_stop, WD33C93_FS_12_15); 192 wd33c93_init(a3000_host, regs, dma_setup, dma_stop, WD33C93_FS_12_15);
193 if (request_irq(IRQ_AMIGA_PORTS, a3000_intr, SA_SHIRQ, "A3000 SCSI", 193 if (request_irq(IRQ_AMIGA_PORTS, a3000_intr, IRQF_SHARED, "A3000 SCSI",
194 a3000_intr)) 194 a3000_intr))
195 goto fail_irq; 195 goto fail_irq;
196 DMA(a3000_host)->CNTR = CNTR_PDMD | CNTR_INTEN; 196 DMA(a3000_host)->CNTR = CNTR_PDMD | CNTR_INTEN;
diff --git a/drivers/scsi/aacraid/rkt.c b/drivers/scsi/aacraid/rkt.c
index 5b52966bbbf3..458ea897fd72 100644
--- a/drivers/scsi/aacraid/rkt.c
+++ b/drivers/scsi/aacraid/rkt.c
@@ -453,7 +453,7 @@ int aac_rkt_init(struct aac_dev *dev)
453 } 453 }
454 msleep(1); 454 msleep(1);
455 } 455 }
456 if (request_irq(dev->scsi_host_ptr->irq, aac_rkt_intr, SA_SHIRQ|SA_INTERRUPT, "aacraid", (void *)dev)<0) 456 if (request_irq(dev->scsi_host_ptr->irq, aac_rkt_intr, IRQF_SHARED|IRQF_DISABLED, "aacraid", (void *)dev)<0)
457 { 457 {
458 printk(KERN_ERR "%s%d: Interrupt unavailable.\n", name, instance); 458 printk(KERN_ERR "%s%d: Interrupt unavailable.\n", name, instance);
459 goto error_iounmap; 459 goto error_iounmap;
diff --git a/drivers/scsi/aacraid/rx.c b/drivers/scsi/aacraid/rx.c
index 9dadfb28b3f1..035018db69b1 100644
--- a/drivers/scsi/aacraid/rx.c
+++ b/drivers/scsi/aacraid/rx.c
@@ -453,7 +453,7 @@ int aac_rx_init(struct aac_dev *dev)
453 } 453 }
454 msleep(1); 454 msleep(1);
455 } 455 }
456 if (request_irq(dev->scsi_host_ptr->irq, aac_rx_intr, SA_SHIRQ|SA_INTERRUPT, "aacraid", (void *)dev)<0) 456 if (request_irq(dev->scsi_host_ptr->irq, aac_rx_intr, IRQF_SHARED|IRQF_DISABLED, "aacraid", (void *)dev)<0)
457 { 457 {
458 printk(KERN_ERR "%s%d: Interrupt unavailable.\n", name, instance); 458 printk(KERN_ERR "%s%d: Interrupt unavailable.\n", name, instance);
459 goto error_iounmap; 459 goto error_iounmap;
diff --git a/drivers/scsi/aacraid/sa.c b/drivers/scsi/aacraid/sa.c
index 88d400fccc94..cd586cc8f9be 100644
--- a/drivers/scsi/aacraid/sa.c
+++ b/drivers/scsi/aacraid/sa.c
@@ -327,7 +327,7 @@ int aac_sa_init(struct aac_dev *dev)
327 msleep(1); 327 msleep(1);
328 } 328 }
329 329
330 if (request_irq(dev->scsi_host_ptr->irq, aac_sa_intr, SA_SHIRQ|SA_INTERRUPT, "aacraid", (void *)dev ) < 0) { 330 if (request_irq(dev->scsi_host_ptr->irq, aac_sa_intr, IRQF_SHARED|IRQF_DISABLED, "aacraid", (void *)dev ) < 0) {
331 printk(KERN_WARNING "%s%d: Interrupt unavailable.\n", name, instance); 331 printk(KERN_WARNING "%s%d: Interrupt unavailable.\n", name, instance);
332 goto error_iounmap; 332 goto error_iounmap;
333 } 333 }
diff --git a/drivers/scsi/advansys.c b/drivers/scsi/advansys.c
index 537136457ea0..e32b4ab2f8fb 100644
--- a/drivers/scsi/advansys.c
+++ b/drivers/scsi/advansys.c
@@ -371,7 +371,7 @@
371 371
372 1.5 (8/8/96): 372 1.5 (8/8/96):
373 1. Add support for ABP-940U (PCI Ultra) adapter. 373 1. Add support for ABP-940U (PCI Ultra) adapter.
374 2. Add support for IRQ sharing by setting the SA_SHIRQ flag for 374 2. Add support for IRQ sharing by setting the IRQF_SHARED flag for
375 request_irq and supplying a dev_id pointer to both request_irq() 375 request_irq and supplying a dev_id pointer to both request_irq()
376 and free_irq(). 376 and free_irq().
377 3. In AscSearchIOPortAddr11() restore a call to check_region() which 377 3. In AscSearchIOPortAddr11() restore a call to check_region() which
@@ -504,9 +504,9 @@
504 3. For v2.1.93 and newer kernels use CONFIG_PCI and new PCI BIOS 504 3. For v2.1.93 and newer kernels use CONFIG_PCI and new PCI BIOS
505 access functions. 505 access functions.
506 4. Update board serial number printing. 506 4. Update board serial number printing.
507 5. Try allocating an IRQ both with and without the SA_INTERRUPT 507 5. Try allocating an IRQ both with and without the IRQF_DISABLED
508 flag set to allow IRQ sharing with drivers that do not set 508 flag set to allow IRQ sharing with drivers that do not set
509 the SA_INTERRUPT flag. Also display a more descriptive error 509 the IRQF_DISABLED flag. Also display a more descriptive error
510 message if request_irq() fails. 510 message if request_irq() fails.
511 6. Update to latest Asc and Adv Libraries. 511 6. Update to latest Asc and Adv Libraries.
512 512
@@ -5202,19 +5202,19 @@ advansys_detect(struct scsi_host_template *tpnt)
5202 /* Register IRQ Number. */ 5202 /* Register IRQ Number. */
5203 ASC_DBG1(2, "advansys_detect: request_irq() %d\n", shp->irq); 5203 ASC_DBG1(2, "advansys_detect: request_irq() %d\n", shp->irq);
5204 /* 5204 /*
5205 * If request_irq() fails with the SA_INTERRUPT flag set, 5205 * If request_irq() fails with the IRQF_DISABLED flag set,
5206 * then try again without the SA_INTERRUPT flag set. This 5206 * then try again without the IRQF_DISABLED flag set. This
5207 * allows IRQ sharing to work even with other drivers that 5207 * allows IRQ sharing to work even with other drivers that
5208 * do not set the SA_INTERRUPT flag. 5208 * do not set the IRQF_DISABLED flag.
5209 * 5209 *
5210 * If SA_INTERRUPT is not set, then interrupts are enabled 5210 * If IRQF_DISABLED is not set, then interrupts are enabled
5211 * before the driver interrupt function is called. 5211 * before the driver interrupt function is called.
5212 */ 5212 */
5213 if (((ret = request_irq(shp->irq, advansys_interrupt, 5213 if (((ret = request_irq(shp->irq, advansys_interrupt,
5214 SA_INTERRUPT | (share_irq == TRUE ? SA_SHIRQ : 0), 5214 IRQF_DISABLED | (share_irq == TRUE ? IRQF_SHARED : 0),
5215 "advansys", boardp)) != 0) && 5215 "advansys", boardp)) != 0) &&
5216 ((ret = request_irq(shp->irq, advansys_interrupt, 5216 ((ret = request_irq(shp->irq, advansys_interrupt,
5217 (share_irq == TRUE ? SA_SHIRQ : 0), 5217 (share_irq == TRUE ? IRQF_SHARED : 0),
5218 "advansys", boardp)) != 0)) 5218 "advansys", boardp)) != 0))
5219 { 5219 {
5220 if (ret == -EBUSY) { 5220 if (ret == -EBUSY) {
diff --git a/drivers/scsi/aha152x.c b/drivers/scsi/aha152x.c
index de80cdfb5b9d..36e63f82d9f8 100644
--- a/drivers/scsi/aha152x.c
+++ b/drivers/scsi/aha152x.c
@@ -855,7 +855,7 @@ struct Scsi_Host *aha152x_probe_one(struct aha152x_setup *setup)
855 SETPORT(SIMODE0, 0); 855 SETPORT(SIMODE0, 0);
856 SETPORT(SIMODE1, 0); 856 SETPORT(SIMODE1, 0);
857 857
858 if( request_irq(shpnt->irq, swintr, SA_INTERRUPT|SA_SHIRQ, "aha152x", shpnt) ) { 858 if( request_irq(shpnt->irq, swintr, IRQF_DISABLED|IRQF_SHARED, "aha152x", shpnt) ) {
859 printk(KERN_ERR "aha152x%d: irq %d busy.\n", shpnt->host_no, shpnt->irq); 859 printk(KERN_ERR "aha152x%d: irq %d busy.\n", shpnt->host_no, shpnt->irq);
860 goto out_host_put; 860 goto out_host_put;
861 } 861 }
@@ -889,7 +889,7 @@ struct Scsi_Host *aha152x_probe_one(struct aha152x_setup *setup)
889 SETPORT(SSTAT0, 0x7f); 889 SETPORT(SSTAT0, 0x7f);
890 SETPORT(SSTAT1, 0xef); 890 SETPORT(SSTAT1, 0xef);
891 891
892 if ( request_irq(shpnt->irq, intr, SA_INTERRUPT|SA_SHIRQ, "aha152x", shpnt) ) { 892 if ( request_irq(shpnt->irq, intr, IRQF_DISABLED|IRQF_SHARED, "aha152x", shpnt) ) {
893 printk(KERN_ERR "aha152x%d: failed to reassign irq %d.\n", shpnt->host_no, shpnt->irq); 893 printk(KERN_ERR "aha152x%d: failed to reassign irq %d.\n", shpnt->host_no, shpnt->irq);
894 goto out_host_put; 894 goto out_host_put;
895 } 895 }
diff --git a/drivers/scsi/aha1740.c b/drivers/scsi/aha1740.c
index 4b8c6a543925..0e4a7ebe300a 100644
--- a/drivers/scsi/aha1740.c
+++ b/drivers/scsi/aha1740.c
@@ -634,7 +634,7 @@ static int aha1740_probe (struct device *dev)
634 } 634 }
635 635
636 DEB(printk("aha1740_probe: enable interrupt channel %d\n",irq_level)); 636 DEB(printk("aha1740_probe: enable interrupt channel %d\n",irq_level));
637 if (request_irq(irq_level,aha1740_intr_handle,irq_type ? 0 : SA_SHIRQ, 637 if (request_irq(irq_level,aha1740_intr_handle,irq_type ? 0 : IRQF_SHARED,
638 "aha1740",shpnt)) { 638 "aha1740",shpnt)) {
639 printk(KERN_ERR "aha1740_probe: Unable to allocate IRQ %d.\n", 639 printk(KERN_ERR "aha1740_probe: Unable to allocate IRQ %d.\n",
640 irq_level); 640 irq_level);
diff --git a/drivers/scsi/ahci.c b/drivers/scsi/ahci.c
index f05946777718..15f6cd4279b7 100644
--- a/drivers/scsi/ahci.c
+++ b/drivers/scsi/ahci.c
@@ -1371,7 +1371,7 @@ static int ahci_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
1371 probe_ent->port_ops = ahci_port_info[board_idx].port_ops; 1371 probe_ent->port_ops = ahci_port_info[board_idx].port_ops;
1372 1372
1373 probe_ent->irq = pdev->irq; 1373 probe_ent->irq = pdev->irq;
1374 probe_ent->irq_flags = SA_SHIRQ; 1374 probe_ent->irq_flags = IRQF_SHARED;
1375 probe_ent->mmio_base = mmio_base; 1375 probe_ent->mmio_base = mmio_base;
1376 probe_ent->private_data = hpriv; 1376 probe_ent->private_data = hpriv;
1377 1377
diff --git a/drivers/scsi/aic7xxx/aic7770_osm.c b/drivers/scsi/aic7xxx/aic7770_osm.c
index d754b3267863..867cbe23579b 100644
--- a/drivers/scsi/aic7xxx/aic7770_osm.c
+++ b/drivers/scsi/aic7xxx/aic7770_osm.c
@@ -65,7 +65,7 @@ aic7770_map_int(struct ahc_softc *ahc, u_int irq)
65 65
66 shared = 0; 66 shared = 0;
67 if ((ahc->flags & AHC_EDGE_INTERRUPT) == 0) 67 if ((ahc->flags & AHC_EDGE_INTERRUPT) == 0)
68 shared = SA_SHIRQ; 68 shared = IRQF_SHARED;
69 69
70 error = request_irq(irq, ahc_linux_isr, shared, "aic7xxx", ahc); 70 error = request_irq(irq, ahc_linux_isr, shared, "aic7xxx", ahc);
71 if (error == 0) 71 if (error == 0)
diff --git a/drivers/scsi/aic7xxx/aic79xx_osm_pci.c b/drivers/scsi/aic7xxx/aic79xx_osm_pci.c
index ebbf7e4ff4cc..50a41eda580e 100644
--- a/drivers/scsi/aic7xxx/aic79xx_osm_pci.c
+++ b/drivers/scsi/aic7xxx/aic79xx_osm_pci.c
@@ -342,7 +342,7 @@ ahd_pci_map_int(struct ahd_softc *ahd)
342 int error; 342 int error;
343 343
344 error = request_irq(ahd->dev_softc->irq, ahd_linux_isr, 344 error = request_irq(ahd->dev_softc->irq, ahd_linux_isr,
345 SA_SHIRQ, "aic79xx", ahd); 345 IRQF_SHARED, "aic79xx", ahd);
346 if (!error) 346 if (!error)
347 ahd->platform_data->irq = ahd->dev_softc->irq; 347 ahd->platform_data->irq = ahd->dev_softc->irq;
348 348
diff --git a/drivers/scsi/aic7xxx/aic7xxx_osm_pci.c b/drivers/scsi/aic7xxx/aic7xxx_osm_pci.c
index 0c9c2f400bf6..7e42f07a27f3 100644
--- a/drivers/scsi/aic7xxx/aic7xxx_osm_pci.c
+++ b/drivers/scsi/aic7xxx/aic7xxx_osm_pci.c
@@ -375,7 +375,7 @@ ahc_pci_map_int(struct ahc_softc *ahc)
375 int error; 375 int error;
376 376
377 error = request_irq(ahc->dev_softc->irq, ahc_linux_isr, 377 error = request_irq(ahc->dev_softc->irq, ahc_linux_isr,
378 SA_SHIRQ, "aic7xxx", ahc); 378 IRQF_SHARED, "aic7xxx", ahc);
379 if (error == 0) 379 if (error == 0)
380 ahc->platform_data->irq = ahc->dev_softc->irq; 380 ahc->platform_data->irq = ahc->dev_softc->irq;
381 381
diff --git a/drivers/scsi/aic7xxx_old.c b/drivers/scsi/aic7xxx_old.c
index 5dba1c63122e..3f85b5e978f1 100644
--- a/drivers/scsi/aic7xxx_old.c
+++ b/drivers/scsi/aic7xxx_old.c
@@ -8322,11 +8322,11 @@ aic7xxx_register(struct scsi_host_template *template, struct aic7xxx_host *p,
8322 } 8322 }
8323 else 8323 else
8324 { 8324 {
8325 result = (request_irq(p->irq, do_aic7xxx_isr, SA_SHIRQ, 8325 result = (request_irq(p->irq, do_aic7xxx_isr, IRQF_SHARED,
8326 "aic7xxx", p)); 8326 "aic7xxx", p));
8327 if (result < 0) 8327 if (result < 0)
8328 { 8328 {
8329 result = (request_irq(p->irq, do_aic7xxx_isr, SA_INTERRUPT | SA_SHIRQ, 8329 result = (request_irq(p->irq, do_aic7xxx_isr, IRQF_DISABLED | IRQF_SHARED,
8330 "aic7xxx", p)); 8330 "aic7xxx", p));
8331 } 8331 }
8332 } 8332 }
diff --git a/drivers/scsi/arm/acornscsi.c b/drivers/scsi/arm/acornscsi.c
index 1b9900b58956..7621e3fa37b1 100644
--- a/drivers/scsi/arm/acornscsi.c
+++ b/drivers/scsi/arm/acornscsi.c
@@ -3030,7 +3030,7 @@ acornscsi_probe(struct expansion_card *ec, const struct ecard_id *id)
3030 if (!request_region(host->io_port, 2048, "acornscsi(ram)")) 3030 if (!request_region(host->io_port, 2048, "acornscsi(ram)"))
3031 goto err_5; 3031 goto err_5;
3032 3032
3033 ret = request_irq(host->irq, acornscsi_intr, SA_INTERRUPT, "acornscsi", ashost); 3033 ret = request_irq(host->irq, acornscsi_intr, IRQF_DISABLED, "acornscsi", ashost);
3034 if (ret) { 3034 if (ret) {
3035 printk(KERN_CRIT "scsi%d: IRQ%d not free: %d\n", 3035 printk(KERN_CRIT "scsi%d: IRQ%d not free: %d\n",
3036 host->host_no, ashost->scsi.irq, ret); 3036 host->host_no, ashost->scsi.irq, ret);
diff --git a/drivers/scsi/arm/cumana_1.c b/drivers/scsi/arm/cumana_1.c
index e6c9491dc5c0..3bdfc36481ae 100644
--- a/drivers/scsi/arm/cumana_1.c
+++ b/drivers/scsi/arm/cumana_1.c
@@ -277,7 +277,7 @@ cumanascsi1_probe(struct expansion_card *ec, const struct ecard_id *id)
277 ((struct NCR5380_hostdata *)host->hostdata)->ctrl = 0; 277 ((struct NCR5380_hostdata *)host->hostdata)->ctrl = 0;
278 outb(0x00, host->io_port - 577); 278 outb(0x00, host->io_port - 577);
279 279
280 ret = request_irq(host->irq, cumanascsi_intr, SA_INTERRUPT, 280 ret = request_irq(host->irq, cumanascsi_intr, IRQF_DISABLED,
281 "CumanaSCSI-1", host); 281 "CumanaSCSI-1", host);
282 if (ret) { 282 if (ret) {
283 printk("scsi%d: IRQ%d not free: %d\n", 283 printk("scsi%d: IRQ%d not free: %d\n",
diff --git a/drivers/scsi/arm/cumana_2.c b/drivers/scsi/arm/cumana_2.c
index fad2109268bb..719af0dcc0e5 100644
--- a/drivers/scsi/arm/cumana_2.c
+++ b/drivers/scsi/arm/cumana_2.c
@@ -460,7 +460,7 @@ cumanascsi2_probe(struct expansion_card *ec, const struct ecard_id *id)
460 goto out_free; 460 goto out_free;
461 461
462 ret = request_irq(ec->irq, cumanascsi_2_intr, 462 ret = request_irq(ec->irq, cumanascsi_2_intr,
463 SA_INTERRUPT, "cumanascsi2", info); 463 IRQF_DISABLED, "cumanascsi2", info);
464 if (ret) { 464 if (ret) {
465 printk("scsi%d: IRQ%d not free: %d\n", 465 printk("scsi%d: IRQ%d not free: %d\n",
466 host->host_no, ec->irq, ret); 466 host->host_no, ec->irq, ret);
diff --git a/drivers/scsi/arm/powertec.c b/drivers/scsi/arm/powertec.c
index 3d69f6c45a6b..b2c346a47052 100644
--- a/drivers/scsi/arm/powertec.c
+++ b/drivers/scsi/arm/powertec.c
@@ -373,7 +373,7 @@ powertecscsi_probe(struct expansion_card *ec, const struct ecard_id *id)
373 goto out_free; 373 goto out_free;
374 374
375 ret = request_irq(ec->irq, powertecscsi_intr, 375 ret = request_irq(ec->irq, powertecscsi_intr,
376 SA_INTERRUPT, "powertec", info); 376 IRQF_DISABLED, "powertec", info);
377 if (ret) { 377 if (ret) {
378 printk("scsi%d: IRQ%d not free: %d\n", 378 printk("scsi%d: IRQ%d not free: %d\n",
379 host->host_no, ec->irq, ret); 379 host->host_no, ec->irq, ret);
diff --git a/drivers/scsi/atp870u.c b/drivers/scsi/atp870u.c
index 3ee4d4d3f445..412f8301b757 100644
--- a/drivers/scsi/atp870u.c
+++ b/drivers/scsi/atp870u.c
@@ -2751,7 +2751,7 @@ flash_ok_880:
2751 goto unregister; 2751 goto unregister;
2752 } 2752 }
2753 2753
2754 if (request_irq(pdev->irq, atp870u_intr_handle, SA_SHIRQ, "atp880i", shpnt)) { 2754 if (request_irq(pdev->irq, atp870u_intr_handle, IRQF_SHARED, "atp880i", shpnt)) {
2755 printk(KERN_ERR "Unable to allocate IRQ%d for Acard controller.\n", pdev->irq); 2755 printk(KERN_ERR "Unable to allocate IRQ%d for Acard controller.\n", pdev->irq);
2756 goto free_tables; 2756 goto free_tables;
2757 } 2757 }
@@ -2822,7 +2822,7 @@ flash_ok_880:
2822#ifdef ED_DBGP 2822#ifdef ED_DBGP
2823 printk("request_irq() shpnt %p hostdata %p\n", shpnt, p); 2823 printk("request_irq() shpnt %p hostdata %p\n", shpnt, p);
2824#endif 2824#endif
2825 if (request_irq(pdev->irq, atp870u_intr_handle, SA_SHIRQ, "atp870u", shpnt)) { 2825 if (request_irq(pdev->irq, atp870u_intr_handle, IRQF_SHARED, "atp870u", shpnt)) {
2826 printk(KERN_ERR "Unable to allocate IRQ for Acard controller.\n"); 2826 printk(KERN_ERR "Unable to allocate IRQ for Acard controller.\n");
2827 goto free_tables; 2827 goto free_tables;
2828 } 2828 }
@@ -3004,7 +3004,7 @@ flash_ok_885:
3004 if (atp870u_init_tables(shpnt) < 0) 3004 if (atp870u_init_tables(shpnt) < 0)
3005 goto unregister; 3005 goto unregister;
3006 3006
3007 if (request_irq(pdev->irq, atp870u_intr_handle, SA_SHIRQ, "atp870i", shpnt)) { 3007 if (request_irq(pdev->irq, atp870u_intr_handle, IRQF_SHARED, "atp870i", shpnt)) {
3008 printk(KERN_ERR "Unable to allocate IRQ%d for Acard controller.\n", pdev->irq); 3008 printk(KERN_ERR "Unable to allocate IRQ%d for Acard controller.\n", pdev->irq);
3009 goto free_tables; 3009 goto free_tables;
3010 } 3010 }
diff --git a/drivers/scsi/blz1230.c b/drivers/scsi/blz1230.c
index 3867ac2de4c2..329a8f297b31 100644
--- a/drivers/scsi/blz1230.c
+++ b/drivers/scsi/blz1230.c
@@ -172,7 +172,7 @@ int __init blz1230_esp_detect(struct scsi_host_template *tpnt)
172 172
173 esp->irq = IRQ_AMIGA_PORTS; 173 esp->irq = IRQ_AMIGA_PORTS;
174 esp->slot = board+REAL_BLZ1230_ESP_ADDR; 174 esp->slot = board+REAL_BLZ1230_ESP_ADDR;
175 if (request_irq(IRQ_AMIGA_PORTS, esp_intr, SA_SHIRQ, 175 if (request_irq(IRQ_AMIGA_PORTS, esp_intr, IRQF_SHARED,
176 "Blizzard 1230 SCSI IV", esp->ehost)) 176 "Blizzard 1230 SCSI IV", esp->ehost))
177 goto err_out; 177 goto err_out;
178 178
diff --git a/drivers/scsi/blz2060.c b/drivers/scsi/blz2060.c
index 4ebe69e32756..b6c137b97350 100644
--- a/drivers/scsi/blz2060.c
+++ b/drivers/scsi/blz2060.c
@@ -146,7 +146,7 @@ int __init blz2060_esp_detect(struct scsi_host_template *tpnt)
146 esp->esp_command_dvma = virt_to_bus((void *)cmd_buffer); 146 esp->esp_command_dvma = virt_to_bus((void *)cmd_buffer);
147 147
148 esp->irq = IRQ_AMIGA_PORTS; 148 esp->irq = IRQ_AMIGA_PORTS;
149 request_irq(IRQ_AMIGA_PORTS, esp_intr, SA_SHIRQ, 149 request_irq(IRQ_AMIGA_PORTS, esp_intr, IRQF_SHARED,
150 "Blizzard 2060 SCSI", esp->ehost); 150 "Blizzard 2060 SCSI", esp->ehost);
151 151
152 /* Figure out our scsi ID on the bus */ 152 /* Figure out our scsi ID on the bus */
diff --git a/drivers/scsi/cyberstorm.c b/drivers/scsi/cyberstorm.c
index a4a4fac5c0a1..7c7cfb54e897 100644
--- a/drivers/scsi/cyberstorm.c
+++ b/drivers/scsi/cyberstorm.c
@@ -172,7 +172,7 @@ int __init cyber_esp_detect(struct scsi_host_template *tpnt)
172 esp->esp_command_dvma = virt_to_bus((void *)cmd_buffer); 172 esp->esp_command_dvma = virt_to_bus((void *)cmd_buffer);
173 173
174 esp->irq = IRQ_AMIGA_PORTS; 174 esp->irq = IRQ_AMIGA_PORTS;
175 request_irq(IRQ_AMIGA_PORTS, esp_intr, SA_SHIRQ, 175 request_irq(IRQ_AMIGA_PORTS, esp_intr, IRQF_SHARED,
176 "CyberStorm SCSI", esp->ehost); 176 "CyberStorm SCSI", esp->ehost);
177 /* Figure out our scsi ID on the bus */ 177 /* Figure out our scsi ID on the bus */
178 /* The DMA cond flag contains a hardcoded jumper bit 178 /* The DMA cond flag contains a hardcoded jumper bit
diff --git a/drivers/scsi/cyberstormII.c b/drivers/scsi/cyberstormII.c
index 3a803d73bc5f..d88cb9cf091e 100644
--- a/drivers/scsi/cyberstormII.c
+++ b/drivers/scsi/cyberstormII.c
@@ -153,7 +153,7 @@ int __init cyberII_esp_detect(struct scsi_host_template *tpnt)
153 esp->esp_command_dvma = virt_to_bus((void *)cmd_buffer); 153 esp->esp_command_dvma = virt_to_bus((void *)cmd_buffer);
154 154
155 esp->irq = IRQ_AMIGA_PORTS; 155 esp->irq = IRQ_AMIGA_PORTS;
156 request_irq(IRQ_AMIGA_PORTS, esp_intr, SA_SHIRQ, 156 request_irq(IRQ_AMIGA_PORTS, esp_intr, IRQF_SHARED,
157 "CyberStorm SCSI Mk II", esp->ehost); 157 "CyberStorm SCSI Mk II", esp->ehost);
158 158
159 /* Figure out our scsi ID on the bus */ 159 /* Figure out our scsi ID on the bus */
diff --git a/drivers/scsi/dc395x.c b/drivers/scsi/dc395x.c
index 58b0748045ee..ff2b1796fa34 100644
--- a/drivers/scsi/dc395x.c
+++ b/drivers/scsi/dc395x.c
@@ -4562,7 +4562,7 @@ static int __devinit adapter_init(struct AdapterCtlBlk *acb,
4562 acb->io_port_base = io_port; 4562 acb->io_port_base = io_port;
4563 acb->io_port_len = io_port_len; 4563 acb->io_port_len = io_port_len;
4564 4564
4565 if (request_irq(irq, dc395x_interrupt, SA_SHIRQ, DC395X_NAME, acb)) { 4565 if (request_irq(irq, dc395x_interrupt, IRQF_SHARED, DC395X_NAME, acb)) {
4566 /* release the region we just claimed */ 4566 /* release the region we just claimed */
4567 dprintkl(KERN_INFO, "Failed to register IRQ\n"); 4567 dprintkl(KERN_INFO, "Failed to register IRQ\n");
4568 goto failed; 4568 goto failed;
diff --git a/drivers/scsi/dec_esp.c b/drivers/scsi/dec_esp.c
index a35ee43a48df..eb32062f7e68 100644
--- a/drivers/scsi/dec_esp.c
+++ b/drivers/scsi/dec_esp.c
@@ -202,19 +202,19 @@ static int dec_esp_detect(struct scsi_host_template * tpnt)
202 202
203 esp_initialize(esp); 203 esp_initialize(esp);
204 204
205 if (request_irq(esp->irq, esp_intr, SA_INTERRUPT, 205 if (request_irq(esp->irq, esp_intr, IRQF_DISABLED,
206 "ncr53c94", esp->ehost)) 206 "ncr53c94", esp->ehost))
207 goto err_dealloc; 207 goto err_dealloc;
208 if (request_irq(dec_interrupt[DEC_IRQ_ASC_MERR], 208 if (request_irq(dec_interrupt[DEC_IRQ_ASC_MERR],
209 scsi_dma_merr_int, SA_INTERRUPT, 209 scsi_dma_merr_int, IRQF_DISABLED,
210 "ncr53c94 error", esp->ehost)) 210 "ncr53c94 error", esp->ehost))
211 goto err_free_irq; 211 goto err_free_irq;
212 if (request_irq(dec_interrupt[DEC_IRQ_ASC_ERR], 212 if (request_irq(dec_interrupt[DEC_IRQ_ASC_ERR],
213 scsi_dma_err_int, SA_INTERRUPT, 213 scsi_dma_err_int, IRQF_DISABLED,
214 "ncr53c94 overrun", esp->ehost)) 214 "ncr53c94 overrun", esp->ehost))
215 goto err_free_irq_merr; 215 goto err_free_irq_merr;
216 if (request_irq(dec_interrupt[DEC_IRQ_ASC_DMA], 216 if (request_irq(dec_interrupt[DEC_IRQ_ASC_DMA],
217 scsi_dma_int, SA_INTERRUPT, 217 scsi_dma_int, IRQF_DISABLED,
218 "ncr53c94 dma", esp->ehost)) 218 "ncr53c94 dma", esp->ehost))
219 goto err_free_irq_err; 219 goto err_free_irq_err;
220 220
@@ -276,7 +276,7 @@ static int dec_esp_detect(struct scsi_host_template * tpnt)
276 esp->dma_mmu_release_scsi_sgl = 0; 276 esp->dma_mmu_release_scsi_sgl = 0;
277 esp->dma_advance_sg = 0; 277 esp->dma_advance_sg = 0;
278 278
279 if (request_irq(esp->irq, esp_intr, SA_INTERRUPT, 279 if (request_irq(esp->irq, esp_intr, IRQF_DISABLED,
280 "PMAZ_AA", esp->ehost)) { 280 "PMAZ_AA", esp->ehost)) {
281 esp_deallocate(esp); 281 esp_deallocate(esp);
282 release_tc_card(slot); 282 release_tc_card(slot);
diff --git a/drivers/scsi/dmx3191d.c b/drivers/scsi/dmx3191d.c
index 38e4010eff96..879a26657676 100644
--- a/drivers/scsi/dmx3191d.c
+++ b/drivers/scsi/dmx3191d.c
@@ -94,7 +94,7 @@ static int __devinit dmx3191d_probe_one(struct pci_dev *pdev,
94 94
95 NCR5380_init(shost, FLAG_NO_PSEUDO_DMA | FLAG_DTC3181E); 95 NCR5380_init(shost, FLAG_NO_PSEUDO_DMA | FLAG_DTC3181E);
96 96
97 if (request_irq(pdev->irq, NCR5380_intr, SA_SHIRQ, 97 if (request_irq(pdev->irq, NCR5380_intr, IRQF_SHARED,
98 DMX3191D_DRIVER_NAME, shost)) { 98 DMX3191D_DRIVER_NAME, shost)) {
99 /* 99 /*
100 * Steam powered scsi controllers run without an IRQ anyway 100 * Steam powered scsi controllers run without an IRQ anyway
diff --git a/drivers/scsi/dpt_i2o.c b/drivers/scsi/dpt_i2o.c
index b1b704a42efd..e1337339cacc 100644
--- a/drivers/scsi/dpt_i2o.c
+++ b/drivers/scsi/dpt_i2o.c
@@ -1009,7 +1009,7 @@ static int adpt_install_hba(struct scsi_host_template* sht, struct pci_dev* pDev
1009 printk(KERN_INFO" BAR1 %p - size= %x\n",msg_addr_virt,hba_map1_area_size); 1009 printk(KERN_INFO" BAR1 %p - size= %x\n",msg_addr_virt,hba_map1_area_size);
1010 } 1010 }
1011 1011
1012 if (request_irq (pDev->irq, adpt_isr, SA_SHIRQ, pHba->name, pHba)) { 1012 if (request_irq (pDev->irq, adpt_isr, IRQF_SHARED, pHba->name, pHba)) {
1013 printk(KERN_ERR"%s: Couldn't register IRQ %d\n", pHba->name, pDev->irq); 1013 printk(KERN_ERR"%s: Couldn't register IRQ %d\n", pHba->name, pDev->irq);
1014 adpt_i2o_delete_hba(pHba); 1014 adpt_i2o_delete_hba(pHba);
1015 return -EINVAL; 1015 return -EINVAL;
diff --git a/drivers/scsi/dtc.c b/drivers/scsi/dtc.c
index c5108c8c887b..0d5713dfa204 100644
--- a/drivers/scsi/dtc.c
+++ b/drivers/scsi/dtc.c
@@ -280,7 +280,7 @@ found:
280 /* With interrupts enabled, it will sometimes hang when doing heavy 280 /* With interrupts enabled, it will sometimes hang when doing heavy
281 * reads. So better not enable them until I finger it out. */ 281 * reads. So better not enable them until I finger it out. */
282 if (instance->irq != SCSI_IRQ_NONE) 282 if (instance->irq != SCSI_IRQ_NONE)
283 if (request_irq(instance->irq, dtc_intr, SA_INTERRUPT, "dtc", instance)) { 283 if (request_irq(instance->irq, dtc_intr, IRQF_DISABLED, "dtc", instance)) {
284 printk(KERN_ERR "scsi%d : IRQ%d not free, interrupts disabled\n", instance->host_no, instance->irq); 284 printk(KERN_ERR "scsi%d : IRQ%d not free, interrupts disabled\n", instance->host_no, instance->irq);
285 instance->irq = SCSI_IRQ_NONE; 285 instance->irq = SCSI_IRQ_NONE;
286 } 286 }
diff --git a/drivers/scsi/eata.c b/drivers/scsi/eata.c
index 67c419402d8a..a5ff43b1b263 100644
--- a/drivers/scsi/eata.c
+++ b/drivers/scsi/eata.c
@@ -1221,7 +1221,7 @@ static int port_detect(unsigned long port_base, unsigned int j,
1221 1221
1222 /* Board detected, allocate its IRQ */ 1222 /* Board detected, allocate its IRQ */
1223 if (request_irq(irq, do_interrupt_handler, 1223 if (request_irq(irq, do_interrupt_handler,
1224 SA_INTERRUPT | ((subversion == ESA) ? SA_SHIRQ : 0), 1224 IRQF_DISABLED | ((subversion == ESA) ? IRQF_SHARED : 0),
1225 driver_name, (void *)&sha[j])) { 1225 driver_name, (void *)&sha[j])) {
1226 printk("%s: unable to allocate IRQ %u, detaching.\n", name, 1226 printk("%s: unable to allocate IRQ %u, detaching.\n", name,
1227 irq); 1227 irq);
diff --git a/drivers/scsi/eata_pio.c b/drivers/scsi/eata_pio.c
index d8c9ec21e0ef..771b01984cbc 100644
--- a/drivers/scsi/eata_pio.c
+++ b/drivers/scsi/eata_pio.c
@@ -731,7 +731,7 @@ static int register_pio_HBA(long base, struct get_conf *gc)
731 return 0; 731 return 0;
732 732
733 if (!reg_IRQ[gc->IRQ]) { /* Interrupt already registered ? */ 733 if (!reg_IRQ[gc->IRQ]) { /* Interrupt already registered ? */
734 if (!request_irq(gc->IRQ, do_eata_pio_int_handler, SA_INTERRUPT, "EATA-PIO", sh)) { 734 if (!request_irq(gc->IRQ, do_eata_pio_int_handler, IRQF_DISABLED, "EATA-PIO", sh)) {
735 reg_IRQ[gc->IRQ]++; 735 reg_IRQ[gc->IRQ]++;
736 if (!gc->IRQ_TR) 736 if (!gc->IRQ_TR)
737 reg_IRQL[gc->IRQ] = 1; /* IRQ is edge triggered */ 737 reg_IRQL[gc->IRQ] = 1; /* IRQ is edge triggered */
@@ -965,7 +965,7 @@ static int eata_pio_detect(struct scsi_host_template *tpnt)
965 965
966 for (i = 0; i <= MAXIRQ; i++) 966 for (i = 0; i <= MAXIRQ; i++)
967 if (reg_IRQ[i]) 967 if (reg_IRQ[i])
968 request_irq(i, do_eata_pio_int_handler, SA_INTERRUPT, "EATA-PIO", NULL); 968 request_irq(i, do_eata_pio_int_handler, IRQF_DISABLED, "EATA-PIO", NULL);
969 969
970 HBA_ptr = first_HBA; 970 HBA_ptr = first_HBA;
971 971
diff --git a/drivers/scsi/esp.c b/drivers/scsi/esp.c
index 36c50b61f94d..10573c24a50b 100644
--- a/drivers/scsi/esp.c
+++ b/drivers/scsi/esp.c
@@ -778,7 +778,7 @@ static int __init esp_register_irq(struct esp *esp)
778 * sanely maintain. 778 * sanely maintain.
779 */ 779 */
780 if (request_irq(esp->ehost->irq, esp_intr, 780 if (request_irq(esp->ehost->irq, esp_intr,
781 SA_SHIRQ, "ESP SCSI", esp)) { 781 IRQF_SHARED, "ESP SCSI", esp)) {
782 printk("esp%d: Cannot acquire irq line\n", 782 printk("esp%d: Cannot acquire irq line\n",
783 esp->esp_id); 783 esp->esp_id);
784 return -1; 784 return -1;
diff --git a/drivers/scsi/fastlane.c b/drivers/scsi/fastlane.c
index 8ae9c406a83b..2a1c5c22b9e0 100644
--- a/drivers/scsi/fastlane.c
+++ b/drivers/scsi/fastlane.c
@@ -210,7 +210,7 @@ int __init fastlane_esp_detect(struct scsi_host_template *tpnt)
210 210
211 esp->irq = IRQ_AMIGA_PORTS; 211 esp->irq = IRQ_AMIGA_PORTS;
212 esp->slot = board+FASTLANE_ESP_ADDR; 212 esp->slot = board+FASTLANE_ESP_ADDR;
213 if (request_irq(IRQ_AMIGA_PORTS, esp_intr, SA_SHIRQ, 213 if (request_irq(IRQ_AMIGA_PORTS, esp_intr, IRQF_SHARED,
214 "Fastlane SCSI", esp->ehost)) { 214 "Fastlane SCSI", esp->ehost)) {
215 printk(KERN_WARNING "Fastlane: Could not get IRQ%d, aborting.\n", IRQ_AMIGA_PORTS); 215 printk(KERN_WARNING "Fastlane: Could not get IRQ%d, aborting.\n", IRQ_AMIGA_PORTS);
216 goto err_unmap; 216 goto err_unmap;
diff --git a/drivers/scsi/fd_mcs.c b/drivers/scsi/fd_mcs.c
index 70a1606bd580..dde3edf35c03 100644
--- a/drivers/scsi/fd_mcs.c
+++ b/drivers/scsi/fd_mcs.c
@@ -400,7 +400,7 @@ static int fd_mcs_detect(struct scsi_host_template * tpnt)
400 mca_set_adapter_name(slot - 1, fd_mcs_adapters[loop].name); 400 mca_set_adapter_name(slot - 1, fd_mcs_adapters[loop].name);
401 401
402 /* check irq/region */ 402 /* check irq/region */
403 if (request_irq(irq, fd_mcs_intr, SA_SHIRQ, "fd_mcs", hosts)) { 403 if (request_irq(irq, fd_mcs_intr, IRQF_SHARED, "fd_mcs", hosts)) {
404 printk(KERN_ERR "fd_mcs: interrupt is not available, skipping...\n"); 404 printk(KERN_ERR "fd_mcs: interrupt is not available, skipping...\n");
405 continue; 405 continue;
406 } 406 }
diff --git a/drivers/scsi/fdomain.c b/drivers/scsi/fdomain.c
index 03356887202d..b0694dcce246 100644
--- a/drivers/scsi/fdomain.c
+++ b/drivers/scsi/fdomain.c
@@ -949,7 +949,7 @@ struct Scsi_Host *__fdomain_16x0_detect(struct scsi_host_template *tpnt )
949 /* Register the IRQ with the kernel */ 949 /* Register the IRQ with the kernel */
950 950
951 retcode = request_irq( interrupt_level, 951 retcode = request_irq( interrupt_level,
952 do_fdomain_16x0_intr, pdev?SA_SHIRQ:0, "fdomain", shpnt); 952 do_fdomain_16x0_intr, pdev?IRQF_SHARED:0, "fdomain", shpnt);
953 953
954 if (retcode < 0) { 954 if (retcode < 0) {
955 if (retcode == -EINVAL) { 955 if (retcode == -EINVAL) {
diff --git a/drivers/scsi/g_NCR5380.c b/drivers/scsi/g_NCR5380.c
index fbc8e16c8d15..67f1100f3103 100644
--- a/drivers/scsi/g_NCR5380.c
+++ b/drivers/scsi/g_NCR5380.c
@@ -461,7 +461,7 @@ int __init generic_NCR5380_detect(struct scsi_host_template * tpnt)
461 instance->irq = NCR5380_probe_irq(instance, 0xffff); 461 instance->irq = NCR5380_probe_irq(instance, 0xffff);
462 462
463 if (instance->irq != SCSI_IRQ_NONE) 463 if (instance->irq != SCSI_IRQ_NONE)
464 if (request_irq(instance->irq, generic_NCR5380_intr, SA_INTERRUPT, "NCR5380", instance)) { 464 if (request_irq(instance->irq, generic_NCR5380_intr, IRQF_DISABLED, "NCR5380", instance)) {
465 printk(KERN_WARNING "scsi%d : IRQ%d not free, interrupts disabled\n", instance->host_no, instance->irq); 465 printk(KERN_WARNING "scsi%d : IRQ%d not free, interrupts disabled\n", instance->host_no, instance->irq);
466 instance->irq = SCSI_IRQ_NONE; 466 instance->irq = SCSI_IRQ_NONE;
467 } 467 }
diff --git a/drivers/scsi/gdth.c b/drivers/scsi/gdth.c
index 76071a158306..43afd476e606 100644
--- a/drivers/scsi/gdth.c
+++ b/drivers/scsi/gdth.c
@@ -4350,7 +4350,7 @@ static int __init gdth_detect(Scsi_Host_Template *shtp)
4350 printk("Configuring GDT-ISA HA at BIOS 0x%05X IRQ %u DRQ %u\n", 4350 printk("Configuring GDT-ISA HA at BIOS 0x%05X IRQ %u DRQ %u\n",
4351 isa_bios,ha->irq,ha->drq); 4351 isa_bios,ha->irq,ha->drq);
4352 4352
4353 if (request_irq(ha->irq,gdth_interrupt,SA_INTERRUPT,"gdth",ha)) { 4353 if (request_irq(ha->irq,gdth_interrupt,IRQF_DISABLED,"gdth",ha)) {
4354 printk("GDT-ISA: Unable to allocate IRQ\n"); 4354 printk("GDT-ISA: Unable to allocate IRQ\n");
4355 scsi_unregister(shp); 4355 scsi_unregister(shp);
4356 continue; 4356 continue;
@@ -4476,7 +4476,7 @@ static int __init gdth_detect(Scsi_Host_Template *shtp)
4476 printk("Configuring GDT-EISA HA at Slot %d IRQ %u\n", 4476 printk("Configuring GDT-EISA HA at Slot %d IRQ %u\n",
4477 eisa_slot>>12,ha->irq); 4477 eisa_slot>>12,ha->irq);
4478 4478
4479 if (request_irq(ha->irq,gdth_interrupt,SA_INTERRUPT,"gdth",ha)) { 4479 if (request_irq(ha->irq,gdth_interrupt,IRQF_DISABLED,"gdth",ha)) {
4480 printk("GDT-EISA: Unable to allocate IRQ\n"); 4480 printk("GDT-EISA: Unable to allocate IRQ\n");
4481 scsi_unregister(shp); 4481 scsi_unregister(shp);
4482 continue; 4482 continue;
@@ -4603,7 +4603,7 @@ static int __init gdth_detect(Scsi_Host_Template *shtp)
4603 pcistr[ctr].bus,PCI_SLOT(pcistr[ctr].device_fn),ha->irq); 4603 pcistr[ctr].bus,PCI_SLOT(pcistr[ctr].device_fn),ha->irq);
4604 4604
4605 if (request_irq(ha->irq, gdth_interrupt, 4605 if (request_irq(ha->irq, gdth_interrupt,
4606 SA_INTERRUPT|SA_SHIRQ, "gdth", ha)) 4606 IRQF_DISABLED|IRQF_SHARED, "gdth", ha))
4607 { 4607 {
4608 printk("GDT-PCI: Unable to allocate IRQ\n"); 4608 printk("GDT-PCI: Unable to allocate IRQ\n");
4609 scsi_unregister(shp); 4609 scsi_unregister(shp);
diff --git a/drivers/scsi/gvp11.c b/drivers/scsi/gvp11.c
index 5b154498056d..a0d831b1bada 100644
--- a/drivers/scsi/gvp11.c
+++ b/drivers/scsi/gvp11.c
@@ -328,7 +328,7 @@ int __init gvp11_detect(struct scsi_host_template *tpnt)
328 (epc & GVP_SCSICLKMASK) ? WD33C93_FS_8_10 328 (epc & GVP_SCSICLKMASK) ? WD33C93_FS_8_10
329 : WD33C93_FS_12_15); 329 : WD33C93_FS_12_15);
330 330
331 request_irq(IRQ_AMIGA_PORTS, gvp11_intr, SA_SHIRQ, "GVP11 SCSI", 331 request_irq(IRQ_AMIGA_PORTS, gvp11_intr, IRQF_SHARED, "GVP11 SCSI",
332 instance); 332 instance);
333 DMA(instance)->CNTR = GVP11_DMAC_INT_ENABLE; 333 DMA(instance)->CNTR = GVP11_DMAC_INT_ENABLE;
334 num_gvp11++; 334 num_gvp11++;
diff --git a/drivers/scsi/hptiop.c b/drivers/scsi/hptiop.c
index f77808329e7c..ab2f8b267908 100644
--- a/drivers/scsi/hptiop.c
+++ b/drivers/scsi/hptiop.c
@@ -1304,7 +1304,7 @@ static int __devinit hptiop_probe(struct pci_dev *pcidev,
1304 1304
1305 pci_set_drvdata(pcidev, host); 1305 pci_set_drvdata(pcidev, host);
1306 1306
1307 if (request_irq(pcidev->irq, hptiop_intr, SA_SHIRQ, 1307 if (request_irq(pcidev->irq, hptiop_intr, IRQF_SHARED,
1308 driver_name, hba)) { 1308 driver_name, hba)) {
1309 printk(KERN_ERR "scsi%d: request irq %d failed\n", 1309 printk(KERN_ERR "scsi%d: request irq %d failed\n",
1310 hba->host->host_no, pcidev->irq); 1310 hba->host->host_no, pcidev->irq);
diff --git a/drivers/scsi/ibmmca.c b/drivers/scsi/ibmmca.c
index 1cbc94842cc6..2be1dc5d852a 100644
--- a/drivers/scsi/ibmmca.c
+++ b/drivers/scsi/ibmmca.c
@@ -1510,7 +1510,7 @@ int ibmmca_detect(struct scsi_host_template * scsi_template)
1510#endif 1510#endif
1511 1511
1512 /* get interrupt request level */ 1512 /* get interrupt request level */
1513 if (request_irq(IM_IRQ, interrupt_handler, SA_SHIRQ, "ibmmcascsi", hosts)) { 1513 if (request_irq(IM_IRQ, interrupt_handler, IRQF_SHARED, "ibmmcascsi", hosts)) {
1514 printk(KERN_ERR "IBM MCA SCSI: Unable to get shared IRQ %d.\n", IM_IRQ); 1514 printk(KERN_ERR "IBM MCA SCSI: Unable to get shared IRQ %d.\n", IM_IRQ);
1515 return 0; 1515 return 0;
1516 } else 1516 } else
@@ -1635,7 +1635,7 @@ int ibmmca_detect(struct scsi_host_template * scsi_template)
1635 /* IRQ11 is used by SCSI-2 F/W Adapter/A */ 1635 /* IRQ11 is used by SCSI-2 F/W Adapter/A */
1636 printk(KERN_DEBUG "IBM MCA SCSI: SCSI-2 F/W adapter needs IRQ 11.\n"); 1636 printk(KERN_DEBUG "IBM MCA SCSI: SCSI-2 F/W adapter needs IRQ 11.\n");
1637 /* get interrupt request level */ 1637 /* get interrupt request level */
1638 if (request_irq(IM_IRQ_FW, interrupt_handler, SA_SHIRQ, "ibmmcascsi", hosts)) { 1638 if (request_irq(IM_IRQ_FW, interrupt_handler, IRQF_SHARED, "ibmmcascsi", hosts)) {
1639 printk(KERN_ERR "IBM MCA SCSI: Unable to get shared IRQ %d.\n", IM_IRQ_FW); 1639 printk(KERN_ERR "IBM MCA SCSI: Unable to get shared IRQ %d.\n", IM_IRQ_FW);
1640 } else 1640 } else
1641 IRQ11_registered++; 1641 IRQ11_registered++;
@@ -1696,7 +1696,7 @@ int ibmmca_detect(struct scsi_host_template * scsi_template)
1696 /* IRQ11 is used by SCSI-2 F/W Adapter/A */ 1696 /* IRQ11 is used by SCSI-2 F/W Adapter/A */
1697 printk(KERN_DEBUG "IBM MCA SCSI: SCSI-2 F/W adapter needs IRQ 11.\n"); 1697 printk(KERN_DEBUG "IBM MCA SCSI: SCSI-2 F/W adapter needs IRQ 11.\n");
1698 /* get interrupt request level */ 1698 /* get interrupt request level */
1699 if (request_irq(IM_IRQ_FW, interrupt_handler, SA_SHIRQ, "ibmmcascsi", hosts)) 1699 if (request_irq(IM_IRQ_FW, interrupt_handler, IRQF_SHARED, "ibmmcascsi", hosts))
1700 printk(KERN_ERR "IBM MCA SCSI: Unable to get shared IRQ %d.\n", IM_IRQ_FW); 1700 printk(KERN_ERR "IBM MCA SCSI: Unable to get shared IRQ %d.\n", IM_IRQ_FW);
1701 else 1701 else
1702 IRQ11_registered++; 1702 IRQ11_registered++;
diff --git a/drivers/scsi/in2000.c b/drivers/scsi/in2000.c
index 883bc92b4d9a..59a4097f1254 100644
--- a/drivers/scsi/in2000.c
+++ b/drivers/scsi/in2000.c
@@ -2015,7 +2015,7 @@ static int __init in2000_detect(struct scsi_host_template * tpnt)
2015 write1_io(0, IO_FIFO_READ); /* start fifo out in read mode */ 2015 write1_io(0, IO_FIFO_READ); /* start fifo out in read mode */
2016 write1_io(0, IO_INTR_MASK); /* allow all ints */ 2016 write1_io(0, IO_INTR_MASK); /* allow all ints */
2017 x = int_tab[(switches & (SW_INT0 | SW_INT1)) >> SW_INT_SHIFT]; 2017 x = int_tab[(switches & (SW_INT0 | SW_INT1)) >> SW_INT_SHIFT];
2018 if (request_irq(x, in2000_intr, SA_INTERRUPT, "in2000", instance)) { 2018 if (request_irq(x, in2000_intr, IRQF_DISABLED, "in2000", instance)) {
2019 printk("in2000_detect: Unable to allocate IRQ.\n"); 2019 printk("in2000_detect: Unable to allocate IRQ.\n");
2020 detect_count--; 2020 detect_count--;
2021 continue; 2021 continue;
diff --git a/drivers/scsi/initio.c b/drivers/scsi/initio.c
index 43acb1fe90b4..9e10dac61cfd 100644
--- a/drivers/scsi/initio.c
+++ b/drivers/scsi/initio.c
@@ -2867,7 +2867,7 @@ static int i91u_detect(struct scsi_host_template * tpnt)
2867 hreg->sg_tablesize = TOTAL_SG_ENTRY; /* Maximun support is 32 */ 2867 hreg->sg_tablesize = TOTAL_SG_ENTRY; /* Maximun support is 32 */
2868 2868
2869 /* Initial tulip chip */ 2869 /* Initial tulip chip */
2870 ok = request_irq(pHCB->HCS_Intr, i91u_intr, SA_INTERRUPT | SA_SHIRQ, "i91u", hreg); 2870 ok = request_irq(pHCB->HCS_Intr, i91u_intr, IRQF_DISABLED | IRQF_SHARED, "i91u", hreg);
2871 if (ok < 0) { 2871 if (ok < 0) {
2872 printk(KERN_WARNING "i91u: unable to request IRQ %d\n\n", pHCB->HCS_Intr); 2872 printk(KERN_WARNING "i91u: unable to request IRQ %d\n\n", pHCB->HCS_Intr);
2873 return 0; 2873 return 0;
diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c
index e19bf690cdf1..01080b3acf5e 100644
--- a/drivers/scsi/ipr.c
+++ b/drivers/scsi/ipr.c
@@ -6428,7 +6428,7 @@ static int __devinit ipr_probe_ioa(struct pci_dev *pdev,
6428 ioa_cfg->needs_hard_reset = 1; 6428 ioa_cfg->needs_hard_reset = 1;
6429 6429
6430 ipr_mask_and_clear_interrupts(ioa_cfg, ~IPR_PCII_IOA_TRANS_TO_OPER); 6430 ipr_mask_and_clear_interrupts(ioa_cfg, ~IPR_PCII_IOA_TRANS_TO_OPER);
6431 rc = request_irq(pdev->irq, ipr_isr, SA_SHIRQ, IPR_NAME, ioa_cfg); 6431 rc = request_irq(pdev->irq, ipr_isr, IRQF_SHARED, IPR_NAME, ioa_cfg);
6432 6432
6433 if (rc) { 6433 if (rc) {
6434 dev_err(&pdev->dev, "Couldn't register IRQ %d! rc=%d\n", 6434 dev_err(&pdev->dev, "Couldn't register IRQ %d! rc=%d\n",
diff --git a/drivers/scsi/ips.c b/drivers/scsi/ips.c
index 7436793c3ad3..3c639286ec1e 100644
--- a/drivers/scsi/ips.c
+++ b/drivers/scsi/ips.c
@@ -7007,7 +7007,7 @@ ips_register_scsi(int index)
7007 memcpy(ha, oldha, sizeof (ips_ha_t)); 7007 memcpy(ha, oldha, sizeof (ips_ha_t));
7008 free_irq(oldha->irq, oldha); 7008 free_irq(oldha->irq, oldha);
7009 /* Install the interrupt handler with the new ha */ 7009 /* Install the interrupt handler with the new ha */
7010 if (request_irq(ha->irq, do_ipsintr, SA_SHIRQ, ips_name, ha)) { 7010 if (request_irq(ha->irq, do_ipsintr, IRQF_SHARED, ips_name, ha)) {
7011 IPS_PRINTK(KERN_WARNING, ha->pcidev, 7011 IPS_PRINTK(KERN_WARNING, ha->pcidev,
7012 "Unable to install interrupt handler\n"); 7012 "Unable to install interrupt handler\n");
7013 scsi_host_put(sh); 7013 scsi_host_put(sh);
@@ -7419,7 +7419,7 @@ ips_init_phase2(int index)
7419 } 7419 }
7420 7420
7421 /* Install the interrupt handler */ 7421 /* Install the interrupt handler */
7422 if (request_irq(ha->irq, do_ipsintr, SA_SHIRQ, ips_name, ha)) { 7422 if (request_irq(ha->irq, do_ipsintr, IRQF_SHARED, ips_name, ha)) {
7423 IPS_PRINTK(KERN_WARNING, ha->pcidev, 7423 IPS_PRINTK(KERN_WARNING, ha->pcidev,
7424 "Unable to install interrupt handler\n"); 7424 "Unable to install interrupt handler\n");
7425 return ips_abort_init(ha, index); 7425 return ips_abort_init(ha, index);
diff --git a/drivers/scsi/jazz_esp.c b/drivers/scsi/jazz_esp.c
index fc031c76dade..3fd8a96f2af3 100644
--- a/drivers/scsi/jazz_esp.c
+++ b/drivers/scsi/jazz_esp.c
@@ -131,7 +131,7 @@ static int jazz_esp_detect(struct scsi_host_template *tpnt)
131 esp->esp_command_dvma = vdma_alloc(CPHYSADDR(cmd_buffer), sizeof (cmd_buffer)); 131 esp->esp_command_dvma = vdma_alloc(CPHYSADDR(cmd_buffer), sizeof (cmd_buffer));
132 132
133 esp->irq = JAZZ_SCSI_IRQ; 133 esp->irq = JAZZ_SCSI_IRQ;
134 request_irq(JAZZ_SCSI_IRQ, esp_intr, SA_INTERRUPT, "JAZZ SCSI", 134 request_irq(JAZZ_SCSI_IRQ, esp_intr, IRQF_DISABLED, "JAZZ SCSI",
135 esp->ehost); 135 esp->ehost);
136 136
137 /* 137 /*
diff --git a/drivers/scsi/lasi700.c b/drivers/scsi/lasi700.c
index eb7bd310cc82..f0871c3ac3d9 100644
--- a/drivers/scsi/lasi700.c
+++ b/drivers/scsi/lasi700.c
@@ -131,7 +131,7 @@ lasi700_probe(struct parisc_device *dev)
131 host->this_id = 7; 131 host->this_id = 7;
132 host->base = base; 132 host->base = base;
133 host->irq = dev->irq; 133 host->irq = dev->irq;
134 if(request_irq(dev->irq, NCR_700_intr, SA_SHIRQ, "lasi700", host)) { 134 if(request_irq(dev->irq, NCR_700_intr, IRQF_SHARED, "lasi700", host)) {
135 printk(KERN_ERR "lasi700: request_irq failed!\n"); 135 printk(KERN_ERR "lasi700: request_irq failed!\n");
136 goto out_put_host; 136 goto out_put_host;
137 } 137 }
diff --git a/drivers/scsi/libata-bmdma.c b/drivers/scsi/libata-bmdma.c
index 38bfebf4fe8f..9ce221f25954 100644
--- a/drivers/scsi/libata-bmdma.c
+++ b/drivers/scsi/libata-bmdma.c
@@ -853,7 +853,7 @@ ata_pci_init_native_mode(struct pci_dev *pdev, struct ata_port_info **port, int
853 return NULL; 853 return NULL;
854 854
855 probe_ent->irq = pdev->irq; 855 probe_ent->irq = pdev->irq;
856 probe_ent->irq_flags = SA_SHIRQ; 856 probe_ent->irq_flags = IRQF_SHARED;
857 probe_ent->private_data = port[0]->private_data; 857 probe_ent->private_data = port[0]->private_data;
858 858
859 if (ports & ATA_PORT_PRIMARY) { 859 if (ports & ATA_PORT_PRIMARY) {
diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c
index 908d0f27706f..5a28d9bf8e4d 100644
--- a/drivers/scsi/lpfc/lpfc_init.c
+++ b/drivers/scsi/lpfc/lpfc_init.c
@@ -1620,7 +1620,7 @@ lpfc_pci_probe_one(struct pci_dev *pdev, const struct pci_device_id *pid)
1620 if (error) 1620 if (error)
1621 goto out_remove_host; 1621 goto out_remove_host;
1622 1622
1623 error = request_irq(phba->pcidev->irq, lpfc_intr_handler, SA_SHIRQ, 1623 error = request_irq(phba->pcidev->irq, lpfc_intr_handler, IRQF_SHARED,
1624 LPFC_DRIVER_NAME, phba); 1624 LPFC_DRIVER_NAME, phba);
1625 if (error) { 1625 if (error) {
1626 lpfc_printf_log(phba, KERN_ERR, LOG_INIT, 1626 lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
diff --git a/drivers/scsi/megaraid.c b/drivers/scsi/megaraid.c
index 5d2cefb5e52d..76edbb639d37 100644
--- a/drivers/scsi/megaraid.c
+++ b/drivers/scsi/megaraid.c
@@ -4714,7 +4714,7 @@ megaraid_probe_one(struct pci_dev *pdev, const struct pci_device_id *id)
4714 4714
4715 if (request_irq(irq, (adapter->flag & BOARD_MEMMAP) ? 4715 if (request_irq(irq, (adapter->flag & BOARD_MEMMAP) ?
4716 megaraid_isr_memmapped : megaraid_isr_iomapped, 4716 megaraid_isr_memmapped : megaraid_isr_iomapped,
4717 SA_SHIRQ, "megaraid", adapter)) { 4717 IRQF_SHARED, "megaraid", adapter)) {
4718 printk(KERN_WARNING 4718 printk(KERN_WARNING
4719 "megaraid: Couldn't register IRQ %d!\n", irq); 4719 "megaraid: Couldn't register IRQ %d!\n", irq);
4720 goto out_free_scb_list; 4720 goto out_free_scb_list;
diff --git a/drivers/scsi/megaraid/megaraid_mbox.c b/drivers/scsi/megaraid/megaraid_mbox.c
index b7caf60638e8..92715130ac09 100644
--- a/drivers/scsi/megaraid/megaraid_mbox.c
+++ b/drivers/scsi/megaraid/megaraid_mbox.c
@@ -767,7 +767,7 @@ megaraid_init_mbox(adapter_t *adapter)
767 // 767 //
768 768
769 // request IRQ and register the interrupt service routine 769 // request IRQ and register the interrupt service routine
770 if (request_irq(adapter->irq, megaraid_isr, SA_SHIRQ, "megaraid", 770 if (request_irq(adapter->irq, megaraid_isr, IRQF_SHARED, "megaraid",
771 adapter)) { 771 adapter)) {
772 772
773 con_log(CL_ANN, (KERN_WARNING 773 con_log(CL_ANN, (KERN_WARNING
diff --git a/drivers/scsi/megaraid/megaraid_sas.c b/drivers/scsi/megaraid/megaraid_sas.c
index 0c9516ff636f..e5c017ccda59 100644
--- a/drivers/scsi/megaraid/megaraid_sas.c
+++ b/drivers/scsi/megaraid/megaraid_sas.c
@@ -2191,7 +2191,7 @@ megasas_probe_one(struct pci_dev *pdev, const struct pci_device_id *id)
2191 /* 2191 /*
2192 * Register IRQ 2192 * Register IRQ
2193 */ 2193 */
2194 if (request_irq(pdev->irq, megasas_isr, SA_SHIRQ, "megasas", instance)) { 2194 if (request_irq(pdev->irq, megasas_isr, IRQF_SHARED, "megasas", instance)) {
2195 printk(KERN_DEBUG "megasas: Failed to register IRQ\n"); 2195 printk(KERN_DEBUG "megasas: Failed to register IRQ\n");
2196 goto fail_irq; 2196 goto fail_irq;
2197 } 2197 }
diff --git a/drivers/scsi/nsp32.c b/drivers/scsi/nsp32.c
index 5c55e152e718..bd337a914298 100644
--- a/drivers/scsi/nsp32.c
+++ b/drivers/scsi/nsp32.c
@@ -2867,7 +2867,7 @@ static int nsp32_detect(struct scsi_host_template *sht)
2867 nsp32_do_bus_reset(data); 2867 nsp32_do_bus_reset(data);
2868 2868
2869 ret = request_irq(host->irq, do_nsp32_isr, 2869 ret = request_irq(host->irq, do_nsp32_isr,
2870 SA_SHIRQ | SA_SAMPLE_RANDOM, "nsp32", data); 2870 IRQF_SHARED | IRQF_SAMPLE_RANDOM, "nsp32", data);
2871 if (ret < 0) { 2871 if (ret < 0) {
2872 nsp32_msg(KERN_ERR, "Unable to allocate IRQ for NinjaSCSI32 " 2872 nsp32_msg(KERN_ERR, "Unable to allocate IRQ for NinjaSCSI32 "
2873 "SCSI PCI controller. Interrupt: %d", host->irq); 2873 "SCSI PCI controller. Interrupt: %d", host->irq);
diff --git a/drivers/scsi/oktagon_esp.c b/drivers/scsi/oktagon_esp.c
index d7a0bcc6c670..dd67a68c5c23 100644
--- a/drivers/scsi/oktagon_esp.c
+++ b/drivers/scsi/oktagon_esp.c
@@ -197,7 +197,7 @@ int oktagon_esp_detect(struct scsi_host_template *tpnt)
197 esp->esp_command_dvma = (__u32) cmd_buffer; 197 esp->esp_command_dvma = (__u32) cmd_buffer;
198 198
199 esp->irq = IRQ_AMIGA_PORTS; 199 esp->irq = IRQ_AMIGA_PORTS;
200 request_irq(IRQ_AMIGA_PORTS, esp_intr, SA_SHIRQ, 200 request_irq(IRQ_AMIGA_PORTS, esp_intr, IRQF_SHARED,
201 "BSC Oktagon SCSI", esp->ehost); 201 "BSC Oktagon SCSI", esp->ehost);
202 202
203 /* Figure out our scsi ID on the bus */ 203 /* Figure out our scsi ID on the bus */
diff --git a/drivers/scsi/pas16.c b/drivers/scsi/pas16.c
index 1bf96ed8f935..1434209a8ac5 100644
--- a/drivers/scsi/pas16.c
+++ b/drivers/scsi/pas16.c
@@ -454,7 +454,7 @@ int __init pas16_detect(struct scsi_host_template * tpnt)
454 instance->irq = NCR5380_probe_irq(instance, PAS16_IRQS); 454 instance->irq = NCR5380_probe_irq(instance, PAS16_IRQS);
455 455
456 if (instance->irq != SCSI_IRQ_NONE) 456 if (instance->irq != SCSI_IRQ_NONE)
457 if (request_irq(instance->irq, pas16_intr, SA_INTERRUPT, "pas16", instance)) { 457 if (request_irq(instance->irq, pas16_intr, IRQF_DISABLED, "pas16", instance)) {
458 printk("scsi%d : IRQ%d not free, interrupts disabled\n", 458 printk("scsi%d : IRQ%d not free, interrupts disabled\n",
459 instance->host_no, instance->irq); 459 instance->host_no, instance->irq);
460 instance->irq = SCSI_IRQ_NONE; 460 instance->irq = SCSI_IRQ_NONE;
diff --git a/drivers/scsi/pcmcia/nsp_cs.c b/drivers/scsi/pcmcia/nsp_cs.c
index 231f9c311c69..7ff5851c040b 100644
--- a/drivers/scsi/pcmcia/nsp_cs.c
+++ b/drivers/scsi/pcmcia/nsp_cs.c
@@ -1623,7 +1623,7 @@ static int nsp_cs_probe(struct pcmcia_device *link)
1623 /* Interrupt handler */ 1623 /* Interrupt handler */
1624 link->irq.Handler = &nspintr; 1624 link->irq.Handler = &nspintr;
1625 link->irq.Instance = info; 1625 link->irq.Instance = info;
1626 link->irq.Attributes |= (SA_SHIRQ | SA_SAMPLE_RANDOM); 1626 link->irq.Attributes |= (IRQF_SHARED | IRQF_SAMPLE_RANDOM);
1627 1627
1628 /* General socket configuration */ 1628 /* General socket configuration */
1629 link->conf.Attributes = CONF_ENABLE_IRQ; 1629 link->conf.Attributes = CONF_ENABLE_IRQ;
diff --git a/drivers/scsi/pcmcia/sym53c500_cs.c b/drivers/scsi/pcmcia/sym53c500_cs.c
index 9f59827707f0..0b65099acb1a 100644
--- a/drivers/scsi/pcmcia/sym53c500_cs.c
+++ b/drivers/scsi/pcmcia/sym53c500_cs.c
@@ -799,7 +799,7 @@ next_entry:
799 data = (struct sym53c500_data *)host->hostdata; 799 data = (struct sym53c500_data *)host->hostdata;
800 800
801 if (irq_level > 0) { 801 if (irq_level > 0) {
802 if (request_irq(irq_level, SYM53C500_intr, SA_SHIRQ, "SYM53C500", host)) { 802 if (request_irq(irq_level, SYM53C500_intr, IRQF_SHARED, "SYM53C500", host)) {
803 printk("SYM53C500: unable to allocate IRQ %d\n", irq_level); 803 printk("SYM53C500: unable to allocate IRQ %d\n", irq_level);
804 goto err_free_scsi; 804 goto err_free_scsi;
805 } 805 }
diff --git a/drivers/scsi/pdc_adma.c b/drivers/scsi/pdc_adma.c
index 7ebe8e03aa96..d1f38c32aa15 100644
--- a/drivers/scsi/pdc_adma.c
+++ b/drivers/scsi/pdc_adma.c
@@ -690,7 +690,7 @@ static int adma_ata_init_one(struct pci_dev *pdev,
690 probe_ent->port_ops = adma_port_info[board_idx].port_ops; 690 probe_ent->port_ops = adma_port_info[board_idx].port_ops;
691 691
692 probe_ent->irq = pdev->irq; 692 probe_ent->irq = pdev->irq;
693 probe_ent->irq_flags = SA_SHIRQ; 693 probe_ent->irq_flags = IRQF_SHARED;
694 probe_ent->mmio_base = mmio_base; 694 probe_ent->mmio_base = mmio_base;
695 probe_ent->n_ports = ADMA_PORTS; 695 probe_ent->n_ports = ADMA_PORTS;
696 696
diff --git a/drivers/scsi/qla1280.c b/drivers/scsi/qla1280.c
index a7e4183462b8..b818b9bfe678 100644
--- a/drivers/scsi/qla1280.c
+++ b/drivers/scsi/qla1280.c
@@ -192,7 +192,7 @@
192 - Don't walk the entire list in qla1280_putq_t() just to directly 192 - Don't walk the entire list in qla1280_putq_t() just to directly
193 grab the pointer to the last element afterwards 193 grab the pointer to the last element afterwards
194 Rev 3.23.5 Beta August 9, 2001, Jes Sorensen 194 Rev 3.23.5 Beta August 9, 2001, Jes Sorensen
195 - Don't use SA_INTERRUPT, it's use is deprecated for this kinda driver 195 - Don't use IRQF_DISABLED, it's use is deprecated for this kinda driver
196 Rev 3.23.4 Beta August 8, 2001, Jes Sorensen 196 Rev 3.23.4 Beta August 8, 2001, Jes Sorensen
197 - Set dev->max_sectors to 1024 197 - Set dev->max_sectors to 1024
198 Rev 3.23.3 Beta August 6, 2001, Jes Sorensen 198 Rev 3.23.3 Beta August 6, 2001, Jes Sorensen
@@ -4369,7 +4369,7 @@ qla1280_probe_one(struct pci_dev *pdev, const struct pci_device_id *id)
4369 /* Disable ISP interrupts. */ 4369 /* Disable ISP interrupts. */
4370 qla1280_disable_intrs(ha); 4370 qla1280_disable_intrs(ha);
4371 4371
4372 if (request_irq(pdev->irq, qla1280_intr_handler, SA_SHIRQ, 4372 if (request_irq(pdev->irq, qla1280_intr_handler, IRQF_SHARED,
4373 "qla1280", ha)) { 4373 "qla1280", ha)) {
4374 printk("qla1280 : Failed to reserve interrupt %d already " 4374 printk("qla1280 : Failed to reserve interrupt %d already "
4375 "in use\n", pdev->irq); 4375 "in use\n", pdev->irq);
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c
index ccaad0b08d35..93062593ebe7 100644
--- a/drivers/scsi/qla2xxx/qla_os.c
+++ b/drivers/scsi/qla2xxx/qla_os.c
@@ -1541,7 +1541,7 @@ static int qla2x00_probe_one(struct pci_dev *pdev)
1541 host->transportt = qla2xxx_transport_template; 1541 host->transportt = qla2xxx_transport_template;
1542 1542
1543 ret = request_irq(pdev->irq, ha->isp_ops.intr_handler, 1543 ret = request_irq(pdev->irq, ha->isp_ops.intr_handler,
1544 SA_INTERRUPT|SA_SHIRQ, QLA2XXX_DRIVER_NAME, ha); 1544 IRQF_DISABLED|IRQF_SHARED, QLA2XXX_DRIVER_NAME, ha);
1545 if (ret) { 1545 if (ret) {
1546 qla_printk(KERN_WARNING, ha, 1546 qla_printk(KERN_WARNING, ha,
1547 "Failed to reserve interrupt %d already in use.\n", 1547 "Failed to reserve interrupt %d already in use.\n",
diff --git a/drivers/scsi/qlogicpti.c b/drivers/scsi/qlogicpti.c
index 329ead263714..69e0551a81d2 100644
--- a/drivers/scsi/qlogicpti.c
+++ b/drivers/scsi/qlogicpti.c
@@ -718,7 +718,7 @@ static int __init qpti_register_irq(struct qlogicpti *qpti)
718 * sanely maintain. 718 * sanely maintain.
719 */ 719 */
720 if (request_irq(qpti->irq, qpti_intr, 720 if (request_irq(qpti->irq, qpti_intr,
721 SA_SHIRQ, "Qlogic/PTI", qpti)) 721 IRQF_SHARED, "Qlogic/PTI", qpti))
722 goto fail; 722 goto fail;
723 723
724 printk("qpti%d: IRQ %d ", qpti->qpti_id, qpti->irq); 724 printk("qpti%d: IRQ %d ", qpti->qpti_id, qpti->irq);
diff --git a/drivers/scsi/sata_mv.c b/drivers/scsi/sata_mv.c
index 4a71578df3c1..1053c7c76b7d 100644
--- a/drivers/scsi/sata_mv.c
+++ b/drivers/scsi/sata_mv.c
@@ -2395,7 +2395,7 @@ static int mv_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
2395 probe_ent->port_ops = mv_port_info[board_idx].port_ops; 2395 probe_ent->port_ops = mv_port_info[board_idx].port_ops;
2396 2396
2397 probe_ent->irq = pdev->irq; 2397 probe_ent->irq = pdev->irq;
2398 probe_ent->irq_flags = SA_SHIRQ; 2398 probe_ent->irq_flags = IRQF_SHARED;
2399 probe_ent->mmio_base = mmio_base; 2399 probe_ent->mmio_base = mmio_base;
2400 probe_ent->private_data = hpriv; 2400 probe_ent->private_data = hpriv;
2401 2401
diff --git a/drivers/scsi/sata_promise.c b/drivers/scsi/sata_promise.c
index b2b6ed5216e0..64631bd38952 100644
--- a/drivers/scsi/sata_promise.c
+++ b/drivers/scsi/sata_promise.c
@@ -743,7 +743,7 @@ static int pdc_ata_init_one (struct pci_dev *pdev, const struct pci_device_id *e
743 probe_ent->port_ops = pdc_port_info[board_idx].port_ops; 743 probe_ent->port_ops = pdc_port_info[board_idx].port_ops;
744 744
745 probe_ent->irq = pdev->irq; 745 probe_ent->irq = pdev->irq;
746 probe_ent->irq_flags = SA_SHIRQ; 746 probe_ent->irq_flags = IRQF_SHARED;
747 probe_ent->mmio_base = mmio_base; 747 probe_ent->mmio_base = mmio_base;
748 748
749 pdc_ata_setup_port(&probe_ent->port[0], base + 0x200); 749 pdc_ata_setup_port(&probe_ent->port[0], base + 0x200);
diff --git a/drivers/scsi/sata_qstor.c b/drivers/scsi/sata_qstor.c
index 98ddc25655f0..d374c1db0cf3 100644
--- a/drivers/scsi/sata_qstor.c
+++ b/drivers/scsi/sata_qstor.c
@@ -680,7 +680,7 @@ static int qs_ata_init_one(struct pci_dev *pdev,
680 probe_ent->port_ops = qs_port_info[board_idx].port_ops; 680 probe_ent->port_ops = qs_port_info[board_idx].port_ops;
681 681
682 probe_ent->irq = pdev->irq; 682 probe_ent->irq = pdev->irq;
683 probe_ent->irq_flags = SA_SHIRQ; 683 probe_ent->irq_flags = IRQF_SHARED;
684 probe_ent->mmio_base = mmio_base; 684 probe_ent->mmio_base = mmio_base;
685 probe_ent->n_ports = QS_PORTS; 685 probe_ent->n_ports = QS_PORTS;
686 686
diff --git a/drivers/scsi/sata_sil.c b/drivers/scsi/sata_sil.c
index 51d86d750e84..7aabb45c35e5 100644
--- a/drivers/scsi/sata_sil.c
+++ b/drivers/scsi/sata_sil.c
@@ -608,7 +608,7 @@ static int sil_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
608 probe_ent->mwdma_mask = sil_port_info[ent->driver_data].mwdma_mask; 608 probe_ent->mwdma_mask = sil_port_info[ent->driver_data].mwdma_mask;
609 probe_ent->udma_mask = sil_port_info[ent->driver_data].udma_mask; 609 probe_ent->udma_mask = sil_port_info[ent->driver_data].udma_mask;
610 probe_ent->irq = pdev->irq; 610 probe_ent->irq = pdev->irq;
611 probe_ent->irq_flags = SA_SHIRQ; 611 probe_ent->irq_flags = IRQF_SHARED;
612 probe_ent->host_flags = sil_port_info[ent->driver_data].host_flags; 612 probe_ent->host_flags = sil_port_info[ent->driver_data].host_flags;
613 613
614 mmio_base = pci_iomap(pdev, 5, 0); 614 mmio_base = pci_iomap(pdev, 5, 0);
diff --git a/drivers/scsi/sata_sil24.c b/drivers/scsi/sata_sil24.c
index b5f8fa955679..07a1c6a8a414 100644
--- a/drivers/scsi/sata_sil24.c
+++ b/drivers/scsi/sata_sil24.c
@@ -1041,7 +1041,7 @@ static int sil24_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
1041 probe_ent->n_ports = SIL24_FLAG2NPORTS(pinfo->host_flags); 1041 probe_ent->n_ports = SIL24_FLAG2NPORTS(pinfo->host_flags);
1042 1042
1043 probe_ent->irq = pdev->irq; 1043 probe_ent->irq = pdev->irq;
1044 probe_ent->irq_flags = SA_SHIRQ; 1044 probe_ent->irq_flags = IRQF_SHARED;
1045 probe_ent->mmio_base = port_base; 1045 probe_ent->mmio_base = port_base;
1046 probe_ent->private_data = hpriv; 1046 probe_ent->private_data = hpriv;
1047 1047
diff --git a/drivers/scsi/sata_svw.c b/drivers/scsi/sata_svw.c
index a958b45e597c..7d0858095e1f 100644
--- a/drivers/scsi/sata_svw.c
+++ b/drivers/scsi/sata_svw.c
@@ -428,7 +428,7 @@ static int k2_sata_init_one (struct pci_dev *pdev, const struct pci_device_id *e
428 probe_ent->port_ops = &k2_sata_ops; 428 probe_ent->port_ops = &k2_sata_ops;
429 probe_ent->n_ports = 4; 429 probe_ent->n_ports = 4;
430 probe_ent->irq = pdev->irq; 430 probe_ent->irq = pdev->irq;
431 probe_ent->irq_flags = SA_SHIRQ; 431 probe_ent->irq_flags = IRQF_SHARED;
432 probe_ent->mmio_base = mmio_base; 432 probe_ent->mmio_base = mmio_base;
433 433
434 /* We don't care much about the PIO/UDMA masks, but the core won't like us 434 /* We don't care much about the PIO/UDMA masks, but the core won't like us
diff --git a/drivers/scsi/sata_sx4.c b/drivers/scsi/sata_sx4.c
index 7f864410f7c2..ccc8cad24f7d 100644
--- a/drivers/scsi/sata_sx4.c
+++ b/drivers/scsi/sata_sx4.c
@@ -1436,7 +1436,7 @@ static int pdc_sata_init_one (struct pci_dev *pdev, const struct pci_device_id *
1436 probe_ent->port_ops = pdc_port_info[board_idx].port_ops; 1436 probe_ent->port_ops = pdc_port_info[board_idx].port_ops;
1437 1437
1438 probe_ent->irq = pdev->irq; 1438 probe_ent->irq = pdev->irq;
1439 probe_ent->irq_flags = SA_SHIRQ; 1439 probe_ent->irq_flags = IRQF_SHARED;
1440 probe_ent->mmio_base = mmio_base; 1440 probe_ent->mmio_base = mmio_base;
1441 1441
1442 probe_ent->private_data = hpriv; 1442 probe_ent->private_data = hpriv;
diff --git a/drivers/scsi/sata_via.c b/drivers/scsi/sata_via.c
index 501ce1791782..03baec2191bf 100644
--- a/drivers/scsi/sata_via.c
+++ b/drivers/scsi/sata_via.c
@@ -242,7 +242,7 @@ static struct ata_probe_ent *vt6421_init_probe_ent(struct pci_dev *pdev)
242 probe_ent->port_ops = &svia_sata_ops; 242 probe_ent->port_ops = &svia_sata_ops;
243 probe_ent->n_ports = N_PORTS; 243 probe_ent->n_ports = N_PORTS;
244 probe_ent->irq = pdev->irq; 244 probe_ent->irq = pdev->irq;
245 probe_ent->irq_flags = SA_SHIRQ; 245 probe_ent->irq_flags = IRQF_SHARED;
246 probe_ent->pio_mask = 0x1f; 246 probe_ent->pio_mask = 0x1f;
247 probe_ent->mwdma_mask = 0x07; 247 probe_ent->mwdma_mask = 0x07;
248 probe_ent->udma_mask = 0x7f; 248 probe_ent->udma_mask = 0x7f;
diff --git a/drivers/scsi/sata_vsc.c b/drivers/scsi/sata_vsc.c
index 616fd9634b4b..916fe6fba756 100644
--- a/drivers/scsi/sata_vsc.c
+++ b/drivers/scsi/sata_vsc.c
@@ -400,7 +400,7 @@ static int __devinit vsc_sata_init_one (struct pci_dev *pdev, const struct pci_d
400 probe_ent->port_ops = &vsc_sata_ops; 400 probe_ent->port_ops = &vsc_sata_ops;
401 probe_ent->n_ports = 4; 401 probe_ent->n_ports = 4;
402 probe_ent->irq = pdev->irq; 402 probe_ent->irq = pdev->irq;
403 probe_ent->irq_flags = SA_SHIRQ; 403 probe_ent->irq_flags = IRQF_SHARED;
404 probe_ent->mmio_base = mmio_base; 404 probe_ent->mmio_base = mmio_base;
405 405
406 /* We don't care much about the PIO/UDMA masks, but the core won't like us 406 /* We don't care much about the PIO/UDMA masks, but the core won't like us
diff --git a/drivers/scsi/seagate.c b/drivers/scsi/seagate.c
index 7fa4da4ea64f..3f312a84c6a7 100644
--- a/drivers/scsi/seagate.c
+++ b/drivers/scsi/seagate.c
@@ -497,7 +497,7 @@ int __init seagate_st0x_detect (struct scsi_host_template * tpnt)
497 return 0; 497 return 0;
498 498
499 hostno = instance->host_no; 499 hostno = instance->host_no;
500 if (request_irq (irq, do_seagate_reconnect_intr, SA_INTERRUPT, (controller_type == SEAGATE) ? "seagate" : "tmc-8xx", instance)) { 500 if (request_irq (irq, do_seagate_reconnect_intr, IRQF_DISABLED, (controller_type == SEAGATE) ? "seagate" : "tmc-8xx", instance)) {
501 printk(KERN_ERR "scsi%d : unable to allocate IRQ%d\n", hostno, irq); 501 printk(KERN_ERR "scsi%d : unable to allocate IRQ%d\n", hostno, irq);
502 return 0; 502 return 0;
503 } 503 }
diff --git a/drivers/scsi/sim710.c b/drivers/scsi/sim710.c
index 2b2789345c13..b27e85428daa 100644
--- a/drivers/scsi/sim710.c
+++ b/drivers/scsi/sim710.c
@@ -133,7 +133,7 @@ sim710_probe_common(struct device *dev, unsigned long base_addr,
133 host->this_id = scsi_id; 133 host->this_id = scsi_id;
134 host->base = base_addr; 134 host->base = base_addr;
135 host->irq = irq; 135 host->irq = irq;
136 if (request_irq(irq, NCR_700_intr, SA_SHIRQ, "sim710", host)) { 136 if (request_irq(irq, NCR_700_intr, IRQF_SHARED, "sim710", host)) {
137 printk(KERN_ERR "sim710: request_irq failed\n"); 137 printk(KERN_ERR "sim710: request_irq failed\n");
138 goto out_put_host; 138 goto out_put_host;
139 } 139 }
diff --git a/drivers/scsi/sun3x_esp.c b/drivers/scsi/sun3x_esp.c
index 2e2c1eb15636..1f328cae5c05 100644
--- a/drivers/scsi/sun3x_esp.c
+++ b/drivers/scsi/sun3x_esp.c
@@ -97,7 +97,7 @@ int sun3x_esp_detect(struct scsi_host_template *tpnt)
97 esp->esp_command_dvma = dvma_vtob((unsigned long)esp->esp_command); 97 esp->esp_command_dvma = dvma_vtob((unsigned long)esp->esp_command);
98 98
99 esp->irq = 2; 99 esp->irq = 2;
100 if (request_irq(esp->irq, esp_intr, SA_INTERRUPT, 100 if (request_irq(esp->irq, esp_intr, IRQF_DISABLED,
101 "SUN3X SCSI", esp->ehost)) { 101 "SUN3X SCSI", esp->ehost)) {
102 esp_deallocate(esp); 102 esp_deallocate(esp);
103 return 0; 103 return 0;
diff --git a/drivers/scsi/sym53c8xx_2/sym_glue.c b/drivers/scsi/sym53c8xx_2/sym_glue.c
index ea82d3df63af..8c505076c0eb 100644
--- a/drivers/scsi/sym53c8xx_2/sym_glue.c
+++ b/drivers/scsi/sym53c8xx_2/sym_glue.c
@@ -1547,7 +1547,7 @@ static struct Scsi_Host * __devinit sym_attach(struct scsi_host_template *tpnt,
1547 * If we synchonize the C code with SCRIPTS on interrupt, 1547 * If we synchonize the C code with SCRIPTS on interrupt,
1548 * we do not want to share the INTR line at all. 1548 * we do not want to share the INTR line at all.
1549 */ 1549 */
1550 if (request_irq(pdev->irq, sym53c8xx_intr, SA_SHIRQ, NAME53C8XX, np)) { 1550 if (request_irq(pdev->irq, sym53c8xx_intr, IRQF_SHARED, NAME53C8XX, np)) {
1551 printf_err("%s: request irq %d failure\n", 1551 printf_err("%s: request irq %d failure\n",
1552 sym_name(np), pdev->irq); 1552 sym_name(np), pdev->irq);
1553 goto attach_failed; 1553 goto attach_failed;
diff --git a/drivers/scsi/t128.c b/drivers/scsi/t128.c
index a24f661b0270..2df6747cb76f 100644
--- a/drivers/scsi/t128.c
+++ b/drivers/scsi/t128.c
@@ -260,7 +260,7 @@ found:
260 instance->irq = NCR5380_probe_irq(instance, T128_IRQS); 260 instance->irq = NCR5380_probe_irq(instance, T128_IRQS);
261 261
262 if (instance->irq != SCSI_IRQ_NONE) 262 if (instance->irq != SCSI_IRQ_NONE)
263 if (request_irq(instance->irq, t128_intr, SA_INTERRUPT, "t128", instance)) { 263 if (request_irq(instance->irq, t128_intr, IRQF_DISABLED, "t128", instance)) {
264 printk("scsi%d : IRQ%d not free, interrupts disabled\n", 264 printk("scsi%d : IRQ%d not free, interrupts disabled\n",
265 instance->host_no, instance->irq); 265 instance->host_no, instance->irq);
266 instance->irq = SCSI_IRQ_NONE; 266 instance->irq = SCSI_IRQ_NONE;
diff --git a/drivers/scsi/tmscsim.c b/drivers/scsi/tmscsim.c
index 7540f6a7529f..9404ff3d4c79 100644
--- a/drivers/scsi/tmscsim.c
+++ b/drivers/scsi/tmscsim.c
@@ -2584,7 +2584,7 @@ static int __devinit dc390_probe_one(struct pci_dev *pdev,
2584 /* Reset Pending INT */ 2584 /* Reset Pending INT */
2585 DC390_read8_(INT_Status, io_port); 2585 DC390_read8_(INT_Status, io_port);
2586 2586
2587 if (request_irq(pdev->irq, do_DC390_Interrupt, SA_SHIRQ, 2587 if (request_irq(pdev->irq, do_DC390_Interrupt, IRQF_SHARED,
2588 "tmscsim", pACB)) { 2588 "tmscsim", pACB)) {
2589 printk(KERN_ERR "DC390: register IRQ error!\n"); 2589 printk(KERN_ERR "DC390: register IRQ error!\n");
2590 goto out_release_region; 2590 goto out_release_region;
diff --git a/drivers/scsi/u14-34f.c b/drivers/scsi/u14-34f.c
index 35c043e38ed4..57449611e714 100644
--- a/drivers/scsi/u14-34f.c
+++ b/drivers/scsi/u14-34f.c
@@ -872,7 +872,7 @@ static int port_detect \
872 872
873 /* Board detected, allocate its IRQ */ 873 /* Board detected, allocate its IRQ */
874 if (request_irq(irq, do_interrupt_handler, 874 if (request_irq(irq, do_interrupt_handler,
875 SA_INTERRUPT | ((subversion == ESA) ? SA_SHIRQ : 0), 875 IRQF_DISABLED | ((subversion == ESA) ? IRQF_SHARED : 0),
876 driver_name, (void *) &sha[j])) { 876 driver_name, (void *) &sha[j])) {
877 printk("%s: unable to allocate IRQ %u, detaching.\n", name, irq); 877 printk("%s: unable to allocate IRQ %u, detaching.\n", name, irq);
878 goto freelock; 878 goto freelock;
diff --git a/drivers/scsi/wd7000.c b/drivers/scsi/wd7000.c
index 574955b78a24..a0b61af48f1c 100644
--- a/drivers/scsi/wd7000.c
+++ b/drivers/scsi/wd7000.c
@@ -1250,7 +1250,7 @@ static int wd7000_init(Adapter * host)
1250 return 0; 1250 return 0;
1251 1251
1252 1252
1253 if (request_irq(host->irq, wd7000_intr, SA_INTERRUPT, "wd7000", host)) { 1253 if (request_irq(host->irq, wd7000_intr, IRQF_DISABLED, "wd7000", host)) {
1254 printk("wd7000_init: can't get IRQ %d.\n", host->irq); 1254 printk("wd7000_init: can't get IRQ %d.\n", host->irq);
1255 return (0); 1255 return (0);
1256 } 1256 }
diff --git a/drivers/scsi/zalon.c b/drivers/scsi/zalon.c
index a6cfbb3b361c..4b5f908d35c3 100644
--- a/drivers/scsi/zalon.c
+++ b/drivers/scsi/zalon.c
@@ -136,7 +136,7 @@ zalon_probe(struct parisc_device *dev)
136 if (!host) 136 if (!host)
137 goto fail; 137 goto fail;
138 138
139 if (request_irq(dev->irq, ncr53c8xx_intr, SA_SHIRQ, "zalon", host)) { 139 if (request_irq(dev->irq, ncr53c8xx_intr, IRQF_SHARED, "zalon", host)) {
140 printk(KERN_ERR "%s: irq problem with %d, detaching\n ", 140 printk(KERN_ERR "%s: irq problem with %d, detaching\n ",
141 dev->dev.bus_id, dev->irq); 141 dev->dev.bus_id, dev->irq);
142 goto fail; 142 goto fail;
diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c
index 9c5d36f50140..0995430e4cf1 100644
--- a/drivers/serial/8250.c
+++ b/drivers/serial/8250.c
@@ -48,7 +48,7 @@
48 48
49/* 49/*
50 * Configuration: 50 * Configuration:
51 * share_irqs - whether we pass SA_SHIRQ to request_irq(). This option 51 * share_irqs - whether we pass IRQF_SHARED to request_irq(). This option
52 * is unsafe when used on edge-triggered interrupts. 52 * is unsafe when used on edge-triggered interrupts.
53 */ 53 */
54static unsigned int share_irqs = SERIAL8250_SHARE_IRQS; 54static unsigned int share_irqs = SERIAL8250_SHARE_IRQS;
@@ -1400,7 +1400,7 @@ static void serial_do_unlink(struct irq_info *i, struct uart_8250_port *up)
1400static int serial_link_irq_chain(struct uart_8250_port *up) 1400static int serial_link_irq_chain(struct uart_8250_port *up)
1401{ 1401{
1402 struct irq_info *i = irq_lists + up->port.irq; 1402 struct irq_info *i = irq_lists + up->port.irq;
1403 int ret, irq_flags = up->port.flags & UPF_SHARE_IRQ ? SA_SHIRQ : 0; 1403 int ret, irq_flags = up->port.flags & UPF_SHARE_IRQ ? IRQF_SHARED : 0;
1404 1404
1405 spin_lock_irq(&i->lock); 1405 spin_lock_irq(&i->lock);
1406 1406
diff --git a/drivers/serial/at91_serial.c b/drivers/serial/at91_serial.c
index 7b3b3f3d5101..a7d664383dae 100644
--- a/drivers/serial/at91_serial.c
+++ b/drivers/serial/at91_serial.c
@@ -387,7 +387,7 @@ static int at91_startup(struct uart_port *port)
387 /* 387 /*
388 * Allocate the IRQ 388 * Allocate the IRQ
389 */ 389 */
390 retval = request_irq(port->irq, at91_interrupt, SA_SHIRQ, "at91_serial", port); 390 retval = request_irq(port->irq, at91_interrupt, IRQF_SHARED, "at91_serial", port);
391 if (retval) { 391 if (retval) {
392 printk("at91_serial: at91_startup - Can't get irq\n"); 392 printk("at91_serial: at91_startup - Can't get irq\n");
393 return retval; 393 return retval;
diff --git a/drivers/serial/crisv10.c b/drivers/serial/crisv10.c
index 901be3483455..cabd048c8636 100644
--- a/drivers/serial/crisv10.c
+++ b/drivers/serial/crisv10.c
@@ -415,7 +415,7 @@
415 * Fixed DEF_TX value that caused the serial transmitter pin (txd) to go to 0 when 415 * Fixed DEF_TX value that caused the serial transmitter pin (txd) to go to 0 when
416 * closing the last filehandle, NASTY!. 416 * closing the last filehandle, NASTY!.
417 * Added break generation, not tested though! 417 * Added break generation, not tested though!
418 * Use SA_SHIRQ when request_irq() for ser2 and ser3 (shared with) par0 and par1. 418 * Use IRQF_SHARED when request_irq() for ser2 and ser3 (shared with) par0 and par1.
419 * You can't use them at the same time (yet..), but you can hopefully switch 419 * You can't use them at the same time (yet..), but you can hopefully switch
420 * between ser2/par0, ser3/par1 with the same kernel config. 420 * between ser2/par0, ser3/par1 with the same kernel config.
421 * Replaced some magic constants with defines 421 * Replaced some magic constants with defines
@@ -4942,55 +4942,55 @@ rs_init(void)
4942 /* Not needed in simulator. May only complicate stuff. */ 4942 /* Not needed in simulator. May only complicate stuff. */
4943 /* hook the irq's for DMA channel 6 and 7, serial output and input, and some more... */ 4943 /* hook the irq's for DMA channel 6 and 7, serial output and input, and some more... */
4944 4944
4945 if (request_irq(SERIAL_IRQ_NBR, ser_interrupt, SA_SHIRQ | SA_INTERRUPT, "serial ", NULL)) 4945 if (request_irq(SERIAL_IRQ_NBR, ser_interrupt, IRQF_SHARED | IRQF_DISABLED, "serial ", NULL))
4946 panic("irq8"); 4946 panic("irq8");
4947 4947
4948#ifdef CONFIG_ETRAX_SERIAL_PORT0 4948#ifdef CONFIG_ETRAX_SERIAL_PORT0
4949#ifdef CONFIG_ETRAX_SERIAL_PORT0_DMA6_OUT 4949#ifdef CONFIG_ETRAX_SERIAL_PORT0_DMA6_OUT
4950 if (request_irq(SER0_DMA_TX_IRQ_NBR, tr_interrupt, SA_INTERRUPT, "serial 0 dma tr", NULL)) 4950 if (request_irq(SER0_DMA_TX_IRQ_NBR, tr_interrupt, IRQF_DISABLED, "serial 0 dma tr", NULL))
4951 panic("irq22"); 4951 panic("irq22");
4952#endif 4952#endif
4953#ifdef CONFIG_ETRAX_SERIAL_PORT0_DMA7_IN 4953#ifdef CONFIG_ETRAX_SERIAL_PORT0_DMA7_IN
4954 if (request_irq(SER0_DMA_RX_IRQ_NBR, rec_interrupt, SA_INTERRUPT, "serial 0 dma rec", NULL)) 4954 if (request_irq(SER0_DMA_RX_IRQ_NBR, rec_interrupt, IRQF_DISABLED, "serial 0 dma rec", NULL))
4955 panic("irq23"); 4955 panic("irq23");
4956#endif 4956#endif
4957#endif 4957#endif
4958 4958
4959#ifdef CONFIG_ETRAX_SERIAL_PORT1 4959#ifdef CONFIG_ETRAX_SERIAL_PORT1
4960#ifdef CONFIG_ETRAX_SERIAL_PORT1_DMA8_OUT 4960#ifdef CONFIG_ETRAX_SERIAL_PORT1_DMA8_OUT
4961 if (request_irq(SER1_DMA_TX_IRQ_NBR, tr_interrupt, SA_INTERRUPT, "serial 1 dma tr", NULL)) 4961 if (request_irq(SER1_DMA_TX_IRQ_NBR, tr_interrupt, IRQF_DISABLED, "serial 1 dma tr", NULL))
4962 panic("irq24"); 4962 panic("irq24");
4963#endif 4963#endif
4964#ifdef CONFIG_ETRAX_SERIAL_PORT1_DMA9_IN 4964#ifdef CONFIG_ETRAX_SERIAL_PORT1_DMA9_IN
4965 if (request_irq(SER1_DMA_RX_IRQ_NBR, rec_interrupt, SA_INTERRUPT, "serial 1 dma rec", NULL)) 4965 if (request_irq(SER1_DMA_RX_IRQ_NBR, rec_interrupt, IRQF_DISABLED, "serial 1 dma rec", NULL))
4966 panic("irq25"); 4966 panic("irq25");
4967#endif 4967#endif
4968#endif 4968#endif
4969#ifdef CONFIG_ETRAX_SERIAL_PORT2 4969#ifdef CONFIG_ETRAX_SERIAL_PORT2
4970 /* DMA Shared with par0 (and SCSI0 and ATA) */ 4970 /* DMA Shared with par0 (and SCSI0 and ATA) */
4971#ifdef CONFIG_ETRAX_SERIAL_PORT2_DMA2_OUT 4971#ifdef CONFIG_ETRAX_SERIAL_PORT2_DMA2_OUT
4972 if (request_irq(SER2_DMA_TX_IRQ_NBR, tr_interrupt, SA_SHIRQ | SA_INTERRUPT, "serial 2 dma tr", NULL)) 4972 if (request_irq(SER2_DMA_TX_IRQ_NBR, tr_interrupt, IRQF_SHARED | IRQF_DISABLED, "serial 2 dma tr", NULL))
4973 panic("irq18"); 4973 panic("irq18");
4974#endif 4974#endif
4975#ifdef CONFIG_ETRAX_SERIAL_PORT2_DMA3_IN 4975#ifdef CONFIG_ETRAX_SERIAL_PORT2_DMA3_IN
4976 if (request_irq(SER2_DMA_RX_IRQ_NBR, rec_interrupt, SA_SHIRQ | SA_INTERRUPT, "serial 2 dma rec", NULL)) 4976 if (request_irq(SER2_DMA_RX_IRQ_NBR, rec_interrupt, IRQF_SHARED | IRQF_DISABLED, "serial 2 dma rec", NULL))
4977 panic("irq19"); 4977 panic("irq19");
4978#endif 4978#endif
4979#endif 4979#endif
4980#ifdef CONFIG_ETRAX_SERIAL_PORT3 4980#ifdef CONFIG_ETRAX_SERIAL_PORT3
4981 /* DMA Shared with par1 (and SCSI1 and Extern DMA 0) */ 4981 /* DMA Shared with par1 (and SCSI1 and Extern DMA 0) */
4982#ifdef CONFIG_ETRAX_SERIAL_PORT3_DMA4_OUT 4982#ifdef CONFIG_ETRAX_SERIAL_PORT3_DMA4_OUT
4983 if (request_irq(SER3_DMA_TX_IRQ_NBR, tr_interrupt, SA_SHIRQ | SA_INTERRUPT, "serial 3 dma tr", NULL)) 4983 if (request_irq(SER3_DMA_TX_IRQ_NBR, tr_interrupt, IRQF_SHARED | IRQF_DISABLED, "serial 3 dma tr", NULL))
4984 panic("irq20"); 4984 panic("irq20");
4985#endif 4985#endif
4986#ifdef CONFIG_ETRAX_SERIAL_PORT3_DMA5_IN 4986#ifdef CONFIG_ETRAX_SERIAL_PORT3_DMA5_IN
4987 if (request_irq(SER3_DMA_RX_IRQ_NBR, rec_interrupt, SA_SHIRQ | SA_INTERRUPT, "serial 3 dma rec", NULL)) 4987 if (request_irq(SER3_DMA_RX_IRQ_NBR, rec_interrupt, IRQF_SHARED | IRQF_DISABLED, "serial 3 dma rec", NULL))
4988 panic("irq21"); 4988 panic("irq21");
4989#endif 4989#endif
4990#endif 4990#endif
4991 4991
4992#ifdef CONFIG_ETRAX_SERIAL_FLUSH_DMA_FAST 4992#ifdef CONFIG_ETRAX_SERIAL_FLUSH_DMA_FAST
4993 if (request_irq(TIMER1_IRQ_NBR, timeout_interrupt, SA_SHIRQ | SA_INTERRUPT, 4993 if (request_irq(TIMER1_IRQ_NBR, timeout_interrupt, IRQF_SHARED | IRQF_DISABLED,
4994 "fast serial dma timeout", NULL)) { 4994 "fast serial dma timeout", NULL)) {
4995 printk(KERN_CRIT "err: timer1 irq\n"); 4995 printk(KERN_CRIT "err: timer1 irq\n");
4996 } 4996 }
diff --git a/drivers/serial/dz.c b/drivers/serial/dz.c
index ecf824bd2d4e..d119c8296a78 100644
--- a/drivers/serial/dz.c
+++ b/drivers/serial/dz.c
@@ -797,7 +797,7 @@ int __init dz_init(void)
797 restore_flags(flags); 797 restore_flags(flags);
798 798
799 if (request_irq(dz_ports[0].port.irq, dz_interrupt, 799 if (request_irq(dz_ports[0].port.irq, dz_interrupt,
800 SA_INTERRUPT, "DZ", &dz_ports[0])) 800 IRQF_DISABLED, "DZ", &dz_ports[0]))
801 panic("Unable to register DZ interrupt"); 801 panic("Unable to register DZ interrupt");
802 802
803 ret = uart_register_driver(&dz_reg); 803 ret = uart_register_driver(&dz_reg);
diff --git a/drivers/serial/icom.c b/drivers/serial/icom.c
index ad1e753cbc53..a3c00a252149 100644
--- a/drivers/serial/icom.c
+++ b/drivers/serial/icom.c
@@ -1563,7 +1563,7 @@ static int __devinit icom_probe(struct pci_dev *dev,
1563 1563
1564 /* save off irq and request irq line */ 1564 /* save off irq and request irq line */
1565 if ( (retval = request_irq(dev->irq, icom_interrupt, 1565 if ( (retval = request_irq(dev->irq, icom_interrupt,
1566 SA_INTERRUPT | SA_SHIRQ, ICOM_DRIVER_NAME, 1566 IRQF_DISABLED | IRQF_SHARED, ICOM_DRIVER_NAME,
1567 (void *) icom_adapter))) { 1567 (void *) icom_adapter))) {
1568 goto probe_exit2; 1568 goto probe_exit2;
1569 } 1569 }
diff --git a/drivers/serial/imx.c b/drivers/serial/imx.c
index 0b5f39d038b9..4a142d6b8f38 100644
--- a/drivers/serial/imx.c
+++ b/drivers/serial/imx.c
@@ -404,7 +404,7 @@ static int imx_startup(struct uart_port *port)
404 if (retval) goto error_out2; 404 if (retval) goto error_out2;
405 405
406 retval = request_irq(sport->rtsirq, imx_rtsint, 406 retval = request_irq(sport->rtsirq, imx_rtsint,
407 SA_TRIGGER_FALLING | SA_TRIGGER_RISING, 407 IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING,
408 DRIVER_NAME, sport); 408 DRIVER_NAME, sport);
409 if (retval) goto error_out3; 409 if (retval) goto error_out3;
410 410
diff --git a/drivers/serial/ioc4_serial.c b/drivers/serial/ioc4_serial.c
index 717e47bbd784..576ca1eaa2b6 100644
--- a/drivers/serial/ioc4_serial.c
+++ b/drivers/serial/ioc4_serial.c
@@ -2855,7 +2855,7 @@ ioc4_serial_attach_one(struct ioc4_driver_data *idd)
2855 control->ic_soft = soft; 2855 control->ic_soft = soft;
2856 2856
2857 /* Hook up interrupt handler */ 2857 /* Hook up interrupt handler */
2858 if (!request_irq(idd->idd_pdev->irq, ioc4_intr, SA_SHIRQ, 2858 if (!request_irq(idd->idd_pdev->irq, ioc4_intr, IRQF_SHARED,
2859 "sgi-ioc4serial", soft)) { 2859 "sgi-ioc4serial", soft)) {
2860 control->ic_irq = idd->idd_pdev->irq; 2860 control->ic_irq = idd->idd_pdev->irq;
2861 } else { 2861 } else {
diff --git a/drivers/serial/jsm/jsm_driver.c b/drivers/serial/jsm/jsm_driver.c
index b3e1f71be4da..244f63be3a03 100644
--- a/drivers/serial/jsm/jsm_driver.c
+++ b/drivers/serial/jsm/jsm_driver.c
@@ -121,7 +121,7 @@ static int jsm_probe_one(struct pci_dev *pdev, const struct pci_device_id *ent)
121 } 121 }
122 122
123 rc = request_irq(brd->irq, brd->bd_ops->intr, 123 rc = request_irq(brd->irq, brd->bd_ops->intr,
124 SA_INTERRUPT|SA_SHIRQ, "JSM", brd); 124 IRQF_DISABLED|IRQF_SHARED, "JSM", brd);
125 if (rc) { 125 if (rc) {
126 printk(KERN_WARNING "Failed to hook IRQ %d\n",brd->irq); 126 printk(KERN_WARNING "Failed to hook IRQ %d\n",brd->irq);
127 goto out_iounmap; 127 goto out_iounmap;
diff --git a/drivers/serial/m32r_sio.c b/drivers/serial/m32r_sio.c
index fbaae96f4c93..e7fe4bb46eca 100644
--- a/drivers/serial/m32r_sio.c
+++ b/drivers/serial/m32r_sio.c
@@ -542,7 +542,7 @@ static void serial_do_unlink(struct irq_info *i, struct uart_sio_port *up)
542static int serial_link_irq_chain(struct uart_sio_port *up) 542static int serial_link_irq_chain(struct uart_sio_port *up)
543{ 543{
544 struct irq_info *i = irq_lists + up->port.irq; 544 struct irq_info *i = irq_lists + up->port.irq;
545 int ret, irq_flags = up->port.flags & UPF_SHARE_IRQ ? SA_SHIRQ : 0; 545 int ret, irq_flags = up->port.flags & UPF_SHARE_IRQ ? IRQF_SHARED : 0;
546 546
547 spin_lock_irq(&i->lock); 547 spin_lock_irq(&i->lock);
548 548
diff --git a/drivers/serial/mcfserial.c b/drivers/serial/mcfserial.c
index 29c0630e3e64..832abd3c4706 100644
--- a/drivers/serial/mcfserial.c
+++ b/drivers/serial/mcfserial.c
@@ -1596,7 +1596,7 @@ static void mcfrs_irqinit(struct mcf_serial *info)
1596 /* Clear mask, so no surprise interrupts. */ 1596 /* Clear mask, so no surprise interrupts. */
1597 uartp[MCFUART_UIMR] = 0; 1597 uartp[MCFUART_UIMR] = 0;
1598 1598
1599 if (request_irq(info->irq, mcfrs_interrupt, SA_INTERRUPT, 1599 if (request_irq(info->irq, mcfrs_interrupt, IRQF_DISABLED,
1600 "ColdFire UART", NULL)) { 1600 "ColdFire UART", NULL)) {
1601 printk("MCFRS: Unable to attach ColdFire UART %d interrupt " 1601 printk("MCFRS: Unable to attach ColdFire UART %d interrupt "
1602 "vector=%d\n", info->line, info->irq); 1602 "vector=%d\n", info->line, info->irq);
diff --git a/drivers/serial/mpc52xx_uart.c b/drivers/serial/mpc52xx_uart.c
index 1b8e554f674f..48eb22d3a63e 100644
--- a/drivers/serial/mpc52xx_uart.c
+++ b/drivers/serial/mpc52xx_uart.c
@@ -190,7 +190,7 @@ mpc52xx_uart_startup(struct uart_port *port)
190 190
191 /* Request IRQ */ 191 /* Request IRQ */
192 ret = request_irq(port->irq, mpc52xx_uart_int, 192 ret = request_irq(port->irq, mpc52xx_uart_int,
193 SA_INTERRUPT | SA_SAMPLE_RANDOM, "mpc52xx_psc_uart", port); 193 IRQF_DISABLED | IRQF_SAMPLE_RANDOM, "mpc52xx_psc_uart", port);
194 if (ret) 194 if (ret)
195 return ret; 195 return ret;
196 196
diff --git a/drivers/serial/mpsc.c b/drivers/serial/mpsc.c
index 8c498f785e21..63d2a66e563b 100644
--- a/drivers/serial/mpsc.c
+++ b/drivers/serial/mpsc.c
@@ -1412,7 +1412,7 @@ mpsc_startup(struct uart_port *port)
1412 1412
1413 /* If irq's are shared, need to set flag */ 1413 /* If irq's are shared, need to set flag */
1414 if (mpsc_ports[0].port.irq == mpsc_ports[1].port.irq) 1414 if (mpsc_ports[0].port.irq == mpsc_ports[1].port.irq)
1415 flag = SA_SHIRQ; 1415 flag = IRQF_SHARED;
1416 1416
1417 if (request_irq(pi->port.irq, mpsc_sdma_intr, flag, 1417 if (request_irq(pi->port.irq, mpsc_sdma_intr, flag,
1418 "mpsc-sdma", pi)) 1418 "mpsc-sdma", pi))
diff --git a/drivers/serial/pmac_zilog.c b/drivers/serial/pmac_zilog.c
index 4d9435451f4a..459c0231aef3 100644
--- a/drivers/serial/pmac_zilog.c
+++ b/drivers/serial/pmac_zilog.c
@@ -934,7 +934,7 @@ static int pmz_startup(struct uart_port *port)
934 } 934 }
935 935
936 pmz_get_port_A(uap)->flags |= PMACZILOG_FLAG_IS_IRQ_ON; 936 pmz_get_port_A(uap)->flags |= PMACZILOG_FLAG_IS_IRQ_ON;
937 if (request_irq(uap->port.irq, pmz_interrupt, SA_SHIRQ, "PowerMac Zilog", uap)) { 937 if (request_irq(uap->port.irq, pmz_interrupt, IRQF_SHARED, "PowerMac Zilog", uap)) {
938 dev_err(&uap->dev->ofdev.dev, 938 dev_err(&uap->dev->ofdev.dev,
939 "Unable to register zs interrupt handler.\n"); 939 "Unable to register zs interrupt handler.\n");
940 pmz_set_scc_power(uap, 0); 940 pmz_set_scc_power(uap, 0);
diff --git a/drivers/serial/serial_txx9.c b/drivers/serial/serial_txx9.c
index 28c1881a6691..b361669f85a1 100644
--- a/drivers/serial/serial_txx9.c
+++ b/drivers/serial/serial_txx9.c
@@ -495,7 +495,7 @@ static int serial_txx9_startup(struct uart_port *port)
495 sio_out(up, TXX9_SIDISR, 0); 495 sio_out(up, TXX9_SIDISR, 0);
496 496
497 retval = request_irq(up->port.irq, serial_txx9_interrupt, 497 retval = request_irq(up->port.irq, serial_txx9_interrupt,
498 SA_SHIRQ, "serial_txx9", up); 498 IRQF_SHARED, "serial_txx9", up);
499 if (retval) 499 if (retval)
500 return retval; 500 return retval;
501 501
diff --git a/drivers/serial/sh-sci.c b/drivers/serial/sh-sci.c
index 2509c3237e87..301573373c30 100644
--- a/drivers/serial/sh-sci.c
+++ b/drivers/serial/sh-sci.c
@@ -841,7 +841,7 @@ static int sci_request_irq(struct sci_port *port)
841 printk(KERN_ERR "sci: Cannot allocate irq.(IRQ=0)\n"); 841 printk(KERN_ERR "sci: Cannot allocate irq.(IRQ=0)\n");
842 return -ENODEV; 842 return -ENODEV;
843 } 843 }
844 if (request_irq(port->irqs[0], sci_mpxed_interrupt, SA_INTERRUPT, 844 if (request_irq(port->irqs[0], sci_mpxed_interrupt, IRQF_DISABLED,
845 "sci", port)) { 845 "sci", port)) {
846 printk(KERN_ERR "sci: Cannot allocate irq.\n"); 846 printk(KERN_ERR "sci: Cannot allocate irq.\n");
847 return -ENODEV; 847 return -ENODEV;
@@ -850,7 +850,7 @@ static int sci_request_irq(struct sci_port *port)
850 for (i = 0; i < ARRAY_SIZE(handlers); i++) { 850 for (i = 0; i < ARRAY_SIZE(handlers); i++) {
851 if (!port->irqs[i]) 851 if (!port->irqs[i])
852 continue; 852 continue;
853 if (request_irq(port->irqs[i], handlers[i], SA_INTERRUPT, 853 if (request_irq(port->irqs[i], handlers[i], IRQF_DISABLED,
854 desc[i], port)) { 854 desc[i], port)) {
855 printk(KERN_ERR "sci: Cannot allocate irq.\n"); 855 printk(KERN_ERR "sci: Cannot allocate irq.\n");
856 return -ENODEV; 856 return -ENODEV;
diff --git a/drivers/serial/sn_console.c b/drivers/serial/sn_console.c
index 4b0afc8f12b9..2f148e5b9255 100644
--- a/drivers/serial/sn_console.c
+++ b/drivers/serial/sn_console.c
@@ -648,7 +648,7 @@ static irqreturn_t sn_sal_interrupt(int irq, void *dev_id, struct pt_regs *regs)
648static int sn_sal_connect_interrupt(struct sn_cons_port *port) 648static int sn_sal_connect_interrupt(struct sn_cons_port *port)
649{ 649{
650 if (request_irq(SGI_UART_VECTOR, sn_sal_interrupt, 650 if (request_irq(SGI_UART_VECTOR, sn_sal_interrupt,
651 SA_INTERRUPT | SA_SHIRQ, 651 IRQF_DISABLED | IRQF_SHARED,
652 "SAL console driver", port) >= 0) { 652 "SAL console driver", port) >= 0) {
653 return SGI_UART_VECTOR; 653 return SGI_UART_VECTOR;
654 } 654 }
diff --git a/drivers/serial/sunsab.c b/drivers/serial/sunsab.c
index 20a48697727c..0dbd4df44c05 100644
--- a/drivers/serial/sunsab.c
+++ b/drivers/serial/sunsab.c
@@ -1027,7 +1027,7 @@ static int __devinit sunsab_init_one(struct uart_sunsab_port *up,
1027 int err; 1027 int err;
1028 1028
1029 err = request_irq(up->port.irq, sunsab_interrupt, 1029 err = request_irq(up->port.irq, sunsab_interrupt,
1030 SA_SHIRQ, "sab", up); 1030 IRQF_SHARED, "sab", up);
1031 if (err) { 1031 if (err) {
1032 of_iounmap(up->port.membase, 1032 of_iounmap(up->port.membase,
1033 sizeof(union sab82532_async_regs)); 1033 sizeof(union sab82532_async_regs));
diff --git a/drivers/serial/sunsu.c b/drivers/serial/sunsu.c
index eabf477fee95..f9013baba05b 100644
--- a/drivers/serial/sunsu.c
+++ b/drivers/serial/sunsu.c
@@ -667,10 +667,10 @@ static int sunsu_startup(struct uart_port *port)
667 667
668 if (up->su_type != SU_PORT_PORT) { 668 if (up->su_type != SU_PORT_PORT) {
669 retval = request_irq(up->port.irq, sunsu_kbd_ms_interrupt, 669 retval = request_irq(up->port.irq, sunsu_kbd_ms_interrupt,
670 SA_SHIRQ, su_typev[up->su_type], up); 670 IRQF_SHARED, su_typev[up->su_type], up);
671 } else { 671 } else {
672 retval = request_irq(up->port.irq, sunsu_serial_interrupt, 672 retval = request_irq(up->port.irq, sunsu_serial_interrupt,
673 SA_SHIRQ, su_typev[up->su_type], up); 673 IRQF_SHARED, su_typev[up->su_type], up);
674 } 674 }
675 if (retval) { 675 if (retval) {
676 printk("su: Cannot register IRQ %d\n", up->port.irq); 676 printk("su: Cannot register IRQ %d\n", up->port.irq);
diff --git a/drivers/serial/sunzilog.c b/drivers/serial/sunzilog.c
index 9ee7f3af9ae2..a1456d9352cb 100644
--- a/drivers/serial/sunzilog.c
+++ b/drivers/serial/sunzilog.c
@@ -1354,7 +1354,7 @@ static int __devinit zs_probe(struct of_device *dev, const struct of_device_id *
1354 1354
1355 if (zilog_irq == -1) { 1355 if (zilog_irq == -1) {
1356 zilog_irq = op->irqs[0]; 1356 zilog_irq = op->irqs[0];
1357 err = request_irq(zilog_irq, sunzilog_interrupt, SA_SHIRQ, 1357 err = request_irq(zilog_irq, sunzilog_interrupt, IRQF_SHARED,
1358 "zs", sunzilog_irq_chain); 1358 "zs", sunzilog_irq_chain);
1359 if (err) { 1359 if (err) {
1360 of_iounmap(rp, sizeof(struct zilog_layout)); 1360 of_iounmap(rp, sizeof(struct zilog_layout));
diff --git a/drivers/serial/v850e_uart.c b/drivers/serial/v850e_uart.c
index a0da2aaf71c4..f802867c95c5 100644
--- a/drivers/serial/v850e_uart.c
+++ b/drivers/serial/v850e_uart.c
@@ -372,13 +372,13 @@ static int v850e_uart_startup (struct uart_port *port)
372 372
373 /* Alloc RX irq. */ 373 /* Alloc RX irq. */
374 err = request_irq (V850E_UART_RX_IRQ (port->line), v850e_uart_rx_irq, 374 err = request_irq (V850E_UART_RX_IRQ (port->line), v850e_uart_rx_irq,
375 SA_INTERRUPT, "v850e_uart", port); 375 IRQF_DISABLED, "v850e_uart", port);
376 if (err) 376 if (err)
377 return err; 377 return err;
378 378
379 /* Alloc TX irq. */ 379 /* Alloc TX irq. */
380 err = request_irq (V850E_UART_TX_IRQ (port->line), v850e_uart_tx_irq, 380 err = request_irq (V850E_UART_TX_IRQ (port->line), v850e_uart_tx_irq,
381 SA_INTERRUPT, "v850e_uart", port); 381 IRQF_DISABLED, "v850e_uart", port);
382 if (err) { 382 if (err) {
383 free_irq (V850E_UART_RX_IRQ (port->line), port); 383 free_irq (V850E_UART_RX_IRQ (port->line), port);
384 return err; 384 return err;
diff --git a/drivers/sn/ioc3.c b/drivers/sn/ioc3.c
index 0040f10c9e39..6c7e0352d561 100644
--- a/drivers/sn/ioc3.c
+++ b/drivers/sn/ioc3.c
@@ -706,7 +706,7 @@ static int ioc3_probe(struct pci_dev *pdev, const struct pci_device_id *pci_id)
706 writel(~0, &idd->vma->eisr); 706 writel(~0, &idd->vma->eisr);
707 707
708 idd->dual_irq = 1; 708 idd->dual_irq = 1;
709 if (!request_irq(pdev->irq, ioc3_intr_eth, SA_SHIRQ, 709 if (!request_irq(pdev->irq, ioc3_intr_eth, IRQF_SHARED,
710 "ioc3-eth", (void *)idd)) { 710 "ioc3-eth", (void *)idd)) {
711 idd->irq_eth = pdev->irq; 711 idd->irq_eth = pdev->irq;
712 } else { 712 } else {
@@ -714,7 +714,7 @@ static int ioc3_probe(struct pci_dev *pdev, const struct pci_device_id *pci_id)
714 "%s : request_irq fails for IRQ 0x%x\n ", 714 "%s : request_irq fails for IRQ 0x%x\n ",
715 __FUNCTION__, pdev->irq); 715 __FUNCTION__, pdev->irq);
716 } 716 }
717 if (!request_irq(pdev->irq+2, ioc3_intr_io, SA_SHIRQ, 717 if (!request_irq(pdev->irq+2, ioc3_intr_io, IRQF_SHARED,
718 "ioc3-io", (void *)idd)) { 718 "ioc3-io", (void *)idd)) {
719 idd->irq_io = pdev->irq+2; 719 idd->irq_io = pdev->irq+2;
720 } else { 720 } else {
@@ -723,7 +723,7 @@ static int ioc3_probe(struct pci_dev *pdev, const struct pci_device_id *pci_id)
723 __FUNCTION__, pdev->irq+2); 723 __FUNCTION__, pdev->irq+2);
724 } 724 }
725 } else { 725 } else {
726 if (!request_irq(pdev->irq, ioc3_intr_io, SA_SHIRQ, 726 if (!request_irq(pdev->irq, ioc3_intr_io, IRQF_SHARED,
727 "ioc3", (void *)idd)) { 727 "ioc3", (void *)idd)) {
728 idd->irq_io = pdev->irq; 728 idd->irq_io = pdev->irq;
729 } else { 729 } else {
diff --git a/drivers/tc/zs.c b/drivers/tc/zs.c
index 93bc90b8ff92..5e8a27620f6f 100644
--- a/drivers/tc/zs.c
+++ b/drivers/tc/zs.c
@@ -1791,7 +1791,7 @@ int __init zs_init(void)
1791 zs_soft[channel].clk_divisor = 16; 1791 zs_soft[channel].clk_divisor = 16;
1792 zs_soft[channel].zs_baud = get_zsbaud(&zs_soft[channel]); 1792 zs_soft[channel].zs_baud = get_zsbaud(&zs_soft[channel]);
1793 1793
1794 if (request_irq(zs_soft[channel].irq, rs_interrupt, SA_SHIRQ, 1794 if (request_irq(zs_soft[channel].irq, rs_interrupt, IRQF_SHARED,
1795 "scc", &zs_soft[channel])) 1795 "scc", &zs_soft[channel]))
1796 printk(KERN_ERR "decserial: can't get irq %d\n", 1796 printk(KERN_ERR "decserial: can't get irq %d\n",
1797 zs_soft[channel].irq); 1797 zs_soft[channel].irq);
diff --git a/drivers/usb/core/hcd-pci.c b/drivers/usb/core/hcd-pci.c
index 9d16716d166e..5078fb3375e3 100644
--- a/drivers/usb/core/hcd-pci.c
+++ b/drivers/usb/core/hcd-pci.c
@@ -125,7 +125,7 @@ int usb_hcd_pci_probe (struct pci_dev *dev, const struct pci_device_id *id)
125 125
126 pci_set_master (dev); 126 pci_set_master (dev);
127 127
128 retval = usb_add_hcd (hcd, dev->irq, SA_SHIRQ); 128 retval = usb_add_hcd (hcd, dev->irq, IRQF_SHARED);
129 if (retval != 0) 129 if (retval != 0)
130 goto err4; 130 goto err4;
131 return retval; 131 return retval;
diff --git a/drivers/usb/gadget/at91_udc.c b/drivers/usb/gadget/at91_udc.c
index acb3c3d2e888..1c459ff037ce 100644
--- a/drivers/usb/gadget/at91_udc.c
+++ b/drivers/usb/gadget/at91_udc.c
@@ -1653,13 +1653,13 @@ static int __devinit at91udc_probe(struct platform_device *pdev)
1653 pullup(udc, 0); 1653 pullup(udc, 0);
1654 1654
1655 /* request UDC and maybe VBUS irqs */ 1655 /* request UDC and maybe VBUS irqs */
1656 if (request_irq(AT91_ID_UDP, at91_udc_irq, SA_INTERRUPT, driver_name, udc)) { 1656 if (request_irq(AT91_ID_UDP, at91_udc_irq, IRQF_DISABLED, driver_name, udc)) {
1657 DBG("request irq %d failed\n", AT91_ID_UDP); 1657 DBG("request irq %d failed\n", AT91_ID_UDP);
1658 retval = -EBUSY; 1658 retval = -EBUSY;
1659 goto fail1; 1659 goto fail1;
1660 } 1660 }
1661 if (udc->board.vbus_pin > 0) { 1661 if (udc->board.vbus_pin > 0) {
1662 if (request_irq(udc->board.vbus_pin, at91_vbus_irq, SA_INTERRUPT, driver_name, udc)) { 1662 if (request_irq(udc->board.vbus_pin, at91_vbus_irq, IRQF_DISABLED, driver_name, udc)) {
1663 DBG("request vbus irq %d failed\n", udc->board.vbus_pin); 1663 DBG("request vbus irq %d failed\n", udc->board.vbus_pin);
1664 free_irq(AT91_ID_UDP, udc); 1664 free_irq(AT91_ID_UDP, udc);
1665 retval = -EBUSY; 1665 retval = -EBUSY;
diff --git a/drivers/usb/gadget/goku_udc.c b/drivers/usb/gadget/goku_udc.c
index 3f827ded8cdf..7cf2999e8616 100644
--- a/drivers/usb/gadget/goku_udc.c
+++ b/drivers/usb/gadget/goku_udc.c
@@ -1916,7 +1916,7 @@ static int goku_probe(struct pci_dev *pdev, const struct pci_device_id *id)
1916 /* init to known state, then setup irqs */ 1916 /* init to known state, then setup irqs */
1917 udc_reset(dev); 1917 udc_reset(dev);
1918 udc_reinit (dev); 1918 udc_reinit (dev);
1919 if (request_irq(pdev->irq, goku_irq, SA_SHIRQ/*|SA_SAMPLE_RANDOM*/, 1919 if (request_irq(pdev->irq, goku_irq, IRQF_SHARED/*|IRQF_SAMPLE_RANDOM*/,
1920 driver_name, dev) != 0) { 1920 driver_name, dev) != 0) {
1921 DBG(dev, "request interrupt %d failed\n", pdev->irq); 1921 DBG(dev, "request interrupt %d failed\n", pdev->irq);
1922 retval = -EBUSY; 1922 retval = -EBUSY;
diff --git a/drivers/usb/gadget/lh7a40x_udc.c b/drivers/usb/gadget/lh7a40x_udc.c
index 0d3424eda038..bb22b7e82877 100644
--- a/drivers/usb/gadget/lh7a40x_udc.c
+++ b/drivers/usb/gadget/lh7a40x_udc.c
@@ -2107,7 +2107,7 @@ static int lh7a40x_udc_probe(struct platform_device *pdev)
2107 2107
2108 /* irq setup after old hardware state is cleaned up */ 2108 /* irq setup after old hardware state is cleaned up */
2109 retval = 2109 retval =
2110 request_irq(IRQ_USBINTR, lh7a40x_udc_irq, SA_INTERRUPT, driver_name, 2110 request_irq(IRQ_USBINTR, lh7a40x_udc_irq, IRQF_DISABLED, driver_name,
2111 dev); 2111 dev);
2112 if (retval != 0) { 2112 if (retval != 0) {
2113 DEBUG(KERN_ERR "%s: can't get irq %i, err %d\n", driver_name, 2113 DEBUG(KERN_ERR "%s: can't get irq %i, err %d\n", driver_name,
diff --git a/drivers/usb/gadget/net2280.c b/drivers/usb/gadget/net2280.c
index 570996d7eb34..09243239d948 100644
--- a/drivers/usb/gadget/net2280.c
+++ b/drivers/usb/gadget/net2280.c
@@ -2895,7 +2895,7 @@ static int net2280_probe (struct pci_dev *pdev, const struct pci_device_id *id)
2895 goto done; 2895 goto done;
2896 } 2896 }
2897 2897
2898 if (request_irq (pdev->irq, net2280_irq, SA_SHIRQ, driver_name, dev) 2898 if (request_irq (pdev->irq, net2280_irq, IRQF_SHARED, driver_name, dev)
2899 != 0) { 2899 != 0) {
2900 ERROR (dev, "request interrupt %d failed\n", pdev->irq); 2900 ERROR (dev, "request interrupt %d failed\n", pdev->irq);
2901 retval = -EBUSY; 2901 retval = -EBUSY;
diff --git a/drivers/usb/gadget/omap_udc.c b/drivers/usb/gadget/omap_udc.c
index 0d642ac70055..2de9748ee673 100644
--- a/drivers/usb/gadget/omap_udc.c
+++ b/drivers/usb/gadget/omap_udc.c
@@ -772,7 +772,7 @@ static void dma_error(int lch, u16 ch_status, void *data)
772 struct omap_ep *ep = data; 772 struct omap_ep *ep = data;
773 773
774 /* if ch_status & OMAP_DMA_DROP_IRQ ... */ 774 /* if ch_status & OMAP_DMA_DROP_IRQ ... */
775 /* if ch_status & OMAP_DMA_TOUT_IRQ ... */ 775 /* if ch_status & OMAP1_DMA_TOUT_IRQ ... */
776 ERR("%s dma error, lch %d status %02x\n", ep->ep.name, lch, ch_status); 776 ERR("%s dma error, lch %d status %02x\n", ep->ep.name, lch, ch_status);
777 777
778 /* complete current transfer ... */ 778 /* complete current transfer ... */
@@ -2818,7 +2818,7 @@ bad_on_1710:
2818 2818
2819 /* USB general purpose IRQ: ep0, state changes, dma, etc */ 2819 /* USB general purpose IRQ: ep0, state changes, dma, etc */
2820 status = request_irq(pdev->resource[1].start, omap_udc_irq, 2820 status = request_irq(pdev->resource[1].start, omap_udc_irq,
2821 SA_SAMPLE_RANDOM, driver_name, udc); 2821 IRQF_SAMPLE_RANDOM, driver_name, udc);
2822 if (status != 0) { 2822 if (status != 0) {
2823 ERR( "can't get irq %ld, err %d\n", 2823 ERR( "can't get irq %ld, err %d\n",
2824 pdev->resource[1].start, status); 2824 pdev->resource[1].start, status);
@@ -2827,7 +2827,7 @@ bad_on_1710:
2827 2827
2828 /* USB "non-iso" IRQ (PIO for all but ep0) */ 2828 /* USB "non-iso" IRQ (PIO for all but ep0) */
2829 status = request_irq(pdev->resource[2].start, omap_udc_pio_irq, 2829 status = request_irq(pdev->resource[2].start, omap_udc_pio_irq,
2830 SA_SAMPLE_RANDOM, "omap_udc pio", udc); 2830 IRQF_SAMPLE_RANDOM, "omap_udc pio", udc);
2831 if (status != 0) { 2831 if (status != 0) {
2832 ERR( "can't get irq %ld, err %d\n", 2832 ERR( "can't get irq %ld, err %d\n",
2833 pdev->resource[2].start, status); 2833 pdev->resource[2].start, status);
@@ -2835,7 +2835,7 @@ bad_on_1710:
2835 } 2835 }
2836#ifdef USE_ISO 2836#ifdef USE_ISO
2837 status = request_irq(pdev->resource[3].start, omap_udc_iso_irq, 2837 status = request_irq(pdev->resource[3].start, omap_udc_iso_irq,
2838 SA_INTERRUPT, "omap_udc iso", udc); 2838 IRQF_DISABLED, "omap_udc iso", udc);
2839 if (status != 0) { 2839 if (status != 0) {
2840 ERR("can't get irq %ld, err %d\n", 2840 ERR("can't get irq %ld, err %d\n",
2841 pdev->resource[3].start, status); 2841 pdev->resource[3].start, status);
diff --git a/drivers/usb/gadget/pxa2xx_udc.c b/drivers/usb/gadget/pxa2xx_udc.c
index c88650dffdeb..fff027d30a09 100644
--- a/drivers/usb/gadget/pxa2xx_udc.c
+++ b/drivers/usb/gadget/pxa2xx_udc.c
@@ -2521,7 +2521,7 @@ static int __init pxa2xx_udc_probe(struct platform_device *pdev)
2521 2521
2522 /* irq setup after old hardware state is cleaned up */ 2522 /* irq setup after old hardware state is cleaned up */
2523 retval = request_irq(IRQ_USB, pxa2xx_udc_irq, 2523 retval = request_irq(IRQ_USB, pxa2xx_udc_irq,
2524 SA_INTERRUPT, driver_name, dev); 2524 IRQF_DISABLED, driver_name, dev);
2525 if (retval != 0) { 2525 if (retval != 0) {
2526 printk(KERN_ERR "%s: can't get irq %i, err %d\n", 2526 printk(KERN_ERR "%s: can't get irq %i, err %d\n",
2527 driver_name, IRQ_USB, retval); 2527 driver_name, IRQ_USB, retval);
@@ -2533,7 +2533,7 @@ static int __init pxa2xx_udc_probe(struct platform_device *pdev)
2533 if (machine_is_lubbock()) { 2533 if (machine_is_lubbock()) {
2534 retval = request_irq(LUBBOCK_USB_DISC_IRQ, 2534 retval = request_irq(LUBBOCK_USB_DISC_IRQ,
2535 lubbock_vbus_irq, 2535 lubbock_vbus_irq,
2536 SA_INTERRUPT | SA_SAMPLE_RANDOM, 2536 IRQF_DISABLED | IRQF_SAMPLE_RANDOM,
2537 driver_name, dev); 2537 driver_name, dev);
2538 if (retval != 0) { 2538 if (retval != 0) {
2539 printk(KERN_ERR "%s: can't get irq %i, err %d\n", 2539 printk(KERN_ERR "%s: can't get irq %i, err %d\n",
@@ -2544,7 +2544,7 @@ lubbock_fail0:
2544 } 2544 }
2545 retval = request_irq(LUBBOCK_USB_IRQ, 2545 retval = request_irq(LUBBOCK_USB_IRQ,
2546 lubbock_vbus_irq, 2546 lubbock_vbus_irq,
2547 SA_INTERRUPT | SA_SAMPLE_RANDOM, 2547 IRQF_DISABLED | IRQF_SAMPLE_RANDOM,
2548 driver_name, dev); 2548 driver_name, dev);
2549 if (retval != 0) { 2549 if (retval != 0) {
2550 printk(KERN_ERR "%s: can't get irq %i, err %d\n", 2550 printk(KERN_ERR "%s: can't get irq %i, err %d\n",
diff --git a/drivers/usb/host/ehci-au1xxx.c b/drivers/usb/host/ehci-au1xxx.c
index 9b4697add313..d66867aa527e 100644
--- a/drivers/usb/host/ehci-au1xxx.c
+++ b/drivers/usb/host/ehci-au1xxx.c
@@ -148,7 +148,7 @@ int usb_ehci_au1xxx_probe(const struct hc_driver *driver,
148 /* ehci_hcd_init(hcd_to_ehci(hcd)); */ 148 /* ehci_hcd_init(hcd_to_ehci(hcd)); */
149 149
150 retval = 150 retval =
151 usb_add_hcd(hcd, dev->resource[1].start, SA_INTERRUPT | SA_SHIRQ); 151 usb_add_hcd(hcd, dev->resource[1].start, IRQF_DISABLED | IRQF_SHARED);
152 if (retval == 0) 152 if (retval == 0)
153 return retval; 153 return retval;
154 154
diff --git a/drivers/usb/host/ehci-fsl.c b/drivers/usb/host/ehci-fsl.c
index a49a689bf423..d030516edfb9 100644
--- a/drivers/usb/host/ehci-fsl.c
+++ b/drivers/usb/host/ehci-fsl.c
@@ -121,7 +121,7 @@ int usb_hcd_fsl_probe(const struct hc_driver *driver,
121 temp = in_le32(hcd->regs + 0x1a8); 121 temp = in_le32(hcd->regs + 0x1a8);
122 out_le32(hcd->regs + 0x1a8, temp | 0x3); 122 out_le32(hcd->regs + 0x1a8, temp | 0x3);
123 123
124 retval = usb_add_hcd(hcd, irq, SA_SHIRQ); 124 retval = usb_add_hcd(hcd, irq, IRQF_SHARED);
125 if (retval != 0) 125 if (retval != 0)
126 goto err4; 126 goto err4;
127 return retval; 127 return retval;
diff --git a/drivers/usb/host/isp116x-hcd.c b/drivers/usb/host/isp116x-hcd.c
index 14386254c870..5147ed4a6662 100644
--- a/drivers/usb/host/isp116x-hcd.c
+++ b/drivers/usb/host/isp116x-hcd.c
@@ -1653,7 +1653,7 @@ static int __init isp116x_probe(struct platform_device *pdev)
1653 goto err6; 1653 goto err6;
1654 } 1654 }
1655 1655
1656 ret = usb_add_hcd(hcd, irq, SA_INTERRUPT); 1656 ret = usb_add_hcd(hcd, irq, IRQF_DISABLED);
1657 if (ret) 1657 if (ret)
1658 goto err6; 1658 goto err6;
1659 1659
diff --git a/drivers/usb/host/ohci-at91.c b/drivers/usb/host/ohci-at91.c
index 6b7350b52419..cdbafb710000 100644
--- a/drivers/usb/host/ohci-at91.c
+++ b/drivers/usb/host/ohci-at91.c
@@ -125,7 +125,7 @@ int usb_hcd_at91_probe (const struct hc_driver *driver, struct platform_device *
125 at91_start_hc(pdev); 125 at91_start_hc(pdev);
126 ohci_hcd_init(hcd_to_ohci(hcd)); 126 ohci_hcd_init(hcd_to_ohci(hcd));
127 127
128 retval = usb_add_hcd(hcd, pdev->resource[1].start, SA_INTERRUPT); 128 retval = usb_add_hcd(hcd, pdev->resource[1].start, IRQF_DISABLED);
129 if (retval == 0) 129 if (retval == 0)
130 return retval; 130 return retval;
131 131
diff --git a/drivers/usb/host/ohci-au1xxx.c b/drivers/usb/host/ohci-au1xxx.c
index a1c8b3b2fcc7..689261e44018 100644
--- a/drivers/usb/host/ohci-au1xxx.c
+++ b/drivers/usb/host/ohci-au1xxx.c
@@ -191,7 +191,7 @@ static int usb_ohci_au1xxx_probe(const struct hc_driver *driver,
191 au1xxx_start_ohc(dev); 191 au1xxx_start_ohc(dev);
192 ohci_hcd_init(hcd_to_ohci(hcd)); 192 ohci_hcd_init(hcd_to_ohci(hcd));
193 193
194 retval = usb_add_hcd(hcd, dev->resource[1].start, SA_INTERRUPT | SA_SHIRQ); 194 retval = usb_add_hcd(hcd, dev->resource[1].start, IRQF_DISABLED | IRQF_SHARED);
195 if (retval == 0) 195 if (retval == 0)
196 return retval; 196 return retval;
197 197
diff --git a/drivers/usb/host/ohci-lh7a404.c b/drivers/usb/host/ohci-lh7a404.c
index 0020ed7a39d0..5602da9bd52c 100644
--- a/drivers/usb/host/ohci-lh7a404.c
+++ b/drivers/usb/host/ohci-lh7a404.c
@@ -100,7 +100,7 @@ int usb_hcd_lh7a404_probe (const struct hc_driver *driver,
100 lh7a404_start_hc(dev); 100 lh7a404_start_hc(dev);
101 ohci_hcd_init(hcd_to_ohci(hcd)); 101 ohci_hcd_init(hcd_to_ohci(hcd));
102 102
103 retval = usb_add_hcd(hcd, dev->resource[1].start, SA_INTERRUPT); 103 retval = usb_add_hcd(hcd, dev->resource[1].start, IRQF_DISABLED);
104 if (retval == 0) 104 if (retval == 0)
105 return retval; 105 return retval;
106 106
diff --git a/drivers/usb/host/ohci-omap.c b/drivers/usb/host/ohci-omap.c
index ca19abe01c53..c4c4babd4767 100644
--- a/drivers/usb/host/ohci-omap.c
+++ b/drivers/usb/host/ohci-omap.c
@@ -14,7 +14,7 @@
14 * This file is licenced under the GPL. 14 * This file is licenced under the GPL.
15 */ 15 */
16 16
17#include <linux/signal.h> /* SA_INTERRUPT */ 17#include <linux/signal.h> /* IRQF_DISABLED */
18#include <linux/jiffies.h> 18#include <linux/jiffies.h>
19#include <linux/platform_device.h> 19#include <linux/platform_device.h>
20#include <linux/clk.h> 20#include <linux/clk.h>
@@ -334,7 +334,7 @@ int usb_hcd_omap_probe (const struct hc_driver *driver,
334 retval = -ENXIO; 334 retval = -ENXIO;
335 goto err2; 335 goto err2;
336 } 336 }
337 retval = usb_add_hcd(hcd, irq, SA_INTERRUPT); 337 retval = usb_add_hcd(hcd, irq, IRQF_DISABLED);
338 if (retval == 0) 338 if (retval == 0)
339 return retval; 339 return retval;
340 340
diff --git a/drivers/usb/host/ohci-ppc-soc.c b/drivers/usb/host/ohci-ppc-soc.c
index b2a8dfa48870..9fe56ff1615d 100644
--- a/drivers/usb/host/ohci-ppc-soc.c
+++ b/drivers/usb/host/ohci-ppc-soc.c
@@ -75,7 +75,7 @@ static int usb_hcd_ppc_soc_probe(const struct hc_driver *driver,
75 ohci->flags |= OHCI_BIG_ENDIAN; 75 ohci->flags |= OHCI_BIG_ENDIAN;
76 ohci_hcd_init(ohci); 76 ohci_hcd_init(ohci);
77 77
78 retval = usb_add_hcd(hcd, irq, SA_INTERRUPT); 78 retval = usb_add_hcd(hcd, irq, IRQF_DISABLED);
79 if (retval == 0) 79 if (retval == 0)
80 return retval; 80 return retval;
81 81
diff --git a/drivers/usb/host/ohci-pxa27x.c b/drivers/usb/host/ohci-pxa27x.c
index fafe7c1265b3..6f559e102789 100644
--- a/drivers/usb/host/ohci-pxa27x.c
+++ b/drivers/usb/host/ohci-pxa27x.c
@@ -190,7 +190,7 @@ int usb_hcd_pxa27x_probe (const struct hc_driver *driver, struct platform_device
190 190
191 ohci_hcd_init(hcd_to_ohci(hcd)); 191 ohci_hcd_init(hcd_to_ohci(hcd));
192 192
193 retval = usb_add_hcd(hcd, pdev->resource[1].start, SA_INTERRUPT); 193 retval = usb_add_hcd(hcd, pdev->resource[1].start, IRQF_DISABLED);
194 if (retval == 0) 194 if (retval == 0)
195 return retval; 195 return retval;
196 196
diff --git a/drivers/usb/host/ohci-s3c2410.c b/drivers/usb/host/ohci-s3c2410.c
index 1da5de573a6f..d2fc6969a9f7 100644
--- a/drivers/usb/host/ohci-s3c2410.c
+++ b/drivers/usb/host/ohci-s3c2410.c
@@ -388,7 +388,7 @@ static int usb_hcd_s3c2410_probe (const struct hc_driver *driver,
388 388
389 ohci_hcd_init(hcd_to_ohci(hcd)); 389 ohci_hcd_init(hcd_to_ohci(hcd));
390 390
391 retval = usb_add_hcd(hcd, dev->resource[1].start, SA_INTERRUPT); 391 retval = usb_add_hcd(hcd, dev->resource[1].start, IRQF_DISABLED);
392 if (retval != 0) 392 if (retval != 0)
393 goto err_ioremap; 393 goto err_ioremap;
394 394
diff --git a/drivers/usb/host/ohci-sa1111.c b/drivers/usb/host/ohci-sa1111.c
index fb3221ebbb29..ce3de106cadc 100644
--- a/drivers/usb/host/ohci-sa1111.c
+++ b/drivers/usb/host/ohci-sa1111.c
@@ -143,7 +143,7 @@ int usb_hcd_sa1111_probe (const struct hc_driver *driver,
143 sa1111_start_hc(dev); 143 sa1111_start_hc(dev);
144 ohci_hcd_init(hcd_to_ohci(hcd)); 144 ohci_hcd_init(hcd_to_ohci(hcd));
145 145
146 retval = usb_add_hcd(hcd, dev->irq[1], SA_INTERRUPT); 146 retval = usb_add_hcd(hcd, dev->irq[1], IRQF_DISABLED);
147 if (retval == 0) 147 if (retval == 0)
148 return retval; 148 return retval;
149 149
diff --git a/drivers/usb/host/sl811-hcd.c b/drivers/usb/host/sl811-hcd.c
index c327168255cd..fa34092bbcde 100644
--- a/drivers/usb/host/sl811-hcd.c
+++ b/drivers/usb/host/sl811-hcd.c
@@ -1749,7 +1749,7 @@ sl811h_probe(struct platform_device *dev)
1749 * was on a system with single edge triggering, so most sorts of 1749 * was on a system with single edge triggering, so most sorts of
1750 * triggering arrangement should work. 1750 * triggering arrangement should work.
1751 */ 1751 */
1752 retval = usb_add_hcd(hcd, irq, SA_INTERRUPT | SA_SHIRQ); 1752 retval = usb_add_hcd(hcd, irq, IRQF_DISABLED | IRQF_SHARED);
1753 if (retval != 0) 1753 if (retval != 0)
1754 goto err6; 1754 goto err6;
1755 1755
diff --git a/drivers/video/arcfb.c b/drivers/video/arcfb.c
index 466042808daf..fd95c2dbd4f7 100644
--- a/drivers/video/arcfb.c
+++ b/drivers/video/arcfb.c
@@ -561,7 +561,7 @@ static int __init arcfb_probe(struct platform_device *dev)
561 platform_set_drvdata(dev, info); 561 platform_set_drvdata(dev, info);
562 if (irq) { 562 if (irq) {
563 par->irq = irq; 563 par->irq = irq;
564 if (request_irq(par->irq, &arcfb_interrupt, SA_SHIRQ, 564 if (request_irq(par->irq, &arcfb_interrupt, IRQF_SHARED,
565 "arcfb", info)) { 565 "arcfb", info)) {
566 printk(KERN_INFO 566 printk(KERN_INFO
567 "arcfb: Failed req IRQ %d\n", par->irq); 567 "arcfb: Failed req IRQ %d\n", par->irq);
diff --git a/drivers/video/aty/atyfb_base.c b/drivers/video/aty/atyfb_base.c
index 85fcd22e6ed5..0c9706746d79 100644
--- a/drivers/video/aty/atyfb_base.c
+++ b/drivers/video/aty/atyfb_base.c
@@ -1567,7 +1567,7 @@ static int aty_enable_irq(struct atyfb_par *par, int reenable)
1567 u32 int_cntl; 1567 u32 int_cntl;
1568 1568
1569 if (!test_and_set_bit(0, &par->irq_flags)) { 1569 if (!test_and_set_bit(0, &par->irq_flags)) {
1570 if (request_irq(par->irq, aty_irq, SA_SHIRQ, "atyfb", par)) { 1570 if (request_irq(par->irq, aty_irq, IRQF_SHARED, "atyfb", par)) {
1571 clear_bit(0, &par->irq_flags); 1571 clear_bit(0, &par->irq_flags);
1572 return -EINVAL; 1572 return -EINVAL;
1573 } 1573 }
diff --git a/drivers/video/au1200fb.c b/drivers/video/au1200fb.c
index 600d3e0e08b7..c6a5f0ccc107 100644
--- a/drivers/video/au1200fb.c
+++ b/drivers/video/au1200fb.c
@@ -1694,7 +1694,7 @@ static int au1200fb_drv_probe(struct device *dev)
1694 1694
1695 /* Now hook interrupt too */ 1695 /* Now hook interrupt too */
1696 if ((ret = request_irq(AU1200_LCD_INT, au1200fb_handle_irq, 1696 if ((ret = request_irq(AU1200_LCD_INT, au1200fb_handle_irq,
1697 SA_INTERRUPT | SA_SHIRQ, "lcd", (void *)dev)) < 0) { 1697 IRQF_DISABLED | IRQF_SHARED, "lcd", (void *)dev)) < 0) {
1698 print_err("fail to request interrupt line %d (err: %d)", 1698 print_err("fail to request interrupt line %d (err: %d)",
1699 AU1200_LCD_INT, ret); 1699 AU1200_LCD_INT, ret);
1700 goto failed; 1700 goto failed;
diff --git a/drivers/video/matrox/matroxfb_base.c b/drivers/video/matrox/matroxfb_base.c
index 8b5bf7972ee3..4a57dabb77d4 100644
--- a/drivers/video/matrox/matroxfb_base.c
+++ b/drivers/video/matrox/matroxfb_base.c
@@ -233,7 +233,7 @@ int matroxfb_enable_irq(WPMINFO int reenable) {
233 233
234 if (!test_and_set_bit(0, &ACCESS_FBINFO(irq_flags))) { 234 if (!test_and_set_bit(0, &ACCESS_FBINFO(irq_flags))) {
235 if (request_irq(ACCESS_FBINFO(pcidev)->irq, matrox_irq, 235 if (request_irq(ACCESS_FBINFO(pcidev)->irq, matrox_irq,
236 SA_SHIRQ, "matroxfb", MINFO)) { 236 IRQF_SHARED, "matroxfb", MINFO)) {
237 clear_bit(0, &ACCESS_FBINFO(irq_flags)); 237 clear_bit(0, &ACCESS_FBINFO(irq_flags));
238 return -EINVAL; 238 return -EINVAL;
239 } 239 }
diff --git a/drivers/video/pxafb.c b/drivers/video/pxafb.c
index 54663a9baf43..bbb07106cd54 100644
--- a/drivers/video/pxafb.c
+++ b/drivers/video/pxafb.c
@@ -1334,7 +1334,7 @@ int __init pxafb_probe(struct platform_device *dev)
1334 goto failed; 1334 goto failed;
1335 } 1335 }
1336 1336
1337 ret = request_irq(IRQ_LCD, pxafb_handle_irq, SA_INTERRUPT, "LCD", fbi); 1337 ret = request_irq(IRQ_LCD, pxafb_handle_irq, IRQF_DISABLED, "LCD", fbi);
1338 if (ret) { 1338 if (ret) {
1339 dev_err(&dev->dev, "request_irq failed: %d\n", ret); 1339 dev_err(&dev->dev, "request_irq failed: %d\n", ret);
1340 ret = -EBUSY; 1340 ret = -EBUSY;
diff --git a/drivers/video/s3c2410fb.c b/drivers/video/s3c2410fb.c
index fbc411850686..f461eb10cc79 100644
--- a/drivers/video/s3c2410fb.c
+++ b/drivers/video/s3c2410fb.c
@@ -735,7 +735,7 @@ static int __init s3c2410fb_probe(struct platform_device *pdev)
735 735
736 dprintk("got LCD region\n"); 736 dprintk("got LCD region\n");
737 737
738 ret = request_irq(irq, s3c2410fb_irq, SA_INTERRUPT, pdev->name, info); 738 ret = request_irq(irq, s3c2410fb_irq, IRQF_DISABLED, pdev->name, info);
739 if (ret) { 739 if (ret) {
740 dev_err(&pdev->dev, "cannot get irq %d - err %d\n", irq, ret); 740 dev_err(&pdev->dev, "cannot get irq %d - err %d\n", irq, ret);
741 ret = -EBUSY; 741 ret = -EBUSY;
diff --git a/drivers/video/sa1100fb.c b/drivers/video/sa1100fb.c
index 553fd84af44f..a2e6e7205d7e 100644
--- a/drivers/video/sa1100fb.c
+++ b/drivers/video/sa1100fb.c
@@ -1472,7 +1472,7 @@ static int __init sa1100fb_probe(struct platform_device *pdev)
1472 if (ret) 1472 if (ret)
1473 goto failed; 1473 goto failed;
1474 1474
1475 ret = request_irq(irq, sa1100fb_handle_irq, SA_INTERRUPT, 1475 ret = request_irq(irq, sa1100fb_handle_irq, IRQF_DISABLED,
1476 "LCD", fbi); 1476 "LCD", fbi);
1477 if (ret) { 1477 if (ret) {
1478 printk(KERN_ERR "sa1100fb: request_irq failed: %d\n", ret); 1478 printk(KERN_ERR "sa1100fb: request_irq failed: %d\n", ret);