All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED
@ 2011-09-21  9:28 Yong Zhang
  2011-09-21  9:28 ` [PATCH 01/57] usb/hcd: Remove tricky code dealing with IRQF_DISABLED && IRQF_SHARED Yong Zhang
                   ` (57 more replies)
  0 siblings, 58 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel; +Cc: tglx, yong.zhang0

IRQF_DISABLED has been marked 'removal' for some time, now this
trival patchset achive the goal.
Most of the patch is one-line change/remove IRQF_DISABLED
except patch-0001.

patch-0001 just remove the workround which live with IRQF_DISABLED
is not NOOP, say before v2.6.35.

Others just do:
  --if IRQF_DISABLED is combined with other irq_flags,just remove
    IRQF_DISABLED;
  --if IRQF_DISABLED is the only irq_flags of request_irq(),
    change IRQF_DISABLED to 0 like some callers of request_irq()
    have done.
  --if IRQF_DISABLED is the only flags if irq_action, just remove
    that item.

And I make the patches based on subdirs, so it's more easy to be
reviewed/taken by relevant trees than one-big-patch.

Changelog V1 < V0:
  -- Show more info in the commit log, thus make the patch more
     easy to review (Required by David Miller)
  
  -- Drop below pathces since they are not needed any more:
       mpu401-snd_mpu401_uart_new-split-semantic-of-irq_fla.patch
       gpio-irq-Remove-IRQF_DISABLED.patch

  -- Drop below patches since they are picked by individual maintainer:
       Blackfin-irq-Remove-IRQF_DISABLED.patch (Bob Liu)
       staging-irq-Remove-IRQF_DISABLED.patch  (Greg KH)
       USB-irq-Remove-IRQF_DISABLED.patch      (Greg KH)
       Input-irq-Remove-IRQF_DISABLED.patch    (Dmitry Torokhov)
       mfd-irq-Remove-IRQF_DISABLED.patch      (Samuel Ortiz)

  -- Collect some Acks.
     Almost half of the patches get Acks(for the whole patch or part).

  -- Refresh this patchset based on next-20110920 (commit 8c024a21).
  
  -- Add two more patches:
       hexagon-irq-Remove-IRQF_DISABLED.patch
       hwmon-irq-Remove-IRQF_DISABLED.patch
         The two new add patches make me think that we should push this
         patches to upstream ASAP.

Since the merge window is more close to us now, could you please
pick up the individual patch or give an Ack? And quoted for Thomas's
previous reply:
[ We can hold off the "remove the define" patch until 3.2-rc1 and push
  it along with everything which hasn't been merged until then.

  Alternatively I can pick the whole * bunch as well. I let *(you)
  decide. ]

BTW, I'm sending the patchset through
'git send-email --cc-cmd="./scripts/get_maintainer.pl'.
If you are get noised by it, I apologies.

Thanks,
Yong

---
Yong Zhang (57):
  usb/hcd: Remove tricky code dealing with IRQF_DISABLED && IRQF_SHARED
  alpha: irq: Remove IRQF_DISABLED
  arm: irq: Remove IRQF_DISABLED
  avr32: irq: Remove IRQF_DISABLED
  cris: irq: Remove IRQF_DISABLED
  frv: irq: Remove IRQF_DISABLED
  h8300: irq: Remove IRQF_DISABLED
  ia64: irq: Remove IRQF_DISABLED
  m32r: irq: Remove IRQF_DISABLED
  m68k: irq: Remove IRQF_DISABLED
  microblaze: irq: Remove IRQF_DISABLED
  MIPS: irq: Remove IRQF_DISABLED
  mn10300: irq: Remove IRQF_DISABLED
  parisc: irq: remove IRQF_DISABLED
  powerpc: irq: Remove IRQF_DISABLED
  score: irq: Remove IRQF_DISABLED
  SH: irq: Remove IRQF_DISABLED
  sparc: irq: Remove IRQF_DISABLED
  um: irq: Remove IRQF_DISABLED
  unicore32: Remove IRQF_DISABLED
  x86: irq: Remove IRQF_DISABLED
  xtensa: irq: Remove IRQF_DISABLED
  clocksource: irq: Remove IRQF_DISABLED
  irq: Remove IRQF_DISABLED
  ata: irq: Remove IRQF_DISABLED
  block: irq: Remove IRQF_DISABLED
  cdrom: irq: Remove IRQF_DISABLED
  driver/char: irq: Remove IRQF_DISABLED
  crypto: irq: Remove IRQF_DISABLED
  dmaengine: irq: Remove IRQF_DISABLED
  EDAC: irq: Remove IRQF_DISABLED
  i2c: irq: Remove IRQF_DISABLED
  infiniband: irq: Remove IRQF_DISABLED
  ISDN: irq: Remove IRQF_DISABLED
  media: irq: Remove IRQF_DISABLED
  drivers:misc:irq: Remove IRQF_DISABLED
  mmc: irq: Remove IRQF_DISABLED
  mtd: irq: Remove IRQF_DISABLED
  net: irq: Remove IRQF_DISABLED
  dirvers/parisc: irq: Remove IRQF_DISABLED
  pcmcia: irq: Remove IRQF_DISABLED
  sony-laptop:irq: Remove IRQF_DISABLED
  PNP: irq: Remove IRQF_DISABLED
  power_supply:irq: Remove IRQF_DISABLED
  powerpc/ps3: irq: Remove IRQF_DISABLED
  rtc: irq: Remove IRQF_DISABLED
  spi: irq: Remove IRQF_DISABLED
  TTY: irq: Remove IRQF_DISABLED
  video: irq: Remove IRQF_DISABLED
  w1: irq: Remove IRQF_DISABLED
  watchdog: irq: Remove IRQF_DISABLED
  xen: irq: Remove IRQF_DISABLED
  sound: irq: Remove IRQF_DISABLED
  Documentation: irq: Change documents related to IRQF_DISABLED
  hexagon: irq: Remove IRQF_DISABLED
  hwmon: irq: Remove IRQF_DISABLED
  genirq: Remove IRQF_DISABLED

 Documentation/PCI/MSI-HOWTO.txt                 |   21 ---------------------
 Documentation/feature-removal-schedule.txt      |    7 -------
 Documentation/scsi/ncr53c8xx.txt                |    4 +++-
 Documentation/scsi/tmscsim.txt                  |    4 ++--
 arch/alpha/include/asm/floppy.h                 |    2 +-
 arch/alpha/kernel/irq_alpha.c                   |    1 -
 arch/alpha/kernel/sys_titan.c                   |   14 +++++++-------
 arch/arm/common/time-acorn.c                    |    1 -
 arch/arm/common/timer-sp.c                      |    2 +-
 arch/arm/include/asm/floppy.h                   |    2 +-
 arch/arm/kernel/perf_event.c                    |    2 +-
 arch/arm/mach-at91/at91rm9200_time.c            |    2 +-
 arch/arm/mach-at91/at91sam926x_time.c           |    2 +-
 arch/arm/mach-at91/at91x40_time.c               |    2 +-
 arch/arm/mach-bcmring/dma.c                     |    2 +-
 arch/arm/mach-clps711x/time.c                   |    2 +-
 arch/arm/mach-cns3xxx/core.c                    |    2 +-
 arch/arm/mach-davinci/board-da830-evm.c         |    2 +-
 arch/arm/mach-davinci/board-omapl138-hawk.c     |    2 +-
 arch/arm/mach-davinci/time.c                    |    4 ++--
 arch/arm/mach-ebsa110/core.c                    |    2 +-
 arch/arm/mach-ep93xx/core.c                     |    2 +-
 arch/arm/mach-footbridge/dc21285-timer.c        |    2 +-
 arch/arm/mach-footbridge/dc21285.c              |   10 +++++-----
 arch/arm/mach-footbridge/isa-timer.c            |    2 +-
 arch/arm/mach-gemini/time.c                     |    2 +-
 arch/arm/mach-h720x/cpu-h7201.c                 |    2 +-
 arch/arm/mach-h720x/cpu-h7202.c                 |    2 +-
 arch/arm/mach-imx/mach-armadillo5x0.c           |    2 +-
 arch/arm/mach-imx/mach-mx31_3ds.c               |    2 +-
 arch/arm/mach-imx/mach-pca100.c                 |    2 +-
 arch/arm/mach-imx/mach-pcm037.c                 |    2 +-
 arch/arm/mach-imx/mx31lilly-db.c                |    2 +-
 arch/arm/mach-integrator/integrator_ap.c        |    2 +-
 arch/arm/mach-ixp2000/core.c                    |    2 +-
 arch/arm/mach-ixp23xx/core.c                    |    2 +-
 arch/arm/mach-ixp4xx/common.c                   |    2 +-
 arch/arm/mach-ixp4xx/dsmg600-setup.c            |    2 +-
 arch/arm/mach-ixp4xx/fsg-setup.c                |    4 ++--
 arch/arm/mach-ixp4xx/nas100d-setup.c            |    2 +-
 arch/arm/mach-ixp4xx/nslu2-setup.c              |    4 ++--
 arch/arm/mach-ks8695/time.c                     |    2 +-
 arch/arm/mach-lpc32xx/timer.c                   |    2 +-
 arch/arm/mach-mmp/time.c                        |    2 +-
 arch/arm/mach-msm/timer.c                       |    4 ++--
 arch/arm/mach-netx/time.c                       |    2 +-
 arch/arm/mach-nuc93x/time.c                     |    2 +-
 arch/arm/mach-omap1/fpga.c                      |    4 ++--
 arch/arm/mach-omap1/pm.c                        |    1 -
 arch/arm/mach-omap1/time.c                      |    2 +-
 arch/arm/mach-omap1/timer32k.c                  |    2 +-
 arch/arm/mach-omap2/omap_l3_noc.c               |    4 ++--
 arch/arm/mach-omap2/omap_l3_smx.c               |    4 ++--
 arch/arm/mach-omap2/pm34xx.c                    |    2 +-
 arch/arm/mach-omap2/timer.c                     |    2 +-
 arch/arm/mach-pnx4008/time.c                    |    2 +-
 arch/arm/mach-pxa/am200epd.c                    |    2 +-
 arch/arm/mach-pxa/am300epd.c                    |    2 +-
 arch/arm/mach-pxa/em-x270.c                     |    2 +-
 arch/arm/mach-pxa/magician.c                    |    2 +-
 arch/arm/mach-pxa/mainstone.c                   |    2 +-
 arch/arm/mach-pxa/pcm990-baseboard.c            |    2 +-
 arch/arm/mach-pxa/sharpsl_pm.c                  |    8 ++++----
 arch/arm/mach-pxa/time.c                        |    2 +-
 arch/arm/mach-pxa/trizeps4.c                    |    2 +-
 arch/arm/mach-rpc/dma.c                         |    2 +-
 arch/arm/mach-s3c2410/usb-simtec.c              |    2 +-
 arch/arm/mach-s3c64xx/mach-smartq.c             |    2 +-
 arch/arm/mach-sa1100/dma.c                      |    2 +-
 arch/arm/mach-sa1100/time.c                     |    2 +-
 arch/arm/mach-shark/core.c                      |    2 +-
 arch/arm/mach-tcc8k/time.c                      |    2 +-
 arch/arm/mach-tegra/timer.c                     |    2 +-
 arch/arm/mach-u300/timer.c                      |    2 +-
 arch/arm/mach-vt8500/timer.c                    |    2 +-
 arch/arm/mach-w90x900/time.c                    |    2 +-
 arch/arm/mach-zynq/timer.c                      |    2 +-
 arch/arm/plat-iop/time.c                        |    2 +-
 arch/arm/plat-mxc/Kconfig                       |    2 +-
 arch/arm/plat-mxc/epit.c                        |    2 +-
 arch/arm/plat-mxc/time.c                        |    2 +-
 arch/arm/plat-nomadik/timer.c                   |    2 +-
 arch/arm/plat-omap/dma.c                        |    1 -
 arch/arm/plat-orion/time.c                      |    2 +-
 arch/arm/plat-pxa/dma.c                         |    2 +-
 arch/arm/plat-s3c24xx/dma.c                     |    2 +-
 arch/arm/plat-s5p/s5p-time.c                    |    2 +-
 arch/arm/plat-s5p/sysmmu.c                      |    2 +-
 arch/arm/plat-samsung/time.c                    |    2 +-
 arch/arm/plat-spear/time.c                      |    2 +-
 arch/avr32/kernel/time.c                        |    2 +-
 arch/cris/arch-v10/drivers/gpio.c               |    4 ++--
 arch/cris/arch-v10/drivers/sync_serial.c        |    4 ++--
 arch/cris/arch-v10/kernel/time.c                |    4 ++--
 arch/cris/arch-v32/drivers/mach-a3/gpio.c       |    2 +-
 arch/cris/arch-v32/drivers/mach-fs/gpio.c       |    4 ++--
 arch/cris/arch-v32/kernel/fasttimer.c           |    2 +-
 arch/cris/arch-v32/kernel/irq.c                 |    4 ++--
 arch/cris/arch-v32/kernel/smp.c                 |    1 -
 arch/cris/arch-v32/kernel/time.c                |    4 ++--
 arch/cris/arch-v32/mach-a3/arbiter.c            |    4 ++--
 arch/cris/arch-v32/mach-fs/arbiter.c            |    2 +-
 arch/cris/include/arch-v10/arch/irq.h           |    5 +++--
 arch/cris/include/arch-v32/arch/irq.h           |    5 +++--
 arch/cris/kernel/irq.c                          |    3 +--
 arch/frv/kernel/irq-mb93091.c                   |    8 ++++----
 arch/frv/kernel/irq-mb93093.c                   |    1 -
 arch/frv/kernel/irq-mb93493.c                   |    4 ++--
 arch/frv/kernel/time.c                          |    1 -
 arch/h8300/kernel/timer/itu.c                   |    2 +-
 arch/h8300/kernel/timer/timer16.c               |    2 +-
 arch/h8300/kernel/timer/timer8.c                |    2 +-
 arch/h8300/kernel/timer/tpu.c                   |    2 +-
 arch/hexagon/kernel/smp.c                       |    2 +-
 arch/hexagon/kernel/time.c                      |    2 +-
 arch/ia64/hp/sim/simserial.c                    |    2 +-
 arch/ia64/kernel/irq_ia64.c                     |    4 ----
 arch/ia64/kernel/mca.c                          |    6 ------
 arch/ia64/kernel/perfmon.c                      |    1 -
 arch/ia64/kernel/time.c                         |    2 +-
 arch/ia64/xen/irq_xen.c                         |    3 ---
 arch/m32r/kernel/time.c                         |    1 -
 arch/m68k/include/asm/floppy.h                  |    2 +-
 arch/m68k/include/asm/irq.h                     |    4 ++--
 arch/m68k/include/asm/sun3xflop.h               |    2 +-
 arch/m68k/platform/68328/timers.c               |    2 +-
 arch/m68k/platform/68360/config.c               |    2 +-
 arch/m68k/platform/coldfire/pit.c               |    2 +-
 arch/m68k/platform/coldfire/sltimers.c          |    4 ++--
 arch/m68k/platform/coldfire/timers.c            |    4 ++--
 arch/microblaze/kernel/timer.c                  |    2 +-
 arch/mips/alchemy/common/dbdma.c                |    2 +-
 arch/mips/alchemy/common/time.c                 |    2 +-
 arch/mips/alchemy/devboards/db1200/platform.c   |    4 ++--
 arch/mips/cavium-octeon/smp.c                   |    2 +-
 arch/mips/dec/setup.c                           |    1 -
 arch/mips/include/asm/mach-generic/floppy.h     |    2 +-
 arch/mips/include/asm/mach-jazz/floppy.h        |    2 +-
 arch/mips/jazz/irq.c                            |    2 +-
 arch/mips/kernel/cevt-bcm1480.c                 |    2 +-
 arch/mips/kernel/cevt-ds1287.c                  |    2 +-
 arch/mips/kernel/cevt-gt641xx.c                 |    2 +-
 arch/mips/kernel/cevt-r4k.c                     |    2 +-
 arch/mips/kernel/cevt-sb1250.c                  |    2 +-
 arch/mips/kernel/cevt-txx9.c                    |    2 +-
 arch/mips/kernel/i8253.c                        |    2 +-
 arch/mips/kernel/perf_event.c                   |    2 +-
 arch/mips/kernel/rtlx.c                         |    1 -
 arch/mips/kernel/smtc.c                         |    2 +-
 arch/mips/lantiq/irq.c                          |    1 -
 arch/mips/loongson/common/cs5536/cs5536_mfgpt.c |    2 +-
 arch/mips/mti-malta/malta-int.c                 |    4 ++--
 arch/mips/pci/ops-pmcmsp.c                      |    2 +-
 arch/mips/pci/ops-tx3927.c                      |    2 +-
 arch/mips/pci/pci-tx4927.c                      |    2 +-
 arch/mips/pci/pci-tx4938.c                      |    2 +-
 arch/mips/pci/pci-tx4939.c                      |    2 +-
 arch/mips/pmc-sierra/msp71xx/msp_hwbutton.c     |    2 +-
 arch/mips/pmc-sierra/msp71xx/msp_smp.c          |    4 ++--
 arch/mips/pnx8550/common/int.c                  |    4 ++--
 arch/mips/pnx8550/common/time.c                 |    4 ++--
 arch/mips/sgi-ip22/ip22-int.c                   |   10 +++++-----
 arch/mips/sgi-ip27/ip27-irq.c                   |    2 +-
 arch/mips/sgi-ip27/ip27-timer.c                 |    2 +-
 arch/mips/sgi-ip32/ip32-irq.c                   |    2 --
 arch/mips/sni/irq.c                             |    2 +-
 arch/mips/sni/time.c                            |    2 +-
 arch/mips/txx9/generic/pci.c                    |    2 +-
 arch/mn10300/kernel/cevt-mn10300.c              |    2 +-
 arch/mn10300/kernel/mn10300-serial.c            |    6 +++---
 arch/mn10300/kernel/smp.c                       |    1 -
 arch/mn10300/unit-asb2364/irq-fpga.c            |    2 +-
 arch/parisc/include/asm/floppy.h                |    4 ++--
 arch/parisc/kernel/irq.c                        |    4 ++--
 arch/powerpc/include/asm/floppy.h               |    4 ++--
 arch/powerpc/include/asm/xics.h                 |    4 ++--
 arch/powerpc/kernel/smp.c                       |    2 +-
 arch/powerpc/platforms/cell/beat.c              |    2 +-
 arch/powerpc/platforms/cell/celleb_scc_pciex.c  |    2 +-
 arch/powerpc/platforms/cell/iommu.c             |    3 +--
 arch/powerpc/platforms/cell/pmu.c               |    2 +-
 arch/powerpc/platforms/cell/spu_base.c          |    9 +++------
 arch/powerpc/platforms/powermac/pic.c           |    1 -
 arch/powerpc/platforms/powermac/smp.c           |    4 ++--
 arch/powerpc/platforms/ps3/device-init.c        |    2 +-
 arch/powerpc/sysdev/mpic.c                      |    2 --
 arch/powerpc/sysdev/ppc4xx_soc.c                |    2 +-
 arch/powerpc/sysdev/xics/xics-common.c          |    5 ++---
 arch/score/kernel/time.c                        |    2 +-
 arch/sh/boards/board-secureedge5410.c           |    3 +--
 arch/sh/boards/mach-cayman/irq.c                |    2 --
 arch/sh/boards/mach-hp6xx/hp6xx_apm.c           |    2 +-
 arch/sh/drivers/dma/dma-g2.c                    |    2 +-
 arch/sh/drivers/dma/dma-pvr2.c                  |    1 -
 arch/sh/drivers/dma/dma-sh.c                    |    4 ++--
 arch/sh/drivers/dma/dmabrg.c                    |    6 +++---
 arch/sh/drivers/pci/pci-sh5.c                   |    4 ++--
 arch/sh/drivers/pci/pci-sh7780.c                |    2 +-
 arch/sh/drivers/push-switch.c                   |    2 +-
 arch/sh/kernel/cpu/sh4a/smp-shx3.c              |    2 +-
 arch/sparc/include/asm/floppy_64.h              |    2 +-
 arch/sparc/kernel/ldc.c                         |    4 ++--
 arch/um/drivers/line.c                          |    8 ++++----
 arch/um/drivers/mconsole_kern.c                 |    2 +-
 arch/um/drivers/net_kern.c                      |    2 +-
 arch/um/drivers/port_kern.c                     |    4 ++--
 arch/um/drivers/random.c                        |    2 +-
 arch/um/drivers/ubd_kern.c                      |    2 +-
 arch/um/drivers/xterm_kern.c                    |    2 +-
 arch/um/kernel/sigio.c                          |    2 +-
 arch/um/kernel/time.c                           |    2 +-
 arch/unicore32/kernel/puv3-nb0916.c             |    4 ++--
 arch/unicore32/kernel/time.c                    |    2 +-
 arch/x86/include/asm/floppy.h                   |    4 ++--
 arch/x86/kernel/hpet.c                          |    2 +-
 arch/x86/kernel/time.c                          |    2 +-
 arch/x86/xen/smp.c                              |    8 ++++----
 arch/x86/xen/spinlock.c                         |    2 +-
 arch/x86/xen/time.c                             |    5 ++---
 arch/xtensa/kernel/time.c                       |    1 -
 drivers/ata/pata_mpc52xx.c                      |    2 +-
 drivers/block/cciss.c                           |    4 ++--
 drivers/block/cpqarray.c                        |    2 +-
 drivers/block/hd.c                              |    7 +------
 drivers/block/mg_disk.c                         |    2 +-
 drivers/cdrom/gdrom.c                           |    4 ++--
 drivers/char/hpet.c                             |    2 +-
 drivers/char/ipmi/ipmi_si_intf.c                |    4 ++--
 drivers/char/nwbutton.c                         |    2 +-
 drivers/char/rtc.c                              |    4 ++--
 drivers/char/snsc.c                             |    2 +-
 drivers/char/snsc_event.c                       |    2 +-
 drivers/char/tlclk.c                            |    2 +-
 drivers/clocksource/cs5535-clockevt.c           |    2 +-
 drivers/clocksource/dw_apb_timer.c              |    3 +--
 drivers/clocksource/sh_cmt.c                    |    2 +-
 drivers/clocksource/sh_mtu2.c                   |    2 +-
 drivers/clocksource/sh_tmu.c                    |    2 +-
 drivers/clocksource/tcb_clksrc.c                |    2 +-
 drivers/crypto/mv_cesa.c                        |    3 +--
 drivers/dma/amba-pl08x.c                        |    2 +-
 drivers/dma/coh901318.c                         |    2 +-
 drivers/dma/shdma.c                             |    4 ++--
 drivers/edac/mpc85xx_edac.c                     |    6 +++---
 drivers/edac/mv64x60_edac.c                     |    8 ++++----
 drivers/edac/ppc4xx_edac.c                      |    4 ++--
 drivers/hwmon/exynos4_tmu.c                     |    2 +-
 drivers/i2c/busses/i2c-bfin-twi.c               |    4 ++--
 drivers/i2c/busses/i2c-designware.c             |    2 +-
 drivers/i2c/busses/i2c-highlander.c             |    2 +-
 drivers/i2c/busses/i2c-nomadik.c                |    2 +-
 drivers/i2c/busses/i2c-nuc900.c                 |    2 +-
 drivers/i2c/busses/i2c-pmcmsp.c                 |    2 +-
 drivers/i2c/busses/i2c-s3c2410.c                |    2 +-
 drivers/i2c/busses/i2c-sh7760.c                 |    2 +-
 drivers/i2c/busses/i2c-sh_mobile.c              |    2 +-
 drivers/i2c/busses/i2c-stu300.c                 |    2 +-
 drivers/infiniband/hw/ehca/ehca_eq.c            |    4 ++--
 drivers/isdn/hardware/eicon/divasmain.c         |    2 +-
 drivers/isdn/sc/init.c                          |    2 +-
 drivers/media/common/saa7146_core.c             |    2 +-
 drivers/media/dvb/bt8xx/bt878.c                 |    2 +-
 drivers/media/radio/si4713-i2c.c                |    2 +-
 drivers/media/rc/winbond-cir.c                  |    2 +-
 drivers/media/video/bt8xx/bttv-driver.c         |    2 +-
 drivers/media/video/cx18/cx18-driver.c          |    2 +-
 drivers/media/video/cx23885/cx23885-core.c      |    2 +-
 drivers/media/video/cx88/cx88-alsa.c            |    2 +-
 drivers/media/video/cx88/cx88-mpeg.c            |    2 +-
 drivers/media/video/cx88/cx88-video.c           |    2 +-
 drivers/media/video/davinci/vpbe_display.c      |    2 +-
 drivers/media/video/davinci/vpfe_capture.c      |    4 ++--
 drivers/media/video/davinci/vpif_capture.c      |    2 +-
 drivers/media/video/davinci/vpif_display.c      |    2 +-
 drivers/media/video/ivtv/ivtv-driver.c          |    2 +-
 drivers/media/video/meye.c                      |    2 +-
 drivers/media/video/s5p-mfc/s5p_mfc.c           |    3 +--
 drivers/media/video/saa7134/saa7134-alsa.c      |    2 +-
 drivers/media/video/saa7134/saa7134-core.c      |    2 +-
 drivers/media/video/saa7164/saa7164-core.c      |    2 +-
 drivers/media/video/sh_mobile_ceu_camera.c      |    2 +-
 drivers/media/video/zoran/zoran_card.c          |    2 +-
 drivers/misc/arm-charlcd.c                      |    2 +-
 drivers/misc/phantom.c                          |    2 +-
 drivers/mmc/host/omap_hsmmc.c                   |    5 ++---
 drivers/mmc/host/tmio_mmc.c                     |    4 ++--
 drivers/mtd/nand/mxc_nand.c                     |    2 +-
 drivers/mtd/nand/pxa3xx_nand.c                  |    3 +--
 drivers/mtd/nand/tmio_nand.c                    |    2 +-
 drivers/net/ethernet/adi/bfin_mac.c             |    4 ++--
 drivers/net/ethernet/amd/sun3lance.c            |    2 +-
 drivers/net/ethernet/broadcom/bcm63xx_enet.c    |    4 ++--
 drivers/net/ethernet/dec/tulip/de4x5.c          |    2 +-
 drivers/net/ethernet/freescale/fec.c            |    2 +-
 drivers/net/ethernet/hp/hp100.c                 |    2 +-
 drivers/net/ethernet/ibm/ehea/ehea_main.c       |    6 +++---
 drivers/net/ethernet/korina.c                   |    8 ++++----
 drivers/net/ethernet/lantiq_etop.c              |    4 ++--
 drivers/net/ethernet/marvell/pxa168_eth.c       |    2 +-
 drivers/net/ethernet/micrel/ks8851_mll.c        |    2 +-
 drivers/net/ethernet/natsemi/jazzsonic.c        |    2 +-
 drivers/net/ethernet/natsemi/xtsonic.c          |    2 +-
 drivers/net/ethernet/pasemi/pasemi_mac.c        |    4 ++--
 drivers/net/ethernet/smsc/smc91x.h              |    2 +-
 drivers/net/ethernet/smsc/smsc9420.c            |    2 +-
 drivers/net/ethernet/ti/davinci_emac.c          |    2 +-
 drivers/net/ethernet/toshiba/ps3_gelic_net.c    |    2 +-
 drivers/net/hamradio/baycom_ser_fdx.c           |    2 +-
 drivers/net/hamradio/baycom_ser_hdx.c           |    2 +-
 drivers/net/hamradio/scc.c                      |    2 +-
 drivers/net/hamradio/yam.c                      |    2 +-
 drivers/net/irda/bfin_sir.c                     |    4 ++--
 drivers/net/irda/donauboe.c                     |    4 ++--
 drivers/net/irda/sh_irda.c                      |    2 +-
 drivers/net/irda/sh_sir.c                       |    2 +-
 drivers/net/wan/hostess_sv11.c                  |    2 +-
 drivers/net/wan/sealevel.c                      |    2 +-
 drivers/net/wireless/p54/p54spi.c               |    2 +-
 drivers/parisc/superio.c                        |    2 +-
 drivers/pcmcia/db1xxx_ss.c                      |    4 ++--
 drivers/pcmcia/soc_common.c                     |    2 +-
 drivers/platform/x86/sony-laptop.c              |    2 +-
 drivers/pnp/resource.c                          |    2 +-
 drivers/power/wm97xx_battery.c                  |    2 +-
 drivers/power/z2_battery.c                      |    2 +-
 drivers/ps3/ps3-vuart.c                         |    2 +-
 drivers/ps3/ps3stor_lib.c                       |    2 +-
 drivers/rtc/rtc-at91sam9.c                      |    2 +-
 drivers/rtc/rtc-cmos.c                          |    2 +-
 drivers/rtc/rtc-coh901331.c                     |    2 +-
 drivers/rtc/rtc-davinci.c                       |    2 +-
 drivers/rtc/rtc-ds1511.c                        |    2 +-
 drivers/rtc/rtc-ds1553.c                        |    2 +-
 drivers/rtc/rtc-lpc32xx.c                       |    2 +-
 drivers/rtc/rtc-mpc5121.c                       |    4 ++--
 drivers/rtc/rtc-mrst.c                          |    2 +-
 drivers/rtc/rtc-mv.c                            |    2 +-
 drivers/rtc/rtc-nuc900.c                        |    2 +-
 drivers/rtc/rtc-omap.c                          |    4 ++--
 drivers/rtc/rtc-pl030.c                         |    2 +-
 drivers/rtc/rtc-pl031.c                         |    2 +-
 drivers/rtc/rtc-puv3.c                          |    4 ++--
 drivers/rtc/rtc-pxa.c                           |    4 ++--
 drivers/rtc/rtc-s3c.c                           |    4 ++--
 drivers/rtc/rtc-sa1100.c                        |    4 ++--
 drivers/rtc/rtc-sh.c                            |    8 ++++----
 drivers/rtc/rtc-stk17ta8.c                      |    2 +-
 drivers/rtc/rtc-tx4939.c                        |    2 +-
 drivers/rtc/rtc-vr41xx.c                        |    4 ++--
 drivers/scsi/NCR5380.c                          |    2 +-
 drivers/scsi/aacraid/rx.c                       |    2 +-
 drivers/scsi/aacraid/sa.c                       |    2 +-
 drivers/scsi/aacraid/src.c                      |    2 +-
 drivers/scsi/aha152x.c                          |    4 ++--
 drivers/scsi/aic7xxx_old.c                      |    2 +-
 drivers/scsi/arm/acornscsi.c                    |    2 +-
 drivers/scsi/arm/cumana_1.c                     |    2 +-
 drivers/scsi/arm/cumana_2.c                     |    2 +-
 drivers/scsi/arm/powertec.c                     |    2 +-
 drivers/scsi/dtc.c                              |    2 +-
 drivers/scsi/eata.c                             |    2 +-
 drivers/scsi/eata_pio.c                         |    4 ++--
 drivers/scsi/g_NCR5380.c                        |    2 +-
 drivers/scsi/gdth.c                             |    6 +++---
 drivers/scsi/hpsa.c                             |    4 ++--
 drivers/scsi/ibmvscsi/ibmvstgt.c                |    2 +-
 drivers/scsi/in2000.c                           |    2 +-
 drivers/scsi/initio.c                           |    2 +-
 drivers/scsi/pas16.c                            |    2 +-
 drivers/scsi/pm8001/pm8001_init.c               |    4 +---
 drivers/scsi/t128.c                             |    2 +-
 drivers/scsi/u14-34f.c                          |    2 +-
 drivers/scsi/wd7000.c                           |    2 +-
 drivers/spi/spi-bfin5xx.c                       |    2 +-
 drivers/spi/spi-coldfire-qspi.c                 |    2 +-
 drivers/spi/spi-ppc4xx.c                        |    2 +-
 drivers/spi/spi-sh-msiof.c                      |    2 +-
 drivers/spi/spi-sh.c                            |    2 +-
 drivers/tty/amiserial.c                         |    2 +-
 drivers/tty/cyclades.c                          |    2 +-
 drivers/tty/hvc/hvc_irq.c                       |    2 +-
 drivers/tty/hvc/hvcs.c                          |    2 +-
 drivers/tty/hvc/hvsi.c                          |    2 +-
 drivers/tty/isicom.c                            |    2 +-
 drivers/tty/serial/68328serial.c                |    2 +-
 drivers/tty/serial/altera_jtaguart.c            |    2 +-
 drivers/tty/serial/altera_uart.c                |    2 +-
 drivers/tty/serial/bfin_sport_uart.c            |    2 +-
 drivers/tty/serial/bfin_uart.c                  |    8 ++++----
 drivers/tty/serial/crisv10.c                    |   18 +++++++++---------
 drivers/tty/serial/icom.c                       |    2 +-
 drivers/tty/serial/lantiq.c                     |    6 +++---
 drivers/tty/serial/mcf.c                        |    2 +-
 drivers/tty/serial/mpc52xx_uart.c               |    2 +-
 drivers/tty/serial/serial_ks8695.c              |    8 ++++----
 drivers/tty/serial/sh-sci.c                     |    2 +-
 drivers/tty/serial/sn_console.c                 |    2 +-
 drivers/usb/core/hcd.c                          |   15 ---------------
 drivers/video/au1200fb.c                        |    2 +-
 drivers/video/bf54x-lq043fb.c                   |    2 +-
 drivers/video/bfin-lq035q1-fb.c                 |    2 +-
 drivers/video/bfin-t350mcqb-fb.c                |    2 +-
 drivers/video/bfin_adv7393fb.c                  |    2 +-
 drivers/video/mb862xx/mb862xxfbdrv.c            |    4 ++--
 drivers/video/msm/mddi.c                        |    2 +-
 drivers/video/msm/mdp.c                         |    2 +-
 drivers/video/nuc900fb.c                        |    2 +-
 drivers/video/omap2/displays/panel-taal.c       |    2 +-
 drivers/video/ps3fb.c                           |    2 +-
 drivers/video/pxa3xx-gcu.c                      |    2 +-
 drivers/video/pxafb.c                           |    2 +-
 drivers/video/s3c2410fb.c                       |    2 +-
 drivers/video/sa1100fb.c                        |    3 +--
 drivers/video/sh_mobile_lcdcfb.c                |    2 +-
 drivers/video/tmiofb.c                          |    2 +-
 drivers/video/vt8500lcdfb.c                     |    2 +-
 drivers/w1/masters/ds1wm.c                      |    2 +-
 drivers/w1/masters/omap_hdq.c                   |    2 +-
 drivers/watchdog/coh901327_wdt.c                |    2 +-
 drivers/watchdog/eurotechwdt.c                  |    2 +-
 drivers/watchdog/mpcore_wdt.c                   |    3 +--
 drivers/watchdog/octeon-wdt-main.c              |    2 +-
 drivers/watchdog/sb_wdog.c                      |    4 ++--
 drivers/watchdog/wdt.c                          |    2 +-
 drivers/watchdog/wdt_pci.c                      |    2 +-
 drivers/xen/evtchn.c                            |    2 +-
 drivers/xen/platform-pci.c                      |    2 +-
 include/linux/interrupt.h                       |    3 ---
 include/net/irda/irda_device.h                  |    2 +-
 include/sound/initval.h                         |    2 +-
 sound/arm/aaci.c                                |    2 +-
 sound/arm/pxa2xx-ac97-lib.c                     |    2 +-
 sound/drivers/ml403-ac97cr.c                    |    4 ++--
 sound/drivers/mpu401/mpu401_uart.c              |    2 +-
 sound/drivers/mtpav.c                           |    2 +-
 sound/drivers/serial-u16550.c                   |    2 +-
 sound/isa/ad1816a/ad1816a_lib.c                 |    2 +-
 sound/isa/es1688/es1688_lib.c                   |    2 +-
 sound/isa/es18xx.c                              |    2 +-
 sound/isa/gus/gus_main.c                        |    2 +-
 sound/isa/gus/gusmax.c                          |    2 +-
 sound/isa/gus/interwave.c                       |    2 +-
 sound/isa/opl3sa2.c                             |    2 +-
 sound/isa/opti9xx/opti92x-ad1848.c              |    2 +-
 sound/isa/sb/sb_common.c                        |    2 +-
 sound/isa/wavefront/wavefront.c                 |    2 +-
 sound/isa/wss/wss_lib.c                         |    2 +-
 sound/mips/au1x00.c                             |    4 ++--
 sound/pci/sis7019.c                             |    4 ++--
 sound/ppc/snd_ps3.c                             |    2 +-
 sound/soc/au1x/dma.c                            |    2 +-
 sound/soc/codecs/tlv320dac33.c                  |    2 +-
 sound/soc/nuc900/nuc900-pcm.c                   |    2 +-
 sound/soc/samsung/ac97.c                        |    2 +-
 sound/soc/sh/fsi.c                              |    2 +-
 sound/soc/txx9/txx9aclc-ac97.c                  |    2 +-
 sound/sparc/amd7930.c                           |    2 +-
 457 files changed, 570 insertions(+), 669 deletions(-)

-- 
1.7.4.1


^ permalink raw reply	[flat|nested] 134+ messages in thread

* [PATCH 01/57] usb/hcd: Remove tricky code dealing with IRQF_DISABLED && IRQF_SHARED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
@ 2011-09-21  9:28 ` Yong Zhang
  2011-09-21  9:28 ` [PATCH 02/57] alpha: irq: Remove IRQF_DISABLED Yong Zhang
                   ` (56 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Greg Kroah-Hartman, Sarah Sharp, Alan Stern,
	Maulik Mankad, Robert Morell, linux-usb

Now, genirq keep irqs disabled when calling the action handler,
we don't need to disable irq by ourselves anymore.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 drivers/usb/core/hcd.c |   15 ---------------
 1 files changed, 0 insertions(+), 15 deletions(-)

diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c
index c1dabf0..8d0cd99 100644
--- a/drivers/usb/core/hcd.c
+++ b/drivers/usb/core/hcd.c
@@ -2124,15 +2124,8 @@ EXPORT_SYMBOL_GPL(usb_bus_start_enum);
 irqreturn_t usb_hcd_irq (int irq, void *__hcd)
 {
 	struct usb_hcd		*hcd = __hcd;
-	unsigned long		flags;
 	irqreturn_t		rc;
 
-	/* IRQF_DISABLED doesn't work correctly with shared IRQs
-	 * when the first handler doesn't use it.  So let's just
-	 * assume it's never used.
-	 */
-	local_irq_save(flags);
-
 	if (unlikely(HCD_DEAD(hcd) || !HCD_HW_ACCESSIBLE(hcd))) {
 		rc = IRQ_NONE;
 	} else if (hcd->driver->irq(hcd) == IRQ_NONE) {
@@ -2144,7 +2137,6 @@ irqreturn_t usb_hcd_irq (int irq, void *__hcd)
 		rc = IRQ_HANDLED;
 	}
 
-	local_irq_restore(flags);
 	return rc;
 }
 EXPORT_SYMBOL_GPL(usb_hcd_irq);
@@ -2333,13 +2325,6 @@ static int usb_hcd_request_irqs(struct usb_hcd *hcd,
 
 	if (hcd->driver->irq) {
 
-		/* IRQF_DISABLED doesn't work as advertised when used together
-		 * with IRQF_SHARED. As usb_hcd_irq() will always disable
-		 * interrupts we can remove it here.
-		 */
-		if (irqflags & IRQF_SHARED)
-			irqflags &= ~IRQF_DISABLED;
-
 		snprintf(hcd->irq_descr, sizeof(hcd->irq_descr), "%s:usb%d",
 				hcd->driver->description, hcd->self.busnum);
 		retval = request_irq(irqnum, &usb_hcd_irq, irqflags,
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 02/57] alpha: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
  2011-09-21  9:28 ` [PATCH 01/57] usb/hcd: Remove tricky code dealing with IRQF_DISABLED && IRQF_SHARED Yong Zhang
@ 2011-09-21  9:28 ` Yong Zhang
  2011-09-21  9:28 ` [PATCH 04/57] avr32: " Yong Zhang
                   ` (55 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Richard Henderson, Ivan Kokshaysky,
	Matt Turner, Jiri Kosina, Phil Carmody, Kyle McMartin,
	Will Deacon, Paul Mundt, Andrew Morton, Guan Xuetao, linux-alpha

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 arch/alpha/include/asm/floppy.h |    2 +-
 arch/alpha/kernel/irq_alpha.c   |    1 -
 arch/alpha/kernel/sys_titan.c   |   14 +++++++-------
 3 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/arch/alpha/include/asm/floppy.h b/arch/alpha/include/asm/floppy.h
index 46cefbd..bae97eb 100644
--- a/arch/alpha/include/asm/floppy.h
+++ b/arch/alpha/include/asm/floppy.h
@@ -26,7 +26,7 @@
 #define fd_disable_irq()        disable_irq(FLOPPY_IRQ)
 #define fd_cacheflush(addr,size) /* nothing */
 #define fd_request_irq()        request_irq(FLOPPY_IRQ, floppy_interrupt,\
-					    IRQF_DISABLED, "floppy", NULL)
+					    0, "floppy", NULL)
 #define fd_free_irq()           free_irq(FLOPPY_IRQ, NULL)
 
 #ifdef CONFIG_PCI
diff --git a/arch/alpha/kernel/irq_alpha.c b/arch/alpha/kernel/irq_alpha.c
index 51b7fbd..e0312e8 100644
--- a/arch/alpha/kernel/irq_alpha.c
+++ b/arch/alpha/kernel/irq_alpha.c
@@ -221,7 +221,6 @@ process_mcheck_info(unsigned long vector, unsigned long la_ptr,
 
 struct irqaction timer_irqaction = {
 	.handler	= timer_interrupt,
-	.flags		= IRQF_DISABLED,
 	.name		= "timer",
 };
 
diff --git a/arch/alpha/kernel/sys_titan.c b/arch/alpha/kernel/sys_titan.c
index f47b30a..f96dc81 100644
--- a/arch/alpha/kernel/sys_titan.c
+++ b/arch/alpha/kernel/sys_titan.c
@@ -281,15 +281,15 @@ titan_late_init(void)
 	 * all reported to the kernel as machine checks, so the handler
 	 * is a nop so it can be called to count the individual events.
 	 */
-	titan_request_irq(63+16, titan_intr_nop, IRQF_DISABLED,
+	titan_request_irq(63+16, titan_intr_nop, 0,
 		    "CChip Error", NULL);
-	titan_request_irq(62+16, titan_intr_nop, IRQF_DISABLED,
+	titan_request_irq(62+16, titan_intr_nop, 0,
 		    "PChip 0 H_Error", NULL);
-	titan_request_irq(61+16, titan_intr_nop, IRQF_DISABLED,
+	titan_request_irq(61+16, titan_intr_nop, 0,
 		    "PChip 1 H_Error", NULL);
-	titan_request_irq(60+16, titan_intr_nop, IRQF_DISABLED,
+	titan_request_irq(60+16, titan_intr_nop, 0,
 		    "PChip 0 C_Error", NULL);
-	titan_request_irq(59+16, titan_intr_nop, IRQF_DISABLED,
+	titan_request_irq(59+16, titan_intr_nop, 0,
 		    "PChip 1 C_Error", NULL);
 
 	/* 
@@ -348,9 +348,9 @@ privateer_init_pci(void)
 	 * Hook a couple of extra err interrupts that the
 	 * common titan code won't.
 	 */
-	titan_request_irq(53+16, titan_intr_nop, IRQF_DISABLED,
+	titan_request_irq(53+16, titan_intr_nop, 0,
 		    "NMI", NULL);
-	titan_request_irq(50+16, titan_intr_nop, IRQF_DISABLED,
+	titan_request_irq(50+16, titan_intr_nop, 0,
 		    "Temperature Warning", NULL);
 
 	/*
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 04/57] avr32: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
  2011-09-21  9:28 ` [PATCH 01/57] usb/hcd: Remove tricky code dealing with IRQF_DISABLED && IRQF_SHARED Yong Zhang
  2011-09-21  9:28 ` [PATCH 02/57] alpha: irq: Remove IRQF_DISABLED Yong Zhang
@ 2011-09-21  9:28 ` Yong Zhang
  2011-09-21  9:28 ` [PATCH 05/57] cris: " Yong Zhang
                   ` (54 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Haavard Skinnemoen, Hans-Christian Egtvedt,
	John Stultz

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Acked-by: Hans-Christian Egtvedt <egtvedt@samfundet.no>
---
 arch/avr32/kernel/time.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/avr32/kernel/time.c b/arch/avr32/kernel/time.c
index 05ad291..cfc9778 100644
--- a/arch/avr32/kernel/time.c
+++ b/arch/avr32/kernel/time.c
@@ -58,7 +58,7 @@ static irqreturn_t timer_interrupt(int irq, void *dev_id)
 static struct irqaction timer_irqaction = {
 	.handler	= timer_interrupt,
 	/* Oprofile uses the same irq as the timer, so allow it to be shared */
-	.flags		= IRQF_TIMER | IRQF_DISABLED | IRQF_SHARED,
+	.flags		= IRQF_TIMER | IRQF_SHARED,
 	.name		= "avr32_comparator",
 };
 
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 05/57] cris: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
                   ` (2 preceding siblings ...)
  2011-09-21  9:28 ` [PATCH 04/57] avr32: " Yong Zhang
@ 2011-09-21  9:28 ` Yong Zhang
  2011-09-21  9:28 ` [PATCH 06/57] frv: " Yong Zhang
                   ` (53 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Mikael Starvik, Jesper Nilsson, Arnd Bergmann,
	Andrew Morton, WANG Cong, Lucas De Marchi, Torben Hohn,
	KOSAKI Motohiro, Russell King, Martin Schwidefsky, Ralf Baechle,
	linux-cris-kernel

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Acked-by: Jesper Nilsson <jesper.nilsson@axis.com>
---
 arch/cris/arch-v10/drivers/gpio.c         |    4 ++--
 arch/cris/arch-v10/drivers/sync_serial.c  |    4 ++--
 arch/cris/arch-v10/kernel/time.c          |    4 ++--
 arch/cris/arch-v32/drivers/mach-a3/gpio.c |    2 +-
 arch/cris/arch-v32/drivers/mach-fs/gpio.c |    4 ++--
 arch/cris/arch-v32/kernel/fasttimer.c     |    2 +-
 arch/cris/arch-v32/kernel/irq.c           |    4 ++--
 arch/cris/arch-v32/kernel/smp.c           |    1 -
 arch/cris/arch-v32/kernel/time.c          |    4 ++--
 arch/cris/arch-v32/mach-a3/arbiter.c      |    4 ++--
 arch/cris/arch-v32/mach-fs/arbiter.c      |    2 +-
 arch/cris/include/arch-v10/arch/irq.h     |    5 +++--
 arch/cris/include/arch-v32/arch/irq.h     |    5 +++--
 arch/cris/kernel/irq.c                    |    3 +--
 14 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/arch/cris/arch-v10/drivers/gpio.c b/arch/cris/arch-v10/drivers/gpio.c
index a276f08..c19bc55 100644
--- a/arch/cris/arch-v10/drivers/gpio.c
+++ b/arch/cris/arch-v10/drivers/gpio.c
@@ -839,13 +839,13 @@ static int __init gpio_init(void)
 	 * in some tests.
 	 */
 	res = request_irq(TIMER0_IRQ_NBR, gpio_poll_timer_interrupt,
-		IRQF_SHARED | IRQF_DISABLED, "gpio poll", gpio_name);
+		IRQF_SHARED, "gpio poll", gpio_name);
 	if (res) {
 		printk(KERN_CRIT "err: timer0 irq for gpio\n");
 		return res;
 	}
 	res = request_irq(PA_IRQ_NBR, gpio_interrupt,
-		IRQF_SHARED | IRQF_DISABLED, "gpio PA", gpio_name);
+		IRQF_SHARED, "gpio PA", gpio_name);
 	if (res)
 		printk(KERN_CRIT "err: PA irq for gpio\n");
 
diff --git a/arch/cris/arch-v10/drivers/sync_serial.c b/arch/cris/arch-v10/drivers/sync_serial.c
index 466af40..c25fe35 100644
--- a/arch/cris/arch-v10/drivers/sync_serial.c
+++ b/arch/cris/arch-v10/drivers/sync_serial.c
@@ -581,7 +581,7 @@ static int sync_serial_open(struct inode *inode, struct file *file)
 			if (port == &ports[0]) {
 				if (request_irq(8,
 						manual_interrupt,
-						IRQF_SHARED | IRQF_DISABLED,
+						IRQF_SHARED,
 						"synchronous serial manual irq",
 						&ports[0])) {
 					printk(KERN_CRIT "Can't alloc "
@@ -591,7 +591,7 @@ static int sync_serial_open(struct inode *inode, struct file *file)
 			} else if (port == &ports[1]) {
 				if (request_irq(8,
 						manual_interrupt,
-						IRQF_SHARED | IRQF_DISABLED,
+						IRQF_SHARED,
 						"synchronous serial manual irq",
 						&ports[1])) {
 					printk(KERN_CRIT "Can't alloc "
diff --git a/arch/cris/arch-v10/kernel/time.c b/arch/cris/arch-v10/kernel/time.c
index 20c85b5..7d40c18 100644
--- a/arch/cris/arch-v10/kernel/time.c
+++ b/arch/cris/arch-v10/kernel/time.c
@@ -183,12 +183,12 @@ timer_interrupt(int irq, void *dev_id)
 }
 
 /* timer is IRQF_SHARED so drivers can add stuff to the timer irq chain
- * it needs to be IRQF_DISABLED to make the jiffies update work properly
+ * it needs irqs to be disabled to make the jiffies update work properly
  */
 
 static struct irqaction irq2  = {
 	.handler = timer_interrupt,
-	.flags = IRQF_SHARED | IRQF_DISABLED,
+	.flags = IRQF_SHARED,
 	.name = "timer",
 };
 
diff --git a/arch/cris/arch-v32/drivers/mach-a3/gpio.c b/arch/cris/arch-v32/drivers/mach-a3/gpio.c
index c845831..50402d6 100644
--- a/arch/cris/arch-v32/drivers/mach-a3/gpio.c
+++ b/arch/cris/arch-v32/drivers/mach-a3/gpio.c
@@ -979,7 +979,7 @@ static int __init gpio_init(void)
 	CRIS_LED_DISK_WRITE(0);
 
 	int res2 = request_irq(GIO_INTR_VECT, gpio_interrupt,
-		IRQF_SHARED | IRQF_DISABLED, "gpio", &alarmlist);
+		IRQF_SHARED, "gpio", &alarmlist);
 	if (res2) {
 		printk(KERN_ERR "err: irq for gpio\n");
 		return res2;
diff --git a/arch/cris/arch-v32/drivers/mach-fs/gpio.c b/arch/cris/arch-v32/drivers/mach-fs/gpio.c
index ee90d26..77b7c49 100644
--- a/arch/cris/arch-v32/drivers/mach-fs/gpio.c
+++ b/arch/cris/arch-v32/drivers/mach-fs/gpio.c
@@ -965,11 +965,11 @@ gpio_init(void)
 	 * in some tests.
 	 */
 	if (request_irq(TIMER0_INTR_VECT, gpio_poll_timer_interrupt,
-			IRQF_SHARED | IRQF_DISABLED, "gpio poll", &alarmlist))
+			IRQF_SHARED, "gpio poll", &alarmlist))
 		printk(KERN_ERR "timer0 irq for gpio\n");
 
 	if (request_irq(GIO_INTR_VECT, gpio_pa_interrupt,
-			IRQF_SHARED | IRQF_DISABLED, "gpio PA", &alarmlist))
+			IRQF_SHARED, "gpio PA", &alarmlist))
 		printk(KERN_ERR "PA irq for gpio\n");
 
 #ifdef CONFIG_ETRAX_VIRTUAL_GPIO
diff --git a/arch/cris/arch-v32/kernel/fasttimer.c b/arch/cris/arch-v32/kernel/fasttimer.c
index 111caa1..a75114c 100644
--- a/arch/cris/arch-v32/kernel/fasttimer.c
+++ b/arch/cris/arch-v32/kernel/fasttimer.c
@@ -822,7 +822,7 @@ int fast_timer_init(void)
       fasttimer_proc_entry->read_proc = proc_fasttimer_read;
 #endif /* PROC_FS */
 		if (request_irq(TIMER0_INTR_VECT, timer_trig_interrupt,
-				IRQF_SHARED | IRQF_DISABLED,
+				IRQF_SHARED,
 				"fast timer int", &fast_timer_list))
 			printk(KERN_ERR "err: fasttimer irq\n");
     fast_timer_is_init = 1;
diff --git a/arch/cris/arch-v32/kernel/irq.c b/arch/cris/arch-v32/kernel/irq.c
index 5ebe6e8..3b718f2 100644
--- a/arch/cris/arch-v32/kernel/irq.c
+++ b/arch/cris/arch-v32/kernel/irq.c
@@ -331,8 +331,8 @@ extern void do_IRQ(int irq, struct pt_regs * regs);
 void
 crisv32_do_IRQ(int irq, int block, struct pt_regs* regs)
 {
-	/* Interrupts that may not be moved to another CPU and
-         * are IRQF_DISABLED may skip blocking. This is currently
+	/* Interrupts that may not be moved to another CPU may
+	 * skip blocking. This is currently
          * only valid for the timer IRQ and the IPI and is used
          * for the timer interrupt to avoid watchdog starvation.
          */
diff --git a/arch/cris/arch-v32/kernel/smp.c b/arch/cris/arch-v32/kernel/smp.c
index 0b99df7..553de03 100644
--- a/arch/cris/arch-v32/kernel/smp.c
+++ b/arch/cris/arch-v32/kernel/smp.c
@@ -64,7 +64,6 @@ static irqreturn_t crisv32_ipi_interrupt(int irq, void *dev_id);
 static int send_ipi(int vector, int wait, cpumask_t cpu_mask);
 static struct irqaction irq_ipi  = {
 	.handler = crisv32_ipi_interrupt,
-	.flags = IRQF_DISABLED,
 	.name = "ipi",
 };
 
diff --git a/arch/cris/arch-v32/kernel/time.c b/arch/cris/arch-v32/kernel/time.c
index bb978ed..d1f02ff 100644
--- a/arch/cris/arch-v32/kernel/time.c
+++ b/arch/cris/arch-v32/kernel/time.c
@@ -221,11 +221,11 @@ static inline irqreturn_t timer_interrupt(int irq, void *dev_id)
 }
 
 /* Timer is IRQF_SHARED so drivers can add stuff to the timer irq chain.
- * It needs to be IRQF_DISABLED to make the jiffies update work properly.
+ * It needs irqs to be disabled to make the jiffies update work properly.
  */
 static struct irqaction irq_timer = {
 	.handler = timer_interrupt,
-	.flags = IRQF_SHARED | IRQF_DISABLED,
+	.flags = IRQF_SHARED,
 	.name = "timer"
 };
 
diff --git a/arch/cris/arch-v32/mach-a3/arbiter.c b/arch/cris/arch-v32/mach-a3/arbiter.c
index 15f5c9d..ab5c421 100644
--- a/arch/cris/arch-v32/mach-a3/arbiter.c
+++ b/arch/cris/arch-v32/mach-a3/arbiter.c
@@ -256,11 +256,11 @@ static void crisv32_arbiter_init(void)
 	crisv32_arbiter_config(1, EXT_REGION, 0);
 
 	if (request_irq(MEMARB_FOO_INTR_VECT, crisv32_foo_arbiter_irq,
-			IRQF_DISABLED, "arbiter", NULL))
+			0, "arbiter", NULL))
 		printk(KERN_ERR "Couldn't allocate arbiter IRQ\n");
 
 	if (request_irq(MEMARB_BAR_INTR_VECT, crisv32_bar_arbiter_irq,
-			IRQF_DISABLED, "arbiter", NULL))
+			0, "arbiter", NULL))
 		printk(KERN_ERR "Couldn't allocate arbiter IRQ\n");
 
 #ifndef CONFIG_ETRAX_KGDB
diff --git a/arch/cris/arch-v32/mach-fs/arbiter.c b/arch/cris/arch-v32/mach-fs/arbiter.c
index 3f8ebb5..c97f4d8 100644
--- a/arch/cris/arch-v32/mach-fs/arbiter.c
+++ b/arch/cris/arch-v32/mach-fs/arbiter.c
@@ -184,7 +184,7 @@ static void crisv32_arbiter_init(void)
 	crisv32_arbiter_config(EXT_REGION, 0);
 	crisv32_arbiter_config(INT_REGION, 0);
 
-	if (request_irq(MEMARB_INTR_VECT, crisv32_arbiter_irq, IRQF_DISABLED,
+	if (request_irq(MEMARB_INTR_VECT, crisv32_arbiter_irq, 0,
 			"arbiter", NULL))
 		printk(KERN_ERR "Couldn't allocate arbiter IRQ\n");
 
diff --git a/arch/cris/include/arch-v10/arch/irq.h b/arch/cris/include/arch-v10/arch/irq.h
index 7d34594..4f20ed7 100644
--- a/arch/cris/include/arch-v10/arch/irq.h
+++ b/arch/cris/include/arch-v10/arch/irq.h
@@ -142,8 +142,9 @@ __asm__ ( \
  * it here, we would not get the multiple_irq at all.
  *
  * The non-blocking here is based on the knowledge that the timer interrupt is 
- * registred as a fast interrupt (IRQF_DISABLED) so that we _know_ there will not
- * be an sti() before the timer irq handler is run to acknowledge the interrupt.
+ * registred as a fast interrupt (called with irqs disabled) so that we _know_
+ * there will not be an sti() before the timer irq handler is run to acknowledge
+ * the interrupt.
  */
 
 #define BUILD_TIMER_IRQ(nr,mask) \
diff --git a/arch/cris/include/arch-v32/arch/irq.h b/arch/cris/include/arch-v32/arch/irq.h
index b31e998..8076d81 100644
--- a/arch/cris/include/arch-v32/arch/irq.h
+++ b/arch/cris/include/arch-v32/arch/irq.h
@@ -103,8 +103,9 @@ __asm__ (				\
  * if we had BLOCK'edit here, we would not get the multiple_irq at all.
  *
  * The non-blocking here is based on the knowledge that the timer interrupt is
- * registred as a fast interrupt (IRQF_DISABLED) so that we _know_ there will not
- * be an sti() before the timer irq handler is run to acknowledge the interrupt.
+ * registred as a fast interrupt (called with irqs disabled) so that we _know_
+ * there will not be an sti() before the timer irq handler is run to acknowledge
+ * the interrupt.
  */
 #define BUILD_TIMER_IRQ(nr, mask) 	\
 void IRQ_NAME(nr);			\
diff --git a/arch/cris/kernel/irq.c b/arch/cris/kernel/irq.c
index 788eb22..9fa8e45 100644
--- a/arch/cris/kernel/irq.c
+++ b/arch/cris/kernel/irq.c
@@ -40,8 +40,7 @@
 /* called by the assembler IRQ entry functions defined in irq.h
  * to dispatch the interrupts to registered handlers
  * interrupts are disabled upon entry - depending on if the
- * interrupt was registered with IRQF_DISABLED or not, interrupts
- * are re-enabled or not.
+ * interrupts are re-enabled or not.
  */
 
 asmlinkage void do_IRQ(int irq, struct pt_regs * regs)
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 06/57] frv: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
                   ` (3 preceding siblings ...)
  2011-09-21  9:28 ` [PATCH 05/57] cris: " Yong Zhang
@ 2011-09-21  9:28 ` Yong Zhang
  2011-09-21  9:28 ` [PATCH 07/57] h8300: " Yong Zhang
                   ` (52 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel; +Cc: tglx, yong.zhang0, David Howells, Torben Hohn

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Acked-by: David Howells <dhowells@redhat.com>
---
 arch/frv/kernel/irq-mb93091.c |    8 ++++----
 arch/frv/kernel/irq-mb93093.c |    1 -
 arch/frv/kernel/irq-mb93493.c |    4 ++--
 arch/frv/kernel/time.c        |    1 -
 4 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/arch/frv/kernel/irq-mb93091.c b/arch/frv/kernel/irq-mb93091.c
index 9afc2ea..f4dfc0b 100644
--- a/arch/frv/kernel/irq-mb93091.c
+++ b/arch/frv/kernel/irq-mb93091.c
@@ -108,25 +108,25 @@ static irqreturn_t fpga_interrupt(int irq, void *_mask)
 static struct irqaction fpga_irq[4]  = {
 	[0] = {
 		.handler	= fpga_interrupt,
-		.flags		= IRQF_DISABLED | IRQF_SHARED,
+		.flags		= IRQF_SHARED,
 		.name		= "fpga.0",
 		.dev_id		= (void *) 0x0028UL,
 	},
 	[1] = {
 		.handler	= fpga_interrupt,
-		.flags		= IRQF_DISABLED | IRQF_SHARED,
+		.flags		= IRQF_SHARED,
 		.name		= "fpga.1",
 		.dev_id		= (void *) 0x0050UL,
 	},
 	[2] = {
 		.handler	= fpga_interrupt,
-		.flags		= IRQF_DISABLED | IRQF_SHARED,
+		.flags		= IRQF_SHARED,
 		.name		= "fpga.2",
 		.dev_id		= (void *) 0x1c00UL,
 	},
 	[3] = {
 		.handler	= fpga_interrupt,
-		.flags		= IRQF_DISABLED | IRQF_SHARED,
+		.flags		= IRQF_SHARED,
 		.name		= "fpga.3",
 		.dev_id		= (void *) 0x6386UL,
 	}
diff --git a/arch/frv/kernel/irq-mb93093.c b/arch/frv/kernel/irq-mb93093.c
index 4d4ad09..bac526d 100644
--- a/arch/frv/kernel/irq-mb93093.c
+++ b/arch/frv/kernel/irq-mb93093.c
@@ -106,7 +106,6 @@ static irqreturn_t fpga_interrupt(int irq, void *_mask)
 static struct irqaction fpga_irq[1]  = {
 	[0] = {
 		.handler	= fpga_interrupt,
-		.flags		= IRQF_DISABLED,
 		.name		= "fpga.0",
 		.dev_id		= (void *) 0x0700UL,
 	}
diff --git a/arch/frv/kernel/irq-mb93493.c b/arch/frv/kernel/irq-mb93493.c
index 4d034c7..b632726 100644
--- a/arch/frv/kernel/irq-mb93493.c
+++ b/arch/frv/kernel/irq-mb93493.c
@@ -119,13 +119,13 @@ static irqreturn_t mb93493_interrupt(int irq, void *_piqsr)
 static struct irqaction mb93493_irq[2]  = {
 	[0] = {
 		.handler	= mb93493_interrupt,
-		.flags		= IRQF_DISABLED | IRQF_SHARED,
+		.flags		= IRQF_SHARED,
 		.name		= "mb93493.0",
 		.dev_id		= (void *) __addr_MB93493_IQSR(0),
 	},
 	[1] = {
 		.handler	= mb93493_interrupt,
-		.flags		= IRQF_DISABLED | IRQF_SHARED,
+		.flags		= IRQF_SHARED,
 		.name		= "mb93493.1",
 		.dev_id		= (void *) __addr_MB93493_IQSR(1),
 	}
diff --git a/arch/frv/kernel/time.c b/arch/frv/kernel/time.c
index b457de4..332e00b 100644
--- a/arch/frv/kernel/time.c
+++ b/arch/frv/kernel/time.c
@@ -44,7 +44,6 @@ static irqreturn_t timer_interrupt(int irq, void *dummy);
 
 static struct irqaction timer_irq  = {
 	.handler = timer_interrupt,
-	.flags = IRQF_DISABLED,
 	.name = "timer",
 };
 
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 07/57] h8300: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
                   ` (4 preceding siblings ...)
  2011-09-21  9:28 ` [PATCH 06/57] frv: " Yong Zhang
@ 2011-09-21  9:28 ` Yong Zhang
  2011-09-21  9:28   ` Yong Zhang
                   ` (51 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel; +Cc: tglx, yong.zhang0, Yoshinori Sato, Torben Hohn

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 arch/h8300/kernel/timer/itu.c     |    2 +-
 arch/h8300/kernel/timer/timer16.c |    2 +-
 arch/h8300/kernel/timer/timer8.c  |    2 +-
 arch/h8300/kernel/timer/tpu.c     |    2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/h8300/kernel/timer/itu.c b/arch/h8300/kernel/timer/itu.c
index a2ae5e9..21afa64 100644
--- a/arch/h8300/kernel/timer/itu.c
+++ b/arch/h8300/kernel/timer/itu.c
@@ -59,7 +59,7 @@ static irqreturn_t timer_interrupt(int irq, void *dev_id)
 static struct irqaction itu_irq = {
 	.name		= "itu",
 	.handler	= timer_interrupt,
-	.flags		= IRQF_DISABLED | IRQF_TIMER,
+	.flags		= IRQF_TIMER,
 };
 
 static const int __initdata divide_rate[] = {1, 2, 4, 8};
diff --git a/arch/h8300/kernel/timer/timer16.c b/arch/h8300/kernel/timer/timer16.c
index ae0d381..3864531 100644
--- a/arch/h8300/kernel/timer/timer16.c
+++ b/arch/h8300/kernel/timer/timer16.c
@@ -54,7 +54,7 @@ static irqreturn_t timer_interrupt(int irq, void *dev_id)
 static struct irqaction timer16_irq = {
 	.name		= "timer-16",
 	.handler	= timer_interrupt,
-	.flags		= IRQF_DISABLED | IRQF_TIMER,
+	.flags		= IRQF_TIMER,
 };
 
 static const int __initdata divide_rate[] = {1, 2, 4, 8};
diff --git a/arch/h8300/kernel/timer/timer8.c b/arch/h8300/kernel/timer/timer8.c
index 7a1533f..13617fb 100644
--- a/arch/h8300/kernel/timer/timer8.c
+++ b/arch/h8300/kernel/timer/timer8.c
@@ -74,7 +74,7 @@ static irqreturn_t timer_interrupt(int irq, void *dev_id)
 static struct irqaction timer8_irq = {
 	.name		= "timer-8",
 	.handler	= timer_interrupt,
-	.flags		= IRQF_DISABLED | IRQF_TIMER,
+	.flags		= IRQF_TIMER,
 };
 
 static const int __initdata divide_rate[] = {8, 64, 8192};
diff --git a/arch/h8300/kernel/timer/tpu.c b/arch/h8300/kernel/timer/tpu.c
index 2193a2e..aa5707e 100644
--- a/arch/h8300/kernel/timer/tpu.c
+++ b/arch/h8300/kernel/timer/tpu.c
@@ -63,7 +63,7 @@ static irqreturn_t timer_interrupt(int irq, void *dev_id)
 static struct irqaction tpu_irq = {
 	.name		= "tpu",
 	.handler	= timer_interrupt,
-	.flags		= IRQF_DISABLED | IRQF_TIMER,
+	.flags		= IRQF_TIMER,
 };
 
 static const int __initdata divide_rate[] = {
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 08/57] ia64: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
@ 2011-09-21  9:28   ` Yong Zhang
  2011-09-21  9:28 ` [PATCH 02/57] alpha: irq: Remove IRQF_DISABLED Yong Zhang
                     ` (56 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Tony Luck, Fenghua Yu, Greg Kroah-Hartman,
	Alan Cox, Benjamin Herrenschmidt, Jesper Nilsson, Chris Metcalf,
	Jeff Mahoney, Nick Piggin, Al Viro, Joe Perches, Jesper Juhl,
	John Stultz, Eric Dumazet, Torben Hohn, Russell King,
	Martin Schwidefsky, linux-ia64

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 arch/ia64/hp/sim/simserial.c |    2 +-
 arch/ia64/kernel/irq_ia64.c  |    4 ----
 arch/ia64/kernel/mca.c       |    6 ------
 arch/ia64/kernel/perfmon.c   |    1 -
 arch/ia64/kernel/time.c      |    2 +-
 arch/ia64/xen/irq_xen.c      |    3 ---
 6 files changed, 2 insertions(+), 16 deletions(-)

diff --git a/arch/ia64/hp/sim/simserial.c b/arch/ia64/hp/sim/simserial.c
index bff0824..2fa31be 100644
--- a/arch/ia64/hp/sim/simserial.c
+++ b/arch/ia64/hp/sim/simserial.c
@@ -43,7 +43,7 @@
 
 #define NR_PORTS	1	/* only one port for now */
 
-#define IRQ_T(info) ((info->flags & ASYNC_SHARE_IRQ) ? IRQF_SHARED : IRQF_DISABLED)
+#define IRQ_T(info) ((info->flags & ASYNC_SHARE_IRQ) ? IRQF_SHARED : 0)
 
 #define SSC_GETCHAR	21
 
diff --git a/arch/ia64/kernel/irq_ia64.c b/arch/ia64/kernel/irq_ia64.c
index 782c3a35..80b07ad 100644
--- a/arch/ia64/kernel/irq_ia64.c
+++ b/arch/ia64/kernel/irq_ia64.c
@@ -366,7 +366,6 @@ static irqreturn_t smp_irq_move_cleanup_interrupt(int irq, void *dev_id)
 
 static struct irqaction irq_move_irqaction = {
 	.handler =	smp_irq_move_cleanup_interrupt,
-	.flags =	IRQF_DISABLED,
 	.name =		"irq_move"
 };
 
@@ -604,7 +603,6 @@ static irqreturn_t dummy_handler (int irq, void *dev_id)
 
 static struct irqaction ipi_irqaction = {
 	.handler =	handle_IPI,
-	.flags =	IRQF_DISABLED,
 	.name =		"IPI"
 };
 
@@ -613,13 +611,11 @@ static struct irqaction ipi_irqaction = {
  */
 static struct irqaction resched_irqaction = {
 	.handler =	dummy_handler,
-	.flags =	IRQF_DISABLED,
 	.name =		"resched"
 };
 
 static struct irqaction tlb_irqaction = {
 	.handler =	dummy_handler,
-	.flags =	IRQF_DISABLED,
 	.name =		"tlb_flush"
 };
 
diff --git a/arch/ia64/kernel/mca.c b/arch/ia64/kernel/mca.c
index 84fb405..3df4fe0 100644
--- a/arch/ia64/kernel/mca.c
+++ b/arch/ia64/kernel/mca.c
@@ -1769,38 +1769,32 @@ __setup("disable_cpe_poll", ia64_mca_disable_cpe_polling);
 
 static struct irqaction cmci_irqaction = {
 	.handler =	ia64_mca_cmc_int_handler,
-	.flags =	IRQF_DISABLED,
 	.name =		"cmc_hndlr"
 };
 
 static struct irqaction cmcp_irqaction = {
 	.handler =	ia64_mca_cmc_int_caller,
-	.flags =	IRQF_DISABLED,
 	.name =		"cmc_poll"
 };
 
 static struct irqaction mca_rdzv_irqaction = {
 	.handler =	ia64_mca_rendez_int_handler,
-	.flags =	IRQF_DISABLED,
 	.name =		"mca_rdzv"
 };
 
 static struct irqaction mca_wkup_irqaction = {
 	.handler =	ia64_mca_wakeup_int_handler,
-	.flags =	IRQF_DISABLED,
 	.name =		"mca_wkup"
 };
 
 #ifdef CONFIG_ACPI
 static struct irqaction mca_cpe_irqaction = {
 	.handler =	ia64_mca_cpe_int_handler,
-	.flags =	IRQF_DISABLED,
 	.name =		"cpe_hndlr"
 };
 
 static struct irqaction mca_cpep_irqaction = {
 	.handler =	ia64_mca_cpe_int_caller,
-	.flags =	IRQF_DISABLED,
 	.name =		"cpe_poll"
 };
 #endif /* CONFIG_ACPI */
diff --git a/arch/ia64/kernel/perfmon.c b/arch/ia64/kernel/perfmon.c
index 89accc6..e807a57 100644
--- a/arch/ia64/kernel/perfmon.c
+++ b/arch/ia64/kernel/perfmon.c
@@ -6432,7 +6432,6 @@ pfm_flush_pmds(struct task_struct *task, pfm_context_t *ctx)
 
 static struct irqaction perfmon_irqaction = {
 	.handler = pfm_interrupt_handler,
-	.flags   = IRQF_DISABLED,
 	.name    = "perfmon"
 };
 
diff --git a/arch/ia64/kernel/time.c b/arch/ia64/kernel/time.c
index 43920de..ef64514 100644
--- a/arch/ia64/kernel/time.c
+++ b/arch/ia64/kernel/time.c
@@ -397,7 +397,7 @@ static cycle_t itc_get_cycles(struct clocksource *cs)
 
 static struct irqaction timer_irqaction = {
 	.handler =	timer_interrupt,
-	.flags =	IRQF_DISABLED | IRQF_IRQPOLL,
+	.flags =	IRQF_IRQPOLL,
 	.name =		"timer"
 };
 
diff --git a/arch/ia64/xen/irq_xen.c b/arch/ia64/xen/irq_xen.c
index b279e14..d794270 100644
--- a/arch/ia64/xen/irq_xen.c
+++ b/arch/ia64/xen/irq_xen.c
@@ -113,19 +113,16 @@ xen_resched_handler(int irq, void *dev_id)
 
 static struct irqaction xen_ipi_irqaction = {
 	.handler =	handle_IPI,
-	.flags =	IRQF_DISABLED,
 	.name =		"IPI"
 };
 
 static struct irqaction xen_resched_irqaction = {
 	.handler =	xen_resched_handler,
-	.flags =	IRQF_DISABLED,
 	.name =		"resched"
 };
 
 static struct irqaction xen_tlb_irqaction = {
 	.handler =	xen_dummy_handler,
-	.flags =	IRQF_DISABLED,
 	.name =		"tlb_flush"
 };
 #endif
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 08/57] ia64: irq: Remove IRQF_DISABLED
@ 2011-09-21  9:28   ` Yong Zhang
  0 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Tony Luck, Fenghua Yu, Greg Kroah-Hartman,
	Alan Cox, Benjamin Herrenschmidt, Jesper Nilsson, Chris Metcalf,
	Jeff Mahoney, Nick Piggin, Al Viro, Joe Perches, Jesper Juhl,
	John Stultz, Eric Dumazet, Torben Hohn, Russell King,
	Martin Schwidefsky, linux-ia64

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 arch/ia64/hp/sim/simserial.c |    2 +-
 arch/ia64/kernel/irq_ia64.c  |    4 ----
 arch/ia64/kernel/mca.c       |    6 ------
 arch/ia64/kernel/perfmon.c   |    1 -
 arch/ia64/kernel/time.c      |    2 +-
 arch/ia64/xen/irq_xen.c      |    3 ---
 6 files changed, 2 insertions(+), 16 deletions(-)

diff --git a/arch/ia64/hp/sim/simserial.c b/arch/ia64/hp/sim/simserial.c
index bff0824..2fa31be 100644
--- a/arch/ia64/hp/sim/simserial.c
+++ b/arch/ia64/hp/sim/simserial.c
@@ -43,7 +43,7 @@
 
 #define NR_PORTS	1	/* only one port for now */
 
-#define IRQ_T(info) ((info->flags & ASYNC_SHARE_IRQ) ? IRQF_SHARED : IRQF_DISABLED)
+#define IRQ_T(info) ((info->flags & ASYNC_SHARE_IRQ) ? IRQF_SHARED : 0)
 
 #define SSC_GETCHAR	21
 
diff --git a/arch/ia64/kernel/irq_ia64.c b/arch/ia64/kernel/irq_ia64.c
index 782c3a35..80b07ad 100644
--- a/arch/ia64/kernel/irq_ia64.c
+++ b/arch/ia64/kernel/irq_ia64.c
@@ -366,7 +366,6 @@ static irqreturn_t smp_irq_move_cleanup_interrupt(int irq, void *dev_id)
 
 static struct irqaction irq_move_irqaction = {
 	.handler =	smp_irq_move_cleanup_interrupt,
-	.flags =	IRQF_DISABLED,
 	.name =		"irq_move"
 };
 
@@ -604,7 +603,6 @@ static irqreturn_t dummy_handler (int irq, void *dev_id)
 
 static struct irqaction ipi_irqaction = {
 	.handler =	handle_IPI,
-	.flags =	IRQF_DISABLED,
 	.name =		"IPI"
 };
 
@@ -613,13 +611,11 @@ static struct irqaction ipi_irqaction = {
  */
 static struct irqaction resched_irqaction = {
 	.handler =	dummy_handler,
-	.flags =	IRQF_DISABLED,
 	.name =		"resched"
 };
 
 static struct irqaction tlb_irqaction = {
 	.handler =	dummy_handler,
-	.flags =	IRQF_DISABLED,
 	.name =		"tlb_flush"
 };
 
diff --git a/arch/ia64/kernel/mca.c b/arch/ia64/kernel/mca.c
index 84fb405..3df4fe0 100644
--- a/arch/ia64/kernel/mca.c
+++ b/arch/ia64/kernel/mca.c
@@ -1769,38 +1769,32 @@ __setup("disable_cpe_poll", ia64_mca_disable_cpe_polling);
 
 static struct irqaction cmci_irqaction = {
 	.handler =	ia64_mca_cmc_int_handler,
-	.flags =	IRQF_DISABLED,
 	.name =		"cmc_hndlr"
 };
 
 static struct irqaction cmcp_irqaction = {
 	.handler =	ia64_mca_cmc_int_caller,
-	.flags =	IRQF_DISABLED,
 	.name =		"cmc_poll"
 };
 
 static struct irqaction mca_rdzv_irqaction = {
 	.handler =	ia64_mca_rendez_int_handler,
-	.flags =	IRQF_DISABLED,
 	.name =		"mca_rdzv"
 };
 
 static struct irqaction mca_wkup_irqaction = {
 	.handler =	ia64_mca_wakeup_int_handler,
-	.flags =	IRQF_DISABLED,
 	.name =		"mca_wkup"
 };
 
 #ifdef CONFIG_ACPI
 static struct irqaction mca_cpe_irqaction = {
 	.handler =	ia64_mca_cpe_int_handler,
-	.flags =	IRQF_DISABLED,
 	.name =		"cpe_hndlr"
 };
 
 static struct irqaction mca_cpep_irqaction = {
 	.handler =	ia64_mca_cpe_int_caller,
-	.flags =	IRQF_DISABLED,
 	.name =		"cpe_poll"
 };
 #endif /* CONFIG_ACPI */
diff --git a/arch/ia64/kernel/perfmon.c b/arch/ia64/kernel/perfmon.c
index 89accc6..e807a57 100644
--- a/arch/ia64/kernel/perfmon.c
+++ b/arch/ia64/kernel/perfmon.c
@@ -6432,7 +6432,6 @@ pfm_flush_pmds(struct task_struct *task, pfm_context_t *ctx)
 
 static struct irqaction perfmon_irqaction = {
 	.handler = pfm_interrupt_handler,
-	.flags   = IRQF_DISABLED,
 	.name    = "perfmon"
 };
 
diff --git a/arch/ia64/kernel/time.c b/arch/ia64/kernel/time.c
index 43920de..ef64514 100644
--- a/arch/ia64/kernel/time.c
+++ b/arch/ia64/kernel/time.c
@@ -397,7 +397,7 @@ static cycle_t itc_get_cycles(struct clocksource *cs)
 
 static struct irqaction timer_irqaction = {
 	.handler =	timer_interrupt,
-	.flags =	IRQF_DISABLED | IRQF_IRQPOLL,
+	.flags =	IRQF_IRQPOLL,
 	.name =		"timer"
 };
 
diff --git a/arch/ia64/xen/irq_xen.c b/arch/ia64/xen/irq_xen.c
index b279e14..d794270 100644
--- a/arch/ia64/xen/irq_xen.c
+++ b/arch/ia64/xen/irq_xen.c
@@ -113,19 +113,16 @@ xen_resched_handler(int irq, void *dev_id)
 
 static struct irqaction xen_ipi_irqaction = {
 	.handler =	handle_IPI,
-	.flags =	IRQF_DISABLED,
 	.name =		"IPI"
 };
 
 static struct irqaction xen_resched_irqaction = {
 	.handler =	xen_resched_handler,
-	.flags =	IRQF_DISABLED,
 	.name =		"resched"
 };
 
 static struct irqaction xen_tlb_irqaction = {
 	.handler =	xen_dummy_handler,
-	.flags =	IRQF_DISABLED,
 	.name =		"tlb_flush"
 };
 #endif
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 09/57] m32r: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
                   ` (6 preceding siblings ...)
  2011-09-21  9:28   ` Yong Zhang
@ 2011-09-21  9:28 ` Yong Zhang
  2011-09-21  9:28 ` [PATCH 10/57] m68k: " Yong Zhang
                   ` (49 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Hirokazu Takata, Torben Hohn, linux-m32r,
	linux-m32r-ja

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 arch/m32r/kernel/time.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/arch/m32r/kernel/time.c b/arch/m32r/kernel/time.c
index 84dd040..b3b5b32 100644
--- a/arch/m32r/kernel/time.c
+++ b/arch/m32r/kernel/time.c
@@ -134,7 +134,6 @@ static irqreturn_t timer_interrupt(int irq, void *dev_id)
 
 static struct irqaction irq0 = {
 	.handler = timer_interrupt,
-	.flags = IRQF_DISABLED,
 	.name = "MFT2",
 };
 
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 10/57] m68k: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
@ 2011-09-21  9:28   ` Yong Zhang
  2011-09-21  9:28 ` [PATCH 02/57] alpha: irq: Remove IRQF_DISABLED Yong Zhang
                     ` (56 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Geert Uytterhoeven, Sam Creasey, Greg Ungerer,
	Lucas De Marchi, linux-m68k

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Acked-by: Greg Ungerer <gerg@uclinux.org>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
 arch/m68k/include/asm/floppy.h         |    2 +-
 arch/m68k/include/asm/irq.h            |    4 ++--
 arch/m68k/include/asm/sun3xflop.h      |    2 +-
 arch/m68k/platform/68328/timers.c      |    2 +-
 arch/m68k/platform/68360/config.c      |    2 +-
 arch/m68k/platform/coldfire/pit.c      |    2 +-
 arch/m68k/platform/coldfire/sltimers.c |    4 ++--
 arch/m68k/platform/coldfire/timers.c   |    4 ++--
 8 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/arch/m68k/include/asm/floppy.h b/arch/m68k/include/asm/floppy.h
index 697d503..47365b1 100644
--- a/arch/m68k/include/asm/floppy.h
+++ b/arch/m68k/include/asm/floppy.h
@@ -85,7 +85,7 @@ static int fd_request_irq(void)
 {
 	if(MACH_IS_Q40)
 		return request_irq(FLOPPY_IRQ, floppy_hardint,
-				   IRQF_DISABLED, "floppy", floppy_hardint);
+				   0, "floppy", floppy_hardint);
 	else if(MACH_IS_SUN3X)
 		return sun3xflop_request_irq();
 	return -ENXIO;
diff --git a/arch/m68k/include/asm/irq.h b/arch/m68k/include/asm/irq.h
index 69ed0d74..35de598 100644
--- a/arch/m68k/include/asm/irq.h
+++ b/arch/m68k/include/asm/irq.h
@@ -60,8 +60,8 @@ struct pt_regs;
 
 /*
  * various flags for request_irq() - the Amiga now uses the standard
- * mechanism like all other architectures - IRQF_DISABLED and
- * IRQF_SHARED are your friends.
+ * mechanism like all other architectures - IRQF_SHARED etc.
+ * are your friends.
  */
 #ifndef MACH_AMIGA_ONLY
 #define IRQ_FLG_LOCK	(0x0001)	/* handler is not replaceable	*/
diff --git a/arch/m68k/include/asm/sun3xflop.h b/arch/m68k/include/asm/sun3xflop.h
index 32c45f8..80f8f9f 100644
--- a/arch/m68k/include/asm/sun3xflop.h
+++ b/arch/m68k/include/asm/sun3xflop.h
@@ -208,7 +208,7 @@ static int sun3xflop_request_irq(void)
 	if(!once) {
 		once = 1;
 		error = request_irq(FLOPPY_IRQ, sun3xflop_hardint,
-				    IRQF_DISABLED, "floppy", NULL);
+				    0, "floppy", NULL);
 		return ((error == 0) ? 0 : -1);
 	} else return 0;
 }
diff --git a/arch/m68k/platform/68328/timers.c b/arch/m68k/platform/68328/timers.c
index 309f725..d135b26 100644
--- a/arch/m68k/platform/68328/timers.c
+++ b/arch/m68k/platform/68328/timers.c
@@ -69,7 +69,7 @@ static irqreturn_t hw_tick(int irq, void *dummy)
 
 static struct irqaction m68328_timer_irq = {
 	.name	 = "timer",
-	.flags	 = IRQF_DISABLED | IRQF_TIMER,
+	.flags	 = IRQF_TIMER,
 	.handler = hw_tick,
 };
 
diff --git a/arch/m68k/platform/68360/config.c b/arch/m68k/platform/68360/config.c
index 9dd5bca..c67f1c3 100644
--- a/arch/m68k/platform/68360/config.c
+++ b/arch/m68k/platform/68360/config.c
@@ -58,7 +58,7 @@ static irqreturn_t hw_tick(int irq, void *dummy)
 
 static struct irqaction m68360_timer_irq = {
 	.name	 = "timer",
-	.flags	 = IRQF_DISABLED | IRQF_TIMER,
+	.flags	 = IRQF_TIMER,
 	.handler = hw_tick,
 };
 
diff --git a/arch/m68k/platform/coldfire/pit.c b/arch/m68k/platform/coldfire/pit.c
index c2b9809..c69b71a 100644
--- a/arch/m68k/platform/coldfire/pit.c
+++ b/arch/m68k/platform/coldfire/pit.c
@@ -118,7 +118,7 @@ static irqreturn_t pit_tick(int irq, void *dummy)
 
 static struct irqaction pit_irq = {
 	.name	 = "timer",
-	.flags	 = IRQF_DISABLED | IRQF_TIMER,
+	.flags	 = IRQF_TIMER,
 	.handler = pit_tick,
 };
 
diff --git a/arch/m68k/platform/coldfire/sltimers.c b/arch/m68k/platform/coldfire/sltimers.c
index 6a85daf..2168dda 100644
--- a/arch/m68k/platform/coldfire/sltimers.c
+++ b/arch/m68k/platform/coldfire/sltimers.c
@@ -51,7 +51,7 @@ irqreturn_t mcfslt_profile_tick(int irq, void *dummy)
 
 static struct irqaction mcfslt_profile_irq = {
 	.name	 = "profile timer",
-	.flags	 = IRQF_DISABLED | IRQF_TIMER,
+	.flags	 = IRQF_TIMER,
 	.handler = mcfslt_profile_tick,
 };
 
@@ -91,7 +91,7 @@ static irqreturn_t mcfslt_tick(int irq, void *dummy)
 
 static struct irqaction mcfslt_timer_irq = {
 	.name	 = "timer",
-	.flags	 = IRQF_DISABLED | IRQF_TIMER,
+	.flags	 = IRQF_TIMER,
 	.handler = mcfslt_tick,
 };
 
diff --git a/arch/m68k/platform/coldfire/timers.c b/arch/m68k/platform/coldfire/timers.c
index 60242f6..687a38f 100644
--- a/arch/m68k/platform/coldfire/timers.c
+++ b/arch/m68k/platform/coldfire/timers.c
@@ -62,7 +62,7 @@ static irqreturn_t mcftmr_tick(int irq, void *dummy)
 
 static struct irqaction mcftmr_timer_irq = {
 	.name	 = "timer",
-	.flags	 = IRQF_DISABLED | IRQF_TIMER,
+	.flags	 = IRQF_TIMER,
 	.handler = mcftmr_tick,
 };
 
@@ -150,7 +150,7 @@ irqreturn_t coldfire_profile_tick(int irq, void *dummy)
 
 static struct irqaction coldfire_profile_irq = {
 	.name	 = "profile timer",
-	.flags	 = IRQF_DISABLED | IRQF_TIMER,
+	.flags	 = IRQF_TIMER,
 	.handler = coldfire_profile_tick,
 };
 
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 10/57] m68k: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
                   ` (7 preceding siblings ...)
  2011-09-21  9:28 ` [PATCH 09/57] m32r: " Yong Zhang
@ 2011-09-21  9:28 ` Yong Zhang
  2011-09-21  9:28   ` Yong Zhang
                   ` (48 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Geert Uytterhoeven, Sam Creasey, Greg Ungerer,
	Lucas De Marchi, linux-m68k

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Acked-by: Greg Ungerer <gerg@uclinux.org>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
 arch/m68k/include/asm/floppy.h         |    2 +-
 arch/m68k/include/asm/irq.h            |    4 ++--
 arch/m68k/include/asm/sun3xflop.h      |    2 +-
 arch/m68k/platform/68328/timers.c      |    2 +-
 arch/m68k/platform/68360/config.c      |    2 +-
 arch/m68k/platform/coldfire/pit.c      |    2 +-
 arch/m68k/platform/coldfire/sltimers.c |    4 ++--
 arch/m68k/platform/coldfire/timers.c   |    4 ++--
 8 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/arch/m68k/include/asm/floppy.h b/arch/m68k/include/asm/floppy.h
index 697d503..47365b1 100644
--- a/arch/m68k/include/asm/floppy.h
+++ b/arch/m68k/include/asm/floppy.h
@@ -85,7 +85,7 @@ static int fd_request_irq(void)
 {
 	if(MACH_IS_Q40)
 		return request_irq(FLOPPY_IRQ, floppy_hardint,
-				   IRQF_DISABLED, "floppy", floppy_hardint);
+				   0, "floppy", floppy_hardint);
 	else if(MACH_IS_SUN3X)
 		return sun3xflop_request_irq();
 	return -ENXIO;
diff --git a/arch/m68k/include/asm/irq.h b/arch/m68k/include/asm/irq.h
index 69ed0d74..35de598 100644
--- a/arch/m68k/include/asm/irq.h
+++ b/arch/m68k/include/asm/irq.h
@@ -60,8 +60,8 @@ struct pt_regs;
 
 /*
  * various flags for request_irq() - the Amiga now uses the standard
- * mechanism like all other architectures - IRQF_DISABLED and
- * IRQF_SHARED are your friends.
+ * mechanism like all other architectures - IRQF_SHARED etc.
+ * are your friends.
  */
 #ifndef MACH_AMIGA_ONLY
 #define IRQ_FLG_LOCK	(0x0001)	/* handler is not replaceable	*/
diff --git a/arch/m68k/include/asm/sun3xflop.h b/arch/m68k/include/asm/sun3xflop.h
index 32c45f8..80f8f9f 100644
--- a/arch/m68k/include/asm/sun3xflop.h
+++ b/arch/m68k/include/asm/sun3xflop.h
@@ -208,7 +208,7 @@ static int sun3xflop_request_irq(void)
 	if(!once) {
 		once = 1;
 		error = request_irq(FLOPPY_IRQ, sun3xflop_hardint,
-				    IRQF_DISABLED, "floppy", NULL);
+				    0, "floppy", NULL);
 		return ((error == 0) ? 0 : -1);
 	} else return 0;
 }
diff --git a/arch/m68k/platform/68328/timers.c b/arch/m68k/platform/68328/timers.c
index 309f725..d135b26 100644
--- a/arch/m68k/platform/68328/timers.c
+++ b/arch/m68k/platform/68328/timers.c
@@ -69,7 +69,7 @@ static irqreturn_t hw_tick(int irq, void *dummy)
 
 static struct irqaction m68328_timer_irq = {
 	.name	 = "timer",
-	.flags	 = IRQF_DISABLED | IRQF_TIMER,
+	.flags	 = IRQF_TIMER,
 	.handler = hw_tick,
 };
 
diff --git a/arch/m68k/platform/68360/config.c b/arch/m68k/platform/68360/config.c
index 9dd5bca..c67f1c3 100644
--- a/arch/m68k/platform/68360/config.c
+++ b/arch/m68k/platform/68360/config.c
@@ -58,7 +58,7 @@ static irqreturn_t hw_tick(int irq, void *dummy)
 
 static struct irqaction m68360_timer_irq = {
 	.name	 = "timer",
-	.flags	 = IRQF_DISABLED | IRQF_TIMER,
+	.flags	 = IRQF_TIMER,
 	.handler = hw_tick,
 };
 
diff --git a/arch/m68k/platform/coldfire/pit.c b/arch/m68k/platform/coldfire/pit.c
index c2b9809..c69b71a 100644
--- a/arch/m68k/platform/coldfire/pit.c
+++ b/arch/m68k/platform/coldfire/pit.c
@@ -118,7 +118,7 @@ static irqreturn_t pit_tick(int irq, void *dummy)
 
 static struct irqaction pit_irq = {
 	.name	 = "timer",
-	.flags	 = IRQF_DISABLED | IRQF_TIMER,
+	.flags	 = IRQF_TIMER,
 	.handler = pit_tick,
 };
 
diff --git a/arch/m68k/platform/coldfire/sltimers.c b/arch/m68k/platform/coldfire/sltimers.c
index 6a85daf..2168dda 100644
--- a/arch/m68k/platform/coldfire/sltimers.c
+++ b/arch/m68k/platform/coldfire/sltimers.c
@@ -51,7 +51,7 @@ irqreturn_t mcfslt_profile_tick(int irq, void *dummy)
 
 static struct irqaction mcfslt_profile_irq = {
 	.name	 = "profile timer",
-	.flags	 = IRQF_DISABLED | IRQF_TIMER,
+	.flags	 = IRQF_TIMER,
 	.handler = mcfslt_profile_tick,
 };
 
@@ -91,7 +91,7 @@ static irqreturn_t mcfslt_tick(int irq, void *dummy)
 
 static struct irqaction mcfslt_timer_irq = {
 	.name	 = "timer",
-	.flags	 = IRQF_DISABLED | IRQF_TIMER,
+	.flags	 = IRQF_TIMER,
 	.handler = mcfslt_tick,
 };
 
diff --git a/arch/m68k/platform/coldfire/timers.c b/arch/m68k/platform/coldfire/timers.c
index 60242f6..687a38f 100644
--- a/arch/m68k/platform/coldfire/timers.c
+++ b/arch/m68k/platform/coldfire/timers.c
@@ -62,7 +62,7 @@ static irqreturn_t mcftmr_tick(int irq, void *dummy)
 
 static struct irqaction mcftmr_timer_irq = {
 	.name	 = "timer",
-	.flags	 = IRQF_DISABLED | IRQF_TIMER,
+	.flags	 = IRQF_TIMER,
 	.handler = mcftmr_tick,
 };
 
@@ -150,7 +150,7 @@ irqreturn_t coldfire_profile_tick(int irq, void *dummy)
 
 static struct irqaction coldfire_profile_irq = {
 	.name	 = "profile timer",
-	.flags	 = IRQF_DISABLED | IRQF_TIMER,
+	.flags	 = IRQF_TIMER,
 	.handler = coldfire_profile_tick,
 };
 
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 10/57] m68k: irq: Remove IRQF_DISABLED
@ 2011-09-21  9:28   ` Yong Zhang
  0 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Geert Uytterhoeven, Sam Creasey, Greg Ungerer,
	Lucas De Marchi, linux-m68k

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Acked-by: Greg Ungerer <gerg@uclinux.org>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
 arch/m68k/include/asm/floppy.h         |    2 +-
 arch/m68k/include/asm/irq.h            |    4 ++--
 arch/m68k/include/asm/sun3xflop.h      |    2 +-
 arch/m68k/platform/68328/timers.c      |    2 +-
 arch/m68k/platform/68360/config.c      |    2 +-
 arch/m68k/platform/coldfire/pit.c      |    2 +-
 arch/m68k/platform/coldfire/sltimers.c |    4 ++--
 arch/m68k/platform/coldfire/timers.c   |    4 ++--
 8 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/arch/m68k/include/asm/floppy.h b/arch/m68k/include/asm/floppy.h
index 697d503..47365b1 100644
--- a/arch/m68k/include/asm/floppy.h
+++ b/arch/m68k/include/asm/floppy.h
@@ -85,7 +85,7 @@ static int fd_request_irq(void)
 {
 	if(MACH_IS_Q40)
 		return request_irq(FLOPPY_IRQ, floppy_hardint,
-				   IRQF_DISABLED, "floppy", floppy_hardint);
+				   0, "floppy", floppy_hardint);
 	else if(MACH_IS_SUN3X)
 		return sun3xflop_request_irq();
 	return -ENXIO;
diff --git a/arch/m68k/include/asm/irq.h b/arch/m68k/include/asm/irq.h
index 69ed0d74..35de598 100644
--- a/arch/m68k/include/asm/irq.h
+++ b/arch/m68k/include/asm/irq.h
@@ -60,8 +60,8 @@ struct pt_regs;
 
 /*
  * various flags for request_irq() - the Amiga now uses the standard
- * mechanism like all other architectures - IRQF_DISABLED and
- * IRQF_SHARED are your friends.
+ * mechanism like all other architectures - IRQF_SHARED etc.
+ * are your friends.
  */
 #ifndef MACH_AMIGA_ONLY
 #define IRQ_FLG_LOCK	(0x0001)	/* handler is not replaceable	*/
diff --git a/arch/m68k/include/asm/sun3xflop.h b/arch/m68k/include/asm/sun3xflop.h
index 32c45f8..80f8f9f 100644
--- a/arch/m68k/include/asm/sun3xflop.h
+++ b/arch/m68k/include/asm/sun3xflop.h
@@ -208,7 +208,7 @@ static int sun3xflop_request_irq(void)
 	if(!once) {
 		once = 1;
 		error = request_irq(FLOPPY_IRQ, sun3xflop_hardint,
-				    IRQF_DISABLED, "floppy", NULL);
+				    0, "floppy", NULL);
 		return ((error == 0) ? 0 : -1);
 	} else return 0;
 }
diff --git a/arch/m68k/platform/68328/timers.c b/arch/m68k/platform/68328/timers.c
index 309f725..d135b26 100644
--- a/arch/m68k/platform/68328/timers.c
+++ b/arch/m68k/platform/68328/timers.c
@@ -69,7 +69,7 @@ static irqreturn_t hw_tick(int irq, void *dummy)
 
 static struct irqaction m68328_timer_irq = {
 	.name	 = "timer",
-	.flags	 = IRQF_DISABLED | IRQF_TIMER,
+	.flags	 = IRQF_TIMER,
 	.handler = hw_tick,
 };
 
diff --git a/arch/m68k/platform/68360/config.c b/arch/m68k/platform/68360/config.c
index 9dd5bca..c67f1c3 100644
--- a/arch/m68k/platform/68360/config.c
+++ b/arch/m68k/platform/68360/config.c
@@ -58,7 +58,7 @@ static irqreturn_t hw_tick(int irq, void *dummy)
 
 static struct irqaction m68360_timer_irq = {
 	.name	 = "timer",
-	.flags	 = IRQF_DISABLED | IRQF_TIMER,
+	.flags	 = IRQF_TIMER,
 	.handler = hw_tick,
 };
 
diff --git a/arch/m68k/platform/coldfire/pit.c b/arch/m68k/platform/coldfire/pit.c
index c2b9809..c69b71a 100644
--- a/arch/m68k/platform/coldfire/pit.c
+++ b/arch/m68k/platform/coldfire/pit.c
@@ -118,7 +118,7 @@ static irqreturn_t pit_tick(int irq, void *dummy)
 
 static struct irqaction pit_irq = {
 	.name	 = "timer",
-	.flags	 = IRQF_DISABLED | IRQF_TIMER,
+	.flags	 = IRQF_TIMER,
 	.handler = pit_tick,
 };
 
diff --git a/arch/m68k/platform/coldfire/sltimers.c b/arch/m68k/platform/coldfire/sltimers.c
index 6a85daf..2168dda 100644
--- a/arch/m68k/platform/coldfire/sltimers.c
+++ b/arch/m68k/platform/coldfire/sltimers.c
@@ -51,7 +51,7 @@ irqreturn_t mcfslt_profile_tick(int irq, void *dummy)
 
 static struct irqaction mcfslt_profile_irq = {
 	.name	 = "profile timer",
-	.flags	 = IRQF_DISABLED | IRQF_TIMER,
+	.flags	 = IRQF_TIMER,
 	.handler = mcfslt_profile_tick,
 };
 
@@ -91,7 +91,7 @@ static irqreturn_t mcfslt_tick(int irq, void *dummy)
 
 static struct irqaction mcfslt_timer_irq = {
 	.name	 = "timer",
-	.flags	 = IRQF_DISABLED | IRQF_TIMER,
+	.flags	 = IRQF_TIMER,
 	.handler = mcfslt_tick,
 };
 
diff --git a/arch/m68k/platform/coldfire/timers.c b/arch/m68k/platform/coldfire/timers.c
index 60242f6..687a38f 100644
--- a/arch/m68k/platform/coldfire/timers.c
+++ b/arch/m68k/platform/coldfire/timers.c
@@ -62,7 +62,7 @@ static irqreturn_t mcftmr_tick(int irq, void *dummy)
 
 static struct irqaction mcftmr_timer_irq = {
 	.name	 = "timer",
-	.flags	 = IRQF_DISABLED | IRQF_TIMER,
+	.flags	 = IRQF_TIMER,
 	.handler = mcftmr_tick,
 };
 
@@ -150,7 +150,7 @@ irqreturn_t coldfire_profile_tick(int irq, void *dummy)
 
 static struct irqaction coldfire_profile_irq = {
 	.name	 = "profile timer",
-	.flags	 = IRQF_DISABLED | IRQF_TIMER,
+	.flags	 = IRQF_TIMER,
 	.handler = coldfire_profile_tick,
 };
 
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 11/57] microblaze: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
                   ` (9 preceding siblings ...)
  2011-09-21  9:28   ` Yong Zhang
@ 2011-09-21  9:28 ` Yong Zhang
  2011-09-21  9:28   ` Yong Zhang
                   ` (46 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Michal Simek, Joe Perches, John Stultz,
	microblaze-uclinux

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 arch/microblaze/kernel/timer.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/microblaze/kernel/timer.c b/arch/microblaze/kernel/timer.c
index e5550ce..bb86351 100644
--- a/arch/microblaze/kernel/timer.c
+++ b/arch/microblaze/kernel/timer.c
@@ -163,7 +163,7 @@ static irqreturn_t timer_interrupt(int irq, void *dev_id)
 
 static struct irqaction timer_irqaction = {
 	.handler = timer_interrupt,
-	.flags = IRQF_DISABLED | IRQF_TIMER,
+	.flags = IRQF_TIMER,
 	.name = "timer",
 	.dev_id = &clockevent_microblaze_timer,
 };
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 12/57] MIPS: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
@ 2011-09-21  9:28   ` Yong Zhang
  2011-09-21  9:28 ` [PATCH 02/57] alpha: irq: Remove IRQF_DISABLED Yong Zhang
                     ` (56 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Ralf Baechle, Peter Zijlstra, Paul Mackerras,
	Ingo Molnar, Arnaldo Carvalho de Melo, Manuel Lauss, John Stultz,
	Mark Brown, Liam Girdwood, David S. Miller, David Daney,
	Benjamin Herrenschmidt, Jesper Nilsson, Chris Metcalf,
	David Howells, Wu Zhangjin, Kevin Cernekee, Paul Gortmaker

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
---
 arch/mips/alchemy/common/dbdma.c                |    2 +-
 arch/mips/alchemy/common/time.c                 |    2 +-
 arch/mips/alchemy/devboards/db1200/platform.c   |    4 ++--
 arch/mips/cavium-octeon/smp.c                   |    2 +-
 arch/mips/dec/setup.c                           |    1 -
 arch/mips/include/asm/mach-generic/floppy.h     |    2 +-
 arch/mips/include/asm/mach-jazz/floppy.h        |    2 +-
 arch/mips/jazz/irq.c                            |    2 +-
 arch/mips/kernel/cevt-bcm1480.c                 |    2 +-
 arch/mips/kernel/cevt-ds1287.c                  |    2 +-
 arch/mips/kernel/cevt-gt641xx.c                 |    2 +-
 arch/mips/kernel/cevt-r4k.c                     |    2 +-
 arch/mips/kernel/cevt-sb1250.c                  |    2 +-
 arch/mips/kernel/cevt-txx9.c                    |    2 +-
 arch/mips/kernel/i8253.c                        |    2 +-
 arch/mips/kernel/perf_event.c                   |    2 +-
 arch/mips/kernel/rtlx.c                         |    1 -
 arch/mips/kernel/smtc.c                         |    2 +-
 arch/mips/lantiq/irq.c                          |    1 -
 arch/mips/loongson/common/cs5536/cs5536_mfgpt.c |    2 +-
 arch/mips/mti-malta/malta-int.c                 |    4 ++--
 arch/mips/pci/ops-pmcmsp.c                      |    2 +-
 arch/mips/pci/ops-tx3927.c                      |    2 +-
 arch/mips/pci/pci-tx4927.c                      |    2 +-
 arch/mips/pci/pci-tx4938.c                      |    2 +-
 arch/mips/pci/pci-tx4939.c                      |    2 +-
 arch/mips/pmc-sierra/msp71xx/msp_hwbutton.c     |    2 +-
 arch/mips/pmc-sierra/msp71xx/msp_smp.c          |    4 ++--
 arch/mips/pnx8550/common/int.c                  |    4 ++--
 arch/mips/pnx8550/common/time.c                 |    4 ++--
 arch/mips/sgi-ip22/ip22-int.c                   |   10 +++++-----
 arch/mips/sgi-ip27/ip27-irq.c                   |    2 +-
 arch/mips/sgi-ip27/ip27-timer.c                 |    2 +-
 arch/mips/sgi-ip32/ip32-irq.c                   |    2 --
 arch/mips/sni/irq.c                             |    2 +-
 arch/mips/sni/time.c                            |    2 +-
 arch/mips/txx9/generic/pci.c                    |    2 +-
 37 files changed, 42 insertions(+), 47 deletions(-)

diff --git a/arch/mips/alchemy/common/dbdma.c b/arch/mips/alchemy/common/dbdma.c
index 0e63ee4..d185b89 100644
--- a/arch/mips/alchemy/common/dbdma.c
+++ b/arch/mips/alchemy/common/dbdma.c
@@ -1019,7 +1019,7 @@ static int __init dbdma_setup(unsigned int irq, dbdev_tab_t *idtable)
 	dbdma_gptr->ddma_inten = 0xffff;
 	au_sync();
 
-	ret = request_irq(irq, dbdma_interrupt, IRQF_DISABLED, "dbdma",
+	ret = request_irq(irq, dbdma_interrupt, 0, "dbdma",
 			  (void *)dbdma_gptr);
 	if (ret)
 		printk(KERN_ERR "Cannot grab DBDMA interrupt!\n");
diff --git a/arch/mips/alchemy/common/time.c b/arch/mips/alchemy/common/time.c
index d5da6ad..146a5fa 100644
--- a/arch/mips/alchemy/common/time.c
+++ b/arch/mips/alchemy/common/time.c
@@ -92,7 +92,7 @@ static struct clock_event_device au1x_rtcmatch2_clockdev = {
 
 static struct irqaction au1x_rtcmatch2_irqaction = {
 	.handler	= au1x_rtcmatch2_irq,
-	.flags		= IRQF_DISABLED | IRQF_TIMER,
+	.flags		= IRQF_TIMER,
 	.name		= "timer",
 	.dev_id		= &au1x_rtcmatch2_clockdev,
 };
diff --git a/arch/mips/alchemy/devboards/db1200/platform.c b/arch/mips/alchemy/devboards/db1200/platform.c
index c61867c..78459c1 100644
--- a/arch/mips/alchemy/devboards/db1200/platform.c
+++ b/arch/mips/alchemy/devboards/db1200/platform.c
@@ -276,12 +276,12 @@ static int db1200_mmc_cd_setup(void *mmc_host, int en)
 
 	if (en) {
 		ret = request_irq(DB1200_SD0_INSERT_INT, db1200_mmc_cd,
-				  IRQF_DISABLED, "sd_insert", mmc_host);
+				  0, "sd_insert", mmc_host);
 		if (ret)
 			goto out;
 
 		ret = request_irq(DB1200_SD0_EJECT_INT, db1200_mmc_cd,
-				  IRQF_DISABLED, "sd_eject", mmc_host);
+				  0, "sd_eject", mmc_host);
 		if (ret) {
 			free_irq(DB1200_SD0_INSERT_INT, mmc_host);
 			goto out;
diff --git a/arch/mips/cavium-octeon/smp.c b/arch/mips/cavium-octeon/smp.c
index 8b60642..b6a0807 100644
--- a/arch/mips/cavium-octeon/smp.c
+++ b/arch/mips/cavium-octeon/smp.c
@@ -207,7 +207,7 @@ void octeon_prepare_cpus(unsigned int max_cpus)
 	 * the other bits alone.
 	 */
 	cvmx_write_csr(CVMX_CIU_MBOX_CLRX(cvmx_get_core_num()), 0xffff);
-	if (request_irq(OCTEON_IRQ_MBOX0, mailbox_interrupt, IRQF_DISABLED,
+	if (request_irq(OCTEON_IRQ_MBOX0, mailbox_interrupt, 0,
 			"SMP-IPI", mailbox_interrupt)) {
 		panic("Cannot request_irq(OCTEON_IRQ_MBOX0)\n");
 	}
diff --git a/arch/mips/dec/setup.c b/arch/mips/dec/setup.c
index f7b7ba6..b874accd 100644
--- a/arch/mips/dec/setup.c
+++ b/arch/mips/dec/setup.c
@@ -110,7 +110,6 @@ static struct irqaction fpuirq = {
 };
 
 static struct irqaction busirq = {
-	.flags = IRQF_DISABLED,
 	.name = "bus error",
 	.flags = IRQF_NO_THREAD,
 };
diff --git a/arch/mips/include/asm/mach-generic/floppy.h b/arch/mips/include/asm/mach-generic/floppy.h
index 001a8ce..a38f4d4 100644
--- a/arch/mips/include/asm/mach-generic/floppy.h
+++ b/arch/mips/include/asm/mach-generic/floppy.h
@@ -98,7 +98,7 @@ static inline void fd_disable_irq(void)
 static inline int fd_request_irq(void)
 {
 	return request_irq(FLOPPY_IRQ, floppy_interrupt,
-	                   IRQF_DISABLED, "floppy", NULL);
+	                   0, "floppy", NULL);
 }
 
 static inline void fd_free_irq(void)
diff --git a/arch/mips/include/asm/mach-jazz/floppy.h b/arch/mips/include/asm/mach-jazz/floppy.h
index 56e9ca6..88b5acb 100644
--- a/arch/mips/include/asm/mach-jazz/floppy.h
+++ b/arch/mips/include/asm/mach-jazz/floppy.h
@@ -90,7 +90,7 @@ static inline void fd_disable_irq(void)
 static inline int fd_request_irq(void)
 {
 	return request_irq(FLOPPY_IRQ, floppy_interrupt,
-	                   IRQF_DISABLED, "floppy", NULL);
+	                   0, "floppy", NULL);
 }
 
 static inline void fd_free_irq(void)
diff --git a/arch/mips/jazz/irq.c b/arch/mips/jazz/irq.c
index ca9bd20..0f4a147 100644
--- a/arch/mips/jazz/irq.c
+++ b/arch/mips/jazz/irq.c
@@ -133,7 +133,7 @@ static irqreturn_t r4030_timer_interrupt(int irq, void *dev_id)
 
 static struct irqaction r4030_timer_irqaction = {
 	.handler	= r4030_timer_interrupt,
-	.flags		= IRQF_DISABLED | IRQF_TIMER,
+	.flags		= IRQF_TIMER,
 	.name		= "R4030 timer",
 };
 
diff --git a/arch/mips/kernel/cevt-bcm1480.c b/arch/mips/kernel/cevt-bcm1480.c
index 36c3898..69bbfae 100644
--- a/arch/mips/kernel/cevt-bcm1480.c
+++ b/arch/mips/kernel/cevt-bcm1480.c
@@ -145,7 +145,7 @@ void __cpuinit sb1480_clockevent_init(void)
 	bcm1480_unmask_irq(cpu, irq);
 
 	action->handler	= sibyte_counter_handler;
-	action->flags	= IRQF_DISABLED | IRQF_PERCPU | IRQF_TIMER;
+	action->flags	= IRQF_PERCPU | IRQF_TIMER;
 	action->name	= name;
 	action->dev_id	= cd;
 
diff --git a/arch/mips/kernel/cevt-ds1287.c b/arch/mips/kernel/cevt-ds1287.c
index 939157e..ed648cb 100644
--- a/arch/mips/kernel/cevt-ds1287.c
+++ b/arch/mips/kernel/cevt-ds1287.c
@@ -108,7 +108,7 @@ static irqreturn_t ds1287_interrupt(int irq, void *dev_id)
 
 static struct irqaction ds1287_irqaction = {
 	.handler	= ds1287_interrupt,
-	.flags		= IRQF_DISABLED | IRQF_PERCPU | IRQF_TIMER,
+	.flags		= IRQF_PERCPU | IRQF_TIMER,
 	.name		= "ds1287",
 };
 
diff --git a/arch/mips/kernel/cevt-gt641xx.c b/arch/mips/kernel/cevt-gt641xx.c
index 339f363..831b475 100644
--- a/arch/mips/kernel/cevt-gt641xx.c
+++ b/arch/mips/kernel/cevt-gt641xx.c
@@ -114,7 +114,7 @@ static irqreturn_t gt641xx_timer0_interrupt(int irq, void *dev_id)
 
 static struct irqaction gt641xx_timer0_irqaction = {
 	.handler	= gt641xx_timer0_interrupt,
-	.flags		= IRQF_DISABLED | IRQF_PERCPU | IRQF_TIMER,
+	.flags		= IRQF_PERCPU | IRQF_TIMER,
 	.name		= "gt641xx_timer0",
 };
 
diff --git a/arch/mips/kernel/cevt-r4k.c b/arch/mips/kernel/cevt-r4k.c
index 98c5a97..4a3a1af 100644
--- a/arch/mips/kernel/cevt-r4k.c
+++ b/arch/mips/kernel/cevt-r4k.c
@@ -84,7 +84,7 @@ out:
 
 struct irqaction c0_compare_irqaction = {
 	.handler = c0_compare_interrupt,
-	.flags = IRQF_DISABLED | IRQF_PERCPU | IRQF_TIMER,
+	.flags = IRQF_PERCPU | IRQF_TIMER,
 	.name = "timer",
 };
 
diff --git a/arch/mips/kernel/cevt-sb1250.c b/arch/mips/kernel/cevt-sb1250.c
index 590c54f..e73439f 100644
--- a/arch/mips/kernel/cevt-sb1250.c
+++ b/arch/mips/kernel/cevt-sb1250.c
@@ -144,7 +144,7 @@ void __cpuinit sb1250_clockevent_init(void)
 	sb1250_unmask_irq(cpu, irq);
 
 	action->handler	= sibyte_counter_handler;
-	action->flags	= IRQF_DISABLED | IRQF_PERCPU | IRQF_TIMER;
+	action->flags	= IRQF_PERCPU | IRQF_TIMER;
 	action->name	= name;
 	action->dev_id	= cd;
 
diff --git a/arch/mips/kernel/cevt-txx9.c b/arch/mips/kernel/cevt-txx9.c
index f0ab92a..e5c30b1 100644
--- a/arch/mips/kernel/cevt-txx9.c
+++ b/arch/mips/kernel/cevt-txx9.c
@@ -146,7 +146,7 @@ static irqreturn_t txx9tmr_interrupt(int irq, void *dev_id)
 
 static struct irqaction txx9tmr_irq = {
 	.handler	= txx9tmr_interrupt,
-	.flags		= IRQF_DISABLED | IRQF_PERCPU | IRQF_TIMER,
+	.flags		= IRQF_PERCPU | IRQF_TIMER,
 	.name		= "txx9tmr",
 	.dev_id		= &txx9_clock_event_device,
 };
diff --git a/arch/mips/kernel/i8253.c b/arch/mips/kernel/i8253.c
index 7047bff..c5bc344 100644
--- a/arch/mips/kernel/i8253.c
+++ b/arch/mips/kernel/i8253.c
@@ -19,7 +19,7 @@ static irqreturn_t timer_interrupt(int irq, void *dev_id)
 
 static struct irqaction irq0  = {
 	.handler = timer_interrupt,
-	.flags = IRQF_DISABLED | IRQF_NOBALANCING | IRQF_TIMER,
+	.flags = IRQF_NOBALANCING | IRQF_TIMER,
 	.name = "timer"
 };
 
diff --git a/arch/mips/kernel/perf_event.c b/arch/mips/kernel/perf_event.c
index 0aee944..025324e 100644
--- a/arch/mips/kernel/perf_event.c
+++ b/arch/mips/kernel/perf_event.c
@@ -314,7 +314,7 @@ static int mipspmu_get_irq(void)
 	if (mipspmu->irq >= 0) {
 		/* Request my own irq handler. */
 		err = request_irq(mipspmu->irq, mipspmu->handle_irq,
-			IRQF_DISABLED | IRQF_NOBALANCING,
+			IRQF_NOBALANCING,
 			"mips_perf_pmu", NULL);
 		if (err) {
 			pr_warning("Unable to request IRQ%d for MIPS "
diff --git a/arch/mips/kernel/rtlx.c b/arch/mips/kernel/rtlx.c
index 933166f..a9d801d 100644
--- a/arch/mips/kernel/rtlx.c
+++ b/arch/mips/kernel/rtlx.c
@@ -473,7 +473,6 @@ static const struct file_operations rtlx_fops = {
 
 static struct irqaction rtlx_irq = {
 	.handler	= rtlx_interrupt,
-	.flags		= IRQF_DISABLED,
 	.name		= "RTLX",
 };
 
diff --git a/arch/mips/kernel/smtc.c b/arch/mips/kernel/smtc.c
index f0895e7..17c9412 100644
--- a/arch/mips/kernel/smtc.c
+++ b/arch/mips/kernel/smtc.c
@@ -1130,7 +1130,7 @@ static void ipi_irq_dispatch(void)
 
 static struct irqaction irq_ipi = {
 	.handler	= ipi_interrupt,
-	.flags		= IRQF_DISABLED | IRQF_PERCPU,
+	.flags		= IRQF_PERCPU,
 	.name		= "SMTC_IPI"
 };
 
diff --git a/arch/mips/lantiq/irq.c b/arch/mips/lantiq/irq.c
index f9737bb..3c56179 100644
--- a/arch/mips/lantiq/irq.c
+++ b/arch/mips/lantiq/irq.c
@@ -240,7 +240,6 @@ out:
 
 static struct irqaction cascade = {
 	.handler = no_action,
-	.flags = IRQF_DISABLED,
 	.name = "cascade",
 };
 
diff --git a/arch/mips/loongson/common/cs5536/cs5536_mfgpt.c b/arch/mips/loongson/common/cs5536/cs5536_mfgpt.c
index 0cb1b97..5d1f48f 100644
--- a/arch/mips/loongson/common/cs5536/cs5536_mfgpt.c
+++ b/arch/mips/loongson/common/cs5536/cs5536_mfgpt.c
@@ -111,7 +111,7 @@ static irqreturn_t timer_interrupt(int irq, void *dev_id)
 
 static struct irqaction irq5 = {
 	.handler = timer_interrupt,
-	.flags = IRQF_DISABLED | IRQF_NOBALANCING | IRQF_TIMER,
+	.flags = IRQF_NOBALANCING | IRQF_TIMER,
 	.name = "timer"
 };
 
diff --git a/arch/mips/mti-malta/malta-int.c b/arch/mips/mti-malta/malta-int.c
index d53ff91..a588b5c 100644
--- a/arch/mips/mti-malta/malta-int.c
+++ b/arch/mips/mti-malta/malta-int.c
@@ -322,13 +322,13 @@ static irqreturn_t ipi_call_interrupt(int irq, void *dev_id)
 
 static struct irqaction irq_resched = {
 	.handler	= ipi_resched_interrupt,
-	.flags		= IRQF_DISABLED|IRQF_PERCPU,
+	.flags		= IRQF_PERCPU,
 	.name		= "IPI_resched"
 };
 
 static struct irqaction irq_call = {
 	.handler	= ipi_call_interrupt,
-	.flags		= IRQF_DISABLED|IRQF_PERCPU,
+	.flags		= IRQF_PERCPU,
 	.name		= "IPI_call"
 };
 #endif /* CONFIG_MIPS_MT_SMP */
diff --git a/arch/mips/pci/ops-pmcmsp.c b/arch/mips/pci/ops-pmcmsp.c
index 8fbfbf2..389bf66 100644
--- a/arch/mips/pci/ops-pmcmsp.c
+++ b/arch/mips/pci/ops-pmcmsp.c
@@ -405,7 +405,7 @@ int msp_pcibios_config_access(unsigned char access_type,
 	if (pciirqflag == 0) {
 		ret = request_irq(MSP_INT_PCI,/* Hardcoded internal MSP7120 wiring */
 				bpci_interrupt,
-				IRQF_SHARED | IRQF_DISABLED,
+				IRQF_SHARED,
 				"PMC MSP PCI Host",
 				preg);
 		if (ret != 0)
diff --git a/arch/mips/pci/ops-tx3927.c b/arch/mips/pci/ops-tx3927.c
index 6a3bdb5..02d64f77 100644
--- a/arch/mips/pci/ops-tx3927.c
+++ b/arch/mips/pci/ops-tx3927.c
@@ -225,7 +225,7 @@ void __init tx3927_setup_pcierr_irq(void)
 {
 	if (request_irq(TXX9_IRQ_BASE + TX3927_IR_PCI,
 			tx3927_pcierr_interrupt,
-			IRQF_DISABLED, "PCI error",
+			0, "PCI error",
 			(void *)TX3927_PCIC_REG))
 		printk(KERN_WARNING "Failed to request irq for PCIERR\n");
 }
diff --git a/arch/mips/pci/pci-tx4927.c b/arch/mips/pci/pci-tx4927.c
index a580740..a032ae0 100644
--- a/arch/mips/pci/pci-tx4927.c
+++ b/arch/mips/pci/pci-tx4927.c
@@ -85,7 +85,7 @@ void __init tx4927_setup_pcierr_irq(void)
 {
 	if (request_irq(TXX9_IRQ_BASE + TX4927_IR_PCIERR,
 			tx4927_pcierr_interrupt,
-			IRQF_DISABLED, "PCI error",
+			0, "PCI error",
 			(void *)TX4927_PCIC_REG))
 		printk(KERN_WARNING "Failed to request irq for PCIERR\n");
 }
diff --git a/arch/mips/pci/pci-tx4938.c b/arch/mips/pci/pci-tx4938.c
index 20e45f3..141bba5 100644
--- a/arch/mips/pci/pci-tx4938.c
+++ b/arch/mips/pci/pci-tx4938.c
@@ -136,7 +136,7 @@ void __init tx4938_setup_pcierr_irq(void)
 {
 	if (request_irq(TXX9_IRQ_BASE + TX4938_IR_PCIERR,
 			tx4927_pcierr_interrupt,
-			IRQF_DISABLED, "PCI error",
+			0, "PCI error",
 			(void *)TX4927_PCIC_REG))
 		printk(KERN_WARNING "Failed to request irq for PCIERR\n");
 }
diff --git a/arch/mips/pci/pci-tx4939.c b/arch/mips/pci/pci-tx4939.c
index 9ef8406..c10fbf2 100644
--- a/arch/mips/pci/pci-tx4939.c
+++ b/arch/mips/pci/pci-tx4939.c
@@ -101,7 +101,7 @@ void __init tx4939_setup_pcierr_irq(void)
 {
 	if (request_irq(TXX9_IRQ_BASE + TX4939_IR_PCIERR,
 			tx4927_pcierr_interrupt,
-			IRQF_DISABLED, "PCI error",
+			0, "PCI error",
 			(void *)TX4939_PCIC_REG))
 		pr_warning("Failed to request irq for PCIERR\n");
 }
diff --git a/arch/mips/pmc-sierra/msp71xx/msp_hwbutton.c b/arch/mips/pmc-sierra/msp71xx/msp_hwbutton.c
index c841f08..bb57ed9 100644
--- a/arch/mips/pmc-sierra/msp71xx/msp_hwbutton.c
+++ b/arch/mips/pmc-sierra/msp71xx/msp_hwbutton.c
@@ -149,7 +149,7 @@ static int msp_hwbutton_register(struct hwbutton_interrupt *hirq)
 		CIC_EXT_SET_ACTIVE_HI(cic_ext, hirq->eirq);
 	*CIC_EXT_CFG_REG = cic_ext;
 
-	return request_irq(hirq->irq, hwbutton_handler, IRQF_DISABLED,
+	return request_irq(hirq->irq, hwbutton_handler, 0,
 			   hirq->name, hirq);
 }
 
diff --git a/arch/mips/pmc-sierra/msp71xx/msp_smp.c b/arch/mips/pmc-sierra/msp71xx/msp_smp.c
index bec1790..1017058 100644
--- a/arch/mips/pmc-sierra/msp71xx/msp_smp.c
+++ b/arch/mips/pmc-sierra/msp71xx/msp_smp.c
@@ -51,13 +51,13 @@ static irqreturn_t ipi_call_interrupt(int irq, void *dev_id)
 
 static struct irqaction irq_resched = {
 	.handler	= ipi_resched_interrupt,
-	.flags		= IRQF_DISABLED | IRQF_PERCPU,
+	.flags		= IRQF_PERCPU,
 	.name		= "IPI_resched"
 };
 
 static struct irqaction irq_call = {
 	.handler	= ipi_call_interrupt,
-	.flags		= IRQF_DISABLED | IRQF_PERCPU,
+	.flags		= IRQF_PERCPU,
 	.name		= "IPI_call"
 };
 
diff --git a/arch/mips/pnx8550/common/int.c b/arch/mips/pnx8550/common/int.c
index 1ebe22b..ec684b8 100644
--- a/arch/mips/pnx8550/common/int.c
+++ b/arch/mips/pnx8550/common/int.c
@@ -167,13 +167,13 @@ static struct irq_chip level_irq_type = {
 
 static struct irqaction gic_action = {
 	.handler =	no_action,
-	.flags =	IRQF_DISABLED | IRQF_NO_THREAD,
+	.flags =	IRQF_NO_THREAD,
 	.name =		"GIC",
 };
 
 static struct irqaction timer_action = {
 	.handler =	no_action,
-	.flags =	IRQF_DISABLED | IRQF_TIMER,
+	.flags =	IRQF_TIMER,
 	.name =		"Timer",
 };
 
diff --git a/arch/mips/pnx8550/common/time.c b/arch/mips/pnx8550/common/time.c
index 8836c62..831d6b3 100644
--- a/arch/mips/pnx8550/common/time.c
+++ b/arch/mips/pnx8550/common/time.c
@@ -59,7 +59,7 @@ static irqreturn_t pnx8xxx_timer_interrupt(int irq, void *dev_id)
 
 static struct irqaction pnx8xxx_timer_irq = {
 	.handler	= pnx8xxx_timer_interrupt,
-	.flags		= IRQF_DISABLED | IRQF_PERCPU | IRQF_TIMER,
+	.flags		= IRQF_PERCPU | IRQF_TIMER,
 	.name		= "pnx8xxx_timer",
 };
 
@@ -72,7 +72,7 @@ static irqreturn_t monotonic_interrupt(int irq, void *dev_id)
 
 static struct irqaction monotonic_irqaction = {
 	.handler = monotonic_interrupt,
-	.flags = IRQF_DISABLED | IRQF_TIMER,
+	.flags = IRQF_TIMER,
 	.name = "Monotonic timer",
 };
 
diff --git a/arch/mips/sgi-ip22/ip22-int.c b/arch/mips/sgi-ip22/ip22-int.c
index f72c336..3f2b763 100644
--- a/arch/mips/sgi-ip22/ip22-int.c
+++ b/arch/mips/sgi-ip22/ip22-int.c
@@ -155,32 +155,32 @@ static void __irq_entry indy_buserror_irq(void)
 
 static struct irqaction local0_cascade = {
 	.handler	= no_action,
-	.flags		= IRQF_DISABLED | IRQF_NO_THREAD,
+	.flags		= IRQF_NO_THREAD,
 	.name		= "local0 cascade",
 };
 
 static struct irqaction local1_cascade = {
 	.handler	= no_action,
-	.flags		= IRQF_DISABLED | IRQF_NO_THREAD,
+	.flags		= IRQF_NO_THREAD,
 	.name		= "local1 cascade",
 };
 
 static struct irqaction buserr = {
 	.handler	= no_action,
-	.flags		= IRQF_DISABLED | IRQF_NO_THREAD,
+	.flags		= IRQF_NO_THREAD,
 	.name		= "Bus Error",
 };
 
 static struct irqaction map0_cascade = {
 	.handler	= no_action,
-	.flags		= IRQF_DISABLED | IRQF_NO_THREAD,
+	.flags		= IRQF_NO_THREAD,
 	.name		= "mapable0 cascade",
 };
 
 #ifdef USE_LIO3_IRQ
 static struct irqaction map1_cascade = {
 	.handler	= no_action,
-	.flags		= IRQF_DISABLED | IRQF_NO_THREAD,
+	.flags		= IRQF_NO_THREAD,
 	.name		= "mapable1 cascade",
 };
 #define SGI_INTERRUPTS	SGINT_END
diff --git a/arch/mips/sgi-ip27/ip27-irq.c b/arch/mips/sgi-ip27/ip27-irq.c
index b18b04e..649b6e1 100644
--- a/arch/mips/sgi-ip27/ip27-irq.c
+++ b/arch/mips/sgi-ip27/ip27-irq.c
@@ -116,7 +116,7 @@ static int ms1bit(unsigned long x)
 }
 
 /*
- * This code is unnecessarily complex, because we do IRQF_DISABLED
+ * This code is unnecessarily complex, because we do
  * intr enabling. Basically, once we grab the set of intrs we need
  * to service, we must mask _all_ these interrupts; firstly, to make
  * sure the same intr does not intr again, causing recursion that
diff --git a/arch/mips/sgi-ip27/ip27-timer.c b/arch/mips/sgi-ip27/ip27-timer.c
index ef74f32..13cfeab 100644
--- a/arch/mips/sgi-ip27/ip27-timer.c
+++ b/arch/mips/sgi-ip27/ip27-timer.c
@@ -91,7 +91,7 @@ static irqreturn_t hub_rt_counter_handler(int irq, void *dev_id)
 
 struct irqaction hub_rt_irqaction = {
 	.handler	= hub_rt_counter_handler,
-	.flags		= IRQF_DISABLED | IRQF_PERCPU | IRQF_TIMER,
+	.flags		= IRQF_PERCPU | IRQF_TIMER,
 	.name		= "hub-rt",
 };
 
diff --git a/arch/mips/sgi-ip32/ip32-irq.c b/arch/mips/sgi-ip32/ip32-irq.c
index c65ea76..a092860 100644
--- a/arch/mips/sgi-ip32/ip32-irq.c
+++ b/arch/mips/sgi-ip32/ip32-irq.c
@@ -113,13 +113,11 @@ extern irqreturn_t crime_cpuerr_intr(int irq, void *dev_id);
 
 static struct irqaction memerr_irq = {
 	.handler = crime_memerr_intr,
-	.flags = IRQF_DISABLED,
 	.name = "CRIME memory error",
 };
 
 static struct irqaction cpuerr_irq = {
 	.handler = crime_cpuerr_intr,
-	.flags = IRQF_DISABLED,
 	.name = "CRIME CPU error",
 };
 
diff --git a/arch/mips/sni/irq.c b/arch/mips/sni/irq.c
index e8e72bb..5a4ec75 100644
--- a/arch/mips/sni/irq.c
+++ b/arch/mips/sni/irq.c
@@ -42,7 +42,7 @@ static irqreturn_t sni_isa_irq_handler(int dummy, void *p)
 struct irqaction sni_isa_irq = {
 	.handler = sni_isa_irq_handler,
 	.name = "ISA",
-	.flags = IRQF_SHARED | IRQF_DISABLED
+	.flags = IRQF_SHARED
 };
 
 /*
diff --git a/arch/mips/sni/time.c b/arch/mips/sni/time.c
index ec0be14..494c9e7 100644
--- a/arch/mips/sni/time.c
+++ b/arch/mips/sni/time.c
@@ -68,7 +68,7 @@ static irqreturn_t a20r_interrupt(int irq, void *dev_id)
 
 static struct irqaction a20r_irqaction = {
 	.handler	= a20r_interrupt,
-	.flags		= IRQF_DISABLED | IRQF_PERCPU | IRQF_TIMER,
+	.flags		= IRQF_PERCPU | IRQF_TIMER,
 	.name		= "a20r-timer",
 };
 
diff --git a/arch/mips/txx9/generic/pci.c b/arch/mips/txx9/generic/pci.c
index 85a87de..682efb0 100644
--- a/arch/mips/txx9/generic/pci.c
+++ b/arch/mips/txx9/generic/pci.c
@@ -262,7 +262,7 @@ txx9_i8259_irq_setup(int irq)
 	int err;
 
 	init_i8259_irqs();
-	err = request_irq(irq, &i8259_interrupt, IRQF_DISABLED|IRQF_SHARED,
+	err = request_irq(irq, &i8259_interrupt, IRQF_SHARED,
 			  "cascade(i8259)", (void *)(long)irq);
 	if (!err)
 		printk(KERN_INFO "PCI-ISA bridge PIC (irq %d)\n", irq);
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 12/57] MIPS: irq: Remove IRQF_DISABLED
@ 2011-09-21  9:28   ` Yong Zhang
  0 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Ralf Baechle, Peter Zijlstra, Paul Mackerras,
	Ingo Molnar, Arnaldo Carvalho de Melo, Manuel Lauss, John Stultz,
	Mark Brown, Liam Girdwood, David S. Miller, David Daney,
	Benjamin Herrenschmidt, Jesper Nilsson, Chris Metcalf,
	David Howells, Wu Zhangjin, Kevin Cernekee, Paul Gortmaker,
	Russell King, Andrew Morton, Mike Frysinger, Eric Dumazet,
	Martin Schwidefsky, John Crispin, Ralph Hempel, Lucas De Marchi,
	Anoop P A, Jiri Kosina, Justin P. Mattock, Joe Perches,
	Uwe Kleine-König, linux-mips

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
---
 arch/mips/alchemy/common/dbdma.c                |    2 +-
 arch/mips/alchemy/common/time.c                 |    2 +-
 arch/mips/alchemy/devboards/db1200/platform.c   |    4 ++--
 arch/mips/cavium-octeon/smp.c                   |    2 +-
 arch/mips/dec/setup.c                           |    1 -
 arch/mips/include/asm/mach-generic/floppy.h     |    2 +-
 arch/mips/include/asm/mach-jazz/floppy.h        |    2 +-
 arch/mips/jazz/irq.c                            |    2 +-
 arch/mips/kernel/cevt-bcm1480.c                 |    2 +-
 arch/mips/kernel/cevt-ds1287.c                  |    2 +-
 arch/mips/kernel/cevt-gt641xx.c                 |    2 +-
 arch/mips/kernel/cevt-r4k.c                     |    2 +-
 arch/mips/kernel/cevt-sb1250.c                  |    2 +-
 arch/mips/kernel/cevt-txx9.c                    |    2 +-
 arch/mips/kernel/i8253.c                        |    2 +-
 arch/mips/kernel/perf_event.c                   |    2 +-
 arch/mips/kernel/rtlx.c                         |    1 -
 arch/mips/kernel/smtc.c                         |    2 +-
 arch/mips/lantiq/irq.c                          |    1 -
 arch/mips/loongson/common/cs5536/cs5536_mfgpt.c |    2 +-
 arch/mips/mti-malta/malta-int.c                 |    4 ++--
 arch/mips/pci/ops-pmcmsp.c                      |    2 +-
 arch/mips/pci/ops-tx3927.c                      |    2 +-
 arch/mips/pci/pci-tx4927.c                      |    2 +-
 arch/mips/pci/pci-tx4938.c                      |    2 +-
 arch/mips/pci/pci-tx4939.c                      |    2 +-
 arch/mips/pmc-sierra/msp71xx/msp_hwbutton.c     |    2 +-
 arch/mips/pmc-sierra/msp71xx/msp_smp.c          |    4 ++--
 arch/mips/pnx8550/common/int.c                  |    4 ++--
 arch/mips/pnx8550/common/time.c                 |    4 ++--
 arch/mips/sgi-ip22/ip22-int.c                   |   10 +++++-----
 arch/mips/sgi-ip27/ip27-irq.c                   |    2 +-
 arch/mips/sgi-ip27/ip27-timer.c                 |    2 +-
 arch/mips/sgi-ip32/ip32-irq.c                   |    2 --
 arch/mips/sni/irq.c                             |    2 +-
 arch/mips/sni/time.c                            |    2 +-
 arch/mips/txx9/generic/pci.c                    |    2 +-
 37 files changed, 42 insertions(+), 47 deletions(-)

diff --git a/arch/mips/alchemy/common/dbdma.c b/arch/mips/alchemy/common/dbdma.c
index 0e63ee4..d185b89 100644
--- a/arch/mips/alchemy/common/dbdma.c
+++ b/arch/mips/alchemy/common/dbdma.c
@@ -1019,7 +1019,7 @@ static int __init dbdma_setup(unsigned int irq, dbdev_tab_t *idtable)
 	dbdma_gptr->ddma_inten = 0xffff;
 	au_sync();
 
-	ret = request_irq(irq, dbdma_interrupt, IRQF_DISABLED, "dbdma",
+	ret = request_irq(irq, dbdma_interrupt, 0, "dbdma",
 			  (void *)dbdma_gptr);
 	if (ret)
 		printk(KERN_ERR "Cannot grab DBDMA interrupt!\n");
diff --git a/arch/mips/alchemy/common/time.c b/arch/mips/alchemy/common/time.c
index d5da6ad..146a5fa 100644
--- a/arch/mips/alchemy/common/time.c
+++ b/arch/mips/alchemy/common/time.c
@@ -92,7 +92,7 @@ static struct clock_event_device au1x_rtcmatch2_clockdev = {
 
 static struct irqaction au1x_rtcmatch2_irqaction = {
 	.handler	= au1x_rtcmatch2_irq,
-	.flags		= IRQF_DISABLED | IRQF_TIMER,
+	.flags		= IRQF_TIMER,
 	.name		= "timer",
 	.dev_id		= &au1x_rtcmatch2_clockdev,
 };
diff --git a/arch/mips/alchemy/devboards/db1200/platform.c b/arch/mips/alchemy/devboards/db1200/platform.c
index c61867c..78459c1 100644
--- a/arch/mips/alchemy/devboards/db1200/platform.c
+++ b/arch/mips/alchemy/devboards/db1200/platform.c
@@ -276,12 +276,12 @@ static int db1200_mmc_cd_setup(void *mmc_host, int en)
 
 	if (en) {
 		ret = request_irq(DB1200_SD0_INSERT_INT, db1200_mmc_cd,
-				  IRQF_DISABLED, "sd_insert", mmc_host);
+				  0, "sd_insert", mmc_host);
 		if (ret)
 			goto out;
 
 		ret = request_irq(DB1200_SD0_EJECT_INT, db1200_mmc_cd,
-				  IRQF_DISABLED, "sd_eject", mmc_host);
+				  0, "sd_eject", mmc_host);
 		if (ret) {
 			free_irq(DB1200_SD0_INSERT_INT, mmc_host);
 			goto out;
diff --git a/arch/mips/cavium-octeon/smp.c b/arch/mips/cavium-octeon/smp.c
index 8b60642..b6a0807 100644
--- a/arch/mips/cavium-octeon/smp.c
+++ b/arch/mips/cavium-octeon/smp.c
@@ -207,7 +207,7 @@ void octeon_prepare_cpus(unsigned int max_cpus)
 	 * the other bits alone.
 	 */
 	cvmx_write_csr(CVMX_CIU_MBOX_CLRX(cvmx_get_core_num()), 0xffff);
-	if (request_irq(OCTEON_IRQ_MBOX0, mailbox_interrupt, IRQF_DISABLED,
+	if (request_irq(OCTEON_IRQ_MBOX0, mailbox_interrupt, 0,
 			"SMP-IPI", mailbox_interrupt)) {
 		panic("Cannot request_irq(OCTEON_IRQ_MBOX0)\n");
 	}
diff --git a/arch/mips/dec/setup.c b/arch/mips/dec/setup.c
index f7b7ba6..b874accd 100644
--- a/arch/mips/dec/setup.c
+++ b/arch/mips/dec/setup.c
@@ -110,7 +110,6 @@ static struct irqaction fpuirq = {
 };
 
 static struct irqaction busirq = {
-	.flags = IRQF_DISABLED,
 	.name = "bus error",
 	.flags = IRQF_NO_THREAD,
 };
diff --git a/arch/mips/include/asm/mach-generic/floppy.h b/arch/mips/include/asm/mach-generic/floppy.h
index 001a8ce..a38f4d4 100644
--- a/arch/mips/include/asm/mach-generic/floppy.h
+++ b/arch/mips/include/asm/mach-generic/floppy.h
@@ -98,7 +98,7 @@ static inline void fd_disable_irq(void)
 static inline int fd_request_irq(void)
 {
 	return request_irq(FLOPPY_IRQ, floppy_interrupt,
-	                   IRQF_DISABLED, "floppy", NULL);
+	                   0, "floppy", NULL);
 }
 
 static inline void fd_free_irq(void)
diff --git a/arch/mips/include/asm/mach-jazz/floppy.h b/arch/mips/include/asm/mach-jazz/floppy.h
index 56e9ca6..88b5acb 100644
--- a/arch/mips/include/asm/mach-jazz/floppy.h
+++ b/arch/mips/include/asm/mach-jazz/floppy.h
@@ -90,7 +90,7 @@ static inline void fd_disable_irq(void)
 static inline int fd_request_irq(void)
 {
 	return request_irq(FLOPPY_IRQ, floppy_interrupt,
-	                   IRQF_DISABLED, "floppy", NULL);
+	                   0, "floppy", NULL);
 }
 
 static inline void fd_free_irq(void)
diff --git a/arch/mips/jazz/irq.c b/arch/mips/jazz/irq.c
index ca9bd20..0f4a147 100644
--- a/arch/mips/jazz/irq.c
+++ b/arch/mips/jazz/irq.c
@@ -133,7 +133,7 @@ static irqreturn_t r4030_timer_interrupt(int irq, void *dev_id)
 
 static struct irqaction r4030_timer_irqaction = {
 	.handler	= r4030_timer_interrupt,
-	.flags		= IRQF_DISABLED | IRQF_TIMER,
+	.flags		= IRQF_TIMER,
 	.name		= "R4030 timer",
 };
 
diff --git a/arch/mips/kernel/cevt-bcm1480.c b/arch/mips/kernel/cevt-bcm1480.c
index 36c3898..69bbfae 100644
--- a/arch/mips/kernel/cevt-bcm1480.c
+++ b/arch/mips/kernel/cevt-bcm1480.c
@@ -145,7 +145,7 @@ void __cpuinit sb1480_clockevent_init(void)
 	bcm1480_unmask_irq(cpu, irq);
 
 	action->handler	= sibyte_counter_handler;
-	action->flags	= IRQF_DISABLED | IRQF_PERCPU | IRQF_TIMER;
+	action->flags	= IRQF_PERCPU | IRQF_TIMER;
 	action->name	= name;
 	action->dev_id	= cd;
 
diff --git a/arch/mips/kernel/cevt-ds1287.c b/arch/mips/kernel/cevt-ds1287.c
index 939157e..ed648cb 100644
--- a/arch/mips/kernel/cevt-ds1287.c
+++ b/arch/mips/kernel/cevt-ds1287.c
@@ -108,7 +108,7 @@ static irqreturn_t ds1287_interrupt(int irq, void *dev_id)
 
 static struct irqaction ds1287_irqaction = {
 	.handler	= ds1287_interrupt,
-	.flags		= IRQF_DISABLED | IRQF_PERCPU | IRQF_TIMER,
+	.flags		= IRQF_PERCPU | IRQF_TIMER,
 	.name		= "ds1287",
 };
 
diff --git a/arch/mips/kernel/cevt-gt641xx.c b/arch/mips/kernel/cevt-gt641xx.c
index 339f363..831b475 100644
--- a/arch/mips/kernel/cevt-gt641xx.c
+++ b/arch/mips/kernel/cevt-gt641xx.c
@@ -114,7 +114,7 @@ static irqreturn_t gt641xx_timer0_interrupt(int irq, void *dev_id)
 
 static struct irqaction gt641xx_timer0_irqaction = {
 	.handler	= gt641xx_timer0_interrupt,
-	.flags		= IRQF_DISABLED | IRQF_PERCPU | IRQF_TIMER,
+	.flags		= IRQF_PERCPU | IRQF_TIMER,
 	.name		= "gt641xx_timer0",
 };
 
diff --git a/arch/mips/kernel/cevt-r4k.c b/arch/mips/kernel/cevt-r4k.c
index 98c5a97..4a3a1af 100644
--- a/arch/mips/kernel/cevt-r4k.c
+++ b/arch/mips/kernel/cevt-r4k.c
@@ -84,7 +84,7 @@ out:
 
 struct irqaction c0_compare_irqaction = {
 	.handler = c0_compare_interrupt,
-	.flags = IRQF_DISABLED | IRQF_PERCPU | IRQF_TIMER,
+	.flags = IRQF_PERCPU | IRQF_TIMER,
 	.name = "timer",
 };
 
diff --git a/arch/mips/kernel/cevt-sb1250.c b/arch/mips/kernel/cevt-sb1250.c
index 590c54f..e73439f 100644
--- a/arch/mips/kernel/cevt-sb1250.c
+++ b/arch/mips/kernel/cevt-sb1250.c
@@ -144,7 +144,7 @@ void __cpuinit sb1250_clockevent_init(void)
 	sb1250_unmask_irq(cpu, irq);
 
 	action->handler	= sibyte_counter_handler;
-	action->flags	= IRQF_DISABLED | IRQF_PERCPU | IRQF_TIMER;
+	action->flags	= IRQF_PERCPU | IRQF_TIMER;
 	action->name	= name;
 	action->dev_id	= cd;
 
diff --git a/arch/mips/kernel/cevt-txx9.c b/arch/mips/kernel/cevt-txx9.c
index f0ab92a..e5c30b1 100644
--- a/arch/mips/kernel/cevt-txx9.c
+++ b/arch/mips/kernel/cevt-txx9.c
@@ -146,7 +146,7 @@ static irqreturn_t txx9tmr_interrupt(int irq, void *dev_id)
 
 static struct irqaction txx9tmr_irq = {
 	.handler	= txx9tmr_interrupt,
-	.flags		= IRQF_DISABLED | IRQF_PERCPU | IRQF_TIMER,
+	.flags		= IRQF_PERCPU | IRQF_TIMER,
 	.name		= "txx9tmr",
 	.dev_id		= &txx9_clock_event_device,
 };
diff --git a/arch/mips/kernel/i8253.c b/arch/mips/kernel/i8253.c
index 7047bff..c5bc344 100644
--- a/arch/mips/kernel/i8253.c
+++ b/arch/mips/kernel/i8253.c
@@ -19,7 +19,7 @@ static irqreturn_t timer_interrupt(int irq, void *dev_id)
 
 static struct irqaction irq0  = {
 	.handler = timer_interrupt,
-	.flags = IRQF_DISABLED | IRQF_NOBALANCING | IRQF_TIMER,
+	.flags = IRQF_NOBALANCING | IRQF_TIMER,
 	.name = "timer"
 };
 
diff --git a/arch/mips/kernel/perf_event.c b/arch/mips/kernel/perf_event.c
index 0aee944..025324e 100644
--- a/arch/mips/kernel/perf_event.c
+++ b/arch/mips/kernel/perf_event.c
@@ -314,7 +314,7 @@ static int mipspmu_get_irq(void)
 	if (mipspmu->irq >= 0) {
 		/* Request my own irq handler. */
 		err = request_irq(mipspmu->irq, mipspmu->handle_irq,
-			IRQF_DISABLED | IRQF_NOBALANCING,
+			IRQF_NOBALANCING,
 			"mips_perf_pmu", NULL);
 		if (err) {
 			pr_warning("Unable to request IRQ%d for MIPS "
diff --git a/arch/mips/kernel/rtlx.c b/arch/mips/kernel/rtlx.c
index 933166f..a9d801d 100644
--- a/arch/mips/kernel/rtlx.c
+++ b/arch/mips/kernel/rtlx.c
@@ -473,7 +473,6 @@ static const struct file_operations rtlx_fops = {
 
 static struct irqaction rtlx_irq = {
 	.handler	= rtlx_interrupt,
-	.flags		= IRQF_DISABLED,
 	.name		= "RTLX",
 };
 
diff --git a/arch/mips/kernel/smtc.c b/arch/mips/kernel/smtc.c
index f0895e7..17c9412 100644
--- a/arch/mips/kernel/smtc.c
+++ b/arch/mips/kernel/smtc.c
@@ -1130,7 +1130,7 @@ static void ipi_irq_dispatch(void)
 
 static struct irqaction irq_ipi = {
 	.handler	= ipi_interrupt,
-	.flags		= IRQF_DISABLED | IRQF_PERCPU,
+	.flags		= IRQF_PERCPU,
 	.name		= "SMTC_IPI"
 };
 
diff --git a/arch/mips/lantiq/irq.c b/arch/mips/lantiq/irq.c
index f9737bb..3c56179 100644
--- a/arch/mips/lantiq/irq.c
+++ b/arch/mips/lantiq/irq.c
@@ -240,7 +240,6 @@ out:
 
 static struct irqaction cascade = {
 	.handler = no_action,
-	.flags = IRQF_DISABLED,
 	.name = "cascade",
 };
 
diff --git a/arch/mips/loongson/common/cs5536/cs5536_mfgpt.c b/arch/mips/loongson/common/cs5536/cs5536_mfgpt.c
index 0cb1b97..5d1f48f 100644
--- a/arch/mips/loongson/common/cs5536/cs5536_mfgpt.c
+++ b/arch/mips/loongson/common/cs5536/cs5536_mfgpt.c
@@ -111,7 +111,7 @@ static irqreturn_t timer_interrupt(int irq, void *dev_id)
 
 static struct irqaction irq5 = {
 	.handler = timer_interrupt,
-	.flags = IRQF_DISABLED | IRQF_NOBALANCING | IRQF_TIMER,
+	.flags = IRQF_NOBALANCING | IRQF_TIMER,
 	.name = "timer"
 };
 
diff --git a/arch/mips/mti-malta/malta-int.c b/arch/mips/mti-malta/malta-int.c
index d53ff91..a588b5c 100644
--- a/arch/mips/mti-malta/malta-int.c
+++ b/arch/mips/mti-malta/malta-int.c
@@ -322,13 +322,13 @@ static irqreturn_t ipi_call_interrupt(int irq, void *dev_id)
 
 static struct irqaction irq_resched = {
 	.handler	= ipi_resched_interrupt,
-	.flags		= IRQF_DISABLED|IRQF_PERCPU,
+	.flags		= IRQF_PERCPU,
 	.name		= "IPI_resched"
 };
 
 static struct irqaction irq_call = {
 	.handler	= ipi_call_interrupt,
-	.flags		= IRQF_DISABLED|IRQF_PERCPU,
+	.flags		= IRQF_PERCPU,
 	.name		= "IPI_call"
 };
 #endif /* CONFIG_MIPS_MT_SMP */
diff --git a/arch/mips/pci/ops-pmcmsp.c b/arch/mips/pci/ops-pmcmsp.c
index 8fbfbf2..389bf66 100644
--- a/arch/mips/pci/ops-pmcmsp.c
+++ b/arch/mips/pci/ops-pmcmsp.c
@@ -405,7 +405,7 @@ int msp_pcibios_config_access(unsigned char access_type,
 	if (pciirqflag == 0) {
 		ret = request_irq(MSP_INT_PCI,/* Hardcoded internal MSP7120 wiring */
 				bpci_interrupt,
-				IRQF_SHARED | IRQF_DISABLED,
+				IRQF_SHARED,
 				"PMC MSP PCI Host",
 				preg);
 		if (ret != 0)
diff --git a/arch/mips/pci/ops-tx3927.c b/arch/mips/pci/ops-tx3927.c
index 6a3bdb5..02d64f77 100644
--- a/arch/mips/pci/ops-tx3927.c
+++ b/arch/mips/pci/ops-tx3927.c
@@ -225,7 +225,7 @@ void __init tx3927_setup_pcierr_irq(void)
 {
 	if (request_irq(TXX9_IRQ_BASE + TX3927_IR_PCI,
 			tx3927_pcierr_interrupt,
-			IRQF_DISABLED, "PCI error",
+			0, "PCI error",
 			(void *)TX3927_PCIC_REG))
 		printk(KERN_WARNING "Failed to request irq for PCIERR\n");
 }
diff --git a/arch/mips/pci/pci-tx4927.c b/arch/mips/pci/pci-tx4927.c
index a580740..a032ae0 100644
--- a/arch/mips/pci/pci-tx4927.c
+++ b/arch/mips/pci/pci-tx4927.c
@@ -85,7 +85,7 @@ void __init tx4927_setup_pcierr_irq(void)
 {
 	if (request_irq(TXX9_IRQ_BASE + TX4927_IR_PCIERR,
 			tx4927_pcierr_interrupt,
-			IRQF_DISABLED, "PCI error",
+			0, "PCI error",
 			(void *)TX4927_PCIC_REG))
 		printk(KERN_WARNING "Failed to request irq for PCIERR\n");
 }
diff --git a/arch/mips/pci/pci-tx4938.c b/arch/mips/pci/pci-tx4938.c
index 20e45f3..141bba5 100644
--- a/arch/mips/pci/pci-tx4938.c
+++ b/arch/mips/pci/pci-tx4938.c
@@ -136,7 +136,7 @@ void __init tx4938_setup_pcierr_irq(void)
 {
 	if (request_irq(TXX9_IRQ_BASE + TX4938_IR_PCIERR,
 			tx4927_pcierr_interrupt,
-			IRQF_DISABLED, "PCI error",
+			0, "PCI error",
 			(void *)TX4927_PCIC_REG))
 		printk(KERN_WARNING "Failed to request irq for PCIERR\n");
 }
diff --git a/arch/mips/pci/pci-tx4939.c b/arch/mips/pci/pci-tx4939.c
index 9ef8406..c10fbf2 100644
--- a/arch/mips/pci/pci-tx4939.c
+++ b/arch/mips/pci/pci-tx4939.c
@@ -101,7 +101,7 @@ void __init tx4939_setup_pcierr_irq(void)
 {
 	if (request_irq(TXX9_IRQ_BASE + TX4939_IR_PCIERR,
 			tx4927_pcierr_interrupt,
-			IRQF_DISABLED, "PCI error",
+			0, "PCI error",
 			(void *)TX4939_PCIC_REG))
 		pr_warning("Failed to request irq for PCIERR\n");
 }
diff --git a/arch/mips/pmc-sierra/msp71xx/msp_hwbutton.c b/arch/mips/pmc-sierra/msp71xx/msp_hwbutton.c
index c841f08..bb57ed9 100644
--- a/arch/mips/pmc-sierra/msp71xx/msp_hwbutton.c
+++ b/arch/mips/pmc-sierra/msp71xx/msp_hwbutton.c
@@ -149,7 +149,7 @@ static int msp_hwbutton_register(struct hwbutton_interrupt *hirq)
 		CIC_EXT_SET_ACTIVE_HI(cic_ext, hirq->eirq);
 	*CIC_EXT_CFG_REG = cic_ext;
 
-	return request_irq(hirq->irq, hwbutton_handler, IRQF_DISABLED,
+	return request_irq(hirq->irq, hwbutton_handler, 0,
 			   hirq->name, hirq);
 }
 
diff --git a/arch/mips/pmc-sierra/msp71xx/msp_smp.c b/arch/mips/pmc-sierra/msp71xx/msp_smp.c
index bec1790..1017058 100644
--- a/arch/mips/pmc-sierra/msp71xx/msp_smp.c
+++ b/arch/mips/pmc-sierra/msp71xx/msp_smp.c
@@ -51,13 +51,13 @@ static irqreturn_t ipi_call_interrupt(int irq, void *dev_id)
 
 static struct irqaction irq_resched = {
 	.handler	= ipi_resched_interrupt,
-	.flags		= IRQF_DISABLED | IRQF_PERCPU,
+	.flags		= IRQF_PERCPU,
 	.name		= "IPI_resched"
 };
 
 static struct irqaction irq_call = {
 	.handler	= ipi_call_interrupt,
-	.flags		= IRQF_DISABLED | IRQF_PERCPU,
+	.flags		= IRQF_PERCPU,
 	.name		= "IPI_call"
 };
 
diff --git a/arch/mips/pnx8550/common/int.c b/arch/mips/pnx8550/common/int.c
index 1ebe22b..ec684b8 100644
--- a/arch/mips/pnx8550/common/int.c
+++ b/arch/mips/pnx8550/common/int.c
@@ -167,13 +167,13 @@ static struct irq_chip level_irq_type = {
 
 static struct irqaction gic_action = {
 	.handler =	no_action,
-	.flags =	IRQF_DISABLED | IRQF_NO_THREAD,
+	.flags =	IRQF_NO_THREAD,
 	.name =		"GIC",
 };
 
 static struct irqaction timer_action = {
 	.handler =	no_action,
-	.flags =	IRQF_DISABLED | IRQF_TIMER,
+	.flags =	IRQF_TIMER,
 	.name =		"Timer",
 };
 
diff --git a/arch/mips/pnx8550/common/time.c b/arch/mips/pnx8550/common/time.c
index 8836c62..831d6b3 100644
--- a/arch/mips/pnx8550/common/time.c
+++ b/arch/mips/pnx8550/common/time.c
@@ -59,7 +59,7 @@ static irqreturn_t pnx8xxx_timer_interrupt(int irq, void *dev_id)
 
 static struct irqaction pnx8xxx_timer_irq = {
 	.handler	= pnx8xxx_timer_interrupt,
-	.flags		= IRQF_DISABLED | IRQF_PERCPU | IRQF_TIMER,
+	.flags		= IRQF_PERCPU | IRQF_TIMER,
 	.name		= "pnx8xxx_timer",
 };
 
@@ -72,7 +72,7 @@ static irqreturn_t monotonic_interrupt(int irq, void *dev_id)
 
 static struct irqaction monotonic_irqaction = {
 	.handler = monotonic_interrupt,
-	.flags = IRQF_DISABLED | IRQF_TIMER,
+	.flags = IRQF_TIMER,
 	.name = "Monotonic timer",
 };
 
diff --git a/arch/mips/sgi-ip22/ip22-int.c b/arch/mips/sgi-ip22/ip22-int.c
index f72c336..3f2b763 100644
--- a/arch/mips/sgi-ip22/ip22-int.c
+++ b/arch/mips/sgi-ip22/ip22-int.c
@@ -155,32 +155,32 @@ static void __irq_entry indy_buserror_irq(void)
 
 static struct irqaction local0_cascade = {
 	.handler	= no_action,
-	.flags		= IRQF_DISABLED | IRQF_NO_THREAD,
+	.flags		= IRQF_NO_THREAD,
 	.name		= "local0 cascade",
 };
 
 static struct irqaction local1_cascade = {
 	.handler	= no_action,
-	.flags		= IRQF_DISABLED | IRQF_NO_THREAD,
+	.flags		= IRQF_NO_THREAD,
 	.name		= "local1 cascade",
 };
 
 static struct irqaction buserr = {
 	.handler	= no_action,
-	.flags		= IRQF_DISABLED | IRQF_NO_THREAD,
+	.flags		= IRQF_NO_THREAD,
 	.name		= "Bus Error",
 };
 
 static struct irqaction map0_cascade = {
 	.handler	= no_action,
-	.flags		= IRQF_DISABLED | IRQF_NO_THREAD,
+	.flags		= IRQF_NO_THREAD,
 	.name		= "mapable0 cascade",
 };
 
 #ifdef USE_LIO3_IRQ
 static struct irqaction map1_cascade = {
 	.handler	= no_action,
-	.flags		= IRQF_DISABLED | IRQF_NO_THREAD,
+	.flags		= IRQF_NO_THREAD,
 	.name		= "mapable1 cascade",
 };
 #define SGI_INTERRUPTS	SGINT_END
diff --git a/arch/mips/sgi-ip27/ip27-irq.c b/arch/mips/sgi-ip27/ip27-irq.c
index b18b04e..649b6e1 100644
--- a/arch/mips/sgi-ip27/ip27-irq.c
+++ b/arch/mips/sgi-ip27/ip27-irq.c
@@ -116,7 +116,7 @@ static int ms1bit(unsigned long x)
 }
 
 /*
- * This code is unnecessarily complex, because we do IRQF_DISABLED
+ * This code is unnecessarily complex, because we do
  * intr enabling. Basically, once we grab the set of intrs we need
  * to service, we must mask _all_ these interrupts; firstly, to make
  * sure the same intr does not intr again, causing recursion that
diff --git a/arch/mips/sgi-ip27/ip27-timer.c b/arch/mips/sgi-ip27/ip27-timer.c
index ef74f32..13cfeab 100644
--- a/arch/mips/sgi-ip27/ip27-timer.c
+++ b/arch/mips/sgi-ip27/ip27-timer.c
@@ -91,7 +91,7 @@ static irqreturn_t hub_rt_counter_handler(int irq, void *dev_id)
 
 struct irqaction hub_rt_irqaction = {
 	.handler	= hub_rt_counter_handler,
-	.flags		= IRQF_DISABLED | IRQF_PERCPU | IRQF_TIMER,
+	.flags		= IRQF_PERCPU | IRQF_TIMER,
 	.name		= "hub-rt",
 };
 
diff --git a/arch/mips/sgi-ip32/ip32-irq.c b/arch/mips/sgi-ip32/ip32-irq.c
index c65ea76..a092860 100644
--- a/arch/mips/sgi-ip32/ip32-irq.c
+++ b/arch/mips/sgi-ip32/ip32-irq.c
@@ -113,13 +113,11 @@ extern irqreturn_t crime_cpuerr_intr(int irq, void *dev_id);
 
 static struct irqaction memerr_irq = {
 	.handler = crime_memerr_intr,
-	.flags = IRQF_DISABLED,
 	.name = "CRIME memory error",
 };
 
 static struct irqaction cpuerr_irq = {
 	.handler = crime_cpuerr_intr,
-	.flags = IRQF_DISABLED,
 	.name = "CRIME CPU error",
 };
 
diff --git a/arch/mips/sni/irq.c b/arch/mips/sni/irq.c
index e8e72bb..5a4ec75 100644
--- a/arch/mips/sni/irq.c
+++ b/arch/mips/sni/irq.c
@@ -42,7 +42,7 @@ static irqreturn_t sni_isa_irq_handler(int dummy, void *p)
 struct irqaction sni_isa_irq = {
 	.handler = sni_isa_irq_handler,
 	.name = "ISA",
-	.flags = IRQF_SHARED | IRQF_DISABLED
+	.flags = IRQF_SHARED
 };
 
 /*
diff --git a/arch/mips/sni/time.c b/arch/mips/sni/time.c
index ec0be14..494c9e7 100644
--- a/arch/mips/sni/time.c
+++ b/arch/mips/sni/time.c
@@ -68,7 +68,7 @@ static irqreturn_t a20r_interrupt(int irq, void *dev_id)
 
 static struct irqaction a20r_irqaction = {
 	.handler	= a20r_interrupt,
-	.flags		= IRQF_DISABLED | IRQF_PERCPU | IRQF_TIMER,
+	.flags		= IRQF_PERCPU | IRQF_TIMER,
 	.name		= "a20r-timer",
 };
 
diff --git a/arch/mips/txx9/generic/pci.c b/arch/mips/txx9/generic/pci.c
index 85a87de..682efb0 100644
--- a/arch/mips/txx9/generic/pci.c
+++ b/arch/mips/txx9/generic/pci.c
@@ -262,7 +262,7 @@ txx9_i8259_irq_setup(int irq)
 	int err;
 
 	init_i8259_irqs();
-	err = request_irq(irq, &i8259_interrupt, IRQF_DISABLED|IRQF_SHARED,
+	err = request_irq(irq, &i8259_interrupt, IRQF_SHARED,
 			  "cascade(i8259)", (void *)(long)irq);
 	if (!err)
 		printk(KERN_INFO "PCI-ISA bridge PIC (irq %d)\n", irq);
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 13/57] mn10300: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
                   ` (11 preceding siblings ...)
  2011-09-21  9:28   ` Yong Zhang
@ 2011-09-21  9:28 ` Yong Zhang
  2011-09-21  9:28 ` [PATCH 14/57] parisc: irq: remove IRQF_DISABLED Yong Zhang
                   ` (44 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, David Howells, Koichi Yasutake, Mark Salter,
	John Stultz, Kiyoshi Owada, Akira Takeuchi, Andrew Morton,
	Russell King, Martin Schwidefsky, linux-am33-list

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Acked-by: David Howells <dhowells@redhat.com>
---
 arch/mn10300/kernel/cevt-mn10300.c   |    2 +-
 arch/mn10300/kernel/mn10300-serial.c |    6 +++---
 arch/mn10300/kernel/smp.c            |    1 -
 arch/mn10300/unit-asb2364/irq-fpga.c |    2 +-
 4 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/arch/mn10300/kernel/cevt-mn10300.c b/arch/mn10300/kernel/cevt-mn10300.c
index 69cae02..2415b76 100644
--- a/arch/mn10300/kernel/cevt-mn10300.c
+++ b/arch/mn10300/kernel/cevt-mn10300.c
@@ -103,7 +103,7 @@ int __init init_clockevents(void)
 	cd->set_next_event	= next_event;
 
 	iact = &per_cpu(timer_irq, cpu);
-	iact->flags = IRQF_DISABLED | IRQF_SHARED | IRQF_TIMER;
+	iact->flags = IRQF_SHARED | IRQF_TIMER;
 	iact->handler = timer_interrupt;
 
 	clockevents_register_device(cd);
diff --git a/arch/mn10300/kernel/mn10300-serial.c b/arch/mn10300/kernel/mn10300-serial.c
index 94901c5..6644c0d 100644
--- a/arch/mn10300/kernel/mn10300-serial.c
+++ b/arch/mn10300/kernel/mn10300-serial.c
@@ -936,15 +936,15 @@ static int mn10300_serial_startup(struct uart_port *_port)
 	irq_set_chip(port->tm_irq, &mn10300_serial_pic);
 
 	if (request_irq(port->rx_irq, mn10300_serial_interrupt,
-			IRQF_DISABLED, port->rx_name, port) < 0)
+			0, port->rx_name, port) < 0)
 		goto error;
 
 	if (request_irq(port->tx_irq, mn10300_serial_interrupt,
-			IRQF_DISABLED, port->tx_name, port) < 0)
+			0, port->tx_name, port) < 0)
 		goto error2;
 
 	if (request_irq(port->tm_irq, mn10300_serial_interrupt,
-			IRQF_DISABLED, port->tm_name, port) < 0)
+			0, port->tm_name, port) < 0)
 		goto error3;
 	mn10300_serial_mask_ack(port->tm_irq);
 
diff --git a/arch/mn10300/kernel/smp.c b/arch/mn10300/kernel/smp.c
index 9242e9f..6159ad8 100644
--- a/arch/mn10300/kernel/smp.c
+++ b/arch/mn10300/kernel/smp.c
@@ -142,7 +142,6 @@ static struct irqaction call_function_ipi = {
 static irqreturn_t smp_ipi_timer_interrupt(int irq, void *dev_id);
 static struct irqaction local_timer_ipi = {
 	.handler	= smp_ipi_timer_interrupt,
-	.flags		= IRQF_DISABLED,
 	.name		= "smp local timer IPI"
 };
 #endif
diff --git a/arch/mn10300/unit-asb2364/irq-fpga.c b/arch/mn10300/unit-asb2364/irq-fpga.c
index e16c216..073e2cc 100644
--- a/arch/mn10300/unit-asb2364/irq-fpga.c
+++ b/arch/mn10300/unit-asb2364/irq-fpga.c
@@ -76,7 +76,7 @@ static irqreturn_t fpga_interrupt(int irq, void *_mask)
 static struct irqaction fpga_irq[]  = {
 	[0] = {
 		.handler	= fpga_interrupt,
-		.flags		= IRQF_DISABLED | IRQF_SHARED,
+		.flags		= IRQF_SHARED,
 		.name		= "fpga",
 	},
 };
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 14/57] parisc: irq: remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
                   ` (12 preceding siblings ...)
  2011-09-21  9:28 ` [PATCH 13/57] mn10300: " Yong Zhang
@ 2011-09-21  9:28 ` Yong Zhang
  2011-09-21  9:28   ` Yong Zhang
                   ` (43 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Kyle McMartin, Helge Deller,
	James E.J. Bottomley, James Bottomley, linux-parisc

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 arch/parisc/include/asm/floppy.h |    4 ++--
 arch/parisc/kernel/irq.c         |    4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/parisc/include/asm/floppy.h b/arch/parisc/include/asm/floppy.h
index 4ca69f5..f84ff12 100644
--- a/arch/parisc/include/asm/floppy.h
+++ b/arch/parisc/include/asm/floppy.h
@@ -157,10 +157,10 @@ static int fd_request_irq(void)
 {
 	if(can_use_virtual_dma)
 		return request_irq(FLOPPY_IRQ, floppy_hardint,
-				   IRQF_DISABLED, "floppy", NULL);
+				   0, "floppy", NULL);
 	else
 		return request_irq(FLOPPY_IRQ, floppy_interrupt,
-				   IRQF_DISABLED, "floppy", NULL);
+				   0, "floppy", NULL);
 }
 
 static unsigned long dma_mem_alloc(unsigned long size)
diff --git a/arch/parisc/kernel/irq.c b/arch/parisc/kernel/irq.c
index c0b1aff..420676b 100644
--- a/arch/parisc/kernel/irq.c
+++ b/arch/parisc/kernel/irq.c
@@ -379,14 +379,14 @@ void do_cpu_irq_mask(struct pt_regs *regs)
 static struct irqaction timer_action = {
 	.handler = timer_interrupt,
 	.name = "timer",
-	.flags = IRQF_DISABLED | IRQF_TIMER | IRQF_PERCPU | IRQF_IRQPOLL,
+	.flags = IRQF_TIMER | IRQF_PERCPU | IRQF_IRQPOLL,
 };
 
 #ifdef CONFIG_SMP
 static struct irqaction ipi_action = {
 	.handler = ipi_interrupt,
 	.name = "IPI",
-	.flags = IRQF_DISABLED | IRQF_PERCPU,
+	.flags = IRQF_PERCPU,
 };
 #endif
 
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 15/57] powerpc: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
@ 2011-09-21  9:28   ` Yong Zhang
  2011-09-21  9:28 ` [PATCH 02/57] alpha: irq: Remove IRQF_DISABLED Yong Zhang
                     ` (56 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Benjamin Herrenschmidt, Paul Mackerras,
	Arnd Bergmann, Geoff Levand, Milton Miller, Michael Ellerman,
	Kumar Gala, Scott Wood, Meador Inge, Grant Likely, linuxppc-dev,
	cbe-oss-dev

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
---
 arch/powerpc/include/asm/floppy.h              |    4 ++--
 arch/powerpc/include/asm/xics.h                |    4 ++--
 arch/powerpc/kernel/smp.c                      |    2 +-
 arch/powerpc/platforms/cell/beat.c             |    2 +-
 arch/powerpc/platforms/cell/celleb_scc_pciex.c |    2 +-
 arch/powerpc/platforms/cell/iommu.c            |    3 +--
 arch/powerpc/platforms/cell/pmu.c              |    2 +-
 arch/powerpc/platforms/cell/spu_base.c         |    9 +++------
 arch/powerpc/platforms/powermac/pic.c          |    1 -
 arch/powerpc/platforms/powermac/smp.c          |    4 ++--
 arch/powerpc/platforms/ps3/device-init.c       |    2 +-
 arch/powerpc/sysdev/mpic.c                     |    2 --
 arch/powerpc/sysdev/ppc4xx_soc.c               |    2 +-
 arch/powerpc/sysdev/xics/xics-common.c         |    5 ++---
 14 files changed, 18 insertions(+), 26 deletions(-)

diff --git a/arch/powerpc/include/asm/floppy.h b/arch/powerpc/include/asm/floppy.h
index 24bd34c..936a904 100644
--- a/arch/powerpc/include/asm/floppy.h
+++ b/arch/powerpc/include/asm/floppy.h
@@ -108,10 +108,10 @@ static int fd_request_irq(void)
 {
 	if (can_use_virtual_dma)
 		return request_irq(FLOPPY_IRQ, floppy_hardint,
-				   IRQF_DISABLED, "floppy", NULL);
+				   0, "floppy", NULL);
 	else
 		return request_irq(FLOPPY_IRQ, floppy_interrupt,
-				   IRQF_DISABLED, "floppy", NULL);
+				   0, "floppy", NULL);
 }
 
 static int vdma_dma_setup(char *addr, unsigned long size, int mode, int io)
diff --git a/arch/powerpc/include/asm/xics.h b/arch/powerpc/include/asm/xics.h
index b183a40..c78e58a 100644
--- a/arch/powerpc/include/asm/xics.h
+++ b/arch/powerpc/include/asm/xics.h
@@ -15,8 +15,8 @@
 #define	DEFAULT_PRIORITY	5
 
 /*
- * Mark IPIs as higher priority so we can take them inside interrupts that
- * arent marked IRQF_DISABLED
+ * Mark IPIs as higher priority so we can take them inside interrupts
+ * FIXME: still true now?
  */
 #define IPI_PRIORITY		4
 
diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c
index 37f4c98..e1195a2 100644
--- a/arch/powerpc/kernel/smp.c
+++ b/arch/powerpc/kernel/smp.c
@@ -170,7 +170,7 @@ int smp_request_message_ipi(int virq, int msg)
 		return 1;
 	}
 #endif
-	err = request_irq(virq, smp_ipi_action[msg], IRQF_DISABLED|IRQF_PERCPU,
+	err = request_irq(virq, smp_ipi_action[msg], IRQF_PERCPU,
 			  smp_ipi_name[msg], 0);
 	WARN(err < 0, "unable to request_irq %d for %s (rc %d)\n",
 		virq, smp_ipi_name[msg], err);
diff --git a/arch/powerpc/platforms/cell/beat.c b/arch/powerpc/platforms/cell/beat.c
index 232fc38..852592b 100644
--- a/arch/powerpc/platforms/cell/beat.c
+++ b/arch/powerpc/platforms/cell/beat.c
@@ -230,7 +230,7 @@ static int __init beat_register_event(void)
 		}
 		ev->virq = virq;
 
-		rc = request_irq(virq, ev->handler, IRQF_DISABLED,
+		rc = request_irq(virq, ev->handler, 0,
 				      ev->typecode, NULL);
 		if (rc != 0) {
 			printk(KERN_ERR "Beat: failed to request virtual IRQ"
diff --git a/arch/powerpc/platforms/cell/celleb_scc_pciex.c b/arch/powerpc/platforms/cell/celleb_scc_pciex.c
index ae790ac..14be2bd 100644
--- a/arch/powerpc/platforms/cell/celleb_scc_pciex.c
+++ b/arch/powerpc/platforms/cell/celleb_scc_pciex.c
@@ -514,7 +514,7 @@ static __init int celleb_setup_pciex(struct device_node *node,
 	virq = irq_create_of_mapping(oirq.controller, oirq.specifier,
 				     oirq.size);
 	if (request_irq(virq, pciex_handle_internal_irq,
-			IRQF_DISABLED, "pciex", (void *)phb)) {
+			0, "pciex", (void *)phb)) {
 		pr_err("PCIEXC:Failed to request irq\n");
 		goto error;
 	}
diff --git a/arch/powerpc/platforms/cell/iommu.c b/arch/powerpc/platforms/cell/iommu.c
index 26a0671..afdcd5b 100644
--- a/arch/powerpc/platforms/cell/iommu.c
+++ b/arch/powerpc/platforms/cell/iommu.c
@@ -412,8 +412,7 @@ static void cell_iommu_enable_hardware(struct cbe_iommu *iommu)
 			IIC_IRQ_IOEX_ATI | (iommu->nid << IIC_IRQ_NODE_SHIFT));
 	BUG_ON(virq == NO_IRQ);
 
-	ret = request_irq(virq, ioc_interrupt, IRQF_DISABLED,
-			iommu->name, iommu);
+	ret = request_irq(virq, ioc_interrupt, 0, iommu->name, iommu);
 	BUG_ON(ret);
 
 	/* set the IOC segment table origin register (and turn on the iommu) */
diff --git a/arch/powerpc/platforms/cell/pmu.c b/arch/powerpc/platforms/cell/pmu.c
index 1acf360..59c1a16 100644
--- a/arch/powerpc/platforms/cell/pmu.c
+++ b/arch/powerpc/platforms/cell/pmu.c
@@ -392,7 +392,7 @@ static int __init cbe_init_pm_irq(void)
 		}
 
 		rc = request_irq(irq, cbe_pm_irq,
-				 IRQF_DISABLED, "cbe-pmu-0", NULL);
+				 0, "cbe-pmu-0", NULL);
 		if (rc) {
 			printk("ERROR: Request for irq on node %d failed\n",
 			       node);
diff --git a/arch/powerpc/platforms/cell/spu_base.c b/arch/powerpc/platforms/cell/spu_base.c
index 3675da7..e94d3ec 100644
--- a/arch/powerpc/platforms/cell/spu_base.c
+++ b/arch/powerpc/platforms/cell/spu_base.c
@@ -442,8 +442,7 @@ static int spu_request_irqs(struct spu *spu)
 		snprintf(spu->irq_c0, sizeof (spu->irq_c0), "spe%02d.0",
 			 spu->number);
 		ret = request_irq(spu->irqs[0], spu_irq_class_0,
-				  IRQF_DISABLED,
-				  spu->irq_c0, spu);
+				  0, spu->irq_c0, spu);
 		if (ret)
 			goto bail0;
 	}
@@ -451,8 +450,7 @@ static int spu_request_irqs(struct spu *spu)
 		snprintf(spu->irq_c1, sizeof (spu->irq_c1), "spe%02d.1",
 			 spu->number);
 		ret = request_irq(spu->irqs[1], spu_irq_class_1,
-				  IRQF_DISABLED,
-				  spu->irq_c1, spu);
+				  0, spu->irq_c1, spu);
 		if (ret)
 			goto bail1;
 	}
@@ -460,8 +458,7 @@ static int spu_request_irqs(struct spu *spu)
 		snprintf(spu->irq_c2, sizeof (spu->irq_c2), "spe%02d.2",
 			 spu->number);
 		ret = request_irq(spu->irqs[2], spu_irq_class_2,
-				  IRQF_DISABLED,
-				  spu->irq_c2, spu);
+				  0, spu->irq_c2, spu);
 		if (ret)
 			goto bail2;
 	}
diff --git a/arch/powerpc/platforms/powermac/pic.c b/arch/powerpc/platforms/powermac/pic.c
index cb40e92..901bfbd 100644
--- a/arch/powerpc/platforms/powermac/pic.c
+++ b/arch/powerpc/platforms/powermac/pic.c
@@ -272,7 +272,6 @@ static struct irqaction xmon_action = {
 
 static struct irqaction gatwick_cascade_action = {
 	.handler	= gatwick_action,
-	.flags		= IRQF_DISABLED,
 	.name		= "cascade",
 };
 
diff --git a/arch/powerpc/platforms/powermac/smp.c b/arch/powerpc/platforms/powermac/smp.c
index 9a521dc..9b6a820 100644
--- a/arch/powerpc/platforms/powermac/smp.c
+++ b/arch/powerpc/platforms/powermac/smp.c
@@ -200,7 +200,7 @@ static int psurge_secondary_ipi_init(void)
 
 	if (psurge_secondary_virq)
 		rc = request_irq(psurge_secondary_virq, psurge_ipi_intr,
-			IRQF_DISABLED|IRQF_PERCPU, "IPI", NULL);
+			IRQF_PERCPU, "IPI", NULL);
 
 	if (rc)
 		pr_err("Failed to setup secondary cpu IPI\n");
@@ -408,7 +408,7 @@ static int __init smp_psurge_kick_cpu(int nr)
 
 static struct irqaction psurge_irqaction = {
 	.handler = psurge_ipi_intr,
-	.flags = IRQF_DISABLED|IRQF_PERCPU,
+	.flags = IRQF_PERCPU,
 	.name = "primary IPI",
 };
 
diff --git a/arch/powerpc/platforms/ps3/device-init.c b/arch/powerpc/platforms/ps3/device-init.c
index 6c4b583..3f175e8 100644
--- a/arch/powerpc/platforms/ps3/device-init.c
+++ b/arch/powerpc/platforms/ps3/device-init.c
@@ -825,7 +825,7 @@ static int ps3_probe_thread(void *data)
 
 	spin_lock_init(&dev.lock);
 
-	res = request_irq(irq, ps3_notification_interrupt, IRQF_DISABLED,
+	res = request_irq(irq, ps3_notification_interrupt, 0,
 			  "ps3_notification", &dev);
 	if (res) {
 		pr_err("%s:%u: request_irq failed %d\n", __func__, __LINE__,
diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c
index d5d3ff3..5216d3e 100644
--- a/arch/powerpc/sysdev/mpic.c
+++ b/arch/powerpc/sysdev/mpic.c
@@ -800,8 +800,6 @@ static void mpic_end_ipi(struct irq_data *d)
 	 * IPIs are marked IRQ_PER_CPU. This has the side effect of
 	 * preventing the IRQ_PENDING/IRQ_INPROGRESS logic from
 	 * applying to them. We EOI them late to avoid re-entering.
-	 * We mark IPI's with IRQF_DISABLED as they must run with
-	 * irqs disabled.
 	 */
 	mpic_eoi(mpic);
 }
diff --git a/arch/powerpc/sysdev/ppc4xx_soc.c b/arch/powerpc/sysdev/ppc4xx_soc.c
index d3d6ce3..0debcc3 100644
--- a/arch/powerpc/sysdev/ppc4xx_soc.c
+++ b/arch/powerpc/sysdev/ppc4xx_soc.c
@@ -115,7 +115,7 @@ static int __init ppc4xx_l2c_probe(void)
 	}
 
 	/* Install error handler */
-	if (request_irq(irq, l2c_error_handler, IRQF_DISABLED, "L2C", 0) < 0) {
+	if (request_irq(irq, l2c_error_handler, 0, "L2C", 0) < 0) {
 		printk(KERN_ERR "Cannot install L2C error handler"
 		       ", cache is not enabled\n");
 		of_node_put(np);
diff --git a/arch/powerpc/sysdev/xics/xics-common.c b/arch/powerpc/sysdev/xics/xics-common.c
index 445c5a0..ae5cdc3 100644
--- a/arch/powerpc/sysdev/xics/xics-common.c
+++ b/arch/powerpc/sysdev/xics/xics-common.c
@@ -134,11 +134,10 @@ static void xics_request_ipi(void)
 	BUG_ON(ipi == NO_IRQ);
 
 	/*
-	 * IPIs are marked IRQF_DISABLED as they must run with irqs
-	 * disabled, and PERCPU.  The handler was set in map.
+	 * IPIs are marked IRQF_PERCPU. The handler was set in map.
 	 */
 	BUG_ON(request_irq(ipi, icp_ops->ipi_action,
-			   IRQF_DISABLED|IRQF_PERCPU, "IPI", NULL));
+			   IRQF_PERCPU, "IPI", NULL));
 }
 
 int __init xics_smp_probe(void)
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 15/57] powerpc: irq: Remove IRQF_DISABLED
@ 2011-09-21  9:28   ` Yong Zhang
  0 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: Meador Inge, cbe-oss-dev, Arnd Bergmann, Geoff Levand,
	Milton Miller, Michael Ellerman, yong.zhang0, Paul Mackerras,
	Scott Wood, tglx, linuxppc-dev

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
---
 arch/powerpc/include/asm/floppy.h              |    4 ++--
 arch/powerpc/include/asm/xics.h                |    4 ++--
 arch/powerpc/kernel/smp.c                      |    2 +-
 arch/powerpc/platforms/cell/beat.c             |    2 +-
 arch/powerpc/platforms/cell/celleb_scc_pciex.c |    2 +-
 arch/powerpc/platforms/cell/iommu.c            |    3 +--
 arch/powerpc/platforms/cell/pmu.c              |    2 +-
 arch/powerpc/platforms/cell/spu_base.c         |    9 +++------
 arch/powerpc/platforms/powermac/pic.c          |    1 -
 arch/powerpc/platforms/powermac/smp.c          |    4 ++--
 arch/powerpc/platforms/ps3/device-init.c       |    2 +-
 arch/powerpc/sysdev/mpic.c                     |    2 --
 arch/powerpc/sysdev/ppc4xx_soc.c               |    2 +-
 arch/powerpc/sysdev/xics/xics-common.c         |    5 ++---
 14 files changed, 18 insertions(+), 26 deletions(-)

diff --git a/arch/powerpc/include/asm/floppy.h b/arch/powerpc/include/asm/floppy.h
index 24bd34c..936a904 100644
--- a/arch/powerpc/include/asm/floppy.h
+++ b/arch/powerpc/include/asm/floppy.h
@@ -108,10 +108,10 @@ static int fd_request_irq(void)
 {
 	if (can_use_virtual_dma)
 		return request_irq(FLOPPY_IRQ, floppy_hardint,
-				   IRQF_DISABLED, "floppy", NULL);
+				   0, "floppy", NULL);
 	else
 		return request_irq(FLOPPY_IRQ, floppy_interrupt,
-				   IRQF_DISABLED, "floppy", NULL);
+				   0, "floppy", NULL);
 }
 
 static int vdma_dma_setup(char *addr, unsigned long size, int mode, int io)
diff --git a/arch/powerpc/include/asm/xics.h b/arch/powerpc/include/asm/xics.h
index b183a40..c78e58a 100644
--- a/arch/powerpc/include/asm/xics.h
+++ b/arch/powerpc/include/asm/xics.h
@@ -15,8 +15,8 @@
 #define	DEFAULT_PRIORITY	5
 
 /*
- * Mark IPIs as higher priority so we can take them inside interrupts that
- * arent marked IRQF_DISABLED
+ * Mark IPIs as higher priority so we can take them inside interrupts
+ * FIXME: still true now?
  */
 #define IPI_PRIORITY		4
 
diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c
index 37f4c98..e1195a2 100644
--- a/arch/powerpc/kernel/smp.c
+++ b/arch/powerpc/kernel/smp.c
@@ -170,7 +170,7 @@ int smp_request_message_ipi(int virq, int msg)
 		return 1;
 	}
 #endif
-	err = request_irq(virq, smp_ipi_action[msg], IRQF_DISABLED|IRQF_PERCPU,
+	err = request_irq(virq, smp_ipi_action[msg], IRQF_PERCPU,
 			  smp_ipi_name[msg], 0);
 	WARN(err < 0, "unable to request_irq %d for %s (rc %d)\n",
 		virq, smp_ipi_name[msg], err);
diff --git a/arch/powerpc/platforms/cell/beat.c b/arch/powerpc/platforms/cell/beat.c
index 232fc38..852592b 100644
--- a/arch/powerpc/platforms/cell/beat.c
+++ b/arch/powerpc/platforms/cell/beat.c
@@ -230,7 +230,7 @@ static int __init beat_register_event(void)
 		}
 		ev->virq = virq;
 
-		rc = request_irq(virq, ev->handler, IRQF_DISABLED,
+		rc = request_irq(virq, ev->handler, 0,
 				      ev->typecode, NULL);
 		if (rc != 0) {
 			printk(KERN_ERR "Beat: failed to request virtual IRQ"
diff --git a/arch/powerpc/platforms/cell/celleb_scc_pciex.c b/arch/powerpc/platforms/cell/celleb_scc_pciex.c
index ae790ac..14be2bd 100644
--- a/arch/powerpc/platforms/cell/celleb_scc_pciex.c
+++ b/arch/powerpc/platforms/cell/celleb_scc_pciex.c
@@ -514,7 +514,7 @@ static __init int celleb_setup_pciex(struct device_node *node,
 	virq = irq_create_of_mapping(oirq.controller, oirq.specifier,
 				     oirq.size);
 	if (request_irq(virq, pciex_handle_internal_irq,
-			IRQF_DISABLED, "pciex", (void *)phb)) {
+			0, "pciex", (void *)phb)) {
 		pr_err("PCIEXC:Failed to request irq\n");
 		goto error;
 	}
diff --git a/arch/powerpc/platforms/cell/iommu.c b/arch/powerpc/platforms/cell/iommu.c
index 26a0671..afdcd5b 100644
--- a/arch/powerpc/platforms/cell/iommu.c
+++ b/arch/powerpc/platforms/cell/iommu.c
@@ -412,8 +412,7 @@ static void cell_iommu_enable_hardware(struct cbe_iommu *iommu)
 			IIC_IRQ_IOEX_ATI | (iommu->nid << IIC_IRQ_NODE_SHIFT));
 	BUG_ON(virq == NO_IRQ);
 
-	ret = request_irq(virq, ioc_interrupt, IRQF_DISABLED,
-			iommu->name, iommu);
+	ret = request_irq(virq, ioc_interrupt, 0, iommu->name, iommu);
 	BUG_ON(ret);
 
 	/* set the IOC segment table origin register (and turn on the iommu) */
diff --git a/arch/powerpc/platforms/cell/pmu.c b/arch/powerpc/platforms/cell/pmu.c
index 1acf360..59c1a16 100644
--- a/arch/powerpc/platforms/cell/pmu.c
+++ b/arch/powerpc/platforms/cell/pmu.c
@@ -392,7 +392,7 @@ static int __init cbe_init_pm_irq(void)
 		}
 
 		rc = request_irq(irq, cbe_pm_irq,
-				 IRQF_DISABLED, "cbe-pmu-0", NULL);
+				 0, "cbe-pmu-0", NULL);
 		if (rc) {
 			printk("ERROR: Request for irq on node %d failed\n",
 			       node);
diff --git a/arch/powerpc/platforms/cell/spu_base.c b/arch/powerpc/platforms/cell/spu_base.c
index 3675da7..e94d3ec 100644
--- a/arch/powerpc/platforms/cell/spu_base.c
+++ b/arch/powerpc/platforms/cell/spu_base.c
@@ -442,8 +442,7 @@ static int spu_request_irqs(struct spu *spu)
 		snprintf(spu->irq_c0, sizeof (spu->irq_c0), "spe%02d.0",
 			 spu->number);
 		ret = request_irq(spu->irqs[0], spu_irq_class_0,
-				  IRQF_DISABLED,
-				  spu->irq_c0, spu);
+				  0, spu->irq_c0, spu);
 		if (ret)
 			goto bail0;
 	}
@@ -451,8 +450,7 @@ static int spu_request_irqs(struct spu *spu)
 		snprintf(spu->irq_c1, sizeof (spu->irq_c1), "spe%02d.1",
 			 spu->number);
 		ret = request_irq(spu->irqs[1], spu_irq_class_1,
-				  IRQF_DISABLED,
-				  spu->irq_c1, spu);
+				  0, spu->irq_c1, spu);
 		if (ret)
 			goto bail1;
 	}
@@ -460,8 +458,7 @@ static int spu_request_irqs(struct spu *spu)
 		snprintf(spu->irq_c2, sizeof (spu->irq_c2), "spe%02d.2",
 			 spu->number);
 		ret = request_irq(spu->irqs[2], spu_irq_class_2,
-				  IRQF_DISABLED,
-				  spu->irq_c2, spu);
+				  0, spu->irq_c2, spu);
 		if (ret)
 			goto bail2;
 	}
diff --git a/arch/powerpc/platforms/powermac/pic.c b/arch/powerpc/platforms/powermac/pic.c
index cb40e92..901bfbd 100644
--- a/arch/powerpc/platforms/powermac/pic.c
+++ b/arch/powerpc/platforms/powermac/pic.c
@@ -272,7 +272,6 @@ static struct irqaction xmon_action = {
 
 static struct irqaction gatwick_cascade_action = {
 	.handler	= gatwick_action,
-	.flags		= IRQF_DISABLED,
 	.name		= "cascade",
 };
 
diff --git a/arch/powerpc/platforms/powermac/smp.c b/arch/powerpc/platforms/powermac/smp.c
index 9a521dc..9b6a820 100644
--- a/arch/powerpc/platforms/powermac/smp.c
+++ b/arch/powerpc/platforms/powermac/smp.c
@@ -200,7 +200,7 @@ static int psurge_secondary_ipi_init(void)
 
 	if (psurge_secondary_virq)
 		rc = request_irq(psurge_secondary_virq, psurge_ipi_intr,
-			IRQF_DISABLED|IRQF_PERCPU, "IPI", NULL);
+			IRQF_PERCPU, "IPI", NULL);
 
 	if (rc)
 		pr_err("Failed to setup secondary cpu IPI\n");
@@ -408,7 +408,7 @@ static int __init smp_psurge_kick_cpu(int nr)
 
 static struct irqaction psurge_irqaction = {
 	.handler = psurge_ipi_intr,
-	.flags = IRQF_DISABLED|IRQF_PERCPU,
+	.flags = IRQF_PERCPU,
 	.name = "primary IPI",
 };
 
diff --git a/arch/powerpc/platforms/ps3/device-init.c b/arch/powerpc/platforms/ps3/device-init.c
index 6c4b583..3f175e8 100644
--- a/arch/powerpc/platforms/ps3/device-init.c
+++ b/arch/powerpc/platforms/ps3/device-init.c
@@ -825,7 +825,7 @@ static int ps3_probe_thread(void *data)
 
 	spin_lock_init(&dev.lock);
 
-	res = request_irq(irq, ps3_notification_interrupt, IRQF_DISABLED,
+	res = request_irq(irq, ps3_notification_interrupt, 0,
 			  "ps3_notification", &dev);
 	if (res) {
 		pr_err("%s:%u: request_irq failed %d\n", __func__, __LINE__,
diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c
index d5d3ff3..5216d3e 100644
--- a/arch/powerpc/sysdev/mpic.c
+++ b/arch/powerpc/sysdev/mpic.c
@@ -800,8 +800,6 @@ static void mpic_end_ipi(struct irq_data *d)
 	 * IPIs are marked IRQ_PER_CPU. This has the side effect of
 	 * preventing the IRQ_PENDING/IRQ_INPROGRESS logic from
 	 * applying to them. We EOI them late to avoid re-entering.
-	 * We mark IPI's with IRQF_DISABLED as they must run with
-	 * irqs disabled.
 	 */
 	mpic_eoi(mpic);
 }
diff --git a/arch/powerpc/sysdev/ppc4xx_soc.c b/arch/powerpc/sysdev/ppc4xx_soc.c
index d3d6ce3..0debcc3 100644
--- a/arch/powerpc/sysdev/ppc4xx_soc.c
+++ b/arch/powerpc/sysdev/ppc4xx_soc.c
@@ -115,7 +115,7 @@ static int __init ppc4xx_l2c_probe(void)
 	}
 
 	/* Install error handler */
-	if (request_irq(irq, l2c_error_handler, IRQF_DISABLED, "L2C", 0) < 0) {
+	if (request_irq(irq, l2c_error_handler, 0, "L2C", 0) < 0) {
 		printk(KERN_ERR "Cannot install L2C error handler"
 		       ", cache is not enabled\n");
 		of_node_put(np);
diff --git a/arch/powerpc/sysdev/xics/xics-common.c b/arch/powerpc/sysdev/xics/xics-common.c
index 445c5a0..ae5cdc3 100644
--- a/arch/powerpc/sysdev/xics/xics-common.c
+++ b/arch/powerpc/sysdev/xics/xics-common.c
@@ -134,11 +134,10 @@ static void xics_request_ipi(void)
 	BUG_ON(ipi == NO_IRQ);
 
 	/*
-	 * IPIs are marked IRQF_DISABLED as they must run with irqs
-	 * disabled, and PERCPU.  The handler was set in map.
+	 * IPIs are marked IRQF_PERCPU. The handler was set in map.
 	 */
 	BUG_ON(request_irq(ipi, icp_ops->ipi_action,
-			   IRQF_DISABLED|IRQF_PERCPU, "IPI", NULL));
+			   IRQF_PERCPU, "IPI", NULL));
 }
 
 int __init xics_smp_probe(void)
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 16/57] score: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
                   ` (14 preceding siblings ...)
  2011-09-21  9:28   ` Yong Zhang
@ 2011-09-21  9:28 ` Yong Zhang
  2011-09-21  9:28   ` Yong Zhang
                   ` (41 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel; +Cc: tglx, yong.zhang0, Chen Liqin, Lennox Wu

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 arch/score/kernel/time.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/score/kernel/time.c b/arch/score/kernel/time.c
index f0a43af..24770cd 100644
--- a/arch/score/kernel/time.c
+++ b/arch/score/kernel/time.c
@@ -41,7 +41,7 @@ static irqreturn_t timer_interrupt(int irq, void *dev_id)
 
 static struct irqaction timer_irq = {
 	.handler = timer_interrupt,
-	.flags = IRQF_DISABLED | IRQF_TIMER,
+	.flags = IRQF_TIMER,
 	.name = "timer",
 };
 
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 17/57] SH: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
@ 2011-09-21  9:28   ` Yong Zhang
  2011-09-21  9:28 ` [PATCH 02/57] alpha: irq: Remove IRQF_DISABLED Yong Zhang
                     ` (56 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Paul Mundt, Tejun Heo, linux-sh

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 arch/sh/boards/board-secureedge5410.c |    3 +--
 arch/sh/boards/mach-cayman/irq.c      |    2 --
 arch/sh/boards/mach-hp6xx/hp6xx_apm.c |    2 +-
 arch/sh/drivers/dma/dma-g2.c          |    2 +-
 arch/sh/drivers/dma/dma-pvr2.c        |    1 -
 arch/sh/drivers/dma/dma-sh.c          |    4 ++--
 arch/sh/drivers/dma/dmabrg.c          |    6 +++---
 arch/sh/drivers/pci/pci-sh5.c         |    4 ++--
 arch/sh/drivers/pci/pci-sh7780.c      |    2 +-
 arch/sh/drivers/push-switch.c         |    2 +-
 arch/sh/kernel/cpu/sh4a/smp-shx3.c    |    2 +-
 11 files changed, 13 insertions(+), 17 deletions(-)

diff --git a/arch/sh/boards/board-secureedge5410.c b/arch/sh/boards/board-secureedge5410.c
index f968f17..03820c3 100644
--- a/arch/sh/boards/board-secureedge5410.c
+++ b/arch/sh/boards/board-secureedge5410.c
@@ -41,8 +41,7 @@ static int __init eraseconfig_init(void)
 	printk("SnapGear: EraseConfig init\n");
 
 	/* Setup "EraseConfig" switch on external IRQ 0 */
-	if (request_irq(irq, eraseconfig_interrupt, IRQF_DISABLED,
-				"Erase Config", NULL))
+	if (request_irq(irq, eraseconfig_interrupt, 0, "Erase Config", NULL))
 		printk("SnapGear: failed to register IRQ%d for Reset witch\n",
 				irq);
 	else
diff --git a/arch/sh/boards/mach-cayman/irq.c b/arch/sh/boards/mach-cayman/irq.c
index 311bceb..724e8b7 100644
--- a/arch/sh/boards/mach-cayman/irq.c
+++ b/arch/sh/boards/mach-cayman/irq.c
@@ -46,13 +46,11 @@ static irqreturn_t cayman_interrupt_pci2(int irq, void *dev_id)
 static struct irqaction cayman_action_smsc = {
 	.name		= "Cayman SMSC Mux",
 	.handler	= cayman_interrupt_smsc,
-	.flags		= IRQF_DISABLED,
 };
 
 static struct irqaction cayman_action_pci2 = {
 	.name		= "Cayman PCI2 Mux",
 	.handler	= cayman_interrupt_pci2,
-	.flags		= IRQF_DISABLED,
 };
 
 static void enable_cayman_irq(struct irq_data *data)
diff --git a/arch/sh/boards/mach-hp6xx/hp6xx_apm.c b/arch/sh/boards/mach-hp6xx/hp6xx_apm.c
index b49535c..865d8d6 100644
--- a/arch/sh/boards/mach-hp6xx/hp6xx_apm.c
+++ b/arch/sh/boards/mach-hp6xx/hp6xx_apm.c
@@ -86,7 +86,7 @@ static int __init hp6x0_apm_init(void)
 	int ret;
 
 	ret = request_irq(HP680_BTN_IRQ, hp6x0_apm_interrupt,
-			  IRQF_DISABLED, MODNAME, NULL);
+			  0, MODNAME, NULL);
 	if (unlikely(ret < 0)) {
 		printk(KERN_ERR MODNAME ": IRQ %d request failed\n",
 		       HP680_BTN_IRQ);
diff --git a/arch/sh/drivers/dma/dma-g2.c b/arch/sh/drivers/dma/dma-g2.c
index af7bb58..be9ca7c 100644
--- a/arch/sh/drivers/dma/dma-g2.c
+++ b/arch/sh/drivers/dma/dma-g2.c
@@ -170,7 +170,7 @@ static int __init g2_dma_init(void)
 {
 	int ret;
 
-	ret = request_irq(HW_EVENT_G2_DMA, g2_dma_interrupt, IRQF_DISABLED,
+	ret = request_irq(HW_EVENT_G2_DMA, g2_dma_interrupt, 0,
 			  "g2 DMA handler", &g2_dma_info);
 	if (unlikely(ret))
 		return -EINVAL;
diff --git a/arch/sh/drivers/dma/dma-pvr2.c b/arch/sh/drivers/dma/dma-pvr2.c
index 3cee58e..706a343 100644
--- a/arch/sh/drivers/dma/dma-pvr2.c
+++ b/arch/sh/drivers/dma/dma-pvr2.c
@@ -70,7 +70,6 @@ static int pvr2_xfer_dma(struct dma_channel *chan)
 static struct irqaction pvr2_dma_irq = {
 	.name		= "pvr2 DMA handler",
 	.handler	= pvr2_dma_interrupt,
-	.flags		= IRQF_DISABLED,
 };
 
 static struct dma_ops pvr2_dma_ops = {
diff --git a/arch/sh/drivers/dma/dma-sh.c b/arch/sh/drivers/dma/dma-sh.c
index 8272087..a60da6d 100644
--- a/arch/sh/drivers/dma/dma-sh.c
+++ b/arch/sh/drivers/dma/dma-sh.c
@@ -95,7 +95,7 @@ static int sh_dmac_request_dma(struct dma_channel *chan)
 #if defined(CONFIG_SH_DMA_IRQ_MULTI)
 				IRQF_SHARED,
 #else
-				IRQF_DISABLED,
+				0,
 #endif
 				chan->dev_id, chan);
 }
@@ -305,7 +305,7 @@ static int __init sh_dmac_init(void)
 #if defined(CONFIG_SH_DMA_IRQ_MULTI)
 				IRQF_SHARED,
 #else
-				IRQF_DISABLED,
+				0,
 #endif
 				dmae_name[n], (void *)dmae_name[n]);
 		if (unlikely(i < 0)) {
diff --git a/arch/sh/drivers/dma/dmabrg.c b/arch/sh/drivers/dma/dmabrg.c
index 6ab9c4a..3d66a32 100644
--- a/arch/sh/drivers/dma/dmabrg.c
+++ b/arch/sh/drivers/dma/dmabrg.c
@@ -174,17 +174,17 @@ static int __init dmabrg_init(void)
 	or = __raw_readl(DMAOR);
 	__raw_writel(or | DMAOR_BRG | DMAOR_DMEN, DMAOR);
 
-	ret = request_irq(DMABRGI0, dmabrg_irq, IRQF_DISABLED,
+	ret = request_irq(DMABRGI0, dmabrg_irq, 0,
 			"DMABRG USB address error", NULL);
 	if (ret)
 		goto out0;
 
-	ret = request_irq(DMABRGI1, dmabrg_irq, IRQF_DISABLED,
+	ret = request_irq(DMABRGI1, dmabrg_irq, 0,
 			"DMABRG Transfer End", NULL);
 	if (ret)
 		goto out1;
 
-	ret = request_irq(DMABRGI2, dmabrg_irq, IRQF_DISABLED,
+	ret = request_irq(DMABRGI2, dmabrg_irq, 0,
 			"DMABRG Transfer Half", NULL);
 	if (ret = 0)
 		return ret;
diff --git a/arch/sh/drivers/pci/pci-sh5.c b/arch/sh/drivers/pci/pci-sh5.c
index 0bf296c..16c1e72 100644
--- a/arch/sh/drivers/pci/pci-sh5.c
+++ b/arch/sh/drivers/pci/pci-sh5.c
@@ -107,13 +107,13 @@ static int __init sh5pci_init(void)
 	u32 uval;
 
         if (request_irq(IRQ_ERR, pcish5_err_irq,
-                        IRQF_DISABLED, "PCI Error",NULL) < 0) {
+                        0, "PCI Error",NULL) < 0) {
                 printk(KERN_ERR "PCISH5: Cannot hook PCI_PERR interrupt\n");
                 return -EINVAL;
         }
 
         if (request_irq(IRQ_SERR, pcish5_serr_irq,
-                        IRQF_DISABLED, "PCI SERR interrupt", NULL) < 0) {
+                        0, "PCI SERR interrupt", NULL) < 0) {
                 printk(KERN_ERR "PCISH5: Cannot hook PCI_SERR interrupt\n");
                 return -EINVAL;
         }
diff --git a/arch/sh/drivers/pci/pci-sh7780.c b/arch/sh/drivers/pci/pci-sh7780.c
index edb7cca..fa7b978 100644
--- a/arch/sh/drivers/pci/pci-sh7780.c
+++ b/arch/sh/drivers/pci/pci-sh7780.c
@@ -172,7 +172,7 @@ static int __init sh7780_pci_setup_irqs(struct pci_channel *hose)
 		     PCI_STATUS_SIG_TARGET_ABORT | \
 		     PCI_STATUS_PARITY, hose->reg_base + PCI_STATUS);
 
-	ret = request_irq(hose->serr_irq, sh7780_pci_serr_irq, IRQF_DISABLED,
+	ret = request_irq(hose->serr_irq, sh7780_pci_serr_irq, 0,
 			  "PCI SERR interrupt", hose);
 	if (unlikely(ret)) {
 		printk(KERN_ERR "PCI: Failed hooking SERR IRQ\n");
diff --git a/arch/sh/drivers/push-switch.c b/arch/sh/drivers/push-switch.c
index afc2455..637b79b 100644
--- a/arch/sh/drivers/push-switch.c
+++ b/arch/sh/drivers/push-switch.c
@@ -63,7 +63,7 @@ static int switch_drv_probe(struct platform_device *pdev)
 	BUG_ON(!psw_info);
 
 	ret = request_irq(irq, psw_info->irq_handler,
-			  IRQF_DISABLED | psw_info->irq_flags,
+			  psw_info->irq_flags,
 			  psw_info->name ? psw_info->name : DRV_NAME, pdev);
 	if (unlikely(ret < 0))
 		goto err;
diff --git a/arch/sh/kernel/cpu/sh4a/smp-shx3.c b/arch/sh/kernel/cpu/sh4a/smp-shx3.c
index de865ca..03f2b55 100644
--- a/arch/sh/kernel/cpu/sh4a/smp-shx3.c
+++ b/arch/sh/kernel/cpu/sh4a/smp-shx3.c
@@ -79,7 +79,7 @@ static void shx3_prepare_cpus(unsigned int max_cpus)
 
 	for (i = 0; i < SMP_MSG_NR; i++)
 		request_irq(104 + i, ipi_interrupt_handler,
-			    IRQF_DISABLED | IRQF_PERCPU, "IPI", (void *)(long)i);
+			    IRQF_PERCPU, "IPI", (void *)(long)i);
 
 	for (i = 0; i < max_cpus; i++)
 		set_cpu_present(i, true);
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 17/57] SH: irq: Remove IRQF_DISABLED
@ 2011-09-21  9:28   ` Yong Zhang
  0 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Paul Mundt, Tejun Heo, linux-sh

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 arch/sh/boards/board-secureedge5410.c |    3 +--
 arch/sh/boards/mach-cayman/irq.c      |    2 --
 arch/sh/boards/mach-hp6xx/hp6xx_apm.c |    2 +-
 arch/sh/drivers/dma/dma-g2.c          |    2 +-
 arch/sh/drivers/dma/dma-pvr2.c        |    1 -
 arch/sh/drivers/dma/dma-sh.c          |    4 ++--
 arch/sh/drivers/dma/dmabrg.c          |    6 +++---
 arch/sh/drivers/pci/pci-sh5.c         |    4 ++--
 arch/sh/drivers/pci/pci-sh7780.c      |    2 +-
 arch/sh/drivers/push-switch.c         |    2 +-
 arch/sh/kernel/cpu/sh4a/smp-shx3.c    |    2 +-
 11 files changed, 13 insertions(+), 17 deletions(-)

diff --git a/arch/sh/boards/board-secureedge5410.c b/arch/sh/boards/board-secureedge5410.c
index f968f17..03820c3 100644
--- a/arch/sh/boards/board-secureedge5410.c
+++ b/arch/sh/boards/board-secureedge5410.c
@@ -41,8 +41,7 @@ static int __init eraseconfig_init(void)
 	printk("SnapGear: EraseConfig init\n");
 
 	/* Setup "EraseConfig" switch on external IRQ 0 */
-	if (request_irq(irq, eraseconfig_interrupt, IRQF_DISABLED,
-				"Erase Config", NULL))
+	if (request_irq(irq, eraseconfig_interrupt, 0, "Erase Config", NULL))
 		printk("SnapGear: failed to register IRQ%d for Reset witch\n",
 				irq);
 	else
diff --git a/arch/sh/boards/mach-cayman/irq.c b/arch/sh/boards/mach-cayman/irq.c
index 311bceb..724e8b7 100644
--- a/arch/sh/boards/mach-cayman/irq.c
+++ b/arch/sh/boards/mach-cayman/irq.c
@@ -46,13 +46,11 @@ static irqreturn_t cayman_interrupt_pci2(int irq, void *dev_id)
 static struct irqaction cayman_action_smsc = {
 	.name		= "Cayman SMSC Mux",
 	.handler	= cayman_interrupt_smsc,
-	.flags		= IRQF_DISABLED,
 };
 
 static struct irqaction cayman_action_pci2 = {
 	.name		= "Cayman PCI2 Mux",
 	.handler	= cayman_interrupt_pci2,
-	.flags		= IRQF_DISABLED,
 };
 
 static void enable_cayman_irq(struct irq_data *data)
diff --git a/arch/sh/boards/mach-hp6xx/hp6xx_apm.c b/arch/sh/boards/mach-hp6xx/hp6xx_apm.c
index b49535c..865d8d6 100644
--- a/arch/sh/boards/mach-hp6xx/hp6xx_apm.c
+++ b/arch/sh/boards/mach-hp6xx/hp6xx_apm.c
@@ -86,7 +86,7 @@ static int __init hp6x0_apm_init(void)
 	int ret;
 
 	ret = request_irq(HP680_BTN_IRQ, hp6x0_apm_interrupt,
-			  IRQF_DISABLED, MODNAME, NULL);
+			  0, MODNAME, NULL);
 	if (unlikely(ret < 0)) {
 		printk(KERN_ERR MODNAME ": IRQ %d request failed\n",
 		       HP680_BTN_IRQ);
diff --git a/arch/sh/drivers/dma/dma-g2.c b/arch/sh/drivers/dma/dma-g2.c
index af7bb58..be9ca7c 100644
--- a/arch/sh/drivers/dma/dma-g2.c
+++ b/arch/sh/drivers/dma/dma-g2.c
@@ -170,7 +170,7 @@ static int __init g2_dma_init(void)
 {
 	int ret;
 
-	ret = request_irq(HW_EVENT_G2_DMA, g2_dma_interrupt, IRQF_DISABLED,
+	ret = request_irq(HW_EVENT_G2_DMA, g2_dma_interrupt, 0,
 			  "g2 DMA handler", &g2_dma_info);
 	if (unlikely(ret))
 		return -EINVAL;
diff --git a/arch/sh/drivers/dma/dma-pvr2.c b/arch/sh/drivers/dma/dma-pvr2.c
index 3cee58e..706a343 100644
--- a/arch/sh/drivers/dma/dma-pvr2.c
+++ b/arch/sh/drivers/dma/dma-pvr2.c
@@ -70,7 +70,6 @@ static int pvr2_xfer_dma(struct dma_channel *chan)
 static struct irqaction pvr2_dma_irq = {
 	.name		= "pvr2 DMA handler",
 	.handler	= pvr2_dma_interrupt,
-	.flags		= IRQF_DISABLED,
 };
 
 static struct dma_ops pvr2_dma_ops = {
diff --git a/arch/sh/drivers/dma/dma-sh.c b/arch/sh/drivers/dma/dma-sh.c
index 8272087..a60da6d 100644
--- a/arch/sh/drivers/dma/dma-sh.c
+++ b/arch/sh/drivers/dma/dma-sh.c
@@ -95,7 +95,7 @@ static int sh_dmac_request_dma(struct dma_channel *chan)
 #if defined(CONFIG_SH_DMA_IRQ_MULTI)
 				IRQF_SHARED,
 #else
-				IRQF_DISABLED,
+				0,
 #endif
 				chan->dev_id, chan);
 }
@@ -305,7 +305,7 @@ static int __init sh_dmac_init(void)
 #if defined(CONFIG_SH_DMA_IRQ_MULTI)
 				IRQF_SHARED,
 #else
-				IRQF_DISABLED,
+				0,
 #endif
 				dmae_name[n], (void *)dmae_name[n]);
 		if (unlikely(i < 0)) {
diff --git a/arch/sh/drivers/dma/dmabrg.c b/arch/sh/drivers/dma/dmabrg.c
index 6ab9c4a..3d66a32 100644
--- a/arch/sh/drivers/dma/dmabrg.c
+++ b/arch/sh/drivers/dma/dmabrg.c
@@ -174,17 +174,17 @@ static int __init dmabrg_init(void)
 	or = __raw_readl(DMAOR);
 	__raw_writel(or | DMAOR_BRG | DMAOR_DMEN, DMAOR);
 
-	ret = request_irq(DMABRGI0, dmabrg_irq, IRQF_DISABLED,
+	ret = request_irq(DMABRGI0, dmabrg_irq, 0,
 			"DMABRG USB address error", NULL);
 	if (ret)
 		goto out0;
 
-	ret = request_irq(DMABRGI1, dmabrg_irq, IRQF_DISABLED,
+	ret = request_irq(DMABRGI1, dmabrg_irq, 0,
 			"DMABRG Transfer End", NULL);
 	if (ret)
 		goto out1;
 
-	ret = request_irq(DMABRGI2, dmabrg_irq, IRQF_DISABLED,
+	ret = request_irq(DMABRGI2, dmabrg_irq, 0,
 			"DMABRG Transfer Half", NULL);
 	if (ret == 0)
 		return ret;
diff --git a/arch/sh/drivers/pci/pci-sh5.c b/arch/sh/drivers/pci/pci-sh5.c
index 0bf296c..16c1e72 100644
--- a/arch/sh/drivers/pci/pci-sh5.c
+++ b/arch/sh/drivers/pci/pci-sh5.c
@@ -107,13 +107,13 @@ static int __init sh5pci_init(void)
 	u32 uval;
 
         if (request_irq(IRQ_ERR, pcish5_err_irq,
-                        IRQF_DISABLED, "PCI Error",NULL) < 0) {
+                        0, "PCI Error",NULL) < 0) {
                 printk(KERN_ERR "PCISH5: Cannot hook PCI_PERR interrupt\n");
                 return -EINVAL;
         }
 
         if (request_irq(IRQ_SERR, pcish5_serr_irq,
-                        IRQF_DISABLED, "PCI SERR interrupt", NULL) < 0) {
+                        0, "PCI SERR interrupt", NULL) < 0) {
                 printk(KERN_ERR "PCISH5: Cannot hook PCI_SERR interrupt\n");
                 return -EINVAL;
         }
diff --git a/arch/sh/drivers/pci/pci-sh7780.c b/arch/sh/drivers/pci/pci-sh7780.c
index edb7cca..fa7b978 100644
--- a/arch/sh/drivers/pci/pci-sh7780.c
+++ b/arch/sh/drivers/pci/pci-sh7780.c
@@ -172,7 +172,7 @@ static int __init sh7780_pci_setup_irqs(struct pci_channel *hose)
 		     PCI_STATUS_SIG_TARGET_ABORT | \
 		     PCI_STATUS_PARITY, hose->reg_base + PCI_STATUS);
 
-	ret = request_irq(hose->serr_irq, sh7780_pci_serr_irq, IRQF_DISABLED,
+	ret = request_irq(hose->serr_irq, sh7780_pci_serr_irq, 0,
 			  "PCI SERR interrupt", hose);
 	if (unlikely(ret)) {
 		printk(KERN_ERR "PCI: Failed hooking SERR IRQ\n");
diff --git a/arch/sh/drivers/push-switch.c b/arch/sh/drivers/push-switch.c
index afc2455..637b79b 100644
--- a/arch/sh/drivers/push-switch.c
+++ b/arch/sh/drivers/push-switch.c
@@ -63,7 +63,7 @@ static int switch_drv_probe(struct platform_device *pdev)
 	BUG_ON(!psw_info);
 
 	ret = request_irq(irq, psw_info->irq_handler,
-			  IRQF_DISABLED | psw_info->irq_flags,
+			  psw_info->irq_flags,
 			  psw_info->name ? psw_info->name : DRV_NAME, pdev);
 	if (unlikely(ret < 0))
 		goto err;
diff --git a/arch/sh/kernel/cpu/sh4a/smp-shx3.c b/arch/sh/kernel/cpu/sh4a/smp-shx3.c
index de865ca..03f2b55 100644
--- a/arch/sh/kernel/cpu/sh4a/smp-shx3.c
+++ b/arch/sh/kernel/cpu/sh4a/smp-shx3.c
@@ -79,7 +79,7 @@ static void shx3_prepare_cpus(unsigned int max_cpus)
 
 	for (i = 0; i < SMP_MSG_NR; i++)
 		request_irq(104 + i, ipi_interrupt_handler,
-			    IRQF_DISABLED | IRQF_PERCPU, "IPI", (void *)(long)i);
+			    IRQF_PERCPU, "IPI", (void *)(long)i);
 
 	for (i = 0; i < max_cpus; i++)
 		set_cpu_present(i, true);
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 18/57] sparc: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
@ 2011-09-21  9:28   ` Yong Zhang
  2011-09-21  9:28 ` [PATCH 02/57] alpha: irq: Remove IRQF_DISABLED Yong Zhang
                     ` (56 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, David S. Miller, Joe Perches, Paul Gortmaker,
	sparclinux

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 arch/sparc/include/asm/floppy_64.h |    2 +-
 arch/sparc/kernel/ldc.c            |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/sparc/include/asm/floppy_64.h b/arch/sparc/include/asm/floppy_64.h
index bcef1f5..7f27d2e 100644
--- a/arch/sparc/include/asm/floppy_64.h
+++ b/arch/sparc/include/asm/floppy_64.h
@@ -258,7 +258,7 @@ static int sun_fd_request_irq(void)
 		once = 1;
 
 		error = request_irq(FLOPPY_IRQ, sparc_floppy_irq,
-				    IRQF_DISABLED, "floppy", NULL);
+				    0, "floppy", NULL);
 
 		return ((error == 0) ? 0 : -1);
 	}
diff --git a/arch/sparc/kernel/ldc.c b/arch/sparc/kernel/ldc.c
index 435e406..b96cd54 100644
--- a/arch/sparc/kernel/ldc.c
+++ b/arch/sparc/kernel/ldc.c
@@ -1251,13 +1251,13 @@ int ldc_bind(struct ldc_channel *lp, const char *name)
 	snprintf(lp->tx_irq_name, LDC_IRQ_NAME_MAX, "%s TX", name);
 
 	err = request_irq(lp->cfg.rx_irq, ldc_rx,
-			  IRQF_SAMPLE_RANDOM | IRQF_DISABLED,
+			  IRQF_SAMPLE_RANDOM,
 			  lp->rx_irq_name, lp);
 	if (err)
 		return err;
 
 	err = request_irq(lp->cfg.tx_irq, ldc_tx,
-			  IRQF_SAMPLE_RANDOM | IRQF_DISABLED,
+			  IRQF_SAMPLE_RANDOM,
 			  lp->tx_irq_name, lp);
 	if (err) {
 		free_irq(lp->cfg.rx_irq, lp);
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 18/57] sparc: irq: Remove IRQF_DISABLED
@ 2011-09-21  9:28   ` Yong Zhang
  0 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, David S. Miller, Joe Perches, Paul Gortmaker,
	sparclinux

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 arch/sparc/include/asm/floppy_64.h |    2 +-
 arch/sparc/kernel/ldc.c            |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/sparc/include/asm/floppy_64.h b/arch/sparc/include/asm/floppy_64.h
index bcef1f5..7f27d2e 100644
--- a/arch/sparc/include/asm/floppy_64.h
+++ b/arch/sparc/include/asm/floppy_64.h
@@ -258,7 +258,7 @@ static int sun_fd_request_irq(void)
 		once = 1;
 
 		error = request_irq(FLOPPY_IRQ, sparc_floppy_irq,
-				    IRQF_DISABLED, "floppy", NULL);
+				    0, "floppy", NULL);
 
 		return ((error = 0) ? 0 : -1);
 	}
diff --git a/arch/sparc/kernel/ldc.c b/arch/sparc/kernel/ldc.c
index 435e406..b96cd54 100644
--- a/arch/sparc/kernel/ldc.c
+++ b/arch/sparc/kernel/ldc.c
@@ -1251,13 +1251,13 @@ int ldc_bind(struct ldc_channel *lp, const char *name)
 	snprintf(lp->tx_irq_name, LDC_IRQ_NAME_MAX, "%s TX", name);
 
 	err = request_irq(lp->cfg.rx_irq, ldc_rx,
-			  IRQF_SAMPLE_RANDOM | IRQF_DISABLED,
+			  IRQF_SAMPLE_RANDOM,
 			  lp->rx_irq_name, lp);
 	if (err)
 		return err;
 
 	err = request_irq(lp->cfg.tx_irq, ldc_tx,
-			  IRQF_SAMPLE_RANDOM | IRQF_DISABLED,
+			  IRQF_SAMPLE_RANDOM,
 			  lp->tx_irq_name, lp);
 	if (err) {
 		free_irq(lp->cfg.rx_irq, lp);
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 19/57] um: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
                   ` (17 preceding siblings ...)
  2011-09-21  9:28   ` Yong Zhang
@ 2011-09-21  9:28 ` Yong Zhang
  2011-09-21  9:28 ` [PATCH 20/57] unicore32: " Yong Zhang
                   ` (38 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Jeff Dike, Richard Weinberger, Andrew Morton,
	Al Viro, Will Newton, WANG Cong, Arnd Bergmann, David S. Miller,
	Boaz Harrosh, Jiri Pirko, Jens Axboe, Tejun Heo,
	user-mode-linux-devel, user-mode-linux-user

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 arch/um/drivers/line.c          |    8 ++++----
 arch/um/drivers/mconsole_kern.c |    2 +-
 arch/um/drivers/net_kern.c      |    2 +-
 arch/um/drivers/port_kern.c     |    4 ++--
 arch/um/drivers/random.c        |    2 +-
 arch/um/drivers/ubd_kern.c      |    2 +-
 arch/um/drivers/xterm_kern.c    |    2 +-
 arch/um/kernel/sigio.c          |    2 +-
 arch/um/kernel/time.c           |    2 +-
 9 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/arch/um/drivers/line.c b/arch/um/drivers/line.c
index 364c8a1..d38f475 100644
--- a/arch/um/drivers/line.c
+++ b/arch/um/drivers/line.c
@@ -347,8 +347,8 @@ static irqreturn_t line_write_interrupt(int irq, void *data)
 	int err;
 
 	/*
-	 * Interrupts are disabled here because we registered the interrupt with
-	 * IRQF_DISABLED (see line_setup_irq).
+	 * Interrupts are disabled here because genirq keep irqs disabled when
+	 * calling the action handler.
 	 */
 
 	spin_lock(&line->lock);
@@ -371,7 +371,7 @@ static irqreturn_t line_write_interrupt(int irq, void *data)
 int line_setup_irq(int fd, int input, int output, struct line *line, void *data)
 {
 	const struct line_driver *driver = line->driver;
-	int err = 0, flags = IRQF_DISABLED | IRQF_SHARED | IRQF_SAMPLE_RANDOM;
+	int err = 0, flags = IRQF_SHARED | IRQF_SAMPLE_RANDOM;
 
 	if (input)
 		err = um_request_irq(driver->read_irq, fd, IRQ_READ,
@@ -807,7 +807,7 @@ void register_winch_irq(int fd, int tty_fd, int pid, struct tty_struct *tty,
 				   .stack	= stack });
 
 	if (um_request_irq(WINCH_IRQ, fd, IRQ_READ, winch_interrupt,
-			   IRQF_DISABLED | IRQF_SHARED | IRQF_SAMPLE_RANDOM,
+			   IRQF_SHARED | IRQF_SAMPLE_RANDOM,
 			   "winch", winch) < 0) {
 		printk(KERN_ERR "register_winch_irq - failed to register "
 		       "IRQ\n");
diff --git a/arch/um/drivers/mconsole_kern.c b/arch/um/drivers/mconsole_kern.c
index c70e047..e672bd6 100644
--- a/arch/um/drivers/mconsole_kern.c
+++ b/arch/um/drivers/mconsole_kern.c
@@ -773,7 +773,7 @@ static int __init mconsole_init(void)
 	register_reboot_notifier(&reboot_notifier);
 
 	err = um_request_irq(MCONSOLE_IRQ, sock, IRQ_READ, mconsole_interrupt,
-			     IRQF_DISABLED | IRQF_SHARED | IRQF_SAMPLE_RANDOM,
+			     IRQF_SHARED | IRQF_SAMPLE_RANDOM,
 			     "mconsole", (void *)sock);
 	if (err) {
 		printk(KERN_ERR "Failed to get IRQ for management console\n");
diff --git a/arch/um/drivers/net_kern.c b/arch/um/drivers/net_kern.c
index a492e59..46ffd65 100644
--- a/arch/um/drivers/net_kern.c
+++ b/arch/um/drivers/net_kern.c
@@ -161,7 +161,7 @@ static int uml_net_open(struct net_device *dev)
 	}
 
 	err = um_request_irq(dev->irq, lp->fd, IRQ_READ, uml_net_interrupt,
-			     IRQF_DISABLED | IRQF_SHARED, dev->name, dev);
+			     IRQF_SHARED, dev->name, dev);
 	if (err != 0) {
 		printk(KERN_ERR "uml_net_open: failed to get irq(%d)\n", err);
 		err = -ENETUNREACH;
diff --git a/arch/um/drivers/port_kern.c b/arch/um/drivers/port_kern.c
index a11573b..e31680e 100644
--- a/arch/um/drivers/port_kern.c
+++ b/arch/um/drivers/port_kern.c
@@ -100,7 +100,7 @@ static int port_accept(struct port_list *port)
 		  .port 	= port });
 
 	if (um_request_irq(TELNETD_IRQ, socket[0], IRQ_READ, pipe_interrupt,
-			  IRQF_DISABLED | IRQF_SHARED | IRQF_SAMPLE_RANDOM,
+			  IRQF_SHARED | IRQF_SAMPLE_RANDOM,
 			  "telnetd", conn)) {
 		printk(KERN_ERR "port_accept : failed to get IRQ for "
 		       "telnetd\n");
@@ -184,7 +184,7 @@ void *port_data(int port_num)
 	}
 
 	if (um_request_irq(ACCEPT_IRQ, fd, IRQ_READ, port_interrupt,
-			  IRQF_DISABLED | IRQF_SHARED | IRQF_SAMPLE_RANDOM,
+			  IRQF_SHARED | IRQF_SAMPLE_RANDOM,
 			  "port", port)) {
 		printk(KERN_ERR "Failed to get IRQ for port %d\n", port_num);
 		goto out_close;
diff --git a/arch/um/drivers/random.c b/arch/um/drivers/random.c
index 981085a..b25296e 100644
--- a/arch/um/drivers/random.c
+++ b/arch/um/drivers/random.c
@@ -131,7 +131,7 @@ static int __init rng_init (void)
 	random_fd = err;
 
 	err = um_request_irq(RANDOM_IRQ, random_fd, IRQ_READ, random_interrupt,
-			     IRQF_DISABLED | IRQF_SAMPLE_RANDOM, "random",
+			     IRQF_SAMPLE_RANDOM, "random",
 			     NULL);
 	if (err)
 		goto err_out_cleanup_hw;
diff --git a/arch/um/drivers/ubd_kern.c b/arch/um/drivers/ubd_kern.c
index 620f5b7..c9dae89 100644
--- a/arch/um/drivers/ubd_kern.c
+++ b/arch/um/drivers/ubd_kern.c
@@ -1088,7 +1088,7 @@ static int __init ubd_driver_init(void){
 		return 0;
 	}
 	err = um_request_irq(UBD_IRQ, thread_fd, IRQ_READ, ubd_intr,
-			     IRQF_DISABLED, "ubd", ubd_devs);
+			     0, "ubd", ubd_devs);
 	if(err != 0)
 		printk(KERN_ERR "um_request_irq failed - errno = %d\n", -err);
 	return 0;
diff --git a/arch/um/drivers/xterm_kern.c b/arch/um/drivers/xterm_kern.c
index b646bcc..8bd130f 100644
--- a/arch/um/drivers/xterm_kern.c
+++ b/arch/um/drivers/xterm_kern.c
@@ -50,7 +50,7 @@ int xterm_fd(int socket, int *pid_out)
 	init_completion(&data->ready);
 
 	err = um_request_irq(XTERM_IRQ, socket, IRQ_READ, xterm_interrupt,
-			     IRQF_DISABLED | IRQF_SHARED | IRQF_SAMPLE_RANDOM,
+			     IRQF_SHARED | IRQF_SAMPLE_RANDOM,
 			     "xterm", data);
 	if (err) {
 		printk(KERN_ERR "xterm_fd : failed to get IRQ for xterm, "
diff --git a/arch/um/kernel/sigio.c b/arch/um/kernel/sigio.c
index 2b272b6..2a16392 100644
--- a/arch/um/kernel/sigio.c
+++ b/arch/um/kernel/sigio.c
@@ -25,7 +25,7 @@ int write_sigio_irq(int fd)
 	int err;
 
 	err = um_request_irq(SIGIO_WRITE_IRQ, fd, IRQ_READ, sigio_interrupt,
-			     IRQF_DISABLED|IRQF_SAMPLE_RANDOM, "write sigio",
+			     IRQF_SAMPLE_RANDOM, "write sigio",
 			     NULL);
 	if (err) {
 		printk(KERN_ERR "write_sigio_irq : um_request_irq failed, "
diff --git a/arch/um/kernel/time.c b/arch/um/kernel/time.c
index a08d9fa..9149b5f 100644
--- a/arch/um/kernel/time.c
+++ b/arch/um/kernel/time.c
@@ -84,7 +84,7 @@ static void __init setup_itimer(void)
 {
 	int err;
 
-	err = request_irq(TIMER_IRQ, um_timer, IRQF_DISABLED, "timer", NULL);
+	err = request_irq(TIMER_IRQ, um_timer, 0, "timer", NULL);
 	if (err != 0)
 		printk(KERN_ERR "register_timer : request_irq failed - "
 		       "errno = %d\n", -err);
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 20/57] unicore32: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
                   ` (18 preceding siblings ...)
  2011-09-21  9:28 ` [PATCH 19/57] um: " Yong Zhang
@ 2011-09-21  9:28 ` Yong Zhang
  2011-09-21  9:28   ` Yong Zhang
                   ` (37 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel; +Cc: tglx, yong.zhang0, Guan Xuetao, Arnd Bergmann

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 arch/unicore32/kernel/puv3-nb0916.c |    4 ++--
 arch/unicore32/kernel/time.c        |    2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/unicore32/kernel/puv3-nb0916.c b/arch/unicore32/kernel/puv3-nb0916.c
index e731c56..951826a 100644
--- a/arch/unicore32/kernel/puv3-nb0916.c
+++ b/arch/unicore32/kernel/puv3-nb0916.c
@@ -124,7 +124,7 @@ int __init mach_nb0916_init(void)
 
 	if (request_irq(gpio_to_irq(GPI_LCD_CASE_OFF),
 		&nb0916_lcdcaseoff_handler,
-		IRQF_DISABLED | IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,
+		IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,
 		"NB0916 lcd case off", NULL) < 0) {
 
 		printk(KERN_DEBUG "LCD-Case-OFF IRQ %d not available\n",
@@ -132,7 +132,7 @@ int __init mach_nb0916_init(void)
 	}
 
 	if (request_irq(gpio_to_irq(GPI_OTP_INT), &nb0916_overheat_handler,
-		IRQF_DISABLED | IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,
+		IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,
 		"NB0916 overheating protection", NULL) < 0) {
 
 		printk(KERN_DEBUG "Overheating Protection IRQ %d not available\n",
diff --git a/arch/unicore32/kernel/time.c b/arch/unicore32/kernel/time.c
index 080710c..d3824b2 100644
--- a/arch/unicore32/kernel/time.c
+++ b/arch/unicore32/kernel/time.c
@@ -86,7 +86,7 @@ static struct clocksource cksrc_puv3_oscr = {
 
 static struct irqaction puv3_timer_irq = {
 	.name		= "ost0",
-	.flags		= IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL,
+	.flags		= IRQF_TIMER | IRQF_IRQPOLL,
 	.handler	= puv3_ost0_interrupt,
 	.dev_id		= &ckevt_puv3_osmr0,
 };
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 21/57] x86: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
@ 2011-09-21  9:28   ` Yong Zhang
  2011-09-21  9:28 ` [PATCH 02/57] alpha: irq: Remove IRQF_DISABLED Yong Zhang
                     ` (56 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Ingo Molnar, H. Peter Anvin, x86,
	Venkatesh Pallipadi (Venki),
	Jeremy Fitzhardinge, Konrad Rzeszutek Wilk, Paul Gortmaker,
	Andrew Morton, Ralf Baechle, xen-devel, virtualization

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 arch/x86/include/asm/floppy.h |    4 ++--
 arch/x86/kernel/hpet.c        |    2 +-
 arch/x86/kernel/time.c        |    2 +-
 arch/x86/xen/smp.c            |    8 ++++----
 arch/x86/xen/spinlock.c       |    2 +-
 arch/x86/xen/time.c           |    5 ++---
 6 files changed, 11 insertions(+), 12 deletions(-)

diff --git a/arch/x86/include/asm/floppy.h b/arch/x86/include/asm/floppy.h
index dbe82a5..22bf4d6 100644
--- a/arch/x86/include/asm/floppy.h
+++ b/arch/x86/include/asm/floppy.h
@@ -145,10 +145,10 @@ static int fd_request_irq(void)
 {
 	if (can_use_virtual_dma)
 		return request_irq(FLOPPY_IRQ, floppy_hardint,
-				   IRQF_DISABLED, "floppy", NULL);
+				   0, "floppy", NULL);
 	else
 		return request_irq(FLOPPY_IRQ, floppy_interrupt,
-				   IRQF_DISABLED, "floppy", NULL);
+				   0, "floppy", NULL);
 }
 
 static unsigned long dma_mem_alloc(unsigned long size)
diff --git a/arch/x86/kernel/hpet.c b/arch/x86/kernel/hpet.c
index b946a9e..5c21a30 100644
--- a/arch/x86/kernel/hpet.c
+++ b/arch/x86/kernel/hpet.c
@@ -516,7 +516,7 @@ static int hpet_setup_irq(struct hpet_dev *dev)
 {
 
 	if (request_irq(dev->irq, hpet_interrupt_handler,
-			IRQF_TIMER | IRQF_DISABLED | IRQF_NOBALANCING,
+			IRQF_TIMER | IRQF_NOBALANCING,
 			dev->name, dev))
 		return -1;
 
diff --git a/arch/x86/kernel/time.c b/arch/x86/kernel/time.c
index 25046df..0c3fc9a 100644
--- a/arch/x86/kernel/time.c
+++ b/arch/x86/kernel/time.c
@@ -55,7 +55,7 @@ EXPORT_SYMBOL(profile_pc);
 static irqreturn_t timer_interrupt(int irq, void *dev_id);
 static struct irqaction irq0  = {
 	.handler = timer_interrupt,
-	.flags = IRQF_DISABLED | IRQF_NOBALANCING | IRQF_IRQPOLL | IRQF_TIMER,
+	.flags = IRQF_NOBALANCING | IRQF_IRQPOLL | IRQF_TIMER,
 	.name = "timer"
 };
 
diff --git a/arch/x86/xen/smp.c b/arch/x86/xen/smp.c
index 041d4fe..a375a75 100644
--- a/arch/x86/xen/smp.c
+++ b/arch/x86/xen/smp.c
@@ -100,7 +100,7 @@ static int xen_smp_intr_init(unsigned int cpu)
 	rc = bind_ipi_to_irqhandler(XEN_RESCHEDULE_VECTOR,
 				    cpu,
 				    xen_reschedule_interrupt,
-				    IRQF_DISABLED|IRQF_PERCPU|IRQF_NOBALANCING,
+				    IRQF_PERCPU|IRQF_NOBALANCING,
 				    resched_name,
 				    NULL);
 	if (rc < 0)
@@ -111,7 +111,7 @@ static int xen_smp_intr_init(unsigned int cpu)
 	rc = bind_ipi_to_irqhandler(XEN_CALL_FUNCTION_VECTOR,
 				    cpu,
 				    xen_call_function_interrupt,
-				    IRQF_DISABLED|IRQF_PERCPU|IRQF_NOBALANCING,
+				    IRQF_PERCPU|IRQF_NOBALANCING,
 				    callfunc_name,
 				    NULL);
 	if (rc < 0)
@@ -120,7 +120,7 @@ static int xen_smp_intr_init(unsigned int cpu)
 
 	debug_name = kasprintf(GFP_KERNEL, "debug%d", cpu);
 	rc = bind_virq_to_irqhandler(VIRQ_DEBUG, cpu, xen_debug_interrupt,
-				     IRQF_DISABLED | IRQF_PERCPU | IRQF_NOBALANCING,
+				     IRQF_PERCPU | IRQF_NOBALANCING,
 				     debug_name, NULL);
 	if (rc < 0)
 		goto fail;
@@ -130,7 +130,7 @@ static int xen_smp_intr_init(unsigned int cpu)
 	rc = bind_ipi_to_irqhandler(XEN_CALL_FUNCTION_SINGLE_VECTOR,
 				    cpu,
 				    xen_call_function_single_interrupt,
-				    IRQF_DISABLED|IRQF_PERCPU|IRQF_NOBALANCING,
+				    IRQF_PERCPU|IRQF_NOBALANCING,
 				    callfunc_name,
 				    NULL);
 	if (rc < 0)
diff --git a/arch/x86/xen/spinlock.c b/arch/x86/xen/spinlock.c
index cc9b1e1..27882f5 100644
--- a/arch/x86/xen/spinlock.c
+++ b/arch/x86/xen/spinlock.c
@@ -354,7 +354,7 @@ void __cpuinit xen_init_lock_cpu(int cpu)
 	irq = bind_ipi_to_irqhandler(XEN_SPIN_UNLOCK_VECTOR,
 				     cpu,
 				     dummy_handler,
-				     IRQF_DISABLED|IRQF_PERCPU|IRQF_NOBALANCING,
+				     IRQF_PERCPU|IRQF_NOBALANCING,
 				     name,
 				     NULL);
 
diff --git a/arch/x86/xen/time.c b/arch/x86/xen/time.c
index 0296a95..9157113 100644
--- a/arch/x86/xen/time.c
+++ b/arch/x86/xen/time.c
@@ -408,9 +408,8 @@ void xen_setup_timer(int cpu)
 		name = "<timer kasprintf failed>";
 
 	irq = bind_virq_to_irqhandler(VIRQ_TIMER, cpu, xen_timer_interrupt,
-				      IRQF_DISABLED|IRQF_PERCPU|
-				      IRQF_NOBALANCING|IRQF_TIMER|
-				      IRQF_FORCE_RESUME,
+				      IRQF_PERCPU|IRQF_NOBALANCING|
+				      IRQF_TIMER|IRQF_FORCE_RESUME,
 				      name, NULL);
 
 	evt = &per_cpu(xen_clock_events, cpu);
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 21/57] x86: irq: Remove IRQF_DISABLED
@ 2011-09-21  9:28   ` Yong Zhang
  0 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: xen-devel, Venkatesh Pallipadi (Venki),
	Jeremy Fitzhardinge, Konrad Rzeszutek Wilk, x86, Paul Gortmaker,
	Ralf Baechle, virtualization, yong.zhang0, Ingo Molnar,
	H. Peter Anvin, tglx, Andrew Morton

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 arch/x86/include/asm/floppy.h |    4 ++--
 arch/x86/kernel/hpet.c        |    2 +-
 arch/x86/kernel/time.c        |    2 +-
 arch/x86/xen/smp.c            |    8 ++++----
 arch/x86/xen/spinlock.c       |    2 +-
 arch/x86/xen/time.c           |    5 ++---
 6 files changed, 11 insertions(+), 12 deletions(-)

diff --git a/arch/x86/include/asm/floppy.h b/arch/x86/include/asm/floppy.h
index dbe82a5..22bf4d6 100644
--- a/arch/x86/include/asm/floppy.h
+++ b/arch/x86/include/asm/floppy.h
@@ -145,10 +145,10 @@ static int fd_request_irq(void)
 {
 	if (can_use_virtual_dma)
 		return request_irq(FLOPPY_IRQ, floppy_hardint,
-				   IRQF_DISABLED, "floppy", NULL);
+				   0, "floppy", NULL);
 	else
 		return request_irq(FLOPPY_IRQ, floppy_interrupt,
-				   IRQF_DISABLED, "floppy", NULL);
+				   0, "floppy", NULL);
 }
 
 static unsigned long dma_mem_alloc(unsigned long size)
diff --git a/arch/x86/kernel/hpet.c b/arch/x86/kernel/hpet.c
index b946a9e..5c21a30 100644
--- a/arch/x86/kernel/hpet.c
+++ b/arch/x86/kernel/hpet.c
@@ -516,7 +516,7 @@ static int hpet_setup_irq(struct hpet_dev *dev)
 {
 
 	if (request_irq(dev->irq, hpet_interrupt_handler,
-			IRQF_TIMER | IRQF_DISABLED | IRQF_NOBALANCING,
+			IRQF_TIMER | IRQF_NOBALANCING,
 			dev->name, dev))
 		return -1;
 
diff --git a/arch/x86/kernel/time.c b/arch/x86/kernel/time.c
index 25046df..0c3fc9a 100644
--- a/arch/x86/kernel/time.c
+++ b/arch/x86/kernel/time.c
@@ -55,7 +55,7 @@ EXPORT_SYMBOL(profile_pc);
 static irqreturn_t timer_interrupt(int irq, void *dev_id);
 static struct irqaction irq0  = {
 	.handler = timer_interrupt,
-	.flags = IRQF_DISABLED | IRQF_NOBALANCING | IRQF_IRQPOLL | IRQF_TIMER,
+	.flags = IRQF_NOBALANCING | IRQF_IRQPOLL | IRQF_TIMER,
 	.name = "timer"
 };
 
diff --git a/arch/x86/xen/smp.c b/arch/x86/xen/smp.c
index 041d4fe..a375a75 100644
--- a/arch/x86/xen/smp.c
+++ b/arch/x86/xen/smp.c
@@ -100,7 +100,7 @@ static int xen_smp_intr_init(unsigned int cpu)
 	rc = bind_ipi_to_irqhandler(XEN_RESCHEDULE_VECTOR,
 				    cpu,
 				    xen_reschedule_interrupt,
-				    IRQF_DISABLED|IRQF_PERCPU|IRQF_NOBALANCING,
+				    IRQF_PERCPU|IRQF_NOBALANCING,
 				    resched_name,
 				    NULL);
 	if (rc < 0)
@@ -111,7 +111,7 @@ static int xen_smp_intr_init(unsigned int cpu)
 	rc = bind_ipi_to_irqhandler(XEN_CALL_FUNCTION_VECTOR,
 				    cpu,
 				    xen_call_function_interrupt,
-				    IRQF_DISABLED|IRQF_PERCPU|IRQF_NOBALANCING,
+				    IRQF_PERCPU|IRQF_NOBALANCING,
 				    callfunc_name,
 				    NULL);
 	if (rc < 0)
@@ -120,7 +120,7 @@ static int xen_smp_intr_init(unsigned int cpu)
 
 	debug_name = kasprintf(GFP_KERNEL, "debug%d", cpu);
 	rc = bind_virq_to_irqhandler(VIRQ_DEBUG, cpu, xen_debug_interrupt,
-				     IRQF_DISABLED | IRQF_PERCPU | IRQF_NOBALANCING,
+				     IRQF_PERCPU | IRQF_NOBALANCING,
 				     debug_name, NULL);
 	if (rc < 0)
 		goto fail;
@@ -130,7 +130,7 @@ static int xen_smp_intr_init(unsigned int cpu)
 	rc = bind_ipi_to_irqhandler(XEN_CALL_FUNCTION_SINGLE_VECTOR,
 				    cpu,
 				    xen_call_function_single_interrupt,
-				    IRQF_DISABLED|IRQF_PERCPU|IRQF_NOBALANCING,
+				    IRQF_PERCPU|IRQF_NOBALANCING,
 				    callfunc_name,
 				    NULL);
 	if (rc < 0)
diff --git a/arch/x86/xen/spinlock.c b/arch/x86/xen/spinlock.c
index cc9b1e1..27882f5 100644
--- a/arch/x86/xen/spinlock.c
+++ b/arch/x86/xen/spinlock.c
@@ -354,7 +354,7 @@ void __cpuinit xen_init_lock_cpu(int cpu)
 	irq = bind_ipi_to_irqhandler(XEN_SPIN_UNLOCK_VECTOR,
 				     cpu,
 				     dummy_handler,
-				     IRQF_DISABLED|IRQF_PERCPU|IRQF_NOBALANCING,
+				     IRQF_PERCPU|IRQF_NOBALANCING,
 				     name,
 				     NULL);
 
diff --git a/arch/x86/xen/time.c b/arch/x86/xen/time.c
index 0296a95..9157113 100644
--- a/arch/x86/xen/time.c
+++ b/arch/x86/xen/time.c
@@ -408,9 +408,8 @@ void xen_setup_timer(int cpu)
 		name = "<timer kasprintf failed>";
 
 	irq = bind_virq_to_irqhandler(VIRQ_TIMER, cpu, xen_timer_interrupt,
-				      IRQF_DISABLED|IRQF_PERCPU|
-				      IRQF_NOBALANCING|IRQF_TIMER|
-				      IRQF_FORCE_RESUME,
+				      IRQF_PERCPU|IRQF_NOBALANCING|
+				      IRQF_TIMER|IRQF_FORCE_RESUME,
 				      name, NULL);
 
 	evt = &per_cpu(xen_clock_events, cpu);
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 22/57] xtensa: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
                   ` (20 preceding siblings ...)
  2011-09-21  9:28   ` Yong Zhang
@ 2011-09-21  9:28 ` Yong Zhang
  2011-09-21  9:28 ` [PATCH 23/57] clocksource: " Yong Zhang
                   ` (35 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel; +Cc: tglx, yong.zhang0, Chris Zankel, Torben Hohn

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 arch/xtensa/kernel/time.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/arch/xtensa/kernel/time.c b/arch/xtensa/kernel/time.c
index f3e5eb4..2370229 100644
--- a/arch/xtensa/kernel/time.c
+++ b/arch/xtensa/kernel/time.c
@@ -54,7 +54,6 @@ static struct clocksource ccount_clocksource = {
 static irqreturn_t timer_interrupt(int irq, void *dev_id);
 static struct irqaction timer_irqaction = {
 	.handler =	timer_interrupt,
-	.flags =	IRQF_DISABLED,
 	.name =		"timer",
 };
 
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 23/57] clocksource: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
                   ` (21 preceding siblings ...)
  2011-09-21  9:28 ` [PATCH 22/57] xtensa: " Yong Zhang
@ 2011-09-21  9:28 ` Yong Zhang
  2011-09-21  9:28   ` Yong Zhang
                   ` (34 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel; +Cc: tglx, yong.zhang0, John Stultz

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 drivers/clocksource/cs5535-clockevt.c |    2 +-
 drivers/clocksource/dw_apb_timer.c    |    3 +--
 drivers/clocksource/sh_cmt.c          |    2 +-
 drivers/clocksource/sh_mtu2.c         |    2 +-
 drivers/clocksource/sh_tmu.c          |    2 +-
 drivers/clocksource/tcb_clksrc.c      |    2 +-
 6 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/drivers/clocksource/cs5535-clockevt.c b/drivers/clocksource/cs5535-clockevt.c
index b7dab32..2d3715f 100644
--- a/drivers/clocksource/cs5535-clockevt.c
+++ b/drivers/clocksource/cs5535-clockevt.c
@@ -133,7 +133,7 @@ static irqreturn_t mfgpt_tick(int irq, void *dev_id)
 
 static struct irqaction mfgptirq  = {
 	.handler = mfgpt_tick,
-	.flags = IRQF_DISABLED | IRQF_NOBALANCING | IRQF_TIMER,
+	.flags = IRQF_NOBALANCING | IRQF_TIMER,
 	.name = DRV_NAME,
 };
 
diff --git a/drivers/clocksource/dw_apb_timer.c b/drivers/clocksource/dw_apb_timer.c
index 580f870..55eb8ad 100644
--- a/drivers/clocksource/dw_apb_timer.c
+++ b/drivers/clocksource/dw_apb_timer.c
@@ -243,8 +243,7 @@ dw_apb_clockevent_init(int cpu, const char *name, unsigned rating,
 	dw_ced->irqaction.dev_id	= &dw_ced->ced;
 	dw_ced->irqaction.irq		= irq;
 	dw_ced->irqaction.flags		= IRQF_TIMER | IRQF_IRQPOLL |
-					  IRQF_NOBALANCING |
-					  IRQF_DISABLED;
+					  IRQF_NOBALANCING;
 
 	dw_ced->eoi = apbt_eoi;
 	err = setup_irq(irq, &dw_ced->irqaction);
diff --git a/drivers/clocksource/sh_cmt.c b/drivers/clocksource/sh_cmt.c
index ca09bc4..3bc55c4 100644
--- a/drivers/clocksource/sh_cmt.c
+++ b/drivers/clocksource/sh_cmt.c
@@ -641,7 +641,7 @@ static int sh_cmt_setup(struct sh_cmt_priv *p, struct platform_device *pdev)
 	p->irqaction.name = dev_name(&p->pdev->dev);
 	p->irqaction.handler = sh_cmt_interrupt;
 	p->irqaction.dev_id = p;
-	p->irqaction.flags = IRQF_DISABLED | IRQF_TIMER | \
+	p->irqaction.flags = IRQF_TIMER | \
 			     IRQF_IRQPOLL  | IRQF_NOBALANCING;
 
 	/* get hold of clock */
diff --git a/drivers/clocksource/sh_mtu2.c b/drivers/clocksource/sh_mtu2.c
index db8d595..0521f03 100644
--- a/drivers/clocksource/sh_mtu2.c
+++ b/drivers/clocksource/sh_mtu2.c
@@ -282,7 +282,7 @@ static int sh_mtu2_setup(struct sh_mtu2_priv *p, struct platform_device *pdev)
 	p->irqaction.handler = sh_mtu2_interrupt;
 	p->irqaction.dev_id = p;
 	p->irqaction.irq = irq;
-	p->irqaction.flags = IRQF_DISABLED | IRQF_TIMER | \
+	p->irqaction.flags = IRQF_TIMER | \
 			     IRQF_IRQPOLL  | IRQF_NOBALANCING;
 
 	/* get hold of clock */
diff --git a/drivers/clocksource/sh_tmu.c b/drivers/clocksource/sh_tmu.c
index 079e96a..306d212 100644
--- a/drivers/clocksource/sh_tmu.c
+++ b/drivers/clocksource/sh_tmu.c
@@ -385,7 +385,7 @@ static int sh_tmu_setup(struct sh_tmu_priv *p, struct platform_device *pdev)
 	p->irqaction.handler = sh_tmu_interrupt;
 	p->irqaction.dev_id = p;
 	p->irqaction.irq = irq;
-	p->irqaction.flags = IRQF_DISABLED | IRQF_TIMER | \
+	p->irqaction.flags = IRQF_TIMER | \
 			     IRQF_IRQPOLL  | IRQF_NOBALANCING;
 
 	/* get hold of clock */
diff --git a/drivers/clocksource/tcb_clksrc.c b/drivers/clocksource/tcb_clksrc.c
index 79c47e8..1963b93 100644
--- a/drivers/clocksource/tcb_clksrc.c
+++ b/drivers/clocksource/tcb_clksrc.c
@@ -175,7 +175,7 @@ static irqreturn_t ch2_irq(int irq, void *handle)
 
 static struct irqaction tc_irqaction = {
 	.name		= "tc_clkevt",
-	.flags		= IRQF_TIMER | IRQF_DISABLED,
+	.flags		= IRQF_TIMER,
 	.handler	= ch2_irq,
 };
 
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 24/57] SCSI: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
@ 2011-09-21  9:28   ` Yong Zhang
  2011-09-21  9:28 ` [PATCH 02/57] alpha: irq: Remove IRQF_DISABLED Yong Zhang
                     ` (56 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, James E.J. Bottomley,
	Adaptec OEM Raid Solutions, Juergen E. Fischer, Russell King,
	Dario Ballabio, Michael Neuffer, Achim Leubner,
	Stephen M. Cameron, jack_wang, lindar_liu, Miroslav Zagorac,
	linux-scsi, linux-arm-kernel, linux-eata, iss_storagedev

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 drivers/scsi/NCR5380.c            |    2 +-
 drivers/scsi/aacraid/rx.c         |    2 +-
 drivers/scsi/aacraid/sa.c         |    2 +-
 drivers/scsi/aacraid/src.c        |    2 +-
 drivers/scsi/aha152x.c            |    4 ++--
 drivers/scsi/aic7xxx_old.c        |    2 +-
 drivers/scsi/arm/acornscsi.c      |    2 +-
 drivers/scsi/arm/cumana_1.c       |    2 +-
 drivers/scsi/arm/cumana_2.c       |    2 +-
 drivers/scsi/arm/powertec.c       |    2 +-
 drivers/scsi/dtc.c                |    2 +-
 drivers/scsi/eata.c               |    2 +-
 drivers/scsi/eata_pio.c           |    4 ++--
 drivers/scsi/g_NCR5380.c          |    2 +-
 drivers/scsi/gdth.c               |    6 +++---
 drivers/scsi/hpsa.c               |    4 ++--
 drivers/scsi/ibmvscsi/ibmvstgt.c  |    2 +-
 drivers/scsi/in2000.c             |    2 +-
 drivers/scsi/initio.c             |    2 +-
 drivers/scsi/pas16.c              |    2 +-
 drivers/scsi/pm8001/pm8001_init.c |    4 +---
 drivers/scsi/t128.c               |    2 +-
 drivers/scsi/u14-34f.c            |    2 +-
 drivers/scsi/wd7000.c             |    2 +-
 24 files changed, 29 insertions(+), 31 deletions(-)

diff --git a/drivers/scsi/NCR5380.c b/drivers/scsi/NCR5380.c
index 165e4dd86..9f6de17 100644
--- a/drivers/scsi/NCR5380.c
+++ b/drivers/scsi/NCR5380.c
@@ -584,7 +584,7 @@ static int __init __maybe_unused NCR5380_probe_irq(struct Scsi_Host *instance,
 	NCR5380_setup(instance);
 
 	for (trying_irqs = i = 0, mask = 1; i < 16; ++i, mask <<= 1)
-		if ((mask & possible) && (request_irq(i, &probe_intr, IRQF_DISABLED, "NCR-probe", NULL) == 0))
+		if ((mask & possible) && (request_irq(i, &probe_intr, 0, "NCR-probe", NULL) == 0))
 			trying_irqs |= mask;
 
 	timeout = jiffies + (250 * HZ / 1000);
diff --git a/drivers/scsi/aacraid/rx.c b/drivers/scsi/aacraid/rx.c
index ce530f1..d1e2a2a 100644
--- a/drivers/scsi/aacraid/rx.c
+++ b/drivers/scsi/aacraid/rx.c
@@ -645,7 +645,7 @@ int _aac_rx_init(struct aac_dev *dev)
 	aac_adapter_comm(dev, dev->comm_interface);
 	dev->msi = aac_msi && !pci_enable_msi(dev->pdev);
 	if (request_irq(dev->pdev->irq, dev->a_ops.adapter_intr,
-			IRQF_SHARED|IRQF_DISABLED, "aacraid", dev) < 0) {
+			IRQF_SHARED, "aacraid", dev) < 0) {
 		if (dev->msi)
 			pci_disable_msi(dev->pdev);
 		printk(KERN_ERR "%s%d: Interrupt unavailable.\n",
diff --git a/drivers/scsi/aacraid/sa.c b/drivers/scsi/aacraid/sa.c
index e5d4457..c3e1f6b 100644
--- a/drivers/scsi/aacraid/sa.c
+++ b/drivers/scsi/aacraid/sa.c
@@ -386,7 +386,7 @@ int aac_sa_init(struct aac_dev *dev)
 	if(aac_init_adapter(dev) == NULL)
 		goto error_irq;
 	if (request_irq(dev->pdev->irq, dev->a_ops.adapter_intr,
-			IRQF_SHARED|IRQF_DISABLED,
+			IRQF_SHARED,
 			"aacraid", (void *)dev ) < 0) {
 		printk(KERN_WARNING "%s%d: Interrupt unavailable.\n",
 			name, instance);
diff --git a/drivers/scsi/aacraid/src.c b/drivers/scsi/aacraid/src.c
index 957595a..68374e4 100644
--- a/drivers/scsi/aacraid/src.c
+++ b/drivers/scsi/aacraid/src.c
@@ -565,7 +565,7 @@ int aac_src_init(struct aac_dev *dev)
 	dev->msi = aac_msi && !pci_enable_msi(dev->pdev);
 
 	if (request_irq(dev->pdev->irq, dev->a_ops.adapter_intr,
-			IRQF_SHARED|IRQF_DISABLED, "aacraid", dev) < 0) {
+			IRQF_SHARED, "aacraid", dev) < 0) {
 
 		if (dev->msi)
 			pci_disable_msi(dev->pdev);
diff --git a/drivers/scsi/aha152x.c b/drivers/scsi/aha152x.c
index f17c92c..46e7a53 100644
--- a/drivers/scsi/aha152x.c
+++ b/drivers/scsi/aha152x.c
@@ -858,7 +858,7 @@ struct Scsi_Host *aha152x_probe_one(struct aha152x_setup *setup)
 	SETPORT(SIMODE0, 0);
 	SETPORT(SIMODE1, 0);
 
-	if( request_irq(shpnt->irq, swintr, IRQF_DISABLED|IRQF_SHARED, "aha152x", shpnt) ) {
+	if( request_irq(shpnt->irq, swintr, IRQF_SHARED, "aha152x", shpnt) ) {
 		printk(KERN_ERR "aha152x%d: irq %d busy.\n", shpnt->host_no, shpnt->irq);
 		goto out_host_put;
 	}
@@ -892,7 +892,7 @@ struct Scsi_Host *aha152x_probe_one(struct aha152x_setup *setup)
 	SETPORT(SSTAT0, 0x7f);
 	SETPORT(SSTAT1, 0xef);
 
-	if ( request_irq(shpnt->irq, intr, IRQF_DISABLED|IRQF_SHARED, "aha152x", shpnt) ) {
+	if ( request_irq(shpnt->irq, intr, IRQF_SHARED, "aha152x", shpnt) ) {
 		printk(KERN_ERR "aha152x%d: failed to reassign irq %d.\n", shpnt->host_no, shpnt->irq);
 		goto out_host_put;
 	}
diff --git a/drivers/scsi/aic7xxx_old.c b/drivers/scsi/aic7xxx_old.c
index 5b212f0..c3499dd 100644
--- a/drivers/scsi/aic7xxx_old.c
+++ b/drivers/scsi/aic7xxx_old.c
@@ -8306,7 +8306,7 @@ aic7xxx_register(struct scsi_host_template *template, struct aic7xxx_host *p,
               "aic7xxx", p));
     if (result < 0)
     {
-      result = (request_irq(p->irq, do_aic7xxx_isr, IRQF_DISABLED | IRQF_SHARED,
+      result = (request_irq(p->irq, do_aic7xxx_isr, IRQF_SHARED,
               "aic7xxx", p));
     }
   }
diff --git a/drivers/scsi/arm/acornscsi.c b/drivers/scsi/arm/acornscsi.c
index c454e44..d58ea8e 100644
--- a/drivers/scsi/arm/acornscsi.c
+++ b/drivers/scsi/arm/acornscsi.c
@@ -2997,7 +2997,7 @@ acornscsi_probe(struct expansion_card *ec, const struct ecard_id *id)
 	ec->irqaddr	= ashost->fast + INT_REG;
 	ec->irqmask	= 0x0a;
 
-	ret = request_irq(host->irq, acornscsi_intr, IRQF_DISABLED, "acornscsi", ashost);
+	ret = request_irq(host->irq, acornscsi_intr, 0, "acornscsi", ashost);
 	if (ret) {
 		printk(KERN_CRIT "scsi%d: IRQ%d not free: %d\n",
 			host->host_no, ashost->scsi.irq, ret);
diff --git a/drivers/scsi/arm/cumana_1.c b/drivers/scsi/arm/cumana_1.c
index a3398fe..c5f46ba 100644
--- a/drivers/scsi/arm/cumana_1.c
+++ b/drivers/scsi/arm/cumana_1.c
@@ -264,7 +264,7 @@ cumanascsi1_probe(struct expansion_card *ec, const struct ecard_id *id)
 		goto out_unmap;
 	}
 
-	ret = request_irq(host->irq, cumanascsi_intr, IRQF_DISABLED,
+	ret = request_irq(host->irq, cumanascsi_intr, 0,
 			  "CumanaSCSI-1", host);
 	if (ret) {
 		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 547987b..084ed7b 100644
--- a/drivers/scsi/arm/cumana_2.c
+++ b/drivers/scsi/arm/cumana_2.c
@@ -456,7 +456,7 @@ cumanascsi2_probe(struct expansion_card *ec, const struct ecard_id *id)
 		goto out_free;
 
 	ret = request_irq(ec->irq, cumanascsi_2_intr,
-			  IRQF_DISABLED, "cumanascsi2", info);
+			  0, "cumanascsi2", info);
 	if (ret) {
 		printk("scsi%d: IRQ%d not free: %d\n",
 		       host->host_no, ec->irq, ret);
diff --git a/drivers/scsi/arm/powertec.c b/drivers/scsi/arm/powertec.c
index 9274c06..49ac0c2 100644
--- a/drivers/scsi/arm/powertec.c
+++ b/drivers/scsi/arm/powertec.c
@@ -369,7 +369,7 @@ powertecscsi_probe(struct expansion_card *ec, const struct ecard_id *id)
 		goto out_free;
 
 	ret = request_irq(ec->irq, powertecscsi_intr,
-			  IRQF_DISABLED, "powertec", info);
+			  0, "powertec", info);
 	if (ret) {
 		printk("scsi%d: IRQ%d not free: %d\n",
 		       host->host_no, ec->irq, ret);
diff --git a/drivers/scsi/dtc.c b/drivers/scsi/dtc.c
index c2677ba..c77c820 100644
--- a/drivers/scsi/dtc.c
+++ b/drivers/scsi/dtc.c
@@ -277,7 +277,7 @@ found:
 		/* With interrupts enabled, it will sometimes hang when doing heavy
 		 * reads. So better not enable them until I finger it out. */
 		if (instance->irq != SCSI_IRQ_NONE)
-			if (request_irq(instance->irq, dtc_intr, IRQF_DISABLED,
+			if (request_irq(instance->irq, dtc_intr, 0,
 					"dtc", instance)) {
 				printk(KERN_ERR "scsi%d : IRQ%d not free, interrupts disabled\n", instance->host_no, instance->irq);
 				instance->irq = SCSI_IRQ_NONE;
diff --git a/drivers/scsi/eata.c b/drivers/scsi/eata.c
index 94de889..bc2e02e 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,
 
 	/* Board detected, allocate its IRQ */
 	if (request_irq(irq, do_interrupt_handler,
-			IRQF_DISABLED | ((subversion == ESA) ? IRQF_SHARED : 0),
+			((subversion == ESA) ? IRQF_SHARED : 0),
 			driver_name, (void *)&sha[j])) {
 		printk("%s: unable to allocate IRQ %u, detaching.\n", name,
 		       irq);
diff --git a/drivers/scsi/eata_pio.c b/drivers/scsi/eata_pio.c
index d5f8362..dcc9820 100644
--- a/drivers/scsi/eata_pio.c
+++ b/drivers/scsi/eata_pio.c
@@ -723,7 +723,7 @@ static int register_pio_HBA(long base, struct get_conf *gc, struct pci_dev *pdev
 		return 0;
 
 	if (!reg_IRQ[gc->IRQ]) {	/* Interrupt already registered ? */
-		if (!request_irq(gc->IRQ, do_eata_pio_int_handler, IRQF_DISABLED, "EATA-PIO", sh)) {
+		if (!request_irq(gc->IRQ, do_eata_pio_int_handler, 0, "EATA-PIO", sh)) {
 			reg_IRQ[gc->IRQ]++;
 			if (!gc->IRQ_TR)
 				reg_IRQL[gc->IRQ] = 1;	/* IRQ is edge triggered */
@@ -957,7 +957,7 @@ static int eata_pio_detect(struct scsi_host_template *tpnt)
 
 	for (i = 0; i <= MAXIRQ; i++)
 		if (reg_IRQ[i])
-			request_irq(i, do_eata_pio_int_handler, IRQF_DISABLED, "EATA-PIO", NULL);
+			request_irq(i, do_eata_pio_int_handler, 0, "EATA-PIO", NULL);
 
 	HBA_ptr = first_HBA;
 
diff --git a/drivers/scsi/g_NCR5380.c b/drivers/scsi/g_NCR5380.c
index 81182ba..72cf40f 100644
--- a/drivers/scsi/g_NCR5380.c
+++ b/drivers/scsi/g_NCR5380.c
@@ -462,7 +462,7 @@ int __init generic_NCR5380_detect(struct scsi_host_template * tpnt)
 
 		if (instance->irq != SCSI_IRQ_NONE)
 			if (request_irq(instance->irq, generic_NCR5380_intr,
-					IRQF_DISABLED, "NCR5380", instance)) {
+					0, "NCR5380", instance)) {
 				printk(KERN_WARNING "scsi%d : IRQ%d not free, interrupts disabled\n", instance->host_no, instance->irq);
 				instance->irq = SCSI_IRQ_NONE;
 			}
diff --git a/drivers/scsi/gdth.c b/drivers/scsi/gdth.c
index 3242bca..045cc61 100644
--- a/drivers/scsi/gdth.c
+++ b/drivers/scsi/gdth.c
@@ -4718,7 +4718,7 @@ static int __init gdth_isa_probe_one(u32 isa_bios)
 	printk("Configuring GDT-ISA HA at BIOS 0x%05X IRQ %u DRQ %u\n",
 		isa_bios, ha->irq, ha->drq);
 
-	error = request_irq(ha->irq, gdth_interrupt, IRQF_DISABLED, "gdth", ha);
+	error = request_irq(ha->irq, gdth_interrupt, 0, "gdth", ha);
 	if (error) {
 		printk("GDT-ISA: Unable to allocate IRQ\n");
 		goto out_host_put;
@@ -4850,7 +4850,7 @@ static int __init gdth_eisa_probe_one(u16 eisa_slot)
 	printk("Configuring GDT-EISA HA at Slot %d IRQ %u\n",
 		eisa_slot >> 12, ha->irq);
 
-	error = request_irq(ha->irq, gdth_interrupt, IRQF_DISABLED, "gdth", ha);
+	error = request_irq(ha->irq, gdth_interrupt, 0, "gdth", ha);
 	if (error) {
 		printk("GDT-EISA: Unable to allocate IRQ\n");
 		goto out_host_put;
@@ -4987,7 +4987,7 @@ static int __devinit gdth_pci_probe_one(gdth_pci_str *pcistr,
 		ha->irq);
 
 	error = request_irq(ha->irq, gdth_interrupt,
-				IRQF_DISABLED|IRQF_SHARED, "gdth", ha);
+				IRQF_SHARED, "gdth", ha);
 	if (error) {
 		printk("GDT-PCI: Unable to allocate IRQ\n");
 		goto out_host_put;
diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
index b200b73..444ea3b 100644
--- a/drivers/scsi/hpsa.c
+++ b/drivers/scsi/hpsa.c
@@ -4025,10 +4025,10 @@ static int hpsa_request_irq(struct ctlr_info *h,
 
 	if (h->msix_vector || h->msi_vector)
 		rc = request_irq(h->intr[h->intr_mode], msixhandler,
-				IRQF_DISABLED, h->devname, h);
+				0, h->devname, h);
 	else
 		rc = request_irq(h->intr[h->intr_mode], intxhandler,
-				IRQF_DISABLED, h->devname, h);
+				0, h->devname, h);
 	if (rc) {
 		dev_err(&h->pdev->dev, "unable to get irq %d for %s\n",
 		       h->intr[h->intr_mode], h->devname);
diff --git a/drivers/scsi/ibmvscsi/ibmvstgt.c b/drivers/scsi/ibmvscsi/ibmvstgt.c
index 2256bab..41d42f2 100644
--- a/drivers/scsi/ibmvscsi/ibmvstgt.c
+++ b/drivers/scsi/ibmvscsi/ibmvstgt.c
@@ -589,7 +589,7 @@ static int crq_queue_create(struct crq_queue *queue, struct srp_target *target)
 	}
 
 	err = request_irq(vport->dma_dev->irq, &ibmvstgt_interrupt,
-			  IRQF_DISABLED, "ibmvstgt", target);
+			  0, "ibmvstgt", target);
 	if (err)
 		goto req_irq_failed;
 
diff --git a/drivers/scsi/in2000.c b/drivers/scsi/in2000.c
index 112f1be..1efb20b 100644
--- a/drivers/scsi/in2000.c
+++ b/drivers/scsi/in2000.c
@@ -2016,7 +2016,7 @@ static int __init in2000_detect(struct scsi_host_template * tpnt)
 		write1_io(0, IO_FIFO_READ);	/* start fifo out in read mode */
 		write1_io(0, IO_INTR_MASK);	/* allow all ints */
 		x = int_tab[(switches & (SW_INT0 | SW_INT1)) >> SW_INT_SHIFT];
-		if (request_irq(x, in2000_intr, IRQF_DISABLED, "in2000", instance)) {
+		if (request_irq(x, in2000_intr, 0, "in2000", instance)) {
 			printk("in2000_detect: Unable to allocate IRQ.\n");
 			detect_count--;
 			continue;
diff --git a/drivers/scsi/initio.c b/drivers/scsi/initio.c
index dd741bc..4c80c7d 100644
--- a/drivers/scsi/initio.c
+++ b/drivers/scsi/initio.c
@@ -2931,7 +2931,7 @@ static int initio_probe_one(struct pci_dev *pdev,
 	shost->base = host->addr;
 	shost->sg_tablesize = TOTAL_SG_ENTRY;
 
-	error = request_irq(pdev->irq, i91u_intr, IRQF_DISABLED|IRQF_SHARED, "i91u", shost);
+	error = request_irq(pdev->irq, i91u_intr, IRQF_SHARED, "i91u", shost);
 	if (error < 0) {
 		printk(KERN_WARNING "initio: Unable to request IRQ %d\n", pdev->irq);
 		goto out_free_scbs;
diff --git a/drivers/scsi/pas16.c b/drivers/scsi/pas16.c
index f2018b4..e75d43d 100644
--- a/drivers/scsi/pas16.c
+++ b/drivers/scsi/pas16.c
@@ -453,7 +453,7 @@ int __init pas16_detect(struct scsi_host_template * tpnt)
 	    instance->irq = NCR5380_probe_irq(instance, PAS16_IRQS);
 
 	if (instance->irq != SCSI_IRQ_NONE) 
-	    if (request_irq(instance->irq, pas16_intr, IRQF_DISABLED,
+	    if (request_irq(instance->irq, pas16_intr, 0,
 			    "pas16", instance)) {
 		printk("scsi%d : IRQ%d not free, interrupts disabled\n", 
 		    instance->host_no, instance->irq);
diff --git a/drivers/scsi/pm8001/pm8001_init.c b/drivers/scsi/pm8001/pm8001_init.c
index 172cefb..d148ba3 100644
--- a/drivers/scsi/pm8001/pm8001_init.c
+++ b/drivers/scsi/pm8001/pm8001_init.c
@@ -553,12 +553,10 @@ static u32 pm8001_setup_msix(struct pm8001_hba_info *pm8001_ha,
 {
 	u32 i = 0, j = 0;
 	u32 number_of_intr = 1;
-	int flag = 0;
 	u32 max_entry;
 	int rc;
 	max_entry = sizeof(pm8001_ha->msix_entries) /
 		sizeof(pm8001_ha->msix_entries[0]);
-	flag |= IRQF_DISABLED;
 	for (i = 0; i < max_entry ; i++)
 		pm8001_ha->msix_entries[i].entry = i;
 	rc = pci_enable_msix(pm8001_ha->pdev, pm8001_ha->msix_entries,
@@ -567,7 +565,7 @@ static u32 pm8001_setup_msix(struct pm8001_hba_info *pm8001_ha,
 	if (!rc) {
 		for (i = 0; i < number_of_intr; i++) {
 			if (request_irq(pm8001_ha->msix_entries[i].vector,
-				irq_handler, flag, DRV_NAME,
+				irq_handler, 0, DRV_NAME,
 				SHOST_TO_SAS_HA(pm8001_ha->shost))) {
 				for (j = 0; j < i; j++)
 					free_irq(
diff --git a/drivers/scsi/t128.c b/drivers/scsi/t128.c
index 041eaaa..d9142a2 100644
--- a/drivers/scsi/t128.c
+++ b/drivers/scsi/t128.c
@@ -259,7 +259,7 @@ found:
 	    instance->irq = NCR5380_probe_irq(instance, T128_IRQS);
 
 	if (instance->irq != SCSI_IRQ_NONE) 
-	    if (request_irq(instance->irq, t128_intr, IRQF_DISABLED, "t128",
+	    if (request_irq(instance->irq, t128_intr, 0, "t128",
 			    instance)) {
 		printk("scsi%d : IRQ%d not free, interrupts disabled\n", 
 		    instance->host_no, instance->irq);
diff --git a/drivers/scsi/u14-34f.c b/drivers/scsi/u14-34f.c
index 90e104d..5c50f9c 100644
--- a/drivers/scsi/u14-34f.c
+++ b/drivers/scsi/u14-34f.c
@@ -874,7 +874,7 @@ static int port_detect \
 
    /* Board detected, allocate its IRQ */
    if (request_irq(irq, do_interrupt_handler,
-             IRQF_DISABLED | ((subversion == ESA) ? IRQF_SHARED : 0),
+             ((subversion == ESA) ? IRQF_SHARED : 0),
              driver_name, (void *) &sha[j])) {
       printk("%s: unable to allocate IRQ %u, detaching.\n", name, irq);
       goto freelock;
diff --git a/drivers/scsi/wd7000.c b/drivers/scsi/wd7000.c
index 9ee0afe..8cab246 100644
--- a/drivers/scsi/wd7000.c
+++ b/drivers/scsi/wd7000.c
@@ -1253,7 +1253,7 @@ static int wd7000_init(Adapter * host)
 		return 0;
 
 
-	if (request_irq(host->irq, wd7000_intr, IRQF_DISABLED, "wd7000", host)) {
+	if (request_irq(host->irq, wd7000_intr, 0, "wd7000", host)) {
 		printk("wd7000_init: can't get IRQ %d.\n", host->irq);
 		return (0);
 	}
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 24/57] SCSI: irq: Remove IRQF_DISABLED
@ 2011-09-21  9:28   ` Yong Zhang
  0 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arm-kernel

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 drivers/scsi/NCR5380.c            |    2 +-
 drivers/scsi/aacraid/rx.c         |    2 +-
 drivers/scsi/aacraid/sa.c         |    2 +-
 drivers/scsi/aacraid/src.c        |    2 +-
 drivers/scsi/aha152x.c            |    4 ++--
 drivers/scsi/aic7xxx_old.c        |    2 +-
 drivers/scsi/arm/acornscsi.c      |    2 +-
 drivers/scsi/arm/cumana_1.c       |    2 +-
 drivers/scsi/arm/cumana_2.c       |    2 +-
 drivers/scsi/arm/powertec.c       |    2 +-
 drivers/scsi/dtc.c                |    2 +-
 drivers/scsi/eata.c               |    2 +-
 drivers/scsi/eata_pio.c           |    4 ++--
 drivers/scsi/g_NCR5380.c          |    2 +-
 drivers/scsi/gdth.c               |    6 +++---
 drivers/scsi/hpsa.c               |    4 ++--
 drivers/scsi/ibmvscsi/ibmvstgt.c  |    2 +-
 drivers/scsi/in2000.c             |    2 +-
 drivers/scsi/initio.c             |    2 +-
 drivers/scsi/pas16.c              |    2 +-
 drivers/scsi/pm8001/pm8001_init.c |    4 +---
 drivers/scsi/t128.c               |    2 +-
 drivers/scsi/u14-34f.c            |    2 +-
 drivers/scsi/wd7000.c             |    2 +-
 24 files changed, 29 insertions(+), 31 deletions(-)

diff --git a/drivers/scsi/NCR5380.c b/drivers/scsi/NCR5380.c
index 165e4dd86..9f6de17 100644
--- a/drivers/scsi/NCR5380.c
+++ b/drivers/scsi/NCR5380.c
@@ -584,7 +584,7 @@ static int __init __maybe_unused NCR5380_probe_irq(struct Scsi_Host *instance,
 	NCR5380_setup(instance);
 
 	for (trying_irqs = i = 0, mask = 1; i < 16; ++i, mask <<= 1)
-		if ((mask & possible) && (request_irq(i, &probe_intr, IRQF_DISABLED, "NCR-probe", NULL) == 0))
+		if ((mask & possible) && (request_irq(i, &probe_intr, 0, "NCR-probe", NULL) == 0))
 			trying_irqs |= mask;
 
 	timeout = jiffies + (250 * HZ / 1000);
diff --git a/drivers/scsi/aacraid/rx.c b/drivers/scsi/aacraid/rx.c
index ce530f1..d1e2a2a 100644
--- a/drivers/scsi/aacraid/rx.c
+++ b/drivers/scsi/aacraid/rx.c
@@ -645,7 +645,7 @@ int _aac_rx_init(struct aac_dev *dev)
 	aac_adapter_comm(dev, dev->comm_interface);
 	dev->msi = aac_msi && !pci_enable_msi(dev->pdev);
 	if (request_irq(dev->pdev->irq, dev->a_ops.adapter_intr,
-			IRQF_SHARED|IRQF_DISABLED, "aacraid", dev) < 0) {
+			IRQF_SHARED, "aacraid", dev) < 0) {
 		if (dev->msi)
 			pci_disable_msi(dev->pdev);
 		printk(KERN_ERR "%s%d: Interrupt unavailable.\n",
diff --git a/drivers/scsi/aacraid/sa.c b/drivers/scsi/aacraid/sa.c
index e5d4457..c3e1f6b 100644
--- a/drivers/scsi/aacraid/sa.c
+++ b/drivers/scsi/aacraid/sa.c
@@ -386,7 +386,7 @@ int aac_sa_init(struct aac_dev *dev)
 	if(aac_init_adapter(dev) == NULL)
 		goto error_irq;
 	if (request_irq(dev->pdev->irq, dev->a_ops.adapter_intr,
-			IRQF_SHARED|IRQF_DISABLED,
+			IRQF_SHARED,
 			"aacraid", (void *)dev ) < 0) {
 		printk(KERN_WARNING "%s%d: Interrupt unavailable.\n",
 			name, instance);
diff --git a/drivers/scsi/aacraid/src.c b/drivers/scsi/aacraid/src.c
index 957595a..68374e4 100644
--- a/drivers/scsi/aacraid/src.c
+++ b/drivers/scsi/aacraid/src.c
@@ -565,7 +565,7 @@ int aac_src_init(struct aac_dev *dev)
 	dev->msi = aac_msi && !pci_enable_msi(dev->pdev);
 
 	if (request_irq(dev->pdev->irq, dev->a_ops.adapter_intr,
-			IRQF_SHARED|IRQF_DISABLED, "aacraid", dev) < 0) {
+			IRQF_SHARED, "aacraid", dev) < 0) {
 
 		if (dev->msi)
 			pci_disable_msi(dev->pdev);
diff --git a/drivers/scsi/aha152x.c b/drivers/scsi/aha152x.c
index f17c92c..46e7a53 100644
--- a/drivers/scsi/aha152x.c
+++ b/drivers/scsi/aha152x.c
@@ -858,7 +858,7 @@ struct Scsi_Host *aha152x_probe_one(struct aha152x_setup *setup)
 	SETPORT(SIMODE0, 0);
 	SETPORT(SIMODE1, 0);
 
-	if( request_irq(shpnt->irq, swintr, IRQF_DISABLED|IRQF_SHARED, "aha152x", shpnt) ) {
+	if( request_irq(shpnt->irq, swintr, IRQF_SHARED, "aha152x", shpnt) ) {
 		printk(KERN_ERR "aha152x%d: irq %d busy.\n", shpnt->host_no, shpnt->irq);
 		goto out_host_put;
 	}
@@ -892,7 +892,7 @@ struct Scsi_Host *aha152x_probe_one(struct aha152x_setup *setup)
 	SETPORT(SSTAT0, 0x7f);
 	SETPORT(SSTAT1, 0xef);
 
-	if ( request_irq(shpnt->irq, intr, IRQF_DISABLED|IRQF_SHARED, "aha152x", shpnt) ) {
+	if ( request_irq(shpnt->irq, intr, IRQF_SHARED, "aha152x", shpnt) ) {
 		printk(KERN_ERR "aha152x%d: failed to reassign irq %d.\n", shpnt->host_no, shpnt->irq);
 		goto out_host_put;
 	}
diff --git a/drivers/scsi/aic7xxx_old.c b/drivers/scsi/aic7xxx_old.c
index 5b212f0..c3499dd 100644
--- a/drivers/scsi/aic7xxx_old.c
+++ b/drivers/scsi/aic7xxx_old.c
@@ -8306,7 +8306,7 @@ aic7xxx_register(struct scsi_host_template *template, struct aic7xxx_host *p,
               "aic7xxx", p));
     if (result < 0)
     {
-      result = (request_irq(p->irq, do_aic7xxx_isr, IRQF_DISABLED | IRQF_SHARED,
+      result = (request_irq(p->irq, do_aic7xxx_isr, IRQF_SHARED,
               "aic7xxx", p));
     }
   }
diff --git a/drivers/scsi/arm/acornscsi.c b/drivers/scsi/arm/acornscsi.c
index c454e44..d58ea8e 100644
--- a/drivers/scsi/arm/acornscsi.c
+++ b/drivers/scsi/arm/acornscsi.c
@@ -2997,7 +2997,7 @@ acornscsi_probe(struct expansion_card *ec, const struct ecard_id *id)
 	ec->irqaddr	= ashost->fast + INT_REG;
 	ec->irqmask	= 0x0a;
 
-	ret = request_irq(host->irq, acornscsi_intr, IRQF_DISABLED, "acornscsi", ashost);
+	ret = request_irq(host->irq, acornscsi_intr, 0, "acornscsi", ashost);
 	if (ret) {
 		printk(KERN_CRIT "scsi%d: IRQ%d not free: %d\n",
 			host->host_no, ashost->scsi.irq, ret);
diff --git a/drivers/scsi/arm/cumana_1.c b/drivers/scsi/arm/cumana_1.c
index a3398fe..c5f46ba 100644
--- a/drivers/scsi/arm/cumana_1.c
+++ b/drivers/scsi/arm/cumana_1.c
@@ -264,7 +264,7 @@ cumanascsi1_probe(struct expansion_card *ec, const struct ecard_id *id)
 		goto out_unmap;
 	}
 
-	ret = request_irq(host->irq, cumanascsi_intr, IRQF_DISABLED,
+	ret = request_irq(host->irq, cumanascsi_intr, 0,
 			  "CumanaSCSI-1", host);
 	if (ret) {
 		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 547987b..084ed7b 100644
--- a/drivers/scsi/arm/cumana_2.c
+++ b/drivers/scsi/arm/cumana_2.c
@@ -456,7 +456,7 @@ cumanascsi2_probe(struct expansion_card *ec, const struct ecard_id *id)
 		goto out_free;
 
 	ret = request_irq(ec->irq, cumanascsi_2_intr,
-			  IRQF_DISABLED, "cumanascsi2", info);
+			  0, "cumanascsi2", info);
 	if (ret) {
 		printk("scsi%d: IRQ%d not free: %d\n",
 		       host->host_no, ec->irq, ret);
diff --git a/drivers/scsi/arm/powertec.c b/drivers/scsi/arm/powertec.c
index 9274c06..49ac0c2 100644
--- a/drivers/scsi/arm/powertec.c
+++ b/drivers/scsi/arm/powertec.c
@@ -369,7 +369,7 @@ powertecscsi_probe(struct expansion_card *ec, const struct ecard_id *id)
 		goto out_free;
 
 	ret = request_irq(ec->irq, powertecscsi_intr,
-			  IRQF_DISABLED, "powertec", info);
+			  0, "powertec", info);
 	if (ret) {
 		printk("scsi%d: IRQ%d not free: %d\n",
 		       host->host_no, ec->irq, ret);
diff --git a/drivers/scsi/dtc.c b/drivers/scsi/dtc.c
index c2677ba..c77c820 100644
--- a/drivers/scsi/dtc.c
+++ b/drivers/scsi/dtc.c
@@ -277,7 +277,7 @@ found:
 		/* With interrupts enabled, it will sometimes hang when doing heavy
 		 * reads. So better not enable them until I finger it out. */
 		if (instance->irq != SCSI_IRQ_NONE)
-			if (request_irq(instance->irq, dtc_intr, IRQF_DISABLED,
+			if (request_irq(instance->irq, dtc_intr, 0,
 					"dtc", instance)) {
 				printk(KERN_ERR "scsi%d : IRQ%d not free, interrupts disabled\n", instance->host_no, instance->irq);
 				instance->irq = SCSI_IRQ_NONE;
diff --git a/drivers/scsi/eata.c b/drivers/scsi/eata.c
index 94de889..bc2e02e 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,
 
 	/* Board detected, allocate its IRQ */
 	if (request_irq(irq, do_interrupt_handler,
-			IRQF_DISABLED | ((subversion == ESA) ? IRQF_SHARED : 0),
+			((subversion == ESA) ? IRQF_SHARED : 0),
 			driver_name, (void *)&sha[j])) {
 		printk("%s: unable to allocate IRQ %u, detaching.\n", name,
 		       irq);
diff --git a/drivers/scsi/eata_pio.c b/drivers/scsi/eata_pio.c
index d5f8362..dcc9820 100644
--- a/drivers/scsi/eata_pio.c
+++ b/drivers/scsi/eata_pio.c
@@ -723,7 +723,7 @@ static int register_pio_HBA(long base, struct get_conf *gc, struct pci_dev *pdev
 		return 0;
 
 	if (!reg_IRQ[gc->IRQ]) {	/* Interrupt already registered ? */
-		if (!request_irq(gc->IRQ, do_eata_pio_int_handler, IRQF_DISABLED, "EATA-PIO", sh)) {
+		if (!request_irq(gc->IRQ, do_eata_pio_int_handler, 0, "EATA-PIO", sh)) {
 			reg_IRQ[gc->IRQ]++;
 			if (!gc->IRQ_TR)
 				reg_IRQL[gc->IRQ] = 1;	/* IRQ is edge triggered */
@@ -957,7 +957,7 @@ static int eata_pio_detect(struct scsi_host_template *tpnt)
 
 	for (i = 0; i <= MAXIRQ; i++)
 		if (reg_IRQ[i])
-			request_irq(i, do_eata_pio_int_handler, IRQF_DISABLED, "EATA-PIO", NULL);
+			request_irq(i, do_eata_pio_int_handler, 0, "EATA-PIO", NULL);
 
 	HBA_ptr = first_HBA;
 
diff --git a/drivers/scsi/g_NCR5380.c b/drivers/scsi/g_NCR5380.c
index 81182ba..72cf40f 100644
--- a/drivers/scsi/g_NCR5380.c
+++ b/drivers/scsi/g_NCR5380.c
@@ -462,7 +462,7 @@ int __init generic_NCR5380_detect(struct scsi_host_template * tpnt)
 
 		if (instance->irq != SCSI_IRQ_NONE)
 			if (request_irq(instance->irq, generic_NCR5380_intr,
-					IRQF_DISABLED, "NCR5380", instance)) {
+					0, "NCR5380", instance)) {
 				printk(KERN_WARNING "scsi%d : IRQ%d not free, interrupts disabled\n", instance->host_no, instance->irq);
 				instance->irq = SCSI_IRQ_NONE;
 			}
diff --git a/drivers/scsi/gdth.c b/drivers/scsi/gdth.c
index 3242bca..045cc61 100644
--- a/drivers/scsi/gdth.c
+++ b/drivers/scsi/gdth.c
@@ -4718,7 +4718,7 @@ static int __init gdth_isa_probe_one(u32 isa_bios)
 	printk("Configuring GDT-ISA HA at BIOS 0x%05X IRQ %u DRQ %u\n",
 		isa_bios, ha->irq, ha->drq);
 
-	error = request_irq(ha->irq, gdth_interrupt, IRQF_DISABLED, "gdth", ha);
+	error = request_irq(ha->irq, gdth_interrupt, 0, "gdth", ha);
 	if (error) {
 		printk("GDT-ISA: Unable to allocate IRQ\n");
 		goto out_host_put;
@@ -4850,7 +4850,7 @@ static int __init gdth_eisa_probe_one(u16 eisa_slot)
 	printk("Configuring GDT-EISA HA at Slot %d IRQ %u\n",
 		eisa_slot >> 12, ha->irq);
 
-	error = request_irq(ha->irq, gdth_interrupt, IRQF_DISABLED, "gdth", ha);
+	error = request_irq(ha->irq, gdth_interrupt, 0, "gdth", ha);
 	if (error) {
 		printk("GDT-EISA: Unable to allocate IRQ\n");
 		goto out_host_put;
@@ -4987,7 +4987,7 @@ static int __devinit gdth_pci_probe_one(gdth_pci_str *pcistr,
 		ha->irq);
 
 	error = request_irq(ha->irq, gdth_interrupt,
-				IRQF_DISABLED|IRQF_SHARED, "gdth", ha);
+				IRQF_SHARED, "gdth", ha);
 	if (error) {
 		printk("GDT-PCI: Unable to allocate IRQ\n");
 		goto out_host_put;
diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
index b200b73..444ea3b 100644
--- a/drivers/scsi/hpsa.c
+++ b/drivers/scsi/hpsa.c
@@ -4025,10 +4025,10 @@ static int hpsa_request_irq(struct ctlr_info *h,
 
 	if (h->msix_vector || h->msi_vector)
 		rc = request_irq(h->intr[h->intr_mode], msixhandler,
-				IRQF_DISABLED, h->devname, h);
+				0, h->devname, h);
 	else
 		rc = request_irq(h->intr[h->intr_mode], intxhandler,
-				IRQF_DISABLED, h->devname, h);
+				0, h->devname, h);
 	if (rc) {
 		dev_err(&h->pdev->dev, "unable to get irq %d for %s\n",
 		       h->intr[h->intr_mode], h->devname);
diff --git a/drivers/scsi/ibmvscsi/ibmvstgt.c b/drivers/scsi/ibmvscsi/ibmvstgt.c
index 2256bab..41d42f2 100644
--- a/drivers/scsi/ibmvscsi/ibmvstgt.c
+++ b/drivers/scsi/ibmvscsi/ibmvstgt.c
@@ -589,7 +589,7 @@ static int crq_queue_create(struct crq_queue *queue, struct srp_target *target)
 	}
 
 	err = request_irq(vport->dma_dev->irq, &ibmvstgt_interrupt,
-			  IRQF_DISABLED, "ibmvstgt", target);
+			  0, "ibmvstgt", target);
 	if (err)
 		goto req_irq_failed;
 
diff --git a/drivers/scsi/in2000.c b/drivers/scsi/in2000.c
index 112f1be..1efb20b 100644
--- a/drivers/scsi/in2000.c
+++ b/drivers/scsi/in2000.c
@@ -2016,7 +2016,7 @@ static int __init in2000_detect(struct scsi_host_template * tpnt)
 		write1_io(0, IO_FIFO_READ);	/* start fifo out in read mode */
 		write1_io(0, IO_INTR_MASK);	/* allow all ints */
 		x = int_tab[(switches & (SW_INT0 | SW_INT1)) >> SW_INT_SHIFT];
-		if (request_irq(x, in2000_intr, IRQF_DISABLED, "in2000", instance)) {
+		if (request_irq(x, in2000_intr, 0, "in2000", instance)) {
 			printk("in2000_detect: Unable to allocate IRQ.\n");
 			detect_count--;
 			continue;
diff --git a/drivers/scsi/initio.c b/drivers/scsi/initio.c
index dd741bc..4c80c7d 100644
--- a/drivers/scsi/initio.c
+++ b/drivers/scsi/initio.c
@@ -2931,7 +2931,7 @@ static int initio_probe_one(struct pci_dev *pdev,
 	shost->base = host->addr;
 	shost->sg_tablesize = TOTAL_SG_ENTRY;
 
-	error = request_irq(pdev->irq, i91u_intr, IRQF_DISABLED|IRQF_SHARED, "i91u", shost);
+	error = request_irq(pdev->irq, i91u_intr, IRQF_SHARED, "i91u", shost);
 	if (error < 0) {
 		printk(KERN_WARNING "initio: Unable to request IRQ %d\n", pdev->irq);
 		goto out_free_scbs;
diff --git a/drivers/scsi/pas16.c b/drivers/scsi/pas16.c
index f2018b4..e75d43d 100644
--- a/drivers/scsi/pas16.c
+++ b/drivers/scsi/pas16.c
@@ -453,7 +453,7 @@ int __init pas16_detect(struct scsi_host_template * tpnt)
 	    instance->irq = NCR5380_probe_irq(instance, PAS16_IRQS);
 
 	if (instance->irq != SCSI_IRQ_NONE) 
-	    if (request_irq(instance->irq, pas16_intr, IRQF_DISABLED,
+	    if (request_irq(instance->irq, pas16_intr, 0,
 			    "pas16", instance)) {
 		printk("scsi%d : IRQ%d not free, interrupts disabled\n", 
 		    instance->host_no, instance->irq);
diff --git a/drivers/scsi/pm8001/pm8001_init.c b/drivers/scsi/pm8001/pm8001_init.c
index 172cefb..d148ba3 100644
--- a/drivers/scsi/pm8001/pm8001_init.c
+++ b/drivers/scsi/pm8001/pm8001_init.c
@@ -553,12 +553,10 @@ static u32 pm8001_setup_msix(struct pm8001_hba_info *pm8001_ha,
 {
 	u32 i = 0, j = 0;
 	u32 number_of_intr = 1;
-	int flag = 0;
 	u32 max_entry;
 	int rc;
 	max_entry = sizeof(pm8001_ha->msix_entries) /
 		sizeof(pm8001_ha->msix_entries[0]);
-	flag |= IRQF_DISABLED;
 	for (i = 0; i < max_entry ; i++)
 		pm8001_ha->msix_entries[i].entry = i;
 	rc = pci_enable_msix(pm8001_ha->pdev, pm8001_ha->msix_entries,
@@ -567,7 +565,7 @@ static u32 pm8001_setup_msix(struct pm8001_hba_info *pm8001_ha,
 	if (!rc) {
 		for (i = 0; i < number_of_intr; i++) {
 			if (request_irq(pm8001_ha->msix_entries[i].vector,
-				irq_handler, flag, DRV_NAME,
+				irq_handler, 0, DRV_NAME,
 				SHOST_TO_SAS_HA(pm8001_ha->shost))) {
 				for (j = 0; j < i; j++)
 					free_irq(
diff --git a/drivers/scsi/t128.c b/drivers/scsi/t128.c
index 041eaaa..d9142a2 100644
--- a/drivers/scsi/t128.c
+++ b/drivers/scsi/t128.c
@@ -259,7 +259,7 @@ found:
 	    instance->irq = NCR5380_probe_irq(instance, T128_IRQS);
 
 	if (instance->irq != SCSI_IRQ_NONE) 
-	    if (request_irq(instance->irq, t128_intr, IRQF_DISABLED, "t128",
+	    if (request_irq(instance->irq, t128_intr, 0, "t128",
 			    instance)) {
 		printk("scsi%d : IRQ%d not free, interrupts disabled\n", 
 		    instance->host_no, instance->irq);
diff --git a/drivers/scsi/u14-34f.c b/drivers/scsi/u14-34f.c
index 90e104d..5c50f9c 100644
--- a/drivers/scsi/u14-34f.c
+++ b/drivers/scsi/u14-34f.c
@@ -874,7 +874,7 @@ static int port_detect \
 
    /* Board detected, allocate its IRQ */
    if (request_irq(irq, do_interrupt_handler,
-             IRQF_DISABLED | ((subversion == ESA) ? IRQF_SHARED : 0),
+             ((subversion == ESA) ? IRQF_SHARED : 0),
              driver_name, (void *) &sha[j])) {
       printk("%s: unable to allocate IRQ %u, detaching.\n", name, irq);
       goto freelock;
diff --git a/drivers/scsi/wd7000.c b/drivers/scsi/wd7000.c
index 9ee0afe..8cab246 100644
--- a/drivers/scsi/wd7000.c
+++ b/drivers/scsi/wd7000.c
@@ -1253,7 +1253,7 @@ static int wd7000_init(Adapter * host)
 		return 0;
 
 
-	if (request_irq(host->irq, wd7000_intr, IRQF_DISABLED, "wd7000", host)) {
+	if (request_irq(host->irq, wd7000_intr, 0, "wd7000", host)) {
 		printk("wd7000_init: can't get IRQ %d.\n", host->irq);
 		return (0);
 	}
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 25/57] ata: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
                   ` (23 preceding siblings ...)
  2011-09-21  9:28   ` Yong Zhang
@ 2011-09-21  9:28 ` Yong Zhang
  2011-09-21 10:35   ` Wolfram Sang
  2011-09-21  9:28 ` [PATCH 26/57] block: " Yong Zhang
                   ` (32 subsequent siblings)
  57 siblings, 1 reply; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel; +Cc: tglx, yong.zhang0, Jeff Garzik, linux-ide

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 drivers/ata/pata_mpc52xx.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/ata/pata_mpc52xx.c b/drivers/ata/pata_mpc52xx.c
index 2fcac51..3e17463 100644
--- a/drivers/ata/pata_mpc52xx.c
+++ b/drivers/ata/pata_mpc52xx.c
@@ -780,7 +780,7 @@ mpc52xx_ata_probe(struct platform_device *op)
 	}
 
 	task_irq = bcom_get_task_irq(dmatsk);
-	ret = request_irq(task_irq, &mpc52xx_ata_task_irq, IRQF_DISABLED,
+	ret = request_irq(task_irq, &mpc52xx_ata_task_irq, 0,
 				"ATA task", priv);
 	if (ret) {
 		dev_err(&op->dev, "error requesting DMA IRQ\n");
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 26/57] block: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
                   ` (24 preceding siblings ...)
  2011-09-21  9:28 ` [PATCH 25/57] ata: " Yong Zhang
@ 2011-09-21  9:28 ` Yong Zhang
  2011-09-21  9:28 ` [PATCH 27/57] cdrom: " Yong Zhang
                   ` (31 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Mike Miller, Chirag Kantharia,
	Lucas De Marchi, Ralf Baechle, iss_storagedev

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Acked-by: Mike Miller <mike.miller@hp.com>
---
 drivers/block/cciss.c    |    4 ++--
 drivers/block/cpqarray.c |    2 +-
 drivers/block/hd.c       |    7 +------
 drivers/block/mg_disk.c  |    2 +-
 4 files changed, 5 insertions(+), 10 deletions(-)

diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c
index 6da7ede..3f3b7a2 100644
--- a/drivers/block/cciss.c
+++ b/drivers/block/cciss.c
@@ -4868,7 +4868,7 @@ static int cciss_request_irq(ctlr_info_t *h,
 {
 	if (h->msix_vector || h->msi_vector) {
 		if (!request_irq(h->intr[h->intr_mode], msixhandler,
-				IRQF_DISABLED, h->devname, h))
+				0, h->devname, h))
 			return 0;
 		dev_err(&h->pdev->dev, "Unable to get msi irq %d"
 			" for %s\n", h->intr[h->intr_mode],
@@ -4877,7 +4877,7 @@ static int cciss_request_irq(ctlr_info_t *h,
 	}
 
 	if (!request_irq(h->intr[h->intr_mode], intxhandler,
-			IRQF_DISABLED, h->devname, h))
+			0, h->devname, h))
 		return 0;
 	dev_err(&h->pdev->dev, "Unable to get irq %d for %s\n",
 		h->intr[h->intr_mode], h->devname);
diff --git a/drivers/block/cpqarray.c b/drivers/block/cpqarray.c
index b2fceb5..33afbd7 100644
--- a/drivers/block/cpqarray.c
+++ b/drivers/block/cpqarray.c
@@ -406,7 +406,7 @@ static int __devinit cpqarray_register_ctlr( int i, struct pci_dev *pdev)
 	}
 	hba[i]->access.set_intr_mask(hba[i], 0);
 	if (request_irq(hba[i]->intr, do_ida_intr,
-		IRQF_DISABLED|IRQF_SHARED, hba[i]->devname, hba[i]))
+		IRQF_SHARED, hba[i]->devname, hba[i]))
 	{
 		printk(KERN_ERR "cpqarray: Unable to get irq %d for %s\n",
 				hba[i]->intr, hba[i]->devname);
diff --git a/drivers/block/hd.c b/drivers/block/hd.c
index b52c9ca..c30d1f9 100644
--- a/drivers/block/hd.c
+++ b/drivers/block/hd.c
@@ -696,11 +696,6 @@ static const struct block_device_operations hd_fops = {
 };
 
 /*
- * This is the hard disk IRQ description. The IRQF_DISABLED in sa_flags
- * means we run the IRQ-handler with interrupts disabled:  this is bad for
- * interrupt latency, but anything else has led to problems on some
- * machines.
- *
  * We enable interrupts in some of the routines after making sure it's
  * safe.
  */
@@ -762,7 +757,7 @@ static int __init hd_init(void)
 			p->cyl, p->head, p->sect);
 	}
 
-	if (request_irq(HD_IRQ, hd_interrupt, IRQF_DISABLED, "hd", NULL)) {
+	if (request_irq(HD_IRQ, hd_interrupt, 0, "hd", NULL)) {
 		printk("hd: unable to get IRQ%d for the hard disk driver\n",
 			HD_IRQ);
 		goto out1;
diff --git a/drivers/block/mg_disk.c b/drivers/block/mg_disk.c
index 76fa3de..3c80cba 100644
--- a/drivers/block/mg_disk.c
+++ b/drivers/block/mg_disk.c
@@ -930,7 +930,7 @@ static int mg_probe(struct platform_device *plat_dev)
 			goto probe_err_3b;
 		}
 		err = request_irq(host->irq, mg_irq,
-				IRQF_DISABLED | IRQF_TRIGGER_RISING,
+				IRQF_TRIGGER_RISING,
 				MG_DEV_NAME, host);
 		if (err) {
 			printk(KERN_ERR "%s:%d fail (request_irq err=%d)\n",
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 27/57] cdrom: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
                   ` (25 preceding siblings ...)
  2011-09-21  9:28 ` [PATCH 26/57] block: " Yong Zhang
@ 2011-09-21  9:28 ` Yong Zhang
  2011-09-21  9:28   ` Yong Zhang
                   ` (30 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Tejun Heo, Paul Mundt, Jens Axboe, Arnd Bergmann

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 drivers/cdrom/gdrom.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/cdrom/gdrom.c b/drivers/cdrom/gdrom.c
index 3ceaf00..88ae54a 100644
--- a/drivers/cdrom/gdrom.c
+++ b/drivers/cdrom/gdrom.c
@@ -562,11 +562,11 @@ static int __devinit gdrom_set_interrupt_handlers(void)
 	int err;
 
 	err = request_irq(HW_EVENT_GDROM_CMD, gdrom_command_interrupt,
-		IRQF_DISABLED, "gdrom_command", &gd);
+		0, "gdrom_command", &gd);
 	if (err)
 		return err;
 	err = request_irq(HW_EVENT_GDROM_DMA, gdrom_dma_interrupt,
-		IRQF_DISABLED, "gdrom_dma", &gd);
+		0, "gdrom_dma", &gd);
 	if (err)
 		free_irq(HW_EVENT_GDROM_CMD, &gd);
 	return err;
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 28/57] driver/char: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
@ 2011-09-21  9:28   ` Yong Zhang
  2011-09-21  9:28 ` [PATCH 02/57] alpha: irq: Remove IRQF_DISABLED Yong Zhang
                     ` (56 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Clemens Ladisch, Corey Minyard, Mark Gross,
	Arnd Bergmann, Lucas De Marchi, Jiri Kosina, Christian Dietrich,
	openipmi-developer

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Acked-by: Clemens Ladisch <clemens@ladisch.de>
Acked-by: Corey Minyard <cminyard@mvista.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/char/hpet.c              |    2 +-
 drivers/char/ipmi/ipmi_si_intf.c |    4 ++--
 drivers/char/nwbutton.c          |    2 +-
 drivers/char/rtc.c               |    4 ++--
 drivers/char/snsc.c              |    2 +-
 drivers/char/snsc_event.c        |    2 +-
 drivers/char/tlclk.c             |    2 +-
 7 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/char/hpet.c b/drivers/char/hpet.c
index c9aeb7f..2a2ecac 100644
--- a/drivers/char/hpet.c
+++ b/drivers/char/hpet.c
@@ -532,7 +532,7 @@ static int hpet_ioctl_ieon(struct hpet_dev *devp)
 
 		sprintf(devp->hd_name, "hpet%d", (int)(devp - hpetp->hp_dev));
 		irq_flags = devp->hd_flags & HPET_SHARED_IRQ
-						? IRQF_SHARED : IRQF_DISABLED;
+						? IRQF_SHARED : 0;
 		if (request_irq(irq, hpet_interrupt, irq_flags,
 				devp->hd_name, (void *)devp)) {
 			printk(KERN_ERR "hpet: IRQ %d is not free\n", irq);
diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c
index 9397ab4..44e8da3 100644
--- a/drivers/char/ipmi/ipmi_si_intf.c
+++ b/drivers/char/ipmi/ipmi_si_intf.c
@@ -1336,7 +1336,7 @@ static int std_irq_setup(struct smi_info *info)
 	if (info->si_type == SI_BT) {
 		rv = request_irq(info->irq,
 				 si_bt_irq_handler,
-				 IRQF_SHARED | IRQF_DISABLED,
+				 IRQF_SHARED,
 				 DEVICE_NAME,
 				 info);
 		if (!rv)
@@ -1346,7 +1346,7 @@ static int std_irq_setup(struct smi_info *info)
 	} else
 		rv = request_irq(info->irq,
 				 si_irq_handler,
-				 IRQF_SHARED | IRQF_DISABLED,
+				 IRQF_SHARED,
 				 DEVICE_NAME,
 				 info);
 	if (rv) {
diff --git a/drivers/char/nwbutton.c b/drivers/char/nwbutton.c
index 04a480f..36aaf43 100644
--- a/drivers/char/nwbutton.c
+++ b/drivers/char/nwbutton.c
@@ -220,7 +220,7 @@ static int __init nwbutton_init(void)
 		return -EBUSY;
 	}
 
-	if (request_irq (IRQ_NETWINDER_BUTTON, button_handler, IRQF_DISABLED,
+	if (request_irq (IRQ_NETWINDER_BUTTON, button_handler, 0,
 			"nwbutton", NULL)) {
 		printk (KERN_WARNING "nwbutton: IRQ %d is not free.\n",
 				IRQ_NETWINDER_BUTTON);
diff --git a/drivers/char/rtc.c b/drivers/char/rtc.c
index ccd124a..d1478cd 100644
--- a/drivers/char/rtc.c
+++ b/drivers/char/rtc.c
@@ -228,7 +228,7 @@ static inline unsigned char rtc_is_updating(void)
 
 #ifdef RTC_IRQ
 /*
- *	A very tiny interrupt handler. It runs with IRQF_DISABLED set,
+ *	A very tiny interrupt handler. It runs with irqs disabled,
  *	but there is possibility of conflicting with the set_rtc_mmss()
  *	call (the rtc irq and the timer irq can easily run at the same
  *	time in two different CPUs). So we need to serialize
@@ -1041,7 +1041,7 @@ no_irq:
 		rtc_int_handler_ptr = rtc_interrupt;
 	}
 
-	if (request_irq(RTC_IRQ, rtc_int_handler_ptr, IRQF_DISABLED,
+	if (request_irq(RTC_IRQ, rtc_int_handler_ptr, 0,
 			"rtc", NULL)) {
 		/* Yeah right, seeing as irq 8 doesn't even hit the bus. */
 		rtc_has_irq = 0;
diff --git a/drivers/char/snsc.c b/drivers/char/snsc.c
index 5816b39..d3464ef 100644
--- a/drivers/char/snsc.c
+++ b/drivers/char/snsc.c
@@ -108,7 +108,7 @@ scdrv_open(struct inode *inode, struct file *file)
 	/* hook this subchannel up to the system controller interrupt */
 	mutex_lock(&scdrv_mutex);
 	rv = request_irq(SGI_UART_VECTOR, scdrv_interrupt,
-			 IRQF_SHARED | IRQF_DISABLED,
+			 IRQF_SHARED,
 			 SYSCTL_BASENAME, sd);
 	if (rv) {
 		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 ee15694..a35978c 100644
--- a/drivers/char/snsc_event.c
+++ b/drivers/char/snsc_event.c
@@ -292,7 +292,7 @@ scdrv_event_init(struct sysctl_data_s *scd)
 
 	/* hook event subchannel up to the system controller interrupt */
 	rv = request_irq(SGI_UART_VECTOR, scdrv_event_interrupt,
-			 IRQF_SHARED | IRQF_DISABLED,
+			 IRQF_SHARED,
 			 "system controller events", event_sd);
 	if (rv) {
 		printk(KERN_WARNING "%s: irq request failed (%d)\n",
diff --git a/drivers/char/tlclk.c b/drivers/char/tlclk.c
index 0c964cd..771e48e 100644
--- a/drivers/char/tlclk.c
+++ b/drivers/char/tlclk.c
@@ -222,7 +222,7 @@ static int tlclk_open(struct inode *inode, struct file *filp)
 	/* This device is wired through the FPGA IO space of the ATCA blade
 	 * we can't share this IRQ */
 	result = request_irq(telclk_interrupt, &tlclk_interrupt,
-			     IRQF_DISABLED, "telco_clock", tlclk_interrupt);
+			     0, "telco_clock", tlclk_interrupt);
 	if (result == -EBUSY)
 		printk(KERN_ERR "tlclk: Interrupt can't be reserved.\n");
 	else
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 28/57] driver/char: irq: Remove IRQF_DISABLED
@ 2011-09-21  9:28   ` Yong Zhang
  0 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Clemens Ladisch, Corey Minyard, Mark Gross,
	Arnd Bergmann, Lucas De Marchi, Jiri Kosina, Christian Dietrich,
	openipmi-developer

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Acked-by: Clemens Ladisch <clemens@ladisch.de>
Acked-by: Corey Minyard <cminyard@mvista.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/char/hpet.c              |    2 +-
 drivers/char/ipmi/ipmi_si_intf.c |    4 ++--
 drivers/char/nwbutton.c          |    2 +-
 drivers/char/rtc.c               |    4 ++--
 drivers/char/snsc.c              |    2 +-
 drivers/char/snsc_event.c        |    2 +-
 drivers/char/tlclk.c             |    2 +-
 7 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/char/hpet.c b/drivers/char/hpet.c
index c9aeb7f..2a2ecac 100644
--- a/drivers/char/hpet.c
+++ b/drivers/char/hpet.c
@@ -532,7 +532,7 @@ static int hpet_ioctl_ieon(struct hpet_dev *devp)
 
 		sprintf(devp->hd_name, "hpet%d", (int)(devp - hpetp->hp_dev));
 		irq_flags = devp->hd_flags & HPET_SHARED_IRQ
-						? IRQF_SHARED : IRQF_DISABLED;
+						? IRQF_SHARED : 0;
 		if (request_irq(irq, hpet_interrupt, irq_flags,
 				devp->hd_name, (void *)devp)) {
 			printk(KERN_ERR "hpet: IRQ %d is not free\n", irq);
diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c
index 9397ab4..44e8da3 100644
--- a/drivers/char/ipmi/ipmi_si_intf.c
+++ b/drivers/char/ipmi/ipmi_si_intf.c
@@ -1336,7 +1336,7 @@ static int std_irq_setup(struct smi_info *info)
 	if (info->si_type == SI_BT) {
 		rv = request_irq(info->irq,
 				 si_bt_irq_handler,
-				 IRQF_SHARED | IRQF_DISABLED,
+				 IRQF_SHARED,
 				 DEVICE_NAME,
 				 info);
 		if (!rv)
@@ -1346,7 +1346,7 @@ static int std_irq_setup(struct smi_info *info)
 	} else
 		rv = request_irq(info->irq,
 				 si_irq_handler,
-				 IRQF_SHARED | IRQF_DISABLED,
+				 IRQF_SHARED,
 				 DEVICE_NAME,
 				 info);
 	if (rv) {
diff --git a/drivers/char/nwbutton.c b/drivers/char/nwbutton.c
index 04a480f..36aaf43 100644
--- a/drivers/char/nwbutton.c
+++ b/drivers/char/nwbutton.c
@@ -220,7 +220,7 @@ static int __init nwbutton_init(void)
 		return -EBUSY;
 	}
 
-	if (request_irq (IRQ_NETWINDER_BUTTON, button_handler, IRQF_DISABLED,
+	if (request_irq (IRQ_NETWINDER_BUTTON, button_handler, 0,
 			"nwbutton", NULL)) {
 		printk (KERN_WARNING "nwbutton: IRQ %d is not free.\n",
 				IRQ_NETWINDER_BUTTON);
diff --git a/drivers/char/rtc.c b/drivers/char/rtc.c
index ccd124a..d1478cd 100644
--- a/drivers/char/rtc.c
+++ b/drivers/char/rtc.c
@@ -228,7 +228,7 @@ static inline unsigned char rtc_is_updating(void)
 
 #ifdef RTC_IRQ
 /*
- *	A very tiny interrupt handler. It runs with IRQF_DISABLED set,
+ *	A very tiny interrupt handler. It runs with irqs disabled,
  *	but there is possibility of conflicting with the set_rtc_mmss()
  *	call (the rtc irq and the timer irq can easily run at the same
  *	time in two different CPUs). So we need to serialize
@@ -1041,7 +1041,7 @@ no_irq:
 		rtc_int_handler_ptr = rtc_interrupt;
 	}
 
-	if (request_irq(RTC_IRQ, rtc_int_handler_ptr, IRQF_DISABLED,
+	if (request_irq(RTC_IRQ, rtc_int_handler_ptr, 0,
 			"rtc", NULL)) {
 		/* Yeah right, seeing as irq 8 doesn't even hit the bus. */
 		rtc_has_irq = 0;
diff --git a/drivers/char/snsc.c b/drivers/char/snsc.c
index 5816b39..d3464ef 100644
--- a/drivers/char/snsc.c
+++ b/drivers/char/snsc.c
@@ -108,7 +108,7 @@ scdrv_open(struct inode *inode, struct file *file)
 	/* hook this subchannel up to the system controller interrupt */
 	mutex_lock(&scdrv_mutex);
 	rv = request_irq(SGI_UART_VECTOR, scdrv_interrupt,
-			 IRQF_SHARED | IRQF_DISABLED,
+			 IRQF_SHARED,
 			 SYSCTL_BASENAME, sd);
 	if (rv) {
 		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 ee15694..a35978c 100644
--- a/drivers/char/snsc_event.c
+++ b/drivers/char/snsc_event.c
@@ -292,7 +292,7 @@ scdrv_event_init(struct sysctl_data_s *scd)
 
 	/* hook event subchannel up to the system controller interrupt */
 	rv = request_irq(SGI_UART_VECTOR, scdrv_event_interrupt,
-			 IRQF_SHARED | IRQF_DISABLED,
+			 IRQF_SHARED,
 			 "system controller events", event_sd);
 	if (rv) {
 		printk(KERN_WARNING "%s: irq request failed (%d)\n",
diff --git a/drivers/char/tlclk.c b/drivers/char/tlclk.c
index 0c964cd..771e48e 100644
--- a/drivers/char/tlclk.c
+++ b/drivers/char/tlclk.c
@@ -222,7 +222,7 @@ static int tlclk_open(struct inode *inode, struct file *filp)
 	/* This device is wired through the FPGA IO space of the ATCA blade
 	 * we can't share this IRQ */
 	result = request_irq(telclk_interrupt, &tlclk_interrupt,
-			     IRQF_DISABLED, "telco_clock", tlclk_interrupt);
+			     0, "telco_clock", tlclk_interrupt);
 	if (result == -EBUSY)
 		printk(KERN_ERR "tlclk: Interrupt can't be reserved.\n");
 	else
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 29/57] crypto: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
@ 2011-09-21  9:28   ` Yong Zhang
  2011-09-21  9:28 ` [PATCH 02/57] alpha: irq: Remove IRQF_DISABLED Yong Zhang
                     ` (56 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Herbert Xu, David S. Miller, linux-crypto

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 drivers/crypto/mv_cesa.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/drivers/crypto/mv_cesa.c b/drivers/crypto/mv_cesa.c
index 5c6f56f..7a10360 100644
--- a/drivers/crypto/mv_cesa.c
+++ b/drivers/crypto/mv_cesa.c
@@ -1041,8 +1041,7 @@ static int mv_probe(struct platform_device *pdev)
 		goto err_unmap_sram;
 	}
 
-	ret = request_irq(irq, crypto_int, IRQF_DISABLED, dev_name(&pdev->dev),
-			cp);
+	ret = request_irq(irq, crypto_int, 0, dev_name(&pdev->dev), cp);
 	if (ret)
 		goto err_thread;
 
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 29/57] crypto: irq: Remove IRQF_DISABLED
@ 2011-09-21  9:28   ` Yong Zhang
  0 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Herbert Xu, David S. Miller, linux-crypto

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 drivers/crypto/mv_cesa.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/drivers/crypto/mv_cesa.c b/drivers/crypto/mv_cesa.c
index 5c6f56f..7a10360 100644
--- a/drivers/crypto/mv_cesa.c
+++ b/drivers/crypto/mv_cesa.c
@@ -1041,8 +1041,7 @@ static int mv_probe(struct platform_device *pdev)
 		goto err_unmap_sram;
 	}
 
-	ret = request_irq(irq, crypto_int, IRQF_DISABLED, dev_name(&pdev->dev),
-			cp);
+	ret = request_irq(irq, crypto_int, 0, dev_name(&pdev->dev), cp);
 	if (ret)
 		goto err_thread;
 
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 30/57] dmaengine: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
@ 2011-09-21  9:28   ` Yong Zhang
  2011-09-21  9:28 ` [PATCH 02/57] alpha: irq: Remove IRQF_DISABLED Yong Zhang
                     ` (56 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Vinod Koul, Dan Williams, Linus Walleij,
	linux-arm-kernel

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Acked-by: Vinod Koul <vinod.koul@linux.intel.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
---
 drivers/dma/amba-pl08x.c |    2 +-
 drivers/dma/coh901318.c  |    2 +-
 drivers/dma/shdma.c      |    4 ++--
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/dma/amba-pl08x.c b/drivers/dma/amba-pl08x.c
index cd8df7f..5337b69 100644
--- a/drivers/dma/amba-pl08x.c
+++ b/drivers/dma/amba-pl08x.c
@@ -1866,7 +1866,7 @@ static int pl08x_probe(struct amba_device *adev, const struct amba_id *id)
 	writel(0x000000FF, pl08x->base + PL080_ERR_CLEAR);
 	writel(0x000000FF, pl08x->base + PL080_TC_CLEAR);
 
-	ret = request_irq(adev->irq[0], pl08x_irq, IRQF_DISABLED,
+	ret = request_irq(adev->irq[0], pl08x_irq, 0,
 			  DRIVER_NAME, pl08x);
 	if (ret) {
 		dev_err(&adev->dev, "%s failed to request interrupt %d\n",
diff --git a/drivers/dma/coh901318.c b/drivers/dma/coh901318.c
index 4234f41..1dd9455 100644
--- a/drivers/dma/coh901318.c
+++ b/drivers/dma/coh901318.c
@@ -1506,7 +1506,7 @@ static int __init coh901318_probe(struct platform_device *pdev)
 	if (irq < 0)
 		goto err_no_irq;
 
-	err = request_irq(irq, dma_irq_handler, IRQF_DISABLED,
+	err = request_irq(irq, dma_irq_handler, 0,
 			  "coh901318", base);
 	if (err) {
 		dev_crit(&pdev->dev,
diff --git a/drivers/dma/shdma.c b/drivers/dma/shdma.c
index 7f49235..8c137d2 100644
--- a/drivers/dma/shdma.c
+++ b/drivers/dma/shdma.c
@@ -1106,7 +1106,7 @@ static void sh_dmae_chan_remove(struct sh_dmae_device *shdev)
 static int __init sh_dmae_probe(struct platform_device *pdev)
 {
 	struct sh_dmae_pdata *pdata = pdev->dev.platform_data;
-	unsigned long irqflags = IRQF_DISABLED,
+	unsigned long irqflags = 0,
 		chan_flag[SH_DMAC_MAX_CHANNELS] = {};
 	int errirq, chan_irq[SH_DMAC_MAX_CHANNELS];
 	int err, i, irq_cnt = 0, irqres = 0, irq_cap = 0;
@@ -1266,7 +1266,7 @@ static int __init sh_dmae_probe(struct platform_device *pdev)
 				    IORESOURCE_IRQ_SHAREABLE)
 					chan_flag[irq_cnt] = IRQF_SHARED;
 				else
-					chan_flag[irq_cnt] = IRQF_DISABLED;
+					chan_flag[irq_cnt] = 0;
 				dev_dbg(&pdev->dev,
 					"Found IRQ %d for channel %d\n",
 					i, irq_cnt);
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 30/57] dmaengine: irq: Remove IRQF_DISABLED
@ 2011-09-21  9:28   ` Yong Zhang
  0 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arm-kernel

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Acked-by: Vinod Koul <vinod.koul@linux.intel.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
---
 drivers/dma/amba-pl08x.c |    2 +-
 drivers/dma/coh901318.c  |    2 +-
 drivers/dma/shdma.c      |    4 ++--
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/dma/amba-pl08x.c b/drivers/dma/amba-pl08x.c
index cd8df7f..5337b69 100644
--- a/drivers/dma/amba-pl08x.c
+++ b/drivers/dma/amba-pl08x.c
@@ -1866,7 +1866,7 @@ static int pl08x_probe(struct amba_device *adev, const struct amba_id *id)
 	writel(0x000000FF, pl08x->base + PL080_ERR_CLEAR);
 	writel(0x000000FF, pl08x->base + PL080_TC_CLEAR);
 
-	ret = request_irq(adev->irq[0], pl08x_irq, IRQF_DISABLED,
+	ret = request_irq(adev->irq[0], pl08x_irq, 0,
 			  DRIVER_NAME, pl08x);
 	if (ret) {
 		dev_err(&adev->dev, "%s failed to request interrupt %d\n",
diff --git a/drivers/dma/coh901318.c b/drivers/dma/coh901318.c
index 4234f41..1dd9455 100644
--- a/drivers/dma/coh901318.c
+++ b/drivers/dma/coh901318.c
@@ -1506,7 +1506,7 @@ static int __init coh901318_probe(struct platform_device *pdev)
 	if (irq < 0)
 		goto err_no_irq;
 
-	err = request_irq(irq, dma_irq_handler, IRQF_DISABLED,
+	err = request_irq(irq, dma_irq_handler, 0,
 			  "coh901318", base);
 	if (err) {
 		dev_crit(&pdev->dev,
diff --git a/drivers/dma/shdma.c b/drivers/dma/shdma.c
index 7f49235..8c137d2 100644
--- a/drivers/dma/shdma.c
+++ b/drivers/dma/shdma.c
@@ -1106,7 +1106,7 @@ static void sh_dmae_chan_remove(struct sh_dmae_device *shdev)
 static int __init sh_dmae_probe(struct platform_device *pdev)
 {
 	struct sh_dmae_pdata *pdata = pdev->dev.platform_data;
-	unsigned long irqflags = IRQF_DISABLED,
+	unsigned long irqflags = 0,
 		chan_flag[SH_DMAC_MAX_CHANNELS] = {};
 	int errirq, chan_irq[SH_DMAC_MAX_CHANNELS];
 	int err, i, irq_cnt = 0, irqres = 0, irq_cap = 0;
@@ -1266,7 +1266,7 @@ static int __init sh_dmae_probe(struct platform_device *pdev)
 				    IORESOURCE_IRQ_SHAREABLE)
 					chan_flag[irq_cnt] = IRQF_SHARED;
 				else
-					chan_flag[irq_cnt] = IRQF_DISABLED;
+					chan_flag[irq_cnt] = 0;
 				dev_dbg(&pdev->dev,
 					"Found IRQ %d for channel %d\n",
 					i, irq_cnt);
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 31/57] EDAC: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
                   ` (29 preceding siblings ...)
  2011-09-21  9:28   ` Yong Zhang
@ 2011-09-21  9:28 ` Yong Zhang
  2011-09-21  9:28   ` Yong Zhang
                   ` (26 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Andrew Morton, Jiri Kosina, Joe Perches,
	Kumar Gala, Kai.Jiang, Grant Likely, Mike Williams,
	Uwe Kleine-König, Michal Marek

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 drivers/edac/mpc85xx_edac.c |    6 +++---
 drivers/edac/mv64x60_edac.c |    8 ++++----
 drivers/edac/ppc4xx_edac.c  |    4 ++--
 3 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/edac/mpc85xx_edac.c b/drivers/edac/mpc85xx_edac.c
index 8af8e86..5cf8620 100644
--- a/drivers/edac/mpc85xx_edac.c
+++ b/drivers/edac/mpc85xx_edac.c
@@ -275,7 +275,7 @@ static int __devinit mpc85xx_pci_err_probe(struct platform_device *op)
 	if (edac_op_state == EDAC_OPSTATE_INT) {
 		pdata->irq = irq_of_parse_and_map(op->dev.of_node, 0);
 		res = devm_request_irq(&op->dev, pdata->irq,
-				       mpc85xx_pci_isr, IRQF_DISABLED,
+				       mpc85xx_pci_isr, 0,
 				       "[EDAC] PCI err", pci);
 		if (res < 0) {
 			printk(KERN_ERR
@@ -577,7 +577,7 @@ static int __devinit mpc85xx_l2_err_probe(struct platform_device *op)
 	if (edac_op_state == EDAC_OPSTATE_INT) {
 		pdata->irq = irq_of_parse_and_map(op->dev.of_node, 0);
 		res = devm_request_irq(&op->dev, pdata->irq,
-				       mpc85xx_l2_isr, IRQF_DISABLED,
+				       mpc85xx_l2_isr, 0,
 				       "[EDAC] L2 err", edac_dev);
 		if (res < 0) {
 			printk(KERN_ERR
@@ -1057,7 +1057,7 @@ static int __devinit mpc85xx_mc_err_probe(struct platform_device *op)
 		pdata->irq = irq_of_parse_and_map(op->dev.of_node, 0);
 		res = devm_request_irq(&op->dev, pdata->irq,
 				       mpc85xx_mc_isr,
-					IRQF_DISABLED | IRQF_SHARED,
+					IRQF_SHARED,
 				       "[EDAC] MC err", mci);
 		if (res < 0) {
 			printk(KERN_ERR "%s: Unable to request irq %d for "
diff --git a/drivers/edac/mv64x60_edac.c b/drivers/edac/mv64x60_edac.c
index 7e5ff36..224d9f1 100644
--- a/drivers/edac/mv64x60_edac.c
+++ b/drivers/edac/mv64x60_edac.c
@@ -178,7 +178,7 @@ static int __devinit mv64x60_pci_err_probe(struct platform_device *pdev)
 		res = devm_request_irq(&pdev->dev,
 				       pdata->irq,
 				       mv64x60_pci_isr,
-				       IRQF_DISABLED,
+				       0,
 				       "[EDAC] PCI err",
 				       pci);
 		if (res < 0) {
@@ -345,7 +345,7 @@ static int __devinit mv64x60_sram_err_probe(struct platform_device *pdev)
 		res = devm_request_irq(&pdev->dev,
 				       pdata->irq,
 				       mv64x60_sram_isr,
-				       IRQF_DISABLED,
+				       0,
 				       "[EDAC] SRAM err",
 				       edac_dev);
 		if (res < 0) {
@@ -540,7 +540,7 @@ static int __devinit mv64x60_cpu_err_probe(struct platform_device *pdev)
 		res = devm_request_irq(&pdev->dev,
 				       pdata->irq,
 				       mv64x60_cpu_isr,
-				       IRQF_DISABLED,
+				       0,
 				       "[EDAC] CPU err",
 				       edac_dev);
 		if (res < 0) {
@@ -785,7 +785,7 @@ static int __devinit mv64x60_mc_err_probe(struct platform_device *pdev)
 		res = devm_request_irq(&pdev->dev,
 				       pdata->irq,
 				       mv64x60_mc_isr,
-				       IRQF_DISABLED,
+				       0,
 				       "[EDAC] MC err",
 				       mci);
 		if (res < 0) {
diff --git a/drivers/edac/ppc4xx_edac.c b/drivers/edac/ppc4xx_edac.c
index 3840096..2c36d4a 100644
--- a/drivers/edac/ppc4xx_edac.c
+++ b/drivers/edac/ppc4xx_edac.c
@@ -1122,7 +1122,7 @@ ppc4xx_edac_register_irq(struct platform_device *op, struct mem_ctl_info *mci)
 
 	status = request_irq(ded_irq,
 			     ppc4xx_edac_isr,
-			     IRQF_DISABLED,
+			     0,
 			     "[EDAC] MC ECCDED",
 			     mci);
 
@@ -1136,7 +1136,7 @@ ppc4xx_edac_register_irq(struct platform_device *op, struct mem_ctl_info *mci)
 
 	status = request_irq(sec_irq,
 			     ppc4xx_edac_isr,
-			     IRQF_DISABLED,
+			     0,
 			     "[EDAC] MC ECCSEC",
 			     mci);
 
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 32/57] i2c: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
  2011-09-21  9:28 ` [PATCH 01/57] usb/hcd: Remove tricky code dealing with IRQF_DISABLED && IRQF_SHARED Yong Zhang
@ 2011-09-21  9:28   ` Yong Zhang
  2011-09-21  9:28 ` [PATCH 04/57] avr32: " Yong Zhang
                     ` (55 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Sonic Zhang, Jean Delvare (PC drivers, core),
	Ben Dooks (embedded platforms),
	Alessandro Rubini, Linus Walleij, STEricsson, Kukjin Kim,
	Wolfram Sang, Lucas De Marchi, Barry Song, Jiri Kosina,
	Justin P. Mattock, Joe Perches, Dave Airlie, Paul Gortmaker,
	Paul Mundt, Nobuhiro Iwamatsu, Magnus Damm, uclinux-dist-devel,
	linux-i2c, linux-arm-kernel

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Acked-by: Wolfram Sang <w.sang@pengutronix.de>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Barry Song <21cnbao@gmail.com>
---
 drivers/i2c/busses/i2c-bfin-twi.c   |    4 ++--
 drivers/i2c/busses/i2c-designware.c |    2 +-
 drivers/i2c/busses/i2c-highlander.c |    2 +-
 drivers/i2c/busses/i2c-nomadik.c    |    2 +-
 drivers/i2c/busses/i2c-nuc900.c     |    2 +-
 drivers/i2c/busses/i2c-pmcmsp.c     |    2 +-
 drivers/i2c/busses/i2c-s3c2410.c    |    2 +-
 drivers/i2c/busses/i2c-sh7760.c     |    2 +-
 drivers/i2c/busses/i2c-sh_mobile.c  |    2 +-
 drivers/i2c/busses/i2c-stu300.c     |    2 +-
 10 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/drivers/i2c/busses/i2c-bfin-twi.c b/drivers/i2c/busses/i2c-bfin-twi.c
index cbc98ae..cdb59e5 100644
--- a/drivers/i2c/busses/i2c-bfin-twi.c
+++ b/drivers/i2c/busses/i2c-bfin-twi.c
@@ -631,7 +631,7 @@ static int i2c_bfin_twi_resume(struct platform_device *pdev)
 	struct bfin_twi_iface *iface = platform_get_drvdata(pdev);
 
 	int rc = request_irq(iface->irq, bfin_twi_interrupt_entry,
-		IRQF_DISABLED, pdev->name, iface);
+		0, pdev->name, iface);
 	if (rc) {
 		dev_err(&pdev->dev, "Can't get IRQ %d !\n", iface->irq);
 		return -ENODEV;
@@ -702,7 +702,7 @@ static int i2c_bfin_twi_probe(struct platform_device *pdev)
 	}
 
 	rc = request_irq(iface->irq, bfin_twi_interrupt_entry,
-		IRQF_DISABLED, pdev->name, iface);
+		0, pdev->name, iface);
 	if (rc) {
 		dev_err(&pdev->dev, "Can't get IRQ %d !\n", iface->irq);
 		rc = -ENODEV;
diff --git a/drivers/i2c/busses/i2c-designware.c b/drivers/i2c/busses/i2c-designware.c
index 1b42b50..2ac1903 100644
--- a/drivers/i2c/busses/i2c-designware.c
+++ b/drivers/i2c/busses/i2c-designware.c
@@ -755,7 +755,7 @@ static int __devinit dw_i2c_probe(struct platform_device *pdev)
 	i2c_dw_init(dev);
 
 	writel(0, dev->base + DW_IC_INTR_MASK); /* disable IRQ */
-	r = request_irq(dev->irq, i2c_dw_isr, IRQF_DISABLED, pdev->name, dev);
+	r = request_irq(dev->irq, i2c_dw_isr, 0, pdev->name, dev);
 	if (r) {
 		dev_err(&pdev->dev, "failure requesting irq %i\n", dev->irq);
 		goto err_iounmap;
diff --git a/drivers/i2c/busses/i2c-highlander.c b/drivers/i2c/busses/i2c-highlander.c
index 3876a24..63bb1cc 100644
--- a/drivers/i2c/busses/i2c-highlander.c
+++ b/drivers/i2c/busses/i2c-highlander.c
@@ -387,7 +387,7 @@ static int __devinit highlander_i2c_probe(struct platform_device *pdev)
 		dev->irq = 0;
 
 	if (dev->irq) {
-		ret = request_irq(dev->irq, highlander_i2c_irq, IRQF_DISABLED,
+		ret = request_irq(dev->irq, highlander_i2c_irq, 0,
 				  pdev->name, dev);
 		if (unlikely(ret))
 			goto err_unmap;
diff --git a/drivers/i2c/busses/i2c-nomadik.c b/drivers/i2c/busses/i2c-nomadik.c
index b228e09..40702e8 100644
--- a/drivers/i2c/busses/i2c-nomadik.c
+++ b/drivers/i2c/busses/i2c-nomadik.c
@@ -935,7 +935,7 @@ static int __devinit nmk_i2c_probe(struct platform_device *pdev)
 	}
 
 	dev->irq = platform_get_irq(pdev, 0);
-	ret = request_irq(dev->irq, i2c_irq_handler, IRQF_DISABLED,
+	ret = request_irq(dev->irq, i2c_irq_handler, 0,
 				DRIVER_NAME, dev);
 	if (ret) {
 		dev_err(&pdev->dev, "cannot claim the irq %d\n", dev->irq);
diff --git a/drivers/i2c/busses/i2c-nuc900.c b/drivers/i2c/busses/i2c-nuc900.c
index 7243426..835e47b 100644
--- a/drivers/i2c/busses/i2c-nuc900.c
+++ b/drivers/i2c/busses/i2c-nuc900.c
@@ -610,7 +610,7 @@ static int __devinit nuc900_i2c_probe(struct platform_device *pdev)
 		goto err_iomap;
 	}
 
-	ret = request_irq(i2c->irq, nuc900_i2c_irq, IRQF_DISABLED | IRQF_SHARED,
+	ret = request_irq(i2c->irq, nuc900_i2c_irq, IRQF_SHARED,
 			  dev_name(&pdev->dev), i2c);
 
 	if (ret != 0) {
diff --git a/drivers/i2c/busses/i2c-pmcmsp.c b/drivers/i2c/busses/i2c-pmcmsp.c
index dfa7ae9..127051b 100644
--- a/drivers/i2c/busses/i2c-pmcmsp.c
+++ b/drivers/i2c/busses/i2c-pmcmsp.c
@@ -306,7 +306,7 @@ static int __devinit pmcmsptwi_probe(struct platform_device *pldev)
 	pmcmsptwi_data.irq = platform_get_irq(pldev, 0);
 	if (pmcmsptwi_data.irq) {
 		rc = request_irq(pmcmsptwi_data.irq, &pmcmsptwi_interrupt,
-			IRQF_SHARED | IRQF_DISABLED | IRQF_SAMPLE_RANDOM,
+			IRQF_SHARED | IRQF_SAMPLE_RANDOM,
 			pldev->name, &pmcmsptwi_data);
 		if (rc == 0) {
 			/*
diff --git a/drivers/i2c/busses/i2c-s3c2410.c b/drivers/i2c/busses/i2c-s3c2410.c
index 9c00ad1..2754cef 100644
--- a/drivers/i2c/busses/i2c-s3c2410.c
+++ b/drivers/i2c/busses/i2c-s3c2410.c
@@ -980,7 +980,7 @@ static int s3c24xx_i2c_probe(struct platform_device *pdev)
 		goto err_iomap;
 	}
 
-	ret = request_irq(i2c->irq, s3c24xx_i2c_irq, IRQF_DISABLED,
+	ret = request_irq(i2c->irq, s3c24xx_i2c_irq, 0,
 			  dev_name(&pdev->dev), i2c);
 
 	if (ret != 0) {
diff --git a/drivers/i2c/busses/i2c-sh7760.c b/drivers/i2c/busses/i2c-sh7760.c
index 4cd0a1d..a67132b 100644
--- a/drivers/i2c/busses/i2c-sh7760.c
+++ b/drivers/i2c/busses/i2c-sh7760.c
@@ -503,7 +503,7 @@ static int __devinit sh7760_i2c_probe(struct platform_device *pdev)
 	}
 	OUT32(id, I2CCCR, ret);
 
-	if (request_irq(id->irq, sh7760_i2c_irq, IRQF_DISABLED,
+	if (request_irq(id->irq, sh7760_i2c_irq, 0,
 			SH7760_I2C_DEVNAME, id)) {
 		dev_err(&pdev->dev, "cannot get irq %d\n", id->irq);
 		ret = -EBUSY;
diff --git a/drivers/i2c/busses/i2c-sh_mobile.c b/drivers/i2c/busses/i2c-sh_mobile.c
index f633a53..675c969 100644
--- a/drivers/i2c/busses/i2c-sh_mobile.c
+++ b/drivers/i2c/busses/i2c-sh_mobile.c
@@ -543,7 +543,7 @@ static int sh_mobile_i2c_hook_irqs(struct platform_device *dev, int hook)
 
 	while ((res = platform_get_resource(dev, IORESOURCE_IRQ, k))) {
 		for (n = res->start; hook && n <= res->end; n++) {
-			if (request_irq(n, sh_mobile_i2c_isr, IRQF_DISABLED,
+			if (request_irq(n, sh_mobile_i2c_isr, 0,
 					dev_name(&dev->dev), dev)) {
 				for (n--; n >= res->start; n--)
 					free_irq(n, dev);
diff --git a/drivers/i2c/busses/i2c-stu300.c b/drivers/i2c/busses/i2c-stu300.c
index 9987961..4d44af1 100644
--- a/drivers/i2c/busses/i2c-stu300.c
+++ b/drivers/i2c/busses/i2c-stu300.c
@@ -916,7 +916,7 @@ stu300_probe(struct platform_device *pdev)
 	}
 
 	dev->irq = platform_get_irq(pdev, 0);
-	if (request_irq(dev->irq, stu300_irh, IRQF_DISABLED,
+	if (request_irq(dev->irq, stu300_irh, 0,
 			NAME, dev)) {
 		ret = -EIO;
 		goto err_no_irq;
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 32/57] i2c: irq: Remove IRQF_DISABLED
@ 2011-09-21  9:28   ` Yong Zhang
  0 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: Dave Airlie, Paul Gortmaker, linux-i2c, Justin P. Mattock,
	Sonic Zhang, Kukjin Kim, Barry Song, Joe Perches,
	Alessandro Rubini, Nobuhiro Iwamatsu, Lucas De Marchi,
	yong.zhang0, Magnus Damm, Ben Dooks (embedded platforms),
	tglx, STEricsson, linux-arm-kernel, Linus Walleij, Jiri Kosina,
	Wolfram Sang, Paul Mundt, Jean Delvare (PC drivers, core),
	uclinux-dist-devel

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Acked-by: Wolfram Sang <w.sang@pengutronix.de>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Barry Song <21cnbao@gmail.com>
---
 drivers/i2c/busses/i2c-bfin-twi.c   |    4 ++--
 drivers/i2c/busses/i2c-designware.c |    2 +-
 drivers/i2c/busses/i2c-highlander.c |    2 +-
 drivers/i2c/busses/i2c-nomadik.c    |    2 +-
 drivers/i2c/busses/i2c-nuc900.c     |    2 +-
 drivers/i2c/busses/i2c-pmcmsp.c     |    2 +-
 drivers/i2c/busses/i2c-s3c2410.c    |    2 +-
 drivers/i2c/busses/i2c-sh7760.c     |    2 +-
 drivers/i2c/busses/i2c-sh_mobile.c  |    2 +-
 drivers/i2c/busses/i2c-stu300.c     |    2 +-
 10 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/drivers/i2c/busses/i2c-bfin-twi.c b/drivers/i2c/busses/i2c-bfin-twi.c
index cbc98ae..cdb59e5 100644
--- a/drivers/i2c/busses/i2c-bfin-twi.c
+++ b/drivers/i2c/busses/i2c-bfin-twi.c
@@ -631,7 +631,7 @@ static int i2c_bfin_twi_resume(struct platform_device *pdev)
 	struct bfin_twi_iface *iface = platform_get_drvdata(pdev);
 
 	int rc = request_irq(iface->irq, bfin_twi_interrupt_entry,
-		IRQF_DISABLED, pdev->name, iface);
+		0, pdev->name, iface);
 	if (rc) {
 		dev_err(&pdev->dev, "Can't get IRQ %d !\n", iface->irq);
 		return -ENODEV;
@@ -702,7 +702,7 @@ static int i2c_bfin_twi_probe(struct platform_device *pdev)
 	}
 
 	rc = request_irq(iface->irq, bfin_twi_interrupt_entry,
-		IRQF_DISABLED, pdev->name, iface);
+		0, pdev->name, iface);
 	if (rc) {
 		dev_err(&pdev->dev, "Can't get IRQ %d !\n", iface->irq);
 		rc = -ENODEV;
diff --git a/drivers/i2c/busses/i2c-designware.c b/drivers/i2c/busses/i2c-designware.c
index 1b42b50..2ac1903 100644
--- a/drivers/i2c/busses/i2c-designware.c
+++ b/drivers/i2c/busses/i2c-designware.c
@@ -755,7 +755,7 @@ static int __devinit dw_i2c_probe(struct platform_device *pdev)
 	i2c_dw_init(dev);
 
 	writel(0, dev->base + DW_IC_INTR_MASK); /* disable IRQ */
-	r = request_irq(dev->irq, i2c_dw_isr, IRQF_DISABLED, pdev->name, dev);
+	r = request_irq(dev->irq, i2c_dw_isr, 0, pdev->name, dev);
 	if (r) {
 		dev_err(&pdev->dev, "failure requesting irq %i\n", dev->irq);
 		goto err_iounmap;
diff --git a/drivers/i2c/busses/i2c-highlander.c b/drivers/i2c/busses/i2c-highlander.c
index 3876a24..63bb1cc 100644
--- a/drivers/i2c/busses/i2c-highlander.c
+++ b/drivers/i2c/busses/i2c-highlander.c
@@ -387,7 +387,7 @@ static int __devinit highlander_i2c_probe(struct platform_device *pdev)
 		dev->irq = 0;
 
 	if (dev->irq) {
-		ret = request_irq(dev->irq, highlander_i2c_irq, IRQF_DISABLED,
+		ret = request_irq(dev->irq, highlander_i2c_irq, 0,
 				  pdev->name, dev);
 		if (unlikely(ret))
 			goto err_unmap;
diff --git a/drivers/i2c/busses/i2c-nomadik.c b/drivers/i2c/busses/i2c-nomadik.c
index b228e09..40702e8 100644
--- a/drivers/i2c/busses/i2c-nomadik.c
+++ b/drivers/i2c/busses/i2c-nomadik.c
@@ -935,7 +935,7 @@ static int __devinit nmk_i2c_probe(struct platform_device *pdev)
 	}
 
 	dev->irq = platform_get_irq(pdev, 0);
-	ret = request_irq(dev->irq, i2c_irq_handler, IRQF_DISABLED,
+	ret = request_irq(dev->irq, i2c_irq_handler, 0,
 				DRIVER_NAME, dev);
 	if (ret) {
 		dev_err(&pdev->dev, "cannot claim the irq %d\n", dev->irq);
diff --git a/drivers/i2c/busses/i2c-nuc900.c b/drivers/i2c/busses/i2c-nuc900.c
index 7243426..835e47b 100644
--- a/drivers/i2c/busses/i2c-nuc900.c
+++ b/drivers/i2c/busses/i2c-nuc900.c
@@ -610,7 +610,7 @@ static int __devinit nuc900_i2c_probe(struct platform_device *pdev)
 		goto err_iomap;
 	}
 
-	ret = request_irq(i2c->irq, nuc900_i2c_irq, IRQF_DISABLED | IRQF_SHARED,
+	ret = request_irq(i2c->irq, nuc900_i2c_irq, IRQF_SHARED,
 			  dev_name(&pdev->dev), i2c);
 
 	if (ret != 0) {
diff --git a/drivers/i2c/busses/i2c-pmcmsp.c b/drivers/i2c/busses/i2c-pmcmsp.c
index dfa7ae9..127051b 100644
--- a/drivers/i2c/busses/i2c-pmcmsp.c
+++ b/drivers/i2c/busses/i2c-pmcmsp.c
@@ -306,7 +306,7 @@ static int __devinit pmcmsptwi_probe(struct platform_device *pldev)
 	pmcmsptwi_data.irq = platform_get_irq(pldev, 0);
 	if (pmcmsptwi_data.irq) {
 		rc = request_irq(pmcmsptwi_data.irq, &pmcmsptwi_interrupt,
-			IRQF_SHARED | IRQF_DISABLED | IRQF_SAMPLE_RANDOM,
+			IRQF_SHARED | IRQF_SAMPLE_RANDOM,
 			pldev->name, &pmcmsptwi_data);
 		if (rc == 0) {
 			/*
diff --git a/drivers/i2c/busses/i2c-s3c2410.c b/drivers/i2c/busses/i2c-s3c2410.c
index 9c00ad1..2754cef 100644
--- a/drivers/i2c/busses/i2c-s3c2410.c
+++ b/drivers/i2c/busses/i2c-s3c2410.c
@@ -980,7 +980,7 @@ static int s3c24xx_i2c_probe(struct platform_device *pdev)
 		goto err_iomap;
 	}
 
-	ret = request_irq(i2c->irq, s3c24xx_i2c_irq, IRQF_DISABLED,
+	ret = request_irq(i2c->irq, s3c24xx_i2c_irq, 0,
 			  dev_name(&pdev->dev), i2c);
 
 	if (ret != 0) {
diff --git a/drivers/i2c/busses/i2c-sh7760.c b/drivers/i2c/busses/i2c-sh7760.c
index 4cd0a1d..a67132b 100644
--- a/drivers/i2c/busses/i2c-sh7760.c
+++ b/drivers/i2c/busses/i2c-sh7760.c
@@ -503,7 +503,7 @@ static int __devinit sh7760_i2c_probe(struct platform_device *pdev)
 	}
 	OUT32(id, I2CCCR, ret);
 
-	if (request_irq(id->irq, sh7760_i2c_irq, IRQF_DISABLED,
+	if (request_irq(id->irq, sh7760_i2c_irq, 0,
 			SH7760_I2C_DEVNAME, id)) {
 		dev_err(&pdev->dev, "cannot get irq %d\n", id->irq);
 		ret = -EBUSY;
diff --git a/drivers/i2c/busses/i2c-sh_mobile.c b/drivers/i2c/busses/i2c-sh_mobile.c
index f633a53..675c969 100644
--- a/drivers/i2c/busses/i2c-sh_mobile.c
+++ b/drivers/i2c/busses/i2c-sh_mobile.c
@@ -543,7 +543,7 @@ static int sh_mobile_i2c_hook_irqs(struct platform_device *dev, int hook)
 
 	while ((res = platform_get_resource(dev, IORESOURCE_IRQ, k))) {
 		for (n = res->start; hook && n <= res->end; n++) {
-			if (request_irq(n, sh_mobile_i2c_isr, IRQF_DISABLED,
+			if (request_irq(n, sh_mobile_i2c_isr, 0,
 					dev_name(&dev->dev), dev)) {
 				for (n--; n >= res->start; n--)
 					free_irq(n, dev);
diff --git a/drivers/i2c/busses/i2c-stu300.c b/drivers/i2c/busses/i2c-stu300.c
index 9987961..4d44af1 100644
--- a/drivers/i2c/busses/i2c-stu300.c
+++ b/drivers/i2c/busses/i2c-stu300.c
@@ -916,7 +916,7 @@ stu300_probe(struct platform_device *pdev)
 	}
 
 	dev->irq = platform_get_irq(pdev, 0);
-	if (request_irq(dev->irq, stu300_irh, IRQF_DISABLED,
+	if (request_irq(dev->irq, stu300_irh, 0,
 			NAME, dev)) {
 		ret = -EIO;
 		goto err_no_irq;
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 32/57] i2c: irq: Remove IRQF_DISABLED
@ 2011-09-21  9:28   ` Yong Zhang
  0 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arm-kernel

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Acked-by: Wolfram Sang <w.sang@pengutronix.de>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Barry Song <21cnbao@gmail.com>
---
 drivers/i2c/busses/i2c-bfin-twi.c   |    4 ++--
 drivers/i2c/busses/i2c-designware.c |    2 +-
 drivers/i2c/busses/i2c-highlander.c |    2 +-
 drivers/i2c/busses/i2c-nomadik.c    |    2 +-
 drivers/i2c/busses/i2c-nuc900.c     |    2 +-
 drivers/i2c/busses/i2c-pmcmsp.c     |    2 +-
 drivers/i2c/busses/i2c-s3c2410.c    |    2 +-
 drivers/i2c/busses/i2c-sh7760.c     |    2 +-
 drivers/i2c/busses/i2c-sh_mobile.c  |    2 +-
 drivers/i2c/busses/i2c-stu300.c     |    2 +-
 10 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/drivers/i2c/busses/i2c-bfin-twi.c b/drivers/i2c/busses/i2c-bfin-twi.c
index cbc98ae..cdb59e5 100644
--- a/drivers/i2c/busses/i2c-bfin-twi.c
+++ b/drivers/i2c/busses/i2c-bfin-twi.c
@@ -631,7 +631,7 @@ static int i2c_bfin_twi_resume(struct platform_device *pdev)
 	struct bfin_twi_iface *iface = platform_get_drvdata(pdev);
 
 	int rc = request_irq(iface->irq, bfin_twi_interrupt_entry,
-		IRQF_DISABLED, pdev->name, iface);
+		0, pdev->name, iface);
 	if (rc) {
 		dev_err(&pdev->dev, "Can't get IRQ %d !\n", iface->irq);
 		return -ENODEV;
@@ -702,7 +702,7 @@ static int i2c_bfin_twi_probe(struct platform_device *pdev)
 	}
 
 	rc = request_irq(iface->irq, bfin_twi_interrupt_entry,
-		IRQF_DISABLED, pdev->name, iface);
+		0, pdev->name, iface);
 	if (rc) {
 		dev_err(&pdev->dev, "Can't get IRQ %d !\n", iface->irq);
 		rc = -ENODEV;
diff --git a/drivers/i2c/busses/i2c-designware.c b/drivers/i2c/busses/i2c-designware.c
index 1b42b50..2ac1903 100644
--- a/drivers/i2c/busses/i2c-designware.c
+++ b/drivers/i2c/busses/i2c-designware.c
@@ -755,7 +755,7 @@ static int __devinit dw_i2c_probe(struct platform_device *pdev)
 	i2c_dw_init(dev);
 
 	writel(0, dev->base + DW_IC_INTR_MASK); /* disable IRQ */
-	r = request_irq(dev->irq, i2c_dw_isr, IRQF_DISABLED, pdev->name, dev);
+	r = request_irq(dev->irq, i2c_dw_isr, 0, pdev->name, dev);
 	if (r) {
 		dev_err(&pdev->dev, "failure requesting irq %i\n", dev->irq);
 		goto err_iounmap;
diff --git a/drivers/i2c/busses/i2c-highlander.c b/drivers/i2c/busses/i2c-highlander.c
index 3876a24..63bb1cc 100644
--- a/drivers/i2c/busses/i2c-highlander.c
+++ b/drivers/i2c/busses/i2c-highlander.c
@@ -387,7 +387,7 @@ static int __devinit highlander_i2c_probe(struct platform_device *pdev)
 		dev->irq = 0;
 
 	if (dev->irq) {
-		ret = request_irq(dev->irq, highlander_i2c_irq, IRQF_DISABLED,
+		ret = request_irq(dev->irq, highlander_i2c_irq, 0,
 				  pdev->name, dev);
 		if (unlikely(ret))
 			goto err_unmap;
diff --git a/drivers/i2c/busses/i2c-nomadik.c b/drivers/i2c/busses/i2c-nomadik.c
index b228e09..40702e8 100644
--- a/drivers/i2c/busses/i2c-nomadik.c
+++ b/drivers/i2c/busses/i2c-nomadik.c
@@ -935,7 +935,7 @@ static int __devinit nmk_i2c_probe(struct platform_device *pdev)
 	}
 
 	dev->irq = platform_get_irq(pdev, 0);
-	ret = request_irq(dev->irq, i2c_irq_handler, IRQF_DISABLED,
+	ret = request_irq(dev->irq, i2c_irq_handler, 0,
 				DRIVER_NAME, dev);
 	if (ret) {
 		dev_err(&pdev->dev, "cannot claim the irq %d\n", dev->irq);
diff --git a/drivers/i2c/busses/i2c-nuc900.c b/drivers/i2c/busses/i2c-nuc900.c
index 7243426..835e47b 100644
--- a/drivers/i2c/busses/i2c-nuc900.c
+++ b/drivers/i2c/busses/i2c-nuc900.c
@@ -610,7 +610,7 @@ static int __devinit nuc900_i2c_probe(struct platform_device *pdev)
 		goto err_iomap;
 	}
 
-	ret = request_irq(i2c->irq, nuc900_i2c_irq, IRQF_DISABLED | IRQF_SHARED,
+	ret = request_irq(i2c->irq, nuc900_i2c_irq, IRQF_SHARED,
 			  dev_name(&pdev->dev), i2c);
 
 	if (ret != 0) {
diff --git a/drivers/i2c/busses/i2c-pmcmsp.c b/drivers/i2c/busses/i2c-pmcmsp.c
index dfa7ae9..127051b 100644
--- a/drivers/i2c/busses/i2c-pmcmsp.c
+++ b/drivers/i2c/busses/i2c-pmcmsp.c
@@ -306,7 +306,7 @@ static int __devinit pmcmsptwi_probe(struct platform_device *pldev)
 	pmcmsptwi_data.irq = platform_get_irq(pldev, 0);
 	if (pmcmsptwi_data.irq) {
 		rc = request_irq(pmcmsptwi_data.irq, &pmcmsptwi_interrupt,
-			IRQF_SHARED | IRQF_DISABLED | IRQF_SAMPLE_RANDOM,
+			IRQF_SHARED | IRQF_SAMPLE_RANDOM,
 			pldev->name, &pmcmsptwi_data);
 		if (rc == 0) {
 			/*
diff --git a/drivers/i2c/busses/i2c-s3c2410.c b/drivers/i2c/busses/i2c-s3c2410.c
index 9c00ad1..2754cef 100644
--- a/drivers/i2c/busses/i2c-s3c2410.c
+++ b/drivers/i2c/busses/i2c-s3c2410.c
@@ -980,7 +980,7 @@ static int s3c24xx_i2c_probe(struct platform_device *pdev)
 		goto err_iomap;
 	}
 
-	ret = request_irq(i2c->irq, s3c24xx_i2c_irq, IRQF_DISABLED,
+	ret = request_irq(i2c->irq, s3c24xx_i2c_irq, 0,
 			  dev_name(&pdev->dev), i2c);
 
 	if (ret != 0) {
diff --git a/drivers/i2c/busses/i2c-sh7760.c b/drivers/i2c/busses/i2c-sh7760.c
index 4cd0a1d..a67132b 100644
--- a/drivers/i2c/busses/i2c-sh7760.c
+++ b/drivers/i2c/busses/i2c-sh7760.c
@@ -503,7 +503,7 @@ static int __devinit sh7760_i2c_probe(struct platform_device *pdev)
 	}
 	OUT32(id, I2CCCR, ret);
 
-	if (request_irq(id->irq, sh7760_i2c_irq, IRQF_DISABLED,
+	if (request_irq(id->irq, sh7760_i2c_irq, 0,
 			SH7760_I2C_DEVNAME, id)) {
 		dev_err(&pdev->dev, "cannot get irq %d\n", id->irq);
 		ret = -EBUSY;
diff --git a/drivers/i2c/busses/i2c-sh_mobile.c b/drivers/i2c/busses/i2c-sh_mobile.c
index f633a53..675c969 100644
--- a/drivers/i2c/busses/i2c-sh_mobile.c
+++ b/drivers/i2c/busses/i2c-sh_mobile.c
@@ -543,7 +543,7 @@ static int sh_mobile_i2c_hook_irqs(struct platform_device *dev, int hook)
 
 	while ((res = platform_get_resource(dev, IORESOURCE_IRQ, k))) {
 		for (n = res->start; hook && n <= res->end; n++) {
-			if (request_irq(n, sh_mobile_i2c_isr, IRQF_DISABLED,
+			if (request_irq(n, sh_mobile_i2c_isr, 0,
 					dev_name(&dev->dev), dev)) {
 				for (n--; n >= res->start; n--)
 					free_irq(n, dev);
diff --git a/drivers/i2c/busses/i2c-stu300.c b/drivers/i2c/busses/i2c-stu300.c
index 9987961..4d44af1 100644
--- a/drivers/i2c/busses/i2c-stu300.c
+++ b/drivers/i2c/busses/i2c-stu300.c
@@ -916,7 +916,7 @@ stu300_probe(struct platform_device *pdev)
 	}
 
 	dev->irq = platform_get_irq(pdev, 0);
-	if (request_irq(dev->irq, stu300_irh, IRQF_DISABLED,
+	if (request_irq(dev->irq, stu300_irh, 0,
 			NAME, dev)) {
 		ret = -EIO;
 		goto err_no_irq;
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 33/57] infiniband: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
                   ` (31 preceding siblings ...)
  2011-09-21  9:28   ` Yong Zhang
@ 2011-09-21  9:28 ` Yong Zhang
  2011-09-21  9:28 ` [PATCH 34/57] ISDN: " Yong Zhang
                   ` (24 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Hoang-Nam Nguyen, Christoph Raisch,
	Roland Dreier, Sean Hefty, Hal Rosenstock, linux-rdma

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 drivers/infiniband/hw/ehca/ehca_eq.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/infiniband/hw/ehca/ehca_eq.c b/drivers/infiniband/hw/ehca/ehca_eq.c
index d9b1bb4..818d721 100644
--- a/drivers/infiniband/hw/ehca/ehca_eq.c
+++ b/drivers/infiniband/hw/ehca/ehca_eq.c
@@ -125,7 +125,7 @@ int ehca_create_eq(struct ehca_shca *shca,
 		tasklet_init(&eq->interrupt_task, ehca_tasklet_eq, (long)shca);
 
 		ret = ibmebus_request_irq(eq->ist, ehca_interrupt_eq,
-					  IRQF_DISABLED, "ehca_eq",
+					  0, "ehca_eq",
 					  (void *)shca);
 		if (ret < 0)
 			ehca_err(ib_dev, "Can't map interrupt handler.");
@@ -133,7 +133,7 @@ int ehca_create_eq(struct ehca_shca *shca,
 		tasklet_init(&eq->interrupt_task, ehca_tasklet_neq, (long)shca);
 
 		ret = ibmebus_request_irq(eq->ist, ehca_interrupt_neq,
-					  IRQF_DISABLED, "ehca_neq",
+					  0, "ehca_neq",
 					  (void *)shca);
 		if (ret < 0)
 			ehca_err(ib_dev, "Can't map interrupt handler.");
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 34/57] ISDN: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
                   ` (32 preceding siblings ...)
  2011-09-21  9:28 ` [PATCH 33/57] infiniband: " Yong Zhang
@ 2011-09-21  9:28 ` Yong Zhang
  2011-09-21  9:28 ` [PATCH 36/57] drivers:misc:irq: " Yong Zhang
                   ` (23 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Armin Schindler, Karsten Keil, netdev

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 drivers/isdn/hardware/eicon/divasmain.c |    2 +-
 drivers/isdn/sc/init.c                  |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/isdn/hardware/eicon/divasmain.c b/drivers/isdn/hardware/eicon/divasmain.c
index f332b60..8a0a831 100644
--- a/drivers/isdn/hardware/eicon/divasmain.c
+++ b/drivers/isdn/hardware/eicon/divasmain.c
@@ -481,7 +481,7 @@ void __inline__ outpp(void __iomem *addr, word p)
 int diva_os_register_irq(void *context, byte irq, const char *name)
 {
 	int result = request_irq(irq, diva_os_irq_wrapper,
-				 IRQF_DISABLED | IRQF_SHARED, name, context);
+				 IRQF_SHARED, name, context);
 	return (result);
 }
 
diff --git a/drivers/isdn/sc/init.c b/drivers/isdn/sc/init.c
index ca710ab..a3127fb 100644
--- a/drivers/isdn/sc/init.c
+++ b/drivers/isdn/sc/init.c
@@ -336,7 +336,7 @@ static int __init sc_init(void)
 		 */
 		sc_adapter[cinst]->interrupt = irq[b];
 		if (request_irq(sc_adapter[cinst]->interrupt, interrupt_handler,
-				IRQF_DISABLED, interface->id,
+				0, interface->id,
 				(void *)(unsigned long) cinst))
 		{
 			kfree(sc_adapter[cinst]->channel);
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 36/57] drivers:misc:irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
                   ` (33 preceding siblings ...)
  2011-09-21  9:28 ` [PATCH 34/57] ISDN: " Yong Zhang
@ 2011-09-21  9:28 ` Yong Zhang
  2011-09-21  9:28 ` [PATCH 37/57] mmc: irq: " Yong Zhang
                   ` (22 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Jiri Slaby, Uwe Kleine-König, Jiri Kosina

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 drivers/misc/arm-charlcd.c |    2 +-
 drivers/misc/phantom.c     |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/misc/arm-charlcd.c b/drivers/misc/arm-charlcd.c
index fe8616a..c0688b03 100644
--- a/drivers/misc/arm-charlcd.c
+++ b/drivers/misc/arm-charlcd.c
@@ -297,7 +297,7 @@ static int __init charlcd_probe(struct platform_device *pdev)
 	lcd->irq = platform_get_irq(pdev, 0);
 	/* If no IRQ is supplied, we'll survive without it */
 	if (lcd->irq >= 0) {
-		if (request_irq(lcd->irq, charlcd_interrupt, IRQF_DISABLED,
+		if (request_irq(lcd->irq, charlcd_interrupt, 0,
 				DRIVERNAME, lcd)) {
 			ret = -EIO;
 			goto out_no_irq;
diff --git a/drivers/misc/phantom.c b/drivers/misc/phantom.c
index 21b28fc..7f7c521 100644
--- a/drivers/misc/phantom.c
+++ b/drivers/misc/phantom.c
@@ -395,7 +395,7 @@ static int __devinit phantom_probe(struct pci_dev *pdev,
 	iowrite32(0, pht->caddr + PHN_IRQCTL);
 	ioread32(pht->caddr + PHN_IRQCTL); /* PCI posting */
 	retval = request_irq(pdev->irq, phantom_isr,
-			IRQF_SHARED | IRQF_DISABLED, "phantom", pht);
+			IRQF_SHARED, "phantom", pht);
 	if (retval) {
 		dev_err(&pdev->dev, "can't establish ISR\n");
 		goto err_unmo;
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 37/57] mmc: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
                   ` (34 preceding siblings ...)
  2011-09-21  9:28 ` [PATCH 36/57] drivers:misc:irq: " Yong Zhang
@ 2011-09-21  9:28 ` Yong Zhang
  2011-09-21 10:16   ` Guennadi Liakhovetski
  2011-09-22 14:50   ` Kadiyala, Kishore
  2011-09-21  9:28   ` Yong Zhang
                   ` (21 subsequent siblings)
  57 siblings, 2 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Chris Ball, Guennadi Liakhovetski, Ian Molton,
	Tony Lindgren, Kishore Kadiyala, Adrian Hunter, Balaji T K,
	linux-omap, linux-mmc

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 drivers/mmc/host/omap_hsmmc.c |    5 ++---
 drivers/mmc/host/tmio_mmc.c   |    4 ++--
 2 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
index 21e4a79..75c6395 100644
--- a/drivers/mmc/host/omap_hsmmc.c
+++ b/drivers/mmc/host/omap_hsmmc.c
@@ -2015,7 +2015,7 @@ static int __init omap_hsmmc_probe(struct platform_device *pdev)
 	}
 
 	/* Request IRQ for MMC operations */
-	ret = request_irq(host->irq, omap_hsmmc_irq, IRQF_DISABLED,
+	ret = request_irq(host->irq, omap_hsmmc_irq, 0,
 			mmc_hostname(mmc), host);
 	if (ret) {
 		dev_dbg(mmc_dev(host->mmc), "Unable to grab HSMMC IRQ\n");
@@ -2043,8 +2043,7 @@ static int __init omap_hsmmc_probe(struct platform_device *pdev)
 	if ((mmc_slot(host).card_detect_irq)) {
 		ret = request_irq(mmc_slot(host).card_detect_irq,
 				  omap_hsmmc_cd_handler,
-				  IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING
-					  | IRQF_DISABLED,
+				  IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,
 				  mmc_hostname(mmc), host);
 		if (ret) {
 			dev_dbg(mmc_dev(host->mmc),
diff --git a/drivers/mmc/host/tmio_mmc.c b/drivers/mmc/host/tmio_mmc.c
index 44a9668..a4ea102 100644
--- a/drivers/mmc/host/tmio_mmc.c
+++ b/drivers/mmc/host/tmio_mmc.c
@@ -88,8 +88,8 @@ static int __devinit tmio_mmc_probe(struct platform_device *pdev)
 	if (ret)
 		goto cell_disable;
 
-	ret = request_irq(irq, tmio_mmc_irq, IRQF_DISABLED |
-			  IRQF_TRIGGER_FALLING, dev_name(&pdev->dev), host);
+	ret = request_irq(irq, tmio_mmc_irq, IRQF_TRIGGER_FALLING,
+				dev_name(&pdev->dev), host);
 	if (ret)
 		goto host_remove;
 
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 38/57] mtd: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
@ 2011-09-21  9:28   ` Yong Zhang
  2011-09-21  9:28 ` [PATCH 02/57] alpha: irq: Remove IRQF_DISABLED Yong Zhang
                     ` (56 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, David Woodhouse, Artem Bityutskiy,
	Brian Norris, Sascha Hauer, Baruch Siach, Lei Wen,
	Haojian Zhuang, Eric Miao, Samuel Ortiz, Dmitry Eremin-Solenikov,
	Andres Salomon, linux-mtd

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Acked-by: Wolfram Sang <w.sang@pengutronix.de>
---
 drivers/mtd/nand/mxc_nand.c    |    2 +-
 drivers/mtd/nand/pxa3xx_nand.c |    3 +--
 drivers/mtd/nand/tmio_nand.c   |    2 +-
 3 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/mtd/nand/mxc_nand.c b/drivers/mtd/nand/mxc_nand.c
index 4d4c677..b03eb16 100644
--- a/drivers/mtd/nand/mxc_nand.c
+++ b/drivers/mtd/nand/mxc_nand.c
@@ -1191,7 +1191,7 @@ static int __init mxcnd_probe(struct platform_device *pdev)
 	else
 		host->irq_control(host, 0);
 
-	err = request_irq(host->irq, mxc_nfc_irq, IRQF_DISABLED, DRIVER_NAME, host);
+	err = request_irq(host->irq, mxc_nfc_irq, 0, DRIVER_NAME, host);
 	if (err)
 		goto eirq;
 
diff --git a/drivers/mtd/nand/pxa3xx_nand.c b/drivers/mtd/nand/pxa3xx_nand.c
index 9eb7f87..fabba5c 100644
--- a/drivers/mtd/nand/pxa3xx_nand.c
+++ b/drivers/mtd/nand/pxa3xx_nand.c
@@ -1132,8 +1132,7 @@ static int alloc_nand_resource(struct platform_device *pdev)
 	/* initialize all interrupts to be disabled */
 	disable_int(info, NDSR_MASK);
 
-	ret = request_irq(irq, pxa3xx_nand_irq, IRQF_DISABLED,
-			  pdev->name, info);
+	ret = request_irq(irq, pxa3xx_nand_irq, 0, pdev->name, info);
 	if (ret < 0) {
 		dev_err(&pdev->dev, "failed to request IRQ\n");
 		goto fail_free_buf;
diff --git a/drivers/mtd/nand/tmio_nand.c b/drivers/mtd/nand/tmio_nand.c
index beebd95..6e5d6ff 100644
--- a/drivers/mtd/nand/tmio_nand.c
+++ b/drivers/mtd/nand/tmio_nand.c
@@ -441,7 +441,7 @@ static int tmio_probe(struct platform_device *dev)
 	nand_chip->chip_delay = 15;
 
 	retval = request_irq(irq, &tmio_irq,
-				IRQF_DISABLED, dev_name(&dev->dev), tmio);
+				0, dev_name(&dev->dev), tmio);
 	if (retval) {
 		dev_err(&dev->dev, "request_irq error %d\n", retval);
 		goto err_irq;
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 38/57] mtd: irq: Remove IRQF_DISABLED
@ 2011-09-21  9:28   ` Yong Zhang
  0 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: Baruch Siach, Artem Bityutskiy, Eric Miao, Samuel Ortiz, Lei Wen,
	Sascha Hauer, Dmitry Eremin-Solenikov, Haojian Zhuang,
	yong.zhang0, linux-mtd, Andres Salomon, tglx, Brian Norris,
	David Woodhouse

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Acked-by: Wolfram Sang <w.sang@pengutronix.de>
---
 drivers/mtd/nand/mxc_nand.c    |    2 +-
 drivers/mtd/nand/pxa3xx_nand.c |    3 +--
 drivers/mtd/nand/tmio_nand.c   |    2 +-
 3 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/mtd/nand/mxc_nand.c b/drivers/mtd/nand/mxc_nand.c
index 4d4c677..b03eb16 100644
--- a/drivers/mtd/nand/mxc_nand.c
+++ b/drivers/mtd/nand/mxc_nand.c
@@ -1191,7 +1191,7 @@ static int __init mxcnd_probe(struct platform_device *pdev)
 	else
 		host->irq_control(host, 0);
 
-	err = request_irq(host->irq, mxc_nfc_irq, IRQF_DISABLED, DRIVER_NAME, host);
+	err = request_irq(host->irq, mxc_nfc_irq, 0, DRIVER_NAME, host);
 	if (err)
 		goto eirq;
 
diff --git a/drivers/mtd/nand/pxa3xx_nand.c b/drivers/mtd/nand/pxa3xx_nand.c
index 9eb7f87..fabba5c 100644
--- a/drivers/mtd/nand/pxa3xx_nand.c
+++ b/drivers/mtd/nand/pxa3xx_nand.c
@@ -1132,8 +1132,7 @@ static int alloc_nand_resource(struct platform_device *pdev)
 	/* initialize all interrupts to be disabled */
 	disable_int(info, NDSR_MASK);
 
-	ret = request_irq(irq, pxa3xx_nand_irq, IRQF_DISABLED,
-			  pdev->name, info);
+	ret = request_irq(irq, pxa3xx_nand_irq, 0, pdev->name, info);
 	if (ret < 0) {
 		dev_err(&pdev->dev, "failed to request IRQ\n");
 		goto fail_free_buf;
diff --git a/drivers/mtd/nand/tmio_nand.c b/drivers/mtd/nand/tmio_nand.c
index beebd95..6e5d6ff 100644
--- a/drivers/mtd/nand/tmio_nand.c
+++ b/drivers/mtd/nand/tmio_nand.c
@@ -441,7 +441,7 @@ static int tmio_probe(struct platform_device *dev)
 	nand_chip->chip_delay = 15;
 
 	retval = request_irq(irq, &tmio_irq,
-				IRQF_DISABLED, dev_name(&dev->dev), tmio);
+				0, dev_name(&dev->dev), tmio);
 	if (retval) {
 		dev_err(&dev->dev, "request_irq error %d\n", retval);
 		goto err_irq;
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 39/57] net: irq: Remove IRQF_DISABLED
       [not found] ` <1316597339-29861-1-git-send-email-yong.zhang0-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2011-09-21  9:28     ` Yong Zhang
  0 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA
  Cc: Jaroslav Kysela, Christian Lamparter, Klaus Kudielka,
	Thomas Sailer, Jeff Kirsher, Bob Liu, Joe Perches,
	Jean-Paul Roubelat, Joerg Reuter,
	cbe-oss-dev-uLR06cmDAlY/bJ5BZ2RsiQ, Samuel Ortiz, Grant Grundler,
	Lucas De Marchi, John W. Linville,
	yong.zhang0-Re5JQEeQqe8AvxtiuMwx3w,
	uclinux-dist-devel-ZG0+EudsQA8dtHy/vicBwGD2FQJk+8+b,
	linux-hams-u79uwXL29TY76Z2rM5mHXA, tglx-hfZtesqFncYOwBW4kG4KsQ,
	Breno Leitao, John Crispin, Nicolas Pitre, Geoff Levand

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
 drivers/net/ethernet/adi/bfin_mac.c          |    4 ++--
 drivers/net/ethernet/amd/sun3lance.c         |    2 +-
 drivers/net/ethernet/broadcom/bcm63xx_enet.c |    4 ++--
 drivers/net/ethernet/dec/tulip/de4x5.c       |    2 +-
 drivers/net/ethernet/freescale/fec.c         |    2 +-
 drivers/net/ethernet/hp/hp100.c              |    2 +-
 drivers/net/ethernet/ibm/ehea/ehea_main.c    |    6 +++---
 drivers/net/ethernet/korina.c                |    8 ++++----
 drivers/net/ethernet/lantiq_etop.c           |    4 ++--
 drivers/net/ethernet/marvell/pxa168_eth.c    |    2 +-
 drivers/net/ethernet/micrel/ks8851_mll.c     |    2 +-
 drivers/net/ethernet/natsemi/jazzsonic.c     |    2 +-
 drivers/net/ethernet/natsemi/xtsonic.c       |    2 +-
 drivers/net/ethernet/pasemi/pasemi_mac.c     |    4 ++--
 drivers/net/ethernet/smsc/smc91x.h           |    2 +-
 drivers/net/ethernet/smsc/smsc9420.c         |    2 +-
 drivers/net/ethernet/ti/davinci_emac.c       |    2 +-
 drivers/net/ethernet/toshiba/ps3_gelic_net.c |    2 +-
 drivers/net/hamradio/baycom_ser_fdx.c        |    2 +-
 drivers/net/hamradio/baycom_ser_hdx.c        |    2 +-
 drivers/net/hamradio/scc.c                   |    2 +-
 drivers/net/hamradio/yam.c                   |    2 +-
 drivers/net/irda/bfin_sir.c                  |    4 ++--
 drivers/net/irda/donauboe.c                  |    4 ++--
 drivers/net/irda/sh_irda.c                   |    2 +-
 drivers/net/irda/sh_sir.c                    |    2 +-
 drivers/net/wan/hostess_sv11.c               |    2 +-
 drivers/net/wan/sealevel.c                   |    2 +-
 drivers/net/wireless/p54/p54spi.c            |    2 +-
 include/net/irda/irda_device.h               |    2 +-
 30 files changed, 41 insertions(+), 41 deletions(-)

diff --git a/drivers/net/ethernet/adi/bfin_mac.c b/drivers/net/ethernet/adi/bfin_mac.c
index b6d69c9..0d3804f 100644
--- a/drivers/net/ethernet/adi/bfin_mac.c
+++ b/drivers/net/ethernet/adi/bfin_mac.c
@@ -531,7 +531,7 @@ static int bfin_mac_ethtool_setwol(struct net_device *dev,
 	if (lp->wol && !lp->irq_wake_requested) {
 		/* register wake irq handler */
 		rc = request_irq(IRQ_MAC_WAKEDET, bfin_mac_wake_interrupt,
-				 IRQF_DISABLED, "EMAC_WAKE", dev);
+				 0, "EMAC_WAKE", dev);
 		if (rc)
 			return rc;
 		lp->irq_wake_requested = true;
@@ -1544,7 +1544,7 @@ static int __devinit bfin_mac_probe(struct platform_device *pdev)
 	/* now, enable interrupts */
 	/* register irq handler */
 	rc = request_irq(IRQ_MAC_RX, bfin_mac_interrupt,
-			IRQF_DISABLED, "EMAC_RX", ndev);
+			0, "EMAC_RX", ndev);
 	if (rc) {
 		dev_err(&pdev->dev, "Cannot request Blackfin MAC RX IRQ!\n");
 		rc = -EBUSY;
diff --git a/drivers/net/ethernet/amd/sun3lance.c b/drivers/net/ethernet/amd/sun3lance.c
index 080b71f..9aee9f7 100644
--- a/drivers/net/ethernet/amd/sun3lance.c
+++ b/drivers/net/ethernet/amd/sun3lance.c
@@ -358,7 +358,7 @@ static int __init lance_probe( struct net_device *dev)
 
 	REGA(CSR0) = CSR0_STOP;
 
-	if (request_irq(LANCE_IRQ, lance_interrupt, IRQF_DISABLED, "SUN3 Lance", dev) < 0) {
+	if (request_irq(LANCE_IRQ, lance_interrupt, 0, "SUN3 Lance", dev) < 0) {
 #ifdef CONFIG_SUN3
 		iounmap((void __iomem *)ioaddr);
 #endif
diff --git a/drivers/net/ethernet/broadcom/bcm63xx_enet.c b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
index 05b0228..3fc0d8a 100644
--- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
+++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
@@ -840,13 +840,13 @@ static int bcm_enet_open(struct net_device *dev)
 	if (ret)
 		goto out_phy_disconnect;
 
-	ret = request_irq(priv->irq_rx, bcm_enet_isr_dma, IRQF_DISABLED,
+	ret = request_irq(priv->irq_rx, bcm_enet_isr_dma, 0,
 			  dev->name, dev);
 	if (ret)
 		goto out_freeirq;
 
 	ret = request_irq(priv->irq_tx, bcm_enet_isr_dma,
-			  IRQF_DISABLED, dev->name, dev);
+			  0, dev->name, dev);
 	if (ret)
 		goto out_freeirq_rx;
 
diff --git a/drivers/net/ethernet/dec/tulip/de4x5.c b/drivers/net/ethernet/dec/tulip/de4x5.c
index 871bcaa..7dd7989 100644
--- a/drivers/net/ethernet/dec/tulip/de4x5.c
+++ b/drivers/net/ethernet/dec/tulip/de4x5.c
@@ -1321,7 +1321,7 @@ de4x5_open(struct net_device *dev)
     if (request_irq(dev->irq, de4x5_interrupt, IRQF_SHARED,
 		                                     lp->adapter_name, dev)) {
 	printk("de4x5_open(): Requested IRQ%d is busy - attemping FAST/SHARE...", dev->irq);
-	if (request_irq(dev->irq, de4x5_interrupt, IRQF_DISABLED | IRQF_SHARED,
+	if (request_irq(dev->irq, de4x5_interrupt, IRQF_SHARED,
 			                             lp->adapter_name, dev)) {
 	    printk("\n              Cannot get IRQ- reconfigure your hardware.\n");
 	    disable_ast(dev);
diff --git a/drivers/net/ethernet/freescale/fec.c b/drivers/net/ethernet/freescale/fec.c
index 158b82e..9de7569 100644
--- a/drivers/net/ethernet/freescale/fec.c
+++ b/drivers/net/ethernet/freescale/fec.c
@@ -1508,7 +1508,7 @@ fec_probe(struct platform_device *pdev)
 		irq = platform_get_irq(pdev, i);
 		if (i && irq < 0)
 			break;
-		ret = request_irq(irq, fec_enet_interrupt, IRQF_DISABLED, pdev->name, ndev);
+		ret = request_irq(irq, fec_enet_interrupt, 0, pdev->name, ndev);
 		if (ret) {
 			while (--i >= 0) {
 				irq = platform_get_irq(pdev, i);
diff --git a/drivers/net/ethernet/hp/hp100.c b/drivers/net/ethernet/hp/hp100.c
index 6a5ee07..4c4f3f4 100644
--- a/drivers/net/ethernet/hp/hp100.c
+++ b/drivers/net/ethernet/hp/hp100.c
@@ -1097,7 +1097,7 @@ static int hp100_open(struct net_device *dev)
 	/* New: if bus is PCI or EISA, interrupts might be shared interrupts */
 	if (request_irq(dev->irq, hp100_interrupt,
 			lp->bus == HP100_BUS_PCI || lp->bus ==
-			HP100_BUS_EISA ? IRQF_SHARED : IRQF_DISABLED,
+			HP100_BUS_EISA ? IRQF_SHARED : 0,
 			"hp100", dev)) {
 		printk("hp100: %s: unable to get IRQ %d\n", dev->name, dev->irq);
 		return -EAGAIN;
diff --git a/drivers/net/ethernet/ibm/ehea/ehea_main.c b/drivers/net/ethernet/ibm/ehea/ehea_main.c
index 583bcd3..19459c5 100644
--- a/drivers/net/ethernet/ibm/ehea/ehea_main.c
+++ b/drivers/net/ethernet/ibm/ehea/ehea_main.c
@@ -1340,7 +1340,7 @@ static int ehea_reg_interrupts(struct net_device *dev)
 
 	ret = ibmebus_request_irq(port->qp_eq->attr.ist1,
 				  ehea_qp_aff_irq_handler,
-				  IRQF_DISABLED, port->int_aff_name, port);
+				  0, port->int_aff_name, port);
 	if (ret) {
 		netdev_err(dev, "failed registering irq for qp_aff_irq_handler:ist=%X\n",
 			   port->qp_eq->attr.ist1);
@@ -1358,7 +1358,7 @@ static int ehea_reg_interrupts(struct net_device *dev)
 			 "%s-queue%d", dev->name, i);
 		ret = ibmebus_request_irq(pr->eq->attr.ist1,
 					  ehea_recv_irq_handler,
-					  IRQF_DISABLED, pr->int_send_name,
+					  0, pr->int_send_name,
 					  pr);
 		if (ret) {
 			netdev_err(dev, "failed registering irq for ehea_queue port_res_nr:%d, ist=%X\n",
@@ -3513,7 +3513,7 @@ static int __devinit ehea_probe_adapter(struct platform_device *dev,
 		     (unsigned long)adapter);
 
 	ret = ibmebus_request_irq(adapter->neq->attr.ist1,
-				  ehea_interrupt_neq, IRQF_DISABLED,
+				  ehea_interrupt_neq, 0,
 				  "ehea_neq", adapter);
 	if (ret) {
 		dev_err(&dev->dev, "requesting NEQ IRQ failed\n");
diff --git a/drivers/net/ethernet/korina.c b/drivers/net/ethernet/korina.c
index d8430f4..2a96cd5 100644
--- a/drivers/net/ethernet/korina.c
+++ b/drivers/net/ethernet/korina.c
@@ -1001,14 +1001,14 @@ static int korina_open(struct net_device *dev)
 	 * that handles the Done Finished
 	 * Ovr and Und Events */
 	ret = request_irq(lp->rx_irq, korina_rx_dma_interrupt,
-			IRQF_DISABLED, "Korina ethernet Rx", dev);
+			0, "Korina ethernet Rx", dev);
 	if (ret < 0) {
 		printk(KERN_ERR "%s: unable to get Rx DMA IRQ %d\n",
 		    dev->name, lp->rx_irq);
 		goto err_release;
 	}
 	ret = request_irq(lp->tx_irq, korina_tx_dma_interrupt,
-			IRQF_DISABLED, "Korina ethernet Tx", dev);
+			0, "Korina ethernet Tx", dev);
 	if (ret < 0) {
 		printk(KERN_ERR "%s: unable to get Tx DMA IRQ %d\n",
 		    dev->name, lp->tx_irq);
@@ -1017,7 +1017,7 @@ static int korina_open(struct net_device *dev)
 
 	/* Install handler for overrun error. */
 	ret = request_irq(lp->ovr_irq, korina_ovr_interrupt,
-			IRQF_DISABLED, "Ethernet Overflow", dev);
+			0, "Ethernet Overflow", dev);
 	if (ret < 0) {
 		printk(KERN_ERR "%s: unable to get OVR IRQ %d\n",
 		    dev->name, lp->ovr_irq);
@@ -1026,7 +1026,7 @@ static int korina_open(struct net_device *dev)
 
 	/* Install handler for underflow error. */
 	ret = request_irq(lp->und_irq, korina_und_interrupt,
-			IRQF_DISABLED, "Ethernet Underflow", dev);
+			0, "Ethernet Underflow", dev);
 	if (ret < 0) {
 		printk(KERN_ERR "%s: unable to get UND IRQ %d\n",
 		    dev->name, lp->und_irq);
diff --git a/drivers/net/ethernet/lantiq_etop.c b/drivers/net/ethernet/lantiq_etop.c
index 6bb2b95..d9a268c 100644
--- a/drivers/net/ethernet/lantiq_etop.c
+++ b/drivers/net/ethernet/lantiq_etop.c
@@ -280,7 +280,7 @@ ltq_etop_hw_init(struct net_device *dev)
 
 		if (IS_TX(i)) {
 			ltq_dma_alloc_tx(&ch->dma);
-			request_irq(irq, ltq_etop_dma_irq, IRQF_DISABLED,
+			request_irq(irq, ltq_etop_dma_irq, 0,
 				"etop_tx", priv);
 		} else if (IS_RX(i)) {
 			ltq_dma_alloc_rx(&ch->dma);
@@ -289,7 +289,7 @@ ltq_etop_hw_init(struct net_device *dev)
 				if (ltq_etop_alloc_skb(ch))
 					return -ENOMEM;
 			ch->dma.desc = 0;
-			request_irq(irq, ltq_etop_dma_irq, IRQF_DISABLED,
+			request_irq(irq, ltq_etop_dma_irq, 0,
 				"etop_rx", priv);
 		}
 		ch->dma.irq = irq;
diff --git a/drivers/net/ethernet/marvell/pxa168_eth.c b/drivers/net/ethernet/marvell/pxa168_eth.c
index 1a3033d..8abc407 100644
--- a/drivers/net/ethernet/marvell/pxa168_eth.c
+++ b/drivers/net/ethernet/marvell/pxa168_eth.c
@@ -1131,7 +1131,7 @@ static int pxa168_eth_open(struct net_device *dev)
 	int err;
 
 	err = request_irq(dev->irq, pxa168_eth_int_handler,
-			  IRQF_DISABLED, dev->name, dev);
+			  0, dev->name, dev);
 	if (err) {
 		dev_printk(KERN_ERR, &dev->dev, "can't assign irq\n");
 		return -EAGAIN;
diff --git a/drivers/net/ethernet/micrel/ks8851_mll.c b/drivers/net/ethernet/micrel/ks8851_mll.c
index d19c849..a6b427b 100644
--- a/drivers/net/ethernet/micrel/ks8851_mll.c
+++ b/drivers/net/ethernet/micrel/ks8851_mll.c
@@ -899,7 +899,7 @@ static int ks_net_open(struct net_device *netdev)
 	struct ks_net *ks = netdev_priv(netdev);
 	int err;
 
-#define	KS_INT_FLAGS	(IRQF_DISABLED|IRQF_TRIGGER_LOW)
+#define	KS_INT_FLAGS	(IRQF_TRIGGER_LOW)
 	/* lock the card, even if we may not actually do anything
 	 * else at the moment.
 	 */
diff --git a/drivers/net/ethernet/natsemi/jazzsonic.c b/drivers/net/ethernet/natsemi/jazzsonic.c
index fc7c6a9..ecc3467 100644
--- a/drivers/net/ethernet/natsemi/jazzsonic.c
+++ b/drivers/net/ethernet/natsemi/jazzsonic.c
@@ -84,7 +84,7 @@ static int jazzsonic_open(struct net_device* dev)
 {
 	int retval;
 
-	retval = request_irq(dev->irq, sonic_interrupt, IRQF_DISABLED,
+	retval = request_irq(dev->irq, sonic_interrupt, 0,
 				"sonic", dev);
 	if (retval) {
 		printk(KERN_ERR "%s: unable to get IRQ %d.\n",
diff --git a/drivers/net/ethernet/natsemi/xtsonic.c b/drivers/net/ethernet/natsemi/xtsonic.c
index ccf61b9..04de013 100644
--- a/drivers/net/ethernet/natsemi/xtsonic.c
+++ b/drivers/net/ethernet/natsemi/xtsonic.c
@@ -95,7 +95,7 @@ static int xtsonic_open(struct net_device *dev)
 {
 	int retval;
 
-	retval = request_irq(dev->irq, sonic_interrupt, IRQF_DISABLED,
+	retval = request_irq(dev->irq, sonic_interrupt, 0,
 				"sonic", dev);
 	if (retval) {
 		printk(KERN_ERR "%s: unable to get IRQ %d.\n",
diff --git a/drivers/net/ethernet/pasemi/pasemi_mac.c b/drivers/net/ethernet/pasemi/pasemi_mac.c
index 5322095..bc6cb6a 100644
--- a/drivers/net/ethernet/pasemi/pasemi_mac.c
+++ b/drivers/net/ethernet/pasemi/pasemi_mac.c
@@ -1218,7 +1218,7 @@ static int pasemi_mac_open(struct net_device *dev)
 	snprintf(mac->tx_irq_name, sizeof(mac->tx_irq_name), "%s tx",
 		 dev->name);
 
-	ret = request_irq(mac->tx->chan.irq, pasemi_mac_tx_intr, IRQF_DISABLED,
+	ret = request_irq(mac->tx->chan.irq, pasemi_mac_tx_intr, 0,
 			  mac->tx_irq_name, mac->tx);
 	if (ret) {
 		dev_err(&mac->pdev->dev, "request_irq of irq %d failed: %d\n",
@@ -1229,7 +1229,7 @@ static int pasemi_mac_open(struct net_device *dev)
 	snprintf(mac->rx_irq_name, sizeof(mac->rx_irq_name), "%s rx",
 		 dev->name);
 
-	ret = request_irq(mac->rx->chan.irq, pasemi_mac_rx_intr, IRQF_DISABLED,
+	ret = request_irq(mac->rx->chan.irq, pasemi_mac_rx_intr, 0,
 			  mac->rx_irq_name, mac->rx);
 	if (ret) {
 		dev_err(&mac->pdev->dev, "request_irq of irq %d failed: %d\n",
diff --git a/drivers/net/ethernet/smsc/smc91x.h b/drivers/net/ethernet/smsc/smc91x.h
index 5f53fbb..e6319f5 100644
--- a/drivers/net/ethernet/smsc/smc91x.h
+++ b/drivers/net/ethernet/smsc/smc91x.h
@@ -271,7 +271,7 @@ static inline void mcf_outsw(void *a, unsigned char *p, int l)
 #define SMC_insw(a, r, p, l)	mcf_insw(a + r, p, l)
 #define SMC_outsw(a, r, p, l)	mcf_outsw(a + r, p, l)
 
-#define SMC_IRQ_FLAGS		(IRQF_DISABLED)
+#define SMC_IRQ_FLAGS		(0)
 
 #else
 
diff --git a/drivers/net/ethernet/smsc/smsc9420.c b/drivers/net/ethernet/smsc/smsc9420.c
index 4f15680..5b6d9ae 100644
--- a/drivers/net/ethernet/smsc/smsc9420.c
+++ b/drivers/net/ethernet/smsc/smsc9420.c
@@ -1359,7 +1359,7 @@ static int smsc9420_open(struct net_device *dev)
 	smsc9420_reg_write(pd, INT_STAT, 0xFFFFFFFF);
 	smsc9420_pci_flush_write(pd);
 
-	if (request_irq(dev->irq, smsc9420_isr, IRQF_SHARED | IRQF_DISABLED,
+	if (request_irq(dev->irq, smsc9420_isr, IRQF_SHARED,
 			DRV_NAME, pd)) {
 		smsc_warn(IFUP, "Unable to use IRQ = %d", dev->irq);
 		result = -ENODEV;
diff --git a/drivers/net/ethernet/ti/davinci_emac.c b/drivers/net/ethernet/ti/davinci_emac.c
index 815c797..ba8cb9d 100644
--- a/drivers/net/ethernet/ti/davinci_emac.c
+++ b/drivers/net/ethernet/ti/davinci_emac.c
@@ -1553,7 +1553,7 @@ static int emac_dev_open(struct net_device *ndev)
 
 	while ((res = platform_get_resource(priv->pdev, IORESOURCE_IRQ, k))) {
 		for (i = res->start; i <= res->end; i++) {
-			if (request_irq(i, emac_irq, IRQF_DISABLED,
+			if (request_irq(i, emac_irq, 0,
 					ndev->name, ndev))
 				goto rollback;
 		}
diff --git a/drivers/net/ethernet/toshiba/ps3_gelic_net.c b/drivers/net/ethernet/toshiba/ps3_gelic_net.c
index ddb33cf..b47bfe2 100644
--- a/drivers/net/ethernet/toshiba/ps3_gelic_net.c
+++ b/drivers/net/ethernet/toshiba/ps3_gelic_net.c
@@ -1732,7 +1732,7 @@ static int __devinit ps3_gelic_driver_probe(struct ps3_system_bus_device *dev)
 		goto fail_alloc_irq;
 	}
 	result = request_irq(card->irq, gelic_card_interrupt,
-			     IRQF_DISABLED, netdev->name, card);
+			     0, netdev->name, card);
 
 	if (result) {
 		dev_info(ctodev(card), "%s:request_irq failed (%d)\n",
diff --git a/drivers/net/hamradio/baycom_ser_fdx.c b/drivers/net/hamradio/baycom_ser_fdx.c
index a974727..636b65c 100644
--- a/drivers/net/hamradio/baycom_ser_fdx.c
+++ b/drivers/net/hamradio/baycom_ser_fdx.c
@@ -445,7 +445,7 @@ static int ser12_open(struct net_device *dev)
 	outb(0, FCR(dev->base_addr));  /* disable FIFOs */
 	outb(0x0d, MCR(dev->base_addr));
 	outb(0, IER(dev->base_addr));
-	if (request_irq(dev->irq, ser12_interrupt, IRQF_DISABLED | IRQF_SHARED,
+	if (request_irq(dev->irq, ser12_interrupt, IRQF_SHARED,
 			"baycom_ser_fdx", dev)) {
 		release_region(dev->base_addr, SER12_EXTENT);
 		return -EBUSY;
diff --git a/drivers/net/hamradio/baycom_ser_hdx.c b/drivers/net/hamradio/baycom_ser_hdx.c
index e349d86..f9a8976 100644
--- a/drivers/net/hamradio/baycom_ser_hdx.c
+++ b/drivers/net/hamradio/baycom_ser_hdx.c
@@ -490,7 +490,7 @@ static int ser12_open(struct net_device *dev)
 	outb(0, FCR(dev->base_addr));  /* disable FIFOs */
 	outb(0x0d, MCR(dev->base_addr));
 	outb(0, IER(dev->base_addr));
-	if (request_irq(dev->irq, ser12_interrupt, IRQF_DISABLED | IRQF_SHARED,
+	if (request_irq(dev->irq, ser12_interrupt, IRQF_SHARED,
 			"baycom_ser12", dev)) {
 		release_region(dev->base_addr, SER12_EXTENT);       
 		return -EBUSY;
diff --git a/drivers/net/hamradio/scc.c b/drivers/net/hamradio/scc.c
index 3365581..f432f32 100644
--- a/drivers/net/hamradio/scc.c
+++ b/drivers/net/hamradio/scc.c
@@ -1735,7 +1735,7 @@ static int scc_net_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
 			if (!Ivec[hwcfg.irq].used && hwcfg.irq)
 			{
 				if (request_irq(hwcfg.irq, scc_isr,
-						IRQF_DISABLED, "AX.25 SCC",
+						0, "AX.25 SCC",
 						(void *)(long) hwcfg.irq))
 					printk(KERN_WARNING "z8530drv: warning, cannot get IRQ %d\n", hwcfg.irq);
 				else
diff --git a/drivers/net/hamradio/yam.c b/drivers/net/hamradio/yam.c
index 96a98d2..9d60f06 100644
--- a/drivers/net/hamradio/yam.c
+++ b/drivers/net/hamradio/yam.c
@@ -890,7 +890,7 @@ static int yam_open(struct net_device *dev)
 		goto out_release_base;
 	}
 	outb(0, IER(dev->base_addr));
-	if (request_irq(dev->irq, yam_interrupt, IRQF_DISABLED | IRQF_SHARED, dev->name, dev)) {
+	if (request_irq(dev->irq, yam_interrupt, IRQF_SHARED, dev->name, dev)) {
 		printk(KERN_ERR "%s: irq %d busy\n", dev->name, dev->irq);
 		ret = -EBUSY;
 		goto out_release_base;
diff --git a/drivers/net/irda/bfin_sir.c b/drivers/net/irda/bfin_sir.c
index 9d4ce1a..529317b 100644
--- a/drivers/net/irda/bfin_sir.c
+++ b/drivers/net/irda/bfin_sir.c
@@ -410,12 +410,12 @@ static int bfin_sir_startup(struct bfin_sir_port *port, struct net_device *dev)
 
 #else
 
-	if (request_irq(port->irq, bfin_sir_rx_int, IRQF_DISABLED, "BFIN_SIR_RX", dev)) {
+	if (request_irq(port->irq, bfin_sir_rx_int, 0, "BFIN_SIR_RX", dev)) {
 		dev_warn(&dev->dev, "Unable to attach SIR RX interrupt\n");
 		return -EBUSY;
 	}
 
-	if (request_irq(port->irq+1, bfin_sir_tx_int, IRQF_DISABLED, "BFIN_SIR_TX", dev)) {
+	if (request_irq(port->irq+1, bfin_sir_tx_int, 0, "BFIN_SIR_TX", dev)) {
 		dev_warn(&dev->dev, "Unable to attach SIR TX interrupt\n");
 		free_irq(port->irq, dev);
 		return -EBUSY;
diff --git a/drivers/net/irda/donauboe.c b/drivers/net/irda/donauboe.c
index b45b2cc..04e4528 100644
--- a/drivers/net/irda/donauboe.c
+++ b/drivers/net/irda/donauboe.c
@@ -1353,7 +1353,7 @@ toshoboe_net_open (struct net_device *dev)
     return 0;
 
   rc = request_irq (self->io.irq, toshoboe_interrupt,
-                    IRQF_SHARED | IRQF_DISABLED, dev->name, self);
+                    IRQF_SHARED, dev->name, self);
   if (rc)
   	return rc;
 
@@ -1560,7 +1560,7 @@ toshoboe_open (struct pci_dev *pci_dev, const struct pci_device_id *pdid)
   self->io.fir_base = self->base;
   self->io.fir_ext = OBOE_IO_EXTENT;
   self->io.irq = pci_dev->irq;
-  self->io.irqflags = IRQF_SHARED | IRQF_DISABLED;
+  self->io.irqflags = IRQF_SHARED;
 
   self->speed = self->io.speed = 9600;
   self->async = 0;
diff --git a/drivers/net/irda/sh_irda.c b/drivers/net/irda/sh_irda.c
index d275e27..bc77767 100644
--- a/drivers/net/irda/sh_irda.c
+++ b/drivers/net/irda/sh_irda.c
@@ -809,7 +809,7 @@ static int __devinit sh_irda_probe(struct platform_device *pdev)
 
 	platform_set_drvdata(pdev, ndev);
 
-	if (request_irq(irq, sh_irda_irq, IRQF_DISABLED, "sh_irda", self)) {
+	if (request_irq(irq, sh_irda_irq, 0, "sh_irda", self)) {
 		dev_warn(&pdev->dev, "Unable to attach sh_irda interrupt\n");
 		goto err_mem_4;
 	}
diff --git a/drivers/net/irda/sh_sir.c b/drivers/net/irda/sh_sir.c
index ed7d7d6..d5575f7 100644
--- a/drivers/net/irda/sh_sir.c
+++ b/drivers/net/irda/sh_sir.c
@@ -761,7 +761,7 @@ static int __devinit sh_sir_probe(struct platform_device *pdev)
 
 	platform_set_drvdata(pdev, ndev);
 
-	if (request_irq(irq, sh_sir_irq, IRQF_DISABLED, "sh_sir", self)) {
+	if (request_irq(irq, sh_sir_irq, 0, "sh_sir", self)) {
 		dev_warn(&pdev->dev, "Unable to attach sh_sir interrupt\n");
 		goto err_mem_4;
 	}
diff --git a/drivers/net/wan/hostess_sv11.c b/drivers/net/wan/hostess_sv11.c
index 3d80e42..3d74166 100644
--- a/drivers/net/wan/hostess_sv11.c
+++ b/drivers/net/wan/hostess_sv11.c
@@ -220,7 +220,7 @@ static struct z8530_dev *sv11_init(int iobase, int irq)
 	/* We want a fast IRQ for this device. Actually we'd like an even faster
 	   IRQ ;) - This is one driver RtLinux is made for */
 
-	if (request_irq(irq, z8530_interrupt, IRQF_DISABLED,
+	if (request_irq(irq, z8530_interrupt, 0,
 			"Hostess SV11", sv) < 0) {
 		pr_warn("IRQ %d already in use\n", irq);
 		goto err_irq;
diff --git a/drivers/net/wan/sealevel.c b/drivers/net/wan/sealevel.c
index 0b4fd05..6027e47 100644
--- a/drivers/net/wan/sealevel.c
+++ b/drivers/net/wan/sealevel.c
@@ -266,7 +266,7 @@ static __init struct slvl_board *slvl_init(int iobase, int irq,
 	/* We want a fast IRQ for this device. Actually we'd like an even faster
 	   IRQ ;) - This is one driver RtLinux is made for */
 
-	if (request_irq(irq, z8530_interrupt, IRQF_DISABLED,
+	if (request_irq(irq, z8530_interrupt, 0,
 			"SeaLevel", dev) < 0) {
 		pr_warn("IRQ %d already in use\n", irq);
 		goto err_request_irq;
diff --git a/drivers/net/wireless/p54/p54spi.c b/drivers/net/wireless/p54/p54spi.c
index f18df82..c901e07 100644
--- a/drivers/net/wireless/p54/p54spi.c
+++ b/drivers/net/wireless/p54/p54spi.c
@@ -641,7 +641,7 @@ static int __devinit p54spi_probe(struct spi_device *spi)
 	gpio_direction_input(p54spi_gpio_irq);
 
 	ret = request_irq(gpio_to_irq(p54spi_gpio_irq),
-			  p54spi_interrupt, IRQF_DISABLED, "p54spi",
+			  p54spi_interrupt, 0, "p54spi",
 			  priv->spi);
 	if (ret < 0) {
 		dev_err(&priv->spi->dev, "request_irq() failed");
diff --git a/include/net/irda/irda_device.h b/include/net/irda/irda_device.h
index 94c852d..1141747 100644
--- a/include/net/irda/irda_device.h
+++ b/include/net/irda/irda_device.h
@@ -162,7 +162,7 @@ typedef struct {
         int irq, irq2;        /* Interrupts used */
         int dma, dma2;        /* DMA channel(s) used */
         int fifo_size;        /* FIFO size */
-        int irqflags;         /* interrupt flags (ie, IRQF_SHARED|IRQF_DISABLED) */
+        int irqflags;         /* interrupt flags (ie, IRQF_SHARED) */
 	int direction;        /* Link direction, used by some FIR drivers */
 	int enabled;          /* Powered on? */
 	int suspended;        /* Suspended by APM */
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 39/57] net: irq: Remove IRQF_DISABLED
@ 2011-09-21  9:28     ` Yong Zhang
  0 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA
  Cc: Jaroslav Kysela, Christian Lamparter, Klaus Kudielka,
	Thomas Sailer, Jeff Kirsher, Bob Liu, Joe Perches,
	Jean-Paul Roubelat, Joerg Reuter,
	cbe-oss-dev-uLR06cmDAlY/bJ5BZ2RsiQ, Samuel Ortiz, Grant Grundler,
	Lucas De Marchi, John W. Linville,
	yong.zhang0-Re5JQEeQqe8AvxtiuMwx3w,
	uclinux-dist-devel-ZG0+EudsQA8dtHy/vicBwGD2FQJk+8+b,
	linux-hams-u79uwXL29TY76Z2rM5mHXA, tglx-hfZtesqFncYOwBW4kG4KsQ,
	Breno Leitao, John Crispin, Nicolas Pitre, Geoff Levand

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
 drivers/net/ethernet/adi/bfin_mac.c          |    4 ++--
 drivers/net/ethernet/amd/sun3lance.c         |    2 +-
 drivers/net/ethernet/broadcom/bcm63xx_enet.c |    4 ++--
 drivers/net/ethernet/dec/tulip/de4x5.c       |    2 +-
 drivers/net/ethernet/freescale/fec.c         |    2 +-
 drivers/net/ethernet/hp/hp100.c              |    2 +-
 drivers/net/ethernet/ibm/ehea/ehea_main.c    |    6 +++---
 drivers/net/ethernet/korina.c                |    8 ++++----
 drivers/net/ethernet/lantiq_etop.c           |    4 ++--
 drivers/net/ethernet/marvell/pxa168_eth.c    |    2 +-
 drivers/net/ethernet/micrel/ks8851_mll.c     |    2 +-
 drivers/net/ethernet/natsemi/jazzsonic.c     |    2 +-
 drivers/net/ethernet/natsemi/xtsonic.c       |    2 +-
 drivers/net/ethernet/pasemi/pasemi_mac.c     |    4 ++--
 drivers/net/ethernet/smsc/smc91x.h           |    2 +-
 drivers/net/ethernet/smsc/smsc9420.c         |    2 +-
 drivers/net/ethernet/ti/davinci_emac.c       |    2 +-
 drivers/net/ethernet/toshiba/ps3_gelic_net.c |    2 +-
 drivers/net/hamradio/baycom_ser_fdx.c        |    2 +-
 drivers/net/hamradio/baycom_ser_hdx.c        |    2 +-
 drivers/net/hamradio/scc.c                   |    2 +-
 drivers/net/hamradio/yam.c                   |    2 +-
 drivers/net/irda/bfin_sir.c                  |    4 ++--
 drivers/net/irda/donauboe.c                  |    4 ++--
 drivers/net/irda/sh_irda.c                   |    2 +-
 drivers/net/irda/sh_sir.c                    |    2 +-
 drivers/net/wan/hostess_sv11.c               |    2 +-
 drivers/net/wan/sealevel.c                   |    2 +-
 drivers/net/wireless/p54/p54spi.c            |    2 +-
 include/net/irda/irda_device.h               |    2 +-
 30 files changed, 41 insertions(+), 41 deletions(-)

diff --git a/drivers/net/ethernet/adi/bfin_mac.c b/drivers/net/ethernet/adi/bfin_mac.c
index b6d69c9..0d3804f 100644
--- a/drivers/net/ethernet/adi/bfin_mac.c
+++ b/drivers/net/ethernet/adi/bfin_mac.c
@@ -531,7 +531,7 @@ static int bfin_mac_ethtool_setwol(struct net_device *dev,
 	if (lp->wol && !lp->irq_wake_requested) {
 		/* register wake irq handler */
 		rc = request_irq(IRQ_MAC_WAKEDET, bfin_mac_wake_interrupt,
-				 IRQF_DISABLED, "EMAC_WAKE", dev);
+				 0, "EMAC_WAKE", dev);
 		if (rc)
 			return rc;
 		lp->irq_wake_requested = true;
@@ -1544,7 +1544,7 @@ static int __devinit bfin_mac_probe(struct platform_device *pdev)
 	/* now, enable interrupts */
 	/* register irq handler */
 	rc = request_irq(IRQ_MAC_RX, bfin_mac_interrupt,
-			IRQF_DISABLED, "EMAC_RX", ndev);
+			0, "EMAC_RX", ndev);
 	if (rc) {
 		dev_err(&pdev->dev, "Cannot request Blackfin MAC RX IRQ!\n");
 		rc = -EBUSY;
diff --git a/drivers/net/ethernet/amd/sun3lance.c b/drivers/net/ethernet/amd/sun3lance.c
index 080b71f..9aee9f7 100644
--- a/drivers/net/ethernet/amd/sun3lance.c
+++ b/drivers/net/ethernet/amd/sun3lance.c
@@ -358,7 +358,7 @@ static int __init lance_probe( struct net_device *dev)
 
 	REGA(CSR0) = CSR0_STOP;
 
-	if (request_irq(LANCE_IRQ, lance_interrupt, IRQF_DISABLED, "SUN3 Lance", dev) < 0) {
+	if (request_irq(LANCE_IRQ, lance_interrupt, 0, "SUN3 Lance", dev) < 0) {
 #ifdef CONFIG_SUN3
 		iounmap((void __iomem *)ioaddr);
 #endif
diff --git a/drivers/net/ethernet/broadcom/bcm63xx_enet.c b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
index 05b0228..3fc0d8a 100644
--- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
+++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
@@ -840,13 +840,13 @@ static int bcm_enet_open(struct net_device *dev)
 	if (ret)
 		goto out_phy_disconnect;
 
-	ret = request_irq(priv->irq_rx, bcm_enet_isr_dma, IRQF_DISABLED,
+	ret = request_irq(priv->irq_rx, bcm_enet_isr_dma, 0,
 			  dev->name, dev);
 	if (ret)
 		goto out_freeirq;
 
 	ret = request_irq(priv->irq_tx, bcm_enet_isr_dma,
-			  IRQF_DISABLED, dev->name, dev);
+			  0, dev->name, dev);
 	if (ret)
 		goto out_freeirq_rx;
 
diff --git a/drivers/net/ethernet/dec/tulip/de4x5.c b/drivers/net/ethernet/dec/tulip/de4x5.c
index 871bcaa..7dd7989 100644
--- a/drivers/net/ethernet/dec/tulip/de4x5.c
+++ b/drivers/net/ethernet/dec/tulip/de4x5.c
@@ -1321,7 +1321,7 @@ de4x5_open(struct net_device *dev)
     if (request_irq(dev->irq, de4x5_interrupt, IRQF_SHARED,
 		                                     lp->adapter_name, dev)) {
 	printk("de4x5_open(): Requested IRQ%d is busy - attemping FAST/SHARE...", dev->irq);
-	if (request_irq(dev->irq, de4x5_interrupt, IRQF_DISABLED | IRQF_SHARED,
+	if (request_irq(dev->irq, de4x5_interrupt, IRQF_SHARED,
 			                             lp->adapter_name, dev)) {
 	    printk("\n              Cannot get IRQ- reconfigure your hardware.\n");
 	    disable_ast(dev);
diff --git a/drivers/net/ethernet/freescale/fec.c b/drivers/net/ethernet/freescale/fec.c
index 158b82e..9de7569 100644
--- a/drivers/net/ethernet/freescale/fec.c
+++ b/drivers/net/ethernet/freescale/fec.c
@@ -1508,7 +1508,7 @@ fec_probe(struct platform_device *pdev)
 		irq = platform_get_irq(pdev, i);
 		if (i && irq < 0)
 			break;
-		ret = request_irq(irq, fec_enet_interrupt, IRQF_DISABLED, pdev->name, ndev);
+		ret = request_irq(irq, fec_enet_interrupt, 0, pdev->name, ndev);
 		if (ret) {
 			while (--i >= 0) {
 				irq = platform_get_irq(pdev, i);
diff --git a/drivers/net/ethernet/hp/hp100.c b/drivers/net/ethernet/hp/hp100.c
index 6a5ee07..4c4f3f4 100644
--- a/drivers/net/ethernet/hp/hp100.c
+++ b/drivers/net/ethernet/hp/hp100.c
@@ -1097,7 +1097,7 @@ static int hp100_open(struct net_device *dev)
 	/* New: if bus is PCI or EISA, interrupts might be shared interrupts */
 	if (request_irq(dev->irq, hp100_interrupt,
 			lp->bus == HP100_BUS_PCI || lp->bus ==
-			HP100_BUS_EISA ? IRQF_SHARED : IRQF_DISABLED,
+			HP100_BUS_EISA ? IRQF_SHARED : 0,
 			"hp100", dev)) {
 		printk("hp100: %s: unable to get IRQ %d\n", dev->name, dev->irq);
 		return -EAGAIN;
diff --git a/drivers/net/ethernet/ibm/ehea/ehea_main.c b/drivers/net/ethernet/ibm/ehea/ehea_main.c
index 583bcd3..19459c5 100644
--- a/drivers/net/ethernet/ibm/ehea/ehea_main.c
+++ b/drivers/net/ethernet/ibm/ehea/ehea_main.c
@@ -1340,7 +1340,7 @@ static int ehea_reg_interrupts(struct net_device *dev)
 
 	ret = ibmebus_request_irq(port->qp_eq->attr.ist1,
 				  ehea_qp_aff_irq_handler,
-				  IRQF_DISABLED, port->int_aff_name, port);
+				  0, port->int_aff_name, port);
 	if (ret) {
 		netdev_err(dev, "failed registering irq for qp_aff_irq_handler:ist=%X\n",
 			   port->qp_eq->attr.ist1);
@@ -1358,7 +1358,7 @@ static int ehea_reg_interrupts(struct net_device *dev)
 			 "%s-queue%d", dev->name, i);
 		ret = ibmebus_request_irq(pr->eq->attr.ist1,
 					  ehea_recv_irq_handler,
-					  IRQF_DISABLED, pr->int_send_name,
+					  0, pr->int_send_name,
 					  pr);
 		if (ret) {
 			netdev_err(dev, "failed registering irq for ehea_queue port_res_nr:%d, ist=%X\n",
@@ -3513,7 +3513,7 @@ static int __devinit ehea_probe_adapter(struct platform_device *dev,
 		     (unsigned long)adapter);
 
 	ret = ibmebus_request_irq(adapter->neq->attr.ist1,
-				  ehea_interrupt_neq, IRQF_DISABLED,
+				  ehea_interrupt_neq, 0,
 				  "ehea_neq", adapter);
 	if (ret) {
 		dev_err(&dev->dev, "requesting NEQ IRQ failed\n");
diff --git a/drivers/net/ethernet/korina.c b/drivers/net/ethernet/korina.c
index d8430f4..2a96cd5 100644
--- a/drivers/net/ethernet/korina.c
+++ b/drivers/net/ethernet/korina.c
@@ -1001,14 +1001,14 @@ static int korina_open(struct net_device *dev)
 	 * that handles the Done Finished
 	 * Ovr and Und Events */
 	ret = request_irq(lp->rx_irq, korina_rx_dma_interrupt,
-			IRQF_DISABLED, "Korina ethernet Rx", dev);
+			0, "Korina ethernet Rx", dev);
 	if (ret < 0) {
 		printk(KERN_ERR "%s: unable to get Rx DMA IRQ %d\n",
 		    dev->name, lp->rx_irq);
 		goto err_release;
 	}
 	ret = request_irq(lp->tx_irq, korina_tx_dma_interrupt,
-			IRQF_DISABLED, "Korina ethernet Tx", dev);
+			0, "Korina ethernet Tx", dev);
 	if (ret < 0) {
 		printk(KERN_ERR "%s: unable to get Tx DMA IRQ %d\n",
 		    dev->name, lp->tx_irq);
@@ -1017,7 +1017,7 @@ static int korina_open(struct net_device *dev)
 
 	/* Install handler for overrun error. */
 	ret = request_irq(lp->ovr_irq, korina_ovr_interrupt,
-			IRQF_DISABLED, "Ethernet Overflow", dev);
+			0, "Ethernet Overflow", dev);
 	if (ret < 0) {
 		printk(KERN_ERR "%s: unable to get OVR IRQ %d\n",
 		    dev->name, lp->ovr_irq);
@@ -1026,7 +1026,7 @@ static int korina_open(struct net_device *dev)
 
 	/* Install handler for underflow error. */
 	ret = request_irq(lp->und_irq, korina_und_interrupt,
-			IRQF_DISABLED, "Ethernet Underflow", dev);
+			0, "Ethernet Underflow", dev);
 	if (ret < 0) {
 		printk(KERN_ERR "%s: unable to get UND IRQ %d\n",
 		    dev->name, lp->und_irq);
diff --git a/drivers/net/ethernet/lantiq_etop.c b/drivers/net/ethernet/lantiq_etop.c
index 6bb2b95..d9a268c 100644
--- a/drivers/net/ethernet/lantiq_etop.c
+++ b/drivers/net/ethernet/lantiq_etop.c
@@ -280,7 +280,7 @@ ltq_etop_hw_init(struct net_device *dev)
 
 		if (IS_TX(i)) {
 			ltq_dma_alloc_tx(&ch->dma);
-			request_irq(irq, ltq_etop_dma_irq, IRQF_DISABLED,
+			request_irq(irq, ltq_etop_dma_irq, 0,
 				"etop_tx", priv);
 		} else if (IS_RX(i)) {
 			ltq_dma_alloc_rx(&ch->dma);
@@ -289,7 +289,7 @@ ltq_etop_hw_init(struct net_device *dev)
 				if (ltq_etop_alloc_skb(ch))
 					return -ENOMEM;
 			ch->dma.desc = 0;
-			request_irq(irq, ltq_etop_dma_irq, IRQF_DISABLED,
+			request_irq(irq, ltq_etop_dma_irq, 0,
 				"etop_rx", priv);
 		}
 		ch->dma.irq = irq;
diff --git a/drivers/net/ethernet/marvell/pxa168_eth.c b/drivers/net/ethernet/marvell/pxa168_eth.c
index 1a3033d..8abc407 100644
--- a/drivers/net/ethernet/marvell/pxa168_eth.c
+++ b/drivers/net/ethernet/marvell/pxa168_eth.c
@@ -1131,7 +1131,7 @@ static int pxa168_eth_open(struct net_device *dev)
 	int err;
 
 	err = request_irq(dev->irq, pxa168_eth_int_handler,
-			  IRQF_DISABLED, dev->name, dev);
+			  0, dev->name, dev);
 	if (err) {
 		dev_printk(KERN_ERR, &dev->dev, "can't assign irq\n");
 		return -EAGAIN;
diff --git a/drivers/net/ethernet/micrel/ks8851_mll.c b/drivers/net/ethernet/micrel/ks8851_mll.c
index d19c849..a6b427b 100644
--- a/drivers/net/ethernet/micrel/ks8851_mll.c
+++ b/drivers/net/ethernet/micrel/ks8851_mll.c
@@ -899,7 +899,7 @@ static int ks_net_open(struct net_device *netdev)
 	struct ks_net *ks = netdev_priv(netdev);
 	int err;
 
-#define	KS_INT_FLAGS	(IRQF_DISABLED|IRQF_TRIGGER_LOW)
+#define	KS_INT_FLAGS	(IRQF_TRIGGER_LOW)
 	/* lock the card, even if we may not actually do anything
 	 * else at the moment.
 	 */
diff --git a/drivers/net/ethernet/natsemi/jazzsonic.c b/drivers/net/ethernet/natsemi/jazzsonic.c
index fc7c6a9..ecc3467 100644
--- a/drivers/net/ethernet/natsemi/jazzsonic.c
+++ b/drivers/net/ethernet/natsemi/jazzsonic.c
@@ -84,7 +84,7 @@ static int jazzsonic_open(struct net_device* dev)
 {
 	int retval;
 
-	retval = request_irq(dev->irq, sonic_interrupt, IRQF_DISABLED,
+	retval = request_irq(dev->irq, sonic_interrupt, 0,
 				"sonic", dev);
 	if (retval) {
 		printk(KERN_ERR "%s: unable to get IRQ %d.\n",
diff --git a/drivers/net/ethernet/natsemi/xtsonic.c b/drivers/net/ethernet/natsemi/xtsonic.c
index ccf61b9..04de013 100644
--- a/drivers/net/ethernet/natsemi/xtsonic.c
+++ b/drivers/net/ethernet/natsemi/xtsonic.c
@@ -95,7 +95,7 @@ static int xtsonic_open(struct net_device *dev)
 {
 	int retval;
 
-	retval = request_irq(dev->irq, sonic_interrupt, IRQF_DISABLED,
+	retval = request_irq(dev->irq, sonic_interrupt, 0,
 				"sonic", dev);
 	if (retval) {
 		printk(KERN_ERR "%s: unable to get IRQ %d.\n",
diff --git a/drivers/net/ethernet/pasemi/pasemi_mac.c b/drivers/net/ethernet/pasemi/pasemi_mac.c
index 5322095..bc6cb6a 100644
--- a/drivers/net/ethernet/pasemi/pasemi_mac.c
+++ b/drivers/net/ethernet/pasemi/pasemi_mac.c
@@ -1218,7 +1218,7 @@ static int pasemi_mac_open(struct net_device *dev)
 	snprintf(mac->tx_irq_name, sizeof(mac->tx_irq_name), "%s tx",
 		 dev->name);
 
-	ret = request_irq(mac->tx->chan.irq, pasemi_mac_tx_intr, IRQF_DISABLED,
+	ret = request_irq(mac->tx->chan.irq, pasemi_mac_tx_intr, 0,
 			  mac->tx_irq_name, mac->tx);
 	if (ret) {
 		dev_err(&mac->pdev->dev, "request_irq of irq %d failed: %d\n",
@@ -1229,7 +1229,7 @@ static int pasemi_mac_open(struct net_device *dev)
 	snprintf(mac->rx_irq_name, sizeof(mac->rx_irq_name), "%s rx",
 		 dev->name);
 
-	ret = request_irq(mac->rx->chan.irq, pasemi_mac_rx_intr, IRQF_DISABLED,
+	ret = request_irq(mac->rx->chan.irq, pasemi_mac_rx_intr, 0,
 			  mac->rx_irq_name, mac->rx);
 	if (ret) {
 		dev_err(&mac->pdev->dev, "request_irq of irq %d failed: %d\n",
diff --git a/drivers/net/ethernet/smsc/smc91x.h b/drivers/net/ethernet/smsc/smc91x.h
index 5f53fbb..e6319f5 100644
--- a/drivers/net/ethernet/smsc/smc91x.h
+++ b/drivers/net/ethernet/smsc/smc91x.h
@@ -271,7 +271,7 @@ static inline void mcf_outsw(void *a, unsigned char *p, int l)
 #define SMC_insw(a, r, p, l)	mcf_insw(a + r, p, l)
 #define SMC_outsw(a, r, p, l)	mcf_outsw(a + r, p, l)
 
-#define SMC_IRQ_FLAGS		(IRQF_DISABLED)
+#define SMC_IRQ_FLAGS		(0)
 
 #else
 
diff --git a/drivers/net/ethernet/smsc/smsc9420.c b/drivers/net/ethernet/smsc/smsc9420.c
index 4f15680..5b6d9ae 100644
--- a/drivers/net/ethernet/smsc/smsc9420.c
+++ b/drivers/net/ethernet/smsc/smsc9420.c
@@ -1359,7 +1359,7 @@ static int smsc9420_open(struct net_device *dev)
 	smsc9420_reg_write(pd, INT_STAT, 0xFFFFFFFF);
 	smsc9420_pci_flush_write(pd);
 
-	if (request_irq(dev->irq, smsc9420_isr, IRQF_SHARED | IRQF_DISABLED,
+	if (request_irq(dev->irq, smsc9420_isr, IRQF_SHARED,
 			DRV_NAME, pd)) {
 		smsc_warn(IFUP, "Unable to use IRQ = %d", dev->irq);
 		result = -ENODEV;
diff --git a/drivers/net/ethernet/ti/davinci_emac.c b/drivers/net/ethernet/ti/davinci_emac.c
index 815c797..ba8cb9d 100644
--- a/drivers/net/ethernet/ti/davinci_emac.c
+++ b/drivers/net/ethernet/ti/davinci_emac.c
@@ -1553,7 +1553,7 @@ static int emac_dev_open(struct net_device *ndev)
 
 	while ((res = platform_get_resource(priv->pdev, IORESOURCE_IRQ, k))) {
 		for (i = res->start; i <= res->end; i++) {
-			if (request_irq(i, emac_irq, IRQF_DISABLED,
+			if (request_irq(i, emac_irq, 0,
 					ndev->name, ndev))
 				goto rollback;
 		}
diff --git a/drivers/net/ethernet/toshiba/ps3_gelic_net.c b/drivers/net/ethernet/toshiba/ps3_gelic_net.c
index ddb33cf..b47bfe2 100644
--- a/drivers/net/ethernet/toshiba/ps3_gelic_net.c
+++ b/drivers/net/ethernet/toshiba/ps3_gelic_net.c
@@ -1732,7 +1732,7 @@ static int __devinit ps3_gelic_driver_probe(struct ps3_system_bus_device *dev)
 		goto fail_alloc_irq;
 	}
 	result = request_irq(card->irq, gelic_card_interrupt,
-			     IRQF_DISABLED, netdev->name, card);
+			     0, netdev->name, card);
 
 	if (result) {
 		dev_info(ctodev(card), "%s:request_irq failed (%d)\n",
diff --git a/drivers/net/hamradio/baycom_ser_fdx.c b/drivers/net/hamradio/baycom_ser_fdx.c
index a974727..636b65c 100644
--- a/drivers/net/hamradio/baycom_ser_fdx.c
+++ b/drivers/net/hamradio/baycom_ser_fdx.c
@@ -445,7 +445,7 @@ static int ser12_open(struct net_device *dev)
 	outb(0, FCR(dev->base_addr));  /* disable FIFOs */
 	outb(0x0d, MCR(dev->base_addr));
 	outb(0, IER(dev->base_addr));
-	if (request_irq(dev->irq, ser12_interrupt, IRQF_DISABLED | IRQF_SHARED,
+	if (request_irq(dev->irq, ser12_interrupt, IRQF_SHARED,
 			"baycom_ser_fdx", dev)) {
 		release_region(dev->base_addr, SER12_EXTENT);
 		return -EBUSY;
diff --git a/drivers/net/hamradio/baycom_ser_hdx.c b/drivers/net/hamradio/baycom_ser_hdx.c
index e349d86..f9a8976 100644
--- a/drivers/net/hamradio/baycom_ser_hdx.c
+++ b/drivers/net/hamradio/baycom_ser_hdx.c
@@ -490,7 +490,7 @@ static int ser12_open(struct net_device *dev)
 	outb(0, FCR(dev->base_addr));  /* disable FIFOs */
 	outb(0x0d, MCR(dev->base_addr));
 	outb(0, IER(dev->base_addr));
-	if (request_irq(dev->irq, ser12_interrupt, IRQF_DISABLED | IRQF_SHARED,
+	if (request_irq(dev->irq, ser12_interrupt, IRQF_SHARED,
 			"baycom_ser12", dev)) {
 		release_region(dev->base_addr, SER12_EXTENT);       
 		return -EBUSY;
diff --git a/drivers/net/hamradio/scc.c b/drivers/net/hamradio/scc.c
index 3365581..f432f32 100644
--- a/drivers/net/hamradio/scc.c
+++ b/drivers/net/hamradio/scc.c
@@ -1735,7 +1735,7 @@ static int scc_net_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
 			if (!Ivec[hwcfg.irq].used && hwcfg.irq)
 			{
 				if (request_irq(hwcfg.irq, scc_isr,
-						IRQF_DISABLED, "AX.25 SCC",
+						0, "AX.25 SCC",
 						(void *)(long) hwcfg.irq))
 					printk(KERN_WARNING "z8530drv: warning, cannot get IRQ %d\n", hwcfg.irq);
 				else
diff --git a/drivers/net/hamradio/yam.c b/drivers/net/hamradio/yam.c
index 96a98d2..9d60f06 100644
--- a/drivers/net/hamradio/yam.c
+++ b/drivers/net/hamradio/yam.c
@@ -890,7 +890,7 @@ static int yam_open(struct net_device *dev)
 		goto out_release_base;
 	}
 	outb(0, IER(dev->base_addr));
-	if (request_irq(dev->irq, yam_interrupt, IRQF_DISABLED | IRQF_SHARED, dev->name, dev)) {
+	if (request_irq(dev->irq, yam_interrupt, IRQF_SHARED, dev->name, dev)) {
 		printk(KERN_ERR "%s: irq %d busy\n", dev->name, dev->irq);
 		ret = -EBUSY;
 		goto out_release_base;
diff --git a/drivers/net/irda/bfin_sir.c b/drivers/net/irda/bfin_sir.c
index 9d4ce1a..529317b 100644
--- a/drivers/net/irda/bfin_sir.c
+++ b/drivers/net/irda/bfin_sir.c
@@ -410,12 +410,12 @@ static int bfin_sir_startup(struct bfin_sir_port *port, struct net_device *dev)
 
 #else
 
-	if (request_irq(port->irq, bfin_sir_rx_int, IRQF_DISABLED, "BFIN_SIR_RX", dev)) {
+	if (request_irq(port->irq, bfin_sir_rx_int, 0, "BFIN_SIR_RX", dev)) {
 		dev_warn(&dev->dev, "Unable to attach SIR RX interrupt\n");
 		return -EBUSY;
 	}
 
-	if (request_irq(port->irq+1, bfin_sir_tx_int, IRQF_DISABLED, "BFIN_SIR_TX", dev)) {
+	if (request_irq(port->irq+1, bfin_sir_tx_int, 0, "BFIN_SIR_TX", dev)) {
 		dev_warn(&dev->dev, "Unable to attach SIR TX interrupt\n");
 		free_irq(port->irq, dev);
 		return -EBUSY;
diff --git a/drivers/net/irda/donauboe.c b/drivers/net/irda/donauboe.c
index b45b2cc..04e4528 100644
--- a/drivers/net/irda/donauboe.c
+++ b/drivers/net/irda/donauboe.c
@@ -1353,7 +1353,7 @@ toshoboe_net_open (struct net_device *dev)
     return 0;
 
   rc = request_irq (self->io.irq, toshoboe_interrupt,
-                    IRQF_SHARED | IRQF_DISABLED, dev->name, self);
+                    IRQF_SHARED, dev->name, self);
   if (rc)
   	return rc;
 
@@ -1560,7 +1560,7 @@ toshoboe_open (struct pci_dev *pci_dev, const struct pci_device_id *pdid)
   self->io.fir_base = self->base;
   self->io.fir_ext = OBOE_IO_EXTENT;
   self->io.irq = pci_dev->irq;
-  self->io.irqflags = IRQF_SHARED | IRQF_DISABLED;
+  self->io.irqflags = IRQF_SHARED;
 
   self->speed = self->io.speed = 9600;
   self->async = 0;
diff --git a/drivers/net/irda/sh_irda.c b/drivers/net/irda/sh_irda.c
index d275e27..bc77767 100644
--- a/drivers/net/irda/sh_irda.c
+++ b/drivers/net/irda/sh_irda.c
@@ -809,7 +809,7 @@ static int __devinit sh_irda_probe(struct platform_device *pdev)
 
 	platform_set_drvdata(pdev, ndev);
 
-	if (request_irq(irq, sh_irda_irq, IRQF_DISABLED, "sh_irda", self)) {
+	if (request_irq(irq, sh_irda_irq, 0, "sh_irda", self)) {
 		dev_warn(&pdev->dev, "Unable to attach sh_irda interrupt\n");
 		goto err_mem_4;
 	}
diff --git a/drivers/net/irda/sh_sir.c b/drivers/net/irda/sh_sir.c
index ed7d7d6..d5575f7 100644
--- a/drivers/net/irda/sh_sir.c
+++ b/drivers/net/irda/sh_sir.c
@@ -761,7 +761,7 @@ static int __devinit sh_sir_probe(struct platform_device *pdev)
 
 	platform_set_drvdata(pdev, ndev);
 
-	if (request_irq(irq, sh_sir_irq, IRQF_DISABLED, "sh_sir", self)) {
+	if (request_irq(irq, sh_sir_irq, 0, "sh_sir", self)) {
 		dev_warn(&pdev->dev, "Unable to attach sh_sir interrupt\n");
 		goto err_mem_4;
 	}
diff --git a/drivers/net/wan/hostess_sv11.c b/drivers/net/wan/hostess_sv11.c
index 3d80e42..3d74166 100644
--- a/drivers/net/wan/hostess_sv11.c
+++ b/drivers/net/wan/hostess_sv11.c
@@ -220,7 +220,7 @@ static struct z8530_dev *sv11_init(int iobase, int irq)
 	/* We want a fast IRQ for this device. Actually we'd like an even faster
 	   IRQ ;) - This is one driver RtLinux is made for */
 
-	if (request_irq(irq, z8530_interrupt, IRQF_DISABLED,
+	if (request_irq(irq, z8530_interrupt, 0,
 			"Hostess SV11", sv) < 0) {
 		pr_warn("IRQ %d already in use\n", irq);
 		goto err_irq;
diff --git a/drivers/net/wan/sealevel.c b/drivers/net/wan/sealevel.c
index 0b4fd05..6027e47 100644
--- a/drivers/net/wan/sealevel.c
+++ b/drivers/net/wan/sealevel.c
@@ -266,7 +266,7 @@ static __init struct slvl_board *slvl_init(int iobase, int irq,
 	/* We want a fast IRQ for this device. Actually we'd like an even faster
 	   IRQ ;) - This is one driver RtLinux is made for */
 
-	if (request_irq(irq, z8530_interrupt, IRQF_DISABLED,
+	if (request_irq(irq, z8530_interrupt, 0,
 			"SeaLevel", dev) < 0) {
 		pr_warn("IRQ %d already in use\n", irq);
 		goto err_request_irq;
diff --git a/drivers/net/wireless/p54/p54spi.c b/drivers/net/wireless/p54/p54spi.c
index f18df82..c901e07 100644
--- a/drivers/net/wireless/p54/p54spi.c
+++ b/drivers/net/wireless/p54/p54spi.c
@@ -641,7 +641,7 @@ static int __devinit p54spi_probe(struct spi_device *spi)
 	gpio_direction_input(p54spi_gpio_irq);
 
 	ret = request_irq(gpio_to_irq(p54spi_gpio_irq),
-			  p54spi_interrupt, IRQF_DISABLED, "p54spi",
+			  p54spi_interrupt, 0, "p54spi",
 			  priv->spi);
 	if (ret < 0) {
 		dev_err(&priv->spi->dev, "request_irq() failed");
diff --git a/include/net/irda/irda_device.h b/include/net/irda/irda_device.h
index 94c852d..1141747 100644
--- a/include/net/irda/irda_device.h
+++ b/include/net/irda/irda_device.h
@@ -162,7 +162,7 @@ typedef struct {
         int irq, irq2;        /* Interrupts used */
         int dma, dma2;        /* DMA channel(s) used */
         int fifo_size;        /* FIFO size */
-        int irqflags;         /* interrupt flags (ie, IRQF_SHARED|IRQF_DISABLED) */
+        int irqflags;         /* interrupt flags (ie, IRQF_SHARED) */
 	int direction;        /* Link direction, used by some FIR drivers */
 	int enabled;          /* Powered on? */
 	int suspended;        /* Suspended by APM */
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 40/57] dirvers/parisc: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
                   ` (37 preceding siblings ...)
       [not found] ` <1316597339-29861-1-git-send-email-yong.zhang0-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2011-09-21  9:28 ` Yong Zhang
  2011-09-21 10:07   ` James Bottomley
  2011-09-21  9:28   ` Yong Zhang
                   ` (18 subsequent siblings)
  57 siblings, 1 reply; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Kyle McMartin, Helge Deller,
	James E.J. Bottomley, linux-parisc

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 drivers/parisc/superio.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/parisc/superio.c b/drivers/parisc/superio.c
index e3b76d4..5e6fd94e 100644
--- a/drivers/parisc/superio.c
+++ b/drivers/parisc/superio.c
@@ -274,7 +274,7 @@ superio_init(struct pci_dev *pcidev)
 	else
 		printk(KERN_ERR PFX "USB regulator not initialized!\n");
 
-	if (request_irq(pdev->irq, superio_interrupt, IRQF_DISABLED,
+	if (request_irq(pdev->irq, superio_interrupt, 0,
 			SUPERIO, (void *)sio)) {
 
 		printk(KERN_ERR PFX "could not get irq\n");
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 41/57] pcmcia: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
@ 2011-09-21  9:28   ` Yong Zhang
  2011-09-21  9:28 ` [PATCH 02/57] alpha: irq: Remove IRQF_DISABLED Yong Zhang
                     ` (56 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Wolfram Sang, Paul Gortmaker,
	Dominik Brodowski, Russell King, Marcelo Roberto Jimenez,
	Joe Perches, linux-pcmcia

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Acked-by: Wolfram Sang <w.sang@pengutronix.de>
---
 drivers/pcmcia/db1xxx_ss.c  |    4 ++--
 drivers/pcmcia/soc_common.c |    2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/pcmcia/db1xxx_ss.c b/drivers/pcmcia/db1xxx_ss.c
index 3e49df6..6d76a92 100644
--- a/drivers/pcmcia/db1xxx_ss.c
+++ b/drivers/pcmcia/db1xxx_ss.c
@@ -162,12 +162,12 @@ static int db1x_pcmcia_setup_irqs(struct db1x_pcmcia_sock *sock)
 	 */
 	if (sock->board_type == BOARD_TYPE_DB1200) {
 		ret = request_irq(sock->insert_irq, db1200_pcmcia_cdirq,
-				  IRQF_DISABLED, "pcmcia_insert", sock);
+				  0, "pcmcia_insert", sock);
 		if (ret)
 			goto out1;
 
 		ret = request_irq(sock->eject_irq, db1200_pcmcia_cdirq,
-				  IRQF_DISABLED, "pcmcia_eject", sock);
+				  0, "pcmcia_eject", sock);
 		if (ret) {
 			free_irq(sock->insert_irq, sock);
 			goto out1;
diff --git a/drivers/pcmcia/soc_common.c b/drivers/pcmcia/soc_common.c
index a0a9c2a..0493a31 100644
--- a/drivers/pcmcia/soc_common.c
+++ b/drivers/pcmcia/soc_common.c
@@ -535,7 +535,7 @@ int soc_pcmcia_request_irqs(struct soc_pcmcia_socket *skt,
 		if (irqs[i].sock != skt->nr)
 			continue;
 		res = request_irq(irqs[i].irq, soc_common_pcmcia_interrupt,
-				  IRQF_DISABLED, irqs[i].str, skt);
+				  0, irqs[i].str, skt);
 		if (res)
 			break;
 		irq_set_irq_type(irqs[i].irq, IRQ_TYPE_NONE);
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 41/57] pcmcia: irq: Remove IRQF_DISABLED
@ 2011-09-21  9:28   ` Yong Zhang
  0 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: Marcelo Roberto Jimenez, Paul Gortmaker, linux-pcmcia,
	Wolfram Sang, Dominik Brodowski, yong.zhang0, Joe Perches,
	Russell King, tglx

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Acked-by: Wolfram Sang <w.sang@pengutronix.de>
---
 drivers/pcmcia/db1xxx_ss.c  |    4 ++--
 drivers/pcmcia/soc_common.c |    2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/pcmcia/db1xxx_ss.c b/drivers/pcmcia/db1xxx_ss.c
index 3e49df6..6d76a92 100644
--- a/drivers/pcmcia/db1xxx_ss.c
+++ b/drivers/pcmcia/db1xxx_ss.c
@@ -162,12 +162,12 @@ static int db1x_pcmcia_setup_irqs(struct db1x_pcmcia_sock *sock)
 	 */
 	if (sock->board_type == BOARD_TYPE_DB1200) {
 		ret = request_irq(sock->insert_irq, db1200_pcmcia_cdirq,
-				  IRQF_DISABLED, "pcmcia_insert", sock);
+				  0, "pcmcia_insert", sock);
 		if (ret)
 			goto out1;
 
 		ret = request_irq(sock->eject_irq, db1200_pcmcia_cdirq,
-				  IRQF_DISABLED, "pcmcia_eject", sock);
+				  0, "pcmcia_eject", sock);
 		if (ret) {
 			free_irq(sock->insert_irq, sock);
 			goto out1;
diff --git a/drivers/pcmcia/soc_common.c b/drivers/pcmcia/soc_common.c
index a0a9c2a..0493a31 100644
--- a/drivers/pcmcia/soc_common.c
+++ b/drivers/pcmcia/soc_common.c
@@ -535,7 +535,7 @@ int soc_pcmcia_request_irqs(struct soc_pcmcia_socket *skt,
 		if (irqs[i].sock != skt->nr)
 			continue;
 		res = request_irq(irqs[i].irq, soc_common_pcmcia_interrupt,
-				  IRQF_DISABLED, irqs[i].str, skt);
+				  0, irqs[i].str, skt);
 		if (res)
 			break;
 		irq_set_irq_type(irqs[i].irq, IRQ_TYPE_NONE);
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 42/57] sony-laptop:irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
                   ` (39 preceding siblings ...)
  2011-09-21  9:28   ` Yong Zhang
@ 2011-09-21  9:28 ` Yong Zhang
  2011-09-21  9:28 ` [PATCH 43/57] PNP: irq: " Yong Zhang
                   ` (16 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Mattia Dongili, Matthew Garrett, platform-driver-x86

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 drivers/platform/x86/sony-laptop.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/platform/x86/sony-laptop.c b/drivers/platform/x86/sony-laptop.c
index bbd182e..c006dee 100644
--- a/drivers/platform/x86/sony-laptop.c
+++ b/drivers/platform/x86/sony-laptop.c
@@ -3281,7 +3281,7 @@ static int sony_pic_add(struct acpi_device *device)
 	/* request IRQ */
 	list_for_each_entry_reverse(irq, &spic_dev.interrupts, list) {
 		if (!request_irq(irq->irq.interrupts[0], sony_pic_irq,
-					IRQF_DISABLED, "sony-laptop", &spic_dev)) {
+					0, "sony-laptop", &spic_dev)) {
 			dprintk("IRQ: %d - triggering: %d - "
 					"polarity: %d - shr: %d\n",
 					irq->irq.interrupts[0],
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 43/57] PNP: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
                   ` (40 preceding siblings ...)
  2011-09-21  9:28 ` [PATCH 42/57] sony-laptop:irq: " Yong Zhang
@ 2011-09-21  9:28 ` Yong Zhang
  2011-09-21 20:20   ` Bjorn Helgaas
  2011-09-21  9:28 ` [PATCH 44/57] power_supply:irq: " Yong Zhang
                   ` (15 subsequent siblings)
  57 siblings, 1 reply; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel; +Cc: tglx, yong.zhang0, Adam Belay, Bjorn Helgaas

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 drivers/pnp/resource.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/pnp/resource.c b/drivers/pnp/resource.c
index b0ecacb..3669821 100644
--- a/drivers/pnp/resource.c
+++ b/drivers/pnp/resource.c
@@ -385,7 +385,7 @@ int pnp_check_irq(struct pnp_dev *dev, struct resource *res)
 	 * device is active because it itself may be in use */
 	if (!dev->active) {
 		if (request_irq(*irq, pnp_test_handler,
-				IRQF_DISABLED | IRQF_PROBE_SHARED, "pnp", NULL))
+				IRQF_PROBE_SHARED, "pnp", NULL))
 			return 0;
 		free_irq(*irq, NULL);
 	}
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 44/57] power_supply:irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
                   ` (41 preceding siblings ...)
  2011-09-21  9:28 ` [PATCH 43/57] PNP: irq: " Yong Zhang
@ 2011-09-21  9:28 ` Yong Zhang
  2011-09-21  9:28   ` Yong Zhang
                   ` (14 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Anton Vorontsov, Tejun Heo, Marek Vasut, Axel Lin

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 drivers/power/wm97xx_battery.c |    2 +-
 drivers/power/z2_battery.c     |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/power/wm97xx_battery.c b/drivers/power/wm97xx_battery.c
index 156559e..cf8681c 100644
--- a/drivers/power/wm97xx_battery.c
+++ b/drivers/power/wm97xx_battery.c
@@ -196,7 +196,7 @@ static int __devinit wm97xx_bat_probe(struct platform_device *dev)
 		if (ret)
 			goto err2;
 		ret = request_irq(gpio_to_irq(pdata->charge_gpio),
-				wm97xx_chrg_irq, IRQF_DISABLED,
+				wm97xx_chrg_irq, 0,
 				"AC Detect", dev);
 		if (ret)
 			goto err2;
diff --git a/drivers/power/z2_battery.c b/drivers/power/z2_battery.c
index ae38c44..636ebb2 100644
--- a/drivers/power/z2_battery.c
+++ b/drivers/power/z2_battery.c
@@ -218,7 +218,7 @@ static int __devinit z2_batt_probe(struct i2c_client *client,
 		irq_set_irq_type(gpio_to_irq(info->charge_gpio),
 				 IRQ_TYPE_EDGE_BOTH);
 		ret = request_irq(gpio_to_irq(info->charge_gpio),
-				z2_charge_switch_irq, IRQF_DISABLED,
+				z2_charge_switch_irq, 0,
 				"AC Detect", charger);
 		if (ret)
 			goto err3;
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 45/57] powerpc/ps3: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
@ 2011-09-21  9:28   ` Yong Zhang
  2011-09-21  9:28 ` [PATCH 02/57] alpha: irq: Remove IRQF_DISABLED Yong Zhang
                     ` (56 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Geoff Levand, linuxppc-dev, cbe-oss-dev

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Acked-by: Geoff Levand <geoff@infradead.org>
---
 drivers/ps3/ps3-vuart.c   |    2 +-
 drivers/ps3/ps3stor_lib.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/ps3/ps3-vuart.c b/drivers/ps3/ps3-vuart.c
index d9fb729..fb73008 100644
--- a/drivers/ps3/ps3-vuart.c
+++ b/drivers/ps3/ps3-vuart.c
@@ -952,7 +952,7 @@ static int ps3_vuart_bus_interrupt_get(void)
 	}
 
 	result = request_irq(vuart_bus_priv.virq, ps3_vuart_irq_handler,
-		IRQF_DISABLED, "vuart", &vuart_bus_priv);
+		0, "vuart", &vuart_bus_priv);
 
 	if (result) {
 		pr_debug("%s:%d: request_irq failed (%d)\n",
diff --git a/drivers/ps3/ps3stor_lib.c b/drivers/ps3/ps3stor_lib.c
index cc328de..8c3f5ad 100644
--- a/drivers/ps3/ps3stor_lib.c
+++ b/drivers/ps3/ps3stor_lib.c
@@ -167,7 +167,7 @@ int ps3stor_setup(struct ps3_storage_device *dev, irq_handler_t handler)
 		goto fail_close_device;
 	}
 
-	error = request_irq(dev->irq, handler, IRQF_DISABLED,
+	error = request_irq(dev->irq, handler, 0,
 			    dev->sbd.core.driver->name, dev);
 	if (error) {
 		dev_err(&dev->sbd.core, "%s:%u: request_irq failed %d\n",
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 45/57] powerpc/ps3: irq: Remove IRQF_DISABLED
@ 2011-09-21  9:28   ` Yong Zhang
  0 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: Geoff Levand, yong.zhang0, tglx, linuxppc-dev, cbe-oss-dev

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Acked-by: Geoff Levand <geoff@infradead.org>
---
 drivers/ps3/ps3-vuart.c   |    2 +-
 drivers/ps3/ps3stor_lib.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/ps3/ps3-vuart.c b/drivers/ps3/ps3-vuart.c
index d9fb729..fb73008 100644
--- a/drivers/ps3/ps3-vuart.c
+++ b/drivers/ps3/ps3-vuart.c
@@ -952,7 +952,7 @@ static int ps3_vuart_bus_interrupt_get(void)
 	}
 
 	result = request_irq(vuart_bus_priv.virq, ps3_vuart_irq_handler,
-		IRQF_DISABLED, "vuart", &vuart_bus_priv);
+		0, "vuart", &vuart_bus_priv);
 
 	if (result) {
 		pr_debug("%s:%d: request_irq failed (%d)\n",
diff --git a/drivers/ps3/ps3stor_lib.c b/drivers/ps3/ps3stor_lib.c
index cc328de..8c3f5ad 100644
--- a/drivers/ps3/ps3stor_lib.c
+++ b/drivers/ps3/ps3stor_lib.c
@@ -167,7 +167,7 @@ int ps3stor_setup(struct ps3_storage_device *dev, irq_handler_t handler)
 		goto fail_close_device;
 	}
 
-	error = request_irq(dev->irq, handler, IRQF_DISABLED,
+	error = request_irq(dev->irq, handler, 0,
 			    dev->sbd.core.driver->name, dev);
 	if (error) {
 		dev_err(&dev->sbd.core, "%s:%u: request_irq failed %d\n",
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 46/57] rtc: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
  2011-09-21  9:28 ` [PATCH 01/57] usb/hcd: Remove tricky code dealing with IRQF_DISABLED && IRQF_SHARED Yong Zhang
@ 2011-09-21  9:28   ` Yong Zhang
  2011-09-21  9:28 ` [PATCH 04/57] avr32: " Yong Zhang
                     ` (55 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Alessandro Zummo, Linus Walleij, Wan ZongShun,
	Guan Xuetao, rtc-linux, linux-arm-kernel

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
---
 drivers/rtc/rtc-at91sam9.c  |    2 +-
 drivers/rtc/rtc-cmos.c      |    2 +-
 drivers/rtc/rtc-coh901331.c |    2 +-
 drivers/rtc/rtc-davinci.c   |    2 +-
 drivers/rtc/rtc-ds1511.c    |    2 +-
 drivers/rtc/rtc-ds1553.c    |    2 +-
 drivers/rtc/rtc-lpc32xx.c   |    2 +-
 drivers/rtc/rtc-mpc5121.c   |    4 ++--
 drivers/rtc/rtc-mrst.c      |    2 +-
 drivers/rtc/rtc-mv.c        |    2 +-
 drivers/rtc/rtc-nuc900.c    |    2 +-
 drivers/rtc/rtc-omap.c      |    4 ++--
 drivers/rtc/rtc-pl030.c     |    2 +-
 drivers/rtc/rtc-pl031.c     |    2 +-
 drivers/rtc/rtc-puv3.c      |    4 ++--
 drivers/rtc/rtc-pxa.c       |    4 ++--
 drivers/rtc/rtc-s3c.c       |    4 ++--
 drivers/rtc/rtc-sa1100.c    |    4 ++--
 drivers/rtc/rtc-sh.c        |    8 ++++----
 drivers/rtc/rtc-stk17ta8.c  |    2 +-
 drivers/rtc/rtc-tx4939.c    |    2 +-
 drivers/rtc/rtc-vr41xx.c    |    4 ++--
 22 files changed, 32 insertions(+), 32 deletions(-)

diff --git a/drivers/rtc/rtc-at91sam9.c b/drivers/rtc/rtc-at91sam9.c
index a3ad957..0c09e8f 100644
--- a/drivers/rtc/rtc-at91sam9.c
+++ b/drivers/rtc/rtc-at91sam9.c
@@ -331,7 +331,7 @@ static int __init at91_rtc_probe(struct platform_device *pdev)
 
 	/* register irq handler after we know what name we'll use */
 	ret = request_irq(AT91_ID_SYS, at91_rtc_interrupt,
-				IRQF_DISABLED | IRQF_SHARED,
+				IRQF_SHARED,
 				dev_name(&rtc->rtcdev->dev), rtc);
 	if (ret) {
 		dev_dbg(&pdev->dev, "can't share IRQ %d?\n", AT91_ID_SYS);
diff --git a/drivers/rtc/rtc-cmos.c b/drivers/rtc/rtc-cmos.c
index 05beb6c..66d3b14 100644
--- a/drivers/rtc/rtc-cmos.c
+++ b/drivers/rtc/rtc-cmos.c
@@ -714,7 +714,7 @@ cmos_do_probe(struct device *dev, struct resource *ports, int rtc_irq)
 			rtc_cmos_int_handler = cmos_interrupt;
 
 		retval = request_irq(rtc_irq, rtc_cmos_int_handler,
-				IRQF_DISABLED, dev_name(&cmos_rtc.rtc->dev),
+				0, dev_name(&cmos_rtc.rtc->dev),
 				cmos_rtc.rtc);
 		if (retval < 0) {
 			dev_dbg(dev, "IRQ %d is already in use\n", rtc_irq);
diff --git a/drivers/rtc/rtc-coh901331.c b/drivers/rtc/rtc-coh901331.c
index 80f9c88..a5b8a0c 100644
--- a/drivers/rtc/rtc-coh901331.c
+++ b/drivers/rtc/rtc-coh901331.c
@@ -199,7 +199,7 @@ static int __init coh901331_probe(struct platform_device *pdev)
 	}
 
 	rtap->irq = platform_get_irq(pdev, 0);
-	if (request_irq(rtap->irq, coh901331_interrupt, IRQF_DISABLED,
+	if (request_irq(rtap->irq, coh901331_interrupt, 0,
 			"RTC COH 901 331 Alarm", rtap)) {
 		ret = -EIO;
 		goto out_no_irq;
diff --git a/drivers/rtc/rtc-davinci.c b/drivers/rtc/rtc-davinci.c
index 755e1fe..14c2109 100644
--- a/drivers/rtc/rtc-davinci.c
+++ b/drivers/rtc/rtc-davinci.c
@@ -542,7 +542,7 @@ static int __init davinci_rtc_probe(struct platform_device *pdev)
 	rtcss_write(davinci_rtc, 0, PRTCSS_RTC_CCTRL);
 
 	ret = request_irq(davinci_rtc->irq, davinci_rtc_interrupt,
-			  IRQF_DISABLED, "davinci_rtc", davinci_rtc);
+			  0, "davinci_rtc", davinci_rtc);
 	if (ret < 0) {
 		dev_err(dev, "unable to register davinci RTC interrupt\n");
 		goto fail4;
diff --git a/drivers/rtc/rtc-ds1511.c b/drivers/rtc/rtc-ds1511.c
index 586c244..bbc7c86 100644
--- a/drivers/rtc/rtc-ds1511.c
+++ b/drivers/rtc/rtc-ds1511.c
@@ -532,7 +532,7 @@ ds1511_rtc_probe(struct platform_device *pdev)
 	if (pdata->irq > 0) {
 		rtc_read(RTC_CMD1);
 		if (devm_request_irq(&pdev->dev, pdata->irq, ds1511_interrupt,
-			IRQF_DISABLED | IRQF_SHARED, pdev->name, pdev) < 0) {
+			IRQF_SHARED, pdev->name, pdev) < 0) {
 
 			dev_warn(&pdev->dev, "interrupt not available.\n");
 			pdata->irq = 0;
diff --git a/drivers/rtc/rtc-ds1553.c b/drivers/rtc/rtc-ds1553.c
index 1350029..1ef2718 100644
--- a/drivers/rtc/rtc-ds1553.c
+++ b/drivers/rtc/rtc-ds1553.c
@@ -320,7 +320,7 @@ static int __devinit ds1553_rtc_probe(struct platform_device *pdev)
 		writeb(0, ioaddr + RTC_INTERRUPTS);
 		if (devm_request_irq(&pdev->dev, pdata->irq,
 				ds1553_rtc_interrupt,
-				IRQF_DISABLED, pdev->name, pdev) < 0) {
+				0, pdev->name, pdev) < 0) {
 			dev_warn(&pdev->dev, "interrupt not available.\n");
 			pdata->irq = 0;
 		}
diff --git a/drivers/rtc/rtc-lpc32xx.c b/drivers/rtc/rtc-lpc32xx.c
index ae16250..ba11a19 100644
--- a/drivers/rtc/rtc-lpc32xx.c
+++ b/drivers/rtc/rtc-lpc32xx.c
@@ -287,7 +287,7 @@ static int __devinit lpc32xx_rtc_probe(struct platform_device *pdev)
 	if (rtc->irq >= 0) {
 		if (devm_request_irq(&pdev->dev, rtc->irq,
 				     lpc32xx_rtc_alarm_interrupt,
-				     IRQF_DISABLED, pdev->name, rtc) < 0) {
+				     0, pdev->name, rtc) < 0) {
 			dev_warn(&pdev->dev, "Can't request interrupt.\n");
 			rtc->irq = -1;
 		} else {
diff --git a/drivers/rtc/rtc-mpc5121.c b/drivers/rtc/rtc-mpc5121.c
index da60915..3a683fd 100644
--- a/drivers/rtc/rtc-mpc5121.c
+++ b/drivers/rtc/rtc-mpc5121.c
@@ -327,7 +327,7 @@ static int __devinit mpc5121_rtc_probe(struct platform_device *op)
 	dev_set_drvdata(&op->dev, rtc);
 
 	rtc->irq = irq_of_parse_and_map(op->dev.of_node, 1);
-	err = request_irq(rtc->irq, mpc5121_rtc_handler, IRQF_DISABLED,
+	err = request_irq(rtc->irq, mpc5121_rtc_handler, 0,
 						"mpc5121-rtc", &op->dev);
 	if (err) {
 		dev_err(&op->dev, "%s: could not request irq: %i\n",
@@ -337,7 +337,7 @@ static int __devinit mpc5121_rtc_probe(struct platform_device *op)
 
 	rtc->irq_periodic = irq_of_parse_and_map(op->dev.of_node, 0);
 	err = request_irq(rtc->irq_periodic, mpc5121_rtc_handler_upd,
-				IRQF_DISABLED, "mpc5121-rtc_upd", &op->dev);
+				0, "mpc5121-rtc_upd", &op->dev);
 	if (err) {
 		dev_err(&op->dev, "%s: could not request irq: %i\n",
 						__func__, rtc->irq_periodic);
diff --git a/drivers/rtc/rtc-mrst.c b/drivers/rtc/rtc-mrst.c
index d335448..507f00e 100644
--- a/drivers/rtc/rtc-mrst.c
+++ b/drivers/rtc/rtc-mrst.c
@@ -363,7 +363,7 @@ vrtc_mrst_do_probe(struct device *dev, struct resource *iomem, int rtc_irq)
 
 	if (rtc_irq) {
 		retval = request_irq(rtc_irq, mrst_rtc_irq,
-				IRQF_DISABLED, dev_name(&mrst_rtc.rtc->dev),
+				0, dev_name(&mrst_rtc.rtc->dev),
 				mrst_rtc.rtc);
 		if (retval < 0) {
 			dev_dbg(dev, "IRQ %d is already in use, err %d\n",
diff --git a/drivers/rtc/rtc-mv.c b/drivers/rtc/rtc-mv.c
index 768e2ed..1300962 100644
--- a/drivers/rtc/rtc-mv.c
+++ b/drivers/rtc/rtc-mv.c
@@ -273,7 +273,7 @@ static int __devinit mv_rtc_probe(struct platform_device *pdev)
 	if (pdata->irq >= 0) {
 		writel(0, pdata->ioaddr + RTC_ALARM_INTERRUPT_MASK_REG_OFFS);
 		if (devm_request_irq(&pdev->dev, pdata->irq, mv_rtc_interrupt,
-				     IRQF_DISABLED | IRQF_SHARED,
+				     IRQF_SHARED,
 				     pdev->name, pdata) < 0) {
 			dev_warn(&pdev->dev, "interrupt not available.\n");
 			pdata->irq = -1;
diff --git a/drivers/rtc/rtc-nuc900.c b/drivers/rtc/rtc-nuc900.c
index 781068d..b790109 100644
--- a/drivers/rtc/rtc-nuc900.c
+++ b/drivers/rtc/rtc-nuc900.c
@@ -269,7 +269,7 @@ static int __devinit nuc900_rtc_probe(struct platform_device *pdev)
 
 	nuc900_rtc->irq_num = platform_get_irq(pdev, 0);
 	if (request_irq(nuc900_rtc->irq_num, nuc900_rtc_interrupt,
-				IRQF_DISABLED, "nuc900rtc", nuc900_rtc)) {
+				0, "nuc900rtc", nuc900_rtc)) {
 		dev_err(&pdev->dev, "NUC900 RTC request irq failed\n");
 		err = -EBUSY;
 		goto fail4;
diff --git a/drivers/rtc/rtc-omap.c b/drivers/rtc/rtc-omap.c
index 7789002..0b614e3 100644
--- a/drivers/rtc/rtc-omap.c
+++ b/drivers/rtc/rtc-omap.c
@@ -348,14 +348,14 @@ static int __init omap_rtc_probe(struct platform_device *pdev)
 		rtc_write(OMAP_RTC_STATUS_ALARM, OMAP_RTC_STATUS_REG);
 
 	/* handle periodic and alarm irqs */
-	if (request_irq(omap_rtc_timer, rtc_irq, IRQF_DISABLED,
+	if (request_irq(omap_rtc_timer, rtc_irq, 0,
 			dev_name(&rtc->dev), rtc)) {
 		pr_debug("%s: RTC timer interrupt IRQ%d already claimed\n",
 			pdev->name, omap_rtc_timer);
 		goto fail1;
 	}
 	if ((omap_rtc_timer != omap_rtc_alarm) &&
-		(request_irq(omap_rtc_alarm, rtc_irq, IRQF_DISABLED,
+		(request_irq(omap_rtc_alarm, rtc_irq, 0,
 			dev_name(&rtc->dev), rtc))) {
 		pr_debug("%s: RTC alarm interrupt IRQ%d already claimed\n",
 			pdev->name, omap_rtc_alarm);
diff --git a/drivers/rtc/rtc-pl030.c b/drivers/rtc/rtc-pl030.c
index 1d28d44..c5afd6f 100644
--- a/drivers/rtc/rtc-pl030.c
+++ b/drivers/rtc/rtc-pl030.c
@@ -123,7 +123,7 @@ static int pl030_probe(struct amba_device *dev, const struct amba_id *id)
 
 	amba_set_drvdata(dev, rtc);
 
-	ret = request_irq(dev->irq[0], pl030_interrupt, IRQF_DISABLED,
+	ret = request_irq(dev->irq[0], pl030_interrupt, 0,
 			  "rtc-pl030", rtc);
 	if (ret)
 		goto err_irq;
diff --git a/drivers/rtc/rtc-pl031.c b/drivers/rtc/rtc-pl031.c
index ff1b84b..d2df59d 100644
--- a/drivers/rtc/rtc-pl031.c
+++ b/drivers/rtc/rtc-pl031.c
@@ -352,7 +352,7 @@ static int pl031_probe(struct amba_device *adev, const struct amba_id *id)
 	}
 
 	if (request_irq(adev->irq[0], pl031_interrupt,
-			IRQF_DISABLED, "rtc-pl031", ldata)) {
+			0, "rtc-pl031", ldata)) {
 		ret = -EIO;
 		goto out_no_irq;
 	}
diff --git a/drivers/rtc/rtc-puv3.c b/drivers/rtc/rtc-puv3.c
index b3eba3c..378fe4b 100644
--- a/drivers/rtc/rtc-puv3.c
+++ b/drivers/rtc/rtc-puv3.c
@@ -164,7 +164,7 @@ static int puv3_rtc_open(struct device *dev)
 	int ret;
 
 	ret = request_irq(puv3_rtc_alarmno, puv3_rtc_alarmirq,
-			  IRQF_DISABLED,  "pkunity-rtc alarm", rtc_dev);
+			  0,  "pkunity-rtc alarm", rtc_dev);
 
 	if (ret) {
 		dev_err(dev, "IRQ%d error %d\n", puv3_rtc_alarmno, ret);
@@ -172,7 +172,7 @@ static int puv3_rtc_open(struct device *dev)
 	}
 
 	ret = request_irq(puv3_rtc_tickno, puv3_rtc_tickirq,
-			  IRQF_DISABLED,  "pkunity-rtc tick", rtc_dev);
+			  0,  "pkunity-rtc tick", rtc_dev);
 
 	if (ret) {
 		dev_err(dev, "IRQ%d error %d\n", puv3_rtc_tickno, ret);
diff --git a/drivers/rtc/rtc-pxa.c b/drivers/rtc/rtc-pxa.c
index fc9f499..0075c8f 100644
--- a/drivers/rtc/rtc-pxa.c
+++ b/drivers/rtc/rtc-pxa.c
@@ -174,14 +174,14 @@ static int pxa_rtc_open(struct device *dev)
 	struct pxa_rtc *pxa_rtc = dev_get_drvdata(dev);
 	int ret;
 
-	ret = request_irq(pxa_rtc->irq_1Hz, pxa_rtc_irq, IRQF_DISABLED,
+	ret = request_irq(pxa_rtc->irq_1Hz, pxa_rtc_irq, 0,
 			  "rtc 1Hz", dev);
 	if (ret < 0) {
 		dev_err(dev, "can't get irq %i, err %d\n", pxa_rtc->irq_1Hz,
 			ret);
 		goto err_irq_1Hz;
 	}
-	ret = request_irq(pxa_rtc->irq_Alrm, pxa_rtc_irq, IRQF_DISABLED,
+	ret = request_irq(pxa_rtc->irq_Alrm, pxa_rtc_irq, 0,
 			  "rtc Alrm", dev);
 	if (ret < 0) {
 		dev_err(dev, "can't get irq %i, err %d\n", pxa_rtc->irq_Alrm,
diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
index 7639ab9..9a073aa 100644
--- a/drivers/rtc/rtc-s3c.c
+++ b/drivers/rtc/rtc-s3c.c
@@ -536,14 +536,14 @@ static int __devinit s3c_rtc_probe(struct platform_device *pdev)
 	s3c_rtc_setfreq(&pdev->dev, 1);
 
 	ret = request_irq(s3c_rtc_alarmno, s3c_rtc_alarmirq,
-			  IRQF_DISABLED,  "s3c2410-rtc alarm", rtc);
+			  0,  "s3c2410-rtc alarm", rtc);
 	if (ret) {
 		dev_err(&pdev->dev, "IRQ%d error %d\n", s3c_rtc_alarmno, ret);
 		goto err_alarm_irq;
 	}
 
 	ret = request_irq(s3c_rtc_tickno, s3c_rtc_tickirq,
-			  IRQF_DISABLED,  "s3c2410-rtc tick", rtc);
+			  0,  "s3c2410-rtc tick", rtc);
 	if (ret) {
 		dev_err(&pdev->dev, "IRQ%d error %d\n", s3c_rtc_tickno, ret);
 		free_irq(s3c_rtc_alarmno, rtc);
diff --git a/drivers/rtc/rtc-sa1100.c b/drivers/rtc/rtc-sa1100.c
index 0b40bb8..7ca247e 100644
--- a/drivers/rtc/rtc-sa1100.c
+++ b/drivers/rtc/rtc-sa1100.c
@@ -161,13 +161,13 @@ static int sa1100_rtc_open(struct device *dev)
 	struct platform_device *plat_dev = to_platform_device(dev);
 	struct rtc_device *rtc = platform_get_drvdata(plat_dev);
 
-	ret = request_irq(IRQ_RTC1Hz, sa1100_rtc_interrupt, IRQF_DISABLED,
+	ret = request_irq(IRQ_RTC1Hz, sa1100_rtc_interrupt, 0,
 		"rtc 1Hz", dev);
 	if (ret) {
 		dev_err(dev, "IRQ %d already in use.\n", IRQ_RTC1Hz);
 		goto fail_ui;
 	}
-	ret = request_irq(IRQ_RTCAlrm, sa1100_rtc_interrupt, IRQF_DISABLED,
+	ret = request_irq(IRQ_RTCAlrm, sa1100_rtc_interrupt, 0,
 		"rtc Alrm", dev);
 	if (ret) {
 		dev_err(dev, "IRQ %d already in use.\n", IRQ_RTCAlrm);
diff --git a/drivers/rtc/rtc-sh.c b/drivers/rtc/rtc-sh.c
index 6ac55fd..e55a763 100644
--- a/drivers/rtc/rtc-sh.c
+++ b/drivers/rtc/rtc-sh.c
@@ -666,7 +666,7 @@ static int __init sh_rtc_probe(struct platform_device *pdev)
 	if (rtc->carry_irq <= 0) {
 		/* register shared periodic/carry/alarm irq */
 		ret = request_irq(rtc->periodic_irq, sh_rtc_shared,
-				  IRQF_DISABLED, "sh-rtc", rtc);
+				  0, "sh-rtc", rtc);
 		if (unlikely(ret)) {
 			dev_err(&pdev->dev,
 				"request IRQ failed with %d, IRQ %d\n", ret,
@@ -676,7 +676,7 @@ static int __init sh_rtc_probe(struct platform_device *pdev)
 	} else {
 		/* register periodic/carry/alarm irqs */
 		ret = request_irq(rtc->periodic_irq, sh_rtc_periodic,
-				  IRQF_DISABLED, "sh-rtc period", rtc);
+				  0, "sh-rtc period", rtc);
 		if (unlikely(ret)) {
 			dev_err(&pdev->dev,
 				"request period IRQ failed with %d, IRQ %d\n",
@@ -685,7 +685,7 @@ static int __init sh_rtc_probe(struct platform_device *pdev)
 		}
 
 		ret = request_irq(rtc->carry_irq, sh_rtc_interrupt,
-				  IRQF_DISABLED, "sh-rtc carry", rtc);
+				  0, "sh-rtc carry", rtc);
 		if (unlikely(ret)) {
 			dev_err(&pdev->dev,
 				"request carry IRQ failed with %d, IRQ %d\n",
@@ -695,7 +695,7 @@ static int __init sh_rtc_probe(struct platform_device *pdev)
 		}
 
 		ret = request_irq(rtc->alarm_irq, sh_rtc_alarm,
-				  IRQF_DISABLED, "sh-rtc alarm", rtc);
+				  0, "sh-rtc alarm", rtc);
 		if (unlikely(ret)) {
 			dev_err(&pdev->dev,
 				"request alarm IRQ failed with %d, IRQ %d\n",
diff --git a/drivers/rtc/rtc-stk17ta8.c b/drivers/rtc/rtc-stk17ta8.c
index ed3e9b5..5e9adec 100644
--- a/drivers/rtc/rtc-stk17ta8.c
+++ b/drivers/rtc/rtc-stk17ta8.c
@@ -329,7 +329,7 @@ static int __devinit stk17ta8_rtc_probe(struct platform_device *pdev)
 		writeb(0, ioaddr + RTC_INTERRUPTS);
 		if (devm_request_irq(&pdev->dev, pdata->irq,
 				stk17ta8_rtc_interrupt,
-				IRQF_DISABLED | IRQF_SHARED,
+				IRQF_SHARED,
 				pdev->name, pdev) < 0) {
 			dev_warn(&pdev->dev, "interrupt not available.\n");
 			pdata->irq = 0;
diff --git a/drivers/rtc/rtc-tx4939.c b/drivers/rtc/rtc-tx4939.c
index aac0ffe..a12bfac 100644
--- a/drivers/rtc/rtc-tx4939.c
+++ b/drivers/rtc/rtc-tx4939.c
@@ -266,7 +266,7 @@ static int __init tx4939_rtc_probe(struct platform_device *pdev)
 	spin_lock_init(&pdata->lock);
 	tx4939_rtc_cmd(pdata->rtcreg, TX4939_RTCCTL_COMMAND_NOP);
 	if (devm_request_irq(&pdev->dev, irq, tx4939_rtc_interrupt,
-			     IRQF_DISABLED, pdev->name, &pdev->dev) < 0)
+			     0, pdev->name, &pdev->dev) < 0)
 		return -EBUSY;
 	rtc = rtc_device_register(pdev->name, &pdev->dev,
 				  &tx4939_rtc_ops, THIS_MODULE);
diff --git a/drivers/rtc/rtc-vr41xx.c b/drivers/rtc/rtc-vr41xx.c
index c5698cd..6aef17d 100644
--- a/drivers/rtc/rtc-vr41xx.c
+++ b/drivers/rtc/rtc-vr41xx.c
@@ -333,7 +333,7 @@ static int __devinit rtc_probe(struct platform_device *pdev)
 		goto err_device_unregister;
 	}
 
-	retval = request_irq(aie_irq, elapsedtime_interrupt, IRQF_DISABLED,
+	retval = request_irq(aie_irq, elapsedtime_interrupt, 0,
 	                     "elapsed_time", pdev);
 	if (retval < 0)
 		goto err_device_unregister;
@@ -342,7 +342,7 @@ static int __devinit rtc_probe(struct platform_device *pdev)
 	if (pie_irq <= 0)
 		goto err_free_irq;
 
-	retval = request_irq(pie_irq, rtclong1_interrupt, IRQF_DISABLED,
+	retval = request_irq(pie_irq, rtclong1_interrupt, 0,
 		             "rtclong1", pdev);
 	if (retval < 0)
 		goto err_free_irq;
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 46/57] rtc: irq: Remove IRQF_DISABLED
@ 2011-09-21  9:28   ` Yong Zhang
  0 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: Alessandro Zummo, Linus Walleij, Wan ZongShun, yong.zhang0,
	rtc-linux, tglx, Guan Xuetao, linux-arm-kernel

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
---
 drivers/rtc/rtc-at91sam9.c  |    2 +-
 drivers/rtc/rtc-cmos.c      |    2 +-
 drivers/rtc/rtc-coh901331.c |    2 +-
 drivers/rtc/rtc-davinci.c   |    2 +-
 drivers/rtc/rtc-ds1511.c    |    2 +-
 drivers/rtc/rtc-ds1553.c    |    2 +-
 drivers/rtc/rtc-lpc32xx.c   |    2 +-
 drivers/rtc/rtc-mpc5121.c   |    4 ++--
 drivers/rtc/rtc-mrst.c      |    2 +-
 drivers/rtc/rtc-mv.c        |    2 +-
 drivers/rtc/rtc-nuc900.c    |    2 +-
 drivers/rtc/rtc-omap.c      |    4 ++--
 drivers/rtc/rtc-pl030.c     |    2 +-
 drivers/rtc/rtc-pl031.c     |    2 +-
 drivers/rtc/rtc-puv3.c      |    4 ++--
 drivers/rtc/rtc-pxa.c       |    4 ++--
 drivers/rtc/rtc-s3c.c       |    4 ++--
 drivers/rtc/rtc-sa1100.c    |    4 ++--
 drivers/rtc/rtc-sh.c        |    8 ++++----
 drivers/rtc/rtc-stk17ta8.c  |    2 +-
 drivers/rtc/rtc-tx4939.c    |    2 +-
 drivers/rtc/rtc-vr41xx.c    |    4 ++--
 22 files changed, 32 insertions(+), 32 deletions(-)

diff --git a/drivers/rtc/rtc-at91sam9.c b/drivers/rtc/rtc-at91sam9.c
index a3ad957..0c09e8f 100644
--- a/drivers/rtc/rtc-at91sam9.c
+++ b/drivers/rtc/rtc-at91sam9.c
@@ -331,7 +331,7 @@ static int __init at91_rtc_probe(struct platform_device *pdev)
 
 	/* register irq handler after we know what name we'll use */
 	ret = request_irq(AT91_ID_SYS, at91_rtc_interrupt,
-				IRQF_DISABLED | IRQF_SHARED,
+				IRQF_SHARED,
 				dev_name(&rtc->rtcdev->dev), rtc);
 	if (ret) {
 		dev_dbg(&pdev->dev, "can't share IRQ %d?\n", AT91_ID_SYS);
diff --git a/drivers/rtc/rtc-cmos.c b/drivers/rtc/rtc-cmos.c
index 05beb6c..66d3b14 100644
--- a/drivers/rtc/rtc-cmos.c
+++ b/drivers/rtc/rtc-cmos.c
@@ -714,7 +714,7 @@ cmos_do_probe(struct device *dev, struct resource *ports, int rtc_irq)
 			rtc_cmos_int_handler = cmos_interrupt;
 
 		retval = request_irq(rtc_irq, rtc_cmos_int_handler,
-				IRQF_DISABLED, dev_name(&cmos_rtc.rtc->dev),
+				0, dev_name(&cmos_rtc.rtc->dev),
 				cmos_rtc.rtc);
 		if (retval < 0) {
 			dev_dbg(dev, "IRQ %d is already in use\n", rtc_irq);
diff --git a/drivers/rtc/rtc-coh901331.c b/drivers/rtc/rtc-coh901331.c
index 80f9c88..a5b8a0c 100644
--- a/drivers/rtc/rtc-coh901331.c
+++ b/drivers/rtc/rtc-coh901331.c
@@ -199,7 +199,7 @@ static int __init coh901331_probe(struct platform_device *pdev)
 	}
 
 	rtap->irq = platform_get_irq(pdev, 0);
-	if (request_irq(rtap->irq, coh901331_interrupt, IRQF_DISABLED,
+	if (request_irq(rtap->irq, coh901331_interrupt, 0,
 			"RTC COH 901 331 Alarm", rtap)) {
 		ret = -EIO;
 		goto out_no_irq;
diff --git a/drivers/rtc/rtc-davinci.c b/drivers/rtc/rtc-davinci.c
index 755e1fe..14c2109 100644
--- a/drivers/rtc/rtc-davinci.c
+++ b/drivers/rtc/rtc-davinci.c
@@ -542,7 +542,7 @@ static int __init davinci_rtc_probe(struct platform_device *pdev)
 	rtcss_write(davinci_rtc, 0, PRTCSS_RTC_CCTRL);
 
 	ret = request_irq(davinci_rtc->irq, davinci_rtc_interrupt,
-			  IRQF_DISABLED, "davinci_rtc", davinci_rtc);
+			  0, "davinci_rtc", davinci_rtc);
 	if (ret < 0) {
 		dev_err(dev, "unable to register davinci RTC interrupt\n");
 		goto fail4;
diff --git a/drivers/rtc/rtc-ds1511.c b/drivers/rtc/rtc-ds1511.c
index 586c244..bbc7c86 100644
--- a/drivers/rtc/rtc-ds1511.c
+++ b/drivers/rtc/rtc-ds1511.c
@@ -532,7 +532,7 @@ ds1511_rtc_probe(struct platform_device *pdev)
 	if (pdata->irq > 0) {
 		rtc_read(RTC_CMD1);
 		if (devm_request_irq(&pdev->dev, pdata->irq, ds1511_interrupt,
-			IRQF_DISABLED | IRQF_SHARED, pdev->name, pdev) < 0) {
+			IRQF_SHARED, pdev->name, pdev) < 0) {
 
 			dev_warn(&pdev->dev, "interrupt not available.\n");
 			pdata->irq = 0;
diff --git a/drivers/rtc/rtc-ds1553.c b/drivers/rtc/rtc-ds1553.c
index 1350029..1ef2718 100644
--- a/drivers/rtc/rtc-ds1553.c
+++ b/drivers/rtc/rtc-ds1553.c
@@ -320,7 +320,7 @@ static int __devinit ds1553_rtc_probe(struct platform_device *pdev)
 		writeb(0, ioaddr + RTC_INTERRUPTS);
 		if (devm_request_irq(&pdev->dev, pdata->irq,
 				ds1553_rtc_interrupt,
-				IRQF_DISABLED, pdev->name, pdev) < 0) {
+				0, pdev->name, pdev) < 0) {
 			dev_warn(&pdev->dev, "interrupt not available.\n");
 			pdata->irq = 0;
 		}
diff --git a/drivers/rtc/rtc-lpc32xx.c b/drivers/rtc/rtc-lpc32xx.c
index ae16250..ba11a19 100644
--- a/drivers/rtc/rtc-lpc32xx.c
+++ b/drivers/rtc/rtc-lpc32xx.c
@@ -287,7 +287,7 @@ static int __devinit lpc32xx_rtc_probe(struct platform_device *pdev)
 	if (rtc->irq >= 0) {
 		if (devm_request_irq(&pdev->dev, rtc->irq,
 				     lpc32xx_rtc_alarm_interrupt,
-				     IRQF_DISABLED, pdev->name, rtc) < 0) {
+				     0, pdev->name, rtc) < 0) {
 			dev_warn(&pdev->dev, "Can't request interrupt.\n");
 			rtc->irq = -1;
 		} else {
diff --git a/drivers/rtc/rtc-mpc5121.c b/drivers/rtc/rtc-mpc5121.c
index da60915..3a683fd 100644
--- a/drivers/rtc/rtc-mpc5121.c
+++ b/drivers/rtc/rtc-mpc5121.c
@@ -327,7 +327,7 @@ static int __devinit mpc5121_rtc_probe(struct platform_device *op)
 	dev_set_drvdata(&op->dev, rtc);
 
 	rtc->irq = irq_of_parse_and_map(op->dev.of_node, 1);
-	err = request_irq(rtc->irq, mpc5121_rtc_handler, IRQF_DISABLED,
+	err = request_irq(rtc->irq, mpc5121_rtc_handler, 0,
 						"mpc5121-rtc", &op->dev);
 	if (err) {
 		dev_err(&op->dev, "%s: could not request irq: %i\n",
@@ -337,7 +337,7 @@ static int __devinit mpc5121_rtc_probe(struct platform_device *op)
 
 	rtc->irq_periodic = irq_of_parse_and_map(op->dev.of_node, 0);
 	err = request_irq(rtc->irq_periodic, mpc5121_rtc_handler_upd,
-				IRQF_DISABLED, "mpc5121-rtc_upd", &op->dev);
+				0, "mpc5121-rtc_upd", &op->dev);
 	if (err) {
 		dev_err(&op->dev, "%s: could not request irq: %i\n",
 						__func__, rtc->irq_periodic);
diff --git a/drivers/rtc/rtc-mrst.c b/drivers/rtc/rtc-mrst.c
index d335448..507f00e 100644
--- a/drivers/rtc/rtc-mrst.c
+++ b/drivers/rtc/rtc-mrst.c
@@ -363,7 +363,7 @@ vrtc_mrst_do_probe(struct device *dev, struct resource *iomem, int rtc_irq)
 
 	if (rtc_irq) {
 		retval = request_irq(rtc_irq, mrst_rtc_irq,
-				IRQF_DISABLED, dev_name(&mrst_rtc.rtc->dev),
+				0, dev_name(&mrst_rtc.rtc->dev),
 				mrst_rtc.rtc);
 		if (retval < 0) {
 			dev_dbg(dev, "IRQ %d is already in use, err %d\n",
diff --git a/drivers/rtc/rtc-mv.c b/drivers/rtc/rtc-mv.c
index 768e2ed..1300962 100644
--- a/drivers/rtc/rtc-mv.c
+++ b/drivers/rtc/rtc-mv.c
@@ -273,7 +273,7 @@ static int __devinit mv_rtc_probe(struct platform_device *pdev)
 	if (pdata->irq >= 0) {
 		writel(0, pdata->ioaddr + RTC_ALARM_INTERRUPT_MASK_REG_OFFS);
 		if (devm_request_irq(&pdev->dev, pdata->irq, mv_rtc_interrupt,
-				     IRQF_DISABLED | IRQF_SHARED,
+				     IRQF_SHARED,
 				     pdev->name, pdata) < 0) {
 			dev_warn(&pdev->dev, "interrupt not available.\n");
 			pdata->irq = -1;
diff --git a/drivers/rtc/rtc-nuc900.c b/drivers/rtc/rtc-nuc900.c
index 781068d..b790109 100644
--- a/drivers/rtc/rtc-nuc900.c
+++ b/drivers/rtc/rtc-nuc900.c
@@ -269,7 +269,7 @@ static int __devinit nuc900_rtc_probe(struct platform_device *pdev)
 
 	nuc900_rtc->irq_num = platform_get_irq(pdev, 0);
 	if (request_irq(nuc900_rtc->irq_num, nuc900_rtc_interrupt,
-				IRQF_DISABLED, "nuc900rtc", nuc900_rtc)) {
+				0, "nuc900rtc", nuc900_rtc)) {
 		dev_err(&pdev->dev, "NUC900 RTC request irq failed\n");
 		err = -EBUSY;
 		goto fail4;
diff --git a/drivers/rtc/rtc-omap.c b/drivers/rtc/rtc-omap.c
index 7789002..0b614e3 100644
--- a/drivers/rtc/rtc-omap.c
+++ b/drivers/rtc/rtc-omap.c
@@ -348,14 +348,14 @@ static int __init omap_rtc_probe(struct platform_device *pdev)
 		rtc_write(OMAP_RTC_STATUS_ALARM, OMAP_RTC_STATUS_REG);
 
 	/* handle periodic and alarm irqs */
-	if (request_irq(omap_rtc_timer, rtc_irq, IRQF_DISABLED,
+	if (request_irq(omap_rtc_timer, rtc_irq, 0,
 			dev_name(&rtc->dev), rtc)) {
 		pr_debug("%s: RTC timer interrupt IRQ%d already claimed\n",
 			pdev->name, omap_rtc_timer);
 		goto fail1;
 	}
 	if ((omap_rtc_timer != omap_rtc_alarm) &&
-		(request_irq(omap_rtc_alarm, rtc_irq, IRQF_DISABLED,
+		(request_irq(omap_rtc_alarm, rtc_irq, 0,
 			dev_name(&rtc->dev), rtc))) {
 		pr_debug("%s: RTC alarm interrupt IRQ%d already claimed\n",
 			pdev->name, omap_rtc_alarm);
diff --git a/drivers/rtc/rtc-pl030.c b/drivers/rtc/rtc-pl030.c
index 1d28d44..c5afd6f 100644
--- a/drivers/rtc/rtc-pl030.c
+++ b/drivers/rtc/rtc-pl030.c
@@ -123,7 +123,7 @@ static int pl030_probe(struct amba_device *dev, const struct amba_id *id)
 
 	amba_set_drvdata(dev, rtc);
 
-	ret = request_irq(dev->irq[0], pl030_interrupt, IRQF_DISABLED,
+	ret = request_irq(dev->irq[0], pl030_interrupt, 0,
 			  "rtc-pl030", rtc);
 	if (ret)
 		goto err_irq;
diff --git a/drivers/rtc/rtc-pl031.c b/drivers/rtc/rtc-pl031.c
index ff1b84b..d2df59d 100644
--- a/drivers/rtc/rtc-pl031.c
+++ b/drivers/rtc/rtc-pl031.c
@@ -352,7 +352,7 @@ static int pl031_probe(struct amba_device *adev, const struct amba_id *id)
 	}
 
 	if (request_irq(adev->irq[0], pl031_interrupt,
-			IRQF_DISABLED, "rtc-pl031", ldata)) {
+			0, "rtc-pl031", ldata)) {
 		ret = -EIO;
 		goto out_no_irq;
 	}
diff --git a/drivers/rtc/rtc-puv3.c b/drivers/rtc/rtc-puv3.c
index b3eba3c..378fe4b 100644
--- a/drivers/rtc/rtc-puv3.c
+++ b/drivers/rtc/rtc-puv3.c
@@ -164,7 +164,7 @@ static int puv3_rtc_open(struct device *dev)
 	int ret;
 
 	ret = request_irq(puv3_rtc_alarmno, puv3_rtc_alarmirq,
-			  IRQF_DISABLED,  "pkunity-rtc alarm", rtc_dev);
+			  0,  "pkunity-rtc alarm", rtc_dev);
 
 	if (ret) {
 		dev_err(dev, "IRQ%d error %d\n", puv3_rtc_alarmno, ret);
@@ -172,7 +172,7 @@ static int puv3_rtc_open(struct device *dev)
 	}
 
 	ret = request_irq(puv3_rtc_tickno, puv3_rtc_tickirq,
-			  IRQF_DISABLED,  "pkunity-rtc tick", rtc_dev);
+			  0,  "pkunity-rtc tick", rtc_dev);
 
 	if (ret) {
 		dev_err(dev, "IRQ%d error %d\n", puv3_rtc_tickno, ret);
diff --git a/drivers/rtc/rtc-pxa.c b/drivers/rtc/rtc-pxa.c
index fc9f499..0075c8f 100644
--- a/drivers/rtc/rtc-pxa.c
+++ b/drivers/rtc/rtc-pxa.c
@@ -174,14 +174,14 @@ static int pxa_rtc_open(struct device *dev)
 	struct pxa_rtc *pxa_rtc = dev_get_drvdata(dev);
 	int ret;
 
-	ret = request_irq(pxa_rtc->irq_1Hz, pxa_rtc_irq, IRQF_DISABLED,
+	ret = request_irq(pxa_rtc->irq_1Hz, pxa_rtc_irq, 0,
 			  "rtc 1Hz", dev);
 	if (ret < 0) {
 		dev_err(dev, "can't get irq %i, err %d\n", pxa_rtc->irq_1Hz,
 			ret);
 		goto err_irq_1Hz;
 	}
-	ret = request_irq(pxa_rtc->irq_Alrm, pxa_rtc_irq, IRQF_DISABLED,
+	ret = request_irq(pxa_rtc->irq_Alrm, pxa_rtc_irq, 0,
 			  "rtc Alrm", dev);
 	if (ret < 0) {
 		dev_err(dev, "can't get irq %i, err %d\n", pxa_rtc->irq_Alrm,
diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
index 7639ab9..9a073aa 100644
--- a/drivers/rtc/rtc-s3c.c
+++ b/drivers/rtc/rtc-s3c.c
@@ -536,14 +536,14 @@ static int __devinit s3c_rtc_probe(struct platform_device *pdev)
 	s3c_rtc_setfreq(&pdev->dev, 1);
 
 	ret = request_irq(s3c_rtc_alarmno, s3c_rtc_alarmirq,
-			  IRQF_DISABLED,  "s3c2410-rtc alarm", rtc);
+			  0,  "s3c2410-rtc alarm", rtc);
 	if (ret) {
 		dev_err(&pdev->dev, "IRQ%d error %d\n", s3c_rtc_alarmno, ret);
 		goto err_alarm_irq;
 	}
 
 	ret = request_irq(s3c_rtc_tickno, s3c_rtc_tickirq,
-			  IRQF_DISABLED,  "s3c2410-rtc tick", rtc);
+			  0,  "s3c2410-rtc tick", rtc);
 	if (ret) {
 		dev_err(&pdev->dev, "IRQ%d error %d\n", s3c_rtc_tickno, ret);
 		free_irq(s3c_rtc_alarmno, rtc);
diff --git a/drivers/rtc/rtc-sa1100.c b/drivers/rtc/rtc-sa1100.c
index 0b40bb8..7ca247e 100644
--- a/drivers/rtc/rtc-sa1100.c
+++ b/drivers/rtc/rtc-sa1100.c
@@ -161,13 +161,13 @@ static int sa1100_rtc_open(struct device *dev)
 	struct platform_device *plat_dev = to_platform_device(dev);
 	struct rtc_device *rtc = platform_get_drvdata(plat_dev);
 
-	ret = request_irq(IRQ_RTC1Hz, sa1100_rtc_interrupt, IRQF_DISABLED,
+	ret = request_irq(IRQ_RTC1Hz, sa1100_rtc_interrupt, 0,
 		"rtc 1Hz", dev);
 	if (ret) {
 		dev_err(dev, "IRQ %d already in use.\n", IRQ_RTC1Hz);
 		goto fail_ui;
 	}
-	ret = request_irq(IRQ_RTCAlrm, sa1100_rtc_interrupt, IRQF_DISABLED,
+	ret = request_irq(IRQ_RTCAlrm, sa1100_rtc_interrupt, 0,
 		"rtc Alrm", dev);
 	if (ret) {
 		dev_err(dev, "IRQ %d already in use.\n", IRQ_RTCAlrm);
diff --git a/drivers/rtc/rtc-sh.c b/drivers/rtc/rtc-sh.c
index 6ac55fd..e55a763 100644
--- a/drivers/rtc/rtc-sh.c
+++ b/drivers/rtc/rtc-sh.c
@@ -666,7 +666,7 @@ static int __init sh_rtc_probe(struct platform_device *pdev)
 	if (rtc->carry_irq <= 0) {
 		/* register shared periodic/carry/alarm irq */
 		ret = request_irq(rtc->periodic_irq, sh_rtc_shared,
-				  IRQF_DISABLED, "sh-rtc", rtc);
+				  0, "sh-rtc", rtc);
 		if (unlikely(ret)) {
 			dev_err(&pdev->dev,
 				"request IRQ failed with %d, IRQ %d\n", ret,
@@ -676,7 +676,7 @@ static int __init sh_rtc_probe(struct platform_device *pdev)
 	} else {
 		/* register periodic/carry/alarm irqs */
 		ret = request_irq(rtc->periodic_irq, sh_rtc_periodic,
-				  IRQF_DISABLED, "sh-rtc period", rtc);
+				  0, "sh-rtc period", rtc);
 		if (unlikely(ret)) {
 			dev_err(&pdev->dev,
 				"request period IRQ failed with %d, IRQ %d\n",
@@ -685,7 +685,7 @@ static int __init sh_rtc_probe(struct platform_device *pdev)
 		}
 
 		ret = request_irq(rtc->carry_irq, sh_rtc_interrupt,
-				  IRQF_DISABLED, "sh-rtc carry", rtc);
+				  0, "sh-rtc carry", rtc);
 		if (unlikely(ret)) {
 			dev_err(&pdev->dev,
 				"request carry IRQ failed with %d, IRQ %d\n",
@@ -695,7 +695,7 @@ static int __init sh_rtc_probe(struct platform_device *pdev)
 		}
 
 		ret = request_irq(rtc->alarm_irq, sh_rtc_alarm,
-				  IRQF_DISABLED, "sh-rtc alarm", rtc);
+				  0, "sh-rtc alarm", rtc);
 		if (unlikely(ret)) {
 			dev_err(&pdev->dev,
 				"request alarm IRQ failed with %d, IRQ %d\n",
diff --git a/drivers/rtc/rtc-stk17ta8.c b/drivers/rtc/rtc-stk17ta8.c
index ed3e9b5..5e9adec 100644
--- a/drivers/rtc/rtc-stk17ta8.c
+++ b/drivers/rtc/rtc-stk17ta8.c
@@ -329,7 +329,7 @@ static int __devinit stk17ta8_rtc_probe(struct platform_device *pdev)
 		writeb(0, ioaddr + RTC_INTERRUPTS);
 		if (devm_request_irq(&pdev->dev, pdata->irq,
 				stk17ta8_rtc_interrupt,
-				IRQF_DISABLED | IRQF_SHARED,
+				IRQF_SHARED,
 				pdev->name, pdev) < 0) {
 			dev_warn(&pdev->dev, "interrupt not available.\n");
 			pdata->irq = 0;
diff --git a/drivers/rtc/rtc-tx4939.c b/drivers/rtc/rtc-tx4939.c
index aac0ffe..a12bfac 100644
--- a/drivers/rtc/rtc-tx4939.c
+++ b/drivers/rtc/rtc-tx4939.c
@@ -266,7 +266,7 @@ static int __init tx4939_rtc_probe(struct platform_device *pdev)
 	spin_lock_init(&pdata->lock);
 	tx4939_rtc_cmd(pdata->rtcreg, TX4939_RTCCTL_COMMAND_NOP);
 	if (devm_request_irq(&pdev->dev, irq, tx4939_rtc_interrupt,
-			     IRQF_DISABLED, pdev->name, &pdev->dev) < 0)
+			     0, pdev->name, &pdev->dev) < 0)
 		return -EBUSY;
 	rtc = rtc_device_register(pdev->name, &pdev->dev,
 				  &tx4939_rtc_ops, THIS_MODULE);
diff --git a/drivers/rtc/rtc-vr41xx.c b/drivers/rtc/rtc-vr41xx.c
index c5698cd..6aef17d 100644
--- a/drivers/rtc/rtc-vr41xx.c
+++ b/drivers/rtc/rtc-vr41xx.c
@@ -333,7 +333,7 @@ static int __devinit rtc_probe(struct platform_device *pdev)
 		goto err_device_unregister;
 	}
 
-	retval = request_irq(aie_irq, elapsedtime_interrupt, IRQF_DISABLED,
+	retval = request_irq(aie_irq, elapsedtime_interrupt, 0,
 	                     "elapsed_time", pdev);
 	if (retval < 0)
 		goto err_device_unregister;
@@ -342,7 +342,7 @@ static int __devinit rtc_probe(struct platform_device *pdev)
 	if (pie_irq <= 0)
 		goto err_free_irq;
 
-	retval = request_irq(pie_irq, rtclong1_interrupt, IRQF_DISABLED,
+	retval = request_irq(pie_irq, rtclong1_interrupt, 0,
 		             "rtclong1", pdev);
 	if (retval < 0)
 		goto err_free_irq;
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 46/57] rtc: irq: Remove IRQF_DISABLED
@ 2011-09-21  9:28   ` Yong Zhang
  0 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arm-kernel

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
---
 drivers/rtc/rtc-at91sam9.c  |    2 +-
 drivers/rtc/rtc-cmos.c      |    2 +-
 drivers/rtc/rtc-coh901331.c |    2 +-
 drivers/rtc/rtc-davinci.c   |    2 +-
 drivers/rtc/rtc-ds1511.c    |    2 +-
 drivers/rtc/rtc-ds1553.c    |    2 +-
 drivers/rtc/rtc-lpc32xx.c   |    2 +-
 drivers/rtc/rtc-mpc5121.c   |    4 ++--
 drivers/rtc/rtc-mrst.c      |    2 +-
 drivers/rtc/rtc-mv.c        |    2 +-
 drivers/rtc/rtc-nuc900.c    |    2 +-
 drivers/rtc/rtc-omap.c      |    4 ++--
 drivers/rtc/rtc-pl030.c     |    2 +-
 drivers/rtc/rtc-pl031.c     |    2 +-
 drivers/rtc/rtc-puv3.c      |    4 ++--
 drivers/rtc/rtc-pxa.c       |    4 ++--
 drivers/rtc/rtc-s3c.c       |    4 ++--
 drivers/rtc/rtc-sa1100.c    |    4 ++--
 drivers/rtc/rtc-sh.c        |    8 ++++----
 drivers/rtc/rtc-stk17ta8.c  |    2 +-
 drivers/rtc/rtc-tx4939.c    |    2 +-
 drivers/rtc/rtc-vr41xx.c    |    4 ++--
 22 files changed, 32 insertions(+), 32 deletions(-)

diff --git a/drivers/rtc/rtc-at91sam9.c b/drivers/rtc/rtc-at91sam9.c
index a3ad957..0c09e8f 100644
--- a/drivers/rtc/rtc-at91sam9.c
+++ b/drivers/rtc/rtc-at91sam9.c
@@ -331,7 +331,7 @@ static int __init at91_rtc_probe(struct platform_device *pdev)
 
 	/* register irq handler after we know what name we'll use */
 	ret = request_irq(AT91_ID_SYS, at91_rtc_interrupt,
-				IRQF_DISABLED | IRQF_SHARED,
+				IRQF_SHARED,
 				dev_name(&rtc->rtcdev->dev), rtc);
 	if (ret) {
 		dev_dbg(&pdev->dev, "can't share IRQ %d?\n", AT91_ID_SYS);
diff --git a/drivers/rtc/rtc-cmos.c b/drivers/rtc/rtc-cmos.c
index 05beb6c..66d3b14 100644
--- a/drivers/rtc/rtc-cmos.c
+++ b/drivers/rtc/rtc-cmos.c
@@ -714,7 +714,7 @@ cmos_do_probe(struct device *dev, struct resource *ports, int rtc_irq)
 			rtc_cmos_int_handler = cmos_interrupt;
 
 		retval = request_irq(rtc_irq, rtc_cmos_int_handler,
-				IRQF_DISABLED, dev_name(&cmos_rtc.rtc->dev),
+				0, dev_name(&cmos_rtc.rtc->dev),
 				cmos_rtc.rtc);
 		if (retval < 0) {
 			dev_dbg(dev, "IRQ %d is already in use\n", rtc_irq);
diff --git a/drivers/rtc/rtc-coh901331.c b/drivers/rtc/rtc-coh901331.c
index 80f9c88..a5b8a0c 100644
--- a/drivers/rtc/rtc-coh901331.c
+++ b/drivers/rtc/rtc-coh901331.c
@@ -199,7 +199,7 @@ static int __init coh901331_probe(struct platform_device *pdev)
 	}
 
 	rtap->irq = platform_get_irq(pdev, 0);
-	if (request_irq(rtap->irq, coh901331_interrupt, IRQF_DISABLED,
+	if (request_irq(rtap->irq, coh901331_interrupt, 0,
 			"RTC COH 901 331 Alarm", rtap)) {
 		ret = -EIO;
 		goto out_no_irq;
diff --git a/drivers/rtc/rtc-davinci.c b/drivers/rtc/rtc-davinci.c
index 755e1fe..14c2109 100644
--- a/drivers/rtc/rtc-davinci.c
+++ b/drivers/rtc/rtc-davinci.c
@@ -542,7 +542,7 @@ static int __init davinci_rtc_probe(struct platform_device *pdev)
 	rtcss_write(davinci_rtc, 0, PRTCSS_RTC_CCTRL);
 
 	ret = request_irq(davinci_rtc->irq, davinci_rtc_interrupt,
-			  IRQF_DISABLED, "davinci_rtc", davinci_rtc);
+			  0, "davinci_rtc", davinci_rtc);
 	if (ret < 0) {
 		dev_err(dev, "unable to register davinci RTC interrupt\n");
 		goto fail4;
diff --git a/drivers/rtc/rtc-ds1511.c b/drivers/rtc/rtc-ds1511.c
index 586c244..bbc7c86 100644
--- a/drivers/rtc/rtc-ds1511.c
+++ b/drivers/rtc/rtc-ds1511.c
@@ -532,7 +532,7 @@ ds1511_rtc_probe(struct platform_device *pdev)
 	if (pdata->irq > 0) {
 		rtc_read(RTC_CMD1);
 		if (devm_request_irq(&pdev->dev, pdata->irq, ds1511_interrupt,
-			IRQF_DISABLED | IRQF_SHARED, pdev->name, pdev) < 0) {
+			IRQF_SHARED, pdev->name, pdev) < 0) {
 
 			dev_warn(&pdev->dev, "interrupt not available.\n");
 			pdata->irq = 0;
diff --git a/drivers/rtc/rtc-ds1553.c b/drivers/rtc/rtc-ds1553.c
index 1350029..1ef2718 100644
--- a/drivers/rtc/rtc-ds1553.c
+++ b/drivers/rtc/rtc-ds1553.c
@@ -320,7 +320,7 @@ static int __devinit ds1553_rtc_probe(struct platform_device *pdev)
 		writeb(0, ioaddr + RTC_INTERRUPTS);
 		if (devm_request_irq(&pdev->dev, pdata->irq,
 				ds1553_rtc_interrupt,
-				IRQF_DISABLED, pdev->name, pdev) < 0) {
+				0, pdev->name, pdev) < 0) {
 			dev_warn(&pdev->dev, "interrupt not available.\n");
 			pdata->irq = 0;
 		}
diff --git a/drivers/rtc/rtc-lpc32xx.c b/drivers/rtc/rtc-lpc32xx.c
index ae16250..ba11a19 100644
--- a/drivers/rtc/rtc-lpc32xx.c
+++ b/drivers/rtc/rtc-lpc32xx.c
@@ -287,7 +287,7 @@ static int __devinit lpc32xx_rtc_probe(struct platform_device *pdev)
 	if (rtc->irq >= 0) {
 		if (devm_request_irq(&pdev->dev, rtc->irq,
 				     lpc32xx_rtc_alarm_interrupt,
-				     IRQF_DISABLED, pdev->name, rtc) < 0) {
+				     0, pdev->name, rtc) < 0) {
 			dev_warn(&pdev->dev, "Can't request interrupt.\n");
 			rtc->irq = -1;
 		} else {
diff --git a/drivers/rtc/rtc-mpc5121.c b/drivers/rtc/rtc-mpc5121.c
index da60915..3a683fd 100644
--- a/drivers/rtc/rtc-mpc5121.c
+++ b/drivers/rtc/rtc-mpc5121.c
@@ -327,7 +327,7 @@ static int __devinit mpc5121_rtc_probe(struct platform_device *op)
 	dev_set_drvdata(&op->dev, rtc);
 
 	rtc->irq = irq_of_parse_and_map(op->dev.of_node, 1);
-	err = request_irq(rtc->irq, mpc5121_rtc_handler, IRQF_DISABLED,
+	err = request_irq(rtc->irq, mpc5121_rtc_handler, 0,
 						"mpc5121-rtc", &op->dev);
 	if (err) {
 		dev_err(&op->dev, "%s: could not request irq: %i\n",
@@ -337,7 +337,7 @@ static int __devinit mpc5121_rtc_probe(struct platform_device *op)
 
 	rtc->irq_periodic = irq_of_parse_and_map(op->dev.of_node, 0);
 	err = request_irq(rtc->irq_periodic, mpc5121_rtc_handler_upd,
-				IRQF_DISABLED, "mpc5121-rtc_upd", &op->dev);
+				0, "mpc5121-rtc_upd", &op->dev);
 	if (err) {
 		dev_err(&op->dev, "%s: could not request irq: %i\n",
 						__func__, rtc->irq_periodic);
diff --git a/drivers/rtc/rtc-mrst.c b/drivers/rtc/rtc-mrst.c
index d335448..507f00e 100644
--- a/drivers/rtc/rtc-mrst.c
+++ b/drivers/rtc/rtc-mrst.c
@@ -363,7 +363,7 @@ vrtc_mrst_do_probe(struct device *dev, struct resource *iomem, int rtc_irq)
 
 	if (rtc_irq) {
 		retval = request_irq(rtc_irq, mrst_rtc_irq,
-				IRQF_DISABLED, dev_name(&mrst_rtc.rtc->dev),
+				0, dev_name(&mrst_rtc.rtc->dev),
 				mrst_rtc.rtc);
 		if (retval < 0) {
 			dev_dbg(dev, "IRQ %d is already in use, err %d\n",
diff --git a/drivers/rtc/rtc-mv.c b/drivers/rtc/rtc-mv.c
index 768e2ed..1300962 100644
--- a/drivers/rtc/rtc-mv.c
+++ b/drivers/rtc/rtc-mv.c
@@ -273,7 +273,7 @@ static int __devinit mv_rtc_probe(struct platform_device *pdev)
 	if (pdata->irq >= 0) {
 		writel(0, pdata->ioaddr + RTC_ALARM_INTERRUPT_MASK_REG_OFFS);
 		if (devm_request_irq(&pdev->dev, pdata->irq, mv_rtc_interrupt,
-				     IRQF_DISABLED | IRQF_SHARED,
+				     IRQF_SHARED,
 				     pdev->name, pdata) < 0) {
 			dev_warn(&pdev->dev, "interrupt not available.\n");
 			pdata->irq = -1;
diff --git a/drivers/rtc/rtc-nuc900.c b/drivers/rtc/rtc-nuc900.c
index 781068d..b790109 100644
--- a/drivers/rtc/rtc-nuc900.c
+++ b/drivers/rtc/rtc-nuc900.c
@@ -269,7 +269,7 @@ static int __devinit nuc900_rtc_probe(struct platform_device *pdev)
 
 	nuc900_rtc->irq_num = platform_get_irq(pdev, 0);
 	if (request_irq(nuc900_rtc->irq_num, nuc900_rtc_interrupt,
-				IRQF_DISABLED, "nuc900rtc", nuc900_rtc)) {
+				0, "nuc900rtc", nuc900_rtc)) {
 		dev_err(&pdev->dev, "NUC900 RTC request irq failed\n");
 		err = -EBUSY;
 		goto fail4;
diff --git a/drivers/rtc/rtc-omap.c b/drivers/rtc/rtc-omap.c
index 7789002..0b614e3 100644
--- a/drivers/rtc/rtc-omap.c
+++ b/drivers/rtc/rtc-omap.c
@@ -348,14 +348,14 @@ static int __init omap_rtc_probe(struct platform_device *pdev)
 		rtc_write(OMAP_RTC_STATUS_ALARM, OMAP_RTC_STATUS_REG);
 
 	/* handle periodic and alarm irqs */
-	if (request_irq(omap_rtc_timer, rtc_irq, IRQF_DISABLED,
+	if (request_irq(omap_rtc_timer, rtc_irq, 0,
 			dev_name(&rtc->dev), rtc)) {
 		pr_debug("%s: RTC timer interrupt IRQ%d already claimed\n",
 			pdev->name, omap_rtc_timer);
 		goto fail1;
 	}
 	if ((omap_rtc_timer != omap_rtc_alarm) &&
-		(request_irq(omap_rtc_alarm, rtc_irq, IRQF_DISABLED,
+		(request_irq(omap_rtc_alarm, rtc_irq, 0,
 			dev_name(&rtc->dev), rtc))) {
 		pr_debug("%s: RTC alarm interrupt IRQ%d already claimed\n",
 			pdev->name, omap_rtc_alarm);
diff --git a/drivers/rtc/rtc-pl030.c b/drivers/rtc/rtc-pl030.c
index 1d28d44..c5afd6f 100644
--- a/drivers/rtc/rtc-pl030.c
+++ b/drivers/rtc/rtc-pl030.c
@@ -123,7 +123,7 @@ static int pl030_probe(struct amba_device *dev, const struct amba_id *id)
 
 	amba_set_drvdata(dev, rtc);
 
-	ret = request_irq(dev->irq[0], pl030_interrupt, IRQF_DISABLED,
+	ret = request_irq(dev->irq[0], pl030_interrupt, 0,
 			  "rtc-pl030", rtc);
 	if (ret)
 		goto err_irq;
diff --git a/drivers/rtc/rtc-pl031.c b/drivers/rtc/rtc-pl031.c
index ff1b84b..d2df59d 100644
--- a/drivers/rtc/rtc-pl031.c
+++ b/drivers/rtc/rtc-pl031.c
@@ -352,7 +352,7 @@ static int pl031_probe(struct amba_device *adev, const struct amba_id *id)
 	}
 
 	if (request_irq(adev->irq[0], pl031_interrupt,
-			IRQF_DISABLED, "rtc-pl031", ldata)) {
+			0, "rtc-pl031", ldata)) {
 		ret = -EIO;
 		goto out_no_irq;
 	}
diff --git a/drivers/rtc/rtc-puv3.c b/drivers/rtc/rtc-puv3.c
index b3eba3c..378fe4b 100644
--- a/drivers/rtc/rtc-puv3.c
+++ b/drivers/rtc/rtc-puv3.c
@@ -164,7 +164,7 @@ static int puv3_rtc_open(struct device *dev)
 	int ret;
 
 	ret = request_irq(puv3_rtc_alarmno, puv3_rtc_alarmirq,
-			  IRQF_DISABLED,  "pkunity-rtc alarm", rtc_dev);
+			  0,  "pkunity-rtc alarm", rtc_dev);
 
 	if (ret) {
 		dev_err(dev, "IRQ%d error %d\n", puv3_rtc_alarmno, ret);
@@ -172,7 +172,7 @@ static int puv3_rtc_open(struct device *dev)
 	}
 
 	ret = request_irq(puv3_rtc_tickno, puv3_rtc_tickirq,
-			  IRQF_DISABLED,  "pkunity-rtc tick", rtc_dev);
+			  0,  "pkunity-rtc tick", rtc_dev);
 
 	if (ret) {
 		dev_err(dev, "IRQ%d error %d\n", puv3_rtc_tickno, ret);
diff --git a/drivers/rtc/rtc-pxa.c b/drivers/rtc/rtc-pxa.c
index fc9f499..0075c8f 100644
--- a/drivers/rtc/rtc-pxa.c
+++ b/drivers/rtc/rtc-pxa.c
@@ -174,14 +174,14 @@ static int pxa_rtc_open(struct device *dev)
 	struct pxa_rtc *pxa_rtc = dev_get_drvdata(dev);
 	int ret;
 
-	ret = request_irq(pxa_rtc->irq_1Hz, pxa_rtc_irq, IRQF_DISABLED,
+	ret = request_irq(pxa_rtc->irq_1Hz, pxa_rtc_irq, 0,
 			  "rtc 1Hz", dev);
 	if (ret < 0) {
 		dev_err(dev, "can't get irq %i, err %d\n", pxa_rtc->irq_1Hz,
 			ret);
 		goto err_irq_1Hz;
 	}
-	ret = request_irq(pxa_rtc->irq_Alrm, pxa_rtc_irq, IRQF_DISABLED,
+	ret = request_irq(pxa_rtc->irq_Alrm, pxa_rtc_irq, 0,
 			  "rtc Alrm", dev);
 	if (ret < 0) {
 		dev_err(dev, "can't get irq %i, err %d\n", pxa_rtc->irq_Alrm,
diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
index 7639ab9..9a073aa 100644
--- a/drivers/rtc/rtc-s3c.c
+++ b/drivers/rtc/rtc-s3c.c
@@ -536,14 +536,14 @@ static int __devinit s3c_rtc_probe(struct platform_device *pdev)
 	s3c_rtc_setfreq(&pdev->dev, 1);
 
 	ret = request_irq(s3c_rtc_alarmno, s3c_rtc_alarmirq,
-			  IRQF_DISABLED,  "s3c2410-rtc alarm", rtc);
+			  0,  "s3c2410-rtc alarm", rtc);
 	if (ret) {
 		dev_err(&pdev->dev, "IRQ%d error %d\n", s3c_rtc_alarmno, ret);
 		goto err_alarm_irq;
 	}
 
 	ret = request_irq(s3c_rtc_tickno, s3c_rtc_tickirq,
-			  IRQF_DISABLED,  "s3c2410-rtc tick", rtc);
+			  0,  "s3c2410-rtc tick", rtc);
 	if (ret) {
 		dev_err(&pdev->dev, "IRQ%d error %d\n", s3c_rtc_tickno, ret);
 		free_irq(s3c_rtc_alarmno, rtc);
diff --git a/drivers/rtc/rtc-sa1100.c b/drivers/rtc/rtc-sa1100.c
index 0b40bb8..7ca247e 100644
--- a/drivers/rtc/rtc-sa1100.c
+++ b/drivers/rtc/rtc-sa1100.c
@@ -161,13 +161,13 @@ static int sa1100_rtc_open(struct device *dev)
 	struct platform_device *plat_dev = to_platform_device(dev);
 	struct rtc_device *rtc = platform_get_drvdata(plat_dev);
 
-	ret = request_irq(IRQ_RTC1Hz, sa1100_rtc_interrupt, IRQF_DISABLED,
+	ret = request_irq(IRQ_RTC1Hz, sa1100_rtc_interrupt, 0,
 		"rtc 1Hz", dev);
 	if (ret) {
 		dev_err(dev, "IRQ %d already in use.\n", IRQ_RTC1Hz);
 		goto fail_ui;
 	}
-	ret = request_irq(IRQ_RTCAlrm, sa1100_rtc_interrupt, IRQF_DISABLED,
+	ret = request_irq(IRQ_RTCAlrm, sa1100_rtc_interrupt, 0,
 		"rtc Alrm", dev);
 	if (ret) {
 		dev_err(dev, "IRQ %d already in use.\n", IRQ_RTCAlrm);
diff --git a/drivers/rtc/rtc-sh.c b/drivers/rtc/rtc-sh.c
index 6ac55fd..e55a763 100644
--- a/drivers/rtc/rtc-sh.c
+++ b/drivers/rtc/rtc-sh.c
@@ -666,7 +666,7 @@ static int __init sh_rtc_probe(struct platform_device *pdev)
 	if (rtc->carry_irq <= 0) {
 		/* register shared periodic/carry/alarm irq */
 		ret = request_irq(rtc->periodic_irq, sh_rtc_shared,
-				  IRQF_DISABLED, "sh-rtc", rtc);
+				  0, "sh-rtc", rtc);
 		if (unlikely(ret)) {
 			dev_err(&pdev->dev,
 				"request IRQ failed with %d, IRQ %d\n", ret,
@@ -676,7 +676,7 @@ static int __init sh_rtc_probe(struct platform_device *pdev)
 	} else {
 		/* register periodic/carry/alarm irqs */
 		ret = request_irq(rtc->periodic_irq, sh_rtc_periodic,
-				  IRQF_DISABLED, "sh-rtc period", rtc);
+				  0, "sh-rtc period", rtc);
 		if (unlikely(ret)) {
 			dev_err(&pdev->dev,
 				"request period IRQ failed with %d, IRQ %d\n",
@@ -685,7 +685,7 @@ static int __init sh_rtc_probe(struct platform_device *pdev)
 		}
 
 		ret = request_irq(rtc->carry_irq, sh_rtc_interrupt,
-				  IRQF_DISABLED, "sh-rtc carry", rtc);
+				  0, "sh-rtc carry", rtc);
 		if (unlikely(ret)) {
 			dev_err(&pdev->dev,
 				"request carry IRQ failed with %d, IRQ %d\n",
@@ -695,7 +695,7 @@ static int __init sh_rtc_probe(struct platform_device *pdev)
 		}
 
 		ret = request_irq(rtc->alarm_irq, sh_rtc_alarm,
-				  IRQF_DISABLED, "sh-rtc alarm", rtc);
+				  0, "sh-rtc alarm", rtc);
 		if (unlikely(ret)) {
 			dev_err(&pdev->dev,
 				"request alarm IRQ failed with %d, IRQ %d\n",
diff --git a/drivers/rtc/rtc-stk17ta8.c b/drivers/rtc/rtc-stk17ta8.c
index ed3e9b5..5e9adec 100644
--- a/drivers/rtc/rtc-stk17ta8.c
+++ b/drivers/rtc/rtc-stk17ta8.c
@@ -329,7 +329,7 @@ static int __devinit stk17ta8_rtc_probe(struct platform_device *pdev)
 		writeb(0, ioaddr + RTC_INTERRUPTS);
 		if (devm_request_irq(&pdev->dev, pdata->irq,
 				stk17ta8_rtc_interrupt,
-				IRQF_DISABLED | IRQF_SHARED,
+				IRQF_SHARED,
 				pdev->name, pdev) < 0) {
 			dev_warn(&pdev->dev, "interrupt not available.\n");
 			pdata->irq = 0;
diff --git a/drivers/rtc/rtc-tx4939.c b/drivers/rtc/rtc-tx4939.c
index aac0ffe..a12bfac 100644
--- a/drivers/rtc/rtc-tx4939.c
+++ b/drivers/rtc/rtc-tx4939.c
@@ -266,7 +266,7 @@ static int __init tx4939_rtc_probe(struct platform_device *pdev)
 	spin_lock_init(&pdata->lock);
 	tx4939_rtc_cmd(pdata->rtcreg, TX4939_RTCCTL_COMMAND_NOP);
 	if (devm_request_irq(&pdev->dev, irq, tx4939_rtc_interrupt,
-			     IRQF_DISABLED, pdev->name, &pdev->dev) < 0)
+			     0, pdev->name, &pdev->dev) < 0)
 		return -EBUSY;
 	rtc = rtc_device_register(pdev->name, &pdev->dev,
 				  &tx4939_rtc_ops, THIS_MODULE);
diff --git a/drivers/rtc/rtc-vr41xx.c b/drivers/rtc/rtc-vr41xx.c
index c5698cd..6aef17d 100644
--- a/drivers/rtc/rtc-vr41xx.c
+++ b/drivers/rtc/rtc-vr41xx.c
@@ -333,7 +333,7 @@ static int __devinit rtc_probe(struct platform_device *pdev)
 		goto err_device_unregister;
 	}
 
-	retval = request_irq(aie_irq, elapsedtime_interrupt, IRQF_DISABLED,
+	retval = request_irq(aie_irq, elapsedtime_interrupt, 0,
 	                     "elapsed_time", pdev);
 	if (retval < 0)
 		goto err_device_unregister;
@@ -342,7 +342,7 @@ static int __devinit rtc_probe(struct platform_device *pdev)
 	if (pie_irq <= 0)
 		goto err_free_irq;
 
-	retval = request_irq(pie_irq, rtclong1_interrupt, IRQF_DISABLED,
+	retval = request_irq(pie_irq, rtclong1_interrupt, 0,
 		             "rtclong1", pdev);
 	if (retval < 0)
 		goto err_free_irq;
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 47/57] spi: irq: Remove IRQF_DISABLED
       [not found] ` <1316597339-29861-1-git-send-email-yong.zhang0-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2011-09-21  9:28   ` Yong Zhang
  0 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Grant Likely, spi-devel-general

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
---
 drivers/spi/spi-bfin5xx.c       |    2 +-
 drivers/spi/spi-coldfire-qspi.c |    2 +-
 drivers/spi/spi-ppc4xx.c        |    2 +-
 drivers/spi/spi-sh-msiof.c      |    2 +-
 drivers/spi/spi-sh.c            |    2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/spi/spi-bfin5xx.c b/drivers/spi/spi-bfin5xx.c
index b8d25f2..3b83ff8 100644
--- a/drivers/spi/spi-bfin5xx.c
+++ b/drivers/spi/spi-bfin5xx.c
@@ -1098,7 +1098,7 @@ static int bfin_spi_setup(struct spi_device *spi)
 
 	if (chip->pio_interrupt && !drv_data->irq_requested) {
 		ret = request_irq(drv_data->spi_irq, bfin_spi_pio_irq_handler,
-			IRQF_DISABLED, "BFIN_SPI", drv_data);
+			0, "BFIN_SPI", drv_data);
 		if (ret) {
 			dev_err(&spi->dev, "Unable to register spi IRQ\n");
 			goto error;
diff --git a/drivers/spi/spi-coldfire-qspi.c b/drivers/spi/spi-coldfire-qspi.c
index ae2cd1c..7397c4d 100644
--- a/drivers/spi/spi-coldfire-qspi.c
+++ b/drivers/spi/spi-coldfire-qspi.c
@@ -487,7 +487,7 @@ static int __devinit mcfqspi_probe(struct platform_device *pdev)
 		goto fail2;
 	}
 
-	status = request_irq(mcfqspi->irq, mcfqspi_irq_handler, IRQF_DISABLED,
+	status = request_irq(mcfqspi->irq, mcfqspi_irq_handler, 0,
 			     pdev->name, mcfqspi);
 	if (status) {
 		dev_dbg(&pdev->dev, "request_irq failed\n");
diff --git a/drivers/spi/spi-ppc4xx.c b/drivers/spi/spi-ppc4xx.c
index b267fd9..8ec43e0 100644
--- a/drivers/spi/spi-ppc4xx.c
+++ b/drivers/spi/spi-ppc4xx.c
@@ -514,7 +514,7 @@ static int __init spi_ppc4xx_of_probe(struct platform_device *op)
 	/* Request IRQ */
 	hw->irqnum = irq_of_parse_and_map(np, 0);
 	ret = request_irq(hw->irqnum, spi_ppc4xx_int,
-			  IRQF_DISABLED, "spi_ppc4xx_of", (void *)hw);
+			  0, "spi_ppc4xx_of", (void *)hw);
 	if (ret) {
 		dev_err(dev, "unable to allocate interrupt\n");
 		goto free_gpios;
diff --git a/drivers/spi/spi-sh-msiof.c b/drivers/spi/spi-sh-msiof.c
index 2f61a84..51b14c9 100644
--- a/drivers/spi/spi-sh-msiof.c
+++ b/drivers/spi/spi-sh-msiof.c
@@ -636,7 +636,7 @@ static int sh_msiof_spi_probe(struct platform_device *pdev)
 		goto err2;
 	}
 
-	ret = request_irq(i, sh_msiof_spi_irq, IRQF_DISABLED,
+	ret = request_irq(i, sh_msiof_spi_irq, 0,
 			  dev_name(&pdev->dev), p);
 	if (ret) {
 		dev_err(&pdev->dev, "unable to request irq\n");
diff --git a/drivers/spi/spi-sh.c b/drivers/spi/spi-sh.c
index 9eedd71..e0343d4 100644
--- a/drivers/spi/spi-sh.c
+++ b/drivers/spi/spi-sh.c
@@ -484,7 +484,7 @@ static int __devinit spi_sh_probe(struct platform_device *pdev)
 		goto error2;
 	}
 
-	ret = request_irq(irq, spi_sh_irq, IRQF_DISABLED, "spi_sh", ss);
+	ret = request_irq(irq, spi_sh_irq, 0, "spi_sh", ss);
 	if (ret < 0) {
 		dev_err(&pdev->dev, "request_irq error\n");
 		goto error3;
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 47/57] spi: irq: Remove IRQF_DISABLED
@ 2011-09-21  9:28   ` Yong Zhang
  0 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA
  Cc: yong.zhang0-Re5JQEeQqe8AvxtiuMwx3w, tglx-hfZtesqFncYOwBW4kG4KsQ,
	spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Acked-by: Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>
---
 drivers/spi/spi-bfin5xx.c       |    2 +-
 drivers/spi/spi-coldfire-qspi.c |    2 +-
 drivers/spi/spi-ppc4xx.c        |    2 +-
 drivers/spi/spi-sh-msiof.c      |    2 +-
 drivers/spi/spi-sh.c            |    2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/spi/spi-bfin5xx.c b/drivers/spi/spi-bfin5xx.c
index b8d25f2..3b83ff8 100644
--- a/drivers/spi/spi-bfin5xx.c
+++ b/drivers/spi/spi-bfin5xx.c
@@ -1098,7 +1098,7 @@ static int bfin_spi_setup(struct spi_device *spi)
 
 	if (chip->pio_interrupt && !drv_data->irq_requested) {
 		ret = request_irq(drv_data->spi_irq, bfin_spi_pio_irq_handler,
-			IRQF_DISABLED, "BFIN_SPI", drv_data);
+			0, "BFIN_SPI", drv_data);
 		if (ret) {
 			dev_err(&spi->dev, "Unable to register spi IRQ\n");
 			goto error;
diff --git a/drivers/spi/spi-coldfire-qspi.c b/drivers/spi/spi-coldfire-qspi.c
index ae2cd1c..7397c4d 100644
--- a/drivers/spi/spi-coldfire-qspi.c
+++ b/drivers/spi/spi-coldfire-qspi.c
@@ -487,7 +487,7 @@ static int __devinit mcfqspi_probe(struct platform_device *pdev)
 		goto fail2;
 	}
 
-	status = request_irq(mcfqspi->irq, mcfqspi_irq_handler, IRQF_DISABLED,
+	status = request_irq(mcfqspi->irq, mcfqspi_irq_handler, 0,
 			     pdev->name, mcfqspi);
 	if (status) {
 		dev_dbg(&pdev->dev, "request_irq failed\n");
diff --git a/drivers/spi/spi-ppc4xx.c b/drivers/spi/spi-ppc4xx.c
index b267fd9..8ec43e0 100644
--- a/drivers/spi/spi-ppc4xx.c
+++ b/drivers/spi/spi-ppc4xx.c
@@ -514,7 +514,7 @@ static int __init spi_ppc4xx_of_probe(struct platform_device *op)
 	/* Request IRQ */
 	hw->irqnum = irq_of_parse_and_map(np, 0);
 	ret = request_irq(hw->irqnum, spi_ppc4xx_int,
-			  IRQF_DISABLED, "spi_ppc4xx_of", (void *)hw);
+			  0, "spi_ppc4xx_of", (void *)hw);
 	if (ret) {
 		dev_err(dev, "unable to allocate interrupt\n");
 		goto free_gpios;
diff --git a/drivers/spi/spi-sh-msiof.c b/drivers/spi/spi-sh-msiof.c
index 2f61a84..51b14c9 100644
--- a/drivers/spi/spi-sh-msiof.c
+++ b/drivers/spi/spi-sh-msiof.c
@@ -636,7 +636,7 @@ static int sh_msiof_spi_probe(struct platform_device *pdev)
 		goto err2;
 	}
 
-	ret = request_irq(i, sh_msiof_spi_irq, IRQF_DISABLED,
+	ret = request_irq(i, sh_msiof_spi_irq, 0,
 			  dev_name(&pdev->dev), p);
 	if (ret) {
 		dev_err(&pdev->dev, "unable to request irq\n");
diff --git a/drivers/spi/spi-sh.c b/drivers/spi/spi-sh.c
index 9eedd71..e0343d4 100644
--- a/drivers/spi/spi-sh.c
+++ b/drivers/spi/spi-sh.c
@@ -484,7 +484,7 @@ static int __devinit spi_sh_probe(struct platform_device *pdev)
 		goto error2;
 	}
 
-	ret = request_irq(irq, spi_sh_irq, IRQF_DISABLED, "spi_sh", ss);
+	ret = request_irq(irq, spi_sh_irq, 0, "spi_sh", ss);
 	if (ret < 0) {
 		dev_err(&pdev->dev, "request_irq error\n");
 		goto error3;
-- 
1.7.4.1


------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2dcopy1

^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 48/57] TTY: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
@ 2011-09-21  9:28   ` Yong Zhang
  2011-09-21  9:28 ` [PATCH 02/57] alpha: irq: Remove IRQF_DISABLED Yong Zhang
                     ` (56 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Greg Kroah-Hartman, Alan Cox, Tobias Klauser,
	Mikael Starvik, Jesper Nilsson, Benjamin Herrenschmidt,
	Jiri Kosina, Paul Bolle, Jiri Slaby, linuxppc-dev, linux-serial,
	nios2-dev, linux-cris-kernel

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Acked-by: Tobias Klauser <tklauser@distanz.ch>
---
 drivers/tty/amiserial.c              |    2 +-
 drivers/tty/cyclades.c               |    2 +-
 drivers/tty/hvc/hvc_irq.c            |    2 +-
 drivers/tty/hvc/hvcs.c               |    2 +-
 drivers/tty/hvc/hvsi.c               |    2 +-
 drivers/tty/isicom.c                 |    2 +-
 drivers/tty/serial/68328serial.c     |    2 +-
 drivers/tty/serial/altera_jtaguart.c |    2 +-
 drivers/tty/serial/altera_uart.c     |    2 +-
 drivers/tty/serial/bfin_sport_uart.c |    2 +-
 drivers/tty/serial/bfin_uart.c       |    8 ++++----
 drivers/tty/serial/crisv10.c         |   18 +++++++++---------
 drivers/tty/serial/icom.c            |    2 +-
 drivers/tty/serial/lantiq.c          |    6 +++---
 drivers/tty/serial/mcf.c             |    2 +-
 drivers/tty/serial/mpc52xx_uart.c    |    2 +-
 drivers/tty/serial/serial_ks8695.c   |    8 ++++----
 drivers/tty/serial/sh-sci.c          |    2 +-
 drivers/tty/serial/sn_console.c      |    2 +-
 19 files changed, 35 insertions(+), 35 deletions(-)

diff --git a/drivers/tty/amiserial.c b/drivers/tty/amiserial.c
index 6d43f55..b84c834 100644
--- a/drivers/tty/amiserial.c
+++ b/drivers/tty/amiserial.c
@@ -2017,7 +2017,7 @@ static int __init amiga_serial_probe(struct platform_device *pdev)
 	if (error)
 		goto fail_unregister;
 
-	error = request_irq(IRQ_AMIGA_RBF, ser_rx_int, IRQF_DISABLED,
+	error = request_irq(IRQ_AMIGA_RBF, ser_rx_int, 0,
 			    "serial RX", state);
 	if (error)
 		goto fail_free_irq;
diff --git a/drivers/tty/cyclades.c b/drivers/tty/cyclades.c
index 5beef49..c9bf779 100644
--- a/drivers/tty/cyclades.c
+++ b/drivers/tty/cyclades.c
@@ -3367,7 +3367,7 @@ static int __init cy_detect_isa(void)
 
 		/* allocate IRQ */
 		if (request_irq(cy_isa_irq, cyy_interrupt,
-				IRQF_DISABLED, "Cyclom-Y", &cy_card[j])) {
+				0, "Cyclom-Y", &cy_card[j])) {
 			printk(KERN_ERR "Cyclom-Y/ISA found at 0x%lx, but "
 				"could not allocate IRQ#%d.\n",
 				(unsigned long)cy_isa_address, cy_isa_irq);
diff --git a/drivers/tty/hvc/hvc_irq.c b/drivers/tty/hvc/hvc_irq.c
index 2623e17..c9adb05 100644
--- a/drivers/tty/hvc/hvc_irq.c
+++ b/drivers/tty/hvc/hvc_irq.c
@@ -28,7 +28,7 @@ int notifier_add_irq(struct hvc_struct *hp, int irq)
 		hp->irq_requested = 0;
 		return 0;
 	}
-	rc = request_irq(irq, hvc_handle_interrupt, IRQF_DISABLED,
+	rc = request_irq(irq, hvc_handle_interrupt, 0,
 			   "hvc_console", hp);
 	if (!rc)
 		hp->irq_requested = 1;
diff --git a/drivers/tty/hvc/hvcs.c b/drivers/tty/hvc/hvcs.c
index e523773..55882b5 100644
--- a/drivers/tty/hvc/hvcs.c
+++ b/drivers/tty/hvc/hvcs.c
@@ -1057,7 +1057,7 @@ static int hvcs_enable_device(struct hvcs_struct *hvcsd, uint32_t unit_address,
 	 * the conn was registered and now.
 	 */
 	if (!(rc = request_irq(irq, &hvcs_handle_interrupt,
-				IRQF_DISABLED, "ibmhvcs", hvcsd))) {
+				0, "ibmhvcs", hvcsd))) {
 		/*
 		 * It is possible the vty-server was removed after the irq was
 		 * requested but before we have time to enable interrupts.
diff --git a/drivers/tty/hvc/hvsi.c b/drivers/tty/hvc/hvsi.c
index c94e2f5..cdfa3e0 100644
--- a/drivers/tty/hvc/hvsi.c
+++ b/drivers/tty/hvc/hvsi.c
@@ -1105,7 +1105,7 @@ static int __init hvsi_init(void)
 		struct hvsi_struct *hp = &hvsi_ports[i];
 		int ret = 1;
 
-		ret = request_irq(hp->virq, hvsi_interrupt, IRQF_DISABLED, "hvsi", hp);
+		ret = request_irq(hp->virq, hvsi_interrupt, 0, "hvsi", hp);
 		if (ret)
 			printk(KERN_ERR "HVSI: couldn't reserve irq 0x%x (error %i)\n",
 				hp->virq, ret);
diff --git a/drivers/tty/isicom.c b/drivers/tty/isicom.c
index db1cf9c..e5c295a 100644
--- a/drivers/tty/isicom.c
+++ b/drivers/tty/isicom.c
@@ -1598,7 +1598,7 @@ static int __devinit isicom_probe(struct pci_dev *pdev,
 	}
 
 	retval = request_irq(board->irq, isicom_interrupt,
-			IRQF_SHARED | IRQF_DISABLED, ISICOM_NAME, board);
+			IRQF_SHARED, ISICOM_NAME, board);
 	if (retval < 0) {
 		dev_err(&pdev->dev, "Could not install handler at Irq %d. "
 			"Card%d will be disabled.\n", board->irq, index + 1);
diff --git a/drivers/tty/serial/68328serial.c b/drivers/tty/serial/68328serial.c
index e0a7754..84a822e 100644
--- a/drivers/tty/serial/68328serial.c
+++ b/drivers/tty/serial/68328serial.c
@@ -1341,7 +1341,7 @@ rs68328_init(void)
 
 	    if (request_irq(uart_irqs[i],
 			    rs_interrupt,
-			    IRQF_DISABLED,
+			    0,
 			    "M68328_UART", info))
                 panic("Unable to attach 68328 serial interrupt\n");
 	}
diff --git a/drivers/tty/serial/altera_jtaguart.c b/drivers/tty/serial/altera_jtaguart.c
index 60e049b..00a73ec 100644
--- a/drivers/tty/serial/altera_jtaguart.c
+++ b/drivers/tty/serial/altera_jtaguart.c
@@ -218,7 +218,7 @@ static int altera_jtaguart_startup(struct uart_port *port)
 	unsigned long flags;
 	int ret;
 
-	ret = request_irq(port->irq, altera_jtaguart_interrupt, IRQF_DISABLED,
+	ret = request_irq(port->irq, altera_jtaguart_interrupt, 0,
 			DRV_NAME, port);
 	if (ret) {
 		pr_err(DRV_NAME ": unable to attach Altera JTAG UART %d "
diff --git a/drivers/tty/serial/altera_uart.c b/drivers/tty/serial/altera_uart.c
index 50bc5a5..d902558 100644
--- a/drivers/tty/serial/altera_uart.c
+++ b/drivers/tty/serial/altera_uart.c
@@ -315,7 +315,7 @@ static int altera_uart_startup(struct uart_port *port)
 		return 0;
 	}
 
-	ret = request_irq(port->irq, altera_uart_interrupt, IRQF_DISABLED,
+	ret = request_irq(port->irq, altera_uart_interrupt, 0,
 			DRV_NAME, port);
 	if (ret) {
 		pr_err(DRV_NAME ": unable to attach Altera UART %d "
diff --git a/drivers/tty/serial/bfin_sport_uart.c b/drivers/tty/serial/bfin_sport_uart.c
index 891d194..ee101c0 100644
--- a/drivers/tty/serial/bfin_sport_uart.c
+++ b/drivers/tty/serial/bfin_sport_uart.c
@@ -294,7 +294,7 @@ static int sport_startup(struct uart_port *port)
 		if (request_irq(gpio_to_irq(up->cts_pin),
 			sport_mctrl_cts_int,
 			IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING |
-			IRQF_DISABLED, "BFIN_SPORT_UART_CTS", up)) {
+			0, "BFIN_SPORT_UART_CTS", up)) {
 			up->cts_pin = -1;
 			dev_info(port->dev, "Unable to attach BlackFin UART over SPORT CTS interrupt. So, disable it.\n");
 		}
diff --git a/drivers/tty/serial/bfin_uart.c b/drivers/tty/serial/bfin_uart.c
index c7e592d..66afb98 100644
--- a/drivers/tty/serial/bfin_uart.c
+++ b/drivers/tty/serial/bfin_uart.c
@@ -667,14 +667,14 @@ static int bfin_serial_startup(struct uart_port *port)
 		kgdboc_break_enabled = 0;
 	else {
 # endif
-	if (request_irq(uart->rx_irq, bfin_serial_rx_int, IRQF_DISABLED,
+	if (request_irq(uart->rx_irq, bfin_serial_rx_int, 0,
 	     "BFIN_UART_RX", uart)) {
 		printk(KERN_NOTICE "Unable to attach BlackFin UART RX interrupt\n");
 		return -EBUSY;
 	}
 
 	if (request_irq
-	    (uart->tx_irq, bfin_serial_tx_int, IRQF_DISABLED,
+	    (uart->tx_irq, bfin_serial_tx_int, 0,
 	     "BFIN_UART_TX", uart)) {
 		printk(KERN_NOTICE "Unable to attach BlackFin UART TX interrupt\n");
 		free_irq(uart->rx_irq, uart);
@@ -734,7 +734,7 @@ static int bfin_serial_startup(struct uart_port *port)
 		if (request_irq(gpio_to_irq(uart->cts_pin),
 			bfin_serial_mctrl_cts_int,
 			IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING |
-			IRQF_DISABLED, "BFIN_UART_CTS", uart)) {
+			0, "BFIN_UART_CTS", uart)) {
 			uart->cts_pin = -1;
 			pr_info("Unable to attach BlackFin UART CTS interrupt. So, disable it.\n");
 		}
@@ -745,7 +745,7 @@ static int bfin_serial_startup(struct uart_port *port)
 #ifdef CONFIG_SERIAL_BFIN_HARD_CTSRTS
 	if (uart->cts_pin >= 0 && request_irq(uart->status_irq,
 		bfin_serial_mctrl_cts_int,
-		IRQF_DISABLED, "BFIN_UART_MODEM_STATUS", uart)) {
+		0, "BFIN_UART_MODEM_STATUS", uart)) {
 		uart->cts_pin = -1;
 		pr_info("Unable to attach BlackFin UART Modem Status interrupt.\n");
 	}
diff --git a/drivers/tty/serial/crisv10.c b/drivers/tty/serial/crisv10.c
index 58be715..a39e189 100644
--- a/drivers/tty/serial/crisv10.c
+++ b/drivers/tty/serial/crisv10.c
@@ -258,7 +258,7 @@ static struct e100_serial rs_table[] = {
 	  .dma_out_enabled = 1,
 	  .dma_out_nbr = SER0_TX_DMA_NBR,
 	  .dma_out_irq_nbr = SER0_DMA_TX_IRQ_NBR,
-	  .dma_out_irq_flags = IRQF_DISABLED,
+	  .dma_out_irq_flags = 0,
 	  .dma_out_irq_description = "serial 0 dma tr",
 #else
 	  .dma_out_enabled = 0,
@@ -271,7 +271,7 @@ static struct e100_serial rs_table[] = {
 	  .dma_in_enabled = 1,
 	  .dma_in_nbr = SER0_RX_DMA_NBR,
 	  .dma_in_irq_nbr = SER0_DMA_RX_IRQ_NBR,
-	  .dma_in_irq_flags = IRQF_DISABLED,
+	  .dma_in_irq_flags = 0,
 	  .dma_in_irq_description = "serial 0 dma rec",
 #else
 	  .dma_in_enabled = 0,
@@ -313,7 +313,7 @@ static struct e100_serial rs_table[] = {
 	  .dma_out_enabled = 1,
 	  .dma_out_nbr = SER1_TX_DMA_NBR,
 	  .dma_out_irq_nbr = SER1_DMA_TX_IRQ_NBR,
-	  .dma_out_irq_flags = IRQF_DISABLED,
+	  .dma_out_irq_flags = 0,
 	  .dma_out_irq_description = "serial 1 dma tr",
 #else
 	  .dma_out_enabled = 0,
@@ -326,7 +326,7 @@ static struct e100_serial rs_table[] = {
 	  .dma_in_enabled = 1,
 	  .dma_in_nbr = SER1_RX_DMA_NBR,
 	  .dma_in_irq_nbr = SER1_DMA_RX_IRQ_NBR,
-	  .dma_in_irq_flags = IRQF_DISABLED,
+	  .dma_in_irq_flags = 0,
 	  .dma_in_irq_description = "serial 1 dma rec",
 #else
 	  .dma_in_enabled = 0,
@@ -369,7 +369,7 @@ static struct e100_serial rs_table[] = {
 	  .dma_out_enabled = 1,
 	  .dma_out_nbr = SER2_TX_DMA_NBR,
 	  .dma_out_irq_nbr = SER2_DMA_TX_IRQ_NBR,
-	  .dma_out_irq_flags = IRQF_DISABLED,
+	  .dma_out_irq_flags = 0,
 	  .dma_out_irq_description = "serial 2 dma tr",
 #else
 	  .dma_out_enabled = 0,
@@ -382,7 +382,7 @@ static struct e100_serial rs_table[] = {
 	  .dma_in_enabled = 1,
 	  .dma_in_nbr = SER2_RX_DMA_NBR,
 	  .dma_in_irq_nbr = SER2_DMA_RX_IRQ_NBR,
-	  .dma_in_irq_flags = IRQF_DISABLED,
+	  .dma_in_irq_flags = 0,
 	  .dma_in_irq_description = "serial 2 dma rec",
 #else
 	  .dma_in_enabled = 0,
@@ -423,7 +423,7 @@ static struct e100_serial rs_table[] = {
 	  .dma_out_enabled = 1,
 	  .dma_out_nbr = SER3_TX_DMA_NBR,
 	  .dma_out_irq_nbr = SER3_DMA_TX_IRQ_NBR,
-	  .dma_out_irq_flags = IRQF_DISABLED,
+	  .dma_out_irq_flags = 0,
 	  .dma_out_irq_description = "serial 3 dma tr",
 #else
 	  .dma_out_enabled = 0,
@@ -436,7 +436,7 @@ static struct e100_serial rs_table[] = {
 	  .dma_in_enabled = 1,
 	  .dma_in_nbr = SER3_RX_DMA_NBR,
 	  .dma_in_irq_nbr = SER3_DMA_RX_IRQ_NBR,
-	  .dma_in_irq_flags = IRQF_DISABLED,
+	  .dma_in_irq_flags = 0,
 	  .dma_in_irq_description = "serial 3 dma rec",
 #else
 	  .dma_in_enabled = 0,
@@ -4558,7 +4558,7 @@ static int __init rs_init(void)
 	/* hook the irq's for DMA channel 6 and 7, serial output and input, and some more... */
 
 	if (request_irq(SERIAL_IRQ_NBR, ser_interrupt,
-			IRQF_SHARED | IRQF_DISABLED, "serial ", driver))
+			IRQF_SHARED, "serial ", driver))
 		panic("%s: Failed to request irq8", __func__);
 
 #endif
diff --git a/drivers/tty/serial/icom.c b/drivers/tty/serial/icom.c
index 8a869e5..d55709a 100644
--- a/drivers/tty/serial/icom.c
+++ b/drivers/tty/serial/icom.c
@@ -1554,7 +1554,7 @@ static int __devinit icom_probe(struct pci_dev *dev,
 
 	 /* save off irq and request irq line */
 	 if ( (retval = request_irq(dev->irq, icom_interrupt,
-				   IRQF_DISABLED | IRQF_SHARED, ICOM_DRIVER_NAME,
+				   IRQF_SHARED, ICOM_DRIVER_NAME,
 				   (void *) icom_adapter))) {
 		  goto probe_exit2;
 	 }
diff --git a/drivers/tty/serial/lantiq.c b/drivers/tty/serial/lantiq.c
index bc95f52..96c1cac 100644
--- a/drivers/tty/serial/lantiq.c
+++ b/drivers/tty/serial/lantiq.c
@@ -338,21 +338,21 @@ lqasc_startup(struct uart_port *port)
 		ASCCON_ROEN, port->membase + LTQ_ASC_CON);
 
 	retval = request_irq(ltq_port->tx_irq, lqasc_tx_int,
-		IRQF_DISABLED, "asc_tx", port);
+		0, "asc_tx", port);
 	if (retval) {
 		pr_err("failed to request lqasc_tx_int\n");
 		return retval;
 	}
 
 	retval = request_irq(ltq_port->rx_irq, lqasc_rx_int,
-		IRQF_DISABLED, "asc_rx", port);
+		0, "asc_rx", port);
 	if (retval) {
 		pr_err("failed to request lqasc_rx_int\n");
 		goto err1;
 	}
 
 	retval = request_irq(ltq_port->err_irq, lqasc_err_int,
-		IRQF_DISABLED, "asc_err", port);
+		0, "asc_err", port);
 	if (retval) {
 		pr_err("failed to request lqasc_err_int\n");
 		goto err2;
diff --git a/drivers/tty/serial/mcf.c b/drivers/tty/serial/mcf.c
index 3394b7c..9afca09 100644
--- a/drivers/tty/serial/mcf.c
+++ b/drivers/tty/serial/mcf.c
@@ -380,7 +380,7 @@ static void mcf_config_port(struct uart_port *port, int flags)
 	/* Clear mask, so no surprise interrupts. */
 	writeb(0, port->membase + MCFUART_UIMR);
 
-	if (request_irq(port->irq, mcf_interrupt, IRQF_DISABLED, "UART", port))
+	if (request_irq(port->irq, mcf_interrupt, 0, "UART", port))
 		printk(KERN_ERR "MCF: unable to attach ColdFire UART %d "
 			"interrupt vector=%d\n", port->line, port->irq);
 }
diff --git a/drivers/tty/serial/mpc52xx_uart.c b/drivers/tty/serial/mpc52xx_uart.c
index a0bcd8a..a0d02ef 100644
--- a/drivers/tty/serial/mpc52xx_uart.c
+++ b/drivers/tty/serial/mpc52xx_uart.c
@@ -273,7 +273,7 @@ static unsigned int mpc5200b_psc_set_baudrate(struct uart_port *port,
 
 static void mpc52xx_psc_get_irq(struct uart_port *port, struct device_node *np)
 {
-	port->irqflags = IRQF_DISABLED;
+	port->irqflags = 0;
 	port->irq = irq_of_parse_and_map(np, 0);
 }
 
diff --git a/drivers/tty/serial/serial_ks8695.c b/drivers/tty/serial/serial_ks8695.c
index 2430319..01949af 100644
--- a/drivers/tty/serial/serial_ks8695.c
+++ b/drivers/tty/serial/serial_ks8695.c
@@ -336,19 +336,19 @@ static int ks8695uart_startup(struct uart_port *port)
 	/*
 	 * Allocate the IRQ
 	 */
-	retval = request_irq(KS8695_IRQ_UART_TX, ks8695uart_tx_chars, IRQF_DISABLED, "UART TX", port);
+	retval = request_irq(KS8695_IRQ_UART_TX, ks8695uart_tx_chars, 0, "UART TX", port);
 	if (retval)
 		goto err_tx;
 
-	retval = request_irq(KS8695_IRQ_UART_RX, ks8695uart_rx_chars, IRQF_DISABLED, "UART RX", port);
+	retval = request_irq(KS8695_IRQ_UART_RX, ks8695uart_rx_chars, 0, "UART RX", port);
 	if (retval)
 		goto err_rx;
 
-	retval = request_irq(KS8695_IRQ_UART_LINE_STATUS, ks8695uart_rx_chars, IRQF_DISABLED, "UART LineStatus", port);
+	retval = request_irq(KS8695_IRQ_UART_LINE_STATUS, ks8695uart_rx_chars, 0, "UART LineStatus", port);
 	if (retval)
 		goto err_ls;
 
-	retval = request_irq(KS8695_IRQ_UART_MODEM_STATUS, ks8695uart_modem_status, IRQF_DISABLED, "UART ModemStatus", port);
+	retval = request_irq(KS8695_IRQ_UART_MODEM_STATUS, ks8695uart_modem_status, 0, "UART ModemStatus", port);
 	if (retval)
 		goto err_ms;
 
diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c
index 25c3549..1945c70 100644
--- a/drivers/tty/serial/sh-sci.c
+++ b/drivers/tty/serial/sh-sci.c
@@ -1967,7 +1967,7 @@ static int __devinit sci_init_single(struct platform_device *dev,
 	 * For the muxed case there's nothing more to do.
 	 */
 	port->irq		= p->irqs[SCIx_RXI_IRQ];
-	port->irqflags		= IRQF_DISABLED;
+	port->irqflags		= 0;
 
 	port->serial_in		= sci_serial_in;
 	port->serial_out	= sci_serial_out;
diff --git a/drivers/tty/serial/sn_console.c b/drivers/tty/serial/sn_console.c
index 377ae74..2969c86 100644
--- a/drivers/tty/serial/sn_console.c
+++ b/drivers/tty/serial/sn_console.c
@@ -737,7 +737,7 @@ static void __init sn_sal_switch_to_interrupts(struct sn_cons_port *port)
 		DPRINTF("sn_console: switching to interrupt driven console\n");
 
 		if (request_irq(SGI_UART_VECTOR, sn_sal_interrupt,
-				IRQF_DISABLED | IRQF_SHARED,
+				IRQF_SHARED,
 				"SAL console driver", port) >= 0) {
 			spin_lock_irqsave(&port->sc_port.lock, flags);
 			port->sc_port.irq = SGI_UART_VECTOR;
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 48/57] TTY: irq: Remove IRQF_DISABLED
@ 2011-09-21  9:28   ` Yong Zhang
  0 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: Jesper Nilsson, linuxppc-dev, linux-cris-kernel, nios2-dev,
	Greg Kroah-Hartman, Paul Bolle, Mikael Starvik, yong.zhang0,
	linux-serial, Jiri Kosina, tglx, Jiri Slaby, Tobias Klauser,
	Alan Cox

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Acked-by: Tobias Klauser <tklauser@distanz.ch>
---
 drivers/tty/amiserial.c              |    2 +-
 drivers/tty/cyclades.c               |    2 +-
 drivers/tty/hvc/hvc_irq.c            |    2 +-
 drivers/tty/hvc/hvcs.c               |    2 +-
 drivers/tty/hvc/hvsi.c               |    2 +-
 drivers/tty/isicom.c                 |    2 +-
 drivers/tty/serial/68328serial.c     |    2 +-
 drivers/tty/serial/altera_jtaguart.c |    2 +-
 drivers/tty/serial/altera_uart.c     |    2 +-
 drivers/tty/serial/bfin_sport_uart.c |    2 +-
 drivers/tty/serial/bfin_uart.c       |    8 ++++----
 drivers/tty/serial/crisv10.c         |   18 +++++++++---------
 drivers/tty/serial/icom.c            |    2 +-
 drivers/tty/serial/lantiq.c          |    6 +++---
 drivers/tty/serial/mcf.c             |    2 +-
 drivers/tty/serial/mpc52xx_uart.c    |    2 +-
 drivers/tty/serial/serial_ks8695.c   |    8 ++++----
 drivers/tty/serial/sh-sci.c          |    2 +-
 drivers/tty/serial/sn_console.c      |    2 +-
 19 files changed, 35 insertions(+), 35 deletions(-)

diff --git a/drivers/tty/amiserial.c b/drivers/tty/amiserial.c
index 6d43f55..b84c834 100644
--- a/drivers/tty/amiserial.c
+++ b/drivers/tty/amiserial.c
@@ -2017,7 +2017,7 @@ static int __init amiga_serial_probe(struct platform_device *pdev)
 	if (error)
 		goto fail_unregister;
 
-	error = request_irq(IRQ_AMIGA_RBF, ser_rx_int, IRQF_DISABLED,
+	error = request_irq(IRQ_AMIGA_RBF, ser_rx_int, 0,
 			    "serial RX", state);
 	if (error)
 		goto fail_free_irq;
diff --git a/drivers/tty/cyclades.c b/drivers/tty/cyclades.c
index 5beef49..c9bf779 100644
--- a/drivers/tty/cyclades.c
+++ b/drivers/tty/cyclades.c
@@ -3367,7 +3367,7 @@ static int __init cy_detect_isa(void)
 
 		/* allocate IRQ */
 		if (request_irq(cy_isa_irq, cyy_interrupt,
-				IRQF_DISABLED, "Cyclom-Y", &cy_card[j])) {
+				0, "Cyclom-Y", &cy_card[j])) {
 			printk(KERN_ERR "Cyclom-Y/ISA found at 0x%lx, but "
 				"could not allocate IRQ#%d.\n",
 				(unsigned long)cy_isa_address, cy_isa_irq);
diff --git a/drivers/tty/hvc/hvc_irq.c b/drivers/tty/hvc/hvc_irq.c
index 2623e17..c9adb05 100644
--- a/drivers/tty/hvc/hvc_irq.c
+++ b/drivers/tty/hvc/hvc_irq.c
@@ -28,7 +28,7 @@ int notifier_add_irq(struct hvc_struct *hp, int irq)
 		hp->irq_requested = 0;
 		return 0;
 	}
-	rc = request_irq(irq, hvc_handle_interrupt, IRQF_DISABLED,
+	rc = request_irq(irq, hvc_handle_interrupt, 0,
 			   "hvc_console", hp);
 	if (!rc)
 		hp->irq_requested = 1;
diff --git a/drivers/tty/hvc/hvcs.c b/drivers/tty/hvc/hvcs.c
index e523773..55882b5 100644
--- a/drivers/tty/hvc/hvcs.c
+++ b/drivers/tty/hvc/hvcs.c
@@ -1057,7 +1057,7 @@ static int hvcs_enable_device(struct hvcs_struct *hvcsd, uint32_t unit_address,
 	 * the conn was registered and now.
 	 */
 	if (!(rc = request_irq(irq, &hvcs_handle_interrupt,
-				IRQF_DISABLED, "ibmhvcs", hvcsd))) {
+				0, "ibmhvcs", hvcsd))) {
 		/*
 		 * It is possible the vty-server was removed after the irq was
 		 * requested but before we have time to enable interrupts.
diff --git a/drivers/tty/hvc/hvsi.c b/drivers/tty/hvc/hvsi.c
index c94e2f5..cdfa3e0 100644
--- a/drivers/tty/hvc/hvsi.c
+++ b/drivers/tty/hvc/hvsi.c
@@ -1105,7 +1105,7 @@ static int __init hvsi_init(void)
 		struct hvsi_struct *hp = &hvsi_ports[i];
 		int ret = 1;
 
-		ret = request_irq(hp->virq, hvsi_interrupt, IRQF_DISABLED, "hvsi", hp);
+		ret = request_irq(hp->virq, hvsi_interrupt, 0, "hvsi", hp);
 		if (ret)
 			printk(KERN_ERR "HVSI: couldn't reserve irq 0x%x (error %i)\n",
 				hp->virq, ret);
diff --git a/drivers/tty/isicom.c b/drivers/tty/isicom.c
index db1cf9c..e5c295a 100644
--- a/drivers/tty/isicom.c
+++ b/drivers/tty/isicom.c
@@ -1598,7 +1598,7 @@ static int __devinit isicom_probe(struct pci_dev *pdev,
 	}
 
 	retval = request_irq(board->irq, isicom_interrupt,
-			IRQF_SHARED | IRQF_DISABLED, ISICOM_NAME, board);
+			IRQF_SHARED, ISICOM_NAME, board);
 	if (retval < 0) {
 		dev_err(&pdev->dev, "Could not install handler at Irq %d. "
 			"Card%d will be disabled.\n", board->irq, index + 1);
diff --git a/drivers/tty/serial/68328serial.c b/drivers/tty/serial/68328serial.c
index e0a7754..84a822e 100644
--- a/drivers/tty/serial/68328serial.c
+++ b/drivers/tty/serial/68328serial.c
@@ -1341,7 +1341,7 @@ rs68328_init(void)
 
 	    if (request_irq(uart_irqs[i],
 			    rs_interrupt,
-			    IRQF_DISABLED,
+			    0,
 			    "M68328_UART", info))
                 panic("Unable to attach 68328 serial interrupt\n");
 	}
diff --git a/drivers/tty/serial/altera_jtaguart.c b/drivers/tty/serial/altera_jtaguart.c
index 60e049b..00a73ec 100644
--- a/drivers/tty/serial/altera_jtaguart.c
+++ b/drivers/tty/serial/altera_jtaguart.c
@@ -218,7 +218,7 @@ static int altera_jtaguart_startup(struct uart_port *port)
 	unsigned long flags;
 	int ret;
 
-	ret = request_irq(port->irq, altera_jtaguart_interrupt, IRQF_DISABLED,
+	ret = request_irq(port->irq, altera_jtaguart_interrupt, 0,
 			DRV_NAME, port);
 	if (ret) {
 		pr_err(DRV_NAME ": unable to attach Altera JTAG UART %d "
diff --git a/drivers/tty/serial/altera_uart.c b/drivers/tty/serial/altera_uart.c
index 50bc5a5..d902558 100644
--- a/drivers/tty/serial/altera_uart.c
+++ b/drivers/tty/serial/altera_uart.c
@@ -315,7 +315,7 @@ static int altera_uart_startup(struct uart_port *port)
 		return 0;
 	}
 
-	ret = request_irq(port->irq, altera_uart_interrupt, IRQF_DISABLED,
+	ret = request_irq(port->irq, altera_uart_interrupt, 0,
 			DRV_NAME, port);
 	if (ret) {
 		pr_err(DRV_NAME ": unable to attach Altera UART %d "
diff --git a/drivers/tty/serial/bfin_sport_uart.c b/drivers/tty/serial/bfin_sport_uart.c
index 891d194..ee101c0 100644
--- a/drivers/tty/serial/bfin_sport_uart.c
+++ b/drivers/tty/serial/bfin_sport_uart.c
@@ -294,7 +294,7 @@ static int sport_startup(struct uart_port *port)
 		if (request_irq(gpio_to_irq(up->cts_pin),
 			sport_mctrl_cts_int,
 			IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING |
-			IRQF_DISABLED, "BFIN_SPORT_UART_CTS", up)) {
+			0, "BFIN_SPORT_UART_CTS", up)) {
 			up->cts_pin = -1;
 			dev_info(port->dev, "Unable to attach BlackFin UART over SPORT CTS interrupt. So, disable it.\n");
 		}
diff --git a/drivers/tty/serial/bfin_uart.c b/drivers/tty/serial/bfin_uart.c
index c7e592d..66afb98 100644
--- a/drivers/tty/serial/bfin_uart.c
+++ b/drivers/tty/serial/bfin_uart.c
@@ -667,14 +667,14 @@ static int bfin_serial_startup(struct uart_port *port)
 		kgdboc_break_enabled = 0;
 	else {
 # endif
-	if (request_irq(uart->rx_irq, bfin_serial_rx_int, IRQF_DISABLED,
+	if (request_irq(uart->rx_irq, bfin_serial_rx_int, 0,
 	     "BFIN_UART_RX", uart)) {
 		printk(KERN_NOTICE "Unable to attach BlackFin UART RX interrupt\n");
 		return -EBUSY;
 	}
 
 	if (request_irq
-	    (uart->tx_irq, bfin_serial_tx_int, IRQF_DISABLED,
+	    (uart->tx_irq, bfin_serial_tx_int, 0,
 	     "BFIN_UART_TX", uart)) {
 		printk(KERN_NOTICE "Unable to attach BlackFin UART TX interrupt\n");
 		free_irq(uart->rx_irq, uart);
@@ -734,7 +734,7 @@ static int bfin_serial_startup(struct uart_port *port)
 		if (request_irq(gpio_to_irq(uart->cts_pin),
 			bfin_serial_mctrl_cts_int,
 			IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING |
-			IRQF_DISABLED, "BFIN_UART_CTS", uart)) {
+			0, "BFIN_UART_CTS", uart)) {
 			uart->cts_pin = -1;
 			pr_info("Unable to attach BlackFin UART CTS interrupt. So, disable it.\n");
 		}
@@ -745,7 +745,7 @@ static int bfin_serial_startup(struct uart_port *port)
 #ifdef CONFIG_SERIAL_BFIN_HARD_CTSRTS
 	if (uart->cts_pin >= 0 && request_irq(uart->status_irq,
 		bfin_serial_mctrl_cts_int,
-		IRQF_DISABLED, "BFIN_UART_MODEM_STATUS", uart)) {
+		0, "BFIN_UART_MODEM_STATUS", uart)) {
 		uart->cts_pin = -1;
 		pr_info("Unable to attach BlackFin UART Modem Status interrupt.\n");
 	}
diff --git a/drivers/tty/serial/crisv10.c b/drivers/tty/serial/crisv10.c
index 58be715..a39e189 100644
--- a/drivers/tty/serial/crisv10.c
+++ b/drivers/tty/serial/crisv10.c
@@ -258,7 +258,7 @@ static struct e100_serial rs_table[] = {
 	  .dma_out_enabled = 1,
 	  .dma_out_nbr = SER0_TX_DMA_NBR,
 	  .dma_out_irq_nbr = SER0_DMA_TX_IRQ_NBR,
-	  .dma_out_irq_flags = IRQF_DISABLED,
+	  .dma_out_irq_flags = 0,
 	  .dma_out_irq_description = "serial 0 dma tr",
 #else
 	  .dma_out_enabled = 0,
@@ -271,7 +271,7 @@ static struct e100_serial rs_table[] = {
 	  .dma_in_enabled = 1,
 	  .dma_in_nbr = SER0_RX_DMA_NBR,
 	  .dma_in_irq_nbr = SER0_DMA_RX_IRQ_NBR,
-	  .dma_in_irq_flags = IRQF_DISABLED,
+	  .dma_in_irq_flags = 0,
 	  .dma_in_irq_description = "serial 0 dma rec",
 #else
 	  .dma_in_enabled = 0,
@@ -313,7 +313,7 @@ static struct e100_serial rs_table[] = {
 	  .dma_out_enabled = 1,
 	  .dma_out_nbr = SER1_TX_DMA_NBR,
 	  .dma_out_irq_nbr = SER1_DMA_TX_IRQ_NBR,
-	  .dma_out_irq_flags = IRQF_DISABLED,
+	  .dma_out_irq_flags = 0,
 	  .dma_out_irq_description = "serial 1 dma tr",
 #else
 	  .dma_out_enabled = 0,
@@ -326,7 +326,7 @@ static struct e100_serial rs_table[] = {
 	  .dma_in_enabled = 1,
 	  .dma_in_nbr = SER1_RX_DMA_NBR,
 	  .dma_in_irq_nbr = SER1_DMA_RX_IRQ_NBR,
-	  .dma_in_irq_flags = IRQF_DISABLED,
+	  .dma_in_irq_flags = 0,
 	  .dma_in_irq_description = "serial 1 dma rec",
 #else
 	  .dma_in_enabled = 0,
@@ -369,7 +369,7 @@ static struct e100_serial rs_table[] = {
 	  .dma_out_enabled = 1,
 	  .dma_out_nbr = SER2_TX_DMA_NBR,
 	  .dma_out_irq_nbr = SER2_DMA_TX_IRQ_NBR,
-	  .dma_out_irq_flags = IRQF_DISABLED,
+	  .dma_out_irq_flags = 0,
 	  .dma_out_irq_description = "serial 2 dma tr",
 #else
 	  .dma_out_enabled = 0,
@@ -382,7 +382,7 @@ static struct e100_serial rs_table[] = {
 	  .dma_in_enabled = 1,
 	  .dma_in_nbr = SER2_RX_DMA_NBR,
 	  .dma_in_irq_nbr = SER2_DMA_RX_IRQ_NBR,
-	  .dma_in_irq_flags = IRQF_DISABLED,
+	  .dma_in_irq_flags = 0,
 	  .dma_in_irq_description = "serial 2 dma rec",
 #else
 	  .dma_in_enabled = 0,
@@ -423,7 +423,7 @@ static struct e100_serial rs_table[] = {
 	  .dma_out_enabled = 1,
 	  .dma_out_nbr = SER3_TX_DMA_NBR,
 	  .dma_out_irq_nbr = SER3_DMA_TX_IRQ_NBR,
-	  .dma_out_irq_flags = IRQF_DISABLED,
+	  .dma_out_irq_flags = 0,
 	  .dma_out_irq_description = "serial 3 dma tr",
 #else
 	  .dma_out_enabled = 0,
@@ -436,7 +436,7 @@ static struct e100_serial rs_table[] = {
 	  .dma_in_enabled = 1,
 	  .dma_in_nbr = SER3_RX_DMA_NBR,
 	  .dma_in_irq_nbr = SER3_DMA_RX_IRQ_NBR,
-	  .dma_in_irq_flags = IRQF_DISABLED,
+	  .dma_in_irq_flags = 0,
 	  .dma_in_irq_description = "serial 3 dma rec",
 #else
 	  .dma_in_enabled = 0,
@@ -4558,7 +4558,7 @@ static int __init rs_init(void)
 	/* hook the irq's for DMA channel 6 and 7, serial output and input, and some more... */
 
 	if (request_irq(SERIAL_IRQ_NBR, ser_interrupt,
-			IRQF_SHARED | IRQF_DISABLED, "serial ", driver))
+			IRQF_SHARED, "serial ", driver))
 		panic("%s: Failed to request irq8", __func__);
 
 #endif
diff --git a/drivers/tty/serial/icom.c b/drivers/tty/serial/icom.c
index 8a869e5..d55709a 100644
--- a/drivers/tty/serial/icom.c
+++ b/drivers/tty/serial/icom.c
@@ -1554,7 +1554,7 @@ static int __devinit icom_probe(struct pci_dev *dev,
 
 	 /* save off irq and request irq line */
 	 if ( (retval = request_irq(dev->irq, icom_interrupt,
-				   IRQF_DISABLED | IRQF_SHARED, ICOM_DRIVER_NAME,
+				   IRQF_SHARED, ICOM_DRIVER_NAME,
 				   (void *) icom_adapter))) {
 		  goto probe_exit2;
 	 }
diff --git a/drivers/tty/serial/lantiq.c b/drivers/tty/serial/lantiq.c
index bc95f52..96c1cac 100644
--- a/drivers/tty/serial/lantiq.c
+++ b/drivers/tty/serial/lantiq.c
@@ -338,21 +338,21 @@ lqasc_startup(struct uart_port *port)
 		ASCCON_ROEN, port->membase + LTQ_ASC_CON);
 
 	retval = request_irq(ltq_port->tx_irq, lqasc_tx_int,
-		IRQF_DISABLED, "asc_tx", port);
+		0, "asc_tx", port);
 	if (retval) {
 		pr_err("failed to request lqasc_tx_int\n");
 		return retval;
 	}
 
 	retval = request_irq(ltq_port->rx_irq, lqasc_rx_int,
-		IRQF_DISABLED, "asc_rx", port);
+		0, "asc_rx", port);
 	if (retval) {
 		pr_err("failed to request lqasc_rx_int\n");
 		goto err1;
 	}
 
 	retval = request_irq(ltq_port->err_irq, lqasc_err_int,
-		IRQF_DISABLED, "asc_err", port);
+		0, "asc_err", port);
 	if (retval) {
 		pr_err("failed to request lqasc_err_int\n");
 		goto err2;
diff --git a/drivers/tty/serial/mcf.c b/drivers/tty/serial/mcf.c
index 3394b7c..9afca09 100644
--- a/drivers/tty/serial/mcf.c
+++ b/drivers/tty/serial/mcf.c
@@ -380,7 +380,7 @@ static void mcf_config_port(struct uart_port *port, int flags)
 	/* Clear mask, so no surprise interrupts. */
 	writeb(0, port->membase + MCFUART_UIMR);
 
-	if (request_irq(port->irq, mcf_interrupt, IRQF_DISABLED, "UART", port))
+	if (request_irq(port->irq, mcf_interrupt, 0, "UART", port))
 		printk(KERN_ERR "MCF: unable to attach ColdFire UART %d "
 			"interrupt vector=%d\n", port->line, port->irq);
 }
diff --git a/drivers/tty/serial/mpc52xx_uart.c b/drivers/tty/serial/mpc52xx_uart.c
index a0bcd8a..a0d02ef 100644
--- a/drivers/tty/serial/mpc52xx_uart.c
+++ b/drivers/tty/serial/mpc52xx_uart.c
@@ -273,7 +273,7 @@ static unsigned int mpc5200b_psc_set_baudrate(struct uart_port *port,
 
 static void mpc52xx_psc_get_irq(struct uart_port *port, struct device_node *np)
 {
-	port->irqflags = IRQF_DISABLED;
+	port->irqflags = 0;
 	port->irq = irq_of_parse_and_map(np, 0);
 }
 
diff --git a/drivers/tty/serial/serial_ks8695.c b/drivers/tty/serial/serial_ks8695.c
index 2430319..01949af 100644
--- a/drivers/tty/serial/serial_ks8695.c
+++ b/drivers/tty/serial/serial_ks8695.c
@@ -336,19 +336,19 @@ static int ks8695uart_startup(struct uart_port *port)
 	/*
 	 * Allocate the IRQ
 	 */
-	retval = request_irq(KS8695_IRQ_UART_TX, ks8695uart_tx_chars, IRQF_DISABLED, "UART TX", port);
+	retval = request_irq(KS8695_IRQ_UART_TX, ks8695uart_tx_chars, 0, "UART TX", port);
 	if (retval)
 		goto err_tx;
 
-	retval = request_irq(KS8695_IRQ_UART_RX, ks8695uart_rx_chars, IRQF_DISABLED, "UART RX", port);
+	retval = request_irq(KS8695_IRQ_UART_RX, ks8695uart_rx_chars, 0, "UART RX", port);
 	if (retval)
 		goto err_rx;
 
-	retval = request_irq(KS8695_IRQ_UART_LINE_STATUS, ks8695uart_rx_chars, IRQF_DISABLED, "UART LineStatus", port);
+	retval = request_irq(KS8695_IRQ_UART_LINE_STATUS, ks8695uart_rx_chars, 0, "UART LineStatus", port);
 	if (retval)
 		goto err_ls;
 
-	retval = request_irq(KS8695_IRQ_UART_MODEM_STATUS, ks8695uart_modem_status, IRQF_DISABLED, "UART ModemStatus", port);
+	retval = request_irq(KS8695_IRQ_UART_MODEM_STATUS, ks8695uart_modem_status, 0, "UART ModemStatus", port);
 	if (retval)
 		goto err_ms;
 
diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c
index 25c3549..1945c70 100644
--- a/drivers/tty/serial/sh-sci.c
+++ b/drivers/tty/serial/sh-sci.c
@@ -1967,7 +1967,7 @@ static int __devinit sci_init_single(struct platform_device *dev,
 	 * For the muxed case there's nothing more to do.
 	 */
 	port->irq		= p->irqs[SCIx_RXI_IRQ];
-	port->irqflags		= IRQF_DISABLED;
+	port->irqflags		= 0;
 
 	port->serial_in		= sci_serial_in;
 	port->serial_out	= sci_serial_out;
diff --git a/drivers/tty/serial/sn_console.c b/drivers/tty/serial/sn_console.c
index 377ae74..2969c86 100644
--- a/drivers/tty/serial/sn_console.c
+++ b/drivers/tty/serial/sn_console.c
@@ -737,7 +737,7 @@ static void __init sn_sal_switch_to_interrupts(struct sn_cons_port *port)
 		DPRINTF("sn_console: switching to interrupt driven console\n");
 
 		if (request_irq(SGI_UART_VECTOR, sn_sal_interrupt,
-				IRQF_DISABLED | IRQF_SHARED,
+				IRQF_SHARED,
 				"SAL console driver", port) >= 0) {
 			spin_lock_irqsave(&port->sc_port.lock, flags);
 			port->sc_port.irq = SGI_UART_VECTOR;
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 49/57] video: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
  2011-09-21  9:28 ` [PATCH 01/57] usb/hcd: Remove tricky code dealing with IRQF_DISABLED && IRQF_SHARED Yong Zhang
  2011-09-21  9:28 ` [PATCH 02/57] alpha: irq: Remove IRQF_DISABLED Yong Zhang
@ 2011-09-21  9:28   ` Yong Zhang
  2011-09-21  9:28 ` [PATCH 05/57] cris: " Yong Zhang
                     ` (54 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: linux-fbdev, Paul Gortmaker, Laurent Pinchart, Daniel Walker,
	Kukjin Kim, Florian Tobias Schandinat, Tomi Valkeinen,
	Archit Taneja, David Brown, Anatolij Gustschin, cbe-oss-dev,
	Wan ZongShun, linux-arm-msm, yong.zhang0, Ben Dooks, tglx,
	linux-omap, linux-arm-kernel, Geoff Levand, Jiri Kosina,
	Bryan Huntsman, Andrew Morton, linuxppc-dev

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 drivers/video/au1200fb.c                  |    2 +-
 drivers/video/bf54x-lq043fb.c             |    2 +-
 drivers/video/bfin-lq035q1-fb.c           |    2 +-
 drivers/video/bfin-t350mcqb-fb.c          |    2 +-
 drivers/video/bfin_adv7393fb.c            |    2 +-
 drivers/video/mb862xx/mb862xxfbdrv.c      |    4 ++--
 drivers/video/msm/mddi.c                  |    2 +-
 drivers/video/msm/mdp.c                   |    2 +-
 drivers/video/nuc900fb.c                  |    2 +-
 drivers/video/omap2/displays/panel-taal.c |    2 +-
 drivers/video/ps3fb.c                     |    2 +-
 drivers/video/pxa3xx-gcu.c                |    2 +-
 drivers/video/pxafb.c                     |    2 +-
 drivers/video/s3c2410fb.c                 |    2 +-
 drivers/video/sa1100fb.c                  |    3 +--
 drivers/video/sh_mobile_lcdcfb.c          |    2 +-
 drivers/video/tmiofb.c                    |    2 +-
 drivers/video/vt8500lcdfb.c               |    2 +-
 18 files changed, 19 insertions(+), 20 deletions(-)

diff --git a/drivers/video/au1200fb.c b/drivers/video/au1200fb.c
index a19a40e..7200559 100644
--- a/drivers/video/au1200fb.c
+++ b/drivers/video/au1200fb.c
@@ -1673,7 +1673,7 @@ static int __devinit au1200fb_drv_probe(struct platform_device *dev)
 	/* Now hook interrupt too */
 	irq = platform_get_irq(dev, 0);
 	ret = request_irq(irq, au1200fb_handle_irq,
-			  IRQF_DISABLED | IRQF_SHARED, "lcd", (void *)dev);
+			  IRQF_SHARED, "lcd", (void *)dev);
 	if (ret) {
 		print_err("fail to request interrupt line %d (err: %d)",
 			  irq, ret);
diff --git a/drivers/video/bf54x-lq043fb.c b/drivers/video/bf54x-lq043fb.c
index 2464b91..56720fb 100644
--- a/drivers/video/bf54x-lq043fb.c
+++ b/drivers/video/bf54x-lq043fb.c
@@ -633,7 +633,7 @@ static int __devinit bfin_bf54x_probe(struct platform_device *pdev)
 		goto out7;
 	}
 
-	if (request_irq(info->irq, bfin_bf54x_irq_error, IRQF_DISABLED,
+	if (request_irq(info->irq, bfin_bf54x_irq_error, 0,
 			"PPI ERROR", info) < 0) {
 		printk(KERN_ERR DRIVER_NAME
 		       ": unable to request PPI ERROR IRQ\n");
diff --git a/drivers/video/bfin-lq035q1-fb.c b/drivers/video/bfin-lq035q1-fb.c
index 23b6c4b..c633068 100644
--- a/drivers/video/bfin-lq035q1-fb.c
+++ b/drivers/video/bfin-lq035q1-fb.c
@@ -695,7 +695,7 @@ static int __devinit bfin_lq035q1_probe(struct platform_device *pdev)
 		goto out7;
 	}
 
-	ret = request_irq(info->irq, bfin_lq035q1_irq_error, IRQF_DISABLED,
+	ret = request_irq(info->irq, bfin_lq035q1_irq_error, 0,
 			DRIVER_NAME" PPI ERROR", info);
 	if (ret < 0) {
 		dev_err(&pdev->dev, "unable to request PPI ERROR IRQ\n");
diff --git a/drivers/video/bfin-t350mcqb-fb.c b/drivers/video/bfin-t350mcqb-fb.c
index d8de29f..d5e1267 100644
--- a/drivers/video/bfin-t350mcqb-fb.c
+++ b/drivers/video/bfin-t350mcqb-fb.c
@@ -529,7 +529,7 @@ static int __devinit bfin_t350mcqb_probe(struct platform_device *pdev)
 		goto out7;
 	}
 
-	ret = request_irq(info->irq, bfin_t350mcqb_irq_error, IRQF_DISABLED,
+	ret = request_irq(info->irq, bfin_t350mcqb_irq_error, 0,
 			"PPI ERROR", info);
 	if (ret < 0) {
 		printk(KERN_ERR DRIVER_NAME
diff --git a/drivers/video/bfin_adv7393fb.c b/drivers/video/bfin_adv7393fb.c
index 8486f54..811dd7f 100644
--- a/drivers/video/bfin_adv7393fb.c
+++ b/drivers/video/bfin_adv7393fb.c
@@ -481,7 +481,7 @@ static int __devinit bfin_adv7393_fb_probe(struct i2c_client *client,
 		goto out_4;
 	}
 
-	if (request_irq(IRQ_PPI_ERROR, ppi_irq_error, IRQF_DISABLED,
+	if (request_irq(IRQ_PPI_ERROR, ppi_irq_error, 0,
 			"PPI ERROR", fbdev) < 0) {
 		dev_err(&client->dev, "unable to request PPI ERROR IRQ\n");
 		ret = -EFAULT;
diff --git a/drivers/video/mb862xx/mb862xxfbdrv.c b/drivers/video/mb862xx/mb862xxfbdrv.c
index 12a634a..11a7a33 100644
--- a/drivers/video/mb862xx/mb862xxfbdrv.c
+++ b/drivers/video/mb862xx/mb862xxfbdrv.c
@@ -738,7 +738,7 @@ static int __devinit of_platform_mb862xx_probe(struct platform_device *ofdev)
 	if (mb862xx_gdc_init(par))
 		goto io_unmap;
 
-	if (request_irq(par->irq, mb862xx_intr, IRQF_DISABLED,
+	if (request_irq(par->irq, mb862xx_intr, 0,
 			DRV_NAME, (void *)par)) {
 		dev_err(dev, "Cannot request irq\n");
 		goto io_unmap;
@@ -1074,7 +1074,7 @@ static int __devinit mb862xx_pci_probe(struct pci_dev *pdev,
 	if (mb862xx_pci_gdc_init(par))
 		goto io_unmap;
 
-	if (request_irq(par->irq, mb862xx_intr, IRQF_DISABLED | IRQF_SHARED,
+	if (request_irq(par->irq, mb862xx_intr, IRQF_SHARED,
 			DRV_NAME, (void *)par)) {
 		dev_err(dev, "Cannot request irq\n");
 		goto io_unmap;
diff --git a/drivers/video/msm/mddi.c b/drivers/video/msm/mddi.c
index 178b072..4527cbf 100644
--- a/drivers/video/msm/mddi.c
+++ b/drivers/video/msm/mddi.c
@@ -715,7 +715,7 @@ static int __devinit mddi_probe(struct platform_device *pdev)
 
 	mddi->int_enable = 0;
 	mddi_writel(mddi->int_enable, INTEN);
-	ret = request_irq(mddi->irq, mddi_isr, IRQF_DISABLED, "mddi",
+	ret = request_irq(mddi->irq, mddi_isr, 0, "mddi",
 			  &mddi->client_data);
 	if (ret) {
 		printk(KERN_ERR "mddi: failed to request enable irq!\n");
diff --git a/drivers/video/msm/mdp.c b/drivers/video/msm/mdp.c
index 2750ed2..cb2ddf1 100644
--- a/drivers/video/msm/mdp.c
+++ b/drivers/video/msm/mdp.c
@@ -426,7 +426,7 @@ int mdp_probe(struct platform_device *pdev)
 		goto error_get_clk;
 	}
 
-	ret = request_irq(mdp->irq, mdp_isr, IRQF_DISABLED, "msm_mdp", mdp);
+	ret = request_irq(mdp->irq, mdp_isr, 0, "msm_mdp", mdp);
 	if (ret)
 		goto error_request_irq;
 	disable_irq(mdp->irq);
diff --git a/drivers/video/nuc900fb.c b/drivers/video/nuc900fb.c
index 37dd850..d1fbbd8 100644
--- a/drivers/video/nuc900fb.c
+++ b/drivers/video/nuc900fb.c
@@ -587,7 +587,7 @@ static int __devinit nuc900fb_probe(struct platform_device *pdev)
 	fbinfo->flags			= FBINFO_FLAG_DEFAULT;
 	fbinfo->pseudo_palette		= &fbi->pseudo_pal;
 
-	ret = request_irq(irq, nuc900fb_irqhandler, IRQF_DISABLED,
+	ret = request_irq(irq, nuc900fb_irqhandler, 0,
 			  pdev->name, fbinfo);
 	if (ret) {
 		dev_err(&pdev->dev, "cannot register irq handler %d -err %d\n",
diff --git a/drivers/video/omap2/displays/panel-taal.c b/drivers/video/omap2/displays/panel-taal.c
index ddc696d..20d9968 100644
--- a/drivers/video/omap2/displays/panel-taal.c
+++ b/drivers/video/omap2/displays/panel-taal.c
@@ -1053,7 +1053,7 @@ static int taal_probe(struct omap_dss_device *dssdev)
 		gpio_direction_input(gpio);
 
 		r = request_irq(gpio_to_irq(gpio), taal_te_isr,
-				IRQF_DISABLED | IRQF_TRIGGER_RISING,
+				IRQF_TRIGGER_RISING,
 				"taal vsync", dssdev);
 
 		if (r) {
diff --git a/drivers/video/ps3fb.c b/drivers/video/ps3fb.c
index 65560a1..213fbbc 100644
--- a/drivers/video/ps3fb.c
+++ b/drivers/video/ps3fb.c
@@ -1082,7 +1082,7 @@ static int __devinit ps3fb_probe(struct ps3_system_bus_device *dev)
 	}
 
 	retval = request_irq(ps3fb.irq_no, ps3fb_vsync_interrupt,
-			     IRQF_DISABLED, DEVICE_NAME, &dev->core);
+			     0, DEVICE_NAME, &dev->core);
 	if (retval) {
 		dev_err(&dev->core, "%s: request_irq failed %d\n", __func__,
 			retval);
diff --git a/drivers/video/pxa3xx-gcu.c b/drivers/video/pxa3xx-gcu.c
index d8de557..1ed8b36 100644
--- a/drivers/video/pxa3xx-gcu.c
+++ b/drivers/video/pxa3xx-gcu.c
@@ -676,7 +676,7 @@ pxa3xx_gcu_probe(struct platform_device *dev)
 	}
 
 	ret = request_irq(irq, pxa3xx_gcu_handle_irq,
-			  IRQF_DISABLED, DRV_NAME, priv);
+			  0, DRV_NAME, priv);
 	if (ret) {
 		dev_err(&dev->dev, "request_irq failed\n");
 		ret = -EBUSY;
diff --git a/drivers/video/pxafb.c b/drivers/video/pxafb.c
index 0f4e8c9..e89778f 100644
--- a/drivers/video/pxafb.c
+++ b/drivers/video/pxafb.c
@@ -2191,7 +2191,7 @@ static int __devinit pxafb_probe(struct platform_device *dev)
 		goto failed_free_mem;
 	}
 
-	ret = request_irq(irq, pxafb_handle_irq, IRQF_DISABLED, "LCD", fbi);
+	ret = request_irq(irq, pxafb_handle_irq, 0, "LCD", fbi);
 	if (ret) {
 		dev_err(&dev->dev, "request_irq failed: %d\n", ret);
 		ret = -EBUSY;
diff --git a/drivers/video/s3c2410fb.c b/drivers/video/s3c2410fb.c
index 798144a..ee4c0df 100644
--- a/drivers/video/s3c2410fb.c
+++ b/drivers/video/s3c2410fb.c
@@ -910,7 +910,7 @@ static int __devinit s3c24xxfb_probe(struct platform_device *pdev,
 	for (i = 0; i < 256; i++)
 		info->palette_buffer[i] = PALETTE_BUFF_CLEAR;
 
-	ret = request_irq(irq, s3c2410fb_irq, IRQF_DISABLED, pdev->name, info);
+	ret = request_irq(irq, s3c2410fb_irq, 0, pdev->name, info);
 	if (ret) {
 		dev_err(&pdev->dev, "cannot get irq %d - err %d\n", irq, ret);
 		ret = -EBUSY;
diff --git a/drivers/video/sa1100fb.c b/drivers/video/sa1100fb.c
index e8b76d6..98d55d0 100644
--- a/drivers/video/sa1100fb.c
+++ b/drivers/video/sa1100fb.c
@@ -1457,8 +1457,7 @@ static int __devinit sa1100fb_probe(struct platform_device *pdev)
 	if (ret)
 		goto failed;
 
-	ret = request_irq(irq, sa1100fb_handle_irq, IRQF_DISABLED,
-			  "LCD", fbi);
+	ret = request_irq(irq, sa1100fb_handle_irq, 0, "LCD", fbi);
 	if (ret) {
 		printk(KERN_ERR "sa1100fb: request_irq failed: %d\n", ret);
 		goto failed;
diff --git a/drivers/video/sh_mobile_lcdcfb.c b/drivers/video/sh_mobile_lcdcfb.c
index 4636f9d..facffc2 100644
--- a/drivers/video/sh_mobile_lcdcfb.c
+++ b/drivers/video/sh_mobile_lcdcfb.c
@@ -1577,7 +1577,7 @@ static int __devinit sh_mobile_lcdc_probe(struct platform_device *pdev)
 
 	platform_set_drvdata(pdev, priv);
 
-	error = request_irq(i, sh_mobile_lcdc_irq, IRQF_DISABLED,
+	error = request_irq(i, sh_mobile_lcdc_irq, 0,
 			    dev_name(&pdev->dev), priv);
 	if (error) {
 		dev_err(&pdev->dev, "unable to request irq\n");
diff --git a/drivers/video/tmiofb.c b/drivers/video/tmiofb.c
index cd1c4dc..8e4a446 100644
--- a/drivers/video/tmiofb.c
+++ b/drivers/video/tmiofb.c
@@ -744,7 +744,7 @@ static int __devinit tmiofb_probe(struct platform_device *dev)
 		goto err_ioremap_vram;
 	}
 
-	retval = request_irq(irq, &tmiofb_irq, IRQF_DISABLED,
+	retval = request_irq(irq, &tmiofb_irq, 0,
 					dev_name(&dev->dev), info);
 
 	if (retval)
diff --git a/drivers/video/vt8500lcdfb.c b/drivers/video/vt8500lcdfb.c
index c13c246..777c21d 100644
--- a/drivers/video/vt8500lcdfb.c
+++ b/drivers/video/vt8500lcdfb.c
@@ -355,7 +355,7 @@ static int __devinit vt8500lcd_probe(struct platform_device *pdev)
 		goto failed_free_palette;
 	}
 
-	ret = request_irq(irq, vt8500lcd_handle_irq, IRQF_DISABLED, "LCD", fbi);
+	ret = request_irq(irq, vt8500lcd_handle_irq, 0, "LCD", fbi);
 	if (ret) {
 		dev_err(&pdev->dev, "request_irq failed: %d\n", ret);
 		ret = -EBUSY;
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 49/57] video: irq: Remove IRQF_DISABLED
@ 2011-09-21  9:28   ` Yong Zhang
  0 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Florian Tobias Schandinat, David Brown,
	Daniel Walker, Bryan Huntsman, Wan ZongShun, Tomi Valkeinen,
	Geoff Levand, Ben Dooks, Kukjin Kim, Anatolij Gustschin,
	Paul Gortmaker, Andrew Morton, Laurent Pinchart, Jiri Kosina,
	Archit Taneja, linux-fbdev, linux-arm-msm, linux-arm-kernel,
	linux-omap, linuxppc-dev, cbe-oss-dev

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 drivers/video/au1200fb.c                  |    2 +-
 drivers/video/bf54x-lq043fb.c             |    2 +-
 drivers/video/bfin-lq035q1-fb.c           |    2 +-
 drivers/video/bfin-t350mcqb-fb.c          |    2 +-
 drivers/video/bfin_adv7393fb.c            |    2 +-
 drivers/video/mb862xx/mb862xxfbdrv.c      |    4 ++--
 drivers/video/msm/mddi.c                  |    2 +-
 drivers/video/msm/mdp.c                   |    2 +-
 drivers/video/nuc900fb.c                  |    2 +-
 drivers/video/omap2/displays/panel-taal.c |    2 +-
 drivers/video/ps3fb.c                     |    2 +-
 drivers/video/pxa3xx-gcu.c                |    2 +-
 drivers/video/pxafb.c                     |    2 +-
 drivers/video/s3c2410fb.c                 |    2 +-
 drivers/video/sa1100fb.c                  |    3 +--
 drivers/video/sh_mobile_lcdcfb.c          |    2 +-
 drivers/video/tmiofb.c                    |    2 +-
 drivers/video/vt8500lcdfb.c               |    2 +-
 18 files changed, 19 insertions(+), 20 deletions(-)

diff --git a/drivers/video/au1200fb.c b/drivers/video/au1200fb.c
index a19a40e..7200559 100644
--- a/drivers/video/au1200fb.c
+++ b/drivers/video/au1200fb.c
@@ -1673,7 +1673,7 @@ static int __devinit au1200fb_drv_probe(struct platform_device *dev)
 	/* Now hook interrupt too */
 	irq = platform_get_irq(dev, 0);
 	ret = request_irq(irq, au1200fb_handle_irq,
-			  IRQF_DISABLED | IRQF_SHARED, "lcd", (void *)dev);
+			  IRQF_SHARED, "lcd", (void *)dev);
 	if (ret) {
 		print_err("fail to request interrupt line %d (err: %d)",
 			  irq, ret);
diff --git a/drivers/video/bf54x-lq043fb.c b/drivers/video/bf54x-lq043fb.c
index 2464b91..56720fb 100644
--- a/drivers/video/bf54x-lq043fb.c
+++ b/drivers/video/bf54x-lq043fb.c
@@ -633,7 +633,7 @@ static int __devinit bfin_bf54x_probe(struct platform_device *pdev)
 		goto out7;
 	}
 
-	if (request_irq(info->irq, bfin_bf54x_irq_error, IRQF_DISABLED,
+	if (request_irq(info->irq, bfin_bf54x_irq_error, 0,
 			"PPI ERROR", info) < 0) {
 		printk(KERN_ERR DRIVER_NAME
 		       ": unable to request PPI ERROR IRQ\n");
diff --git a/drivers/video/bfin-lq035q1-fb.c b/drivers/video/bfin-lq035q1-fb.c
index 23b6c4b..c633068 100644
--- a/drivers/video/bfin-lq035q1-fb.c
+++ b/drivers/video/bfin-lq035q1-fb.c
@@ -695,7 +695,7 @@ static int __devinit bfin_lq035q1_probe(struct platform_device *pdev)
 		goto out7;
 	}
 
-	ret = request_irq(info->irq, bfin_lq035q1_irq_error, IRQF_DISABLED,
+	ret = request_irq(info->irq, bfin_lq035q1_irq_error, 0,
 			DRIVER_NAME" PPI ERROR", info);
 	if (ret < 0) {
 		dev_err(&pdev->dev, "unable to request PPI ERROR IRQ\n");
diff --git a/drivers/video/bfin-t350mcqb-fb.c b/drivers/video/bfin-t350mcqb-fb.c
index d8de29f..d5e1267 100644
--- a/drivers/video/bfin-t350mcqb-fb.c
+++ b/drivers/video/bfin-t350mcqb-fb.c
@@ -529,7 +529,7 @@ static int __devinit bfin_t350mcqb_probe(struct platform_device *pdev)
 		goto out7;
 	}
 
-	ret = request_irq(info->irq, bfin_t350mcqb_irq_error, IRQF_DISABLED,
+	ret = request_irq(info->irq, bfin_t350mcqb_irq_error, 0,
 			"PPI ERROR", info);
 	if (ret < 0) {
 		printk(KERN_ERR DRIVER_NAME
diff --git a/drivers/video/bfin_adv7393fb.c b/drivers/video/bfin_adv7393fb.c
index 8486f54..811dd7f 100644
--- a/drivers/video/bfin_adv7393fb.c
+++ b/drivers/video/bfin_adv7393fb.c
@@ -481,7 +481,7 @@ static int __devinit bfin_adv7393_fb_probe(struct i2c_client *client,
 		goto out_4;
 	}
 
-	if (request_irq(IRQ_PPI_ERROR, ppi_irq_error, IRQF_DISABLED,
+	if (request_irq(IRQ_PPI_ERROR, ppi_irq_error, 0,
 			"PPI ERROR", fbdev) < 0) {
 		dev_err(&client->dev, "unable to request PPI ERROR IRQ\n");
 		ret = -EFAULT;
diff --git a/drivers/video/mb862xx/mb862xxfbdrv.c b/drivers/video/mb862xx/mb862xxfbdrv.c
index 12a634a..11a7a33 100644
--- a/drivers/video/mb862xx/mb862xxfbdrv.c
+++ b/drivers/video/mb862xx/mb862xxfbdrv.c
@@ -738,7 +738,7 @@ static int __devinit of_platform_mb862xx_probe(struct platform_device *ofdev)
 	if (mb862xx_gdc_init(par))
 		goto io_unmap;
 
-	if (request_irq(par->irq, mb862xx_intr, IRQF_DISABLED,
+	if (request_irq(par->irq, mb862xx_intr, 0,
 			DRV_NAME, (void *)par)) {
 		dev_err(dev, "Cannot request irq\n");
 		goto io_unmap;
@@ -1074,7 +1074,7 @@ static int __devinit mb862xx_pci_probe(struct pci_dev *pdev,
 	if (mb862xx_pci_gdc_init(par))
 		goto io_unmap;
 
-	if (request_irq(par->irq, mb862xx_intr, IRQF_DISABLED | IRQF_SHARED,
+	if (request_irq(par->irq, mb862xx_intr, IRQF_SHARED,
 			DRV_NAME, (void *)par)) {
 		dev_err(dev, "Cannot request irq\n");
 		goto io_unmap;
diff --git a/drivers/video/msm/mddi.c b/drivers/video/msm/mddi.c
index 178b072..4527cbf 100644
--- a/drivers/video/msm/mddi.c
+++ b/drivers/video/msm/mddi.c
@@ -715,7 +715,7 @@ static int __devinit mddi_probe(struct platform_device *pdev)
 
 	mddi->int_enable = 0;
 	mddi_writel(mddi->int_enable, INTEN);
-	ret = request_irq(mddi->irq, mddi_isr, IRQF_DISABLED, "mddi",
+	ret = request_irq(mddi->irq, mddi_isr, 0, "mddi",
 			  &mddi->client_data);
 	if (ret) {
 		printk(KERN_ERR "mddi: failed to request enable irq!\n");
diff --git a/drivers/video/msm/mdp.c b/drivers/video/msm/mdp.c
index 2750ed2..cb2ddf1 100644
--- a/drivers/video/msm/mdp.c
+++ b/drivers/video/msm/mdp.c
@@ -426,7 +426,7 @@ int mdp_probe(struct platform_device *pdev)
 		goto error_get_clk;
 	}
 
-	ret = request_irq(mdp->irq, mdp_isr, IRQF_DISABLED, "msm_mdp", mdp);
+	ret = request_irq(mdp->irq, mdp_isr, 0, "msm_mdp", mdp);
 	if (ret)
 		goto error_request_irq;
 	disable_irq(mdp->irq);
diff --git a/drivers/video/nuc900fb.c b/drivers/video/nuc900fb.c
index 37dd850..d1fbbd8 100644
--- a/drivers/video/nuc900fb.c
+++ b/drivers/video/nuc900fb.c
@@ -587,7 +587,7 @@ static int __devinit nuc900fb_probe(struct platform_device *pdev)
 	fbinfo->flags			= FBINFO_FLAG_DEFAULT;
 	fbinfo->pseudo_palette		= &fbi->pseudo_pal;
 
-	ret = request_irq(irq, nuc900fb_irqhandler, IRQF_DISABLED,
+	ret = request_irq(irq, nuc900fb_irqhandler, 0,
 			  pdev->name, fbinfo);
 	if (ret) {
 		dev_err(&pdev->dev, "cannot register irq handler %d -err %d\n",
diff --git a/drivers/video/omap2/displays/panel-taal.c b/drivers/video/omap2/displays/panel-taal.c
index ddc696d..20d9968 100644
--- a/drivers/video/omap2/displays/panel-taal.c
+++ b/drivers/video/omap2/displays/panel-taal.c
@@ -1053,7 +1053,7 @@ static int taal_probe(struct omap_dss_device *dssdev)
 		gpio_direction_input(gpio);
 
 		r = request_irq(gpio_to_irq(gpio), taal_te_isr,
-				IRQF_DISABLED | IRQF_TRIGGER_RISING,
+				IRQF_TRIGGER_RISING,
 				"taal vsync", dssdev);
 
 		if (r) {
diff --git a/drivers/video/ps3fb.c b/drivers/video/ps3fb.c
index 65560a1..213fbbc 100644
--- a/drivers/video/ps3fb.c
+++ b/drivers/video/ps3fb.c
@@ -1082,7 +1082,7 @@ static int __devinit ps3fb_probe(struct ps3_system_bus_device *dev)
 	}
 
 	retval = request_irq(ps3fb.irq_no, ps3fb_vsync_interrupt,
-			     IRQF_DISABLED, DEVICE_NAME, &dev->core);
+			     0, DEVICE_NAME, &dev->core);
 	if (retval) {
 		dev_err(&dev->core, "%s: request_irq failed %d\n", __func__,
 			retval);
diff --git a/drivers/video/pxa3xx-gcu.c b/drivers/video/pxa3xx-gcu.c
index d8de557..1ed8b36 100644
--- a/drivers/video/pxa3xx-gcu.c
+++ b/drivers/video/pxa3xx-gcu.c
@@ -676,7 +676,7 @@ pxa3xx_gcu_probe(struct platform_device *dev)
 	}
 
 	ret = request_irq(irq, pxa3xx_gcu_handle_irq,
-			  IRQF_DISABLED, DRV_NAME, priv);
+			  0, DRV_NAME, priv);
 	if (ret) {
 		dev_err(&dev->dev, "request_irq failed\n");
 		ret = -EBUSY;
diff --git a/drivers/video/pxafb.c b/drivers/video/pxafb.c
index 0f4e8c9..e89778f 100644
--- a/drivers/video/pxafb.c
+++ b/drivers/video/pxafb.c
@@ -2191,7 +2191,7 @@ static int __devinit pxafb_probe(struct platform_device *dev)
 		goto failed_free_mem;
 	}
 
-	ret = request_irq(irq, pxafb_handle_irq, IRQF_DISABLED, "LCD", fbi);
+	ret = request_irq(irq, pxafb_handle_irq, 0, "LCD", fbi);
 	if (ret) {
 		dev_err(&dev->dev, "request_irq failed: %d\n", ret);
 		ret = -EBUSY;
diff --git a/drivers/video/s3c2410fb.c b/drivers/video/s3c2410fb.c
index 798144a..ee4c0df 100644
--- a/drivers/video/s3c2410fb.c
+++ b/drivers/video/s3c2410fb.c
@@ -910,7 +910,7 @@ static int __devinit s3c24xxfb_probe(struct platform_device *pdev,
 	for (i = 0; i < 256; i++)
 		info->palette_buffer[i] = PALETTE_BUFF_CLEAR;
 
-	ret = request_irq(irq, s3c2410fb_irq, IRQF_DISABLED, pdev->name, info);
+	ret = request_irq(irq, s3c2410fb_irq, 0, pdev->name, info);
 	if (ret) {
 		dev_err(&pdev->dev, "cannot get irq %d - err %d\n", irq, ret);
 		ret = -EBUSY;
diff --git a/drivers/video/sa1100fb.c b/drivers/video/sa1100fb.c
index e8b76d6..98d55d0 100644
--- a/drivers/video/sa1100fb.c
+++ b/drivers/video/sa1100fb.c
@@ -1457,8 +1457,7 @@ static int __devinit sa1100fb_probe(struct platform_device *pdev)
 	if (ret)
 		goto failed;
 
-	ret = request_irq(irq, sa1100fb_handle_irq, IRQF_DISABLED,
-			  "LCD", fbi);
+	ret = request_irq(irq, sa1100fb_handle_irq, 0, "LCD", fbi);
 	if (ret) {
 		printk(KERN_ERR "sa1100fb: request_irq failed: %d\n", ret);
 		goto failed;
diff --git a/drivers/video/sh_mobile_lcdcfb.c b/drivers/video/sh_mobile_lcdcfb.c
index 4636f9d..facffc2 100644
--- a/drivers/video/sh_mobile_lcdcfb.c
+++ b/drivers/video/sh_mobile_lcdcfb.c
@@ -1577,7 +1577,7 @@ static int __devinit sh_mobile_lcdc_probe(struct platform_device *pdev)
 
 	platform_set_drvdata(pdev, priv);
 
-	error = request_irq(i, sh_mobile_lcdc_irq, IRQF_DISABLED,
+	error = request_irq(i, sh_mobile_lcdc_irq, 0,
 			    dev_name(&pdev->dev), priv);
 	if (error) {
 		dev_err(&pdev->dev, "unable to request irq\n");
diff --git a/drivers/video/tmiofb.c b/drivers/video/tmiofb.c
index cd1c4dc..8e4a446 100644
--- a/drivers/video/tmiofb.c
+++ b/drivers/video/tmiofb.c
@@ -744,7 +744,7 @@ static int __devinit tmiofb_probe(struct platform_device *dev)
 		goto err_ioremap_vram;
 	}
 
-	retval = request_irq(irq, &tmiofb_irq, IRQF_DISABLED,
+	retval = request_irq(irq, &tmiofb_irq, 0,
 					dev_name(&dev->dev), info);
 
 	if (retval)
diff --git a/drivers/video/vt8500lcdfb.c b/drivers/video/vt8500lcdfb.c
index c13c246..777c21d 100644
--- a/drivers/video/vt8500lcdfb.c
+++ b/drivers/video/vt8500lcdfb.c
@@ -355,7 +355,7 @@ static int __devinit vt8500lcd_probe(struct platform_device *pdev)
 		goto failed_free_palette;
 	}
 
-	ret = request_irq(irq, vt8500lcd_handle_irq, IRQF_DISABLED, "LCD", fbi);
+	ret = request_irq(irq, vt8500lcd_handle_irq, 0, "LCD", fbi);
 	if (ret) {
 		dev_err(&pdev->dev, "request_irq failed: %d\n", ret);
 		ret = -EBUSY;
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 49/57] video: irq: Remove IRQF_DISABLED
@ 2011-09-21  9:28   ` Yong Zhang
  0 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: linux-fbdev, Paul Gortmaker, Laurent Pinchart, Daniel Walker,
	Kukjin Kim, Florian Tobias Schandinat, Tomi Valkeinen,
	Archit Taneja, David Brown, Anatolij Gustschin, cbe-oss-dev,
	Wan ZongShun, linux-arm-msm, yong.zhang0, Ben Dooks, tglx,
	linux-omap, linux-arm-kernel, Geoff Levand, Jiri Kosina,
	Bryan Huntsman, Andrew Morton, linuxppc-dev

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 drivers/video/au1200fb.c                  |    2 +-
 drivers/video/bf54x-lq043fb.c             |    2 +-
 drivers/video/bfin-lq035q1-fb.c           |    2 +-
 drivers/video/bfin-t350mcqb-fb.c          |    2 +-
 drivers/video/bfin_adv7393fb.c            |    2 +-
 drivers/video/mb862xx/mb862xxfbdrv.c      |    4 ++--
 drivers/video/msm/mddi.c                  |    2 +-
 drivers/video/msm/mdp.c                   |    2 +-
 drivers/video/nuc900fb.c                  |    2 +-
 drivers/video/omap2/displays/panel-taal.c |    2 +-
 drivers/video/ps3fb.c                     |    2 +-
 drivers/video/pxa3xx-gcu.c                |    2 +-
 drivers/video/pxafb.c                     |    2 +-
 drivers/video/s3c2410fb.c                 |    2 +-
 drivers/video/sa1100fb.c                  |    3 +--
 drivers/video/sh_mobile_lcdcfb.c          |    2 +-
 drivers/video/tmiofb.c                    |    2 +-
 drivers/video/vt8500lcdfb.c               |    2 +-
 18 files changed, 19 insertions(+), 20 deletions(-)

diff --git a/drivers/video/au1200fb.c b/drivers/video/au1200fb.c
index a19a40e..7200559 100644
--- a/drivers/video/au1200fb.c
+++ b/drivers/video/au1200fb.c
@@ -1673,7 +1673,7 @@ static int __devinit au1200fb_drv_probe(struct platform_device *dev)
 	/* Now hook interrupt too */
 	irq = platform_get_irq(dev, 0);
 	ret = request_irq(irq, au1200fb_handle_irq,
-			  IRQF_DISABLED | IRQF_SHARED, "lcd", (void *)dev);
+			  IRQF_SHARED, "lcd", (void *)dev);
 	if (ret) {
 		print_err("fail to request interrupt line %d (err: %d)",
 			  irq, ret);
diff --git a/drivers/video/bf54x-lq043fb.c b/drivers/video/bf54x-lq043fb.c
index 2464b91..56720fb 100644
--- a/drivers/video/bf54x-lq043fb.c
+++ b/drivers/video/bf54x-lq043fb.c
@@ -633,7 +633,7 @@ static int __devinit bfin_bf54x_probe(struct platform_device *pdev)
 		goto out7;
 	}
 
-	if (request_irq(info->irq, bfin_bf54x_irq_error, IRQF_DISABLED,
+	if (request_irq(info->irq, bfin_bf54x_irq_error, 0,
 			"PPI ERROR", info) < 0) {
 		printk(KERN_ERR DRIVER_NAME
 		       ": unable to request PPI ERROR IRQ\n");
diff --git a/drivers/video/bfin-lq035q1-fb.c b/drivers/video/bfin-lq035q1-fb.c
index 23b6c4b..c633068 100644
--- a/drivers/video/bfin-lq035q1-fb.c
+++ b/drivers/video/bfin-lq035q1-fb.c
@@ -695,7 +695,7 @@ static int __devinit bfin_lq035q1_probe(struct platform_device *pdev)
 		goto out7;
 	}
 
-	ret = request_irq(info->irq, bfin_lq035q1_irq_error, IRQF_DISABLED,
+	ret = request_irq(info->irq, bfin_lq035q1_irq_error, 0,
 			DRIVER_NAME" PPI ERROR", info);
 	if (ret < 0) {
 		dev_err(&pdev->dev, "unable to request PPI ERROR IRQ\n");
diff --git a/drivers/video/bfin-t350mcqb-fb.c b/drivers/video/bfin-t350mcqb-fb.c
index d8de29f..d5e1267 100644
--- a/drivers/video/bfin-t350mcqb-fb.c
+++ b/drivers/video/bfin-t350mcqb-fb.c
@@ -529,7 +529,7 @@ static int __devinit bfin_t350mcqb_probe(struct platform_device *pdev)
 		goto out7;
 	}
 
-	ret = request_irq(info->irq, bfin_t350mcqb_irq_error, IRQF_DISABLED,
+	ret = request_irq(info->irq, bfin_t350mcqb_irq_error, 0,
 			"PPI ERROR", info);
 	if (ret < 0) {
 		printk(KERN_ERR DRIVER_NAME
diff --git a/drivers/video/bfin_adv7393fb.c b/drivers/video/bfin_adv7393fb.c
index 8486f54..811dd7f 100644
--- a/drivers/video/bfin_adv7393fb.c
+++ b/drivers/video/bfin_adv7393fb.c
@@ -481,7 +481,7 @@ static int __devinit bfin_adv7393_fb_probe(struct i2c_client *client,
 		goto out_4;
 	}
 
-	if (request_irq(IRQ_PPI_ERROR, ppi_irq_error, IRQF_DISABLED,
+	if (request_irq(IRQ_PPI_ERROR, ppi_irq_error, 0,
 			"PPI ERROR", fbdev) < 0) {
 		dev_err(&client->dev, "unable to request PPI ERROR IRQ\n");
 		ret = -EFAULT;
diff --git a/drivers/video/mb862xx/mb862xxfbdrv.c b/drivers/video/mb862xx/mb862xxfbdrv.c
index 12a634a..11a7a33 100644
--- a/drivers/video/mb862xx/mb862xxfbdrv.c
+++ b/drivers/video/mb862xx/mb862xxfbdrv.c
@@ -738,7 +738,7 @@ static int __devinit of_platform_mb862xx_probe(struct platform_device *ofdev)
 	if (mb862xx_gdc_init(par))
 		goto io_unmap;
 
-	if (request_irq(par->irq, mb862xx_intr, IRQF_DISABLED,
+	if (request_irq(par->irq, mb862xx_intr, 0,
 			DRV_NAME, (void *)par)) {
 		dev_err(dev, "Cannot request irq\n");
 		goto io_unmap;
@@ -1074,7 +1074,7 @@ static int __devinit mb862xx_pci_probe(struct pci_dev *pdev,
 	if (mb862xx_pci_gdc_init(par))
 		goto io_unmap;
 
-	if (request_irq(par->irq, mb862xx_intr, IRQF_DISABLED | IRQF_SHARED,
+	if (request_irq(par->irq, mb862xx_intr, IRQF_SHARED,
 			DRV_NAME, (void *)par)) {
 		dev_err(dev, "Cannot request irq\n");
 		goto io_unmap;
diff --git a/drivers/video/msm/mddi.c b/drivers/video/msm/mddi.c
index 178b072..4527cbf 100644
--- a/drivers/video/msm/mddi.c
+++ b/drivers/video/msm/mddi.c
@@ -715,7 +715,7 @@ static int __devinit mddi_probe(struct platform_device *pdev)
 
 	mddi->int_enable = 0;
 	mddi_writel(mddi->int_enable, INTEN);
-	ret = request_irq(mddi->irq, mddi_isr, IRQF_DISABLED, "mddi",
+	ret = request_irq(mddi->irq, mddi_isr, 0, "mddi",
 			  &mddi->client_data);
 	if (ret) {
 		printk(KERN_ERR "mddi: failed to request enable irq!\n");
diff --git a/drivers/video/msm/mdp.c b/drivers/video/msm/mdp.c
index 2750ed2..cb2ddf1 100644
--- a/drivers/video/msm/mdp.c
+++ b/drivers/video/msm/mdp.c
@@ -426,7 +426,7 @@ int mdp_probe(struct platform_device *pdev)
 		goto error_get_clk;
 	}
 
-	ret = request_irq(mdp->irq, mdp_isr, IRQF_DISABLED, "msm_mdp", mdp);
+	ret = request_irq(mdp->irq, mdp_isr, 0, "msm_mdp", mdp);
 	if (ret)
 		goto error_request_irq;
 	disable_irq(mdp->irq);
diff --git a/drivers/video/nuc900fb.c b/drivers/video/nuc900fb.c
index 37dd850..d1fbbd8 100644
--- a/drivers/video/nuc900fb.c
+++ b/drivers/video/nuc900fb.c
@@ -587,7 +587,7 @@ static int __devinit nuc900fb_probe(struct platform_device *pdev)
 	fbinfo->flags			= FBINFO_FLAG_DEFAULT;
 	fbinfo->pseudo_palette		= &fbi->pseudo_pal;
 
-	ret = request_irq(irq, nuc900fb_irqhandler, IRQF_DISABLED,
+	ret = request_irq(irq, nuc900fb_irqhandler, 0,
 			  pdev->name, fbinfo);
 	if (ret) {
 		dev_err(&pdev->dev, "cannot register irq handler %d -err %d\n",
diff --git a/drivers/video/omap2/displays/panel-taal.c b/drivers/video/omap2/displays/panel-taal.c
index ddc696d..20d9968 100644
--- a/drivers/video/omap2/displays/panel-taal.c
+++ b/drivers/video/omap2/displays/panel-taal.c
@@ -1053,7 +1053,7 @@ static int taal_probe(struct omap_dss_device *dssdev)
 		gpio_direction_input(gpio);
 
 		r = request_irq(gpio_to_irq(gpio), taal_te_isr,
-				IRQF_DISABLED | IRQF_TRIGGER_RISING,
+				IRQF_TRIGGER_RISING,
 				"taal vsync", dssdev);
 
 		if (r) {
diff --git a/drivers/video/ps3fb.c b/drivers/video/ps3fb.c
index 65560a1..213fbbc 100644
--- a/drivers/video/ps3fb.c
+++ b/drivers/video/ps3fb.c
@@ -1082,7 +1082,7 @@ static int __devinit ps3fb_probe(struct ps3_system_bus_device *dev)
 	}
 
 	retval = request_irq(ps3fb.irq_no, ps3fb_vsync_interrupt,
-			     IRQF_DISABLED, DEVICE_NAME, &dev->core);
+			     0, DEVICE_NAME, &dev->core);
 	if (retval) {
 		dev_err(&dev->core, "%s: request_irq failed %d\n", __func__,
 			retval);
diff --git a/drivers/video/pxa3xx-gcu.c b/drivers/video/pxa3xx-gcu.c
index d8de557..1ed8b36 100644
--- a/drivers/video/pxa3xx-gcu.c
+++ b/drivers/video/pxa3xx-gcu.c
@@ -676,7 +676,7 @@ pxa3xx_gcu_probe(struct platform_device *dev)
 	}
 
 	ret = request_irq(irq, pxa3xx_gcu_handle_irq,
-			  IRQF_DISABLED, DRV_NAME, priv);
+			  0, DRV_NAME, priv);
 	if (ret) {
 		dev_err(&dev->dev, "request_irq failed\n");
 		ret = -EBUSY;
diff --git a/drivers/video/pxafb.c b/drivers/video/pxafb.c
index 0f4e8c9..e89778f 100644
--- a/drivers/video/pxafb.c
+++ b/drivers/video/pxafb.c
@@ -2191,7 +2191,7 @@ static int __devinit pxafb_probe(struct platform_device *dev)
 		goto failed_free_mem;
 	}
 
-	ret = request_irq(irq, pxafb_handle_irq, IRQF_DISABLED, "LCD", fbi);
+	ret = request_irq(irq, pxafb_handle_irq, 0, "LCD", fbi);
 	if (ret) {
 		dev_err(&dev->dev, "request_irq failed: %d\n", ret);
 		ret = -EBUSY;
diff --git a/drivers/video/s3c2410fb.c b/drivers/video/s3c2410fb.c
index 798144a..ee4c0df 100644
--- a/drivers/video/s3c2410fb.c
+++ b/drivers/video/s3c2410fb.c
@@ -910,7 +910,7 @@ static int __devinit s3c24xxfb_probe(struct platform_device *pdev,
 	for (i = 0; i < 256; i++)
 		info->palette_buffer[i] = PALETTE_BUFF_CLEAR;
 
-	ret = request_irq(irq, s3c2410fb_irq, IRQF_DISABLED, pdev->name, info);
+	ret = request_irq(irq, s3c2410fb_irq, 0, pdev->name, info);
 	if (ret) {
 		dev_err(&pdev->dev, "cannot get irq %d - err %d\n", irq, ret);
 		ret = -EBUSY;
diff --git a/drivers/video/sa1100fb.c b/drivers/video/sa1100fb.c
index e8b76d6..98d55d0 100644
--- a/drivers/video/sa1100fb.c
+++ b/drivers/video/sa1100fb.c
@@ -1457,8 +1457,7 @@ static int __devinit sa1100fb_probe(struct platform_device *pdev)
 	if (ret)
 		goto failed;
 
-	ret = request_irq(irq, sa1100fb_handle_irq, IRQF_DISABLED,
-			  "LCD", fbi);
+	ret = request_irq(irq, sa1100fb_handle_irq, 0, "LCD", fbi);
 	if (ret) {
 		printk(KERN_ERR "sa1100fb: request_irq failed: %d\n", ret);
 		goto failed;
diff --git a/drivers/video/sh_mobile_lcdcfb.c b/drivers/video/sh_mobile_lcdcfb.c
index 4636f9d..facffc2 100644
--- a/drivers/video/sh_mobile_lcdcfb.c
+++ b/drivers/video/sh_mobile_lcdcfb.c
@@ -1577,7 +1577,7 @@ static int __devinit sh_mobile_lcdc_probe(struct platform_device *pdev)
 
 	platform_set_drvdata(pdev, priv);
 
-	error = request_irq(i, sh_mobile_lcdc_irq, IRQF_DISABLED,
+	error = request_irq(i, sh_mobile_lcdc_irq, 0,
 			    dev_name(&pdev->dev), priv);
 	if (error) {
 		dev_err(&pdev->dev, "unable to request irq\n");
diff --git a/drivers/video/tmiofb.c b/drivers/video/tmiofb.c
index cd1c4dc..8e4a446 100644
--- a/drivers/video/tmiofb.c
+++ b/drivers/video/tmiofb.c
@@ -744,7 +744,7 @@ static int __devinit tmiofb_probe(struct platform_device *dev)
 		goto err_ioremap_vram;
 	}
 
-	retval = request_irq(irq, &tmiofb_irq, IRQF_DISABLED,
+	retval = request_irq(irq, &tmiofb_irq, 0,
 					dev_name(&dev->dev), info);
 
 	if (retval)
diff --git a/drivers/video/vt8500lcdfb.c b/drivers/video/vt8500lcdfb.c
index c13c246..777c21d 100644
--- a/drivers/video/vt8500lcdfb.c
+++ b/drivers/video/vt8500lcdfb.c
@@ -355,7 +355,7 @@ static int __devinit vt8500lcd_probe(struct platform_device *pdev)
 		goto failed_free_palette;
 	}
 
-	ret = request_irq(irq, vt8500lcd_handle_irq, IRQF_DISABLED, "LCD", fbi);
+	ret = request_irq(irq, vt8500lcd_handle_irq, 0, "LCD", fbi);
 	if (ret) {
 		dev_err(&pdev->dev, "request_irq failed: %d\n", ret);
 		ret = -EBUSY;
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 49/57] video: irq: Remove IRQF_DISABLED
@ 2011-09-21  9:28   ` Yong Zhang
  0 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arm-kernel

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 drivers/video/au1200fb.c                  |    2 +-
 drivers/video/bf54x-lq043fb.c             |    2 +-
 drivers/video/bfin-lq035q1-fb.c           |    2 +-
 drivers/video/bfin-t350mcqb-fb.c          |    2 +-
 drivers/video/bfin_adv7393fb.c            |    2 +-
 drivers/video/mb862xx/mb862xxfbdrv.c      |    4 ++--
 drivers/video/msm/mddi.c                  |    2 +-
 drivers/video/msm/mdp.c                   |    2 +-
 drivers/video/nuc900fb.c                  |    2 +-
 drivers/video/omap2/displays/panel-taal.c |    2 +-
 drivers/video/ps3fb.c                     |    2 +-
 drivers/video/pxa3xx-gcu.c                |    2 +-
 drivers/video/pxafb.c                     |    2 +-
 drivers/video/s3c2410fb.c                 |    2 +-
 drivers/video/sa1100fb.c                  |    3 +--
 drivers/video/sh_mobile_lcdcfb.c          |    2 +-
 drivers/video/tmiofb.c                    |    2 +-
 drivers/video/vt8500lcdfb.c               |    2 +-
 18 files changed, 19 insertions(+), 20 deletions(-)

diff --git a/drivers/video/au1200fb.c b/drivers/video/au1200fb.c
index a19a40e..7200559 100644
--- a/drivers/video/au1200fb.c
+++ b/drivers/video/au1200fb.c
@@ -1673,7 +1673,7 @@ static int __devinit au1200fb_drv_probe(struct platform_device *dev)
 	/* Now hook interrupt too */
 	irq = platform_get_irq(dev, 0);
 	ret = request_irq(irq, au1200fb_handle_irq,
-			  IRQF_DISABLED | IRQF_SHARED, "lcd", (void *)dev);
+			  IRQF_SHARED, "lcd", (void *)dev);
 	if (ret) {
 		print_err("fail to request interrupt line %d (err: %d)",
 			  irq, ret);
diff --git a/drivers/video/bf54x-lq043fb.c b/drivers/video/bf54x-lq043fb.c
index 2464b91..56720fb 100644
--- a/drivers/video/bf54x-lq043fb.c
+++ b/drivers/video/bf54x-lq043fb.c
@@ -633,7 +633,7 @@ static int __devinit bfin_bf54x_probe(struct platform_device *pdev)
 		goto out7;
 	}
 
-	if (request_irq(info->irq, bfin_bf54x_irq_error, IRQF_DISABLED,
+	if (request_irq(info->irq, bfin_bf54x_irq_error, 0,
 			"PPI ERROR", info) < 0) {
 		printk(KERN_ERR DRIVER_NAME
 		       ": unable to request PPI ERROR IRQ\n");
diff --git a/drivers/video/bfin-lq035q1-fb.c b/drivers/video/bfin-lq035q1-fb.c
index 23b6c4b..c633068 100644
--- a/drivers/video/bfin-lq035q1-fb.c
+++ b/drivers/video/bfin-lq035q1-fb.c
@@ -695,7 +695,7 @@ static int __devinit bfin_lq035q1_probe(struct platform_device *pdev)
 		goto out7;
 	}
 
-	ret = request_irq(info->irq, bfin_lq035q1_irq_error, IRQF_DISABLED,
+	ret = request_irq(info->irq, bfin_lq035q1_irq_error, 0,
 			DRIVER_NAME" PPI ERROR", info);
 	if (ret < 0) {
 		dev_err(&pdev->dev, "unable to request PPI ERROR IRQ\n");
diff --git a/drivers/video/bfin-t350mcqb-fb.c b/drivers/video/bfin-t350mcqb-fb.c
index d8de29f..d5e1267 100644
--- a/drivers/video/bfin-t350mcqb-fb.c
+++ b/drivers/video/bfin-t350mcqb-fb.c
@@ -529,7 +529,7 @@ static int __devinit bfin_t350mcqb_probe(struct platform_device *pdev)
 		goto out7;
 	}
 
-	ret = request_irq(info->irq, bfin_t350mcqb_irq_error, IRQF_DISABLED,
+	ret = request_irq(info->irq, bfin_t350mcqb_irq_error, 0,
 			"PPI ERROR", info);
 	if (ret < 0) {
 		printk(KERN_ERR DRIVER_NAME
diff --git a/drivers/video/bfin_adv7393fb.c b/drivers/video/bfin_adv7393fb.c
index 8486f54..811dd7f 100644
--- a/drivers/video/bfin_adv7393fb.c
+++ b/drivers/video/bfin_adv7393fb.c
@@ -481,7 +481,7 @@ static int __devinit bfin_adv7393_fb_probe(struct i2c_client *client,
 		goto out_4;
 	}
 
-	if (request_irq(IRQ_PPI_ERROR, ppi_irq_error, IRQF_DISABLED,
+	if (request_irq(IRQ_PPI_ERROR, ppi_irq_error, 0,
 			"PPI ERROR", fbdev) < 0) {
 		dev_err(&client->dev, "unable to request PPI ERROR IRQ\n");
 		ret = -EFAULT;
diff --git a/drivers/video/mb862xx/mb862xxfbdrv.c b/drivers/video/mb862xx/mb862xxfbdrv.c
index 12a634a..11a7a33 100644
--- a/drivers/video/mb862xx/mb862xxfbdrv.c
+++ b/drivers/video/mb862xx/mb862xxfbdrv.c
@@ -738,7 +738,7 @@ static int __devinit of_platform_mb862xx_probe(struct platform_device *ofdev)
 	if (mb862xx_gdc_init(par))
 		goto io_unmap;
 
-	if (request_irq(par->irq, mb862xx_intr, IRQF_DISABLED,
+	if (request_irq(par->irq, mb862xx_intr, 0,
 			DRV_NAME, (void *)par)) {
 		dev_err(dev, "Cannot request irq\n");
 		goto io_unmap;
@@ -1074,7 +1074,7 @@ static int __devinit mb862xx_pci_probe(struct pci_dev *pdev,
 	if (mb862xx_pci_gdc_init(par))
 		goto io_unmap;
 
-	if (request_irq(par->irq, mb862xx_intr, IRQF_DISABLED | IRQF_SHARED,
+	if (request_irq(par->irq, mb862xx_intr, IRQF_SHARED,
 			DRV_NAME, (void *)par)) {
 		dev_err(dev, "Cannot request irq\n");
 		goto io_unmap;
diff --git a/drivers/video/msm/mddi.c b/drivers/video/msm/mddi.c
index 178b072..4527cbf 100644
--- a/drivers/video/msm/mddi.c
+++ b/drivers/video/msm/mddi.c
@@ -715,7 +715,7 @@ static int __devinit mddi_probe(struct platform_device *pdev)
 
 	mddi->int_enable = 0;
 	mddi_writel(mddi->int_enable, INTEN);
-	ret = request_irq(mddi->irq, mddi_isr, IRQF_DISABLED, "mddi",
+	ret = request_irq(mddi->irq, mddi_isr, 0, "mddi",
 			  &mddi->client_data);
 	if (ret) {
 		printk(KERN_ERR "mddi: failed to request enable irq!\n");
diff --git a/drivers/video/msm/mdp.c b/drivers/video/msm/mdp.c
index 2750ed2..cb2ddf1 100644
--- a/drivers/video/msm/mdp.c
+++ b/drivers/video/msm/mdp.c
@@ -426,7 +426,7 @@ int mdp_probe(struct platform_device *pdev)
 		goto error_get_clk;
 	}
 
-	ret = request_irq(mdp->irq, mdp_isr, IRQF_DISABLED, "msm_mdp", mdp);
+	ret = request_irq(mdp->irq, mdp_isr, 0, "msm_mdp", mdp);
 	if (ret)
 		goto error_request_irq;
 	disable_irq(mdp->irq);
diff --git a/drivers/video/nuc900fb.c b/drivers/video/nuc900fb.c
index 37dd850..d1fbbd8 100644
--- a/drivers/video/nuc900fb.c
+++ b/drivers/video/nuc900fb.c
@@ -587,7 +587,7 @@ static int __devinit nuc900fb_probe(struct platform_device *pdev)
 	fbinfo->flags			= FBINFO_FLAG_DEFAULT;
 	fbinfo->pseudo_palette		= &fbi->pseudo_pal;
 
-	ret = request_irq(irq, nuc900fb_irqhandler, IRQF_DISABLED,
+	ret = request_irq(irq, nuc900fb_irqhandler, 0,
 			  pdev->name, fbinfo);
 	if (ret) {
 		dev_err(&pdev->dev, "cannot register irq handler %d -err %d\n",
diff --git a/drivers/video/omap2/displays/panel-taal.c b/drivers/video/omap2/displays/panel-taal.c
index ddc696d..20d9968 100644
--- a/drivers/video/omap2/displays/panel-taal.c
+++ b/drivers/video/omap2/displays/panel-taal.c
@@ -1053,7 +1053,7 @@ static int taal_probe(struct omap_dss_device *dssdev)
 		gpio_direction_input(gpio);
 
 		r = request_irq(gpio_to_irq(gpio), taal_te_isr,
-				IRQF_DISABLED | IRQF_TRIGGER_RISING,
+				IRQF_TRIGGER_RISING,
 				"taal vsync", dssdev);
 
 		if (r) {
diff --git a/drivers/video/ps3fb.c b/drivers/video/ps3fb.c
index 65560a1..213fbbc 100644
--- a/drivers/video/ps3fb.c
+++ b/drivers/video/ps3fb.c
@@ -1082,7 +1082,7 @@ static int __devinit ps3fb_probe(struct ps3_system_bus_device *dev)
 	}
 
 	retval = request_irq(ps3fb.irq_no, ps3fb_vsync_interrupt,
-			     IRQF_DISABLED, DEVICE_NAME, &dev->core);
+			     0, DEVICE_NAME, &dev->core);
 	if (retval) {
 		dev_err(&dev->core, "%s: request_irq failed %d\n", __func__,
 			retval);
diff --git a/drivers/video/pxa3xx-gcu.c b/drivers/video/pxa3xx-gcu.c
index d8de557..1ed8b36 100644
--- a/drivers/video/pxa3xx-gcu.c
+++ b/drivers/video/pxa3xx-gcu.c
@@ -676,7 +676,7 @@ pxa3xx_gcu_probe(struct platform_device *dev)
 	}
 
 	ret = request_irq(irq, pxa3xx_gcu_handle_irq,
-			  IRQF_DISABLED, DRV_NAME, priv);
+			  0, DRV_NAME, priv);
 	if (ret) {
 		dev_err(&dev->dev, "request_irq failed\n");
 		ret = -EBUSY;
diff --git a/drivers/video/pxafb.c b/drivers/video/pxafb.c
index 0f4e8c9..e89778f 100644
--- a/drivers/video/pxafb.c
+++ b/drivers/video/pxafb.c
@@ -2191,7 +2191,7 @@ static int __devinit pxafb_probe(struct platform_device *dev)
 		goto failed_free_mem;
 	}
 
-	ret = request_irq(irq, pxafb_handle_irq, IRQF_DISABLED, "LCD", fbi);
+	ret = request_irq(irq, pxafb_handle_irq, 0, "LCD", fbi);
 	if (ret) {
 		dev_err(&dev->dev, "request_irq failed: %d\n", ret);
 		ret = -EBUSY;
diff --git a/drivers/video/s3c2410fb.c b/drivers/video/s3c2410fb.c
index 798144a..ee4c0df 100644
--- a/drivers/video/s3c2410fb.c
+++ b/drivers/video/s3c2410fb.c
@@ -910,7 +910,7 @@ static int __devinit s3c24xxfb_probe(struct platform_device *pdev,
 	for (i = 0; i < 256; i++)
 		info->palette_buffer[i] = PALETTE_BUFF_CLEAR;
 
-	ret = request_irq(irq, s3c2410fb_irq, IRQF_DISABLED, pdev->name, info);
+	ret = request_irq(irq, s3c2410fb_irq, 0, pdev->name, info);
 	if (ret) {
 		dev_err(&pdev->dev, "cannot get irq %d - err %d\n", irq, ret);
 		ret = -EBUSY;
diff --git a/drivers/video/sa1100fb.c b/drivers/video/sa1100fb.c
index e8b76d6..98d55d0 100644
--- a/drivers/video/sa1100fb.c
+++ b/drivers/video/sa1100fb.c
@@ -1457,8 +1457,7 @@ static int __devinit sa1100fb_probe(struct platform_device *pdev)
 	if (ret)
 		goto failed;
 
-	ret = request_irq(irq, sa1100fb_handle_irq, IRQF_DISABLED,
-			  "LCD", fbi);
+	ret = request_irq(irq, sa1100fb_handle_irq, 0, "LCD", fbi);
 	if (ret) {
 		printk(KERN_ERR "sa1100fb: request_irq failed: %d\n", ret);
 		goto failed;
diff --git a/drivers/video/sh_mobile_lcdcfb.c b/drivers/video/sh_mobile_lcdcfb.c
index 4636f9d..facffc2 100644
--- a/drivers/video/sh_mobile_lcdcfb.c
+++ b/drivers/video/sh_mobile_lcdcfb.c
@@ -1577,7 +1577,7 @@ static int __devinit sh_mobile_lcdc_probe(struct platform_device *pdev)
 
 	platform_set_drvdata(pdev, priv);
 
-	error = request_irq(i, sh_mobile_lcdc_irq, IRQF_DISABLED,
+	error = request_irq(i, sh_mobile_lcdc_irq, 0,
 			    dev_name(&pdev->dev), priv);
 	if (error) {
 		dev_err(&pdev->dev, "unable to request irq\n");
diff --git a/drivers/video/tmiofb.c b/drivers/video/tmiofb.c
index cd1c4dc..8e4a446 100644
--- a/drivers/video/tmiofb.c
+++ b/drivers/video/tmiofb.c
@@ -744,7 +744,7 @@ static int __devinit tmiofb_probe(struct platform_device *dev)
 		goto err_ioremap_vram;
 	}
 
-	retval = request_irq(irq, &tmiofb_irq, IRQF_DISABLED,
+	retval = request_irq(irq, &tmiofb_irq, 0,
 					dev_name(&dev->dev), info);
 
 	if (retval)
diff --git a/drivers/video/vt8500lcdfb.c b/drivers/video/vt8500lcdfb.c
index c13c246..777c21d 100644
--- a/drivers/video/vt8500lcdfb.c
+++ b/drivers/video/vt8500lcdfb.c
@@ -355,7 +355,7 @@ static int __devinit vt8500lcd_probe(struct platform_device *pdev)
 		goto failed_free_palette;
 	}
 
-	ret = request_irq(irq, vt8500lcd_handle_irq, IRQF_DISABLED, "LCD", fbi);
+	ret = request_irq(irq, vt8500lcd_handle_irq, 0, "LCD", fbi);
 	if (ret) {
 		dev_err(&pdev->dev, "request_irq failed: %d\n", ret);
 		ret = -EBUSY;
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 50/57] w1: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
                   ` (47 preceding siblings ...)
  2011-09-21  9:28   ` Yong Zhang
@ 2011-09-21  9:28 ` Yong Zhang
  2011-09-21 10:06   ` Evgeniy Polyakov
  2011-09-21  9:28   ` Yong Zhang
                   ` (8 subsequent siblings)
  57 siblings, 1 reply; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Evgeniy Polyakov, Samuel Ortiz,
	Andres Salomon, Andrew Morton, Jean-François Dagenais,
	Tony Lindgren, Lucas De Marchi, Amit Kucheria, Julia Lawall

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 drivers/w1/masters/ds1wm.c    |    2 +-
 drivers/w1/masters/omap_hdq.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/w1/masters/ds1wm.c b/drivers/w1/masters/ds1wm.c
index a0c8965..9fa6844 100644
--- a/drivers/w1/masters/ds1wm.c
+++ b/drivers/w1/masters/ds1wm.c
@@ -502,7 +502,7 @@ static int ds1wm_probe(struct platform_device *pdev)
 		irq_set_irq_type(ds1wm_data->irq, IRQ_TYPE_EDGE_FALLING);
 
 	ret = request_irq(ds1wm_data->irq, ds1wm_isr,
-			IRQF_DISABLED | IRQF_SHARED, "ds1wm", ds1wm_data);
+			IRQF_SHARED, "ds1wm", ds1wm_data);
 	if (ret)
 		goto err1;
 
diff --git a/drivers/w1/masters/omap_hdq.c b/drivers/w1/masters/omap_hdq.c
index 5ef385b..d1ef89d 100644
--- a/drivers/w1/masters/omap_hdq.c
+++ b/drivers/w1/masters/omap_hdq.c
@@ -633,7 +633,7 @@ static int __devinit omap_hdq_probe(struct platform_device *pdev)
 		goto err_irq;
 	}
 
-	ret = request_irq(irq, hdq_isr, IRQF_DISABLED, "omap_hdq", hdq_data);
+	ret = request_irq(irq, hdq_isr, 0, "omap_hdq", hdq_data);
 	if (ret < 0) {
 		dev_dbg(&pdev->dev, "could not request irq\n");
 		goto err_irq;
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 51/57] watchdog: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
@ 2011-09-21  9:28   ` Yong Zhang
  2011-09-21  9:28 ` [PATCH 02/57] alpha: irq: Remove IRQF_DISABLED Yong Zhang
                     ` (56 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Linus Walleij, Wim Van Sebroeck,
	linux-arm-kernel, linux-watchdog

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Acked-by: Wolfram Sang <w.sang@pengutronix.de>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
---
 drivers/watchdog/coh901327_wdt.c   |    2 +-
 drivers/watchdog/eurotechwdt.c     |    2 +-
 drivers/watchdog/mpcore_wdt.c      |    3 +--
 drivers/watchdog/octeon-wdt-main.c |    2 +-
 drivers/watchdog/sb_wdog.c         |    4 ++--
 drivers/watchdog/wdt.c             |    2 +-
 drivers/watchdog/wdt_pci.c         |    2 +-
 7 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/drivers/watchdog/coh901327_wdt.c b/drivers/watchdog/coh901327_wdt.c
index 9291506..03f449a 100644
--- a/drivers/watchdog/coh901327_wdt.c
+++ b/drivers/watchdog/coh901327_wdt.c
@@ -429,7 +429,7 @@ static int __init coh901327_probe(struct platform_device *pdev)
 	writew(U300_WDOG_SR_RESET_STATUS_RESET, virtbase + U300_WDOG_SR);
 
 	irq = platform_get_irq(pdev, 0);
-	if (request_irq(irq, coh901327_interrupt, IRQF_DISABLED,
+	if (request_irq(irq, coh901327_interrupt, 0,
 			DRV_NAME " Bark", pdev)) {
 		ret = -EIO;
 		goto out_no_irq;
diff --git a/drivers/watchdog/eurotechwdt.c b/drivers/watchdog/eurotechwdt.c
index f1d1da6..41018d4 100644
--- a/drivers/watchdog/eurotechwdt.c
+++ b/drivers/watchdog/eurotechwdt.c
@@ -427,7 +427,7 @@ static int __init eurwdt_init(void)
 {
 	int ret;
 
-	ret = request_irq(irq, eurwdt_interrupt, IRQF_DISABLED, "eurwdt", NULL);
+	ret = request_irq(irq, eurwdt_interrupt, 0, "eurwdt", NULL);
 	if (ret) {
 		printk(KERN_ERR "eurwdt: IRQ %d is not free.\n", irq);
 		goto out;
diff --git a/drivers/watchdog/mpcore_wdt.c b/drivers/watchdog/mpcore_wdt.c
index 4dc3102..82ccd36 100644
--- a/drivers/watchdog/mpcore_wdt.c
+++ b/drivers/watchdog/mpcore_wdt.c
@@ -367,8 +367,7 @@ static int __devinit mpcore_wdt_probe(struct platform_device *dev)
 		goto err_misc;
 	}
 
-	ret = request_irq(wdt->irq, mpcore_wdt_fire, IRQF_DISABLED,
-							"mpcore_wdt", wdt);
+	ret = request_irq(wdt->irq, mpcore_wdt_fire, 0, "mpcore_wdt", wdt);
 	if (ret) {
 		dev_printk(KERN_ERR, wdt->dev,
 			"cannot register IRQ%d for watchdog\n", wdt->irq);
diff --git a/drivers/watchdog/octeon-wdt-main.c b/drivers/watchdog/octeon-wdt-main.c
index 945ee83..6019087 100644
--- a/drivers/watchdog/octeon-wdt-main.c
+++ b/drivers/watchdog/octeon-wdt-main.c
@@ -402,7 +402,7 @@ static void octeon_wdt_setup_interrupt(int cpu)
 	irq = OCTEON_IRQ_WDOG0 + core;
 
 	if (request_irq(irq, octeon_wdt_poke_irq,
-			IRQF_DISABLED, "octeon_wdt", octeon_wdt_poke_irq))
+			0, "octeon_wdt", octeon_wdt_poke_irq))
 		panic("octeon_wdt: Couldn't obtain irq %d", irq);
 
 	cpumask_set_cpu(cpu, &irq_enabled_cpus);
diff --git a/drivers/watchdog/sb_wdog.c b/drivers/watchdog/sb_wdog.c
index f31493e..b01a30e 100644
--- a/drivers/watchdog/sb_wdog.c
+++ b/drivers/watchdog/sb_wdog.c
@@ -300,7 +300,7 @@ static int __init sbwdog_init(void)
 	 * get the resources
 	 */
 
-	ret = request_irq(1, sbwdog_interrupt, IRQF_DISABLED | IRQF_SHARED,
+	ret = request_irq(1, sbwdog_interrupt, IRQF_SHARED,
 		ident.identity, (void *)user_dog);
 	if (ret) {
 		printk(KERN_ERR "%s: failed to request irq 1 - %d\n",
@@ -350,7 +350,7 @@ void platform_wd_setup(void)
 {
 	int ret;
 
-	ret = request_irq(1, sbwdog_interrupt, IRQF_DISABLED | IRQF_SHARED,
+	ret = request_irq(1, sbwdog_interrupt, IRQF_SHARED,
 		"Kernel Watchdog", IOADDR(A_SCD_WDOG_CFG_0));
 	if (ret) {
 		printk(KERN_CRIT
diff --git a/drivers/watchdog/wdt.c b/drivers/watchdog/wdt.c
index bb03e15..d2ef002 100644
--- a/drivers/watchdog/wdt.c
+++ b/drivers/watchdog/wdt.c
@@ -612,7 +612,7 @@ static int __init wdt_init(void)
 		goto out;
 	}
 
-	ret = request_irq(irq, wdt_interrupt, IRQF_DISABLED, "wdt501p", NULL);
+	ret = request_irq(irq, wdt_interrupt, 0, "wdt501p", NULL);
 	if (ret) {
 		printk(KERN_ERR "wdt: IRQ %d is not free.\n", irq);
 		goto outreg;
diff --git a/drivers/watchdog/wdt_pci.c b/drivers/watchdog/wdt_pci.c
index 172dad6..e0fc3baa 100644
--- a/drivers/watchdog/wdt_pci.c
+++ b/drivers/watchdog/wdt_pci.c
@@ -643,7 +643,7 @@ static int __devinit wdtpci_init_one(struct pci_dev *dev,
 	irq = dev->irq;
 	io = pci_resource_start(dev, 2);
 
-	if (request_irq(irq, wdtpci_interrupt, IRQF_DISABLED | IRQF_SHARED,
+	if (request_irq(irq, wdtpci_interrupt, IRQF_SHARED,
 			 "wdt_pci", &wdtpci_miscdev)) {
 		printk(KERN_ERR PFX "IRQ %d is not free\n", irq);
 		goto out_reg;
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 51/57] watchdog: irq: Remove IRQF_DISABLED
@ 2011-09-21  9:28   ` Yong Zhang
  0 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arm-kernel

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Acked-by: Wolfram Sang <w.sang@pengutronix.de>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
---
 drivers/watchdog/coh901327_wdt.c   |    2 +-
 drivers/watchdog/eurotechwdt.c     |    2 +-
 drivers/watchdog/mpcore_wdt.c      |    3 +--
 drivers/watchdog/octeon-wdt-main.c |    2 +-
 drivers/watchdog/sb_wdog.c         |    4 ++--
 drivers/watchdog/wdt.c             |    2 +-
 drivers/watchdog/wdt_pci.c         |    2 +-
 7 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/drivers/watchdog/coh901327_wdt.c b/drivers/watchdog/coh901327_wdt.c
index 9291506..03f449a 100644
--- a/drivers/watchdog/coh901327_wdt.c
+++ b/drivers/watchdog/coh901327_wdt.c
@@ -429,7 +429,7 @@ static int __init coh901327_probe(struct platform_device *pdev)
 	writew(U300_WDOG_SR_RESET_STATUS_RESET, virtbase + U300_WDOG_SR);
 
 	irq = platform_get_irq(pdev, 0);
-	if (request_irq(irq, coh901327_interrupt, IRQF_DISABLED,
+	if (request_irq(irq, coh901327_interrupt, 0,
 			DRV_NAME " Bark", pdev)) {
 		ret = -EIO;
 		goto out_no_irq;
diff --git a/drivers/watchdog/eurotechwdt.c b/drivers/watchdog/eurotechwdt.c
index f1d1da6..41018d4 100644
--- a/drivers/watchdog/eurotechwdt.c
+++ b/drivers/watchdog/eurotechwdt.c
@@ -427,7 +427,7 @@ static int __init eurwdt_init(void)
 {
 	int ret;
 
-	ret = request_irq(irq, eurwdt_interrupt, IRQF_DISABLED, "eurwdt", NULL);
+	ret = request_irq(irq, eurwdt_interrupt, 0, "eurwdt", NULL);
 	if (ret) {
 		printk(KERN_ERR "eurwdt: IRQ %d is not free.\n", irq);
 		goto out;
diff --git a/drivers/watchdog/mpcore_wdt.c b/drivers/watchdog/mpcore_wdt.c
index 4dc3102..82ccd36 100644
--- a/drivers/watchdog/mpcore_wdt.c
+++ b/drivers/watchdog/mpcore_wdt.c
@@ -367,8 +367,7 @@ static int __devinit mpcore_wdt_probe(struct platform_device *dev)
 		goto err_misc;
 	}
 
-	ret = request_irq(wdt->irq, mpcore_wdt_fire, IRQF_DISABLED,
-							"mpcore_wdt", wdt);
+	ret = request_irq(wdt->irq, mpcore_wdt_fire, 0, "mpcore_wdt", wdt);
 	if (ret) {
 		dev_printk(KERN_ERR, wdt->dev,
 			"cannot register IRQ%d for watchdog\n", wdt->irq);
diff --git a/drivers/watchdog/octeon-wdt-main.c b/drivers/watchdog/octeon-wdt-main.c
index 945ee83..6019087 100644
--- a/drivers/watchdog/octeon-wdt-main.c
+++ b/drivers/watchdog/octeon-wdt-main.c
@@ -402,7 +402,7 @@ static void octeon_wdt_setup_interrupt(int cpu)
 	irq = OCTEON_IRQ_WDOG0 + core;
 
 	if (request_irq(irq, octeon_wdt_poke_irq,
-			IRQF_DISABLED, "octeon_wdt", octeon_wdt_poke_irq))
+			0, "octeon_wdt", octeon_wdt_poke_irq))
 		panic("octeon_wdt: Couldn't obtain irq %d", irq);
 
 	cpumask_set_cpu(cpu, &irq_enabled_cpus);
diff --git a/drivers/watchdog/sb_wdog.c b/drivers/watchdog/sb_wdog.c
index f31493e..b01a30e 100644
--- a/drivers/watchdog/sb_wdog.c
+++ b/drivers/watchdog/sb_wdog.c
@@ -300,7 +300,7 @@ static int __init sbwdog_init(void)
 	 * get the resources
 	 */
 
-	ret = request_irq(1, sbwdog_interrupt, IRQF_DISABLED | IRQF_SHARED,
+	ret = request_irq(1, sbwdog_interrupt, IRQF_SHARED,
 		ident.identity, (void *)user_dog);
 	if (ret) {
 		printk(KERN_ERR "%s: failed to request irq 1 - %d\n",
@@ -350,7 +350,7 @@ void platform_wd_setup(void)
 {
 	int ret;
 
-	ret = request_irq(1, sbwdog_interrupt, IRQF_DISABLED | IRQF_SHARED,
+	ret = request_irq(1, sbwdog_interrupt, IRQF_SHARED,
 		"Kernel Watchdog", IOADDR(A_SCD_WDOG_CFG_0));
 	if (ret) {
 		printk(KERN_CRIT
diff --git a/drivers/watchdog/wdt.c b/drivers/watchdog/wdt.c
index bb03e15..d2ef002 100644
--- a/drivers/watchdog/wdt.c
+++ b/drivers/watchdog/wdt.c
@@ -612,7 +612,7 @@ static int __init wdt_init(void)
 		goto out;
 	}
 
-	ret = request_irq(irq, wdt_interrupt, IRQF_DISABLED, "wdt501p", NULL);
+	ret = request_irq(irq, wdt_interrupt, 0, "wdt501p", NULL);
 	if (ret) {
 		printk(KERN_ERR "wdt: IRQ %d is not free.\n", irq);
 		goto outreg;
diff --git a/drivers/watchdog/wdt_pci.c b/drivers/watchdog/wdt_pci.c
index 172dad6..e0fc3baa 100644
--- a/drivers/watchdog/wdt_pci.c
+++ b/drivers/watchdog/wdt_pci.c
@@ -643,7 +643,7 @@ static int __devinit wdtpci_init_one(struct pci_dev *dev,
 	irq = dev->irq;
 	io = pci_resource_start(dev, 2);
 
-	if (request_irq(irq, wdtpci_interrupt, IRQF_DISABLED | IRQF_SHARED,
+	if (request_irq(irq, wdtpci_interrupt, IRQF_SHARED,
 			 "wdt_pci", &wdtpci_miscdev)) {
 		printk(KERN_ERR PFX "IRQ %d is not free\n", irq);
 		goto out_reg;
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 52/57] xen: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
@ 2011-09-21  9:28   ` Yong Zhang
  2011-09-21  9:28 ` [PATCH 02/57] alpha: irq: Remove IRQF_DISABLED Yong Zhang
                     ` (56 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Jeremy Fitzhardinge, Konrad Rzeszutek Wilk,
	xen-devel, virtualization

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 drivers/xen/evtchn.c       |    2 +-
 drivers/xen/platform-pci.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/xen/evtchn.c b/drivers/xen/evtchn.c
index dbc13e9..95e2507 100644
--- a/drivers/xen/evtchn.c
+++ b/drivers/xen/evtchn.c
@@ -265,7 +265,7 @@ static int evtchn_bind_to_user(struct per_user_data *u, int port)
 	set_port_user(port, u);
 	set_port_enabled(port, true); /* start enabled */
 
-	rc = bind_evtchn_to_irqhandler(port, evtchn_interrupt, IRQF_DISABLED,
+	rc = bind_evtchn_to_irqhandler(port, evtchn_interrupt, 0,
 				       u->name, (void *)(unsigned long)port);
 	if (rc >= 0)
 		rc = 0;
diff --git a/drivers/xen/platform-pci.c b/drivers/xen/platform-pci.c
index 319dd0a..482beff 100644
--- a/drivers/xen/platform-pci.c
+++ b/drivers/xen/platform-pci.c
@@ -84,7 +84,7 @@ static irqreturn_t do_hvm_evtchn_intr(int irq, void *dev_id)
 static int xen_allocate_irq(struct pci_dev *pdev)
 {
 	return request_irq(pdev->irq, do_hvm_evtchn_intr,
-			IRQF_DISABLED | IRQF_NOBALANCING | IRQF_TRIGGER_RISING,
+			IRQF_NOBALANCING | IRQF_TRIGGER_RISING,
 			"xen-platform-pci", pdev);
 }
 
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 52/57] xen: irq: Remove IRQF_DISABLED
@ 2011-09-21  9:28   ` Yong Zhang
  0 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: Jeremy Fitzhardinge, Konrad Rzeszutek Wilk, virtualization,
	yong.zhang0, xen-devel, tglx

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 drivers/xen/evtchn.c       |    2 +-
 drivers/xen/platform-pci.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/xen/evtchn.c b/drivers/xen/evtchn.c
index dbc13e9..95e2507 100644
--- a/drivers/xen/evtchn.c
+++ b/drivers/xen/evtchn.c
@@ -265,7 +265,7 @@ static int evtchn_bind_to_user(struct per_user_data *u, int port)
 	set_port_user(port, u);
 	set_port_enabled(port, true); /* start enabled */
 
-	rc = bind_evtchn_to_irqhandler(port, evtchn_interrupt, IRQF_DISABLED,
+	rc = bind_evtchn_to_irqhandler(port, evtchn_interrupt, 0,
 				       u->name, (void *)(unsigned long)port);
 	if (rc >= 0)
 		rc = 0;
diff --git a/drivers/xen/platform-pci.c b/drivers/xen/platform-pci.c
index 319dd0a..482beff 100644
--- a/drivers/xen/platform-pci.c
+++ b/drivers/xen/platform-pci.c
@@ -84,7 +84,7 @@ static irqreturn_t do_hvm_evtchn_intr(int irq, void *dev_id)
 static int xen_allocate_irq(struct pci_dev *pdev)
 {
 	return request_irq(pdev->irq, do_hvm_evtchn_intr,
-			IRQF_DISABLED | IRQF_NOBALANCING | IRQF_TRIGGER_RISING,
+			IRQF_NOBALANCING | IRQF_TRIGGER_RISING,
 			"xen-platform-pci", pdev);
 }
 
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 53/57] sound: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
  2011-09-21  9:28 ` [PATCH 01/57] usb/hcd: Remove tricky code dealing with IRQF_DISABLED && IRQF_SHARED Yong Zhang
@ 2011-09-21  9:28   ` Yong Zhang
  2011-09-21  9:28 ` [PATCH 04/57] avr32: " Yong Zhang
                     ` (55 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: alsa-devel, Kuninori Morimoto, Takashi Iwai, Clemens Ladisch,
	Jaroslav Kysela, Peter Ujfalusi, Paul Gortmaker, Russell King,
	Jassi Brar, Manuel Lauss, Uwe Kleine-König, Axel Lin,
	Liam Girdwood, cbe-oss-dev, Wan ZongShun, Lucas De Marchi,
	yong.zhang0, tglx, linux-arm-kernel, Grant Likely, Eric Miao,
	Geoff Levand, Jiri Kosina

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
 include/sound/initval.h            |    2 +-
 sound/arm/aaci.c                   |    2 +-
 sound/arm/pxa2xx-ac97-lib.c        |    2 +-
 sound/drivers/ml403-ac97cr.c       |    4 ++--
 sound/drivers/mpu401/mpu401_uart.c |    2 +-
 sound/drivers/mtpav.c              |    2 +-
 sound/drivers/serial-u16550.c      |    2 +-
 sound/isa/ad1816a/ad1816a_lib.c    |    2 +-
 sound/isa/es1688/es1688_lib.c      |    2 +-
 sound/isa/es18xx.c                 |    2 +-
 sound/isa/gus/gus_main.c           |    2 +-
 sound/isa/gus/gusmax.c             |    2 +-
 sound/isa/gus/interwave.c          |    2 +-
 sound/isa/opl3sa2.c                |    2 +-
 sound/isa/opti9xx/opti92x-ad1848.c |    2 +-
 sound/isa/sb/sb_common.c           |    2 +-
 sound/isa/wavefront/wavefront.c    |    2 +-
 sound/isa/wss/wss_lib.c            |    2 +-
 sound/mips/au1x00.c                |    4 ++--
 sound/pci/sis7019.c                |    4 ++--
 sound/ppc/snd_ps3.c                |    2 +-
 sound/soc/au1x/dma.c               |    2 +-
 sound/soc/codecs/tlv320dac33.c     |    2 +-
 sound/soc/nuc900/nuc900-pcm.c      |    2 +-
 sound/soc/samsung/ac97.c           |    2 +-
 sound/soc/sh/fsi.c                 |    2 +-
 sound/soc/txx9/txx9aclc-ac97.c     |    2 +-
 sound/sparc/amd7930.c              |    2 +-
 28 files changed, 31 insertions(+), 31 deletions(-)

diff --git a/include/sound/initval.h b/include/sound/initval.h
index 1daa6df..f99a0d2 100644
--- a/include/sound/initval.h
+++ b/include/sound/initval.h
@@ -62,7 +62,7 @@ static int snd_legacy_find_free_irq(int *irq_table)
 {
 	while (*irq_table != -1) {
 		if (!request_irq(*irq_table, snd_legacy_empty_irq_handler,
-				 IRQF_DISABLED | IRQF_PROBE_SHARED, "ALSA Test IRQ",
+				 IRQF_PROBE_SHARED, "ALSA Test IRQ",
 				 (void *) irq_table)) {
 			free_irq(*irq_table, (void *) irq_table);
 			return *irq_table;
diff --git a/sound/arm/aaci.c b/sound/arm/aaci.c
index d0cead3..e518d38 100644
--- a/sound/arm/aaci.c
+++ b/sound/arm/aaci.c
@@ -443,7 +443,7 @@ static int aaci_pcm_open(struct snd_pcm_substream *substream)
 	mutex_lock(&aaci->irq_lock);
 	if (!aaci->users++) {
 		ret = request_irq(aaci->dev->irq[0], aaci_irq,
-			   IRQF_SHARED | IRQF_DISABLED, DRIVER_NAME, aaci);
+			   IRQF_SHARED, DRIVER_NAME, aaci);
 		if (ret != 0)
 			aaci->users--;
 	}
diff --git a/sound/arm/pxa2xx-ac97-lib.c b/sound/arm/pxa2xx-ac97-lib.c
index 88eec38..8ad6535 100644
--- a/sound/arm/pxa2xx-ac97-lib.c
+++ b/sound/arm/pxa2xx-ac97-lib.c
@@ -359,7 +359,7 @@ int __devinit pxa2xx_ac97_hw_probe(struct platform_device *dev)
 	if (ret)
 		goto err_clk2;
 
-	ret = request_irq(IRQ_AC97, pxa2xx_ac97_irq, IRQF_DISABLED, "AC97", NULL);
+	ret = request_irq(IRQ_AC97, pxa2xx_ac97_irq, 0, "AC97", NULL);
 	if (ret < 0)
 		goto err_irq;
 
diff --git a/sound/drivers/ml403-ac97cr.c b/sound/drivers/ml403-ac97cr.c
index 5cfcb90..2c7a763 100644
--- a/sound/drivers/ml403-ac97cr.c
+++ b/sound/drivers/ml403-ac97cr.c
@@ -1153,7 +1153,7 @@ snd_ml403_ac97cr_create(struct snd_card *card, struct platform_device *pfdev,
 		   "0x%x done\n", (unsigned int)ml403_ac97cr->port);
 	/* get irq */
 	irq = platform_get_irq(pfdev, 0);
-	if (request_irq(irq, snd_ml403_ac97cr_irq, IRQF_DISABLED,
+	if (request_irq(irq, snd_ml403_ac97cr_irq, 0,
 			dev_name(&pfdev->dev), (void *)ml403_ac97cr)) {
 		snd_printk(KERN_ERR SND_ML403_AC97CR_DRIVER ": "
 			   "unable to grab IRQ %d\n",
@@ -1166,7 +1166,7 @@ snd_ml403_ac97cr_create(struct snd_card *card, struct platform_device *pfdev,
 		   "request (playback) irq %d done\n",
 		   ml403_ac97cr->irq);
 	irq = platform_get_irq(pfdev, 1);
-	if (request_irq(irq, snd_ml403_ac97cr_irq, IRQF_DISABLED,
+	if (request_irq(irq, snd_ml403_ac97cr_irq, 0,
 			dev_name(&pfdev->dev), (void *)ml403_ac97cr)) {
 		snd_printk(KERN_ERR SND_ML403_AC97CR_DRIVER ": "
 			   "unable to grab IRQ %d\n",
diff --git a/sound/drivers/mpu401/mpu401_uart.c b/sound/drivers/mpu401/mpu401_uart.c
index 34df505..1cff331 100644
--- a/sound/drivers/mpu401/mpu401_uart.c
+++ b/sound/drivers/mpu401/mpu401_uart.c
@@ -578,7 +578,7 @@ int snd_mpu401_uart_new(struct snd_card *card, int device,
 	else
 		mpu->cport = port + 1;
 	if (irq >= 0) {
-		if (request_irq(irq, snd_mpu401_uart_interrupt, IRQF_DISABLED,
+		if (request_irq(irq, snd_mpu401_uart_interrupt, 0,
 				"MPU401 UART", (void *) mpu)) {
 			snd_printk(KERN_ERR "mpu401_uart: "
 				   "unable to grab IRQ %d\n", irq);
diff --git a/sound/drivers/mtpav.c b/sound/drivers/mtpav.c
index f50021c..7693079 100644
--- a/sound/drivers/mtpav.c
+++ b/sound/drivers/mtpav.c
@@ -590,7 +590,7 @@ static int __devinit snd_mtpav_get_ISA(struct mtpav * mcard)
 		return -EBUSY;
 	}
 	mcard->port = port;
-	if (request_irq(irq, snd_mtpav_irqh, IRQF_DISABLED, "MOTU MTPAV", mcard)) {
+	if (request_irq(irq, snd_mtpav_irqh, 0, "MOTU MTPAV", mcard)) {
 		snd_printk(KERN_ERR "MTVAP IRQ %d busy\n", irq);
 		return -EBUSY;
 	}
diff --git a/sound/drivers/serial-u16550.c b/sound/drivers/serial-u16550.c
index 6c5bf58..85aad43 100644
--- a/sound/drivers/serial-u16550.c
+++ b/sound/drivers/serial-u16550.c
@@ -816,7 +816,7 @@ static int __devinit snd_uart16550_create(struct snd_card *card,
 
 	if (irq >= 0 && irq != SNDRV_AUTO_IRQ) {
 		if (request_irq(irq, snd_uart16550_interrupt,
-				IRQF_DISABLED, "Serial MIDI", uart)) {
+				0, "Serial MIDI", uart)) {
 			snd_printk(KERN_WARNING
 				   "irq %d busy. Using Polling.\n", irq);
 		} else {
diff --git a/sound/isa/ad1816a/ad1816a_lib.c b/sound/isa/ad1816a/ad1816a_lib.c
index 05aef8b..177eed3 100644
--- a/sound/isa/ad1816a/ad1816a_lib.c
+++ b/sound/isa/ad1816a/ad1816a_lib.c
@@ -595,7 +595,7 @@ int __devinit snd_ad1816a_create(struct snd_card *card,
 		snd_ad1816a_free(chip);
 		return -EBUSY;
 	}
-	if (request_irq(irq, snd_ad1816a_interrupt, IRQF_DISABLED, "AD1816A", (void *) chip)) {
+	if (request_irq(irq, snd_ad1816a_interrupt, 0, "AD1816A", (void *) chip)) {
 		snd_printk(KERN_ERR "ad1816a: can't grab IRQ %d\n", irq);
 		snd_ad1816a_free(chip);
 		return -EBUSY;
diff --git a/sound/isa/es1688/es1688_lib.c b/sound/isa/es1688/es1688_lib.c
index 0767620..d3eab6f 100644
--- a/sound/isa/es1688/es1688_lib.c
+++ b/sound/isa/es1688/es1688_lib.c
@@ -661,7 +661,7 @@ int snd_es1688_create(struct snd_card *card,
 		snd_printk(KERN_ERR "es1688: can't grab port 0x%lx\n", port + 4);
 		return -EBUSY;
 	}
-	if (request_irq(irq, snd_es1688_interrupt, IRQF_DISABLED, "ES1688", (void *) chip)) {
+	if (request_irq(irq, snd_es1688_interrupt, 0, "ES1688", (void *) chip)) {
 		snd_printk(KERN_ERR "es1688: can't grab IRQ %d\n", irq);
 		return -EBUSY;
 	}
diff --git a/sound/isa/es18xx.c b/sound/isa/es18xx.c
index aeee8f8..bf6ad0b 100644
--- a/sound/isa/es18xx.c
+++ b/sound/isa/es18xx.c
@@ -1805,7 +1805,7 @@ static int __devinit snd_es18xx_new_device(struct snd_card *card,
 		return -EBUSY;
 	}
 
-	if (request_irq(irq, snd_es18xx_interrupt, IRQF_DISABLED, "ES18xx",
+	if (request_irq(irq, snd_es18xx_interrupt, 0, "ES18xx",
 			(void *) card)) {
 		snd_es18xx_free(card);
 		snd_printk(KERN_ERR PFX "unable to grap IRQ %d\n", irq);
diff --git a/sound/isa/gus/gus_main.c b/sound/isa/gus/gus_main.c
index 12eb98f..3167e5a 100644
--- a/sound/isa/gus/gus_main.c
+++ b/sound/isa/gus/gus_main.c
@@ -180,7 +180,7 @@ int snd_gus_create(struct snd_card *card,
 		snd_gus_free(gus);
 		return -EBUSY;
 	}
-	if (irq >= 0 && request_irq(irq, snd_gus_interrupt, IRQF_DISABLED, "GUS GF1", (void *) gus)) {
+	if (irq >= 0 && request_irq(irq, snd_gus_interrupt, 0, "GUS GF1", (void *) gus)) {
 		snd_printk(KERN_ERR "gus: can't grab irq %d\n", irq);
 		snd_gus_free(gus);
 		return -EBUSY;
diff --git a/sound/isa/gus/gusmax.c b/sound/isa/gus/gusmax.c
index 3e4a58b..c43faa0 100644
--- a/sound/isa/gus/gusmax.c
+++ b/sound/isa/gus/gusmax.c
@@ -291,7 +291,7 @@ static int __devinit snd_gusmax_probe(struct device *pdev, unsigned int dev)
 		goto _err;
 	}
 
-	if (request_irq(xirq, snd_gusmax_interrupt, IRQF_DISABLED, "GUS MAX", (void *)maxcard)) {
+	if (request_irq(xirq, snd_gusmax_interrupt, 0, "GUS MAX", (void *)maxcard)) {
 		snd_printk(KERN_ERR PFX "unable to grab IRQ %d\n", xirq);
 		err = -EBUSY;
 		goto _err;
diff --git a/sound/isa/gus/interwave.c b/sound/isa/gus/interwave.c
index c7b80e4..5f869a3 100644
--- a/sound/isa/gus/interwave.c
+++ b/sound/isa/gus/interwave.c
@@ -684,7 +684,7 @@ static int __devinit snd_interwave_probe(struct snd_card *card, int dev)
 	if ((err = snd_gus_initialize(gus)) < 0)
 		return err;
 
-	if (request_irq(xirq, snd_interwave_interrupt, IRQF_DISABLED,
+	if (request_irq(xirq, snd_interwave_interrupt, 0,
 			"InterWave", iwcard)) {
 		snd_printk(KERN_ERR PFX "unable to grab IRQ %d\n", xirq);
 		return -EBUSY;
diff --git a/sound/isa/opl3sa2.c b/sound/isa/opl3sa2.c
index de99f47..bbafb0b 100644
--- a/sound/isa/opl3sa2.c
+++ b/sound/isa/opl3sa2.c
@@ -667,7 +667,7 @@ static int __devinit snd_opl3sa2_probe(struct snd_card *card, int dev)
 	err = snd_opl3sa2_detect(card);
 	if (err < 0)
 		return err;
-	err = request_irq(xirq, snd_opl3sa2_interrupt, IRQF_DISABLED,
+	err = request_irq(xirq, snd_opl3sa2_interrupt, 0,
 			  "OPL3-SA2", card);
 	if (err) {
 		snd_printk(KERN_ERR PFX "can't grab IRQ %d\n", xirq);
diff --git a/sound/isa/opti9xx/opti92x-ad1848.c b/sound/isa/opti9xx/opti92x-ad1848.c
index 346e12b..6dbbfa7 100644
--- a/sound/isa/opti9xx/opti92x-ad1848.c
+++ b/sound/isa/opti9xx/opti92x-ad1848.c
@@ -892,7 +892,7 @@ static int __devinit snd_opti9xx_probe(struct snd_card *card)
 #endif
 #ifdef OPTi93X
 	error = request_irq(irq, snd_opti93x_interrupt,
-			    IRQF_DISABLED, DEV_NAME" - WSS", chip);
+			    0, DEV_NAME" - WSS", chip);
 	if (error < 0) {
 		snd_printk(KERN_ERR "opti9xx: can't grab IRQ %d\n", irq);
 		return error;
diff --git a/sound/isa/sb/sb_common.c b/sound/isa/sb/sb_common.c
index eae6c1c..d2e1921 100644
--- a/sound/isa/sb/sb_common.c
+++ b/sound/isa/sb/sb_common.c
@@ -240,7 +240,7 @@ int snd_sbdsp_create(struct snd_card *card,
 	if (request_irq(irq, irq_handler,
 			(hardware == SB_HW_ALS4000 ||
 			 hardware == SB_HW_CS5530) ?
-			IRQF_SHARED : IRQF_DISABLED,
+			IRQF_SHARED : 0,
 			"SoundBlaster", (void *) chip)) {
 		snd_printk(KERN_ERR "sb: can't grab irq %d\n", irq);
 		snd_sbdsp_free(chip);
diff --git a/sound/isa/wavefront/wavefront.c b/sound/isa/wavefront/wavefront.c
index 83f291d..8714297 100644
--- a/sound/isa/wavefront/wavefront.c
+++ b/sound/isa/wavefront/wavefront.c
@@ -418,7 +418,7 @@ snd_wavefront_probe (struct snd_card *card, int dev)
 		return -EBUSY;
 	}
 	if (request_irq(ics2115_irq[dev], snd_wavefront_ics2115_interrupt,
-			IRQF_DISABLED, "ICS2115", acard)) {
+			0, "ICS2115", acard)) {
 		snd_printk(KERN_ERR "unable to use ICS2115 IRQ %d\n", ics2115_irq[dev]);
 		return -EBUSY;
 	}
diff --git a/sound/isa/wss/wss_lib.c b/sound/isa/wss/wss_lib.c
index 2a42cc3..7277c5b 100644
--- a/sound/isa/wss/wss_lib.c
+++ b/sound/isa/wss/wss_lib.c
@@ -1833,7 +1833,7 @@ int snd_wss_create(struct snd_card *card,
 	}
 	chip->cport = cport;
 	if (!(hwshare & WSS_HWSHARE_IRQ))
-		if (request_irq(irq, snd_wss_interrupt, IRQF_DISABLED,
+		if (request_irq(irq, snd_wss_interrupt, 0,
 				"WSS", (void *) chip)) {
 			snd_printk(KERN_ERR "wss: can't grab IRQ %d\n", irq);
 			snd_wss_free(chip);
diff --git a/sound/mips/au1x00.c b/sound/mips/au1x00.c
index 446cf97..7567ebd 100644
--- a/sound/mips/au1x00.c
+++ b/sound/mips/au1x00.c
@@ -465,13 +465,13 @@ snd_au1000_pcm_new(struct snd_au1000 *au1000)
 
 	flags = claim_dma_lock();
 	if ((au1000->stream[PLAYBACK]->dma = request_au1000_dma(DMA_ID_AC97C_TX,
-			"AC97 TX", au1000_dma_interrupt, IRQF_DISABLED,
+			"AC97 TX", au1000_dma_interrupt, 0,
 			au1000->stream[PLAYBACK])) < 0) {
 		release_dma_lock(flags);
 		return -EBUSY;
 	}
 	if ((au1000->stream[CAPTURE]->dma = request_au1000_dma(DMA_ID_AC97C_RX,
-			"AC97 RX", au1000_dma_interrupt, IRQF_DISABLED,
+			"AC97 RX", au1000_dma_interrupt, 0,
 			au1000->stream[CAPTURE])) < 0){
 		release_dma_lock(flags);
 		return -EBUSY;
diff --git a/sound/pci/sis7019.c b/sound/pci/sis7019.c
index bcf6152..5ffb20b 100644
--- a/sound/pci/sis7019.c
+++ b/sound/pci/sis7019.c
@@ -1234,7 +1234,7 @@ static int sis_resume(struct pci_dev *pci)
 		goto error;
 	}
 
-	if (request_irq(pci->irq, sis_interrupt, IRQF_DISABLED|IRQF_SHARED,
+	if (request_irq(pci->irq, sis_interrupt, IRQF_SHARED,
 			KBUILD_MODNAME, sis)) {
 		printk(KERN_ERR "sis7019: unable to regain IRQ %d\n", pci->irq);
 		goto error;
@@ -1340,7 +1340,7 @@ static int __devinit sis_chip_create(struct snd_card *card,
 	if (rc)
 		goto error_out_cleanup;
 
-	if (request_irq(pci->irq, sis_interrupt, IRQF_DISABLED|IRQF_SHARED,
+	if (request_irq(pci->irq, sis_interrupt, IRQF_SHARED,
 			KBUILD_MODNAME, sis)) {
 		printk(KERN_ERR "unable to allocate irq %d\n", sis->irq);
 		goto error_out_cleanup;
diff --git a/sound/ppc/snd_ps3.c b/sound/ppc/snd_ps3.c
index bc823a5..775bd95 100644
--- a/sound/ppc/snd_ps3.c
+++ b/sound/ppc/snd_ps3.c
@@ -845,7 +845,7 @@ static int __devinit snd_ps3_allocate_irq(void)
 		return ret;
 	}
 
-	ret = request_irq(the_card.irq_no, snd_ps3_interrupt, IRQF_DISABLED,
+	ret = request_irq(the_card.irq_no, snd_ps3_interrupt, 0,
 			  SND_PS3_DRIVER_NAME, &the_card);
 	if (ret) {
 		pr_info("%s: request_irq failed (%d)\n", __func__, ret);
diff --git a/sound/soc/au1x/dma.c b/sound/soc/au1x/dma.c
index 7aa5b76..177f713 100644
--- a/sound/soc/au1x/dma.c
+++ b/sound/soc/au1x/dma.c
@@ -211,7 +211,7 @@ static int alchemy_pcm_open(struct snd_pcm_substream *substream)
 	/* DMA setup */
 	name = (s == SNDRV_PCM_STREAM_PLAYBACK) ? "audio-tx" : "audio-rx";
 	ctx->stream[s].dma = request_au1000_dma(dmaids[s], name,
-					au1000_dma_interrupt, IRQF_DISABLED,
+					au1000_dma_interrupt, 0,
 					&ctx->stream[s]);
 	set_dma_mode(ctx->stream[s].dma,
 		     get_dma_mode(ctx->stream[s].dma) & ~DMA_NC);
diff --git a/sound/soc/codecs/tlv320dac33.c b/sound/soc/codecs/tlv320dac33.c
index faa5e9f..243d177 100644
--- a/sound/soc/codecs/tlv320dac33.c
+++ b/sound/soc/codecs/tlv320dac33.c
@@ -1431,7 +1431,7 @@ static int dac33_soc_probe(struct snd_soc_codec *codec)
 	/* Check if the IRQ number is valid and request it */
 	if (dac33->irq >= 0) {
 		ret = request_irq(dac33->irq, dac33_interrupt_handler,
-				  IRQF_TRIGGER_RISING | IRQF_DISABLED,
+				  IRQF_TRIGGER_RISING,
 				  codec->name, codec);
 		if (ret < 0) {
 			dev_err(codec->dev, "Could not request IRQ%d (%d)\n",
diff --git a/sound/soc/nuc900/nuc900-pcm.c b/sound/soc/nuc900/nuc900-pcm.c
index e46d551..865b288 100644
--- a/sound/soc/nuc900/nuc900-pcm.c
+++ b/sound/soc/nuc900/nuc900-pcm.c
@@ -268,7 +268,7 @@ static int nuc900_dma_open(struct snd_pcm_substream *substream)
 	nuc900_audio = nuc900_ac97_data;
 
 	if (request_irq(nuc900_audio->irq_num, nuc900_dma_interrupt,
-			IRQF_DISABLED, "nuc900-dma", substream))
+			0, "nuc900-dma", substream))
 		return -EBUSY;
 
 	runtime->private_data = nuc900_audio;
diff --git a/sound/soc/samsung/ac97.c b/sound/soc/samsung/ac97.c
index b4f9b00..41b387b 100644
--- a/sound/soc/samsung/ac97.c
+++ b/sound/soc/samsung/ac97.c
@@ -450,7 +450,7 @@ static __devinit int s3c_ac97_probe(struct platform_device *pdev)
 	}
 
 	ret = request_irq(irq_res->start, s3c_ac97_irq,
-					IRQF_DISABLED, "AC97", NULL);
+					0, "AC97", NULL);
 	if (ret < 0) {
 		dev_err(&pdev->dev, "ac97: interrupt request failed.\n");
 		goto err4;
diff --git a/sound/soc/sh/fsi.c b/sound/soc/sh/fsi.c
index 8e112cc..1493ebf 100644
--- a/sound/soc/sh/fsi.c
+++ b/sound/soc/sh/fsi.c
@@ -1285,7 +1285,7 @@ static int fsi_probe(struct platform_device *pdev)
 	pm_runtime_enable(&pdev->dev);
 	dev_set_drvdata(&pdev->dev, master);
 
-	ret = request_irq(irq, &fsi_interrupt, IRQF_DISABLED,
+	ret = request_irq(irq, &fsi_interrupt, 0,
 			  id_entry->name, master);
 	if (ret) {
 		dev_err(&pdev->dev, "irq request err\n");
diff --git a/sound/soc/txx9/txx9aclc-ac97.c b/sound/soc/txx9/txx9aclc-ac97.c
index 743d07b..a4e3f55 100644
--- a/sound/soc/txx9/txx9aclc-ac97.c
+++ b/sound/soc/txx9/txx9aclc-ac97.c
@@ -201,7 +201,7 @@ static int __devinit txx9aclc_ac97_dev_probe(struct platform_device *pdev)
 	if (!drvdata->base)
 		return -EBUSY;
 	err = devm_request_irq(&pdev->dev, irq, txx9aclc_ac97_irq,
-			       IRQF_DISABLED, dev_name(&pdev->dev), drvdata);
+			       0, dev_name(&pdev->dev), drvdata);
 	if (err < 0)
 		return err;
 
diff --git a/sound/sparc/amd7930.c b/sound/sparc/amd7930.c
index ad7d4d7..f036776 100644
--- a/sound/sparc/amd7930.c
+++ b/sound/sparc/amd7930.c
@@ -962,7 +962,7 @@ static int __devinit snd_amd7930_create(struct snd_card *card,
 	amd7930_idle(amd);
 
 	if (request_irq(irq, snd_amd7930_interrupt,
-			IRQF_DISABLED | IRQF_SHARED, "amd7930", amd)) {
+			IRQF_SHARED, "amd7930", amd)) {
 		snd_printk(KERN_ERR "amd7930-%d: Unable to grab IRQ %d\n",
 			   dev, irq);
 		snd_amd7930_free(amd);
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 53/57] sound: irq: Remove IRQF_DISABLED
@ 2011-09-21  9:28   ` Yong Zhang
  0 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: alsa-devel, Kuninori Morimoto, Takashi Iwai, Clemens Ladisch,
	Jaroslav Kysela, Peter Ujfalusi, Paul Gortmaker, Russell King,
	Jassi Brar, Manuel Lauss, Uwe Kleine-König, Axel Lin,
	Liam Girdwood, cbe-oss-dev, Wan ZongShun, Lucas De Marchi,
	yong.zhang0, tglx, linux-arm-kernel, Eric Miao, Geoff Levand,
	Jiri Kosina, Mark Brown, Sangbeom Kim, Paul Mundt, Simon Horman,
	Joe Perches, Jarkko Nikula, linuxppc-dev

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
 include/sound/initval.h            |    2 +-
 sound/arm/aaci.c                   |    2 +-
 sound/arm/pxa2xx-ac97-lib.c        |    2 +-
 sound/drivers/ml403-ac97cr.c       |    4 ++--
 sound/drivers/mpu401/mpu401_uart.c |    2 +-
 sound/drivers/mtpav.c              |    2 +-
 sound/drivers/serial-u16550.c      |    2 +-
 sound/isa/ad1816a/ad1816a_lib.c    |    2 +-
 sound/isa/es1688/es1688_lib.c      |    2 +-
 sound/isa/es18xx.c                 |    2 +-
 sound/isa/gus/gus_main.c           |    2 +-
 sound/isa/gus/gusmax.c             |    2 +-
 sound/isa/gus/interwave.c          |    2 +-
 sound/isa/opl3sa2.c                |    2 +-
 sound/isa/opti9xx/opti92x-ad1848.c |    2 +-
 sound/isa/sb/sb_common.c           |    2 +-
 sound/isa/wavefront/wavefront.c    |    2 +-
 sound/isa/wss/wss_lib.c            |    2 +-
 sound/mips/au1x00.c                |    4 ++--
 sound/pci/sis7019.c                |    4 ++--
 sound/ppc/snd_ps3.c                |    2 +-
 sound/soc/au1x/dma.c               |    2 +-
 sound/soc/codecs/tlv320dac33.c     |    2 +-
 sound/soc/nuc900/nuc900-pcm.c      |    2 +-
 sound/soc/samsung/ac97.c           |    2 +-
 sound/soc/sh/fsi.c                 |    2 +-
 sound/soc/txx9/txx9aclc-ac97.c     |    2 +-
 sound/sparc/amd7930.c              |    2 +-
 28 files changed, 31 insertions(+), 31 deletions(-)

diff --git a/include/sound/initval.h b/include/sound/initval.h
index 1daa6df..f99a0d2 100644
--- a/include/sound/initval.h
+++ b/include/sound/initval.h
@@ -62,7 +62,7 @@ static int snd_legacy_find_free_irq(int *irq_table)
 {
 	while (*irq_table != -1) {
 		if (!request_irq(*irq_table, snd_legacy_empty_irq_handler,
-				 IRQF_DISABLED | IRQF_PROBE_SHARED, "ALSA Test IRQ",
+				 IRQF_PROBE_SHARED, "ALSA Test IRQ",
 				 (void *) irq_table)) {
 			free_irq(*irq_table, (void *) irq_table);
 			return *irq_table;
diff --git a/sound/arm/aaci.c b/sound/arm/aaci.c
index d0cead3..e518d38 100644
--- a/sound/arm/aaci.c
+++ b/sound/arm/aaci.c
@@ -443,7 +443,7 @@ static int aaci_pcm_open(struct snd_pcm_substream *substream)
 	mutex_lock(&aaci->irq_lock);
 	if (!aaci->users++) {
 		ret = request_irq(aaci->dev->irq[0], aaci_irq,
-			   IRQF_SHARED | IRQF_DISABLED, DRIVER_NAME, aaci);
+			   IRQF_SHARED, DRIVER_NAME, aaci);
 		if (ret != 0)
 			aaci->users--;
 	}
diff --git a/sound/arm/pxa2xx-ac97-lib.c b/sound/arm/pxa2xx-ac97-lib.c
index 88eec38..8ad6535 100644
--- a/sound/arm/pxa2xx-ac97-lib.c
+++ b/sound/arm/pxa2xx-ac97-lib.c
@@ -359,7 +359,7 @@ int __devinit pxa2xx_ac97_hw_probe(struct platform_device *dev)
 	if (ret)
 		goto err_clk2;
 
-	ret = request_irq(IRQ_AC97, pxa2xx_ac97_irq, IRQF_DISABLED, "AC97", NULL);
+	ret = request_irq(IRQ_AC97, pxa2xx_ac97_irq, 0, "AC97", NULL);
 	if (ret < 0)
 		goto err_irq;
 
diff --git a/sound/drivers/ml403-ac97cr.c b/sound/drivers/ml403-ac97cr.c
index 5cfcb90..2c7a763 100644
--- a/sound/drivers/ml403-ac97cr.c
+++ b/sound/drivers/ml403-ac97cr.c
@@ -1153,7 +1153,7 @@ snd_ml403_ac97cr_create(struct snd_card *card, struct platform_device *pfdev,
 		   "0x%x done\n", (unsigned int)ml403_ac97cr->port);
 	/* get irq */
 	irq = platform_get_irq(pfdev, 0);
-	if (request_irq(irq, snd_ml403_ac97cr_irq, IRQF_DISABLED,
+	if (request_irq(irq, snd_ml403_ac97cr_irq, 0,
 			dev_name(&pfdev->dev), (void *)ml403_ac97cr)) {
 		snd_printk(KERN_ERR SND_ML403_AC97CR_DRIVER ": "
 			   "unable to grab IRQ %d\n",
@@ -1166,7 +1166,7 @@ snd_ml403_ac97cr_create(struct snd_card *card, struct platform_device *pfdev,
 		   "request (playback) irq %d done\n",
 		   ml403_ac97cr->irq);
 	irq = platform_get_irq(pfdev, 1);
-	if (request_irq(irq, snd_ml403_ac97cr_irq, IRQF_DISABLED,
+	if (request_irq(irq, snd_ml403_ac97cr_irq, 0,
 			dev_name(&pfdev->dev), (void *)ml403_ac97cr)) {
 		snd_printk(KERN_ERR SND_ML403_AC97CR_DRIVER ": "
 			   "unable to grab IRQ %d\n",
diff --git a/sound/drivers/mpu401/mpu401_uart.c b/sound/drivers/mpu401/mpu401_uart.c
index 34df505..1cff331 100644
--- a/sound/drivers/mpu401/mpu401_uart.c
+++ b/sound/drivers/mpu401/mpu401_uart.c
@@ -578,7 +578,7 @@ int snd_mpu401_uart_new(struct snd_card *card, int device,
 	else
 		mpu->cport = port + 1;
 	if (irq >= 0) {
-		if (request_irq(irq, snd_mpu401_uart_interrupt, IRQF_DISABLED,
+		if (request_irq(irq, snd_mpu401_uart_interrupt, 0,
 				"MPU401 UART", (void *) mpu)) {
 			snd_printk(KERN_ERR "mpu401_uart: "
 				   "unable to grab IRQ %d\n", irq);
diff --git a/sound/drivers/mtpav.c b/sound/drivers/mtpav.c
index f50021c..7693079 100644
--- a/sound/drivers/mtpav.c
+++ b/sound/drivers/mtpav.c
@@ -590,7 +590,7 @@ static int __devinit snd_mtpav_get_ISA(struct mtpav * mcard)
 		return -EBUSY;
 	}
 	mcard->port = port;
-	if (request_irq(irq, snd_mtpav_irqh, IRQF_DISABLED, "MOTU MTPAV", mcard)) {
+	if (request_irq(irq, snd_mtpav_irqh, 0, "MOTU MTPAV", mcard)) {
 		snd_printk(KERN_ERR "MTVAP IRQ %d busy\n", irq);
 		return -EBUSY;
 	}
diff --git a/sound/drivers/serial-u16550.c b/sound/drivers/serial-u16550.c
index 6c5bf58..85aad43 100644
--- a/sound/drivers/serial-u16550.c
+++ b/sound/drivers/serial-u16550.c
@@ -816,7 +816,7 @@ static int __devinit snd_uart16550_create(struct snd_card *card,
 
 	if (irq >= 0 && irq != SNDRV_AUTO_IRQ) {
 		if (request_irq(irq, snd_uart16550_interrupt,
-				IRQF_DISABLED, "Serial MIDI", uart)) {
+				0, "Serial MIDI", uart)) {
 			snd_printk(KERN_WARNING
 				   "irq %d busy. Using Polling.\n", irq);
 		} else {
diff --git a/sound/isa/ad1816a/ad1816a_lib.c b/sound/isa/ad1816a/ad1816a_lib.c
index 05aef8b..177eed3 100644
--- a/sound/isa/ad1816a/ad1816a_lib.c
+++ b/sound/isa/ad1816a/ad1816a_lib.c
@@ -595,7 +595,7 @@ int __devinit snd_ad1816a_create(struct snd_card *card,
 		snd_ad1816a_free(chip);
 		return -EBUSY;
 	}
-	if (request_irq(irq, snd_ad1816a_interrupt, IRQF_DISABLED, "AD1816A", (void *) chip)) {
+	if (request_irq(irq, snd_ad1816a_interrupt, 0, "AD1816A", (void *) chip)) {
 		snd_printk(KERN_ERR "ad1816a: can't grab IRQ %d\n", irq);
 		snd_ad1816a_free(chip);
 		return -EBUSY;
diff --git a/sound/isa/es1688/es1688_lib.c b/sound/isa/es1688/es1688_lib.c
index 0767620..d3eab6f 100644
--- a/sound/isa/es1688/es1688_lib.c
+++ b/sound/isa/es1688/es1688_lib.c
@@ -661,7 +661,7 @@ int snd_es1688_create(struct snd_card *card,
 		snd_printk(KERN_ERR "es1688: can't grab port 0x%lx\n", port + 4);
 		return -EBUSY;
 	}
-	if (request_irq(irq, snd_es1688_interrupt, IRQF_DISABLED, "ES1688", (void *) chip)) {
+	if (request_irq(irq, snd_es1688_interrupt, 0, "ES1688", (void *) chip)) {
 		snd_printk(KERN_ERR "es1688: can't grab IRQ %d\n", irq);
 		return -EBUSY;
 	}
diff --git a/sound/isa/es18xx.c b/sound/isa/es18xx.c
index aeee8f8..bf6ad0b 100644
--- a/sound/isa/es18xx.c
+++ b/sound/isa/es18xx.c
@@ -1805,7 +1805,7 @@ static int __devinit snd_es18xx_new_device(struct snd_card *card,
 		return -EBUSY;
 	}
 
-	if (request_irq(irq, snd_es18xx_interrupt, IRQF_DISABLED, "ES18xx",
+	if (request_irq(irq, snd_es18xx_interrupt, 0, "ES18xx",
 			(void *) card)) {
 		snd_es18xx_free(card);
 		snd_printk(KERN_ERR PFX "unable to grap IRQ %d\n", irq);
diff --git a/sound/isa/gus/gus_main.c b/sound/isa/gus/gus_main.c
index 12eb98f..3167e5a 100644
--- a/sound/isa/gus/gus_main.c
+++ b/sound/isa/gus/gus_main.c
@@ -180,7 +180,7 @@ int snd_gus_create(struct snd_card *card,
 		snd_gus_free(gus);
 		return -EBUSY;
 	}
-	if (irq >= 0 && request_irq(irq, snd_gus_interrupt, IRQF_DISABLED, "GUS GF1", (void *) gus)) {
+	if (irq >= 0 && request_irq(irq, snd_gus_interrupt, 0, "GUS GF1", (void *) gus)) {
 		snd_printk(KERN_ERR "gus: can't grab irq %d\n", irq);
 		snd_gus_free(gus);
 		return -EBUSY;
diff --git a/sound/isa/gus/gusmax.c b/sound/isa/gus/gusmax.c
index 3e4a58b..c43faa0 100644
--- a/sound/isa/gus/gusmax.c
+++ b/sound/isa/gus/gusmax.c
@@ -291,7 +291,7 @@ static int __devinit snd_gusmax_probe(struct device *pdev, unsigned int dev)
 		goto _err;
 	}
 
-	if (request_irq(xirq, snd_gusmax_interrupt, IRQF_DISABLED, "GUS MAX", (void *)maxcard)) {
+	if (request_irq(xirq, snd_gusmax_interrupt, 0, "GUS MAX", (void *)maxcard)) {
 		snd_printk(KERN_ERR PFX "unable to grab IRQ %d\n", xirq);
 		err = -EBUSY;
 		goto _err;
diff --git a/sound/isa/gus/interwave.c b/sound/isa/gus/interwave.c
index c7b80e4..5f869a3 100644
--- a/sound/isa/gus/interwave.c
+++ b/sound/isa/gus/interwave.c
@@ -684,7 +684,7 @@ static int __devinit snd_interwave_probe(struct snd_card *card, int dev)
 	if ((err = snd_gus_initialize(gus)) < 0)
 		return err;
 
-	if (request_irq(xirq, snd_interwave_interrupt, IRQF_DISABLED,
+	if (request_irq(xirq, snd_interwave_interrupt, 0,
 			"InterWave", iwcard)) {
 		snd_printk(KERN_ERR PFX "unable to grab IRQ %d\n", xirq);
 		return -EBUSY;
diff --git a/sound/isa/opl3sa2.c b/sound/isa/opl3sa2.c
index de99f47..bbafb0b 100644
--- a/sound/isa/opl3sa2.c
+++ b/sound/isa/opl3sa2.c
@@ -667,7 +667,7 @@ static int __devinit snd_opl3sa2_probe(struct snd_card *card, int dev)
 	err = snd_opl3sa2_detect(card);
 	if (err < 0)
 		return err;
-	err = request_irq(xirq, snd_opl3sa2_interrupt, IRQF_DISABLED,
+	err = request_irq(xirq, snd_opl3sa2_interrupt, 0,
 			  "OPL3-SA2", card);
 	if (err) {
 		snd_printk(KERN_ERR PFX "can't grab IRQ %d\n", xirq);
diff --git a/sound/isa/opti9xx/opti92x-ad1848.c b/sound/isa/opti9xx/opti92x-ad1848.c
index 346e12b..6dbbfa7 100644
--- a/sound/isa/opti9xx/opti92x-ad1848.c
+++ b/sound/isa/opti9xx/opti92x-ad1848.c
@@ -892,7 +892,7 @@ static int __devinit snd_opti9xx_probe(struct snd_card *card)
 #endif
 #ifdef OPTi93X
 	error = request_irq(irq, snd_opti93x_interrupt,
-			    IRQF_DISABLED, DEV_NAME" - WSS", chip);
+			    0, DEV_NAME" - WSS", chip);
 	if (error < 0) {
 		snd_printk(KERN_ERR "opti9xx: can't grab IRQ %d\n", irq);
 		return error;
diff --git a/sound/isa/sb/sb_common.c b/sound/isa/sb/sb_common.c
index eae6c1c..d2e1921 100644
--- a/sound/isa/sb/sb_common.c
+++ b/sound/isa/sb/sb_common.c
@@ -240,7 +240,7 @@ int snd_sbdsp_create(struct snd_card *card,
 	if (request_irq(irq, irq_handler,
 			(hardware == SB_HW_ALS4000 ||
 			 hardware == SB_HW_CS5530) ?
-			IRQF_SHARED : IRQF_DISABLED,
+			IRQF_SHARED : 0,
 			"SoundBlaster", (void *) chip)) {
 		snd_printk(KERN_ERR "sb: can't grab irq %d\n", irq);
 		snd_sbdsp_free(chip);
diff --git a/sound/isa/wavefront/wavefront.c b/sound/isa/wavefront/wavefront.c
index 83f291d..8714297 100644
--- a/sound/isa/wavefront/wavefront.c
+++ b/sound/isa/wavefront/wavefront.c
@@ -418,7 +418,7 @@ snd_wavefront_probe (struct snd_card *card, int dev)
 		return -EBUSY;
 	}
 	if (request_irq(ics2115_irq[dev], snd_wavefront_ics2115_interrupt,
-			IRQF_DISABLED, "ICS2115", acard)) {
+			0, "ICS2115", acard)) {
 		snd_printk(KERN_ERR "unable to use ICS2115 IRQ %d\n", ics2115_irq[dev]);
 		return -EBUSY;
 	}
diff --git a/sound/isa/wss/wss_lib.c b/sound/isa/wss/wss_lib.c
index 2a42cc3..7277c5b 100644
--- a/sound/isa/wss/wss_lib.c
+++ b/sound/isa/wss/wss_lib.c
@@ -1833,7 +1833,7 @@ int snd_wss_create(struct snd_card *card,
 	}
 	chip->cport = cport;
 	if (!(hwshare & WSS_HWSHARE_IRQ))
-		if (request_irq(irq, snd_wss_interrupt, IRQF_DISABLED,
+		if (request_irq(irq, snd_wss_interrupt, 0,
 				"WSS", (void *) chip)) {
 			snd_printk(KERN_ERR "wss: can't grab IRQ %d\n", irq);
 			snd_wss_free(chip);
diff --git a/sound/mips/au1x00.c b/sound/mips/au1x00.c
index 446cf97..7567ebd 100644
--- a/sound/mips/au1x00.c
+++ b/sound/mips/au1x00.c
@@ -465,13 +465,13 @@ snd_au1000_pcm_new(struct snd_au1000 *au1000)
 
 	flags = claim_dma_lock();
 	if ((au1000->stream[PLAYBACK]->dma = request_au1000_dma(DMA_ID_AC97C_TX,
-			"AC97 TX", au1000_dma_interrupt, IRQF_DISABLED,
+			"AC97 TX", au1000_dma_interrupt, 0,
 			au1000->stream[PLAYBACK])) < 0) {
 		release_dma_lock(flags);
 		return -EBUSY;
 	}
 	if ((au1000->stream[CAPTURE]->dma = request_au1000_dma(DMA_ID_AC97C_RX,
-			"AC97 RX", au1000_dma_interrupt, IRQF_DISABLED,
+			"AC97 RX", au1000_dma_interrupt, 0,
 			au1000->stream[CAPTURE])) < 0){
 		release_dma_lock(flags);
 		return -EBUSY;
diff --git a/sound/pci/sis7019.c b/sound/pci/sis7019.c
index bcf6152..5ffb20b 100644
--- a/sound/pci/sis7019.c
+++ b/sound/pci/sis7019.c
@@ -1234,7 +1234,7 @@ static int sis_resume(struct pci_dev *pci)
 		goto error;
 	}
 
-	if (request_irq(pci->irq, sis_interrupt, IRQF_DISABLED|IRQF_SHARED,
+	if (request_irq(pci->irq, sis_interrupt, IRQF_SHARED,
 			KBUILD_MODNAME, sis)) {
 		printk(KERN_ERR "sis7019: unable to regain IRQ %d\n", pci->irq);
 		goto error;
@@ -1340,7 +1340,7 @@ static int __devinit sis_chip_create(struct snd_card *card,
 	if (rc)
 		goto error_out_cleanup;
 
-	if (request_irq(pci->irq, sis_interrupt, IRQF_DISABLED|IRQF_SHARED,
+	if (request_irq(pci->irq, sis_interrupt, IRQF_SHARED,
 			KBUILD_MODNAME, sis)) {
 		printk(KERN_ERR "unable to allocate irq %d\n", sis->irq);
 		goto error_out_cleanup;
diff --git a/sound/ppc/snd_ps3.c b/sound/ppc/snd_ps3.c
index bc823a5..775bd95 100644
--- a/sound/ppc/snd_ps3.c
+++ b/sound/ppc/snd_ps3.c
@@ -845,7 +845,7 @@ static int __devinit snd_ps3_allocate_irq(void)
 		return ret;
 	}
 
-	ret = request_irq(the_card.irq_no, snd_ps3_interrupt, IRQF_DISABLED,
+	ret = request_irq(the_card.irq_no, snd_ps3_interrupt, 0,
 			  SND_PS3_DRIVER_NAME, &the_card);
 	if (ret) {
 		pr_info("%s: request_irq failed (%d)\n", __func__, ret);
diff --git a/sound/soc/au1x/dma.c b/sound/soc/au1x/dma.c
index 7aa5b76..177f713 100644
--- a/sound/soc/au1x/dma.c
+++ b/sound/soc/au1x/dma.c
@@ -211,7 +211,7 @@ static int alchemy_pcm_open(struct snd_pcm_substream *substream)
 	/* DMA setup */
 	name = (s == SNDRV_PCM_STREAM_PLAYBACK) ? "audio-tx" : "audio-rx";
 	ctx->stream[s].dma = request_au1000_dma(dmaids[s], name,
-					au1000_dma_interrupt, IRQF_DISABLED,
+					au1000_dma_interrupt, 0,
 					&ctx->stream[s]);
 	set_dma_mode(ctx->stream[s].dma,
 		     get_dma_mode(ctx->stream[s].dma) & ~DMA_NC);
diff --git a/sound/soc/codecs/tlv320dac33.c b/sound/soc/codecs/tlv320dac33.c
index faa5e9f..243d177 100644
--- a/sound/soc/codecs/tlv320dac33.c
+++ b/sound/soc/codecs/tlv320dac33.c
@@ -1431,7 +1431,7 @@ static int dac33_soc_probe(struct snd_soc_codec *codec)
 	/* Check if the IRQ number is valid and request it */
 	if (dac33->irq >= 0) {
 		ret = request_irq(dac33->irq, dac33_interrupt_handler,
-				  IRQF_TRIGGER_RISING | IRQF_DISABLED,
+				  IRQF_TRIGGER_RISING,
 				  codec->name, codec);
 		if (ret < 0) {
 			dev_err(codec->dev, "Could not request IRQ%d (%d)\n",
diff --git a/sound/soc/nuc900/nuc900-pcm.c b/sound/soc/nuc900/nuc900-pcm.c
index e46d551..865b288 100644
--- a/sound/soc/nuc900/nuc900-pcm.c
+++ b/sound/soc/nuc900/nuc900-pcm.c
@@ -268,7 +268,7 @@ static int nuc900_dma_open(struct snd_pcm_substream *substream)
 	nuc900_audio = nuc900_ac97_data;
 
 	if (request_irq(nuc900_audio->irq_num, nuc900_dma_interrupt,
-			IRQF_DISABLED, "nuc900-dma", substream))
+			0, "nuc900-dma", substream))
 		return -EBUSY;
 
 	runtime->private_data = nuc900_audio;
diff --git a/sound/soc/samsung/ac97.c b/sound/soc/samsung/ac97.c
index b4f9b00..41b387b 100644
--- a/sound/soc/samsung/ac97.c
+++ b/sound/soc/samsung/ac97.c
@@ -450,7 +450,7 @@ static __devinit int s3c_ac97_probe(struct platform_device *pdev)
 	}
 
 	ret = request_irq(irq_res->start, s3c_ac97_irq,
-					IRQF_DISABLED, "AC97", NULL);
+					0, "AC97", NULL);
 	if (ret < 0) {
 		dev_err(&pdev->dev, "ac97: interrupt request failed.\n");
 		goto err4;
diff --git a/sound/soc/sh/fsi.c b/sound/soc/sh/fsi.c
index 8e112cc..1493ebf 100644
--- a/sound/soc/sh/fsi.c
+++ b/sound/soc/sh/fsi.c
@@ -1285,7 +1285,7 @@ static int fsi_probe(struct platform_device *pdev)
 	pm_runtime_enable(&pdev->dev);
 	dev_set_drvdata(&pdev->dev, master);
 
-	ret = request_irq(irq, &fsi_interrupt, IRQF_DISABLED,
+	ret = request_irq(irq, &fsi_interrupt, 0,
 			  id_entry->name, master);
 	if (ret) {
 		dev_err(&pdev->dev, "irq request err\n");
diff --git a/sound/soc/txx9/txx9aclc-ac97.c b/sound/soc/txx9/txx9aclc-ac97.c
index 743d07b..a4e3f55 100644
--- a/sound/soc/txx9/txx9aclc-ac97.c
+++ b/sound/soc/txx9/txx9aclc-ac97.c
@@ -201,7 +201,7 @@ static int __devinit txx9aclc_ac97_dev_probe(struct platform_device *pdev)
 	if (!drvdata->base)
 		return -EBUSY;
 	err = devm_request_irq(&pdev->dev, irq, txx9aclc_ac97_irq,
-			       IRQF_DISABLED, dev_name(&pdev->dev), drvdata);
+			       0, dev_name(&pdev->dev), drvdata);
 	if (err < 0)
 		return err;
 
diff --git a/sound/sparc/amd7930.c b/sound/sparc/amd7930.c
index ad7d4d7..f036776 100644
--- a/sound/sparc/amd7930.c
+++ b/sound/sparc/amd7930.c
@@ -962,7 +962,7 @@ static int __devinit snd_amd7930_create(struct snd_card *card,
 	amd7930_idle(amd);
 
 	if (request_irq(irq, snd_amd7930_interrupt,
-			IRQF_DISABLED | IRQF_SHARED, "amd7930", amd)) {
+			IRQF_SHARED, "amd7930", amd)) {
 		snd_printk(KERN_ERR "amd7930-%d: Unable to grab IRQ %d\n",
 			   dev, irq);
 		snd_amd7930_free(amd);
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 53/57] sound: irq: Remove IRQF_DISABLED
@ 2011-09-21  9:28   ` Yong Zhang
  0 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arm-kernel

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
 include/sound/initval.h            |    2 +-
 sound/arm/aaci.c                   |    2 +-
 sound/arm/pxa2xx-ac97-lib.c        |    2 +-
 sound/drivers/ml403-ac97cr.c       |    4 ++--
 sound/drivers/mpu401/mpu401_uart.c |    2 +-
 sound/drivers/mtpav.c              |    2 +-
 sound/drivers/serial-u16550.c      |    2 +-
 sound/isa/ad1816a/ad1816a_lib.c    |    2 +-
 sound/isa/es1688/es1688_lib.c      |    2 +-
 sound/isa/es18xx.c                 |    2 +-
 sound/isa/gus/gus_main.c           |    2 +-
 sound/isa/gus/gusmax.c             |    2 +-
 sound/isa/gus/interwave.c          |    2 +-
 sound/isa/opl3sa2.c                |    2 +-
 sound/isa/opti9xx/opti92x-ad1848.c |    2 +-
 sound/isa/sb/sb_common.c           |    2 +-
 sound/isa/wavefront/wavefront.c    |    2 +-
 sound/isa/wss/wss_lib.c            |    2 +-
 sound/mips/au1x00.c                |    4 ++--
 sound/pci/sis7019.c                |    4 ++--
 sound/ppc/snd_ps3.c                |    2 +-
 sound/soc/au1x/dma.c               |    2 +-
 sound/soc/codecs/tlv320dac33.c     |    2 +-
 sound/soc/nuc900/nuc900-pcm.c      |    2 +-
 sound/soc/samsung/ac97.c           |    2 +-
 sound/soc/sh/fsi.c                 |    2 +-
 sound/soc/txx9/txx9aclc-ac97.c     |    2 +-
 sound/sparc/amd7930.c              |    2 +-
 28 files changed, 31 insertions(+), 31 deletions(-)

diff --git a/include/sound/initval.h b/include/sound/initval.h
index 1daa6df..f99a0d2 100644
--- a/include/sound/initval.h
+++ b/include/sound/initval.h
@@ -62,7 +62,7 @@ static int snd_legacy_find_free_irq(int *irq_table)
 {
 	while (*irq_table != -1) {
 		if (!request_irq(*irq_table, snd_legacy_empty_irq_handler,
-				 IRQF_DISABLED | IRQF_PROBE_SHARED, "ALSA Test IRQ",
+				 IRQF_PROBE_SHARED, "ALSA Test IRQ",
 				 (void *) irq_table)) {
 			free_irq(*irq_table, (void *) irq_table);
 			return *irq_table;
diff --git a/sound/arm/aaci.c b/sound/arm/aaci.c
index d0cead3..e518d38 100644
--- a/sound/arm/aaci.c
+++ b/sound/arm/aaci.c
@@ -443,7 +443,7 @@ static int aaci_pcm_open(struct snd_pcm_substream *substream)
 	mutex_lock(&aaci->irq_lock);
 	if (!aaci->users++) {
 		ret = request_irq(aaci->dev->irq[0], aaci_irq,
-			   IRQF_SHARED | IRQF_DISABLED, DRIVER_NAME, aaci);
+			   IRQF_SHARED, DRIVER_NAME, aaci);
 		if (ret != 0)
 			aaci->users--;
 	}
diff --git a/sound/arm/pxa2xx-ac97-lib.c b/sound/arm/pxa2xx-ac97-lib.c
index 88eec38..8ad6535 100644
--- a/sound/arm/pxa2xx-ac97-lib.c
+++ b/sound/arm/pxa2xx-ac97-lib.c
@@ -359,7 +359,7 @@ int __devinit pxa2xx_ac97_hw_probe(struct platform_device *dev)
 	if (ret)
 		goto err_clk2;
 
-	ret = request_irq(IRQ_AC97, pxa2xx_ac97_irq, IRQF_DISABLED, "AC97", NULL);
+	ret = request_irq(IRQ_AC97, pxa2xx_ac97_irq, 0, "AC97", NULL);
 	if (ret < 0)
 		goto err_irq;
 
diff --git a/sound/drivers/ml403-ac97cr.c b/sound/drivers/ml403-ac97cr.c
index 5cfcb90..2c7a763 100644
--- a/sound/drivers/ml403-ac97cr.c
+++ b/sound/drivers/ml403-ac97cr.c
@@ -1153,7 +1153,7 @@ snd_ml403_ac97cr_create(struct snd_card *card, struct platform_device *pfdev,
 		   "0x%x done\n", (unsigned int)ml403_ac97cr->port);
 	/* get irq */
 	irq = platform_get_irq(pfdev, 0);
-	if (request_irq(irq, snd_ml403_ac97cr_irq, IRQF_DISABLED,
+	if (request_irq(irq, snd_ml403_ac97cr_irq, 0,
 			dev_name(&pfdev->dev), (void *)ml403_ac97cr)) {
 		snd_printk(KERN_ERR SND_ML403_AC97CR_DRIVER ": "
 			   "unable to grab IRQ %d\n",
@@ -1166,7 +1166,7 @@ snd_ml403_ac97cr_create(struct snd_card *card, struct platform_device *pfdev,
 		   "request (playback) irq %d done\n",
 		   ml403_ac97cr->irq);
 	irq = platform_get_irq(pfdev, 1);
-	if (request_irq(irq, snd_ml403_ac97cr_irq, IRQF_DISABLED,
+	if (request_irq(irq, snd_ml403_ac97cr_irq, 0,
 			dev_name(&pfdev->dev), (void *)ml403_ac97cr)) {
 		snd_printk(KERN_ERR SND_ML403_AC97CR_DRIVER ": "
 			   "unable to grab IRQ %d\n",
diff --git a/sound/drivers/mpu401/mpu401_uart.c b/sound/drivers/mpu401/mpu401_uart.c
index 34df505..1cff331 100644
--- a/sound/drivers/mpu401/mpu401_uart.c
+++ b/sound/drivers/mpu401/mpu401_uart.c
@@ -578,7 +578,7 @@ int snd_mpu401_uart_new(struct snd_card *card, int device,
 	else
 		mpu->cport = port + 1;
 	if (irq >= 0) {
-		if (request_irq(irq, snd_mpu401_uart_interrupt, IRQF_DISABLED,
+		if (request_irq(irq, snd_mpu401_uart_interrupt, 0,
 				"MPU401 UART", (void *) mpu)) {
 			snd_printk(KERN_ERR "mpu401_uart: "
 				   "unable to grab IRQ %d\n", irq);
diff --git a/sound/drivers/mtpav.c b/sound/drivers/mtpav.c
index f50021c..7693079 100644
--- a/sound/drivers/mtpav.c
+++ b/sound/drivers/mtpav.c
@@ -590,7 +590,7 @@ static int __devinit snd_mtpav_get_ISA(struct mtpav * mcard)
 		return -EBUSY;
 	}
 	mcard->port = port;
-	if (request_irq(irq, snd_mtpav_irqh, IRQF_DISABLED, "MOTU MTPAV", mcard)) {
+	if (request_irq(irq, snd_mtpav_irqh, 0, "MOTU MTPAV", mcard)) {
 		snd_printk(KERN_ERR "MTVAP IRQ %d busy\n", irq);
 		return -EBUSY;
 	}
diff --git a/sound/drivers/serial-u16550.c b/sound/drivers/serial-u16550.c
index 6c5bf58..85aad43 100644
--- a/sound/drivers/serial-u16550.c
+++ b/sound/drivers/serial-u16550.c
@@ -816,7 +816,7 @@ static int __devinit snd_uart16550_create(struct snd_card *card,
 
 	if (irq >= 0 && irq != SNDRV_AUTO_IRQ) {
 		if (request_irq(irq, snd_uart16550_interrupt,
-				IRQF_DISABLED, "Serial MIDI", uart)) {
+				0, "Serial MIDI", uart)) {
 			snd_printk(KERN_WARNING
 				   "irq %d busy. Using Polling.\n", irq);
 		} else {
diff --git a/sound/isa/ad1816a/ad1816a_lib.c b/sound/isa/ad1816a/ad1816a_lib.c
index 05aef8b..177eed3 100644
--- a/sound/isa/ad1816a/ad1816a_lib.c
+++ b/sound/isa/ad1816a/ad1816a_lib.c
@@ -595,7 +595,7 @@ int __devinit snd_ad1816a_create(struct snd_card *card,
 		snd_ad1816a_free(chip);
 		return -EBUSY;
 	}
-	if (request_irq(irq, snd_ad1816a_interrupt, IRQF_DISABLED, "AD1816A", (void *) chip)) {
+	if (request_irq(irq, snd_ad1816a_interrupt, 0, "AD1816A", (void *) chip)) {
 		snd_printk(KERN_ERR "ad1816a: can't grab IRQ %d\n", irq);
 		snd_ad1816a_free(chip);
 		return -EBUSY;
diff --git a/sound/isa/es1688/es1688_lib.c b/sound/isa/es1688/es1688_lib.c
index 0767620..d3eab6f 100644
--- a/sound/isa/es1688/es1688_lib.c
+++ b/sound/isa/es1688/es1688_lib.c
@@ -661,7 +661,7 @@ int snd_es1688_create(struct snd_card *card,
 		snd_printk(KERN_ERR "es1688: can't grab port 0x%lx\n", port + 4);
 		return -EBUSY;
 	}
-	if (request_irq(irq, snd_es1688_interrupt, IRQF_DISABLED, "ES1688", (void *) chip)) {
+	if (request_irq(irq, snd_es1688_interrupt, 0, "ES1688", (void *) chip)) {
 		snd_printk(KERN_ERR "es1688: can't grab IRQ %d\n", irq);
 		return -EBUSY;
 	}
diff --git a/sound/isa/es18xx.c b/sound/isa/es18xx.c
index aeee8f8..bf6ad0b 100644
--- a/sound/isa/es18xx.c
+++ b/sound/isa/es18xx.c
@@ -1805,7 +1805,7 @@ static int __devinit snd_es18xx_new_device(struct snd_card *card,
 		return -EBUSY;
 	}
 
-	if (request_irq(irq, snd_es18xx_interrupt, IRQF_DISABLED, "ES18xx",
+	if (request_irq(irq, snd_es18xx_interrupt, 0, "ES18xx",
 			(void *) card)) {
 		snd_es18xx_free(card);
 		snd_printk(KERN_ERR PFX "unable to grap IRQ %d\n", irq);
diff --git a/sound/isa/gus/gus_main.c b/sound/isa/gus/gus_main.c
index 12eb98f..3167e5a 100644
--- a/sound/isa/gus/gus_main.c
+++ b/sound/isa/gus/gus_main.c
@@ -180,7 +180,7 @@ int snd_gus_create(struct snd_card *card,
 		snd_gus_free(gus);
 		return -EBUSY;
 	}
-	if (irq >= 0 && request_irq(irq, snd_gus_interrupt, IRQF_DISABLED, "GUS GF1", (void *) gus)) {
+	if (irq >= 0 && request_irq(irq, snd_gus_interrupt, 0, "GUS GF1", (void *) gus)) {
 		snd_printk(KERN_ERR "gus: can't grab irq %d\n", irq);
 		snd_gus_free(gus);
 		return -EBUSY;
diff --git a/sound/isa/gus/gusmax.c b/sound/isa/gus/gusmax.c
index 3e4a58b..c43faa0 100644
--- a/sound/isa/gus/gusmax.c
+++ b/sound/isa/gus/gusmax.c
@@ -291,7 +291,7 @@ static int __devinit snd_gusmax_probe(struct device *pdev, unsigned int dev)
 		goto _err;
 	}
 
-	if (request_irq(xirq, snd_gusmax_interrupt, IRQF_DISABLED, "GUS MAX", (void *)maxcard)) {
+	if (request_irq(xirq, snd_gusmax_interrupt, 0, "GUS MAX", (void *)maxcard)) {
 		snd_printk(KERN_ERR PFX "unable to grab IRQ %d\n", xirq);
 		err = -EBUSY;
 		goto _err;
diff --git a/sound/isa/gus/interwave.c b/sound/isa/gus/interwave.c
index c7b80e4..5f869a3 100644
--- a/sound/isa/gus/interwave.c
+++ b/sound/isa/gus/interwave.c
@@ -684,7 +684,7 @@ static int __devinit snd_interwave_probe(struct snd_card *card, int dev)
 	if ((err = snd_gus_initialize(gus)) < 0)
 		return err;
 
-	if (request_irq(xirq, snd_interwave_interrupt, IRQF_DISABLED,
+	if (request_irq(xirq, snd_interwave_interrupt, 0,
 			"InterWave", iwcard)) {
 		snd_printk(KERN_ERR PFX "unable to grab IRQ %d\n", xirq);
 		return -EBUSY;
diff --git a/sound/isa/opl3sa2.c b/sound/isa/opl3sa2.c
index de99f47..bbafb0b 100644
--- a/sound/isa/opl3sa2.c
+++ b/sound/isa/opl3sa2.c
@@ -667,7 +667,7 @@ static int __devinit snd_opl3sa2_probe(struct snd_card *card, int dev)
 	err = snd_opl3sa2_detect(card);
 	if (err < 0)
 		return err;
-	err = request_irq(xirq, snd_opl3sa2_interrupt, IRQF_DISABLED,
+	err = request_irq(xirq, snd_opl3sa2_interrupt, 0,
 			  "OPL3-SA2", card);
 	if (err) {
 		snd_printk(KERN_ERR PFX "can't grab IRQ %d\n", xirq);
diff --git a/sound/isa/opti9xx/opti92x-ad1848.c b/sound/isa/opti9xx/opti92x-ad1848.c
index 346e12b..6dbbfa7 100644
--- a/sound/isa/opti9xx/opti92x-ad1848.c
+++ b/sound/isa/opti9xx/opti92x-ad1848.c
@@ -892,7 +892,7 @@ static int __devinit snd_opti9xx_probe(struct snd_card *card)
 #endif
 #ifdef OPTi93X
 	error = request_irq(irq, snd_opti93x_interrupt,
-			    IRQF_DISABLED, DEV_NAME" - WSS", chip);
+			    0, DEV_NAME" - WSS", chip);
 	if (error < 0) {
 		snd_printk(KERN_ERR "opti9xx: can't grab IRQ %d\n", irq);
 		return error;
diff --git a/sound/isa/sb/sb_common.c b/sound/isa/sb/sb_common.c
index eae6c1c..d2e1921 100644
--- a/sound/isa/sb/sb_common.c
+++ b/sound/isa/sb/sb_common.c
@@ -240,7 +240,7 @@ int snd_sbdsp_create(struct snd_card *card,
 	if (request_irq(irq, irq_handler,
 			(hardware == SB_HW_ALS4000 ||
 			 hardware == SB_HW_CS5530) ?
-			IRQF_SHARED : IRQF_DISABLED,
+			IRQF_SHARED : 0,
 			"SoundBlaster", (void *) chip)) {
 		snd_printk(KERN_ERR "sb: can't grab irq %d\n", irq);
 		snd_sbdsp_free(chip);
diff --git a/sound/isa/wavefront/wavefront.c b/sound/isa/wavefront/wavefront.c
index 83f291d..8714297 100644
--- a/sound/isa/wavefront/wavefront.c
+++ b/sound/isa/wavefront/wavefront.c
@@ -418,7 +418,7 @@ snd_wavefront_probe (struct snd_card *card, int dev)
 		return -EBUSY;
 	}
 	if (request_irq(ics2115_irq[dev], snd_wavefront_ics2115_interrupt,
-			IRQF_DISABLED, "ICS2115", acard)) {
+			0, "ICS2115", acard)) {
 		snd_printk(KERN_ERR "unable to use ICS2115 IRQ %d\n", ics2115_irq[dev]);
 		return -EBUSY;
 	}
diff --git a/sound/isa/wss/wss_lib.c b/sound/isa/wss/wss_lib.c
index 2a42cc3..7277c5b 100644
--- a/sound/isa/wss/wss_lib.c
+++ b/sound/isa/wss/wss_lib.c
@@ -1833,7 +1833,7 @@ int snd_wss_create(struct snd_card *card,
 	}
 	chip->cport = cport;
 	if (!(hwshare & WSS_HWSHARE_IRQ))
-		if (request_irq(irq, snd_wss_interrupt, IRQF_DISABLED,
+		if (request_irq(irq, snd_wss_interrupt, 0,
 				"WSS", (void *) chip)) {
 			snd_printk(KERN_ERR "wss: can't grab IRQ %d\n", irq);
 			snd_wss_free(chip);
diff --git a/sound/mips/au1x00.c b/sound/mips/au1x00.c
index 446cf97..7567ebd 100644
--- a/sound/mips/au1x00.c
+++ b/sound/mips/au1x00.c
@@ -465,13 +465,13 @@ snd_au1000_pcm_new(struct snd_au1000 *au1000)
 
 	flags = claim_dma_lock();
 	if ((au1000->stream[PLAYBACK]->dma = request_au1000_dma(DMA_ID_AC97C_TX,
-			"AC97 TX", au1000_dma_interrupt, IRQF_DISABLED,
+			"AC97 TX", au1000_dma_interrupt, 0,
 			au1000->stream[PLAYBACK])) < 0) {
 		release_dma_lock(flags);
 		return -EBUSY;
 	}
 	if ((au1000->stream[CAPTURE]->dma = request_au1000_dma(DMA_ID_AC97C_RX,
-			"AC97 RX", au1000_dma_interrupt, IRQF_DISABLED,
+			"AC97 RX", au1000_dma_interrupt, 0,
 			au1000->stream[CAPTURE])) < 0){
 		release_dma_lock(flags);
 		return -EBUSY;
diff --git a/sound/pci/sis7019.c b/sound/pci/sis7019.c
index bcf6152..5ffb20b 100644
--- a/sound/pci/sis7019.c
+++ b/sound/pci/sis7019.c
@@ -1234,7 +1234,7 @@ static int sis_resume(struct pci_dev *pci)
 		goto error;
 	}
 
-	if (request_irq(pci->irq, sis_interrupt, IRQF_DISABLED|IRQF_SHARED,
+	if (request_irq(pci->irq, sis_interrupt, IRQF_SHARED,
 			KBUILD_MODNAME, sis)) {
 		printk(KERN_ERR "sis7019: unable to regain IRQ %d\n", pci->irq);
 		goto error;
@@ -1340,7 +1340,7 @@ static int __devinit sis_chip_create(struct snd_card *card,
 	if (rc)
 		goto error_out_cleanup;
 
-	if (request_irq(pci->irq, sis_interrupt, IRQF_DISABLED|IRQF_SHARED,
+	if (request_irq(pci->irq, sis_interrupt, IRQF_SHARED,
 			KBUILD_MODNAME, sis)) {
 		printk(KERN_ERR "unable to allocate irq %d\n", sis->irq);
 		goto error_out_cleanup;
diff --git a/sound/ppc/snd_ps3.c b/sound/ppc/snd_ps3.c
index bc823a5..775bd95 100644
--- a/sound/ppc/snd_ps3.c
+++ b/sound/ppc/snd_ps3.c
@@ -845,7 +845,7 @@ static int __devinit snd_ps3_allocate_irq(void)
 		return ret;
 	}
 
-	ret = request_irq(the_card.irq_no, snd_ps3_interrupt, IRQF_DISABLED,
+	ret = request_irq(the_card.irq_no, snd_ps3_interrupt, 0,
 			  SND_PS3_DRIVER_NAME, &the_card);
 	if (ret) {
 		pr_info("%s: request_irq failed (%d)\n", __func__, ret);
diff --git a/sound/soc/au1x/dma.c b/sound/soc/au1x/dma.c
index 7aa5b76..177f713 100644
--- a/sound/soc/au1x/dma.c
+++ b/sound/soc/au1x/dma.c
@@ -211,7 +211,7 @@ static int alchemy_pcm_open(struct snd_pcm_substream *substream)
 	/* DMA setup */
 	name = (s == SNDRV_PCM_STREAM_PLAYBACK) ? "audio-tx" : "audio-rx";
 	ctx->stream[s].dma = request_au1000_dma(dmaids[s], name,
-					au1000_dma_interrupt, IRQF_DISABLED,
+					au1000_dma_interrupt, 0,
 					&ctx->stream[s]);
 	set_dma_mode(ctx->stream[s].dma,
 		     get_dma_mode(ctx->stream[s].dma) & ~DMA_NC);
diff --git a/sound/soc/codecs/tlv320dac33.c b/sound/soc/codecs/tlv320dac33.c
index faa5e9f..243d177 100644
--- a/sound/soc/codecs/tlv320dac33.c
+++ b/sound/soc/codecs/tlv320dac33.c
@@ -1431,7 +1431,7 @@ static int dac33_soc_probe(struct snd_soc_codec *codec)
 	/* Check if the IRQ number is valid and request it */
 	if (dac33->irq >= 0) {
 		ret = request_irq(dac33->irq, dac33_interrupt_handler,
-				  IRQF_TRIGGER_RISING | IRQF_DISABLED,
+				  IRQF_TRIGGER_RISING,
 				  codec->name, codec);
 		if (ret < 0) {
 			dev_err(codec->dev, "Could not request IRQ%d (%d)\n",
diff --git a/sound/soc/nuc900/nuc900-pcm.c b/sound/soc/nuc900/nuc900-pcm.c
index e46d551..865b288 100644
--- a/sound/soc/nuc900/nuc900-pcm.c
+++ b/sound/soc/nuc900/nuc900-pcm.c
@@ -268,7 +268,7 @@ static int nuc900_dma_open(struct snd_pcm_substream *substream)
 	nuc900_audio = nuc900_ac97_data;
 
 	if (request_irq(nuc900_audio->irq_num, nuc900_dma_interrupt,
-			IRQF_DISABLED, "nuc900-dma", substream))
+			0, "nuc900-dma", substream))
 		return -EBUSY;
 
 	runtime->private_data = nuc900_audio;
diff --git a/sound/soc/samsung/ac97.c b/sound/soc/samsung/ac97.c
index b4f9b00..41b387b 100644
--- a/sound/soc/samsung/ac97.c
+++ b/sound/soc/samsung/ac97.c
@@ -450,7 +450,7 @@ static __devinit int s3c_ac97_probe(struct platform_device *pdev)
 	}
 
 	ret = request_irq(irq_res->start, s3c_ac97_irq,
-					IRQF_DISABLED, "AC97", NULL);
+					0, "AC97", NULL);
 	if (ret < 0) {
 		dev_err(&pdev->dev, "ac97: interrupt request failed.\n");
 		goto err4;
diff --git a/sound/soc/sh/fsi.c b/sound/soc/sh/fsi.c
index 8e112cc..1493ebf 100644
--- a/sound/soc/sh/fsi.c
+++ b/sound/soc/sh/fsi.c
@@ -1285,7 +1285,7 @@ static int fsi_probe(struct platform_device *pdev)
 	pm_runtime_enable(&pdev->dev);
 	dev_set_drvdata(&pdev->dev, master);
 
-	ret = request_irq(irq, &fsi_interrupt, IRQF_DISABLED,
+	ret = request_irq(irq, &fsi_interrupt, 0,
 			  id_entry->name, master);
 	if (ret) {
 		dev_err(&pdev->dev, "irq request err\n");
diff --git a/sound/soc/txx9/txx9aclc-ac97.c b/sound/soc/txx9/txx9aclc-ac97.c
index 743d07b..a4e3f55 100644
--- a/sound/soc/txx9/txx9aclc-ac97.c
+++ b/sound/soc/txx9/txx9aclc-ac97.c
@@ -201,7 +201,7 @@ static int __devinit txx9aclc_ac97_dev_probe(struct platform_device *pdev)
 	if (!drvdata->base)
 		return -EBUSY;
 	err = devm_request_irq(&pdev->dev, irq, txx9aclc_ac97_irq,
-			       IRQF_DISABLED, dev_name(&pdev->dev), drvdata);
+			       0, dev_name(&pdev->dev), drvdata);
 	if (err < 0)
 		return err;
 
diff --git a/sound/sparc/amd7930.c b/sound/sparc/amd7930.c
index ad7d4d7..f036776 100644
--- a/sound/sparc/amd7930.c
+++ b/sound/sparc/amd7930.c
@@ -962,7 +962,7 @@ static int __devinit snd_amd7930_create(struct snd_card *card,
 	amd7930_idle(amd);
 
 	if (request_irq(irq, snd_amd7930_interrupt,
-			IRQF_DISABLED | IRQF_SHARED, "amd7930", amd)) {
+			IRQF_SHARED, "amd7930", amd)) {
 		snd_printk(KERN_ERR "amd7930-%d: Unable to grab IRQ %d\n",
 			   dev, irq);
 		snd_amd7930_free(amd);
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 54/57] Documentation: irq: Change documents related to IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
                   ` (51 preceding siblings ...)
  2011-09-21  9:28   ` Yong Zhang
@ 2011-09-21  9:28 ` Yong Zhang
  2011-09-28 22:33   ` Bjorn Helgaas
  2011-09-21  9:28 ` [PATCH 55/57] hexagon: irq: Remove IRQF_DISABLED Yong Zhang
                   ` (4 subsequent siblings)
  57 siblings, 1 reply; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Jesse Barnes, Randy Dunlap, linux-pci, linux-doc

IRQF_DISABLED is a NOOP now, place where suggest to use this
flag also doesn't make sense any more.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 Documentation/PCI/MSI-HOWTO.txt  |   21 ---------------------
 Documentation/scsi/ncr53c8xx.txt |    4 +++-
 Documentation/scsi/tmscsim.txt   |    4 ++--
 3 files changed, 5 insertions(+), 24 deletions(-)

diff --git a/Documentation/PCI/MSI-HOWTO.txt b/Documentation/PCI/MSI-HOWTO.txt
index 53e6fca..b3f514d 100644
--- a/Documentation/PCI/MSI-HOWTO.txt
+++ b/Documentation/PCI/MSI-HOWTO.txt
@@ -255,27 +255,6 @@ as many vectors for MSI as it could for MSI-X.  On some platforms, MSI
 interrupts must all be targeted at the same set of CPUs whereas MSI-X
 interrupts can all be targeted at different CPUs.
 
-4.5.2 Spinlocks
-
-Most device drivers have a per-device spinlock which is taken in the
-interrupt handler.  With pin-based interrupts or a single MSI, it is not
-necessary to disable interrupts (Linux guarantees the same interrupt will
-not be re-entered).  If a device uses multiple interrupts, the driver
-must disable interrupts while the lock is held.  If the device sends
-a different interrupt, the driver will deadlock trying to recursively
-acquire the spinlock.
-
-There are two solutions.  The first is to take the lock with
-spin_lock_irqsave() or spin_lock_irq() (see
-Documentation/DocBook/kernel-locking).  The second is to specify
-IRQF_DISABLED to request_irq() so that the kernel runs the entire
-interrupt routine with interrupts disabled.
-
-If your MSI interrupt routine does not hold the lock for the whole time
-it is running, the first solution may be best.  The second solution is
-normally preferred as it avoids making two transitions from interrupt
-disabled to enabled and back again.
-
 4.6 How to tell whether MSI/MSI-X is enabled on a device
 
 Using 'lspci -v' (as root) may show some devices with "MSI", "Message
diff --git a/Documentation/scsi/ncr53c8xx.txt b/Documentation/scsi/ncr53c8xx.txt
index cda5f8f..c5a9904 100644
--- a/Documentation/scsi/ncr53c8xx.txt
+++ b/Documentation/scsi/ncr53c8xx.txt
@@ -786,7 +786,9 @@ port address 0x1400.
         irqm:1     same as initial settings (assumed BIOS settings)
         irqm:2     always totem pole
         irqm:0x10  driver will not use IRQF_SHARED flag when requesting irq
-        irqm:0x20  driver will not use IRQF_DISABLED flag when requesting irq
+        irqm:0x20  driver will not use IRQF_DISABLED (does not make sense
+		   any more since genirq will keep irq disabled and the flag
+		   is dead from linux-2.6.35) flag when requesting irq
 
     (Bits 0x10 and 0x20 can be combined with hardware irq mode option)
 
diff --git a/Documentation/scsi/tmscsim.txt b/Documentation/scsi/tmscsim.txt
index 61c0531..1dee219 100644
--- a/Documentation/scsi/tmscsim.txt
+++ b/Documentation/scsi/tmscsim.txt
@@ -108,8 +108,8 @@ MHz PCI bus works for me, though, but I don't recommend using higher clocks
 than the 33.33 MHz being in the PCI spec.
 
 If you want to share the IRQ with another device and the driver refuses to
-do so, you might succeed with changing the DC390_IRQ type in tmscsim.c to 
-IRQF_SHARED | IRQF_DISABLED.
+do so, you should find out what's the mismatch between the shared IRQs,
+and CONFIG_DEBUG_SHIRQ may give you more help.
 
 
 3.Features
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 55/57] hexagon: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
                   ` (52 preceding siblings ...)
  2011-09-21  9:28 ` [PATCH 54/57] Documentation: irq: Change documents related to IRQF_DISABLED Yong Zhang
@ 2011-09-21  9:28 ` Yong Zhang
  2011-09-21 15:35   ` Richard Kuo
  2011-09-21  9:28   ` [lm-sensors] " Yong Zhang
                   ` (3 subsequent siblings)
  57 siblings, 1 reply; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Richard Kuo, Linas Vepstas, Arnd Bergmann,
	linux-hexagon

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 arch/hexagon/kernel/smp.c  |    2 +-
 arch/hexagon/kernel/time.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/hexagon/kernel/smp.c b/arch/hexagon/kernel/smp.c
index 96bf6c2..ad43649 100644
--- a/arch/hexagon/kernel/smp.c
+++ b/arch/hexagon/kernel/smp.c
@@ -136,7 +136,7 @@ void send_ipi(const struct cpumask *cpumask, enum ipi_message_type msg)
 
 static struct irqaction ipi_intdesc = {
 	.handler = handle_ipi,
-	.flags = IRQF_DISABLED | IRQF_TRIGGER_RISING,
+	.flags = IRQF_TRIGGER_RISING,
 	.name = "ipi_handler"
 };
 
diff --git a/arch/hexagon/kernel/time.c b/arch/hexagon/kernel/time.c
index fc8e95c..a4d7b58 100644
--- a/arch/hexagon/kernel/time.c
+++ b/arch/hexagon/kernel/time.c
@@ -181,7 +181,7 @@ static irqreturn_t timer_interrupt(int irq, void *devid)
 /*  This should also be pulled from devtree  */
 static struct irqaction rtos_timer_intdesc = {
 	.handler = timer_interrupt,
-	.flags = IRQF_DISABLED | IRQF_TIMER | IRQF_TRIGGER_RISING,
+	.flags = IRQF_TIMER | IRQF_TRIGGER_RISING,
 	.name = "rtos_timer"
 };
 
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 56/57] hwmon: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
@ 2011-09-21  9:28   ` Yong Zhang
  2011-09-21  9:28 ` [PATCH 02/57] alpha: irq: Remove IRQF_DISABLED Yong Zhang
                     ` (56 subsequent siblings)
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Jean Delvare, Guenter Roeck, lm-sensors

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 drivers/hwmon/exynos4_tmu.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/hwmon/exynos4_tmu.c b/drivers/hwmon/exynos4_tmu.c
index 0170c90..faa0884 100644
--- a/drivers/hwmon/exynos4_tmu.c
+++ b/drivers/hwmon/exynos4_tmu.c
@@ -394,7 +394,7 @@ static int __devinit exynos4_tmu_probe(struct platform_device *pdev)
 	}
 
 	ret = request_irq(data->irq, exynos4_tmu_irq,
-		IRQF_DISABLED | IRQF_TRIGGER_RISING,
+		IRQF_TRIGGER_RISING,
 		"exynos4-tmu", data);
 	if (ret) {
 		dev_err(&pdev->dev, "Failed to request irq: %d\n", data->irq);
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [lm-sensors] [PATCH 56/57] hwmon: irq: Remove IRQF_DISABLED
@ 2011-09-21  9:28   ` Yong Zhang
  0 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Jean Delvare, Guenter Roeck, lm-sensors

Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 drivers/hwmon/exynos4_tmu.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/hwmon/exynos4_tmu.c b/drivers/hwmon/exynos4_tmu.c
index 0170c90..faa0884 100644
--- a/drivers/hwmon/exynos4_tmu.c
+++ b/drivers/hwmon/exynos4_tmu.c
@@ -394,7 +394,7 @@ static int __devinit exynos4_tmu_probe(struct platform_device *pdev)
 	}
 
 	ret = request_irq(data->irq, exynos4_tmu_irq,
-		IRQF_DISABLED | IRQF_TRIGGER_RISING,
+		IRQF_TRIGGER_RISING,
 		"exynos4-tmu", data);
 	if (ret) {
 		dev_err(&pdev->dev, "Failed to request irq: %d\n", data->irq);
-- 
1.7.4.1


_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

^ permalink raw reply related	[flat|nested] 134+ messages in thread

* [PATCH 57/57] genirq: Remove IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
                   ` (54 preceding siblings ...)
  2011-09-21  9:28   ` [lm-sensors] " Yong Zhang
@ 2011-09-21  9:28 ` Yong Zhang
       [not found] ` <1316597339-29861-36-git-send-email-yong.zhang0@gmail.com>
  2011-09-21 12:27 ` [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21  9:28 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: tglx, yong.zhang0, Randy Dunlap, Paul E. McKenney, Eric Dumazet,
	Ingo Molnar, Peter Zijlstra, linux-doc

There is no stuff which depends on IRQF_DISABLED after we
made the tree-wide cleanup. Time to remove it completely.

No too late than 2.6.36 :)

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
---
 Documentation/feature-removal-schedule.txt |    7 -------
 include/linux/interrupt.h                  |    3 ---
 2 files changed, 0 insertions(+), 10 deletions(-)

diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt
index 188cd81..2beacf3 100644
--- a/Documentation/feature-removal-schedule.txt
+++ b/Documentation/feature-removal-schedule.txt
@@ -400,13 +400,6 @@ Who:	Netfilter developer team <netfilter-devel@vger.kernel.org>
 
 ----------------------------
 
-What:	IRQF_DISABLED
-When:	2.6.36
-Why:	The flag is a NOOP as we run interrupt handlers with interrupts disabled
-Who:	Thomas Gleixner <tglx@linutronix.de>
-
-----------------------------
-
 What: 	PCI DMA unmap state API
 When:	August 2012
 Why:	PCI DMA unmap state API (include/linux/pci-dma.h) was replaced
diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h
index a103732..6b10d87 100644
--- a/include/linux/interrupt.h
+++ b/include/linux/interrupt.h
@@ -42,8 +42,6 @@
  * These flags used only by the kernel as part of the
  * irq handling routines.
  *
- * IRQF_DISABLED - keep irqs disabled when calling the action handler.
- *                 DEPRECATED. This flag is a NOOP and scheduled to be removed
  * IRQF_SAMPLE_RANDOM - irq is used to feed the random generator
  * IRQF_SHARED - allow sharing the irq among several devices
  * IRQF_PROBE_SHARED - set by callers when they expect sharing mismatches to occur
@@ -60,7 +58,6 @@
  * IRQF_FORCE_RESUME - Force enable it on resume even if IRQF_NO_SUSPEND is set
  * IRQF_NO_THREAD - Interrupt cannot be threaded
  */
-#define IRQF_DISABLED		0x00000020
 #define IRQF_SAMPLE_RANDOM	0x00000040
 #define IRQF_SHARED		0x00000080
 #define IRQF_PROBE_SHARED	0x00000100
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 134+ messages in thread

* Re: [PATCH 53/57] sound: irq: Remove IRQF_DISABLED
  2011-09-21  9:28   ` Yong Zhang
  (?)
@ 2011-09-21  9:52     ` Takashi Iwai
  -1 siblings, 0 replies; 134+ messages in thread
From: Takashi Iwai @ 2011-09-21  9:52 UTC (permalink / raw)
  To: Yong Zhang
  Cc: alsa-devel, Kuninori Morimoto, Clemens Ladisch, Jaroslav Kysela,
	Peter Ujfalusi, Paul Gortmaker, linux-arch, Russell King,
	Jassi Brar, Manuel Lauss, Uwe Kleine-König, Axel Lin,
	Liam Girdwood, cbe-oss-dev, Wan ZongShun, Lucas De Marchi, tglx,
	linux-arm-kernel, Eric Miao, Geoff Levand, Jiri Kosina,
	Mark Brown, linux-kernel

At Wed, 21 Sep 2011 17:28:54 +0800,
Yong Zhang wrote:
> 
> Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],

Hm, this id hits a different commit:
    commit c58543c869606532c2382f027d6466f4672ea756
    Author: David S. Miller <davem@davemloft.net>
    Date:   Tue Oct 13 00:49:09 2009 -0700

    sparc64: Set IRQF_DISABLED on LDC channel IRQs.

You mean commit e58aa3d2d0cc01ad8d6f7f640a0670433f794922?

> We run all interrupt handlers with interrupts disabled
> and we even check and yell when an interrupt handler
> returns with interrupts enabled (see commit [b738a50a:
> genirq: Warn when handler enables interrupts]).
> 
> So now this flag is a NOOP and can be removed.
> 
> Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

Do you want to merge by yourself or shall I take it to sound git tree?
Since IRQF_DISABLED isn't used, it can be applied safely in 3.1-based
tree, right?

Anyway, if needed, take my ack:
	Acked-by: Takashi Iwai <tiwai@suse.de>


thanks,

Takashi

> ---
>  include/sound/initval.h            |    2 +-
>  sound/arm/aaci.c                   |    2 +-
>  sound/arm/pxa2xx-ac97-lib.c        |    2 +-
>  sound/drivers/ml403-ac97cr.c       |    4 ++--
>  sound/drivers/mpu401/mpu401_uart.c |    2 +-
>  sound/drivers/mtpav.c              |    2 +-
>  sound/drivers/serial-u16550.c      |    2 +-
>  sound/isa/ad1816a/ad1816a_lib.c    |    2 +-
>  sound/isa/es1688/es1688_lib.c      |    2 +-
>  sound/isa/es18xx.c                 |    2 +-
>  sound/isa/gus/gus_main.c           |    2 +-
>  sound/isa/gus/gusmax.c             |    2 +-
>  sound/isa/gus/interwave.c          |    2 +-
>  sound/isa/opl3sa2.c                |    2 +-
>  sound/isa/opti9xx/opti92x-ad1848.c |    2 +-
>  sound/isa/sb/sb_common.c           |    2 +-
>  sound/isa/wavefront/wavefront.c    |    2 +-
>  sound/isa/wss/wss_lib.c            |    2 +-
>  sound/mips/au1x00.c                |    4 ++--
>  sound/pci/sis7019.c                |    4 ++--
>  sound/ppc/snd_ps3.c                |    2 +-
>  sound/soc/au1x/dma.c               |    2 +-
>  sound/soc/codecs/tlv320dac33.c     |    2 +-
>  sound/soc/nuc900/nuc900-pcm.c      |    2 +-
>  sound/soc/samsung/ac97.c           |    2 +-
>  sound/soc/sh/fsi.c                 |    2 +-
>  sound/soc/txx9/txx9aclc-ac97.c     |    2 +-
>  sound/sparc/amd7930.c              |    2 +-
>  28 files changed, 31 insertions(+), 31 deletions(-)
> 
> diff --git a/include/sound/initval.h b/include/sound/initval.h
> index 1daa6df..f99a0d2 100644
> --- a/include/sound/initval.h
> +++ b/include/sound/initval.h
> @@ -62,7 +62,7 @@ static int snd_legacy_find_free_irq(int *irq_table)
>  {
>  	while (*irq_table != -1) {
>  		if (!request_irq(*irq_table, snd_legacy_empty_irq_handler,
> -				 IRQF_DISABLED | IRQF_PROBE_SHARED, "ALSA Test IRQ",
> +				 IRQF_PROBE_SHARED, "ALSA Test IRQ",
>  				 (void *) irq_table)) {
>  			free_irq(*irq_table, (void *) irq_table);
>  			return *irq_table;
> diff --git a/sound/arm/aaci.c b/sound/arm/aaci.c
> index d0cead3..e518d38 100644
> --- a/sound/arm/aaci.c
> +++ b/sound/arm/aaci.c
> @@ -443,7 +443,7 @@ static int aaci_pcm_open(struct snd_pcm_substream *substream)
>  	mutex_lock(&aaci->irq_lock);
>  	if (!aaci->users++) {
>  		ret = request_irq(aaci->dev->irq[0], aaci_irq,
> -			   IRQF_SHARED | IRQF_DISABLED, DRIVER_NAME, aaci);
> +			   IRQF_SHARED, DRIVER_NAME, aaci);
>  		if (ret != 0)
>  			aaci->users--;
>  	}
> diff --git a/sound/arm/pxa2xx-ac97-lib.c b/sound/arm/pxa2xx-ac97-lib.c
> index 88eec38..8ad6535 100644
> --- a/sound/arm/pxa2xx-ac97-lib.c
> +++ b/sound/arm/pxa2xx-ac97-lib.c
> @@ -359,7 +359,7 @@ int __devinit pxa2xx_ac97_hw_probe(struct platform_device *dev)
>  	if (ret)
>  		goto err_clk2;
>  
> -	ret = request_irq(IRQ_AC97, pxa2xx_ac97_irq, IRQF_DISABLED, "AC97", NULL);
> +	ret = request_irq(IRQ_AC97, pxa2xx_ac97_irq, 0, "AC97", NULL);
>  	if (ret < 0)
>  		goto err_irq;
>  
> diff --git a/sound/drivers/ml403-ac97cr.c b/sound/drivers/ml403-ac97cr.c
> index 5cfcb90..2c7a763 100644
> --- a/sound/drivers/ml403-ac97cr.c
> +++ b/sound/drivers/ml403-ac97cr.c
> @@ -1153,7 +1153,7 @@ snd_ml403_ac97cr_create(struct snd_card *card, struct platform_device *pfdev,
>  		   "0x%x done\n", (unsigned int)ml403_ac97cr->port);
>  	/* get irq */
>  	irq = platform_get_irq(pfdev, 0);
> -	if (request_irq(irq, snd_ml403_ac97cr_irq, IRQF_DISABLED,
> +	if (request_irq(irq, snd_ml403_ac97cr_irq, 0,
>  			dev_name(&pfdev->dev), (void *)ml403_ac97cr)) {
>  		snd_printk(KERN_ERR SND_ML403_AC97CR_DRIVER ": "
>  			   "unable to grab IRQ %d\n",
> @@ -1166,7 +1166,7 @@ snd_ml403_ac97cr_create(struct snd_card *card, struct platform_device *pfdev,
>  		   "request (playback) irq %d done\n",
>  		   ml403_ac97cr->irq);
>  	irq = platform_get_irq(pfdev, 1);
> -	if (request_irq(irq, snd_ml403_ac97cr_irq, IRQF_DISABLED,
> +	if (request_irq(irq, snd_ml403_ac97cr_irq, 0,
>  			dev_name(&pfdev->dev), (void *)ml403_ac97cr)) {
>  		snd_printk(KERN_ERR SND_ML403_AC97CR_DRIVER ": "
>  			   "unable to grab IRQ %d\n",
> diff --git a/sound/drivers/mpu401/mpu401_uart.c b/sound/drivers/mpu401/mpu401_uart.c
> index 34df505..1cff331 100644
> --- a/sound/drivers/mpu401/mpu401_uart.c
> +++ b/sound/drivers/mpu401/mpu401_uart.c
> @@ -578,7 +578,7 @@ int snd_mpu401_uart_new(struct snd_card *card, int device,
>  	else
>  		mpu->cport = port + 1;
>  	if (irq >= 0) {
> -		if (request_irq(irq, snd_mpu401_uart_interrupt, IRQF_DISABLED,
> +		if (request_irq(irq, snd_mpu401_uart_interrupt, 0,
>  				"MPU401 UART", (void *) mpu)) {
>  			snd_printk(KERN_ERR "mpu401_uart: "
>  				   "unable to grab IRQ %d\n", irq);
> diff --git a/sound/drivers/mtpav.c b/sound/drivers/mtpav.c
> index f50021c..7693079 100644
> --- a/sound/drivers/mtpav.c
> +++ b/sound/drivers/mtpav.c
> @@ -590,7 +590,7 @@ static int __devinit snd_mtpav_get_ISA(struct mtpav * mcard)
>  		return -EBUSY;
>  	}
>  	mcard->port = port;
> -	if (request_irq(irq, snd_mtpav_irqh, IRQF_DISABLED, "MOTU MTPAV", mcard)) {
> +	if (request_irq(irq, snd_mtpav_irqh, 0, "MOTU MTPAV", mcard)) {
>  		snd_printk(KERN_ERR "MTVAP IRQ %d busy\n", irq);
>  		return -EBUSY;
>  	}
> diff --git a/sound/drivers/serial-u16550.c b/sound/drivers/serial-u16550.c
> index 6c5bf58..85aad43 100644
> --- a/sound/drivers/serial-u16550.c
> +++ b/sound/drivers/serial-u16550.c
> @@ -816,7 +816,7 @@ static int __devinit snd_uart16550_create(struct snd_card *card,
>  
>  	if (irq >= 0 && irq != SNDRV_AUTO_IRQ) {
>  		if (request_irq(irq, snd_uart16550_interrupt,
> -				IRQF_DISABLED, "Serial MIDI", uart)) {
> +				0, "Serial MIDI", uart)) {
>  			snd_printk(KERN_WARNING
>  				   "irq %d busy. Using Polling.\n", irq);
>  		} else {
> diff --git a/sound/isa/ad1816a/ad1816a_lib.c b/sound/isa/ad1816a/ad1816a_lib.c
> index 05aef8b..177eed3 100644
> --- a/sound/isa/ad1816a/ad1816a_lib.c
> +++ b/sound/isa/ad1816a/ad1816a_lib.c
> @@ -595,7 +595,7 @@ int __devinit snd_ad1816a_create(struct snd_card *card,
>  		snd_ad1816a_free(chip);
>  		return -EBUSY;
>  	}
> -	if (request_irq(irq, snd_ad1816a_interrupt, IRQF_DISABLED, "AD1816A", (void *) chip)) {
> +	if (request_irq(irq, snd_ad1816a_interrupt, 0, "AD1816A", (void *) chip)) {
>  		snd_printk(KERN_ERR "ad1816a: can't grab IRQ %d\n", irq);
>  		snd_ad1816a_free(chip);
>  		return -EBUSY;
> diff --git a/sound/isa/es1688/es1688_lib.c b/sound/isa/es1688/es1688_lib.c
> index 0767620..d3eab6f 100644
> --- a/sound/isa/es1688/es1688_lib.c
> +++ b/sound/isa/es1688/es1688_lib.c
> @@ -661,7 +661,7 @@ int snd_es1688_create(struct snd_card *card,
>  		snd_printk(KERN_ERR "es1688: can't grab port 0x%lx\n", port + 4);
>  		return -EBUSY;
>  	}
> -	if (request_irq(irq, snd_es1688_interrupt, IRQF_DISABLED, "ES1688", (void *) chip)) {
> +	if (request_irq(irq, snd_es1688_interrupt, 0, "ES1688", (void *) chip)) {
>  		snd_printk(KERN_ERR "es1688: can't grab IRQ %d\n", irq);
>  		return -EBUSY;
>  	}
> diff --git a/sound/isa/es18xx.c b/sound/isa/es18xx.c
> index aeee8f8..bf6ad0b 100644
> --- a/sound/isa/es18xx.c
> +++ b/sound/isa/es18xx.c
> @@ -1805,7 +1805,7 @@ static int __devinit snd_es18xx_new_device(struct snd_card *card,
>  		return -EBUSY;
>  	}
>  
> -	if (request_irq(irq, snd_es18xx_interrupt, IRQF_DISABLED, "ES18xx",
> +	if (request_irq(irq, snd_es18xx_interrupt, 0, "ES18xx",
>  			(void *) card)) {
>  		snd_es18xx_free(card);
>  		snd_printk(KERN_ERR PFX "unable to grap IRQ %d\n", irq);
> diff --git a/sound/isa/gus/gus_main.c b/sound/isa/gus/gus_main.c
> index 12eb98f..3167e5a 100644
> --- a/sound/isa/gus/gus_main.c
> +++ b/sound/isa/gus/gus_main.c
> @@ -180,7 +180,7 @@ int snd_gus_create(struct snd_card *card,
>  		snd_gus_free(gus);
>  		return -EBUSY;
>  	}
> -	if (irq >= 0 && request_irq(irq, snd_gus_interrupt, IRQF_DISABLED, "GUS GF1", (void *) gus)) {
> +	if (irq >= 0 && request_irq(irq, snd_gus_interrupt, 0, "GUS GF1", (void *) gus)) {
>  		snd_printk(KERN_ERR "gus: can't grab irq %d\n", irq);
>  		snd_gus_free(gus);
>  		return -EBUSY;
> diff --git a/sound/isa/gus/gusmax.c b/sound/isa/gus/gusmax.c
> index 3e4a58b..c43faa0 100644
> --- a/sound/isa/gus/gusmax.c
> +++ b/sound/isa/gus/gusmax.c
> @@ -291,7 +291,7 @@ static int __devinit snd_gusmax_probe(struct device *pdev, unsigned int dev)
>  		goto _err;
>  	}
>  
> -	if (request_irq(xirq, snd_gusmax_interrupt, IRQF_DISABLED, "GUS MAX", (void *)maxcard)) {
> +	if (request_irq(xirq, snd_gusmax_interrupt, 0, "GUS MAX", (void *)maxcard)) {
>  		snd_printk(KERN_ERR PFX "unable to grab IRQ %d\n", xirq);
>  		err = -EBUSY;
>  		goto _err;
> diff --git a/sound/isa/gus/interwave.c b/sound/isa/gus/interwave.c
> index c7b80e4..5f869a3 100644
> --- a/sound/isa/gus/interwave.c
> +++ b/sound/isa/gus/interwave.c
> @@ -684,7 +684,7 @@ static int __devinit snd_interwave_probe(struct snd_card *card, int dev)
>  	if ((err = snd_gus_initialize(gus)) < 0)
>  		return err;
>  
> -	if (request_irq(xirq, snd_interwave_interrupt, IRQF_DISABLED,
> +	if (request_irq(xirq, snd_interwave_interrupt, 0,
>  			"InterWave", iwcard)) {
>  		snd_printk(KERN_ERR PFX "unable to grab IRQ %d\n", xirq);
>  		return -EBUSY;
> diff --git a/sound/isa/opl3sa2.c b/sound/isa/opl3sa2.c
> index de99f47..bbafb0b 100644
> --- a/sound/isa/opl3sa2.c
> +++ b/sound/isa/opl3sa2.c
> @@ -667,7 +667,7 @@ static int __devinit snd_opl3sa2_probe(struct snd_card *card, int dev)
>  	err = snd_opl3sa2_detect(card);
>  	if (err < 0)
>  		return err;
> -	err = request_irq(xirq, snd_opl3sa2_interrupt, IRQF_DISABLED,
> +	err = request_irq(xirq, snd_opl3sa2_interrupt, 0,
>  			  "OPL3-SA2", card);
>  	if (err) {
>  		snd_printk(KERN_ERR PFX "can't grab IRQ %d\n", xirq);
> diff --git a/sound/isa/opti9xx/opti92x-ad1848.c b/sound/isa/opti9xx/opti92x-ad1848.c
> index 346e12b..6dbbfa7 100644
> --- a/sound/isa/opti9xx/opti92x-ad1848.c
> +++ b/sound/isa/opti9xx/opti92x-ad1848.c
> @@ -892,7 +892,7 @@ static int __devinit snd_opti9xx_probe(struct snd_card *card)
>  #endif
>  #ifdef OPTi93X
>  	error = request_irq(irq, snd_opti93x_interrupt,
> -			    IRQF_DISABLED, DEV_NAME" - WSS", chip);
> +			    0, DEV_NAME" - WSS", chip);
>  	if (error < 0) {
>  		snd_printk(KERN_ERR "opti9xx: can't grab IRQ %d\n", irq);
>  		return error;
> diff --git a/sound/isa/sb/sb_common.c b/sound/isa/sb/sb_common.c
> index eae6c1c..d2e1921 100644
> --- a/sound/isa/sb/sb_common.c
> +++ b/sound/isa/sb/sb_common.c
> @@ -240,7 +240,7 @@ int snd_sbdsp_create(struct snd_card *card,
>  	if (request_irq(irq, irq_handler,
>  			(hardware == SB_HW_ALS4000 ||
>  			 hardware == SB_HW_CS5530) ?
> -			IRQF_SHARED : IRQF_DISABLED,
> +			IRQF_SHARED : 0,
>  			"SoundBlaster", (void *) chip)) {
>  		snd_printk(KERN_ERR "sb: can't grab irq %d\n", irq);
>  		snd_sbdsp_free(chip);
> diff --git a/sound/isa/wavefront/wavefront.c b/sound/isa/wavefront/wavefront.c
> index 83f291d..8714297 100644
> --- a/sound/isa/wavefront/wavefront.c
> +++ b/sound/isa/wavefront/wavefront.c
> @@ -418,7 +418,7 @@ snd_wavefront_probe (struct snd_card *card, int dev)
>  		return -EBUSY;
>  	}
>  	if (request_irq(ics2115_irq[dev], snd_wavefront_ics2115_interrupt,
> -			IRQF_DISABLED, "ICS2115", acard)) {
> +			0, "ICS2115", acard)) {
>  		snd_printk(KERN_ERR "unable to use ICS2115 IRQ %d\n", ics2115_irq[dev]);
>  		return -EBUSY;
>  	}
> diff --git a/sound/isa/wss/wss_lib.c b/sound/isa/wss/wss_lib.c
> index 2a42cc3..7277c5b 100644
> --- a/sound/isa/wss/wss_lib.c
> +++ b/sound/isa/wss/wss_lib.c
> @@ -1833,7 +1833,7 @@ int snd_wss_create(struct snd_card *card,
>  	}
>  	chip->cport = cport;
>  	if (!(hwshare & WSS_HWSHARE_IRQ))
> -		if (request_irq(irq, snd_wss_interrupt, IRQF_DISABLED,
> +		if (request_irq(irq, snd_wss_interrupt, 0,
>  				"WSS", (void *) chip)) {
>  			snd_printk(KERN_ERR "wss: can't grab IRQ %d\n", irq);
>  			snd_wss_free(chip);
> diff --git a/sound/mips/au1x00.c b/sound/mips/au1x00.c
> index 446cf97..7567ebd 100644
> --- a/sound/mips/au1x00.c
> +++ b/sound/mips/au1x00.c
> @@ -465,13 +465,13 @@ snd_au1000_pcm_new(struct snd_au1000 *au1000)
>  
>  	flags = claim_dma_lock();
>  	if ((au1000->stream[PLAYBACK]->dma = request_au1000_dma(DMA_ID_AC97C_TX,
> -			"AC97 TX", au1000_dma_interrupt, IRQF_DISABLED,
> +			"AC97 TX", au1000_dma_interrupt, 0,
>  			au1000->stream[PLAYBACK])) < 0) {
>  		release_dma_lock(flags);
>  		return -EBUSY;
>  	}
>  	if ((au1000->stream[CAPTURE]->dma = request_au1000_dma(DMA_ID_AC97C_RX,
> -			"AC97 RX", au1000_dma_interrupt, IRQF_DISABLED,
> +			"AC97 RX", au1000_dma_interrupt, 0,
>  			au1000->stream[CAPTURE])) < 0){
>  		release_dma_lock(flags);
>  		return -EBUSY;
> diff --git a/sound/pci/sis7019.c b/sound/pci/sis7019.c
> index bcf6152..5ffb20b 100644
> --- a/sound/pci/sis7019.c
> +++ b/sound/pci/sis7019.c
> @@ -1234,7 +1234,7 @@ static int sis_resume(struct pci_dev *pci)
>  		goto error;
>  	}
>  
> -	if (request_irq(pci->irq, sis_interrupt, IRQF_DISABLED|IRQF_SHARED,
> +	if (request_irq(pci->irq, sis_interrupt, IRQF_SHARED,
>  			KBUILD_MODNAME, sis)) {
>  		printk(KERN_ERR "sis7019: unable to regain IRQ %d\n", pci->irq);
>  		goto error;
> @@ -1340,7 +1340,7 @@ static int __devinit sis_chip_create(struct snd_card *card,
>  	if (rc)
>  		goto error_out_cleanup;
>  
> -	if (request_irq(pci->irq, sis_interrupt, IRQF_DISABLED|IRQF_SHARED,
> +	if (request_irq(pci->irq, sis_interrupt, IRQF_SHARED,
>  			KBUILD_MODNAME, sis)) {
>  		printk(KERN_ERR "unable to allocate irq %d\n", sis->irq);
>  		goto error_out_cleanup;
> diff --git a/sound/ppc/snd_ps3.c b/sound/ppc/snd_ps3.c
> index bc823a5..775bd95 100644
> --- a/sound/ppc/snd_ps3.c
> +++ b/sound/ppc/snd_ps3.c
> @@ -845,7 +845,7 @@ static int __devinit snd_ps3_allocate_irq(void)
>  		return ret;
>  	}
>  
> -	ret = request_irq(the_card.irq_no, snd_ps3_interrupt, IRQF_DISABLED,
> +	ret = request_irq(the_card.irq_no, snd_ps3_interrupt, 0,
>  			  SND_PS3_DRIVER_NAME, &the_card);
>  	if (ret) {
>  		pr_info("%s: request_irq failed (%d)\n", __func__, ret);
> diff --git a/sound/soc/au1x/dma.c b/sound/soc/au1x/dma.c
> index 7aa5b76..177f713 100644
> --- a/sound/soc/au1x/dma.c
> +++ b/sound/soc/au1x/dma.c
> @@ -211,7 +211,7 @@ static int alchemy_pcm_open(struct snd_pcm_substream *substream)
>  	/* DMA setup */
>  	name = (s == SNDRV_PCM_STREAM_PLAYBACK) ? "audio-tx" : "audio-rx";
>  	ctx->stream[s].dma = request_au1000_dma(dmaids[s], name,
> -					au1000_dma_interrupt, IRQF_DISABLED,
> +					au1000_dma_interrupt, 0,
>  					&ctx->stream[s]);
>  	set_dma_mode(ctx->stream[s].dma,
>  		     get_dma_mode(ctx->stream[s].dma) & ~DMA_NC);
> diff --git a/sound/soc/codecs/tlv320dac33.c b/sound/soc/codecs/tlv320dac33.c
> index faa5e9f..243d177 100644
> --- a/sound/soc/codecs/tlv320dac33.c
> +++ b/sound/soc/codecs/tlv320dac33.c
> @@ -1431,7 +1431,7 @@ static int dac33_soc_probe(struct snd_soc_codec *codec)
>  	/* Check if the IRQ number is valid and request it */
>  	if (dac33->irq >= 0) {
>  		ret = request_irq(dac33->irq, dac33_interrupt_handler,
> -				  IRQF_TRIGGER_RISING | IRQF_DISABLED,
> +				  IRQF_TRIGGER_RISING,
>  				  codec->name, codec);
>  		if (ret < 0) {
>  			dev_err(codec->dev, "Could not request IRQ%d (%d)\n",
> diff --git a/sound/soc/nuc900/nuc900-pcm.c b/sound/soc/nuc900/nuc900-pcm.c
> index e46d551..865b288 100644
> --- a/sound/soc/nuc900/nuc900-pcm.c
> +++ b/sound/soc/nuc900/nuc900-pcm.c
> @@ -268,7 +268,7 @@ static int nuc900_dma_open(struct snd_pcm_substream *substream)
>  	nuc900_audio = nuc900_ac97_data;
>  
>  	if (request_irq(nuc900_audio->irq_num, nuc900_dma_interrupt,
> -			IRQF_DISABLED, "nuc900-dma", substream))
> +			0, "nuc900-dma", substream))
>  		return -EBUSY;
>  
>  	runtime->private_data = nuc900_audio;
> diff --git a/sound/soc/samsung/ac97.c b/sound/soc/samsung/ac97.c
> index b4f9b00..41b387b 100644
> --- a/sound/soc/samsung/ac97.c
> +++ b/sound/soc/samsung/ac97.c
> @@ -450,7 +450,7 @@ static __devinit int s3c_ac97_probe(struct platform_device *pdev)
>  	}
>  
>  	ret = request_irq(irq_res->start, s3c_ac97_irq,
> -					IRQF_DISABLED, "AC97", NULL);
> +					0, "AC97", NULL);
>  	if (ret < 0) {
>  		dev_err(&pdev->dev, "ac97: interrupt request failed.\n");
>  		goto err4;
> diff --git a/sound/soc/sh/fsi.c b/sound/soc/sh/fsi.c
> index 8e112cc..1493ebf 100644
> --- a/sound/soc/sh/fsi.c
> +++ b/sound/soc/sh/fsi.c
> @@ -1285,7 +1285,7 @@ static int fsi_probe(struct platform_device *pdev)
>  	pm_runtime_enable(&pdev->dev);
>  	dev_set_drvdata(&pdev->dev, master);
>  
> -	ret = request_irq(irq, &fsi_interrupt, IRQF_DISABLED,
> +	ret = request_irq(irq, &fsi_interrupt, 0,
>  			  id_entry->name, master);
>  	if (ret) {
>  		dev_err(&pdev->dev, "irq request err\n");
> diff --git a/sound/soc/txx9/txx9aclc-ac97.c b/sound/soc/txx9/txx9aclc-ac97.c
> index 743d07b..a4e3f55 100644
> --- a/sound/soc/txx9/txx9aclc-ac97.c
> +++ b/sound/soc/txx9/txx9aclc-ac97.c
> @@ -201,7 +201,7 @@ static int __devinit txx9aclc_ac97_dev_probe(struct platform_device *pdev)
>  	if (!drvdata->base)
>  		return -EBUSY;
>  	err = devm_request_irq(&pdev->dev, irq, txx9aclc_ac97_irq,
> -			       IRQF_DISABLED, dev_name(&pdev->dev), drvdata);
> +			       0, dev_name(&pdev->dev), drvdata);
>  	if (err < 0)
>  		return err;
>  
> diff --git a/sound/sparc/amd7930.c b/sound/sparc/amd7930.c
> index ad7d4d7..f036776 100644
> --- a/sound/sparc/amd7930.c
> +++ b/sound/sparc/amd7930.c
> @@ -962,7 +962,7 @@ static int __devinit snd_amd7930_create(struct snd_card *card,
>  	amd7930_idle(amd);
>  
>  	if (request_irq(irq, snd_amd7930_interrupt,
> -			IRQF_DISABLED | IRQF_SHARED, "amd7930", amd)) {
> +			IRQF_SHARED, "amd7930", amd)) {
>  		snd_printk(KERN_ERR "amd7930-%d: Unable to grab IRQ %d\n",
>  			   dev, irq);
>  		snd_amd7930_free(amd);
> -- 
> 1.7.4.1
> 

^ permalink raw reply	[flat|nested] 134+ messages in thread

* Re: [PATCH 53/57] sound: irq: Remove IRQF_DISABLED
@ 2011-09-21  9:52     ` Takashi Iwai
  0 siblings, 0 replies; 134+ messages in thread
From: Takashi Iwai @ 2011-09-21  9:52 UTC (permalink / raw)
  To: Yong Zhang
  Cc: alsa-devel, Kuninori Morimoto, Clemens Ladisch, Jaroslav Kysela,
	Peter Ujfalusi, Paul Gortmaker, linux-arch, Russell King,
	Jassi Brar, Manuel Lauss, Uwe Kleine-König, Axel Lin,
	Liam Girdwood, cbe-oss-dev, Wan ZongShun, Lucas De Marchi, tglx,
	linux-arm-kernel, Eric Miao, Geoff Levand, Jiri Kosina,
	Mark Brown, linux-kernel, Sangbeom Kim, Paul Mundt, Simon Horman,
	Joe Perches, Jarkko Nikula, linuxppc-dev

At Wed, 21 Sep 2011 17:28:54 +0800,
Yong Zhang wrote:
> 
> Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],

Hm, this id hits a different commit:
    commit c58543c869606532c2382f027d6466f4672ea756
    Author: David S. Miller <davem@davemloft.net>
    Date:   Tue Oct 13 00:49:09 2009 -0700

    sparc64: Set IRQF_DISABLED on LDC channel IRQs.

You mean commit e58aa3d2d0cc01ad8d6f7f640a0670433f794922?

> We run all interrupt handlers with interrupts disabled
> and we even check and yell when an interrupt handler
> returns with interrupts enabled (see commit [b738a50a:
> genirq: Warn when handler enables interrupts]).
> 
> So now this flag is a NOOP and can be removed.
> 
> Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

Do you want to merge by yourself or shall I take it to sound git tree?
Since IRQF_DISABLED isn't used, it can be applied safely in 3.1-based
tree, right?

Anyway, if needed, take my ack:
	Acked-by: Takashi Iwai <tiwai@suse.de>


thanks,

Takashi

> ---
>  include/sound/initval.h            |    2 +-
>  sound/arm/aaci.c                   |    2 +-
>  sound/arm/pxa2xx-ac97-lib.c        |    2 +-
>  sound/drivers/ml403-ac97cr.c       |    4 ++--
>  sound/drivers/mpu401/mpu401_uart.c |    2 +-
>  sound/drivers/mtpav.c              |    2 +-
>  sound/drivers/serial-u16550.c      |    2 +-
>  sound/isa/ad1816a/ad1816a_lib.c    |    2 +-
>  sound/isa/es1688/es1688_lib.c      |    2 +-
>  sound/isa/es18xx.c                 |    2 +-
>  sound/isa/gus/gus_main.c           |    2 +-
>  sound/isa/gus/gusmax.c             |    2 +-
>  sound/isa/gus/interwave.c          |    2 +-
>  sound/isa/opl3sa2.c                |    2 +-
>  sound/isa/opti9xx/opti92x-ad1848.c |    2 +-
>  sound/isa/sb/sb_common.c           |    2 +-
>  sound/isa/wavefront/wavefront.c    |    2 +-
>  sound/isa/wss/wss_lib.c            |    2 +-
>  sound/mips/au1x00.c                |    4 ++--
>  sound/pci/sis7019.c                |    4 ++--
>  sound/ppc/snd_ps3.c                |    2 +-
>  sound/soc/au1x/dma.c               |    2 +-
>  sound/soc/codecs/tlv320dac33.c     |    2 +-
>  sound/soc/nuc900/nuc900-pcm.c      |    2 +-
>  sound/soc/samsung/ac97.c           |    2 +-
>  sound/soc/sh/fsi.c                 |    2 +-
>  sound/soc/txx9/txx9aclc-ac97.c     |    2 +-
>  sound/sparc/amd7930.c              |    2 +-
>  28 files changed, 31 insertions(+), 31 deletions(-)
> 
> diff --git a/include/sound/initval.h b/include/sound/initval.h
> index 1daa6df..f99a0d2 100644
> --- a/include/sound/initval.h
> +++ b/include/sound/initval.h
> @@ -62,7 +62,7 @@ static int snd_legacy_find_free_irq(int *irq_table)
>  {
>  	while (*irq_table != -1) {
>  		if (!request_irq(*irq_table, snd_legacy_empty_irq_handler,
> -				 IRQF_DISABLED | IRQF_PROBE_SHARED, "ALSA Test IRQ",
> +				 IRQF_PROBE_SHARED, "ALSA Test IRQ",
>  				 (void *) irq_table)) {
>  			free_irq(*irq_table, (void *) irq_table);
>  			return *irq_table;
> diff --git a/sound/arm/aaci.c b/sound/arm/aaci.c
> index d0cead3..e518d38 100644
> --- a/sound/arm/aaci.c
> +++ b/sound/arm/aaci.c
> @@ -443,7 +443,7 @@ static int aaci_pcm_open(struct snd_pcm_substream *substream)
>  	mutex_lock(&aaci->irq_lock);
>  	if (!aaci->users++) {
>  		ret = request_irq(aaci->dev->irq[0], aaci_irq,
> -			   IRQF_SHARED | IRQF_DISABLED, DRIVER_NAME, aaci);
> +			   IRQF_SHARED, DRIVER_NAME, aaci);
>  		if (ret != 0)
>  			aaci->users--;
>  	}
> diff --git a/sound/arm/pxa2xx-ac97-lib.c b/sound/arm/pxa2xx-ac97-lib.c
> index 88eec38..8ad6535 100644
> --- a/sound/arm/pxa2xx-ac97-lib.c
> +++ b/sound/arm/pxa2xx-ac97-lib.c
> @@ -359,7 +359,7 @@ int __devinit pxa2xx_ac97_hw_probe(struct platform_device *dev)
>  	if (ret)
>  		goto err_clk2;
>  
> -	ret = request_irq(IRQ_AC97, pxa2xx_ac97_irq, IRQF_DISABLED, "AC97", NULL);
> +	ret = request_irq(IRQ_AC97, pxa2xx_ac97_irq, 0, "AC97", NULL);
>  	if (ret < 0)
>  		goto err_irq;
>  
> diff --git a/sound/drivers/ml403-ac97cr.c b/sound/drivers/ml403-ac97cr.c
> index 5cfcb90..2c7a763 100644
> --- a/sound/drivers/ml403-ac97cr.c
> +++ b/sound/drivers/ml403-ac97cr.c
> @@ -1153,7 +1153,7 @@ snd_ml403_ac97cr_create(struct snd_card *card, struct platform_device *pfdev,
>  		   "0x%x done\n", (unsigned int)ml403_ac97cr->port);
>  	/* get irq */
>  	irq = platform_get_irq(pfdev, 0);
> -	if (request_irq(irq, snd_ml403_ac97cr_irq, IRQF_DISABLED,
> +	if (request_irq(irq, snd_ml403_ac97cr_irq, 0,
>  			dev_name(&pfdev->dev), (void *)ml403_ac97cr)) {
>  		snd_printk(KERN_ERR SND_ML403_AC97CR_DRIVER ": "
>  			   "unable to grab IRQ %d\n",
> @@ -1166,7 +1166,7 @@ snd_ml403_ac97cr_create(struct snd_card *card, struct platform_device *pfdev,
>  		   "request (playback) irq %d done\n",
>  		   ml403_ac97cr->irq);
>  	irq = platform_get_irq(pfdev, 1);
> -	if (request_irq(irq, snd_ml403_ac97cr_irq, IRQF_DISABLED,
> +	if (request_irq(irq, snd_ml403_ac97cr_irq, 0,
>  			dev_name(&pfdev->dev), (void *)ml403_ac97cr)) {
>  		snd_printk(KERN_ERR SND_ML403_AC97CR_DRIVER ": "
>  			   "unable to grab IRQ %d\n",
> diff --git a/sound/drivers/mpu401/mpu401_uart.c b/sound/drivers/mpu401/mpu401_uart.c
> index 34df505..1cff331 100644
> --- a/sound/drivers/mpu401/mpu401_uart.c
> +++ b/sound/drivers/mpu401/mpu401_uart.c
> @@ -578,7 +578,7 @@ int snd_mpu401_uart_new(struct snd_card *card, int device,
>  	else
>  		mpu->cport = port + 1;
>  	if (irq >= 0) {
> -		if (request_irq(irq, snd_mpu401_uart_interrupt, IRQF_DISABLED,
> +		if (request_irq(irq, snd_mpu401_uart_interrupt, 0,
>  				"MPU401 UART", (void *) mpu)) {
>  			snd_printk(KERN_ERR "mpu401_uart: "
>  				   "unable to grab IRQ %d\n", irq);
> diff --git a/sound/drivers/mtpav.c b/sound/drivers/mtpav.c
> index f50021c..7693079 100644
> --- a/sound/drivers/mtpav.c
> +++ b/sound/drivers/mtpav.c
> @@ -590,7 +590,7 @@ static int __devinit snd_mtpav_get_ISA(struct mtpav * mcard)
>  		return -EBUSY;
>  	}
>  	mcard->port = port;
> -	if (request_irq(irq, snd_mtpav_irqh, IRQF_DISABLED, "MOTU MTPAV", mcard)) {
> +	if (request_irq(irq, snd_mtpav_irqh, 0, "MOTU MTPAV", mcard)) {
>  		snd_printk(KERN_ERR "MTVAP IRQ %d busy\n", irq);
>  		return -EBUSY;
>  	}
> diff --git a/sound/drivers/serial-u16550.c b/sound/drivers/serial-u16550.c
> index 6c5bf58..85aad43 100644
> --- a/sound/drivers/serial-u16550.c
> +++ b/sound/drivers/serial-u16550.c
> @@ -816,7 +816,7 @@ static int __devinit snd_uart16550_create(struct snd_card *card,
>  
>  	if (irq >= 0 && irq != SNDRV_AUTO_IRQ) {
>  		if (request_irq(irq, snd_uart16550_interrupt,
> -				IRQF_DISABLED, "Serial MIDI", uart)) {
> +				0, "Serial MIDI", uart)) {
>  			snd_printk(KERN_WARNING
>  				   "irq %d busy. Using Polling.\n", irq);
>  		} else {
> diff --git a/sound/isa/ad1816a/ad1816a_lib.c b/sound/isa/ad1816a/ad1816a_lib.c
> index 05aef8b..177eed3 100644
> --- a/sound/isa/ad1816a/ad1816a_lib.c
> +++ b/sound/isa/ad1816a/ad1816a_lib.c
> @@ -595,7 +595,7 @@ int __devinit snd_ad1816a_create(struct snd_card *card,
>  		snd_ad1816a_free(chip);
>  		return -EBUSY;
>  	}
> -	if (request_irq(irq, snd_ad1816a_interrupt, IRQF_DISABLED, "AD1816A", (void *) chip)) {
> +	if (request_irq(irq, snd_ad1816a_interrupt, 0, "AD1816A", (void *) chip)) {
>  		snd_printk(KERN_ERR "ad1816a: can't grab IRQ %d\n", irq);
>  		snd_ad1816a_free(chip);
>  		return -EBUSY;
> diff --git a/sound/isa/es1688/es1688_lib.c b/sound/isa/es1688/es1688_lib.c
> index 0767620..d3eab6f 100644
> --- a/sound/isa/es1688/es1688_lib.c
> +++ b/sound/isa/es1688/es1688_lib.c
> @@ -661,7 +661,7 @@ int snd_es1688_create(struct snd_card *card,
>  		snd_printk(KERN_ERR "es1688: can't grab port 0x%lx\n", port + 4);
>  		return -EBUSY;
>  	}
> -	if (request_irq(irq, snd_es1688_interrupt, IRQF_DISABLED, "ES1688", (void *) chip)) {
> +	if (request_irq(irq, snd_es1688_interrupt, 0, "ES1688", (void *) chip)) {
>  		snd_printk(KERN_ERR "es1688: can't grab IRQ %d\n", irq);
>  		return -EBUSY;
>  	}
> diff --git a/sound/isa/es18xx.c b/sound/isa/es18xx.c
> index aeee8f8..bf6ad0b 100644
> --- a/sound/isa/es18xx.c
> +++ b/sound/isa/es18xx.c
> @@ -1805,7 +1805,7 @@ static int __devinit snd_es18xx_new_device(struct snd_card *card,
>  		return -EBUSY;
>  	}
>  
> -	if (request_irq(irq, snd_es18xx_interrupt, IRQF_DISABLED, "ES18xx",
> +	if (request_irq(irq, snd_es18xx_interrupt, 0, "ES18xx",
>  			(void *) card)) {
>  		snd_es18xx_free(card);
>  		snd_printk(KERN_ERR PFX "unable to grap IRQ %d\n", irq);
> diff --git a/sound/isa/gus/gus_main.c b/sound/isa/gus/gus_main.c
> index 12eb98f..3167e5a 100644
> --- a/sound/isa/gus/gus_main.c
> +++ b/sound/isa/gus/gus_main.c
> @@ -180,7 +180,7 @@ int snd_gus_create(struct snd_card *card,
>  		snd_gus_free(gus);
>  		return -EBUSY;
>  	}
> -	if (irq >= 0 && request_irq(irq, snd_gus_interrupt, IRQF_DISABLED, "GUS GF1", (void *) gus)) {
> +	if (irq >= 0 && request_irq(irq, snd_gus_interrupt, 0, "GUS GF1", (void *) gus)) {
>  		snd_printk(KERN_ERR "gus: can't grab irq %d\n", irq);
>  		snd_gus_free(gus);
>  		return -EBUSY;
> diff --git a/sound/isa/gus/gusmax.c b/sound/isa/gus/gusmax.c
> index 3e4a58b..c43faa0 100644
> --- a/sound/isa/gus/gusmax.c
> +++ b/sound/isa/gus/gusmax.c
> @@ -291,7 +291,7 @@ static int __devinit snd_gusmax_probe(struct device *pdev, unsigned int dev)
>  		goto _err;
>  	}
>  
> -	if (request_irq(xirq, snd_gusmax_interrupt, IRQF_DISABLED, "GUS MAX", (void *)maxcard)) {
> +	if (request_irq(xirq, snd_gusmax_interrupt, 0, "GUS MAX", (void *)maxcard)) {
>  		snd_printk(KERN_ERR PFX "unable to grab IRQ %d\n", xirq);
>  		err = -EBUSY;
>  		goto _err;
> diff --git a/sound/isa/gus/interwave.c b/sound/isa/gus/interwave.c
> index c7b80e4..5f869a3 100644
> --- a/sound/isa/gus/interwave.c
> +++ b/sound/isa/gus/interwave.c
> @@ -684,7 +684,7 @@ static int __devinit snd_interwave_probe(struct snd_card *card, int dev)
>  	if ((err = snd_gus_initialize(gus)) < 0)
>  		return err;
>  
> -	if (request_irq(xirq, snd_interwave_interrupt, IRQF_DISABLED,
> +	if (request_irq(xirq, snd_interwave_interrupt, 0,
>  			"InterWave", iwcard)) {
>  		snd_printk(KERN_ERR PFX "unable to grab IRQ %d\n", xirq);
>  		return -EBUSY;
> diff --git a/sound/isa/opl3sa2.c b/sound/isa/opl3sa2.c
> index de99f47..bbafb0b 100644
> --- a/sound/isa/opl3sa2.c
> +++ b/sound/isa/opl3sa2.c
> @@ -667,7 +667,7 @@ static int __devinit snd_opl3sa2_probe(struct snd_card *card, int dev)
>  	err = snd_opl3sa2_detect(card);
>  	if (err < 0)
>  		return err;
> -	err = request_irq(xirq, snd_opl3sa2_interrupt, IRQF_DISABLED,
> +	err = request_irq(xirq, snd_opl3sa2_interrupt, 0,
>  			  "OPL3-SA2", card);
>  	if (err) {
>  		snd_printk(KERN_ERR PFX "can't grab IRQ %d\n", xirq);
> diff --git a/sound/isa/opti9xx/opti92x-ad1848.c b/sound/isa/opti9xx/opti92x-ad1848.c
> index 346e12b..6dbbfa7 100644
> --- a/sound/isa/opti9xx/opti92x-ad1848.c
> +++ b/sound/isa/opti9xx/opti92x-ad1848.c
> @@ -892,7 +892,7 @@ static int __devinit snd_opti9xx_probe(struct snd_card *card)
>  #endif
>  #ifdef OPTi93X
>  	error = request_irq(irq, snd_opti93x_interrupt,
> -			    IRQF_DISABLED, DEV_NAME" - WSS", chip);
> +			    0, DEV_NAME" - WSS", chip);
>  	if (error < 0) {
>  		snd_printk(KERN_ERR "opti9xx: can't grab IRQ %d\n", irq);
>  		return error;
> diff --git a/sound/isa/sb/sb_common.c b/sound/isa/sb/sb_common.c
> index eae6c1c..d2e1921 100644
> --- a/sound/isa/sb/sb_common.c
> +++ b/sound/isa/sb/sb_common.c
> @@ -240,7 +240,7 @@ int snd_sbdsp_create(struct snd_card *card,
>  	if (request_irq(irq, irq_handler,
>  			(hardware == SB_HW_ALS4000 ||
>  			 hardware == SB_HW_CS5530) ?
> -			IRQF_SHARED : IRQF_DISABLED,
> +			IRQF_SHARED : 0,
>  			"SoundBlaster", (void *) chip)) {
>  		snd_printk(KERN_ERR "sb: can't grab irq %d\n", irq);
>  		snd_sbdsp_free(chip);
> diff --git a/sound/isa/wavefront/wavefront.c b/sound/isa/wavefront/wavefront.c
> index 83f291d..8714297 100644
> --- a/sound/isa/wavefront/wavefront.c
> +++ b/sound/isa/wavefront/wavefront.c
> @@ -418,7 +418,7 @@ snd_wavefront_probe (struct snd_card *card, int dev)
>  		return -EBUSY;
>  	}
>  	if (request_irq(ics2115_irq[dev], snd_wavefront_ics2115_interrupt,
> -			IRQF_DISABLED, "ICS2115", acard)) {
> +			0, "ICS2115", acard)) {
>  		snd_printk(KERN_ERR "unable to use ICS2115 IRQ %d\n", ics2115_irq[dev]);
>  		return -EBUSY;
>  	}
> diff --git a/sound/isa/wss/wss_lib.c b/sound/isa/wss/wss_lib.c
> index 2a42cc3..7277c5b 100644
> --- a/sound/isa/wss/wss_lib.c
> +++ b/sound/isa/wss/wss_lib.c
> @@ -1833,7 +1833,7 @@ int snd_wss_create(struct snd_card *card,
>  	}
>  	chip->cport = cport;
>  	if (!(hwshare & WSS_HWSHARE_IRQ))
> -		if (request_irq(irq, snd_wss_interrupt, IRQF_DISABLED,
> +		if (request_irq(irq, snd_wss_interrupt, 0,
>  				"WSS", (void *) chip)) {
>  			snd_printk(KERN_ERR "wss: can't grab IRQ %d\n", irq);
>  			snd_wss_free(chip);
> diff --git a/sound/mips/au1x00.c b/sound/mips/au1x00.c
> index 446cf97..7567ebd 100644
> --- a/sound/mips/au1x00.c
> +++ b/sound/mips/au1x00.c
> @@ -465,13 +465,13 @@ snd_au1000_pcm_new(struct snd_au1000 *au1000)
>  
>  	flags = claim_dma_lock();
>  	if ((au1000->stream[PLAYBACK]->dma = request_au1000_dma(DMA_ID_AC97C_TX,
> -			"AC97 TX", au1000_dma_interrupt, IRQF_DISABLED,
> +			"AC97 TX", au1000_dma_interrupt, 0,
>  			au1000->stream[PLAYBACK])) < 0) {
>  		release_dma_lock(flags);
>  		return -EBUSY;
>  	}
>  	if ((au1000->stream[CAPTURE]->dma = request_au1000_dma(DMA_ID_AC97C_RX,
> -			"AC97 RX", au1000_dma_interrupt, IRQF_DISABLED,
> +			"AC97 RX", au1000_dma_interrupt, 0,
>  			au1000->stream[CAPTURE])) < 0){
>  		release_dma_lock(flags);
>  		return -EBUSY;
> diff --git a/sound/pci/sis7019.c b/sound/pci/sis7019.c
> index bcf6152..5ffb20b 100644
> --- a/sound/pci/sis7019.c
> +++ b/sound/pci/sis7019.c
> @@ -1234,7 +1234,7 @@ static int sis_resume(struct pci_dev *pci)
>  		goto error;
>  	}
>  
> -	if (request_irq(pci->irq, sis_interrupt, IRQF_DISABLED|IRQF_SHARED,
> +	if (request_irq(pci->irq, sis_interrupt, IRQF_SHARED,
>  			KBUILD_MODNAME, sis)) {
>  		printk(KERN_ERR "sis7019: unable to regain IRQ %d\n", pci->irq);
>  		goto error;
> @@ -1340,7 +1340,7 @@ static int __devinit sis_chip_create(struct snd_card *card,
>  	if (rc)
>  		goto error_out_cleanup;
>  
> -	if (request_irq(pci->irq, sis_interrupt, IRQF_DISABLED|IRQF_SHARED,
> +	if (request_irq(pci->irq, sis_interrupt, IRQF_SHARED,
>  			KBUILD_MODNAME, sis)) {
>  		printk(KERN_ERR "unable to allocate irq %d\n", sis->irq);
>  		goto error_out_cleanup;
> diff --git a/sound/ppc/snd_ps3.c b/sound/ppc/snd_ps3.c
> index bc823a5..775bd95 100644
> --- a/sound/ppc/snd_ps3.c
> +++ b/sound/ppc/snd_ps3.c
> @@ -845,7 +845,7 @@ static int __devinit snd_ps3_allocate_irq(void)
>  		return ret;
>  	}
>  
> -	ret = request_irq(the_card.irq_no, snd_ps3_interrupt, IRQF_DISABLED,
> +	ret = request_irq(the_card.irq_no, snd_ps3_interrupt, 0,
>  			  SND_PS3_DRIVER_NAME, &the_card);
>  	if (ret) {
>  		pr_info("%s: request_irq failed (%d)\n", __func__, ret);
> diff --git a/sound/soc/au1x/dma.c b/sound/soc/au1x/dma.c
> index 7aa5b76..177f713 100644
> --- a/sound/soc/au1x/dma.c
> +++ b/sound/soc/au1x/dma.c
> @@ -211,7 +211,7 @@ static int alchemy_pcm_open(struct snd_pcm_substream *substream)
>  	/* DMA setup */
>  	name = (s == SNDRV_PCM_STREAM_PLAYBACK) ? "audio-tx" : "audio-rx";
>  	ctx->stream[s].dma = request_au1000_dma(dmaids[s], name,
> -					au1000_dma_interrupt, IRQF_DISABLED,
> +					au1000_dma_interrupt, 0,
>  					&ctx->stream[s]);
>  	set_dma_mode(ctx->stream[s].dma,
>  		     get_dma_mode(ctx->stream[s].dma) & ~DMA_NC);
> diff --git a/sound/soc/codecs/tlv320dac33.c b/sound/soc/codecs/tlv320dac33.c
> index faa5e9f..243d177 100644
> --- a/sound/soc/codecs/tlv320dac33.c
> +++ b/sound/soc/codecs/tlv320dac33.c
> @@ -1431,7 +1431,7 @@ static int dac33_soc_probe(struct snd_soc_codec *codec)
>  	/* Check if the IRQ number is valid and request it */
>  	if (dac33->irq >= 0) {
>  		ret = request_irq(dac33->irq, dac33_interrupt_handler,
> -				  IRQF_TRIGGER_RISING | IRQF_DISABLED,
> +				  IRQF_TRIGGER_RISING,
>  				  codec->name, codec);
>  		if (ret < 0) {
>  			dev_err(codec->dev, "Could not request IRQ%d (%d)\n",
> diff --git a/sound/soc/nuc900/nuc900-pcm.c b/sound/soc/nuc900/nuc900-pcm.c
> index e46d551..865b288 100644
> --- a/sound/soc/nuc900/nuc900-pcm.c
> +++ b/sound/soc/nuc900/nuc900-pcm.c
> @@ -268,7 +268,7 @@ static int nuc900_dma_open(struct snd_pcm_substream *substream)
>  	nuc900_audio = nuc900_ac97_data;
>  
>  	if (request_irq(nuc900_audio->irq_num, nuc900_dma_interrupt,
> -			IRQF_DISABLED, "nuc900-dma", substream))
> +			0, "nuc900-dma", substream))
>  		return -EBUSY;
>  
>  	runtime->private_data = nuc900_audio;
> diff --git a/sound/soc/samsung/ac97.c b/sound/soc/samsung/ac97.c
> index b4f9b00..41b387b 100644
> --- a/sound/soc/samsung/ac97.c
> +++ b/sound/soc/samsung/ac97.c
> @@ -450,7 +450,7 @@ static __devinit int s3c_ac97_probe(struct platform_device *pdev)
>  	}
>  
>  	ret = request_irq(irq_res->start, s3c_ac97_irq,
> -					IRQF_DISABLED, "AC97", NULL);
> +					0, "AC97", NULL);
>  	if (ret < 0) {
>  		dev_err(&pdev->dev, "ac97: interrupt request failed.\n");
>  		goto err4;
> diff --git a/sound/soc/sh/fsi.c b/sound/soc/sh/fsi.c
> index 8e112cc..1493ebf 100644
> --- a/sound/soc/sh/fsi.c
> +++ b/sound/soc/sh/fsi.c
> @@ -1285,7 +1285,7 @@ static int fsi_probe(struct platform_device *pdev)
>  	pm_runtime_enable(&pdev->dev);
>  	dev_set_drvdata(&pdev->dev, master);
>  
> -	ret = request_irq(irq, &fsi_interrupt, IRQF_DISABLED,
> +	ret = request_irq(irq, &fsi_interrupt, 0,
>  			  id_entry->name, master);
>  	if (ret) {
>  		dev_err(&pdev->dev, "irq request err\n");
> diff --git a/sound/soc/txx9/txx9aclc-ac97.c b/sound/soc/txx9/txx9aclc-ac97.c
> index 743d07b..a4e3f55 100644
> --- a/sound/soc/txx9/txx9aclc-ac97.c
> +++ b/sound/soc/txx9/txx9aclc-ac97.c
> @@ -201,7 +201,7 @@ static int __devinit txx9aclc_ac97_dev_probe(struct platform_device *pdev)
>  	if (!drvdata->base)
>  		return -EBUSY;
>  	err = devm_request_irq(&pdev->dev, irq, txx9aclc_ac97_irq,
> -			       IRQF_DISABLED, dev_name(&pdev->dev), drvdata);
> +			       0, dev_name(&pdev->dev), drvdata);
>  	if (err < 0)
>  		return err;
>  
> diff --git a/sound/sparc/amd7930.c b/sound/sparc/amd7930.c
> index ad7d4d7..f036776 100644
> --- a/sound/sparc/amd7930.c
> +++ b/sound/sparc/amd7930.c
> @@ -962,7 +962,7 @@ static int __devinit snd_amd7930_create(struct snd_card *card,
>  	amd7930_idle(amd);
>  
>  	if (request_irq(irq, snd_amd7930_interrupt,
> -			IRQF_DISABLED | IRQF_SHARED, "amd7930", amd)) {
> +			IRQF_SHARED, "amd7930", amd)) {
>  		snd_printk(KERN_ERR "amd7930-%d: Unable to grab IRQ %d\n",
>  			   dev, irq);
>  		snd_amd7930_free(amd);
> -- 
> 1.7.4.1
> 

^ permalink raw reply	[flat|nested] 134+ messages in thread

* [PATCH 53/57] sound: irq: Remove IRQF_DISABLED
@ 2011-09-21  9:52     ` Takashi Iwai
  0 siblings, 0 replies; 134+ messages in thread
From: Takashi Iwai @ 2011-09-21  9:52 UTC (permalink / raw)
  To: linux-arm-kernel

At Wed, 21 Sep 2011 17:28:54 +0800,
Yong Zhang wrote:
> 
> Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],

Hm, this id hits a different commit:
    commit c58543c869606532c2382f027d6466f4672ea756
    Author: David S. Miller <davem@davemloft.net>
    Date:   Tue Oct 13 00:49:09 2009 -0700

    sparc64: Set IRQF_DISABLED on LDC channel IRQs.

You mean commit e58aa3d2d0cc01ad8d6f7f640a0670433f794922?

> We run all interrupt handlers with interrupts disabled
> and we even check and yell when an interrupt handler
> returns with interrupts enabled (see commit [b738a50a:
> genirq: Warn when handler enables interrupts]).
> 
> So now this flag is a NOOP and can be removed.
> 
> Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

Do you want to merge by yourself or shall I take it to sound git tree?
Since IRQF_DISABLED isn't used, it can be applied safely in 3.1-based
tree, right?

Anyway, if needed, take my ack:
	Acked-by: Takashi Iwai <tiwai@suse.de>


thanks,

Takashi

> ---
>  include/sound/initval.h            |    2 +-
>  sound/arm/aaci.c                   |    2 +-
>  sound/arm/pxa2xx-ac97-lib.c        |    2 +-
>  sound/drivers/ml403-ac97cr.c       |    4 ++--
>  sound/drivers/mpu401/mpu401_uart.c |    2 +-
>  sound/drivers/mtpav.c              |    2 +-
>  sound/drivers/serial-u16550.c      |    2 +-
>  sound/isa/ad1816a/ad1816a_lib.c    |    2 +-
>  sound/isa/es1688/es1688_lib.c      |    2 +-
>  sound/isa/es18xx.c                 |    2 +-
>  sound/isa/gus/gus_main.c           |    2 +-
>  sound/isa/gus/gusmax.c             |    2 +-
>  sound/isa/gus/interwave.c          |    2 +-
>  sound/isa/opl3sa2.c                |    2 +-
>  sound/isa/opti9xx/opti92x-ad1848.c |    2 +-
>  sound/isa/sb/sb_common.c           |    2 +-
>  sound/isa/wavefront/wavefront.c    |    2 +-
>  sound/isa/wss/wss_lib.c            |    2 +-
>  sound/mips/au1x00.c                |    4 ++--
>  sound/pci/sis7019.c                |    4 ++--
>  sound/ppc/snd_ps3.c                |    2 +-
>  sound/soc/au1x/dma.c               |    2 +-
>  sound/soc/codecs/tlv320dac33.c     |    2 +-
>  sound/soc/nuc900/nuc900-pcm.c      |    2 +-
>  sound/soc/samsung/ac97.c           |    2 +-
>  sound/soc/sh/fsi.c                 |    2 +-
>  sound/soc/txx9/txx9aclc-ac97.c     |    2 +-
>  sound/sparc/amd7930.c              |    2 +-
>  28 files changed, 31 insertions(+), 31 deletions(-)
> 
> diff --git a/include/sound/initval.h b/include/sound/initval.h
> index 1daa6df..f99a0d2 100644
> --- a/include/sound/initval.h
> +++ b/include/sound/initval.h
> @@ -62,7 +62,7 @@ static int snd_legacy_find_free_irq(int *irq_table)
>  {
>  	while (*irq_table != -1) {
>  		if (!request_irq(*irq_table, snd_legacy_empty_irq_handler,
> -				 IRQF_DISABLED | IRQF_PROBE_SHARED, "ALSA Test IRQ",
> +				 IRQF_PROBE_SHARED, "ALSA Test IRQ",
>  				 (void *) irq_table)) {
>  			free_irq(*irq_table, (void *) irq_table);
>  			return *irq_table;
> diff --git a/sound/arm/aaci.c b/sound/arm/aaci.c
> index d0cead3..e518d38 100644
> --- a/sound/arm/aaci.c
> +++ b/sound/arm/aaci.c
> @@ -443,7 +443,7 @@ static int aaci_pcm_open(struct snd_pcm_substream *substream)
>  	mutex_lock(&aaci->irq_lock);
>  	if (!aaci->users++) {
>  		ret = request_irq(aaci->dev->irq[0], aaci_irq,
> -			   IRQF_SHARED | IRQF_DISABLED, DRIVER_NAME, aaci);
> +			   IRQF_SHARED, DRIVER_NAME, aaci);
>  		if (ret != 0)
>  			aaci->users--;
>  	}
> diff --git a/sound/arm/pxa2xx-ac97-lib.c b/sound/arm/pxa2xx-ac97-lib.c
> index 88eec38..8ad6535 100644
> --- a/sound/arm/pxa2xx-ac97-lib.c
> +++ b/sound/arm/pxa2xx-ac97-lib.c
> @@ -359,7 +359,7 @@ int __devinit pxa2xx_ac97_hw_probe(struct platform_device *dev)
>  	if (ret)
>  		goto err_clk2;
>  
> -	ret = request_irq(IRQ_AC97, pxa2xx_ac97_irq, IRQF_DISABLED, "AC97", NULL);
> +	ret = request_irq(IRQ_AC97, pxa2xx_ac97_irq, 0, "AC97", NULL);
>  	if (ret < 0)
>  		goto err_irq;
>  
> diff --git a/sound/drivers/ml403-ac97cr.c b/sound/drivers/ml403-ac97cr.c
> index 5cfcb90..2c7a763 100644
> --- a/sound/drivers/ml403-ac97cr.c
> +++ b/sound/drivers/ml403-ac97cr.c
> @@ -1153,7 +1153,7 @@ snd_ml403_ac97cr_create(struct snd_card *card, struct platform_device *pfdev,
>  		   "0x%x done\n", (unsigned int)ml403_ac97cr->port);
>  	/* get irq */
>  	irq = platform_get_irq(pfdev, 0);
> -	if (request_irq(irq, snd_ml403_ac97cr_irq, IRQF_DISABLED,
> +	if (request_irq(irq, snd_ml403_ac97cr_irq, 0,
>  			dev_name(&pfdev->dev), (void *)ml403_ac97cr)) {
>  		snd_printk(KERN_ERR SND_ML403_AC97CR_DRIVER ": "
>  			   "unable to grab IRQ %d\n",
> @@ -1166,7 +1166,7 @@ snd_ml403_ac97cr_create(struct snd_card *card, struct platform_device *pfdev,
>  		   "request (playback) irq %d done\n",
>  		   ml403_ac97cr->irq);
>  	irq = platform_get_irq(pfdev, 1);
> -	if (request_irq(irq, snd_ml403_ac97cr_irq, IRQF_DISABLED,
> +	if (request_irq(irq, snd_ml403_ac97cr_irq, 0,
>  			dev_name(&pfdev->dev), (void *)ml403_ac97cr)) {
>  		snd_printk(KERN_ERR SND_ML403_AC97CR_DRIVER ": "
>  			   "unable to grab IRQ %d\n",
> diff --git a/sound/drivers/mpu401/mpu401_uart.c b/sound/drivers/mpu401/mpu401_uart.c
> index 34df505..1cff331 100644
> --- a/sound/drivers/mpu401/mpu401_uart.c
> +++ b/sound/drivers/mpu401/mpu401_uart.c
> @@ -578,7 +578,7 @@ int snd_mpu401_uart_new(struct snd_card *card, int device,
>  	else
>  		mpu->cport = port + 1;
>  	if (irq >= 0) {
> -		if (request_irq(irq, snd_mpu401_uart_interrupt, IRQF_DISABLED,
> +		if (request_irq(irq, snd_mpu401_uart_interrupt, 0,
>  				"MPU401 UART", (void *) mpu)) {
>  			snd_printk(KERN_ERR "mpu401_uart: "
>  				   "unable to grab IRQ %d\n", irq);
> diff --git a/sound/drivers/mtpav.c b/sound/drivers/mtpav.c
> index f50021c..7693079 100644
> --- a/sound/drivers/mtpav.c
> +++ b/sound/drivers/mtpav.c
> @@ -590,7 +590,7 @@ static int __devinit snd_mtpav_get_ISA(struct mtpav * mcard)
>  		return -EBUSY;
>  	}
>  	mcard->port = port;
> -	if (request_irq(irq, snd_mtpav_irqh, IRQF_DISABLED, "MOTU MTPAV", mcard)) {
> +	if (request_irq(irq, snd_mtpav_irqh, 0, "MOTU MTPAV", mcard)) {
>  		snd_printk(KERN_ERR "MTVAP IRQ %d busy\n", irq);
>  		return -EBUSY;
>  	}
> diff --git a/sound/drivers/serial-u16550.c b/sound/drivers/serial-u16550.c
> index 6c5bf58..85aad43 100644
> --- a/sound/drivers/serial-u16550.c
> +++ b/sound/drivers/serial-u16550.c
> @@ -816,7 +816,7 @@ static int __devinit snd_uart16550_create(struct snd_card *card,
>  
>  	if (irq >= 0 && irq != SNDRV_AUTO_IRQ) {
>  		if (request_irq(irq, snd_uart16550_interrupt,
> -				IRQF_DISABLED, "Serial MIDI", uart)) {
> +				0, "Serial MIDI", uart)) {
>  			snd_printk(KERN_WARNING
>  				   "irq %d busy. Using Polling.\n", irq);
>  		} else {
> diff --git a/sound/isa/ad1816a/ad1816a_lib.c b/sound/isa/ad1816a/ad1816a_lib.c
> index 05aef8b..177eed3 100644
> --- a/sound/isa/ad1816a/ad1816a_lib.c
> +++ b/sound/isa/ad1816a/ad1816a_lib.c
> @@ -595,7 +595,7 @@ int __devinit snd_ad1816a_create(struct snd_card *card,
>  		snd_ad1816a_free(chip);
>  		return -EBUSY;
>  	}
> -	if (request_irq(irq, snd_ad1816a_interrupt, IRQF_DISABLED, "AD1816A", (void *) chip)) {
> +	if (request_irq(irq, snd_ad1816a_interrupt, 0, "AD1816A", (void *) chip)) {
>  		snd_printk(KERN_ERR "ad1816a: can't grab IRQ %d\n", irq);
>  		snd_ad1816a_free(chip);
>  		return -EBUSY;
> diff --git a/sound/isa/es1688/es1688_lib.c b/sound/isa/es1688/es1688_lib.c
> index 0767620..d3eab6f 100644
> --- a/sound/isa/es1688/es1688_lib.c
> +++ b/sound/isa/es1688/es1688_lib.c
> @@ -661,7 +661,7 @@ int snd_es1688_create(struct snd_card *card,
>  		snd_printk(KERN_ERR "es1688: can't grab port 0x%lx\n", port + 4);
>  		return -EBUSY;
>  	}
> -	if (request_irq(irq, snd_es1688_interrupt, IRQF_DISABLED, "ES1688", (void *) chip)) {
> +	if (request_irq(irq, snd_es1688_interrupt, 0, "ES1688", (void *) chip)) {
>  		snd_printk(KERN_ERR "es1688: can't grab IRQ %d\n", irq);
>  		return -EBUSY;
>  	}
> diff --git a/sound/isa/es18xx.c b/sound/isa/es18xx.c
> index aeee8f8..bf6ad0b 100644
> --- a/sound/isa/es18xx.c
> +++ b/sound/isa/es18xx.c
> @@ -1805,7 +1805,7 @@ static int __devinit snd_es18xx_new_device(struct snd_card *card,
>  		return -EBUSY;
>  	}
>  
> -	if (request_irq(irq, snd_es18xx_interrupt, IRQF_DISABLED, "ES18xx",
> +	if (request_irq(irq, snd_es18xx_interrupt, 0, "ES18xx",
>  			(void *) card)) {
>  		snd_es18xx_free(card);
>  		snd_printk(KERN_ERR PFX "unable to grap IRQ %d\n", irq);
> diff --git a/sound/isa/gus/gus_main.c b/sound/isa/gus/gus_main.c
> index 12eb98f..3167e5a 100644
> --- a/sound/isa/gus/gus_main.c
> +++ b/sound/isa/gus/gus_main.c
> @@ -180,7 +180,7 @@ int snd_gus_create(struct snd_card *card,
>  		snd_gus_free(gus);
>  		return -EBUSY;
>  	}
> -	if (irq >= 0 && request_irq(irq, snd_gus_interrupt, IRQF_DISABLED, "GUS GF1", (void *) gus)) {
> +	if (irq >= 0 && request_irq(irq, snd_gus_interrupt, 0, "GUS GF1", (void *) gus)) {
>  		snd_printk(KERN_ERR "gus: can't grab irq %d\n", irq);
>  		snd_gus_free(gus);
>  		return -EBUSY;
> diff --git a/sound/isa/gus/gusmax.c b/sound/isa/gus/gusmax.c
> index 3e4a58b..c43faa0 100644
> --- a/sound/isa/gus/gusmax.c
> +++ b/sound/isa/gus/gusmax.c
> @@ -291,7 +291,7 @@ static int __devinit snd_gusmax_probe(struct device *pdev, unsigned int dev)
>  		goto _err;
>  	}
>  
> -	if (request_irq(xirq, snd_gusmax_interrupt, IRQF_DISABLED, "GUS MAX", (void *)maxcard)) {
> +	if (request_irq(xirq, snd_gusmax_interrupt, 0, "GUS MAX", (void *)maxcard)) {
>  		snd_printk(KERN_ERR PFX "unable to grab IRQ %d\n", xirq);
>  		err = -EBUSY;
>  		goto _err;
> diff --git a/sound/isa/gus/interwave.c b/sound/isa/gus/interwave.c
> index c7b80e4..5f869a3 100644
> --- a/sound/isa/gus/interwave.c
> +++ b/sound/isa/gus/interwave.c
> @@ -684,7 +684,7 @@ static int __devinit snd_interwave_probe(struct snd_card *card, int dev)
>  	if ((err = snd_gus_initialize(gus)) < 0)
>  		return err;
>  
> -	if (request_irq(xirq, snd_interwave_interrupt, IRQF_DISABLED,
> +	if (request_irq(xirq, snd_interwave_interrupt, 0,
>  			"InterWave", iwcard)) {
>  		snd_printk(KERN_ERR PFX "unable to grab IRQ %d\n", xirq);
>  		return -EBUSY;
> diff --git a/sound/isa/opl3sa2.c b/sound/isa/opl3sa2.c
> index de99f47..bbafb0b 100644
> --- a/sound/isa/opl3sa2.c
> +++ b/sound/isa/opl3sa2.c
> @@ -667,7 +667,7 @@ static int __devinit snd_opl3sa2_probe(struct snd_card *card, int dev)
>  	err = snd_opl3sa2_detect(card);
>  	if (err < 0)
>  		return err;
> -	err = request_irq(xirq, snd_opl3sa2_interrupt, IRQF_DISABLED,
> +	err = request_irq(xirq, snd_opl3sa2_interrupt, 0,
>  			  "OPL3-SA2", card);
>  	if (err) {
>  		snd_printk(KERN_ERR PFX "can't grab IRQ %d\n", xirq);
> diff --git a/sound/isa/opti9xx/opti92x-ad1848.c b/sound/isa/opti9xx/opti92x-ad1848.c
> index 346e12b..6dbbfa7 100644
> --- a/sound/isa/opti9xx/opti92x-ad1848.c
> +++ b/sound/isa/opti9xx/opti92x-ad1848.c
> @@ -892,7 +892,7 @@ static int __devinit snd_opti9xx_probe(struct snd_card *card)
>  #endif
>  #ifdef OPTi93X
>  	error = request_irq(irq, snd_opti93x_interrupt,
> -			    IRQF_DISABLED, DEV_NAME" - WSS", chip);
> +			    0, DEV_NAME" - WSS", chip);
>  	if (error < 0) {
>  		snd_printk(KERN_ERR "opti9xx: can't grab IRQ %d\n", irq);
>  		return error;
> diff --git a/sound/isa/sb/sb_common.c b/sound/isa/sb/sb_common.c
> index eae6c1c..d2e1921 100644
> --- a/sound/isa/sb/sb_common.c
> +++ b/sound/isa/sb/sb_common.c
> @@ -240,7 +240,7 @@ int snd_sbdsp_create(struct snd_card *card,
>  	if (request_irq(irq, irq_handler,
>  			(hardware == SB_HW_ALS4000 ||
>  			 hardware == SB_HW_CS5530) ?
> -			IRQF_SHARED : IRQF_DISABLED,
> +			IRQF_SHARED : 0,
>  			"SoundBlaster", (void *) chip)) {
>  		snd_printk(KERN_ERR "sb: can't grab irq %d\n", irq);
>  		snd_sbdsp_free(chip);
> diff --git a/sound/isa/wavefront/wavefront.c b/sound/isa/wavefront/wavefront.c
> index 83f291d..8714297 100644
> --- a/sound/isa/wavefront/wavefront.c
> +++ b/sound/isa/wavefront/wavefront.c
> @@ -418,7 +418,7 @@ snd_wavefront_probe (struct snd_card *card, int dev)
>  		return -EBUSY;
>  	}
>  	if (request_irq(ics2115_irq[dev], snd_wavefront_ics2115_interrupt,
> -			IRQF_DISABLED, "ICS2115", acard)) {
> +			0, "ICS2115", acard)) {
>  		snd_printk(KERN_ERR "unable to use ICS2115 IRQ %d\n", ics2115_irq[dev]);
>  		return -EBUSY;
>  	}
> diff --git a/sound/isa/wss/wss_lib.c b/sound/isa/wss/wss_lib.c
> index 2a42cc3..7277c5b 100644
> --- a/sound/isa/wss/wss_lib.c
> +++ b/sound/isa/wss/wss_lib.c
> @@ -1833,7 +1833,7 @@ int snd_wss_create(struct snd_card *card,
>  	}
>  	chip->cport = cport;
>  	if (!(hwshare & WSS_HWSHARE_IRQ))
> -		if (request_irq(irq, snd_wss_interrupt, IRQF_DISABLED,
> +		if (request_irq(irq, snd_wss_interrupt, 0,
>  				"WSS", (void *) chip)) {
>  			snd_printk(KERN_ERR "wss: can't grab IRQ %d\n", irq);
>  			snd_wss_free(chip);
> diff --git a/sound/mips/au1x00.c b/sound/mips/au1x00.c
> index 446cf97..7567ebd 100644
> --- a/sound/mips/au1x00.c
> +++ b/sound/mips/au1x00.c
> @@ -465,13 +465,13 @@ snd_au1000_pcm_new(struct snd_au1000 *au1000)
>  
>  	flags = claim_dma_lock();
>  	if ((au1000->stream[PLAYBACK]->dma = request_au1000_dma(DMA_ID_AC97C_TX,
> -			"AC97 TX", au1000_dma_interrupt, IRQF_DISABLED,
> +			"AC97 TX", au1000_dma_interrupt, 0,
>  			au1000->stream[PLAYBACK])) < 0) {
>  		release_dma_lock(flags);
>  		return -EBUSY;
>  	}
>  	if ((au1000->stream[CAPTURE]->dma = request_au1000_dma(DMA_ID_AC97C_RX,
> -			"AC97 RX", au1000_dma_interrupt, IRQF_DISABLED,
> +			"AC97 RX", au1000_dma_interrupt, 0,
>  			au1000->stream[CAPTURE])) < 0){
>  		release_dma_lock(flags);
>  		return -EBUSY;
> diff --git a/sound/pci/sis7019.c b/sound/pci/sis7019.c
> index bcf6152..5ffb20b 100644
> --- a/sound/pci/sis7019.c
> +++ b/sound/pci/sis7019.c
> @@ -1234,7 +1234,7 @@ static int sis_resume(struct pci_dev *pci)
>  		goto error;
>  	}
>  
> -	if (request_irq(pci->irq, sis_interrupt, IRQF_DISABLED|IRQF_SHARED,
> +	if (request_irq(pci->irq, sis_interrupt, IRQF_SHARED,
>  			KBUILD_MODNAME, sis)) {
>  		printk(KERN_ERR "sis7019: unable to regain IRQ %d\n", pci->irq);
>  		goto error;
> @@ -1340,7 +1340,7 @@ static int __devinit sis_chip_create(struct snd_card *card,
>  	if (rc)
>  		goto error_out_cleanup;
>  
> -	if (request_irq(pci->irq, sis_interrupt, IRQF_DISABLED|IRQF_SHARED,
> +	if (request_irq(pci->irq, sis_interrupt, IRQF_SHARED,
>  			KBUILD_MODNAME, sis)) {
>  		printk(KERN_ERR "unable to allocate irq %d\n", sis->irq);
>  		goto error_out_cleanup;
> diff --git a/sound/ppc/snd_ps3.c b/sound/ppc/snd_ps3.c
> index bc823a5..775bd95 100644
> --- a/sound/ppc/snd_ps3.c
> +++ b/sound/ppc/snd_ps3.c
> @@ -845,7 +845,7 @@ static int __devinit snd_ps3_allocate_irq(void)
>  		return ret;
>  	}
>  
> -	ret = request_irq(the_card.irq_no, snd_ps3_interrupt, IRQF_DISABLED,
> +	ret = request_irq(the_card.irq_no, snd_ps3_interrupt, 0,
>  			  SND_PS3_DRIVER_NAME, &the_card);
>  	if (ret) {
>  		pr_info("%s: request_irq failed (%d)\n", __func__, ret);
> diff --git a/sound/soc/au1x/dma.c b/sound/soc/au1x/dma.c
> index 7aa5b76..177f713 100644
> --- a/sound/soc/au1x/dma.c
> +++ b/sound/soc/au1x/dma.c
> @@ -211,7 +211,7 @@ static int alchemy_pcm_open(struct snd_pcm_substream *substream)
>  	/* DMA setup */
>  	name = (s == SNDRV_PCM_STREAM_PLAYBACK) ? "audio-tx" : "audio-rx";
>  	ctx->stream[s].dma = request_au1000_dma(dmaids[s], name,
> -					au1000_dma_interrupt, IRQF_DISABLED,
> +					au1000_dma_interrupt, 0,
>  					&ctx->stream[s]);
>  	set_dma_mode(ctx->stream[s].dma,
>  		     get_dma_mode(ctx->stream[s].dma) & ~DMA_NC);
> diff --git a/sound/soc/codecs/tlv320dac33.c b/sound/soc/codecs/tlv320dac33.c
> index faa5e9f..243d177 100644
> --- a/sound/soc/codecs/tlv320dac33.c
> +++ b/sound/soc/codecs/tlv320dac33.c
> @@ -1431,7 +1431,7 @@ static int dac33_soc_probe(struct snd_soc_codec *codec)
>  	/* Check if the IRQ number is valid and request it */
>  	if (dac33->irq >= 0) {
>  		ret = request_irq(dac33->irq, dac33_interrupt_handler,
> -				  IRQF_TRIGGER_RISING | IRQF_DISABLED,
> +				  IRQF_TRIGGER_RISING,
>  				  codec->name, codec);
>  		if (ret < 0) {
>  			dev_err(codec->dev, "Could not request IRQ%d (%d)\n",
> diff --git a/sound/soc/nuc900/nuc900-pcm.c b/sound/soc/nuc900/nuc900-pcm.c
> index e46d551..865b288 100644
> --- a/sound/soc/nuc900/nuc900-pcm.c
> +++ b/sound/soc/nuc900/nuc900-pcm.c
> @@ -268,7 +268,7 @@ static int nuc900_dma_open(struct snd_pcm_substream *substream)
>  	nuc900_audio = nuc900_ac97_data;
>  
>  	if (request_irq(nuc900_audio->irq_num, nuc900_dma_interrupt,
> -			IRQF_DISABLED, "nuc900-dma", substream))
> +			0, "nuc900-dma", substream))
>  		return -EBUSY;
>  
>  	runtime->private_data = nuc900_audio;
> diff --git a/sound/soc/samsung/ac97.c b/sound/soc/samsung/ac97.c
> index b4f9b00..41b387b 100644
> --- a/sound/soc/samsung/ac97.c
> +++ b/sound/soc/samsung/ac97.c
> @@ -450,7 +450,7 @@ static __devinit int s3c_ac97_probe(struct platform_device *pdev)
>  	}
>  
>  	ret = request_irq(irq_res->start, s3c_ac97_irq,
> -					IRQF_DISABLED, "AC97", NULL);
> +					0, "AC97", NULL);
>  	if (ret < 0) {
>  		dev_err(&pdev->dev, "ac97: interrupt request failed.\n");
>  		goto err4;
> diff --git a/sound/soc/sh/fsi.c b/sound/soc/sh/fsi.c
> index 8e112cc..1493ebf 100644
> --- a/sound/soc/sh/fsi.c
> +++ b/sound/soc/sh/fsi.c
> @@ -1285,7 +1285,7 @@ static int fsi_probe(struct platform_device *pdev)
>  	pm_runtime_enable(&pdev->dev);
>  	dev_set_drvdata(&pdev->dev, master);
>  
> -	ret = request_irq(irq, &fsi_interrupt, IRQF_DISABLED,
> +	ret = request_irq(irq, &fsi_interrupt, 0,
>  			  id_entry->name, master);
>  	if (ret) {
>  		dev_err(&pdev->dev, "irq request err\n");
> diff --git a/sound/soc/txx9/txx9aclc-ac97.c b/sound/soc/txx9/txx9aclc-ac97.c
> index 743d07b..a4e3f55 100644
> --- a/sound/soc/txx9/txx9aclc-ac97.c
> +++ b/sound/soc/txx9/txx9aclc-ac97.c
> @@ -201,7 +201,7 @@ static int __devinit txx9aclc_ac97_dev_probe(struct platform_device *pdev)
>  	if (!drvdata->base)
>  		return -EBUSY;
>  	err = devm_request_irq(&pdev->dev, irq, txx9aclc_ac97_irq,
> -			       IRQF_DISABLED, dev_name(&pdev->dev), drvdata);
> +			       0, dev_name(&pdev->dev), drvdata);
>  	if (err < 0)
>  		return err;
>  
> diff --git a/sound/sparc/amd7930.c b/sound/sparc/amd7930.c
> index ad7d4d7..f036776 100644
> --- a/sound/sparc/amd7930.c
> +++ b/sound/sparc/amd7930.c
> @@ -962,7 +962,7 @@ static int __devinit snd_amd7930_create(struct snd_card *card,
>  	amd7930_idle(amd);
>  
>  	if (request_irq(irq, snd_amd7930_interrupt,
> -			IRQF_DISABLED | IRQF_SHARED, "amd7930", amd)) {
> +			IRQF_SHARED, "amd7930", amd)) {
>  		snd_printk(KERN_ERR "amd7930-%d: Unable to grab IRQ %d\n",
>  			   dev, irq);
>  		snd_amd7930_free(amd);
> -- 
> 1.7.4.1
> 

^ permalink raw reply	[flat|nested] 134+ messages in thread

* Re: [PATCH 46/57] rtc: irq: Remove IRQF_DISABLED
  2011-09-21  9:28   ` Yong Zhang
  (?)
@ 2011-09-21  9:52     ` Wan ZongShun
  -1 siblings, 0 replies; 134+ messages in thread
From: Wan ZongShun @ 2011-09-21  9:52 UTC (permalink / raw)
  To: Yong Zhang, Andrew Morton
  Cc: linux-arch, linux-kernel, tglx, Alessandro Zummo, Linus Walleij,
	Guan Xuetao, rtc-linux, linux-arm-kernel

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=UTF-8, Size: 22252 bytes --]

2011/9/21 Yong Zhang <yong.zhang0@gmail.com>:
> Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
> We run all interrupt handlers with interrupts disabled
> and we even check and yell when an interrupt handler
> returns with interrupts enabled (see commit [b738a50a:
> genirq: Warn when handler enables interrupts]).
>
> So now this flag is a NOOP and can be removed.
>
> Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
> Acked-by: Linus Walleij <linus.walleij@linaro.org>

thanks, add Andrew in loop.

Acked-by: Wan ZongShun <mcuos.com@gmail.com>

> ---
>  drivers/rtc/rtc-at91sam9.c  |    2 +-
>  drivers/rtc/rtc-cmos.c      |    2 +-
>  drivers/rtc/rtc-coh901331.c |    2 +-
>  drivers/rtc/rtc-davinci.c   |    2 +-
>  drivers/rtc/rtc-ds1511.c    |    2 +-
>  drivers/rtc/rtc-ds1553.c    |    2 +-
>  drivers/rtc/rtc-lpc32xx.c   |    2 +-
>  drivers/rtc/rtc-mpc5121.c   |    4 ++--
>  drivers/rtc/rtc-mrst.c      |    2 +-
>  drivers/rtc/rtc-mv.c        |    2 +-
>  drivers/rtc/rtc-nuc900.c    |    2 +-
>  drivers/rtc/rtc-omap.c      |    4 ++--
>  drivers/rtc/rtc-pl030.c     |    2 +-
>  drivers/rtc/rtc-pl031.c     |    2 +-
>  drivers/rtc/rtc-puv3.c      |    4 ++--
>  drivers/rtc/rtc-pxa.c       |    4 ++--
>  drivers/rtc/rtc-s3c.c       |    4 ++--
>  drivers/rtc/rtc-sa1100.c    |    4 ++--
>  drivers/rtc/rtc-sh.c        |    8 ++++----
>  drivers/rtc/rtc-stk17ta8.c  |    2 +-
>  drivers/rtc/rtc-tx4939.c    |    2 +-
>  drivers/rtc/rtc-vr41xx.c    |    4 ++--
>  22 files changed, 32 insertions(+), 32 deletions(-)
>
> diff --git a/drivers/rtc/rtc-at91sam9.c b/drivers/rtc/rtc-at91sam9.c
> index a3ad957..0c09e8f 100644
> --- a/drivers/rtc/rtc-at91sam9.c
> +++ b/drivers/rtc/rtc-at91sam9.c
> @@ -331,7 +331,7 @@ static int __init at91_rtc_probe(struct platform_device *pdev)
>
>        /* register irq handler after we know what name we'll use */
>        ret = request_irq(AT91_ID_SYS, at91_rtc_interrupt,
> -                               IRQF_DISABLED | IRQF_SHARED,
> +                               IRQF_SHARED,
>                                dev_name(&rtc->rtcdev->dev), rtc);
>        if (ret) {
>                dev_dbg(&pdev->dev, "can't share IRQ %d?\n", AT91_ID_SYS);
> diff --git a/drivers/rtc/rtc-cmos.c b/drivers/rtc/rtc-cmos.c
> index 05beb6c..66d3b14 100644
> --- a/drivers/rtc/rtc-cmos.c
> +++ b/drivers/rtc/rtc-cmos.c
> @@ -714,7 +714,7 @@ cmos_do_probe(struct device *dev, struct resource *ports, int rtc_irq)
>                        rtc_cmos_int_handler = cmos_interrupt;
>
>                retval = request_irq(rtc_irq, rtc_cmos_int_handler,
> -                               IRQF_DISABLED, dev_name(&cmos_rtc.rtc->dev),
> +                               0, dev_name(&cmos_rtc.rtc->dev),
>                                cmos_rtc.rtc);
>                if (retval < 0) {
>                        dev_dbg(dev, "IRQ %d is already in use\n", rtc_irq);
> diff --git a/drivers/rtc/rtc-coh901331.c b/drivers/rtc/rtc-coh901331.c
> index 80f9c88..a5b8a0c 100644
> --- a/drivers/rtc/rtc-coh901331.c
> +++ b/drivers/rtc/rtc-coh901331.c
> @@ -199,7 +199,7 @@ static int __init coh901331_probe(struct platform_device *pdev)
>        }
>
>        rtap->irq = platform_get_irq(pdev, 0);
> -       if (request_irq(rtap->irq, coh901331_interrupt, IRQF_DISABLED,
> +       if (request_irq(rtap->irq, coh901331_interrupt, 0,
>                        "RTC COH 901 331 Alarm", rtap)) {
>                ret = -EIO;
>                goto out_no_irq;
> diff --git a/drivers/rtc/rtc-davinci.c b/drivers/rtc/rtc-davinci.c
> index 755e1fe..14c2109 100644
> --- a/drivers/rtc/rtc-davinci.c
> +++ b/drivers/rtc/rtc-davinci.c
> @@ -542,7 +542,7 @@ static int __init davinci_rtc_probe(struct platform_device *pdev)
>        rtcss_write(davinci_rtc, 0, PRTCSS_RTC_CCTRL);
>
>        ret = request_irq(davinci_rtc->irq, davinci_rtc_interrupt,
> -                         IRQF_DISABLED, "davinci_rtc", davinci_rtc);
> +                         0, "davinci_rtc", davinci_rtc);
>        if (ret < 0) {
>                dev_err(dev, "unable to register davinci RTC interrupt\n");
>                goto fail4;
> diff --git a/drivers/rtc/rtc-ds1511.c b/drivers/rtc/rtc-ds1511.c
> index 586c244..bbc7c86 100644
> --- a/drivers/rtc/rtc-ds1511.c
> +++ b/drivers/rtc/rtc-ds1511.c
> @@ -532,7 +532,7 @@ ds1511_rtc_probe(struct platform_device *pdev)
>        if (pdata->irq > 0) {
>                rtc_read(RTC_CMD1);
>                if (devm_request_irq(&pdev->dev, pdata->irq, ds1511_interrupt,
> -                       IRQF_DISABLED | IRQF_SHARED, pdev->name, pdev) < 0) {
> +                       IRQF_SHARED, pdev->name, pdev) < 0) {
>
>                        dev_warn(&pdev->dev, "interrupt not available.\n");
>                        pdata->irq = 0;
> diff --git a/drivers/rtc/rtc-ds1553.c b/drivers/rtc/rtc-ds1553.c
> index 1350029..1ef2718 100644
> --- a/drivers/rtc/rtc-ds1553.c
> +++ b/drivers/rtc/rtc-ds1553.c
> @@ -320,7 +320,7 @@ static int __devinit ds1553_rtc_probe(struct platform_device *pdev)
>                writeb(0, ioaddr + RTC_INTERRUPTS);
>                if (devm_request_irq(&pdev->dev, pdata->irq,
>                                ds1553_rtc_interrupt,
> -                               IRQF_DISABLED, pdev->name, pdev) < 0) {
> +                               0, pdev->name, pdev) < 0) {
>                        dev_warn(&pdev->dev, "interrupt not available.\n");
>                        pdata->irq = 0;
>                }
> diff --git a/drivers/rtc/rtc-lpc32xx.c b/drivers/rtc/rtc-lpc32xx.c
> index ae16250..ba11a19 100644
> --- a/drivers/rtc/rtc-lpc32xx.c
> +++ b/drivers/rtc/rtc-lpc32xx.c
> @@ -287,7 +287,7 @@ static int __devinit lpc32xx_rtc_probe(struct platform_device *pdev)
>        if (rtc->irq >= 0) {
>                if (devm_request_irq(&pdev->dev, rtc->irq,
>                                     lpc32xx_rtc_alarm_interrupt,
> -                                    IRQF_DISABLED, pdev->name, rtc) < 0) {
> +                                    0, pdev->name, rtc) < 0) {
>                        dev_warn(&pdev->dev, "Can't request interrupt.\n");
>                        rtc->irq = -1;
>                } else {
> diff --git a/drivers/rtc/rtc-mpc5121.c b/drivers/rtc/rtc-mpc5121.c
> index da60915..3a683fd 100644
> --- a/drivers/rtc/rtc-mpc5121.c
> +++ b/drivers/rtc/rtc-mpc5121.c
> @@ -327,7 +327,7 @@ static int __devinit mpc5121_rtc_probe(struct platform_device *op)
>        dev_set_drvdata(&op->dev, rtc);
>
>        rtc->irq = irq_of_parse_and_map(op->dev.of_node, 1);
> -       err = request_irq(rtc->irq, mpc5121_rtc_handler, IRQF_DISABLED,
> +       err = request_irq(rtc->irq, mpc5121_rtc_handler, 0,
>                                                "mpc5121-rtc", &op->dev);
>        if (err) {
>                dev_err(&op->dev, "%s: could not request irq: %i\n",
> @@ -337,7 +337,7 @@ static int __devinit mpc5121_rtc_probe(struct platform_device *op)
>
>        rtc->irq_periodic = irq_of_parse_and_map(op->dev.of_node, 0);
>        err = request_irq(rtc->irq_periodic, mpc5121_rtc_handler_upd,
> -                               IRQF_DISABLED, "mpc5121-rtc_upd", &op->dev);
> +                               0, "mpc5121-rtc_upd", &op->dev);
>        if (err) {
>                dev_err(&op->dev, "%s: could not request irq: %i\n",
>                                                __func__, rtc->irq_periodic);
> diff --git a/drivers/rtc/rtc-mrst.c b/drivers/rtc/rtc-mrst.c
> index d335448..507f00e 100644
> --- a/drivers/rtc/rtc-mrst.c
> +++ b/drivers/rtc/rtc-mrst.c
> @@ -363,7 +363,7 @@ vrtc_mrst_do_probe(struct device *dev, struct resource *iomem, int rtc_irq)
>
>        if (rtc_irq) {
>                retval = request_irq(rtc_irq, mrst_rtc_irq,
> -                               IRQF_DISABLED, dev_name(&mrst_rtc.rtc->dev),
> +                               0, dev_name(&mrst_rtc.rtc->dev),
>                                mrst_rtc.rtc);
>                if (retval < 0) {
>                        dev_dbg(dev, "IRQ %d is already in use, err %d\n",
> diff --git a/drivers/rtc/rtc-mv.c b/drivers/rtc/rtc-mv.c
> index 768e2ed..1300962 100644
> --- a/drivers/rtc/rtc-mv.c
> +++ b/drivers/rtc/rtc-mv.c
> @@ -273,7 +273,7 @@ static int __devinit mv_rtc_probe(struct platform_device *pdev)
>        if (pdata->irq >= 0) {
>                writel(0, pdata->ioaddr + RTC_ALARM_INTERRUPT_MASK_REG_OFFS);
>                if (devm_request_irq(&pdev->dev, pdata->irq, mv_rtc_interrupt,
> -                                    IRQF_DISABLED | IRQF_SHARED,
> +                                    IRQF_SHARED,
>                                     pdev->name, pdata) < 0) {
>                        dev_warn(&pdev->dev, "interrupt not available.\n");
>                        pdata->irq = -1;
> diff --git a/drivers/rtc/rtc-nuc900.c b/drivers/rtc/rtc-nuc900.c
> index 781068d..b790109 100644
> --- a/drivers/rtc/rtc-nuc900.c
> +++ b/drivers/rtc/rtc-nuc900.c
> @@ -269,7 +269,7 @@ static int __devinit nuc900_rtc_probe(struct platform_device *pdev)
>
>        nuc900_rtc->irq_num = platform_get_irq(pdev, 0);
>        if (request_irq(nuc900_rtc->irq_num, nuc900_rtc_interrupt,
> -                               IRQF_DISABLED, "nuc900rtc", nuc900_rtc)) {
> +                               0, "nuc900rtc", nuc900_rtc)) {
>                dev_err(&pdev->dev, "NUC900 RTC request irq failed\n");
>                err = -EBUSY;
>                goto fail4;
> diff --git a/drivers/rtc/rtc-omap.c b/drivers/rtc/rtc-omap.c
> index 7789002..0b614e3 100644
> --- a/drivers/rtc/rtc-omap.c
> +++ b/drivers/rtc/rtc-omap.c
> @@ -348,14 +348,14 @@ static int __init omap_rtc_probe(struct platform_device *pdev)
>                rtc_write(OMAP_RTC_STATUS_ALARM, OMAP_RTC_STATUS_REG);
>
>        /* handle periodic and alarm irqs */
> -       if (request_irq(omap_rtc_timer, rtc_irq, IRQF_DISABLED,
> +       if (request_irq(omap_rtc_timer, rtc_irq, 0,
>                        dev_name(&rtc->dev), rtc)) {
>                pr_debug("%s: RTC timer interrupt IRQ%d already claimed\n",
>                        pdev->name, omap_rtc_timer);
>                goto fail1;
>        }
>        if ((omap_rtc_timer != omap_rtc_alarm) &&
> -               (request_irq(omap_rtc_alarm, rtc_irq, IRQF_DISABLED,
> +               (request_irq(omap_rtc_alarm, rtc_irq, 0,
>                        dev_name(&rtc->dev), rtc))) {
>                pr_debug("%s: RTC alarm interrupt IRQ%d already claimed\n",
>                        pdev->name, omap_rtc_alarm);
> diff --git a/drivers/rtc/rtc-pl030.c b/drivers/rtc/rtc-pl030.c
> index 1d28d44..c5afd6f 100644
> --- a/drivers/rtc/rtc-pl030.c
> +++ b/drivers/rtc/rtc-pl030.c
> @@ -123,7 +123,7 @@ static int pl030_probe(struct amba_device *dev, const struct amba_id *id)
>
>        amba_set_drvdata(dev, rtc);
>
> -       ret = request_irq(dev->irq[0], pl030_interrupt, IRQF_DISABLED,
> +       ret = request_irq(dev->irq[0], pl030_interrupt, 0,
>                          "rtc-pl030", rtc);
>        if (ret)
>                goto err_irq;
> diff --git a/drivers/rtc/rtc-pl031.c b/drivers/rtc/rtc-pl031.c
> index ff1b84b..d2df59d 100644
> --- a/drivers/rtc/rtc-pl031.c
> +++ b/drivers/rtc/rtc-pl031.c
> @@ -352,7 +352,7 @@ static int pl031_probe(struct amba_device *adev, const struct amba_id *id)
>        }
>
>        if (request_irq(adev->irq[0], pl031_interrupt,
> -                       IRQF_DISABLED, "rtc-pl031", ldata)) {
> +                       0, "rtc-pl031", ldata)) {
>                ret = -EIO;
>                goto out_no_irq;
>        }
> diff --git a/drivers/rtc/rtc-puv3.c b/drivers/rtc/rtc-puv3.c
> index b3eba3c..378fe4b 100644
> --- a/drivers/rtc/rtc-puv3.c
> +++ b/drivers/rtc/rtc-puv3.c
> @@ -164,7 +164,7 @@ static int puv3_rtc_open(struct device *dev)
>        int ret;
>
>        ret = request_irq(puv3_rtc_alarmno, puv3_rtc_alarmirq,
> -                         IRQF_DISABLED,  "pkunity-rtc alarm", rtc_dev);
> +                         0,  "pkunity-rtc alarm", rtc_dev);
>
>        if (ret) {
>                dev_err(dev, "IRQ%d error %d\n", puv3_rtc_alarmno, ret);
> @@ -172,7 +172,7 @@ static int puv3_rtc_open(struct device *dev)
>        }
>
>        ret = request_irq(puv3_rtc_tickno, puv3_rtc_tickirq,
> -                         IRQF_DISABLED,  "pkunity-rtc tick", rtc_dev);
> +                         0,  "pkunity-rtc tick", rtc_dev);
>
>        if (ret) {
>                dev_err(dev, "IRQ%d error %d\n", puv3_rtc_tickno, ret);
> diff --git a/drivers/rtc/rtc-pxa.c b/drivers/rtc/rtc-pxa.c
> index fc9f499..0075c8f 100644
> --- a/drivers/rtc/rtc-pxa.c
> +++ b/drivers/rtc/rtc-pxa.c
> @@ -174,14 +174,14 @@ static int pxa_rtc_open(struct device *dev)
>        struct pxa_rtc *pxa_rtc = dev_get_drvdata(dev);
>        int ret;
>
> -       ret = request_irq(pxa_rtc->irq_1Hz, pxa_rtc_irq, IRQF_DISABLED,
> +       ret = request_irq(pxa_rtc->irq_1Hz, pxa_rtc_irq, 0,
>                          "rtc 1Hz", dev);
>        if (ret < 0) {
>                dev_err(dev, "can't get irq %i, err %d\n", pxa_rtc->irq_1Hz,
>                        ret);
>                goto err_irq_1Hz;
>        }
> -       ret = request_irq(pxa_rtc->irq_Alrm, pxa_rtc_irq, IRQF_DISABLED,
> +       ret = request_irq(pxa_rtc->irq_Alrm, pxa_rtc_irq, 0,
>                          "rtc Alrm", dev);
>        if (ret < 0) {
>                dev_err(dev, "can't get irq %i, err %d\n", pxa_rtc->irq_Alrm,
> diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
> index 7639ab9..9a073aa 100644
> --- a/drivers/rtc/rtc-s3c.c
> +++ b/drivers/rtc/rtc-s3c.c
> @@ -536,14 +536,14 @@ static int __devinit s3c_rtc_probe(struct platform_device *pdev)
>        s3c_rtc_setfreq(&pdev->dev, 1);
>
>        ret = request_irq(s3c_rtc_alarmno, s3c_rtc_alarmirq,
> -                         IRQF_DISABLED,  "s3c2410-rtc alarm", rtc);
> +                         0,  "s3c2410-rtc alarm", rtc);
>        if (ret) {
>                dev_err(&pdev->dev, "IRQ%d error %d\n", s3c_rtc_alarmno, ret);
>                goto err_alarm_irq;
>        }
>
>        ret = request_irq(s3c_rtc_tickno, s3c_rtc_tickirq,
> -                         IRQF_DISABLED,  "s3c2410-rtc tick", rtc);
> +                         0,  "s3c2410-rtc tick", rtc);
>        if (ret) {
>                dev_err(&pdev->dev, "IRQ%d error %d\n", s3c_rtc_tickno, ret);
>                free_irq(s3c_rtc_alarmno, rtc);
> diff --git a/drivers/rtc/rtc-sa1100.c b/drivers/rtc/rtc-sa1100.c
> index 0b40bb8..7ca247e 100644
> --- a/drivers/rtc/rtc-sa1100.c
> +++ b/drivers/rtc/rtc-sa1100.c
> @@ -161,13 +161,13 @@ static int sa1100_rtc_open(struct device *dev)
>        struct platform_device *plat_dev = to_platform_device(dev);
>        struct rtc_device *rtc = platform_get_drvdata(plat_dev);
>
> -       ret = request_irq(IRQ_RTC1Hz, sa1100_rtc_interrupt, IRQF_DISABLED,
> +       ret = request_irq(IRQ_RTC1Hz, sa1100_rtc_interrupt, 0,
>                "rtc 1Hz", dev);
>        if (ret) {
>                dev_err(dev, "IRQ %d already in use.\n", IRQ_RTC1Hz);
>                goto fail_ui;
>        }
> -       ret = request_irq(IRQ_RTCAlrm, sa1100_rtc_interrupt, IRQF_DISABLED,
> +       ret = request_irq(IRQ_RTCAlrm, sa1100_rtc_interrupt, 0,
>                "rtc Alrm", dev);
>        if (ret) {
>                dev_err(dev, "IRQ %d already in use.\n", IRQ_RTCAlrm);
> diff --git a/drivers/rtc/rtc-sh.c b/drivers/rtc/rtc-sh.c
> index 6ac55fd..e55a763 100644
> --- a/drivers/rtc/rtc-sh.c
> +++ b/drivers/rtc/rtc-sh.c
> @@ -666,7 +666,7 @@ static int __init sh_rtc_probe(struct platform_device *pdev)
>        if (rtc->carry_irq <= 0) {
>                /* register shared periodic/carry/alarm irq */
>                ret = request_irq(rtc->periodic_irq, sh_rtc_shared,
> -                                 IRQF_DISABLED, "sh-rtc", rtc);
> +                                 0, "sh-rtc", rtc);
>                if (unlikely(ret)) {
>                        dev_err(&pdev->dev,
>                                "request IRQ failed with %d, IRQ %d\n", ret,
> @@ -676,7 +676,7 @@ static int __init sh_rtc_probe(struct platform_device *pdev)
>        } else {
>                /* register periodic/carry/alarm irqs */
>                ret = request_irq(rtc->periodic_irq, sh_rtc_periodic,
> -                                 IRQF_DISABLED, "sh-rtc period", rtc);
> +                                 0, "sh-rtc period", rtc);
>                if (unlikely(ret)) {
>                        dev_err(&pdev->dev,
>                                "request period IRQ failed with %d, IRQ %d\n",
> @@ -685,7 +685,7 @@ static int __init sh_rtc_probe(struct platform_device *pdev)
>                }
>
>                ret = request_irq(rtc->carry_irq, sh_rtc_interrupt,
> -                                 IRQF_DISABLED, "sh-rtc carry", rtc);
> +                                 0, "sh-rtc carry", rtc);
>                if (unlikely(ret)) {
>                        dev_err(&pdev->dev,
>                                "request carry IRQ failed with %d, IRQ %d\n",
> @@ -695,7 +695,7 @@ static int __init sh_rtc_probe(struct platform_device *pdev)
>                }
>
>                ret = request_irq(rtc->alarm_irq, sh_rtc_alarm,
> -                                 IRQF_DISABLED, "sh-rtc alarm", rtc);
> +                                 0, "sh-rtc alarm", rtc);
>                if (unlikely(ret)) {
>                        dev_err(&pdev->dev,
>                                "request alarm IRQ failed with %d, IRQ %d\n",
> diff --git a/drivers/rtc/rtc-stk17ta8.c b/drivers/rtc/rtc-stk17ta8.c
> index ed3e9b5..5e9adec 100644
> --- a/drivers/rtc/rtc-stk17ta8.c
> +++ b/drivers/rtc/rtc-stk17ta8.c
> @@ -329,7 +329,7 @@ static int __devinit stk17ta8_rtc_probe(struct platform_device *pdev)
>                writeb(0, ioaddr + RTC_INTERRUPTS);
>                if (devm_request_irq(&pdev->dev, pdata->irq,
>                                stk17ta8_rtc_interrupt,
> -                               IRQF_DISABLED | IRQF_SHARED,
> +                               IRQF_SHARED,
>                                pdev->name, pdev) < 0) {
>                        dev_warn(&pdev->dev, "interrupt not available.\n");
>                        pdata->irq = 0;
> diff --git a/drivers/rtc/rtc-tx4939.c b/drivers/rtc/rtc-tx4939.c
> index aac0ffe..a12bfac 100644
> --- a/drivers/rtc/rtc-tx4939.c
> +++ b/drivers/rtc/rtc-tx4939.c
> @@ -266,7 +266,7 @@ static int __init tx4939_rtc_probe(struct platform_device *pdev)
>        spin_lock_init(&pdata->lock);
>        tx4939_rtc_cmd(pdata->rtcreg, TX4939_RTCCTL_COMMAND_NOP);
>        if (devm_request_irq(&pdev->dev, irq, tx4939_rtc_interrupt,
> -                            IRQF_DISABLED, pdev->name, &pdev->dev) < 0)
> +                            0, pdev->name, &pdev->dev) < 0)
>                return -EBUSY;
>        rtc = rtc_device_register(pdev->name, &pdev->dev,
>                                  &tx4939_rtc_ops, THIS_MODULE);
> diff --git a/drivers/rtc/rtc-vr41xx.c b/drivers/rtc/rtc-vr41xx.c
> index c5698cd..6aef17d 100644
> --- a/drivers/rtc/rtc-vr41xx.c
> +++ b/drivers/rtc/rtc-vr41xx.c
> @@ -333,7 +333,7 @@ static int __devinit rtc_probe(struct platform_device *pdev)
>                goto err_device_unregister;
>        }
>
> -       retval = request_irq(aie_irq, elapsedtime_interrupt, IRQF_DISABLED,
> +       retval = request_irq(aie_irq, elapsedtime_interrupt, 0,
>                             "elapsed_time", pdev);
>        if (retval < 0)
>                goto err_device_unregister;
> @@ -342,7 +342,7 @@ static int __devinit rtc_probe(struct platform_device *pdev)
>        if (pie_irq <= 0)
>                goto err_free_irq;
>
> -       retval = request_irq(pie_irq, rtclong1_interrupt, IRQF_DISABLED,
> +       retval = request_irq(pie_irq, rtclong1_interrupt, 0,
>                             "rtclong1", pdev);
>        if (retval < 0)
>                goto err_free_irq;
> --
> 1.7.4.1
>
>



-- 
Wan ZongShun.
www.mcuos.com
ÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ\x17¥Šwÿº{.nÇ+‰·¥Š{±þG«éÿŠ{ayº\x1dʇڙë,j\a­¢f£¢·hšïêÿ‘êçz_è®\x03(­éšŽŠÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?™¨è­Ú&£ø§~á¶iO•æ¬z·švØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?–I¥

^ permalink raw reply	[flat|nested] 134+ messages in thread

* Re: [PATCH 46/57] rtc: irq: Remove IRQF_DISABLED
@ 2011-09-21  9:52     ` Wan ZongShun
  0 siblings, 0 replies; 134+ messages in thread
From: Wan ZongShun @ 2011-09-21  9:52 UTC (permalink / raw)
  To: Yong Zhang, Andrew Morton
  Cc: linux-arch, linux-kernel, tglx, Alessandro Zummo, Linus Walleij,
	Guan Xuetao, rtc-linux, linux-arm-kernel

2011/9/21 Yong Zhang <yong.zhang0@gmail.com>:
> Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
> We run all interrupt handlers with interrupts disabled
> and we even check and yell when an interrupt handler
> returns with interrupts enabled (see commit [b738a50a:
> genirq: Warn when handler enables interrupts]).
>
> So now this flag is a NOOP and can be removed.
>
> Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
> Acked-by: Linus Walleij <linus.walleij@linaro.org>

thanks, add Andrew in loop.

Acked-by: Wan ZongShun <mcuos.com@gmail.com>

> ---
>  drivers/rtc/rtc-at91sam9.c  |    2 +-
>  drivers/rtc/rtc-cmos.c      |    2 +-
>  drivers/rtc/rtc-coh901331.c |    2 +-
>  drivers/rtc/rtc-davinci.c   |    2 +-
>  drivers/rtc/rtc-ds1511.c    |    2 +-
>  drivers/rtc/rtc-ds1553.c    |    2 +-
>  drivers/rtc/rtc-lpc32xx.c   |    2 +-
>  drivers/rtc/rtc-mpc5121.c   |    4 ++--
>  drivers/rtc/rtc-mrst.c      |    2 +-
>  drivers/rtc/rtc-mv.c        |    2 +-
>  drivers/rtc/rtc-nuc900.c    |    2 +-
>  drivers/rtc/rtc-omap.c      |    4 ++--
>  drivers/rtc/rtc-pl030.c     |    2 +-
>  drivers/rtc/rtc-pl031.c     |    2 +-
>  drivers/rtc/rtc-puv3.c      |    4 ++--
>  drivers/rtc/rtc-pxa.c       |    4 ++--
>  drivers/rtc/rtc-s3c.c       |    4 ++--
>  drivers/rtc/rtc-sa1100.c    |    4 ++--
>  drivers/rtc/rtc-sh.c        |    8 ++++----
>  drivers/rtc/rtc-stk17ta8.c  |    2 +-
>  drivers/rtc/rtc-tx4939.c    |    2 +-
>  drivers/rtc/rtc-vr41xx.c    |    4 ++--
>  22 files changed, 32 insertions(+), 32 deletions(-)
>
> diff --git a/drivers/rtc/rtc-at91sam9.c b/drivers/rtc/rtc-at91sam9.c
> index a3ad957..0c09e8f 100644
> --- a/drivers/rtc/rtc-at91sam9.c
> +++ b/drivers/rtc/rtc-at91sam9.c
> @@ -331,7 +331,7 @@ static int __init at91_rtc_probe(struct platform_device *pdev)
>
>        /* register irq handler after we know what name we'll use */
>        ret = request_irq(AT91_ID_SYS, at91_rtc_interrupt,
> -                               IRQF_DISABLED | IRQF_SHARED,
> +                               IRQF_SHARED,
>                                dev_name(&rtc->rtcdev->dev), rtc);
>        if (ret) {
>                dev_dbg(&pdev->dev, "can't share IRQ %d?\n", AT91_ID_SYS);
> diff --git a/drivers/rtc/rtc-cmos.c b/drivers/rtc/rtc-cmos.c
> index 05beb6c..66d3b14 100644
> --- a/drivers/rtc/rtc-cmos.c
> +++ b/drivers/rtc/rtc-cmos.c
> @@ -714,7 +714,7 @@ cmos_do_probe(struct device *dev, struct resource *ports, int rtc_irq)
>                        rtc_cmos_int_handler = cmos_interrupt;
>
>                retval = request_irq(rtc_irq, rtc_cmos_int_handler,
> -                               IRQF_DISABLED, dev_name(&cmos_rtc.rtc->dev),
> +                               0, dev_name(&cmos_rtc.rtc->dev),
>                                cmos_rtc.rtc);
>                if (retval < 0) {
>                        dev_dbg(dev, "IRQ %d is already in use\n", rtc_irq);
> diff --git a/drivers/rtc/rtc-coh901331.c b/drivers/rtc/rtc-coh901331.c
> index 80f9c88..a5b8a0c 100644
> --- a/drivers/rtc/rtc-coh901331.c
> +++ b/drivers/rtc/rtc-coh901331.c
> @@ -199,7 +199,7 @@ static int __init coh901331_probe(struct platform_device *pdev)
>        }
>
>        rtap->irq = platform_get_irq(pdev, 0);
> -       if (request_irq(rtap->irq, coh901331_interrupt, IRQF_DISABLED,
> +       if (request_irq(rtap->irq, coh901331_interrupt, 0,
>                        "RTC COH 901 331 Alarm", rtap)) {
>                ret = -EIO;
>                goto out_no_irq;
> diff --git a/drivers/rtc/rtc-davinci.c b/drivers/rtc/rtc-davinci.c
> index 755e1fe..14c2109 100644
> --- a/drivers/rtc/rtc-davinci.c
> +++ b/drivers/rtc/rtc-davinci.c
> @@ -542,7 +542,7 @@ static int __init davinci_rtc_probe(struct platform_device *pdev)
>        rtcss_write(davinci_rtc, 0, PRTCSS_RTC_CCTRL);
>
>        ret = request_irq(davinci_rtc->irq, davinci_rtc_interrupt,
> -                         IRQF_DISABLED, "davinci_rtc", davinci_rtc);
> +                         0, "davinci_rtc", davinci_rtc);
>        if (ret < 0) {
>                dev_err(dev, "unable to register davinci RTC interrupt\n");
>                goto fail4;
> diff --git a/drivers/rtc/rtc-ds1511.c b/drivers/rtc/rtc-ds1511.c
> index 586c244..bbc7c86 100644
> --- a/drivers/rtc/rtc-ds1511.c
> +++ b/drivers/rtc/rtc-ds1511.c
> @@ -532,7 +532,7 @@ ds1511_rtc_probe(struct platform_device *pdev)
>        if (pdata->irq > 0) {
>                rtc_read(RTC_CMD1);
>                if (devm_request_irq(&pdev->dev, pdata->irq, ds1511_interrupt,
> -                       IRQF_DISABLED | IRQF_SHARED, pdev->name, pdev) < 0) {
> +                       IRQF_SHARED, pdev->name, pdev) < 0) {
>
>                        dev_warn(&pdev->dev, "interrupt not available.\n");
>                        pdata->irq = 0;
> diff --git a/drivers/rtc/rtc-ds1553.c b/drivers/rtc/rtc-ds1553.c
> index 1350029..1ef2718 100644
> --- a/drivers/rtc/rtc-ds1553.c
> +++ b/drivers/rtc/rtc-ds1553.c
> @@ -320,7 +320,7 @@ static int __devinit ds1553_rtc_probe(struct platform_device *pdev)
>                writeb(0, ioaddr + RTC_INTERRUPTS);
>                if (devm_request_irq(&pdev->dev, pdata->irq,
>                                ds1553_rtc_interrupt,
> -                               IRQF_DISABLED, pdev->name, pdev) < 0) {
> +                               0, pdev->name, pdev) < 0) {
>                        dev_warn(&pdev->dev, "interrupt not available.\n");
>                        pdata->irq = 0;
>                }
> diff --git a/drivers/rtc/rtc-lpc32xx.c b/drivers/rtc/rtc-lpc32xx.c
> index ae16250..ba11a19 100644
> --- a/drivers/rtc/rtc-lpc32xx.c
> +++ b/drivers/rtc/rtc-lpc32xx.c
> @@ -287,7 +287,7 @@ static int __devinit lpc32xx_rtc_probe(struct platform_device *pdev)
>        if (rtc->irq >= 0) {
>                if (devm_request_irq(&pdev->dev, rtc->irq,
>                                     lpc32xx_rtc_alarm_interrupt,
> -                                    IRQF_DISABLED, pdev->name, rtc) < 0) {
> +                                    0, pdev->name, rtc) < 0) {
>                        dev_warn(&pdev->dev, "Can't request interrupt.\n");
>                        rtc->irq = -1;
>                } else {
> diff --git a/drivers/rtc/rtc-mpc5121.c b/drivers/rtc/rtc-mpc5121.c
> index da60915..3a683fd 100644
> --- a/drivers/rtc/rtc-mpc5121.c
> +++ b/drivers/rtc/rtc-mpc5121.c
> @@ -327,7 +327,7 @@ static int __devinit mpc5121_rtc_probe(struct platform_device *op)
>        dev_set_drvdata(&op->dev, rtc);
>
>        rtc->irq = irq_of_parse_and_map(op->dev.of_node, 1);
> -       err = request_irq(rtc->irq, mpc5121_rtc_handler, IRQF_DISABLED,
> +       err = request_irq(rtc->irq, mpc5121_rtc_handler, 0,
>                                                "mpc5121-rtc", &op->dev);
>        if (err) {
>                dev_err(&op->dev, "%s: could not request irq: %i\n",
> @@ -337,7 +337,7 @@ static int __devinit mpc5121_rtc_probe(struct platform_device *op)
>
>        rtc->irq_periodic = irq_of_parse_and_map(op->dev.of_node, 0);
>        err = request_irq(rtc->irq_periodic, mpc5121_rtc_handler_upd,
> -                               IRQF_DISABLED, "mpc5121-rtc_upd", &op->dev);
> +                               0, "mpc5121-rtc_upd", &op->dev);
>        if (err) {
>                dev_err(&op->dev, "%s: could not request irq: %i\n",
>                                                __func__, rtc->irq_periodic);
> diff --git a/drivers/rtc/rtc-mrst.c b/drivers/rtc/rtc-mrst.c
> index d335448..507f00e 100644
> --- a/drivers/rtc/rtc-mrst.c
> +++ b/drivers/rtc/rtc-mrst.c
> @@ -363,7 +363,7 @@ vrtc_mrst_do_probe(struct device *dev, struct resource *iomem, int rtc_irq)
>
>        if (rtc_irq) {
>                retval = request_irq(rtc_irq, mrst_rtc_irq,
> -                               IRQF_DISABLED, dev_name(&mrst_rtc.rtc->dev),
> +                               0, dev_name(&mrst_rtc.rtc->dev),
>                                mrst_rtc.rtc);
>                if (retval < 0) {
>                        dev_dbg(dev, "IRQ %d is already in use, err %d\n",
> diff --git a/drivers/rtc/rtc-mv.c b/drivers/rtc/rtc-mv.c
> index 768e2ed..1300962 100644
> --- a/drivers/rtc/rtc-mv.c
> +++ b/drivers/rtc/rtc-mv.c
> @@ -273,7 +273,7 @@ static int __devinit mv_rtc_probe(struct platform_device *pdev)
>        if (pdata->irq >= 0) {
>                writel(0, pdata->ioaddr + RTC_ALARM_INTERRUPT_MASK_REG_OFFS);
>                if (devm_request_irq(&pdev->dev, pdata->irq, mv_rtc_interrupt,
> -                                    IRQF_DISABLED | IRQF_SHARED,
> +                                    IRQF_SHARED,
>                                     pdev->name, pdata) < 0) {
>                        dev_warn(&pdev->dev, "interrupt not available.\n");
>                        pdata->irq = -1;
> diff --git a/drivers/rtc/rtc-nuc900.c b/drivers/rtc/rtc-nuc900.c
> index 781068d..b790109 100644
> --- a/drivers/rtc/rtc-nuc900.c
> +++ b/drivers/rtc/rtc-nuc900.c
> @@ -269,7 +269,7 @@ static int __devinit nuc900_rtc_probe(struct platform_device *pdev)
>
>        nuc900_rtc->irq_num = platform_get_irq(pdev, 0);
>        if (request_irq(nuc900_rtc->irq_num, nuc900_rtc_interrupt,
> -                               IRQF_DISABLED, "nuc900rtc", nuc900_rtc)) {
> +                               0, "nuc900rtc", nuc900_rtc)) {
>                dev_err(&pdev->dev, "NUC900 RTC request irq failed\n");
>                err = -EBUSY;
>                goto fail4;
> diff --git a/drivers/rtc/rtc-omap.c b/drivers/rtc/rtc-omap.c
> index 7789002..0b614e3 100644
> --- a/drivers/rtc/rtc-omap.c
> +++ b/drivers/rtc/rtc-omap.c
> @@ -348,14 +348,14 @@ static int __init omap_rtc_probe(struct platform_device *pdev)
>                rtc_write(OMAP_RTC_STATUS_ALARM, OMAP_RTC_STATUS_REG);
>
>        /* handle periodic and alarm irqs */
> -       if (request_irq(omap_rtc_timer, rtc_irq, IRQF_DISABLED,
> +       if (request_irq(omap_rtc_timer, rtc_irq, 0,
>                        dev_name(&rtc->dev), rtc)) {
>                pr_debug("%s: RTC timer interrupt IRQ%d already claimed\n",
>                        pdev->name, omap_rtc_timer);
>                goto fail1;
>        }
>        if ((omap_rtc_timer != omap_rtc_alarm) &&
> -               (request_irq(omap_rtc_alarm, rtc_irq, IRQF_DISABLED,
> +               (request_irq(omap_rtc_alarm, rtc_irq, 0,
>                        dev_name(&rtc->dev), rtc))) {
>                pr_debug("%s: RTC alarm interrupt IRQ%d already claimed\n",
>                        pdev->name, omap_rtc_alarm);
> diff --git a/drivers/rtc/rtc-pl030.c b/drivers/rtc/rtc-pl030.c
> index 1d28d44..c5afd6f 100644
> --- a/drivers/rtc/rtc-pl030.c
> +++ b/drivers/rtc/rtc-pl030.c
> @@ -123,7 +123,7 @@ static int pl030_probe(struct amba_device *dev, const struct amba_id *id)
>
>        amba_set_drvdata(dev, rtc);
>
> -       ret = request_irq(dev->irq[0], pl030_interrupt, IRQF_DISABLED,
> +       ret = request_irq(dev->irq[0], pl030_interrupt, 0,
>                          "rtc-pl030", rtc);
>        if (ret)
>                goto err_irq;
> diff --git a/drivers/rtc/rtc-pl031.c b/drivers/rtc/rtc-pl031.c
> index ff1b84b..d2df59d 100644
> --- a/drivers/rtc/rtc-pl031.c
> +++ b/drivers/rtc/rtc-pl031.c
> @@ -352,7 +352,7 @@ static int pl031_probe(struct amba_device *adev, const struct amba_id *id)
>        }
>
>        if (request_irq(adev->irq[0], pl031_interrupt,
> -                       IRQF_DISABLED, "rtc-pl031", ldata)) {
> +                       0, "rtc-pl031", ldata)) {
>                ret = -EIO;
>                goto out_no_irq;
>        }
> diff --git a/drivers/rtc/rtc-puv3.c b/drivers/rtc/rtc-puv3.c
> index b3eba3c..378fe4b 100644
> --- a/drivers/rtc/rtc-puv3.c
> +++ b/drivers/rtc/rtc-puv3.c
> @@ -164,7 +164,7 @@ static int puv3_rtc_open(struct device *dev)
>        int ret;
>
>        ret = request_irq(puv3_rtc_alarmno, puv3_rtc_alarmirq,
> -                         IRQF_DISABLED,  "pkunity-rtc alarm", rtc_dev);
> +                         0,  "pkunity-rtc alarm", rtc_dev);
>
>        if (ret) {
>                dev_err(dev, "IRQ%d error %d\n", puv3_rtc_alarmno, ret);
> @@ -172,7 +172,7 @@ static int puv3_rtc_open(struct device *dev)
>        }
>
>        ret = request_irq(puv3_rtc_tickno, puv3_rtc_tickirq,
> -                         IRQF_DISABLED,  "pkunity-rtc tick", rtc_dev);
> +                         0,  "pkunity-rtc tick", rtc_dev);
>
>        if (ret) {
>                dev_err(dev, "IRQ%d error %d\n", puv3_rtc_tickno, ret);
> diff --git a/drivers/rtc/rtc-pxa.c b/drivers/rtc/rtc-pxa.c
> index fc9f499..0075c8f 100644
> --- a/drivers/rtc/rtc-pxa.c
> +++ b/drivers/rtc/rtc-pxa.c
> @@ -174,14 +174,14 @@ static int pxa_rtc_open(struct device *dev)
>        struct pxa_rtc *pxa_rtc = dev_get_drvdata(dev);
>        int ret;
>
> -       ret = request_irq(pxa_rtc->irq_1Hz, pxa_rtc_irq, IRQF_DISABLED,
> +       ret = request_irq(pxa_rtc->irq_1Hz, pxa_rtc_irq, 0,
>                          "rtc 1Hz", dev);
>        if (ret < 0) {
>                dev_err(dev, "can't get irq %i, err %d\n", pxa_rtc->irq_1Hz,
>                        ret);
>                goto err_irq_1Hz;
>        }
> -       ret = request_irq(pxa_rtc->irq_Alrm, pxa_rtc_irq, IRQF_DISABLED,
> +       ret = request_irq(pxa_rtc->irq_Alrm, pxa_rtc_irq, 0,
>                          "rtc Alrm", dev);
>        if (ret < 0) {
>                dev_err(dev, "can't get irq %i, err %d\n", pxa_rtc->irq_Alrm,
> diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
> index 7639ab9..9a073aa 100644
> --- a/drivers/rtc/rtc-s3c.c
> +++ b/drivers/rtc/rtc-s3c.c
> @@ -536,14 +536,14 @@ static int __devinit s3c_rtc_probe(struct platform_device *pdev)
>        s3c_rtc_setfreq(&pdev->dev, 1);
>
>        ret = request_irq(s3c_rtc_alarmno, s3c_rtc_alarmirq,
> -                         IRQF_DISABLED,  "s3c2410-rtc alarm", rtc);
> +                         0,  "s3c2410-rtc alarm", rtc);
>        if (ret) {
>                dev_err(&pdev->dev, "IRQ%d error %d\n", s3c_rtc_alarmno, ret);
>                goto err_alarm_irq;
>        }
>
>        ret = request_irq(s3c_rtc_tickno, s3c_rtc_tickirq,
> -                         IRQF_DISABLED,  "s3c2410-rtc tick", rtc);
> +                         0,  "s3c2410-rtc tick", rtc);
>        if (ret) {
>                dev_err(&pdev->dev, "IRQ%d error %d\n", s3c_rtc_tickno, ret);
>                free_irq(s3c_rtc_alarmno, rtc);
> diff --git a/drivers/rtc/rtc-sa1100.c b/drivers/rtc/rtc-sa1100.c
> index 0b40bb8..7ca247e 100644
> --- a/drivers/rtc/rtc-sa1100.c
> +++ b/drivers/rtc/rtc-sa1100.c
> @@ -161,13 +161,13 @@ static int sa1100_rtc_open(struct device *dev)
>        struct platform_device *plat_dev = to_platform_device(dev);
>        struct rtc_device *rtc = platform_get_drvdata(plat_dev);
>
> -       ret = request_irq(IRQ_RTC1Hz, sa1100_rtc_interrupt, IRQF_DISABLED,
> +       ret = request_irq(IRQ_RTC1Hz, sa1100_rtc_interrupt, 0,
>                "rtc 1Hz", dev);
>        if (ret) {
>                dev_err(dev, "IRQ %d already in use.\n", IRQ_RTC1Hz);
>                goto fail_ui;
>        }
> -       ret = request_irq(IRQ_RTCAlrm, sa1100_rtc_interrupt, IRQF_DISABLED,
> +       ret = request_irq(IRQ_RTCAlrm, sa1100_rtc_interrupt, 0,
>                "rtc Alrm", dev);
>        if (ret) {
>                dev_err(dev, "IRQ %d already in use.\n", IRQ_RTCAlrm);
> diff --git a/drivers/rtc/rtc-sh.c b/drivers/rtc/rtc-sh.c
> index 6ac55fd..e55a763 100644
> --- a/drivers/rtc/rtc-sh.c
> +++ b/drivers/rtc/rtc-sh.c
> @@ -666,7 +666,7 @@ static int __init sh_rtc_probe(struct platform_device *pdev)
>        if (rtc->carry_irq <= 0) {
>                /* register shared periodic/carry/alarm irq */
>                ret = request_irq(rtc->periodic_irq, sh_rtc_shared,
> -                                 IRQF_DISABLED, "sh-rtc", rtc);
> +                                 0, "sh-rtc", rtc);
>                if (unlikely(ret)) {
>                        dev_err(&pdev->dev,
>                                "request IRQ failed with %d, IRQ %d\n", ret,
> @@ -676,7 +676,7 @@ static int __init sh_rtc_probe(struct platform_device *pdev)
>        } else {
>                /* register periodic/carry/alarm irqs */
>                ret = request_irq(rtc->periodic_irq, sh_rtc_periodic,
> -                                 IRQF_DISABLED, "sh-rtc period", rtc);
> +                                 0, "sh-rtc period", rtc);
>                if (unlikely(ret)) {
>                        dev_err(&pdev->dev,
>                                "request period IRQ failed with %d, IRQ %d\n",
> @@ -685,7 +685,7 @@ static int __init sh_rtc_probe(struct platform_device *pdev)
>                }
>
>                ret = request_irq(rtc->carry_irq, sh_rtc_interrupt,
> -                                 IRQF_DISABLED, "sh-rtc carry", rtc);
> +                                 0, "sh-rtc carry", rtc);
>                if (unlikely(ret)) {
>                        dev_err(&pdev->dev,
>                                "request carry IRQ failed with %d, IRQ %d\n",
> @@ -695,7 +695,7 @@ static int __init sh_rtc_probe(struct platform_device *pdev)
>                }
>
>                ret = request_irq(rtc->alarm_irq, sh_rtc_alarm,
> -                                 IRQF_DISABLED, "sh-rtc alarm", rtc);
> +                                 0, "sh-rtc alarm", rtc);
>                if (unlikely(ret)) {
>                        dev_err(&pdev->dev,
>                                "request alarm IRQ failed with %d, IRQ %d\n",
> diff --git a/drivers/rtc/rtc-stk17ta8.c b/drivers/rtc/rtc-stk17ta8.c
> index ed3e9b5..5e9adec 100644
> --- a/drivers/rtc/rtc-stk17ta8.c
> +++ b/drivers/rtc/rtc-stk17ta8.c
> @@ -329,7 +329,7 @@ static int __devinit stk17ta8_rtc_probe(struct platform_device *pdev)
>                writeb(0, ioaddr + RTC_INTERRUPTS);
>                if (devm_request_irq(&pdev->dev, pdata->irq,
>                                stk17ta8_rtc_interrupt,
> -                               IRQF_DISABLED | IRQF_SHARED,
> +                               IRQF_SHARED,
>                                pdev->name, pdev) < 0) {
>                        dev_warn(&pdev->dev, "interrupt not available.\n");
>                        pdata->irq = 0;
> diff --git a/drivers/rtc/rtc-tx4939.c b/drivers/rtc/rtc-tx4939.c
> index aac0ffe..a12bfac 100644
> --- a/drivers/rtc/rtc-tx4939.c
> +++ b/drivers/rtc/rtc-tx4939.c
> @@ -266,7 +266,7 @@ static int __init tx4939_rtc_probe(struct platform_device *pdev)
>        spin_lock_init(&pdata->lock);
>        tx4939_rtc_cmd(pdata->rtcreg, TX4939_RTCCTL_COMMAND_NOP);
>        if (devm_request_irq(&pdev->dev, irq, tx4939_rtc_interrupt,
> -                            IRQF_DISABLED, pdev->name, &pdev->dev) < 0)
> +                            0, pdev->name, &pdev->dev) < 0)
>                return -EBUSY;
>        rtc = rtc_device_register(pdev->name, &pdev->dev,
>                                  &tx4939_rtc_ops, THIS_MODULE);
> diff --git a/drivers/rtc/rtc-vr41xx.c b/drivers/rtc/rtc-vr41xx.c
> index c5698cd..6aef17d 100644
> --- a/drivers/rtc/rtc-vr41xx.c
> +++ b/drivers/rtc/rtc-vr41xx.c
> @@ -333,7 +333,7 @@ static int __devinit rtc_probe(struct platform_device *pdev)
>                goto err_device_unregister;
>        }
>
> -       retval = request_irq(aie_irq, elapsedtime_interrupt, IRQF_DISABLED,
> +       retval = request_irq(aie_irq, elapsedtime_interrupt, 0,
>                             "elapsed_time", pdev);
>        if (retval < 0)
>                goto err_device_unregister;
> @@ -342,7 +342,7 @@ static int __devinit rtc_probe(struct platform_device *pdev)
>        if (pie_irq <= 0)
>                goto err_free_irq;
>
> -       retval = request_irq(pie_irq, rtclong1_interrupt, IRQF_DISABLED,
> +       retval = request_irq(pie_irq, rtclong1_interrupt, 0,
>                             "rtclong1", pdev);
>        if (retval < 0)
>                goto err_free_irq;
> --
> 1.7.4.1
>
>



-- 
Wan ZongShun.
www.mcuos.com

^ permalink raw reply	[flat|nested] 134+ messages in thread

* [PATCH 46/57] rtc: irq: Remove IRQF_DISABLED
@ 2011-09-21  9:52     ` Wan ZongShun
  0 siblings, 0 replies; 134+ messages in thread
From: Wan ZongShun @ 2011-09-21  9:52 UTC (permalink / raw)
  To: linux-arm-kernel

2011/9/21 Yong Zhang <yong.zhang0@gmail.com>:
> Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
> We run all interrupt handlers with interrupts disabled
> and we even check and yell when an interrupt handler
> returns with interrupts enabled (see commit [b738a50a:
> genirq: Warn when handler enables interrupts]).
>
> So now this flag is a NOOP and can be removed.
>
> Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
> Acked-by: Linus Walleij <linus.walleij@linaro.org>

thanks, add Andrew in loop.

Acked-by: Wan ZongShun <mcuos.com@gmail.com>

> ---
> ?drivers/rtc/rtc-at91sam9.c ?| ? ?2 +-
> ?drivers/rtc/rtc-cmos.c ? ? ?| ? ?2 +-
> ?drivers/rtc/rtc-coh901331.c | ? ?2 +-
> ?drivers/rtc/rtc-davinci.c ? | ? ?2 +-
> ?drivers/rtc/rtc-ds1511.c ? ?| ? ?2 +-
> ?drivers/rtc/rtc-ds1553.c ? ?| ? ?2 +-
> ?drivers/rtc/rtc-lpc32xx.c ? | ? ?2 +-
> ?drivers/rtc/rtc-mpc5121.c ? | ? ?4 ++--
> ?drivers/rtc/rtc-mrst.c ? ? ?| ? ?2 +-
> ?drivers/rtc/rtc-mv.c ? ? ? ?| ? ?2 +-
> ?drivers/rtc/rtc-nuc900.c ? ?| ? ?2 +-
> ?drivers/rtc/rtc-omap.c ? ? ?| ? ?4 ++--
> ?drivers/rtc/rtc-pl030.c ? ? | ? ?2 +-
> ?drivers/rtc/rtc-pl031.c ? ? | ? ?2 +-
> ?drivers/rtc/rtc-puv3.c ? ? ?| ? ?4 ++--
> ?drivers/rtc/rtc-pxa.c ? ? ? | ? ?4 ++--
> ?drivers/rtc/rtc-s3c.c ? ? ? | ? ?4 ++--
> ?drivers/rtc/rtc-sa1100.c ? ?| ? ?4 ++--
> ?drivers/rtc/rtc-sh.c ? ? ? ?| ? ?8 ++++----
> ?drivers/rtc/rtc-stk17ta8.c ?| ? ?2 +-
> ?drivers/rtc/rtc-tx4939.c ? ?| ? ?2 +-
> ?drivers/rtc/rtc-vr41xx.c ? ?| ? ?4 ++--
> ?22 files changed, 32 insertions(+), 32 deletions(-)
>
> diff --git a/drivers/rtc/rtc-at91sam9.c b/drivers/rtc/rtc-at91sam9.c
> index a3ad957..0c09e8f 100644
> --- a/drivers/rtc/rtc-at91sam9.c
> +++ b/drivers/rtc/rtc-at91sam9.c
> @@ -331,7 +331,7 @@ static int __init at91_rtc_probe(struct platform_device *pdev)
>
> ? ? ? ?/* register irq handler after we know what name we'll use */
> ? ? ? ?ret = request_irq(AT91_ID_SYS, at91_rtc_interrupt,
> - ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? IRQF_DISABLED | IRQF_SHARED,
> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? IRQF_SHARED,
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?dev_name(&rtc->rtcdev->dev), rtc);
> ? ? ? ?if (ret) {
> ? ? ? ? ? ? ? ?dev_dbg(&pdev->dev, "can't share IRQ %d?\n", AT91_ID_SYS);
> diff --git a/drivers/rtc/rtc-cmos.c b/drivers/rtc/rtc-cmos.c
> index 05beb6c..66d3b14 100644
> --- a/drivers/rtc/rtc-cmos.c
> +++ b/drivers/rtc/rtc-cmos.c
> @@ -714,7 +714,7 @@ cmos_do_probe(struct device *dev, struct resource *ports, int rtc_irq)
> ? ? ? ? ? ? ? ? ? ? ? ?rtc_cmos_int_handler = cmos_interrupt;
>
> ? ? ? ? ? ? ? ?retval = request_irq(rtc_irq, rtc_cmos_int_handler,
> - ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? IRQF_DISABLED, dev_name(&cmos_rtc.rtc->dev),
> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 0, dev_name(&cmos_rtc.rtc->dev),
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?cmos_rtc.rtc);
> ? ? ? ? ? ? ? ?if (retval < 0) {
> ? ? ? ? ? ? ? ? ? ? ? ?dev_dbg(dev, "IRQ %d is already in use\n", rtc_irq);
> diff --git a/drivers/rtc/rtc-coh901331.c b/drivers/rtc/rtc-coh901331.c
> index 80f9c88..a5b8a0c 100644
> --- a/drivers/rtc/rtc-coh901331.c
> +++ b/drivers/rtc/rtc-coh901331.c
> @@ -199,7 +199,7 @@ static int __init coh901331_probe(struct platform_device *pdev)
> ? ? ? ?}
>
> ? ? ? ?rtap->irq = platform_get_irq(pdev, 0);
> - ? ? ? if (request_irq(rtap->irq, coh901331_interrupt, IRQF_DISABLED,
> + ? ? ? if (request_irq(rtap->irq, coh901331_interrupt, 0,
> ? ? ? ? ? ? ? ? ? ? ? ?"RTC COH 901 331 Alarm", rtap)) {
> ? ? ? ? ? ? ? ?ret = -EIO;
> ? ? ? ? ? ? ? ?goto out_no_irq;
> diff --git a/drivers/rtc/rtc-davinci.c b/drivers/rtc/rtc-davinci.c
> index 755e1fe..14c2109 100644
> --- a/drivers/rtc/rtc-davinci.c
> +++ b/drivers/rtc/rtc-davinci.c
> @@ -542,7 +542,7 @@ static int __init davinci_rtc_probe(struct platform_device *pdev)
> ? ? ? ?rtcss_write(davinci_rtc, 0, PRTCSS_RTC_CCTRL);
>
> ? ? ? ?ret = request_irq(davinci_rtc->irq, davinci_rtc_interrupt,
> - ? ? ? ? ? ? ? ? ? ? ? ? IRQF_DISABLED, "davinci_rtc", davinci_rtc);
> + ? ? ? ? ? ? ? ? ? ? ? ? 0, "davinci_rtc", davinci_rtc);
> ? ? ? ?if (ret < 0) {
> ? ? ? ? ? ? ? ?dev_err(dev, "unable to register davinci RTC interrupt\n");
> ? ? ? ? ? ? ? ?goto fail4;
> diff --git a/drivers/rtc/rtc-ds1511.c b/drivers/rtc/rtc-ds1511.c
> index 586c244..bbc7c86 100644
> --- a/drivers/rtc/rtc-ds1511.c
> +++ b/drivers/rtc/rtc-ds1511.c
> @@ -532,7 +532,7 @@ ds1511_rtc_probe(struct platform_device *pdev)
> ? ? ? ?if (pdata->irq > 0) {
> ? ? ? ? ? ? ? ?rtc_read(RTC_CMD1);
> ? ? ? ? ? ? ? ?if (devm_request_irq(&pdev->dev, pdata->irq, ds1511_interrupt,
> - ? ? ? ? ? ? ? ? ? ? ? IRQF_DISABLED | IRQF_SHARED, pdev->name, pdev) < 0) {
> + ? ? ? ? ? ? ? ? ? ? ? IRQF_SHARED, pdev->name, pdev) < 0) {
>
> ? ? ? ? ? ? ? ? ? ? ? ?dev_warn(&pdev->dev, "interrupt not available.\n");
> ? ? ? ? ? ? ? ? ? ? ? ?pdata->irq = 0;
> diff --git a/drivers/rtc/rtc-ds1553.c b/drivers/rtc/rtc-ds1553.c
> index 1350029..1ef2718 100644
> --- a/drivers/rtc/rtc-ds1553.c
> +++ b/drivers/rtc/rtc-ds1553.c
> @@ -320,7 +320,7 @@ static int __devinit ds1553_rtc_probe(struct platform_device *pdev)
> ? ? ? ? ? ? ? ?writeb(0, ioaddr + RTC_INTERRUPTS);
> ? ? ? ? ? ? ? ?if (devm_request_irq(&pdev->dev, pdata->irq,
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?ds1553_rtc_interrupt,
> - ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? IRQF_DISABLED, pdev->name, pdev) < 0) {
> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 0, pdev->name, pdev) < 0) {
> ? ? ? ? ? ? ? ? ? ? ? ?dev_warn(&pdev->dev, "interrupt not available.\n");
> ? ? ? ? ? ? ? ? ? ? ? ?pdata->irq = 0;
> ? ? ? ? ? ? ? ?}
> diff --git a/drivers/rtc/rtc-lpc32xx.c b/drivers/rtc/rtc-lpc32xx.c
> index ae16250..ba11a19 100644
> --- a/drivers/rtc/rtc-lpc32xx.c
> +++ b/drivers/rtc/rtc-lpc32xx.c
> @@ -287,7 +287,7 @@ static int __devinit lpc32xx_rtc_probe(struct platform_device *pdev)
> ? ? ? ?if (rtc->irq >= 0) {
> ? ? ? ? ? ? ? ?if (devm_request_irq(&pdev->dev, rtc->irq,
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? lpc32xx_rtc_alarm_interrupt,
> - ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?IRQF_DISABLED, pdev->name, rtc) < 0) {
> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?0, pdev->name, rtc) < 0) {
> ? ? ? ? ? ? ? ? ? ? ? ?dev_warn(&pdev->dev, "Can't request interrupt.\n");
> ? ? ? ? ? ? ? ? ? ? ? ?rtc->irq = -1;
> ? ? ? ? ? ? ? ?} else {
> diff --git a/drivers/rtc/rtc-mpc5121.c b/drivers/rtc/rtc-mpc5121.c
> index da60915..3a683fd 100644
> --- a/drivers/rtc/rtc-mpc5121.c
> +++ b/drivers/rtc/rtc-mpc5121.c
> @@ -327,7 +327,7 @@ static int __devinit mpc5121_rtc_probe(struct platform_device *op)
> ? ? ? ?dev_set_drvdata(&op->dev, rtc);
>
> ? ? ? ?rtc->irq = irq_of_parse_and_map(op->dev.of_node, 1);
> - ? ? ? err = request_irq(rtc->irq, mpc5121_rtc_handler, IRQF_DISABLED,
> + ? ? ? err = request_irq(rtc->irq, mpc5121_rtc_handler, 0,
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?"mpc5121-rtc", &op->dev);
> ? ? ? ?if (err) {
> ? ? ? ? ? ? ? ?dev_err(&op->dev, "%s: could not request irq: %i\n",
> @@ -337,7 +337,7 @@ static int __devinit mpc5121_rtc_probe(struct platform_device *op)
>
> ? ? ? ?rtc->irq_periodic = irq_of_parse_and_map(op->dev.of_node, 0);
> ? ? ? ?err = request_irq(rtc->irq_periodic, mpc5121_rtc_handler_upd,
> - ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? IRQF_DISABLED, "mpc5121-rtc_upd", &op->dev);
> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 0, "mpc5121-rtc_upd", &op->dev);
> ? ? ? ?if (err) {
> ? ? ? ? ? ? ? ?dev_err(&op->dev, "%s: could not request irq: %i\n",
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?__func__, rtc->irq_periodic);
> diff --git a/drivers/rtc/rtc-mrst.c b/drivers/rtc/rtc-mrst.c
> index d335448..507f00e 100644
> --- a/drivers/rtc/rtc-mrst.c
> +++ b/drivers/rtc/rtc-mrst.c
> @@ -363,7 +363,7 @@ vrtc_mrst_do_probe(struct device *dev, struct resource *iomem, int rtc_irq)
>
> ? ? ? ?if (rtc_irq) {
> ? ? ? ? ? ? ? ?retval = request_irq(rtc_irq, mrst_rtc_irq,
> - ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? IRQF_DISABLED, dev_name(&mrst_rtc.rtc->dev),
> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 0, dev_name(&mrst_rtc.rtc->dev),
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?mrst_rtc.rtc);
> ? ? ? ? ? ? ? ?if (retval < 0) {
> ? ? ? ? ? ? ? ? ? ? ? ?dev_dbg(dev, "IRQ %d is already in use, err %d\n",
> diff --git a/drivers/rtc/rtc-mv.c b/drivers/rtc/rtc-mv.c
> index 768e2ed..1300962 100644
> --- a/drivers/rtc/rtc-mv.c
> +++ b/drivers/rtc/rtc-mv.c
> @@ -273,7 +273,7 @@ static int __devinit mv_rtc_probe(struct platform_device *pdev)
> ? ? ? ?if (pdata->irq >= 0) {
> ? ? ? ? ? ? ? ?writel(0, pdata->ioaddr + RTC_ALARM_INTERRUPT_MASK_REG_OFFS);
> ? ? ? ? ? ? ? ?if (devm_request_irq(&pdev->dev, pdata->irq, mv_rtc_interrupt,
> - ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?IRQF_DISABLED | IRQF_SHARED,
> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?IRQF_SHARED,
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? pdev->name, pdata) < 0) {
> ? ? ? ? ? ? ? ? ? ? ? ?dev_warn(&pdev->dev, "interrupt not available.\n");
> ? ? ? ? ? ? ? ? ? ? ? ?pdata->irq = -1;
> diff --git a/drivers/rtc/rtc-nuc900.c b/drivers/rtc/rtc-nuc900.c
> index 781068d..b790109 100644
> --- a/drivers/rtc/rtc-nuc900.c
> +++ b/drivers/rtc/rtc-nuc900.c
> @@ -269,7 +269,7 @@ static int __devinit nuc900_rtc_probe(struct platform_device *pdev)
>
> ? ? ? ?nuc900_rtc->irq_num = platform_get_irq(pdev, 0);
> ? ? ? ?if (request_irq(nuc900_rtc->irq_num, nuc900_rtc_interrupt,
> - ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? IRQF_DISABLED, "nuc900rtc", nuc900_rtc)) {
> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 0, "nuc900rtc", nuc900_rtc)) {
> ? ? ? ? ? ? ? ?dev_err(&pdev->dev, "NUC900 RTC request irq failed\n");
> ? ? ? ? ? ? ? ?err = -EBUSY;
> ? ? ? ? ? ? ? ?goto fail4;
> diff --git a/drivers/rtc/rtc-omap.c b/drivers/rtc/rtc-omap.c
> index 7789002..0b614e3 100644
> --- a/drivers/rtc/rtc-omap.c
> +++ b/drivers/rtc/rtc-omap.c
> @@ -348,14 +348,14 @@ static int __init omap_rtc_probe(struct platform_device *pdev)
> ? ? ? ? ? ? ? ?rtc_write(OMAP_RTC_STATUS_ALARM, OMAP_RTC_STATUS_REG);
>
> ? ? ? ?/* handle periodic and alarm irqs */
> - ? ? ? if (request_irq(omap_rtc_timer, rtc_irq, IRQF_DISABLED,
> + ? ? ? if (request_irq(omap_rtc_timer, rtc_irq, 0,
> ? ? ? ? ? ? ? ? ? ? ? ?dev_name(&rtc->dev), rtc)) {
> ? ? ? ? ? ? ? ?pr_debug("%s: RTC timer interrupt IRQ%d already claimed\n",
> ? ? ? ? ? ? ? ? ? ? ? ?pdev->name, omap_rtc_timer);
> ? ? ? ? ? ? ? ?goto fail1;
> ? ? ? ?}
> ? ? ? ?if ((omap_rtc_timer != omap_rtc_alarm) &&
> - ? ? ? ? ? ? ? (request_irq(omap_rtc_alarm, rtc_irq, IRQF_DISABLED,
> + ? ? ? ? ? ? ? (request_irq(omap_rtc_alarm, rtc_irq, 0,
> ? ? ? ? ? ? ? ? ? ? ? ?dev_name(&rtc->dev), rtc))) {
> ? ? ? ? ? ? ? ?pr_debug("%s: RTC alarm interrupt IRQ%d already claimed\n",
> ? ? ? ? ? ? ? ? ? ? ? ?pdev->name, omap_rtc_alarm);
> diff --git a/drivers/rtc/rtc-pl030.c b/drivers/rtc/rtc-pl030.c
> index 1d28d44..c5afd6f 100644
> --- a/drivers/rtc/rtc-pl030.c
> +++ b/drivers/rtc/rtc-pl030.c
> @@ -123,7 +123,7 @@ static int pl030_probe(struct amba_device *dev, const struct amba_id *id)
>
> ? ? ? ?amba_set_drvdata(dev, rtc);
>
> - ? ? ? ret = request_irq(dev->irq[0], pl030_interrupt, IRQF_DISABLED,
> + ? ? ? ret = request_irq(dev->irq[0], pl030_interrupt, 0,
> ? ? ? ? ? ? ? ? ? ? ? ? ?"rtc-pl030", rtc);
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err_irq;
> diff --git a/drivers/rtc/rtc-pl031.c b/drivers/rtc/rtc-pl031.c
> index ff1b84b..d2df59d 100644
> --- a/drivers/rtc/rtc-pl031.c
> +++ b/drivers/rtc/rtc-pl031.c
> @@ -352,7 +352,7 @@ static int pl031_probe(struct amba_device *adev, const struct amba_id *id)
> ? ? ? ?}
>
> ? ? ? ?if (request_irq(adev->irq[0], pl031_interrupt,
> - ? ? ? ? ? ? ? ? ? ? ? IRQF_DISABLED, "rtc-pl031", ldata)) {
> + ? ? ? ? ? ? ? ? ? ? ? 0, "rtc-pl031", ldata)) {
> ? ? ? ? ? ? ? ?ret = -EIO;
> ? ? ? ? ? ? ? ?goto out_no_irq;
> ? ? ? ?}
> diff --git a/drivers/rtc/rtc-puv3.c b/drivers/rtc/rtc-puv3.c
> index b3eba3c..378fe4b 100644
> --- a/drivers/rtc/rtc-puv3.c
> +++ b/drivers/rtc/rtc-puv3.c
> @@ -164,7 +164,7 @@ static int puv3_rtc_open(struct device *dev)
> ? ? ? ?int ret;
>
> ? ? ? ?ret = request_irq(puv3_rtc_alarmno, puv3_rtc_alarmirq,
> - ? ? ? ? ? ? ? ? ? ? ? ? IRQF_DISABLED, ?"pkunity-rtc alarm", rtc_dev);
> + ? ? ? ? ? ? ? ? ? ? ? ? 0, ?"pkunity-rtc alarm", rtc_dev);
>
> ? ? ? ?if (ret) {
> ? ? ? ? ? ? ? ?dev_err(dev, "IRQ%d error %d\n", puv3_rtc_alarmno, ret);
> @@ -172,7 +172,7 @@ static int puv3_rtc_open(struct device *dev)
> ? ? ? ?}
>
> ? ? ? ?ret = request_irq(puv3_rtc_tickno, puv3_rtc_tickirq,
> - ? ? ? ? ? ? ? ? ? ? ? ? IRQF_DISABLED, ?"pkunity-rtc tick", rtc_dev);
> + ? ? ? ? ? ? ? ? ? ? ? ? 0, ?"pkunity-rtc tick", rtc_dev);
>
> ? ? ? ?if (ret) {
> ? ? ? ? ? ? ? ?dev_err(dev, "IRQ%d error %d\n", puv3_rtc_tickno, ret);
> diff --git a/drivers/rtc/rtc-pxa.c b/drivers/rtc/rtc-pxa.c
> index fc9f499..0075c8f 100644
> --- a/drivers/rtc/rtc-pxa.c
> +++ b/drivers/rtc/rtc-pxa.c
> @@ -174,14 +174,14 @@ static int pxa_rtc_open(struct device *dev)
> ? ? ? ?struct pxa_rtc *pxa_rtc = dev_get_drvdata(dev);
> ? ? ? ?int ret;
>
> - ? ? ? ret = request_irq(pxa_rtc->irq_1Hz, pxa_rtc_irq, IRQF_DISABLED,
> + ? ? ? ret = request_irq(pxa_rtc->irq_1Hz, pxa_rtc_irq, 0,
> ? ? ? ? ? ? ? ? ? ? ? ? ?"rtc 1Hz", dev);
> ? ? ? ?if (ret < 0) {
> ? ? ? ? ? ? ? ?dev_err(dev, "can't get irq %i, err %d\n", pxa_rtc->irq_1Hz,
> ? ? ? ? ? ? ? ? ? ? ? ?ret);
> ? ? ? ? ? ? ? ?goto err_irq_1Hz;
> ? ? ? ?}
> - ? ? ? ret = request_irq(pxa_rtc->irq_Alrm, pxa_rtc_irq, IRQF_DISABLED,
> + ? ? ? ret = request_irq(pxa_rtc->irq_Alrm, pxa_rtc_irq, 0,
> ? ? ? ? ? ? ? ? ? ? ? ? ?"rtc Alrm", dev);
> ? ? ? ?if (ret < 0) {
> ? ? ? ? ? ? ? ?dev_err(dev, "can't get irq %i, err %d\n", pxa_rtc->irq_Alrm,
> diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
> index 7639ab9..9a073aa 100644
> --- a/drivers/rtc/rtc-s3c.c
> +++ b/drivers/rtc/rtc-s3c.c
> @@ -536,14 +536,14 @@ static int __devinit s3c_rtc_probe(struct platform_device *pdev)
> ? ? ? ?s3c_rtc_setfreq(&pdev->dev, 1);
>
> ? ? ? ?ret = request_irq(s3c_rtc_alarmno, s3c_rtc_alarmirq,
> - ? ? ? ? ? ? ? ? ? ? ? ? IRQF_DISABLED, ?"s3c2410-rtc alarm", rtc);
> + ? ? ? ? ? ? ? ? ? ? ? ? 0, ?"s3c2410-rtc alarm", rtc);
> ? ? ? ?if (ret) {
> ? ? ? ? ? ? ? ?dev_err(&pdev->dev, "IRQ%d error %d\n", s3c_rtc_alarmno, ret);
> ? ? ? ? ? ? ? ?goto err_alarm_irq;
> ? ? ? ?}
>
> ? ? ? ?ret = request_irq(s3c_rtc_tickno, s3c_rtc_tickirq,
> - ? ? ? ? ? ? ? ? ? ? ? ? IRQF_DISABLED, ?"s3c2410-rtc tick", rtc);
> + ? ? ? ? ? ? ? ? ? ? ? ? 0, ?"s3c2410-rtc tick", rtc);
> ? ? ? ?if (ret) {
> ? ? ? ? ? ? ? ?dev_err(&pdev->dev, "IRQ%d error %d\n", s3c_rtc_tickno, ret);
> ? ? ? ? ? ? ? ?free_irq(s3c_rtc_alarmno, rtc);
> diff --git a/drivers/rtc/rtc-sa1100.c b/drivers/rtc/rtc-sa1100.c
> index 0b40bb8..7ca247e 100644
> --- a/drivers/rtc/rtc-sa1100.c
> +++ b/drivers/rtc/rtc-sa1100.c
> @@ -161,13 +161,13 @@ static int sa1100_rtc_open(struct device *dev)
> ? ? ? ?struct platform_device *plat_dev = to_platform_device(dev);
> ? ? ? ?struct rtc_device *rtc = platform_get_drvdata(plat_dev);
>
> - ? ? ? ret = request_irq(IRQ_RTC1Hz, sa1100_rtc_interrupt, IRQF_DISABLED,
> + ? ? ? ret = request_irq(IRQ_RTC1Hz, sa1100_rtc_interrupt, 0,
> ? ? ? ? ? ? ? ?"rtc 1Hz", dev);
> ? ? ? ?if (ret) {
> ? ? ? ? ? ? ? ?dev_err(dev, "IRQ %d already in use.\n", IRQ_RTC1Hz);
> ? ? ? ? ? ? ? ?goto fail_ui;
> ? ? ? ?}
> - ? ? ? ret = request_irq(IRQ_RTCAlrm, sa1100_rtc_interrupt, IRQF_DISABLED,
> + ? ? ? ret = request_irq(IRQ_RTCAlrm, sa1100_rtc_interrupt, 0,
> ? ? ? ? ? ? ? ?"rtc Alrm", dev);
> ? ? ? ?if (ret) {
> ? ? ? ? ? ? ? ?dev_err(dev, "IRQ %d already in use.\n", IRQ_RTCAlrm);
> diff --git a/drivers/rtc/rtc-sh.c b/drivers/rtc/rtc-sh.c
> index 6ac55fd..e55a763 100644
> --- a/drivers/rtc/rtc-sh.c
> +++ b/drivers/rtc/rtc-sh.c
> @@ -666,7 +666,7 @@ static int __init sh_rtc_probe(struct platform_device *pdev)
> ? ? ? ?if (rtc->carry_irq <= 0) {
> ? ? ? ? ? ? ? ?/* register shared periodic/carry/alarm irq */
> ? ? ? ? ? ? ? ?ret = request_irq(rtc->periodic_irq, sh_rtc_shared,
> - ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? IRQF_DISABLED, "sh-rtc", rtc);
> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 0, "sh-rtc", rtc);
> ? ? ? ? ? ? ? ?if (unlikely(ret)) {
> ? ? ? ? ? ? ? ? ? ? ? ?dev_err(&pdev->dev,
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?"request IRQ failed with %d, IRQ %d\n", ret,
> @@ -676,7 +676,7 @@ static int __init sh_rtc_probe(struct platform_device *pdev)
> ? ? ? ?} else {
> ? ? ? ? ? ? ? ?/* register periodic/carry/alarm irqs */
> ? ? ? ? ? ? ? ?ret = request_irq(rtc->periodic_irq, sh_rtc_periodic,
> - ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? IRQF_DISABLED, "sh-rtc period", rtc);
> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 0, "sh-rtc period", rtc);
> ? ? ? ? ? ? ? ?if (unlikely(ret)) {
> ? ? ? ? ? ? ? ? ? ? ? ?dev_err(&pdev->dev,
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?"request period IRQ failed with %d, IRQ %d\n",
> @@ -685,7 +685,7 @@ static int __init sh_rtc_probe(struct platform_device *pdev)
> ? ? ? ? ? ? ? ?}
>
> ? ? ? ? ? ? ? ?ret = request_irq(rtc->carry_irq, sh_rtc_interrupt,
> - ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? IRQF_DISABLED, "sh-rtc carry", rtc);
> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 0, "sh-rtc carry", rtc);
> ? ? ? ? ? ? ? ?if (unlikely(ret)) {
> ? ? ? ? ? ? ? ? ? ? ? ?dev_err(&pdev->dev,
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?"request carry IRQ failed with %d, IRQ %d\n",
> @@ -695,7 +695,7 @@ static int __init sh_rtc_probe(struct platform_device *pdev)
> ? ? ? ? ? ? ? ?}
>
> ? ? ? ? ? ? ? ?ret = request_irq(rtc->alarm_irq, sh_rtc_alarm,
> - ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? IRQF_DISABLED, "sh-rtc alarm", rtc);
> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 0, "sh-rtc alarm", rtc);
> ? ? ? ? ? ? ? ?if (unlikely(ret)) {
> ? ? ? ? ? ? ? ? ? ? ? ?dev_err(&pdev->dev,
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?"request alarm IRQ failed with %d, IRQ %d\n",
> diff --git a/drivers/rtc/rtc-stk17ta8.c b/drivers/rtc/rtc-stk17ta8.c
> index ed3e9b5..5e9adec 100644
> --- a/drivers/rtc/rtc-stk17ta8.c
> +++ b/drivers/rtc/rtc-stk17ta8.c
> @@ -329,7 +329,7 @@ static int __devinit stk17ta8_rtc_probe(struct platform_device *pdev)
> ? ? ? ? ? ? ? ?writeb(0, ioaddr + RTC_INTERRUPTS);
> ? ? ? ? ? ? ? ?if (devm_request_irq(&pdev->dev, pdata->irq,
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?stk17ta8_rtc_interrupt,
> - ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? IRQF_DISABLED | IRQF_SHARED,
> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? IRQF_SHARED,
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?pdev->name, pdev) < 0) {
> ? ? ? ? ? ? ? ? ? ? ? ?dev_warn(&pdev->dev, "interrupt not available.\n");
> ? ? ? ? ? ? ? ? ? ? ? ?pdata->irq = 0;
> diff --git a/drivers/rtc/rtc-tx4939.c b/drivers/rtc/rtc-tx4939.c
> index aac0ffe..a12bfac 100644
> --- a/drivers/rtc/rtc-tx4939.c
> +++ b/drivers/rtc/rtc-tx4939.c
> @@ -266,7 +266,7 @@ static int __init tx4939_rtc_probe(struct platform_device *pdev)
> ? ? ? ?spin_lock_init(&pdata->lock);
> ? ? ? ?tx4939_rtc_cmd(pdata->rtcreg, TX4939_RTCCTL_COMMAND_NOP);
> ? ? ? ?if (devm_request_irq(&pdev->dev, irq, tx4939_rtc_interrupt,
> - ? ? ? ? ? ? ? ? ? ? ? ? ? ?IRQF_DISABLED, pdev->name, &pdev->dev) < 0)
> + ? ? ? ? ? ? ? ? ? ? ? ? ? ?0, pdev->name, &pdev->dev) < 0)
> ? ? ? ? ? ? ? ?return -EBUSY;
> ? ? ? ?rtc = rtc_device_register(pdev->name, &pdev->dev,
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?&tx4939_rtc_ops, THIS_MODULE);
> diff --git a/drivers/rtc/rtc-vr41xx.c b/drivers/rtc/rtc-vr41xx.c
> index c5698cd..6aef17d 100644
> --- a/drivers/rtc/rtc-vr41xx.c
> +++ b/drivers/rtc/rtc-vr41xx.c
> @@ -333,7 +333,7 @@ static int __devinit rtc_probe(struct platform_device *pdev)
> ? ? ? ? ? ? ? ?goto err_device_unregister;
> ? ? ? ?}
>
> - ? ? ? retval = request_irq(aie_irq, elapsedtime_interrupt, IRQF_DISABLED,
> + ? ? ? retval = request_irq(aie_irq, elapsedtime_interrupt, 0,
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? "elapsed_time", pdev);
> ? ? ? ?if (retval < 0)
> ? ? ? ? ? ? ? ?goto err_device_unregister;
> @@ -342,7 +342,7 @@ static int __devinit rtc_probe(struct platform_device *pdev)
> ? ? ? ?if (pie_irq <= 0)
> ? ? ? ? ? ? ? ?goto err_free_irq;
>
> - ? ? ? retval = request_irq(pie_irq, rtclong1_interrupt, IRQF_DISABLED,
> + ? ? ? retval = request_irq(pie_irq, rtclong1_interrupt, 0,
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? "rtclong1", pdev);
> ? ? ? ?if (retval < 0)
> ? ? ? ? ? ? ? ?goto err_free_irq;
> --
> 1.7.4.1
>
>



-- 
Wan ZongShun.
www.mcuos.com

^ permalink raw reply	[flat|nested] 134+ messages in thread

* Re: [PATCH 53/57] sound: irq: Remove IRQF_DISABLED
  2011-09-21  9:52     ` Takashi Iwai
  (?)
@ 2011-09-21  9:55       ` Thomas Gleixner
  -1 siblings, 0 replies; 134+ messages in thread
From: Thomas Gleixner @ 2011-09-21  9:55 UTC (permalink / raw)
  To: Takashi Iwai
  Cc: alsa-devel, Kuninori Morimoto, Clemens Ladisch, Jaroslav Kysela,
	Peter Ujfalusi, Paul Gortmaker, linux-arch, Russell King,
	Jassi Brar, Manuel Lauss, Uwe Kleine-König, Axel Lin,
	Liam Girdwood, cbe-oss-dev, Wan ZongShun, Lucas De Marchi,
	Yong Zhang, linux-arm-kernel, Grant Likely, Eric Miao,
	Geoff Levand, Jiri Kosina, Mark Brown

On Wed, 21 Sep 2011, Takashi Iwai wrote:

> At Wed, 21 Sep 2011 17:28:54 +0800,
> Yong Zhang wrote:
> > 
> > Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
> 
> Hm, this id hits a different commit:
>     commit c58543c869606532c2382f027d6466f4672ea756
>     Author: David S. Miller <davem@davemloft.net>
>     Date:   Tue Oct 13 00:49:09 2009 -0700
> 
>     sparc64: Set IRQF_DISABLED on LDC channel IRQs.
> 
> You mean commit e58aa3d2d0cc01ad8d6f7f640a0670433f794922?

Yeah.
 
> > We run all interrupt handlers with interrupts disabled
> > and we even check and yell when an interrupt handler
> > returns with interrupts enabled (see commit [b738a50a:
> > genirq: Warn when handler enables interrupts]).
> > 
> > So now this flag is a NOOP and can be removed.
> > 
> > Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
> > Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
> 
> Do you want to merge by yourself or shall I take it to sound git tree?
> Since IRQF_DISABLED isn't used, it can be applied safely in 3.1-based
> tree, right?

Yes, please go ahead. I'll pick up the leftovers.

Thanks,

	tglx

^ permalink raw reply	[flat|nested] 134+ messages in thread

* Re: [PATCH 53/57] sound: irq: Remove IRQF_DISABLED
@ 2011-09-21  9:55       ` Thomas Gleixner
  0 siblings, 0 replies; 134+ messages in thread
From: Thomas Gleixner @ 2011-09-21  9:55 UTC (permalink / raw)
  To: Takashi Iwai
  Cc: alsa-devel, Kuninori Morimoto, Clemens Ladisch, Jaroslav Kysela,
	Peter Ujfalusi, Paul Gortmaker, linux-arch, Russell King,
	Jassi Brar, Manuel Lauss, Uwe Kleine-König, Axel Lin,
	Liam Girdwood, cbe-oss-dev, Wan ZongShun, Lucas De Marchi,
	Yong Zhang, linux-arm-kernel, Eric Miao, Geoff Levand,
	Jiri Kosina, Mark Brown, linux-kernel, Sangbeom Kim, Paul Mundt,
	Simon Horman, Joe Perches, Jarkko Nikula, linuxppc-dev

On Wed, 21 Sep 2011, Takashi Iwai wrote:

> At Wed, 21 Sep 2011 17:28:54 +0800,
> Yong Zhang wrote:
> > 
> > Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
> 
> Hm, this id hits a different commit:
>     commit c58543c869606532c2382f027d6466f4672ea756
>     Author: David S. Miller <davem@davemloft.net>
>     Date:   Tue Oct 13 00:49:09 2009 -0700
> 
>     sparc64: Set IRQF_DISABLED on LDC channel IRQs.
> 
> You mean commit e58aa3d2d0cc01ad8d6f7f640a0670433f794922?

Yeah.
 
> > We run all interrupt handlers with interrupts disabled
> > and we even check and yell when an interrupt handler
> > returns with interrupts enabled (see commit [b738a50a:
> > genirq: Warn when handler enables interrupts]).
> > 
> > So now this flag is a NOOP and can be removed.
> > 
> > Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
> > Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
> 
> Do you want to merge by yourself or shall I take it to sound git tree?
> Since IRQF_DISABLED isn't used, it can be applied safely in 3.1-based
> tree, right?

Yes, please go ahead. I'll pick up the leftovers.

Thanks,

	tglx

^ permalink raw reply	[flat|nested] 134+ messages in thread

* [PATCH 53/57] sound: irq: Remove IRQF_DISABLED
@ 2011-09-21  9:55       ` Thomas Gleixner
  0 siblings, 0 replies; 134+ messages in thread
From: Thomas Gleixner @ 2011-09-21  9:55 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, 21 Sep 2011, Takashi Iwai wrote:

> At Wed, 21 Sep 2011 17:28:54 +0800,
> Yong Zhang wrote:
> > 
> > Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
> 
> Hm, this id hits a different commit:
>     commit c58543c869606532c2382f027d6466f4672ea756
>     Author: David S. Miller <davem@davemloft.net>
>     Date:   Tue Oct 13 00:49:09 2009 -0700
> 
>     sparc64: Set IRQF_DISABLED on LDC channel IRQs.
> 
> You mean commit e58aa3d2d0cc01ad8d6f7f640a0670433f794922?

Yeah.
 
> > We run all interrupt handlers with interrupts disabled
> > and we even check and yell when an interrupt handler
> > returns with interrupts enabled (see commit [b738a50a:
> > genirq: Warn when handler enables interrupts]).
> > 
> > So now this flag is a NOOP and can be removed.
> > 
> > Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
> > Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
> 
> Do you want to merge by yourself or shall I take it to sound git tree?
> Since IRQF_DISABLED isn't used, it can be applied safely in 3.1-based
> tree, right?

Yes, please go ahead. I'll pick up the leftovers.

Thanks,

	tglx

^ permalink raw reply	[flat|nested] 134+ messages in thread

* Re: [PATCH 50/57] w1: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 ` [PATCH 50/57] w1: " Yong Zhang
@ 2011-09-21 10:06   ` Evgeniy Polyakov
  0 siblings, 0 replies; 134+ messages in thread
From: Evgeniy Polyakov @ 2011-09-21 10:06 UTC (permalink / raw)
  To: Yong Zhang
  Cc: linux-arch, linux-kernel, tglx, Samuel Ortiz, Andres Salomon,
	Andrew Morton, Jean-François Dagenais, Tony Lindgren,
	Lucas De Marchi, Amit Kucheria, Julia Lawall

On Wed, Sep 21, 2011 at 05:28:51PM +0800, Yong Zhang (yong.zhang0@gmail.com) wrote:
> Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
> We run all interrupt handlers with interrupts disabled
> and we even check and yell when an interrupt handler
> returns with interrupts enabled (see commit [b738a50a:
> genirq: Warn when handler enables interrupts]).
> 
> So now this flag is a NOOP and can be removed.

Looks good, thank you.
Acked-by: Evgeniy Polyakov <zbr@ioremap.net>

-- 
	Evgeniy Polyakov

^ permalink raw reply	[flat|nested] 134+ messages in thread

* Re: [PATCH 40/57] dirvers/parisc: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 ` [PATCH 40/57] dirvers/parisc: " Yong Zhang
@ 2011-09-21 10:07   ` James Bottomley
  2011-09-21 12:07     ` Yong Zhang
  0 siblings, 1 reply; 134+ messages in thread
From: James Bottomley @ 2011-09-21 10:07 UTC (permalink / raw)
  To: Yong Zhang
  Cc: linux-arch, linux-kernel, tglx, Kyle McMartin, Helge Deller,
	James E.J. Bottomley, linux-parisc

Firstly, we don't need 57 patches doing this ... a single one through
the trivial tree should be sufficient (and it can nuke the flag at the
same time).

On Wed, 2011-09-21 at 17:28 +0800, Yong Zhang wrote:
> Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],

um, that's commit e58aa3d2d0cc01ad8d6f7f640a0670433f794922

James

^ permalink raw reply	[flat|nested] 134+ messages in thread

* Re: [PATCH 37/57] mmc: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 ` [PATCH 37/57] mmc: irq: " Yong Zhang
@ 2011-09-21 10:16   ` Guennadi Liakhovetski
  2011-09-22 14:50   ` Kadiyala, Kishore
  1 sibling, 0 replies; 134+ messages in thread
From: Guennadi Liakhovetski @ 2011-09-21 10:16 UTC (permalink / raw)
  To: Yong Zhang
  Cc: linux-arch, linux-kernel, tglx, Chris Ball, Ian Molton,
	Tony Lindgren, Kishore Kadiyala, Adrian Hunter, Balaji T K,
	linux-omap, linux-mmc

On Wed, 21 Sep 2011, Yong Zhang wrote:

> Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
> We run all interrupt handlers with interrupts disabled
> and we even check and yell when an interrupt handler
> returns with interrupts enabled (see commit [b738a50a:
> genirq: Warn when handler enables interrupts]).
> 
> So now this flag is a NOOP and can be removed.
> 
> Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
> ---
>  drivers/mmc/host/omap_hsmmc.c |    5 ++---
>  drivers/mmc/host/tmio_mmc.c   |    4 ++--

For tmio_mmc.c:

Acked-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>

Thanks
Guennadi

>  2 files changed, 4 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
> index 21e4a79..75c6395 100644
> --- a/drivers/mmc/host/omap_hsmmc.c
> +++ b/drivers/mmc/host/omap_hsmmc.c
> @@ -2015,7 +2015,7 @@ static int __init omap_hsmmc_probe(struct platform_device *pdev)
>  	}
>  
>  	/* Request IRQ for MMC operations */
> -	ret = request_irq(host->irq, omap_hsmmc_irq, IRQF_DISABLED,
> +	ret = request_irq(host->irq, omap_hsmmc_irq, 0,
>  			mmc_hostname(mmc), host);
>  	if (ret) {
>  		dev_dbg(mmc_dev(host->mmc), "Unable to grab HSMMC IRQ\n");
> @@ -2043,8 +2043,7 @@ static int __init omap_hsmmc_probe(struct platform_device *pdev)
>  	if ((mmc_slot(host).card_detect_irq)) {
>  		ret = request_irq(mmc_slot(host).card_detect_irq,
>  				  omap_hsmmc_cd_handler,
> -				  IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING
> -					  | IRQF_DISABLED,
> +				  IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,
>  				  mmc_hostname(mmc), host);
>  		if (ret) {
>  			dev_dbg(mmc_dev(host->mmc),
> diff --git a/drivers/mmc/host/tmio_mmc.c b/drivers/mmc/host/tmio_mmc.c
> index 44a9668..a4ea102 100644
> --- a/drivers/mmc/host/tmio_mmc.c
> +++ b/drivers/mmc/host/tmio_mmc.c
> @@ -88,8 +88,8 @@ static int __devinit tmio_mmc_probe(struct platform_device *pdev)
>  	if (ret)
>  		goto cell_disable;
>  
> -	ret = request_irq(irq, tmio_mmc_irq, IRQF_DISABLED |
> -			  IRQF_TRIGGER_FALLING, dev_name(&pdev->dev), host);
> +	ret = request_irq(irq, tmio_mmc_irq, IRQF_TRIGGER_FALLING,
> +				dev_name(&pdev->dev), host);
>  	if (ret)
>  		goto host_remove;
>  
> -- 
> 1.7.4.1
> 

---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/

^ permalink raw reply	[flat|nested] 134+ messages in thread

* Re: [PATCH 35/57] media: irq: Remove IRQF_DISABLED
       [not found] ` <1316597339-29861-36-git-send-email-yong.zhang0@gmail.com>
@ 2011-09-21 10:16   ` Guennadi Liakhovetski
  2011-09-21 10:27   ` Wolfram Sang
       [not found]   ` <4E79DF04.8060209@infradead.org>
  2 siblings, 0 replies; 134+ messages in thread
From: Guennadi Liakhovetski @ 2011-09-21 10:16 UTC (permalink / raw)
  To: Yong Zhang
  Cc: Kamil Debski, David Härdeman, Wolfram Sang, Paul Gortmaker,
	Laurent Pinchart, Igor M. Liplianin, linux-arch, Mats Randgaard,
	Vaibhav Hiremath, Jarod Wilson, Muralidharan Karicheri,
	Istvan Varga, Hans Verkuil, Linux Media Mailing List,
	Lucas De Marchi, ivtv-devel, Mauro Carvalho Chehab,
	Jonathan Nieder, Jean Delvare, mjpeg-users, Thomas Gleixner,
	Andy Walls

On Wed, 21 Sep 2011, Yong Zhang wrote:

> Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
> We run all interrupt handlers with interrupts disabled
> and we even check and yell when an interrupt handler
> returns with interrupts enabled (see commit [b738a50a:
> genirq: Warn when handler enables interrupts]).
> 
> So now this flag is a NOOP and can be removed.
> 
> Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
> Acked-by: Wolfram Sang <w.sang@pengutronix.de>

For sh_mobile_ceu_camera.c:

Acked-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>

Thanks
Guennadi

> ---
>  drivers/media/common/saa7146_core.c        |    2 +-
>  drivers/media/dvb/bt8xx/bt878.c            |    2 +-
>  drivers/media/radio/si4713-i2c.c           |    2 +-
>  drivers/media/rc/winbond-cir.c             |    2 +-
>  drivers/media/video/bt8xx/bttv-driver.c    |    2 +-
>  drivers/media/video/cx18/cx18-driver.c     |    2 +-
>  drivers/media/video/cx23885/cx23885-core.c |    2 +-
>  drivers/media/video/cx88/cx88-alsa.c       |    2 +-
>  drivers/media/video/cx88/cx88-mpeg.c       |    2 +-
>  drivers/media/video/cx88/cx88-video.c      |    2 +-
>  drivers/media/video/davinci/vpbe_display.c |    2 +-
>  drivers/media/video/davinci/vpfe_capture.c |    4 ++--
>  drivers/media/video/davinci/vpif_capture.c |    2 +-
>  drivers/media/video/davinci/vpif_display.c |    2 +-
>  drivers/media/video/ivtv/ivtv-driver.c     |    2 +-
>  drivers/media/video/meye.c                 |    2 +-
>  drivers/media/video/s5p-mfc/s5p_mfc.c      |    3 +--
>  drivers/media/video/saa7134/saa7134-alsa.c |    2 +-
>  drivers/media/video/saa7134/saa7134-core.c |    2 +-
>  drivers/media/video/saa7164/saa7164-core.c |    2 +-
>  drivers/media/video/sh_mobile_ceu_camera.c |    2 +-
>  drivers/media/video/zoran/zoran_card.c     |    2 +-
>  22 files changed, 23 insertions(+), 24 deletions(-)
> 
> diff --git a/drivers/media/common/saa7146_core.c b/drivers/media/common/saa7146_core.c
> index 31e53b6..f3aecc6 100644
> --- a/drivers/media/common/saa7146_core.c
> +++ b/drivers/media/common/saa7146_core.c
> @@ -412,7 +412,7 @@ static int saa7146_init_one(struct pci_dev *pci, const struct pci_device_id *ent
>  	saa7146_write(dev, MC2, 0xf8000000);
>  
>  	/* request an interrupt for the saa7146 */
> -	err = request_irq(pci->irq, interrupt_hw, IRQF_SHARED | IRQF_DISABLED,
> +	err = request_irq(pci->irq, interrupt_hw, IRQF_SHARED,
>  			  dev->name, dev);
>  	if (err < 0) {
>  		ERR(("request_irq() failed.\n"));
> diff --git a/drivers/media/dvb/bt8xx/bt878.c b/drivers/media/dvb/bt8xx/bt878.c
> index b34fa95..d6d78df 100644
> --- a/drivers/media/dvb/bt8xx/bt878.c
> +++ b/drivers/media/dvb/bt8xx/bt878.c
> @@ -489,7 +489,7 @@ static int __devinit bt878_probe(struct pci_dev *dev,
>  	btwrite(0, BT848_INT_MASK);
>  
>  	result = request_irq(bt->irq, bt878_irq,
> -			     IRQF_SHARED | IRQF_DISABLED, "bt878",
> +			     IRQF_SHARED, "bt878",
>  			     (void *) bt);
>  	if (result == -EINVAL) {
>  		printk(KERN_ERR "bt878(%d): Bad irq number or handler\n",
> diff --git a/drivers/media/radio/si4713-i2c.c b/drivers/media/radio/si4713-i2c.c
> index 27aba93..5d48210 100644
> --- a/drivers/media/radio/si4713-i2c.c
> +++ b/drivers/media/radio/si4713-i2c.c
> @@ -2036,7 +2036,7 @@ static int si4713_probe(struct i2c_client *client,
>  
>  	if (client->irq) {
>  		rval = request_irq(client->irq,
> -			si4713_handler, IRQF_TRIGGER_FALLING | IRQF_DISABLED,
> +			si4713_handler, IRQF_TRIGGER_FALLING,
>  			client->name, sdev);
>  		if (rval < 0) {
>  			v4l2_err(&sdev->sd, "Could not request IRQ\n");
> diff --git a/drivers/media/rc/winbond-cir.c b/drivers/media/rc/winbond-cir.c
> index bec8abc..8254ea2 100644
> --- a/drivers/media/rc/winbond-cir.c
> +++ b/drivers/media/rc/winbond-cir.c
> @@ -1011,7 +1011,7 @@ wbcir_probe(struct pnp_dev *device, const struct pnp_device_id *dev_id)
>  	}
>  
>  	err = request_irq(data->irq, wbcir_irq_handler,
> -			  IRQF_DISABLED, DRVNAME, device);
> +			  0, DRVNAME, device);
>  	if (err) {
>  		dev_err(dev, "Failed to claim IRQ %u\n", data->irq);
>  		err = -EBUSY;
> diff --git a/drivers/media/video/bt8xx/bttv-driver.c b/drivers/media/video/bt8xx/bttv-driver.c
> index 14444de..2e288d7 100644
> --- a/drivers/media/video/bt8xx/bttv-driver.c
> +++ b/drivers/media/video/bt8xx/bttv-driver.c
> @@ -4325,7 +4325,7 @@ static int __devinit bttv_probe(struct pci_dev *dev,
>  	/* disable irqs, register irq handler */
>  	btwrite(0, BT848_INT_MASK);
>  	result = request_irq(btv->c.pci->irq, bttv_irq,
> -	    IRQF_SHARED | IRQF_DISABLED, btv->c.v4l2_dev.name, (void *)btv);
> +	    IRQF_SHARED, btv->c.v4l2_dev.name, (void *)btv);
>  	if (result < 0) {
>  		printk(KERN_ERR "bttv%d: can't get IRQ %d\n",
>  		       bttv_num,btv->c.pci->irq);
> diff --git a/drivers/media/video/cx18/cx18-driver.c b/drivers/media/video/cx18/cx18-driver.c
> index 9e2f870..185221a 100644
> --- a/drivers/media/video/cx18/cx18-driver.c
> +++ b/drivers/media/video/cx18/cx18-driver.c
> @@ -1031,7 +1031,7 @@ static int __devinit cx18_probe(struct pci_dev *pci_dev,
>  
>  	/* Register IRQ */
>  	retval = request_irq(cx->pci_dev->irq, cx18_irq_handler,
> -			     IRQF_SHARED | IRQF_DISABLED,
> +			     IRQF_SHARED,
>  			     cx->v4l2_dev.name, (void *)cx);
>  	if (retval) {
>  		CX18_ERR("Failed to register irq %d\n", retval);
> diff --git a/drivers/media/video/cx23885/cx23885-core.c b/drivers/media/video/cx23885/cx23885-core.c
> index ee41a88..84464f5 100644
> --- a/drivers/media/video/cx23885/cx23885-core.c
> +++ b/drivers/media/video/cx23885/cx23885-core.c
> @@ -2062,7 +2062,7 @@ static int __devinit cx23885_initdev(struct pci_dev *pci_dev,
>  	}
>  
>  	err = request_irq(pci_dev->irq, cx23885_irq,
> -			  IRQF_SHARED | IRQF_DISABLED, dev->name, dev);
> +			  IRQF_SHARED, dev->name, dev);
>  	if (err < 0) {
>  		printk(KERN_ERR "%s: can't get IRQ %d\n",
>  		       dev->name, pci_dev->irq);
> diff --git a/drivers/media/video/cx88/cx88-alsa.c b/drivers/media/video/cx88/cx88-alsa.c
> index 68d1240..fd0c6b3 100644
> --- a/drivers/media/video/cx88/cx88-alsa.c
> +++ b/drivers/media/video/cx88/cx88-alsa.c
> @@ -849,7 +849,7 @@ static int __devinit snd_cx88_create(struct snd_card *card,
>  
>  	/* get irq */
>  	err = request_irq(chip->pci->irq, cx8801_irq,
> -			  IRQF_SHARED | IRQF_DISABLED, chip->core->name, chip);
> +			  IRQF_SHARED, chip->core->name, chip);
>  	if (err < 0) {
>  		dprintk(0, "%s: can't get IRQ %d\n",
>  		       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 cd5386e..3488efc 100644
> --- a/drivers/media/video/cx88/cx88-mpeg.c
> +++ b/drivers/media/video/cx88/cx88-mpeg.c
> @@ -497,7 +497,7 @@ static int cx8802_init_common(struct cx8802_dev *dev)
>  
>  	/* get irq */
>  	err = request_irq(dev->pci->irq, cx8802_irq,
> -			  IRQF_SHARED | IRQF_DISABLED, dev->core->name, dev);
> +			  IRQF_SHARED, dev->core->name, dev);
>  	if (err < 0) {
>  		printk(KERN_ERR "%s: can't get IRQ %d\n",
>  		       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 60d28fd..5e01d84 100644
> --- a/drivers/media/video/cx88/cx88-video.c
> +++ b/drivers/media/video/cx88/cx88-video.c
> @@ -1917,7 +1917,7 @@ static int __devinit cx8800_initdev(struct pci_dev *pci_dev,
>  
>  	/* get irq */
>  	err = request_irq(pci_dev->irq, cx8800_irq,
> -			  IRQF_SHARED | IRQF_DISABLED, core->name, dev);
> +			  IRQF_SHARED, core->name, dev);
>  	if (err < 0) {
>  		printk(KERN_ERR "%s/0: can't get IRQ %d\n",
>  		       core->name,pci_dev->irq);
> diff --git a/drivers/media/video/davinci/vpbe_display.c b/drivers/media/video/davinci/vpbe_display.c
> index 7f1d83a..03b6872 100644
> --- a/drivers/media/video/davinci/vpbe_display.c
> +++ b/drivers/media/video/davinci/vpbe_display.c
> @@ -1736,7 +1736,7 @@ static __devinit int vpbe_display_probe(struct platform_device *pdev)
>  	}
>  
>  	irq = res->start;
> -	if (request_irq(irq, venc_isr,  IRQF_DISABLED, VPBE_DISPLAY_DRIVER,
> +	if (request_irq(irq, venc_isr,  0, VPBE_DISPLAY_DRIVER,
>  		disp_dev)) {
>  		v4l2_err(&disp_dev->vpbe_dev->v4l2_dev,
>  				"Unable to request interrupt\n");
> diff --git a/drivers/media/video/davinci/vpfe_capture.c b/drivers/media/video/davinci/vpfe_capture.c
> index 5b38fc9..adb7c5c 100644
> --- a/drivers/media/video/davinci/vpfe_capture.c
> +++ b/drivers/media/video/davinci/vpfe_capture.c
> @@ -691,7 +691,7 @@ static int vpfe_attach_irq(struct vpfe_device *vpfe_dev)
>  	frame_format = ccdc_dev->hw_ops.get_frame_format();
>  	if (frame_format == CCDC_FRMFMT_PROGRESSIVE) {
>  		return request_irq(vpfe_dev->ccdc_irq1, vdint1_isr,
> -				    IRQF_DISABLED, "vpfe_capture1",
> +				    0, "vpfe_capture1",
>  				    vpfe_dev);
>  	}
>  	return 0;
> @@ -1898,7 +1898,7 @@ static __init int vpfe_probe(struct platform_device *pdev)
>  	}
>  	vpfe_dev->ccdc_irq1 = res1->start;
>  
> -	ret = request_irq(vpfe_dev->ccdc_irq0, vpfe_isr, IRQF_DISABLED,
> +	ret = request_irq(vpfe_dev->ccdc_irq0, vpfe_isr, 0,
>  			  "vpfe_capture0", vpfe_dev);
>  
>  	if (0 != ret) {
> diff --git a/drivers/media/video/davinci/vpif_capture.c b/drivers/media/video/davinci/vpif_capture.c
> index 49e4deb..f2785aa 100644
> --- a/drivers/media/video/davinci/vpif_capture.c
> +++ b/drivers/media/video/davinci/vpif_capture.c
> @@ -2180,7 +2180,7 @@ static __init int vpif_probe(struct platform_device *pdev)
>  	k = 0;
>  	while ((res = platform_get_resource(pdev, IORESOURCE_IRQ, k))) {
>  		for (i = res->start; i <= res->end; i++) {
> -			if (request_irq(i, vpif_channel_isr, IRQF_DISABLED,
> +			if (request_irq(i, vpif_channel_isr, 0,
>  					"DM646x_Capture",
>  				(void *)(&vpif_obj.dev[k]->channel_id))) {
>  				err = -EBUSY;
> diff --git a/drivers/media/video/davinci/vpif_display.c b/drivers/media/video/davinci/vpif_display.c
> index 286f029..7cd4fe8 100644
> --- a/drivers/media/video/davinci/vpif_display.c
> +++ b/drivers/media/video/davinci/vpif_display.c
> @@ -1708,7 +1708,7 @@ static __init int vpif_probe(struct platform_device *pdev)
>  	k = 0;
>  	while ((res = platform_get_resource(pdev, IORESOURCE_IRQ, k))) {
>  		for (i = res->start; i <= res->end; i++) {
> -			if (request_irq(i, vpif_channel_isr, IRQF_DISABLED,
> +			if (request_irq(i, vpif_channel_isr, 0,
>  					"DM646x_Display",
>  				(void *)(&vpif_obj.dev[k]->channel_id))) {
>  				err = -EBUSY;
> diff --git a/drivers/media/video/ivtv/ivtv-driver.c b/drivers/media/video/ivtv/ivtv-driver.c
> index 0fb7552..a787082 100644
> --- a/drivers/media/video/ivtv/ivtv-driver.c
> +++ b/drivers/media/video/ivtv/ivtv-driver.c
> @@ -1213,7 +1213,7 @@ static int __devinit ivtv_probe(struct pci_dev *pdev,
>  
>  	/* Register IRQ */
>  	retval = request_irq(itv->pdev->irq, ivtv_irq_handler,
> -	     IRQF_SHARED | IRQF_DISABLED, itv->v4l2_dev.name, (void *)itv);
> +	     IRQF_SHARED, itv->v4l2_dev.name, (void *)itv);
>  	if (retval) {
>  		IVTV_ERR("Failed to register irq %d\n", retval);
>  		goto free_i2c;
> diff --git a/drivers/media/video/meye.c b/drivers/media/video/meye.c
> index b09a3c8..d4d8db2 100644
> --- a/drivers/media/video/meye.c
> +++ b/drivers/media/video/meye.c
> @@ -1807,7 +1807,7 @@ static int __devinit meye_probe(struct pci_dev *pcidev,
>  
>  	meye.mchip_irq = pcidev->irq;
>  	if (request_irq(meye.mchip_irq, meye_irq,
> -			IRQF_DISABLED | IRQF_SHARED, "meye", meye_irq)) {
> +			IRQF_SHARED, "meye", meye_irq)) {
>  		v4l2_err(v4l2_dev, "request_irq failed\n");
>  		goto outreqirq;
>  	}
> diff --git a/drivers/media/video/s5p-mfc/s5p_mfc.c b/drivers/media/video/s5p-mfc/s5p_mfc.c
> index 7dc7eab..9207991 100644
> --- a/drivers/media/video/s5p-mfc/s5p_mfc.c
> +++ b/drivers/media/video/s5p-mfc/s5p_mfc.c
> @@ -999,8 +999,7 @@ static int __devinit s5p_mfc_probe(struct platform_device *pdev)
>  		goto err_get_res;
>  	}
>  	dev->irq = res->start;
> -	ret = request_irq(dev->irq, s5p_mfc_irq, IRQF_DISABLED, pdev->name,
> -									dev);
> +	ret = request_irq(dev->irq, s5p_mfc_irq, 0, pdev->name, dev);
>  	if (ret) {
>  		dev_err(&pdev->dev, "Failed to install irq (%d)\n", ret);
>  		goto err_req_irq;
> diff --git a/drivers/media/video/saa7134/saa7134-alsa.c b/drivers/media/video/saa7134/saa7134-alsa.c
> index 10460fd..95df27e 100644
> --- a/drivers/media/video/saa7134/saa7134-alsa.c
> +++ b/drivers/media/video/saa7134/saa7134-alsa.c
> @@ -1094,7 +1094,7 @@ static int alsa_card_saa7134_create(struct saa7134_dev *dev, int devnum)
>  
>  
>  	err = request_irq(dev->pci->irq, saa7134_alsa_irq,
> -				IRQF_SHARED | IRQF_DISABLED, dev->name,
> +				IRQF_SHARED, dev->name,
>  				(void*) &dev->dmasound);
>  
>  	if (err < 0) {
> diff --git a/drivers/media/video/saa7134/saa7134-core.c b/drivers/media/video/saa7134/saa7134-core.c
> index ca65cda..259eced 100644
> --- a/drivers/media/video/saa7134/saa7134-core.c
> +++ b/drivers/media/video/saa7134/saa7134-core.c
> @@ -992,7 +992,7 @@ static int __devinit saa7134_initdev(struct pci_dev *pci_dev,
>  
>  	/* get irq */
>  	err = request_irq(pci_dev->irq, saa7134_irq,
> -			  IRQF_SHARED | IRQF_DISABLED, dev->name, dev);
> +			  IRQF_SHARED, dev->name, dev);
>  	if (err < 0) {
>  		printk(KERN_ERR "%s: can't get IRQ %d\n",
>  		       dev->name,pci_dev->irq);
> diff --git a/drivers/media/video/saa7164/saa7164-core.c b/drivers/media/video/saa7164/saa7164-core.c
> index 3b7d7b4..db224fb 100644
> --- a/drivers/media/video/saa7164/saa7164-core.c
> +++ b/drivers/media/video/saa7164/saa7164-core.c
> @@ -1264,7 +1264,7 @@ static int __devinit saa7164_initdev(struct pci_dev *pci_dev,
>  	}
>  
>  	err = request_irq(pci_dev->irq, saa7164_irq,
> -		IRQF_SHARED | IRQF_DISABLED, dev->name, dev);
> +		IRQF_SHARED, dev->name, dev);
>  	if (err < 0) {
>  		printk(KERN_ERR "%s: can't get IRQ %d\n", dev->name,
>  			pci_dev->irq);
> diff --git a/drivers/media/video/sh_mobile_ceu_camera.c b/drivers/media/video/sh_mobile_ceu_camera.c
> index e540898..0454f4d 100644
> --- a/drivers/media/video/sh_mobile_ceu_camera.c
> +++ b/drivers/media/video/sh_mobile_ceu_camera.c
> @@ -2030,7 +2030,7 @@ static int __devinit sh_mobile_ceu_probe(struct platform_device *pdev)
>  	}
>  
>  	/* request irq */
> -	err = request_irq(pcdev->irq, sh_mobile_ceu_irq, IRQF_DISABLED,
> +	err = request_irq(pcdev->irq, sh_mobile_ceu_irq, 0,
>  			  dev_name(&pdev->dev), pcdev);
>  	if (err) {
>  		dev_err(&pdev->dev, "Unable to register CEU interrupt.\n");
> diff --git a/drivers/media/video/zoran/zoran_card.c b/drivers/media/video/zoran/zoran_card.c
> index c3602d6..23b4023 100644
> --- a/drivers/media/video/zoran/zoran_card.c
> +++ b/drivers/media/video/zoran/zoran_card.c
> @@ -1294,7 +1294,7 @@ static int __devinit zoran_probe(struct pci_dev *pdev,
>  	}
>  
>  	result = request_irq(zr->pci_dev->irq, zoran_irq,
> -			     IRQF_SHARED | IRQF_DISABLED, ZR_DEVNAME(zr), zr);
> +			     IRQF_SHARED, ZR_DEVNAME(zr), zr);
>  	if (result < 0) {
>  		if (result == -EINVAL) {
>  			dprintk(1,
> -- 
> 1.7.4.1
> 

---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/

------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2dcopy1

^ permalink raw reply	[flat|nested] 134+ messages in thread

* Re: [PATCH 53/57] sound: irq: Remove IRQF_DISABLED
  2011-09-21  9:28   ` Yong Zhang
  (?)
@ 2011-09-21 10:21     ` Ujfalusi, Peter
  -1 siblings, 0 replies; 134+ messages in thread
From: Ujfalusi, Peter @ 2011-09-21 10:21 UTC (permalink / raw)
  To: Yong Zhang
  Cc: alsa-devel, Kuninori Morimoto, Takashi Iwai, Clemens Ladisch,
	Jaroslav Kysela, Paul Gortmaker, linux-arch, Russell King,
	Jassi Brar, Manuel Lauss, Uwe Kleine-König, Axel Lin,
	Liam Girdwood, cbe-oss-dev, Wan ZongShun, Lucas De Marchi, tglx,
	linux-arm-kernel, Eric Miao, Sangbeom Kim, Jiri Kosina,
	Mark Brown, linux-kernel

On Wed, Sep 21, 2011 at 12:28 PM, Yong Zhang <yong.zhang0@gmail.com> wrote:
> Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
> We run all interrupt handlers with interrupts disabled
> and we even check and yell when an interrupt handler
> returns with interrupts enabled (see commit [b738a50a:
> genirq: Warn when handler enables interrupts]).
>
> So now this flag is a NOOP and can be removed.
>
> Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>

^ permalink raw reply	[flat|nested] 134+ messages in thread

* Re: [PATCH 53/57] sound: irq: Remove IRQF_DISABLED
@ 2011-09-21 10:21     ` Ujfalusi, Peter
  0 siblings, 0 replies; 134+ messages in thread
From: Ujfalusi, Peter @ 2011-09-21 10:21 UTC (permalink / raw)
  To: Yong Zhang
  Cc: alsa-devel, Kuninori Morimoto, Takashi Iwai, Clemens Ladisch,
	Jaroslav Kysela, Paul Gortmaker, linux-arch, Russell King,
	Jassi Brar, Manuel Lauss, Uwe Kleine-König, Axel Lin,
	Liam Girdwood, cbe-oss-dev, Wan ZongShun, Lucas De Marchi, tglx,
	linux-arm-kernel, Eric Miao, Sangbeom Kim, Jiri Kosina,
	Mark Brown, linux-kernel, Geoff Levand, Paul Mundt, Simon Horman,
	Joe Perches, Jarkko Nikula, linuxppc-dev

On Wed, Sep 21, 2011 at 12:28 PM, Yong Zhang <yong.zhang0@gmail.com> wrote:
> Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
> We run all interrupt handlers with interrupts disabled
> and we even check and yell when an interrupt handler
> returns with interrupts enabled (see commit [b738a50a:
> genirq: Warn when handler enables interrupts]).
>
> So now this flag is a NOOP and can be removed.
>
> Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>

^ permalink raw reply	[flat|nested] 134+ messages in thread

* [PATCH 53/57] sound: irq: Remove IRQF_DISABLED
@ 2011-09-21 10:21     ` Ujfalusi, Peter
  0 siblings, 0 replies; 134+ messages in thread
From: Ujfalusi, Peter @ 2011-09-21 10:21 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Sep 21, 2011 at 12:28 PM, Yong Zhang <yong.zhang0@gmail.com> wrote:
> Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
> We run all interrupt handlers with interrupts disabled
> and we even check and yell when an interrupt handler
> returns with interrupts enabled (see commit [b738a50a:
> genirq: Warn when handler enables interrupts]).
>
> So now this flag is a NOOP and can be removed.
>
> Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>

^ permalink raw reply	[flat|nested] 134+ messages in thread

* Re: [PATCH 35/57] media: irq: Remove IRQF_DISABLED
       [not found] ` <1316597339-29861-36-git-send-email-yong.zhang0@gmail.com>
  2011-09-21 10:16   ` [PATCH 35/57] media: irq: " Guennadi Liakhovetski
@ 2011-09-21 10:27   ` Wolfram Sang
  2011-09-21 12:13     ` Yong Zhang
       [not found]   ` <4E79DF04.8060209@infradead.org>
  2 siblings, 1 reply; 134+ messages in thread
From: Wolfram Sang @ 2011-09-21 10:27 UTC (permalink / raw)
  To: Yong Zhang
  Cc: Kamil Debski, David Härdeman, linux-kernel, Paul Gortmaker,
	Laurent Pinchart, Igor M. Liplianin, linux-arch, Mats Randgaard,
	Vaibhav Hiremath, Jarod Wilson, Muralidharan Karicheri,
	Istvan Varga, Hans Verkuil, linux-media, Lucas De Marchi,
	ivtv-devel, Mauro Carvalho Chehab, Jonathan Nieder, Jean Delvare,
	mjpeg-users, tglx, Andy Walls, Devin Heitmueller


[-- Attachment #1.1: Type: text/plain, Size: 816 bytes --]

On Wed, Sep 21, 2011 at 05:28:36PM +0800, Yong Zhang wrote:
> Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
> We run all interrupt handlers with interrupts disabled
> and we even check and yell when an interrupt handler
> returns with interrupts enabled (see commit [b738a50a:
> genirq: Warn when handler enables interrupts]).
> 
> So now this flag is a NOOP and can be removed.
> 
> Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
> Acked-by: Wolfram Sang <w.sang@pengutronix.de>

Umm, I didn't ack this patch but the MTD one :) Nevermind, I had a look
here as well and it looks okay, so you can keep the ack.

-- 
Pengutronix e.K.                           | Wolfram Sang                |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

[-- Attachment #2: Type: text/plain, Size: 378 bytes --]

------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2dcopy1

[-- Attachment #3: Type: text/plain, Size: 164 bytes --]

_______________________________________________
Mjpeg-users mailing list
Mjpeg-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mjpeg-users

^ permalink raw reply	[flat|nested] 134+ messages in thread

* Re: [rtc-linux] [PATCH 46/57] rtc: irq: Remove IRQF_DISABLED
  2011-09-21  9:28   ` Yong Zhang
@ 2011-09-21 10:31     ` Wolfram Sang
  -1 siblings, 0 replies; 134+ messages in thread
From: Wolfram Sang @ 2011-09-21 10:31 UTC (permalink / raw)
  To: rtc-linux
  Cc: linux-arch, linux-kernel, tglx, yong.zhang0, Alessandro Zummo,
	Linus Walleij, Wan ZongShun, Guan Xuetao, linux-arm-kernel

[-- Attachment #1: Type: text/plain, Size: 737 bytes --]

On Wed, Sep 21, 2011 at 05:28:47PM +0800, Yong Zhang wrote:
> Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
> We run all interrupt handlers with interrupts disabled
> and we even check and yell when an interrupt handler
> returns with interrupts enabled (see commit [b738a50a:
> genirq: Warn when handler enables interrupts]).
> 
> So now this flag is a NOOP and can be removed.
> 
> Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
> Acked-by: Linus Walleij <linus.walleij@linaro.org>

Acked-by: Wolfram Sang <w.sang@pengutronix.de>

-- 
Pengutronix e.K.                           | Wolfram Sang                |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 134+ messages in thread

* [rtc-linux] [PATCH 46/57] rtc: irq: Remove IRQF_DISABLED
@ 2011-09-21 10:31     ` Wolfram Sang
  0 siblings, 0 replies; 134+ messages in thread
From: Wolfram Sang @ 2011-09-21 10:31 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Sep 21, 2011 at 05:28:47PM +0800, Yong Zhang wrote:
> Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
> We run all interrupt handlers with interrupts disabled
> and we even check and yell when an interrupt handler
> returns with interrupts enabled (see commit [b738a50a:
> genirq: Warn when handler enables interrupts]).
> 
> So now this flag is a NOOP and can be removed.
> 
> Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
> Acked-by: Linus Walleij <linus.walleij@linaro.org>

Acked-by: Wolfram Sang <w.sang@pengutronix.de>

-- 
Pengutronix e.K.                           | Wolfram Sang                |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20110921/9fdefceb/attachment.sig>

^ permalink raw reply	[flat|nested] 134+ messages in thread

* Re: [PATCH 25/57] ata: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 ` [PATCH 25/57] ata: " Yong Zhang
@ 2011-09-21 10:35   ` Wolfram Sang
  0 siblings, 0 replies; 134+ messages in thread
From: Wolfram Sang @ 2011-09-21 10:35 UTC (permalink / raw)
  To: Yong Zhang; +Cc: linux-arch, linux-kernel, tglx, Jeff Garzik, linux-ide

[-- Attachment #1: Type: text/plain, Size: 683 bytes --]

On Wed, Sep 21, 2011 at 05:28:26PM +0800, Yong Zhang wrote:
> Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
> We run all interrupt handlers with interrupts disabled
> and we even check and yell when an interrupt handler
> returns with interrupts enabled (see commit [b738a50a:
> genirq: Warn when handler enables interrupts]).
> 
> So now this flag is a NOOP and can be removed.
> 
> Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>

Acked-by: Wolfram Sang <w.sang@pengutronix.de>

-- 
Pengutronix e.K.                           | Wolfram Sang                |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 134+ messages in thread

* Re: [PATCH 40/57] dirvers/parisc: irq: Remove IRQF_DISABLED
  2011-09-21 10:07   ` James Bottomley
@ 2011-09-21 12:07     ` Yong Zhang
  0 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21 12:07 UTC (permalink / raw)
  To: James Bottomley
  Cc: linux-arch, linux-kernel, tglx, Kyle McMartin, Helge Deller,
	James E.J. Bottomley, linux-parisc

On Wed, Sep 21, 2011 at 02:07:04PM +0400, James Bottomley wrote:
> Firstly, we don't need 57 patches doing this ... a single one through
> the trivial tree should be sufficient (and it can nuke the flag at the
> same time).
> 
> On Wed, 2011-09-21 at 17:28 +0800, Yong Zhang wrote:
> > Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
> 
> um, that's commit e58aa3d2d0cc01ad8d6f7f640a0670433f794922

Ah, yes, not sure how I make it wrong.

Thanks,
Yong

^ permalink raw reply	[flat|nested] 134+ messages in thread

* Re: [PATCH 53/57] sound: irq: Remove IRQF_DISABLED
  2011-09-21  9:52     ` Takashi Iwai
  (?)
@ 2011-09-21 12:10       ` Yong Zhang
  -1 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21 12:10 UTC (permalink / raw)
  To: Takashi Iwai
  Cc: alsa-devel, Kuninori Morimoto, Clemens Ladisch, Jaroslav Kysela,
	Peter Ujfalusi, Paul Gortmaker, linux-arch, Russell King,
	Jassi Brar, Manuel Lauss, Uwe Kleine-König, Axel Lin,
	Liam Girdwood, cbe-oss-dev, Wan ZongShun, Lucas De Marchi, tglx,
	linux-arm-kernel, Eric Miao, Geoff Levand, Jiri Kosina,
	Mark Brown, linux-kernel

On Wed, Sep 21, 2011 at 11:52:00AM +0200, Takashi Iwai wrote:
> At Wed, 21 Sep 2011 17:28:54 +0800,
> Yong Zhang wrote:
> > 
> > Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
> 
> Hm, this id hits a different commit:
>     commit c58543c869606532c2382f027d6466f4672ea756
>     Author: David S. Miller <davem@davemloft.net>
>     Date:   Tue Oct 13 00:49:09 2009 -0700
> 
>     sparc64: Set IRQF_DISABLED on LDC channel IRQs.
> 
> You mean commit e58aa3d2d0cc01ad8d6f7f640a0670433f794922?

Oh, yes. No idea how I made it wrong :(

Thanks,
Yong

> 
> > We run all interrupt handlers with interrupts disabled
> > and we even check and yell when an interrupt handler
> > returns with interrupts enabled (see commit [b738a50a:
> > genirq: Warn when handler enables interrupts]).
> > 
> > So now this flag is a NOOP and can be removed.
> > 
> > Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
> > Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
> 
> Do you want to merge by yourself or shall I take it to sound git tree?
> Since IRQF_DISABLED isn't used, it can be applied safely in 3.1-based
> tree, right?
> 
> Anyway, if needed, take my ack:
> 	Acked-by: Takashi Iwai <tiwai@suse.de>
> 
> 
> thanks,
> 
> Takashi
> 
> > ---
> >  include/sound/initval.h            |    2 +-
> >  sound/arm/aaci.c                   |    2 +-
> >  sound/arm/pxa2xx-ac97-lib.c        |    2 +-
> >  sound/drivers/ml403-ac97cr.c       |    4 ++--
> >  sound/drivers/mpu401/mpu401_uart.c |    2 +-
> >  sound/drivers/mtpav.c              |    2 +-
> >  sound/drivers/serial-u16550.c      |    2 +-
> >  sound/isa/ad1816a/ad1816a_lib.c    |    2 +-
> >  sound/isa/es1688/es1688_lib.c      |    2 +-
> >  sound/isa/es18xx.c                 |    2 +-
> >  sound/isa/gus/gus_main.c           |    2 +-
> >  sound/isa/gus/gusmax.c             |    2 +-
> >  sound/isa/gus/interwave.c          |    2 +-
> >  sound/isa/opl3sa2.c                |    2 +-
> >  sound/isa/opti9xx/opti92x-ad1848.c |    2 +-
> >  sound/isa/sb/sb_common.c           |    2 +-
> >  sound/isa/wavefront/wavefront.c    |    2 +-
> >  sound/isa/wss/wss_lib.c            |    2 +-
> >  sound/mips/au1x00.c                |    4 ++--
> >  sound/pci/sis7019.c                |    4 ++--
> >  sound/ppc/snd_ps3.c                |    2 +-
> >  sound/soc/au1x/dma.c               |    2 +-
> >  sound/soc/codecs/tlv320dac33.c     |    2 +-
> >  sound/soc/nuc900/nuc900-pcm.c      |    2 +-
> >  sound/soc/samsung/ac97.c           |    2 +-
> >  sound/soc/sh/fsi.c                 |    2 +-
> >  sound/soc/txx9/txx9aclc-ac97.c     |    2 +-
> >  sound/sparc/amd7930.c              |    2 +-
> >  28 files changed, 31 insertions(+), 31 deletions(-)
> > 
> > diff --git a/include/sound/initval.h b/include/sound/initval.h
> > index 1daa6df..f99a0d2 100644
> > --- a/include/sound/initval.h
> > +++ b/include/sound/initval.h
> > @@ -62,7 +62,7 @@ static int snd_legacy_find_free_irq(int *irq_table)
> >  {
> >  	while (*irq_table != -1) {
> >  		if (!request_irq(*irq_table, snd_legacy_empty_irq_handler,
> > -				 IRQF_DISABLED | IRQF_PROBE_SHARED, "ALSA Test IRQ",
> > +				 IRQF_PROBE_SHARED, "ALSA Test IRQ",
> >  				 (void *) irq_table)) {
> >  			free_irq(*irq_table, (void *) irq_table);
> >  			return *irq_table;
> > diff --git a/sound/arm/aaci.c b/sound/arm/aaci.c
> > index d0cead3..e518d38 100644
> > --- a/sound/arm/aaci.c
> > +++ b/sound/arm/aaci.c
> > @@ -443,7 +443,7 @@ static int aaci_pcm_open(struct snd_pcm_substream *substream)
> >  	mutex_lock(&aaci->irq_lock);
> >  	if (!aaci->users++) {
> >  		ret = request_irq(aaci->dev->irq[0], aaci_irq,
> > -			   IRQF_SHARED | IRQF_DISABLED, DRIVER_NAME, aaci);
> > +			   IRQF_SHARED, DRIVER_NAME, aaci);
> >  		if (ret != 0)
> >  			aaci->users--;
> >  	}
> > diff --git a/sound/arm/pxa2xx-ac97-lib.c b/sound/arm/pxa2xx-ac97-lib.c
> > index 88eec38..8ad6535 100644
> > --- a/sound/arm/pxa2xx-ac97-lib.c
> > +++ b/sound/arm/pxa2xx-ac97-lib.c
> > @@ -359,7 +359,7 @@ int __devinit pxa2xx_ac97_hw_probe(struct platform_device *dev)
> >  	if (ret)
> >  		goto err_clk2;
> >  
> > -	ret = request_irq(IRQ_AC97, pxa2xx_ac97_irq, IRQF_DISABLED, "AC97", NULL);
> > +	ret = request_irq(IRQ_AC97, pxa2xx_ac97_irq, 0, "AC97", NULL);
> >  	if (ret < 0)
> >  		goto err_irq;
> >  
> > diff --git a/sound/drivers/ml403-ac97cr.c b/sound/drivers/ml403-ac97cr.c
> > index 5cfcb90..2c7a763 100644
> > --- a/sound/drivers/ml403-ac97cr.c
> > +++ b/sound/drivers/ml403-ac97cr.c
> > @@ -1153,7 +1153,7 @@ snd_ml403_ac97cr_create(struct snd_card *card, struct platform_device *pfdev,
> >  		   "0x%x done\n", (unsigned int)ml403_ac97cr->port);
> >  	/* get irq */
> >  	irq = platform_get_irq(pfdev, 0);
> > -	if (request_irq(irq, snd_ml403_ac97cr_irq, IRQF_DISABLED,
> > +	if (request_irq(irq, snd_ml403_ac97cr_irq, 0,
> >  			dev_name(&pfdev->dev), (void *)ml403_ac97cr)) {
> >  		snd_printk(KERN_ERR SND_ML403_AC97CR_DRIVER ": "
> >  			   "unable to grab IRQ %d\n",
> > @@ -1166,7 +1166,7 @@ snd_ml403_ac97cr_create(struct snd_card *card, struct platform_device *pfdev,
> >  		   "request (playback) irq %d done\n",
> >  		   ml403_ac97cr->irq);
> >  	irq = platform_get_irq(pfdev, 1);
> > -	if (request_irq(irq, snd_ml403_ac97cr_irq, IRQF_DISABLED,
> > +	if (request_irq(irq, snd_ml403_ac97cr_irq, 0,
> >  			dev_name(&pfdev->dev), (void *)ml403_ac97cr)) {
> >  		snd_printk(KERN_ERR SND_ML403_AC97CR_DRIVER ": "
> >  			   "unable to grab IRQ %d\n",
> > diff --git a/sound/drivers/mpu401/mpu401_uart.c b/sound/drivers/mpu401/mpu401_uart.c
> > index 34df505..1cff331 100644
> > --- a/sound/drivers/mpu401/mpu401_uart.c
> > +++ b/sound/drivers/mpu401/mpu401_uart.c
> > @@ -578,7 +578,7 @@ int snd_mpu401_uart_new(struct snd_card *card, int device,
> >  	else
> >  		mpu->cport = port + 1;
> >  	if (irq >= 0) {
> > -		if (request_irq(irq, snd_mpu401_uart_interrupt, IRQF_DISABLED,
> > +		if (request_irq(irq, snd_mpu401_uart_interrupt, 0,
> >  				"MPU401 UART", (void *) mpu)) {
> >  			snd_printk(KERN_ERR "mpu401_uart: "
> >  				   "unable to grab IRQ %d\n", irq);
> > diff --git a/sound/drivers/mtpav.c b/sound/drivers/mtpav.c
> > index f50021c..7693079 100644
> > --- a/sound/drivers/mtpav.c
> > +++ b/sound/drivers/mtpav.c
> > @@ -590,7 +590,7 @@ static int __devinit snd_mtpav_get_ISA(struct mtpav * mcard)
> >  		return -EBUSY;
> >  	}
> >  	mcard->port = port;
> > -	if (request_irq(irq, snd_mtpav_irqh, IRQF_DISABLED, "MOTU MTPAV", mcard)) {
> > +	if (request_irq(irq, snd_mtpav_irqh, 0, "MOTU MTPAV", mcard)) {
> >  		snd_printk(KERN_ERR "MTVAP IRQ %d busy\n", irq);
> >  		return -EBUSY;
> >  	}
> > diff --git a/sound/drivers/serial-u16550.c b/sound/drivers/serial-u16550.c
> > index 6c5bf58..85aad43 100644
> > --- a/sound/drivers/serial-u16550.c
> > +++ b/sound/drivers/serial-u16550.c
> > @@ -816,7 +816,7 @@ static int __devinit snd_uart16550_create(struct snd_card *card,
> >  
> >  	if (irq >= 0 && irq != SNDRV_AUTO_IRQ) {
> >  		if (request_irq(irq, snd_uart16550_interrupt,
> > -				IRQF_DISABLED, "Serial MIDI", uart)) {
> > +				0, "Serial MIDI", uart)) {
> >  			snd_printk(KERN_WARNING
> >  				   "irq %d busy. Using Polling.\n", irq);
> >  		} else {
> > diff --git a/sound/isa/ad1816a/ad1816a_lib.c b/sound/isa/ad1816a/ad1816a_lib.c
> > index 05aef8b..177eed3 100644
> > --- a/sound/isa/ad1816a/ad1816a_lib.c
> > +++ b/sound/isa/ad1816a/ad1816a_lib.c
> > @@ -595,7 +595,7 @@ int __devinit snd_ad1816a_create(struct snd_card *card,
> >  		snd_ad1816a_free(chip);
> >  		return -EBUSY;
> >  	}
> > -	if (request_irq(irq, snd_ad1816a_interrupt, IRQF_DISABLED, "AD1816A", (void *) chip)) {
> > +	if (request_irq(irq, snd_ad1816a_interrupt, 0, "AD1816A", (void *) chip)) {
> >  		snd_printk(KERN_ERR "ad1816a: can't grab IRQ %d\n", irq);
> >  		snd_ad1816a_free(chip);
> >  		return -EBUSY;
> > diff --git a/sound/isa/es1688/es1688_lib.c b/sound/isa/es1688/es1688_lib.c
> > index 0767620..d3eab6f 100644
> > --- a/sound/isa/es1688/es1688_lib.c
> > +++ b/sound/isa/es1688/es1688_lib.c
> > @@ -661,7 +661,7 @@ int snd_es1688_create(struct snd_card *card,
> >  		snd_printk(KERN_ERR "es1688: can't grab port 0x%lx\n", port + 4);
> >  		return -EBUSY;
> >  	}
> > -	if (request_irq(irq, snd_es1688_interrupt, IRQF_DISABLED, "ES1688", (void *) chip)) {
> > +	if (request_irq(irq, snd_es1688_interrupt, 0, "ES1688", (void *) chip)) {
> >  		snd_printk(KERN_ERR "es1688: can't grab IRQ %d\n", irq);
> >  		return -EBUSY;
> >  	}
> > diff --git a/sound/isa/es18xx.c b/sound/isa/es18xx.c
> > index aeee8f8..bf6ad0b 100644
> > --- a/sound/isa/es18xx.c
> > +++ b/sound/isa/es18xx.c
> > @@ -1805,7 +1805,7 @@ static int __devinit snd_es18xx_new_device(struct snd_card *card,
> >  		return -EBUSY;
> >  	}
> >  
> > -	if (request_irq(irq, snd_es18xx_interrupt, IRQF_DISABLED, "ES18xx",
> > +	if (request_irq(irq, snd_es18xx_interrupt, 0, "ES18xx",
> >  			(void *) card)) {
> >  		snd_es18xx_free(card);
> >  		snd_printk(KERN_ERR PFX "unable to grap IRQ %d\n", irq);
> > diff --git a/sound/isa/gus/gus_main.c b/sound/isa/gus/gus_main.c
> > index 12eb98f..3167e5a 100644
> > --- a/sound/isa/gus/gus_main.c
> > +++ b/sound/isa/gus/gus_main.c
> > @@ -180,7 +180,7 @@ int snd_gus_create(struct snd_card *card,
> >  		snd_gus_free(gus);
> >  		return -EBUSY;
> >  	}
> > -	if (irq >= 0 && request_irq(irq, snd_gus_interrupt, IRQF_DISABLED, "GUS GF1", (void *) gus)) {
> > +	if (irq >= 0 && request_irq(irq, snd_gus_interrupt, 0, "GUS GF1", (void *) gus)) {
> >  		snd_printk(KERN_ERR "gus: can't grab irq %d\n", irq);
> >  		snd_gus_free(gus);
> >  		return -EBUSY;
> > diff --git a/sound/isa/gus/gusmax.c b/sound/isa/gus/gusmax.c
> > index 3e4a58b..c43faa0 100644
> > --- a/sound/isa/gus/gusmax.c
> > +++ b/sound/isa/gus/gusmax.c
> > @@ -291,7 +291,7 @@ static int __devinit snd_gusmax_probe(struct device *pdev, unsigned int dev)
> >  		goto _err;
> >  	}
> >  
> > -	if (request_irq(xirq, snd_gusmax_interrupt, IRQF_DISABLED, "GUS MAX", (void *)maxcard)) {
> > +	if (request_irq(xirq, snd_gusmax_interrupt, 0, "GUS MAX", (void *)maxcard)) {
> >  		snd_printk(KERN_ERR PFX "unable to grab IRQ %d\n", xirq);
> >  		err = -EBUSY;
> >  		goto _err;
> > diff --git a/sound/isa/gus/interwave.c b/sound/isa/gus/interwave.c
> > index c7b80e4..5f869a3 100644
> > --- a/sound/isa/gus/interwave.c
> > +++ b/sound/isa/gus/interwave.c
> > @@ -684,7 +684,7 @@ static int __devinit snd_interwave_probe(struct snd_card *card, int dev)
> >  	if ((err = snd_gus_initialize(gus)) < 0)
> >  		return err;
> >  
> > -	if (request_irq(xirq, snd_interwave_interrupt, IRQF_DISABLED,
> > +	if (request_irq(xirq, snd_interwave_interrupt, 0,
> >  			"InterWave", iwcard)) {
> >  		snd_printk(KERN_ERR PFX "unable to grab IRQ %d\n", xirq);
> >  		return -EBUSY;
> > diff --git a/sound/isa/opl3sa2.c b/sound/isa/opl3sa2.c
> > index de99f47..bbafb0b 100644
> > --- a/sound/isa/opl3sa2.c
> > +++ b/sound/isa/opl3sa2.c
> > @@ -667,7 +667,7 @@ static int __devinit snd_opl3sa2_probe(struct snd_card *card, int dev)
> >  	err = snd_opl3sa2_detect(card);
> >  	if (err < 0)
> >  		return err;
> > -	err = request_irq(xirq, snd_opl3sa2_interrupt, IRQF_DISABLED,
> > +	err = request_irq(xirq, snd_opl3sa2_interrupt, 0,
> >  			  "OPL3-SA2", card);
> >  	if (err) {
> >  		snd_printk(KERN_ERR PFX "can't grab IRQ %d\n", xirq);
> > diff --git a/sound/isa/opti9xx/opti92x-ad1848.c b/sound/isa/opti9xx/opti92x-ad1848.c
> > index 346e12b..6dbbfa7 100644
> > --- a/sound/isa/opti9xx/opti92x-ad1848.c
> > +++ b/sound/isa/opti9xx/opti92x-ad1848.c
> > @@ -892,7 +892,7 @@ static int __devinit snd_opti9xx_probe(struct snd_card *card)
> >  #endif
> >  #ifdef OPTi93X
> >  	error = request_irq(irq, snd_opti93x_interrupt,
> > -			    IRQF_DISABLED, DEV_NAME" - WSS", chip);
> > +			    0, DEV_NAME" - WSS", chip);
> >  	if (error < 0) {
> >  		snd_printk(KERN_ERR "opti9xx: can't grab IRQ %d\n", irq);
> >  		return error;
> > diff --git a/sound/isa/sb/sb_common.c b/sound/isa/sb/sb_common.c
> > index eae6c1c..d2e1921 100644
> > --- a/sound/isa/sb/sb_common.c
> > +++ b/sound/isa/sb/sb_common.c
> > @@ -240,7 +240,7 @@ int snd_sbdsp_create(struct snd_card *card,
> >  	if (request_irq(irq, irq_handler,
> >  			(hardware == SB_HW_ALS4000 ||
> >  			 hardware == SB_HW_CS5530) ?
> > -			IRQF_SHARED : IRQF_DISABLED,
> > +			IRQF_SHARED : 0,
> >  			"SoundBlaster", (void *) chip)) {
> >  		snd_printk(KERN_ERR "sb: can't grab irq %d\n", irq);
> >  		snd_sbdsp_free(chip);
> > diff --git a/sound/isa/wavefront/wavefront.c b/sound/isa/wavefront/wavefront.c
> > index 83f291d..8714297 100644
> > --- a/sound/isa/wavefront/wavefront.c
> > +++ b/sound/isa/wavefront/wavefront.c
> > @@ -418,7 +418,7 @@ snd_wavefront_probe (struct snd_card *card, int dev)
> >  		return -EBUSY;
> >  	}
> >  	if (request_irq(ics2115_irq[dev], snd_wavefront_ics2115_interrupt,
> > -			IRQF_DISABLED, "ICS2115", acard)) {
> > +			0, "ICS2115", acard)) {
> >  		snd_printk(KERN_ERR "unable to use ICS2115 IRQ %d\n", ics2115_irq[dev]);
> >  		return -EBUSY;
> >  	}
> > diff --git a/sound/isa/wss/wss_lib.c b/sound/isa/wss/wss_lib.c
> > index 2a42cc3..7277c5b 100644
> > --- a/sound/isa/wss/wss_lib.c
> > +++ b/sound/isa/wss/wss_lib.c
> > @@ -1833,7 +1833,7 @@ int snd_wss_create(struct snd_card *card,
> >  	}
> >  	chip->cport = cport;
> >  	if (!(hwshare & WSS_HWSHARE_IRQ))
> > -		if (request_irq(irq, snd_wss_interrupt, IRQF_DISABLED,
> > +		if (request_irq(irq, snd_wss_interrupt, 0,
> >  				"WSS", (void *) chip)) {
> >  			snd_printk(KERN_ERR "wss: can't grab IRQ %d\n", irq);
> >  			snd_wss_free(chip);
> > diff --git a/sound/mips/au1x00.c b/sound/mips/au1x00.c
> > index 446cf97..7567ebd 100644
> > --- a/sound/mips/au1x00.c
> > +++ b/sound/mips/au1x00.c
> > @@ -465,13 +465,13 @@ snd_au1000_pcm_new(struct snd_au1000 *au1000)
> >  
> >  	flags = claim_dma_lock();
> >  	if ((au1000->stream[PLAYBACK]->dma = request_au1000_dma(DMA_ID_AC97C_TX,
> > -			"AC97 TX", au1000_dma_interrupt, IRQF_DISABLED,
> > +			"AC97 TX", au1000_dma_interrupt, 0,
> >  			au1000->stream[PLAYBACK])) < 0) {
> >  		release_dma_lock(flags);
> >  		return -EBUSY;
> >  	}
> >  	if ((au1000->stream[CAPTURE]->dma = request_au1000_dma(DMA_ID_AC97C_RX,
> > -			"AC97 RX", au1000_dma_interrupt, IRQF_DISABLED,
> > +			"AC97 RX", au1000_dma_interrupt, 0,
> >  			au1000->stream[CAPTURE])) < 0){
> >  		release_dma_lock(flags);
> >  		return -EBUSY;
> > diff --git a/sound/pci/sis7019.c b/sound/pci/sis7019.c
> > index bcf6152..5ffb20b 100644
> > --- a/sound/pci/sis7019.c
> > +++ b/sound/pci/sis7019.c
> > @@ -1234,7 +1234,7 @@ static int sis_resume(struct pci_dev *pci)
> >  		goto error;
> >  	}
> >  
> > -	if (request_irq(pci->irq, sis_interrupt, IRQF_DISABLED|IRQF_SHARED,
> > +	if (request_irq(pci->irq, sis_interrupt, IRQF_SHARED,
> >  			KBUILD_MODNAME, sis)) {
> >  		printk(KERN_ERR "sis7019: unable to regain IRQ %d\n", pci->irq);
> >  		goto error;
> > @@ -1340,7 +1340,7 @@ static int __devinit sis_chip_create(struct snd_card *card,
> >  	if (rc)
> >  		goto error_out_cleanup;
> >  
> > -	if (request_irq(pci->irq, sis_interrupt, IRQF_DISABLED|IRQF_SHARED,
> > +	if (request_irq(pci->irq, sis_interrupt, IRQF_SHARED,
> >  			KBUILD_MODNAME, sis)) {
> >  		printk(KERN_ERR "unable to allocate irq %d\n", sis->irq);
> >  		goto error_out_cleanup;
> > diff --git a/sound/ppc/snd_ps3.c b/sound/ppc/snd_ps3.c
> > index bc823a5..775bd95 100644
> > --- a/sound/ppc/snd_ps3.c
> > +++ b/sound/ppc/snd_ps3.c
> > @@ -845,7 +845,7 @@ static int __devinit snd_ps3_allocate_irq(void)
> >  		return ret;
> >  	}
> >  
> > -	ret = request_irq(the_card.irq_no, snd_ps3_interrupt, IRQF_DISABLED,
> > +	ret = request_irq(the_card.irq_no, snd_ps3_interrupt, 0,
> >  			  SND_PS3_DRIVER_NAME, &the_card);
> >  	if (ret) {
> >  		pr_info("%s: request_irq failed (%d)\n", __func__, ret);
> > diff --git a/sound/soc/au1x/dma.c b/sound/soc/au1x/dma.c
> > index 7aa5b76..177f713 100644
> > --- a/sound/soc/au1x/dma.c
> > +++ b/sound/soc/au1x/dma.c
> > @@ -211,7 +211,7 @@ static int alchemy_pcm_open(struct snd_pcm_substream *substream)
> >  	/* DMA setup */
> >  	name = (s == SNDRV_PCM_STREAM_PLAYBACK) ? "audio-tx" : "audio-rx";
> >  	ctx->stream[s].dma = request_au1000_dma(dmaids[s], name,
> > -					au1000_dma_interrupt, IRQF_DISABLED,
> > +					au1000_dma_interrupt, 0,
> >  					&ctx->stream[s]);
> >  	set_dma_mode(ctx->stream[s].dma,
> >  		     get_dma_mode(ctx->stream[s].dma) & ~DMA_NC);
> > diff --git a/sound/soc/codecs/tlv320dac33.c b/sound/soc/codecs/tlv320dac33.c
> > index faa5e9f..243d177 100644
> > --- a/sound/soc/codecs/tlv320dac33.c
> > +++ b/sound/soc/codecs/tlv320dac33.c
> > @@ -1431,7 +1431,7 @@ static int dac33_soc_probe(struct snd_soc_codec *codec)
> >  	/* Check if the IRQ number is valid and request it */
> >  	if (dac33->irq >= 0) {
> >  		ret = request_irq(dac33->irq, dac33_interrupt_handler,
> > -				  IRQF_TRIGGER_RISING | IRQF_DISABLED,
> > +				  IRQF_TRIGGER_RISING,
> >  				  codec->name, codec);
> >  		if (ret < 0) {
> >  			dev_err(codec->dev, "Could not request IRQ%d (%d)\n",
> > diff --git a/sound/soc/nuc900/nuc900-pcm.c b/sound/soc/nuc900/nuc900-pcm.c
> > index e46d551..865b288 100644
> > --- a/sound/soc/nuc900/nuc900-pcm.c
> > +++ b/sound/soc/nuc900/nuc900-pcm.c
> > @@ -268,7 +268,7 @@ static int nuc900_dma_open(struct snd_pcm_substream *substream)
> >  	nuc900_audio = nuc900_ac97_data;
> >  
> >  	if (request_irq(nuc900_audio->irq_num, nuc900_dma_interrupt,
> > -			IRQF_DISABLED, "nuc900-dma", substream))
> > +			0, "nuc900-dma", substream))
> >  		return -EBUSY;
> >  
> >  	runtime->private_data = nuc900_audio;
> > diff --git a/sound/soc/samsung/ac97.c b/sound/soc/samsung/ac97.c
> > index b4f9b00..41b387b 100644
> > --- a/sound/soc/samsung/ac97.c
> > +++ b/sound/soc/samsung/ac97.c
> > @@ -450,7 +450,7 @@ static __devinit int s3c_ac97_probe(struct platform_device *pdev)
> >  	}
> >  
> >  	ret = request_irq(irq_res->start, s3c_ac97_irq,
> > -					IRQF_DISABLED, "AC97", NULL);
> > +					0, "AC97", NULL);
> >  	if (ret < 0) {
> >  		dev_err(&pdev->dev, "ac97: interrupt request failed.\n");
> >  		goto err4;
> > diff --git a/sound/soc/sh/fsi.c b/sound/soc/sh/fsi.c
> > index 8e112cc..1493ebf 100644
> > --- a/sound/soc/sh/fsi.c
> > +++ b/sound/soc/sh/fsi.c
> > @@ -1285,7 +1285,7 @@ static int fsi_probe(struct platform_device *pdev)
> >  	pm_runtime_enable(&pdev->dev);
> >  	dev_set_drvdata(&pdev->dev, master);
> >  
> > -	ret = request_irq(irq, &fsi_interrupt, IRQF_DISABLED,
> > +	ret = request_irq(irq, &fsi_interrupt, 0,
> >  			  id_entry->name, master);
> >  	if (ret) {
> >  		dev_err(&pdev->dev, "irq request err\n");
> > diff --git a/sound/soc/txx9/txx9aclc-ac97.c b/sound/soc/txx9/txx9aclc-ac97.c
> > index 743d07b..a4e3f55 100644
> > --- a/sound/soc/txx9/txx9aclc-ac97.c
> > +++ b/sound/soc/txx9/txx9aclc-ac97.c
> > @@ -201,7 +201,7 @@ static int __devinit txx9aclc_ac97_dev_probe(struct platform_device *pdev)
> >  	if (!drvdata->base)
> >  		return -EBUSY;
> >  	err = devm_request_irq(&pdev->dev, irq, txx9aclc_ac97_irq,
> > -			       IRQF_DISABLED, dev_name(&pdev->dev), drvdata);
> > +			       0, dev_name(&pdev->dev), drvdata);
> >  	if (err < 0)
> >  		return err;
> >  
> > diff --git a/sound/sparc/amd7930.c b/sound/sparc/amd7930.c
> > index ad7d4d7..f036776 100644
> > --- a/sound/sparc/amd7930.c
> > +++ b/sound/sparc/amd7930.c
> > @@ -962,7 +962,7 @@ static int __devinit snd_amd7930_create(struct snd_card *card,
> >  	amd7930_idle(amd);
> >  
> >  	if (request_irq(irq, snd_amd7930_interrupt,
> > -			IRQF_DISABLED | IRQF_SHARED, "amd7930", amd)) {
> > +			IRQF_SHARED, "amd7930", amd)) {
> >  		snd_printk(KERN_ERR "amd7930-%d: Unable to grab IRQ %d\n",
> >  			   dev, irq);
> >  		snd_amd7930_free(amd);
> > -- 
> > 1.7.4.1
> > 

^ permalink raw reply	[flat|nested] 134+ messages in thread

* Re: [PATCH 53/57] sound: irq: Remove IRQF_DISABLED
@ 2011-09-21 12:10       ` Yong Zhang
  0 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21 12:10 UTC (permalink / raw)
  To: Takashi Iwai
  Cc: alsa-devel, Kuninori Morimoto, Clemens Ladisch, Jaroslav Kysela,
	Peter Ujfalusi, Paul Gortmaker, linux-arch, Russell King,
	Jassi Brar, Manuel Lauss, Uwe Kleine-König, Axel Lin,
	Liam Girdwood, cbe-oss-dev, Wan ZongShun, Lucas De Marchi, tglx,
	linux-arm-kernel, Eric Miao, Geoff Levand, Jiri Kosina,
	Mark Brown, linux-kernel, Sangbeom Kim, Paul Mundt, Simon Horman,
	Joe Perches, Jarkko Nikula, linuxppc-dev

On Wed, Sep 21, 2011 at 11:52:00AM +0200, Takashi Iwai wrote:
> At Wed, 21 Sep 2011 17:28:54 +0800,
> Yong Zhang wrote:
> > 
> > Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
> 
> Hm, this id hits a different commit:
>     commit c58543c869606532c2382f027d6466f4672ea756
>     Author: David S. Miller <davem@davemloft.net>
>     Date:   Tue Oct 13 00:49:09 2009 -0700
> 
>     sparc64: Set IRQF_DISABLED on LDC channel IRQs.
> 
> You mean commit e58aa3d2d0cc01ad8d6f7f640a0670433f794922?

Oh, yes. No idea how I made it wrong :(

Thanks,
Yong

> 
> > We run all interrupt handlers with interrupts disabled
> > and we even check and yell when an interrupt handler
> > returns with interrupts enabled (see commit [b738a50a:
> > genirq: Warn when handler enables interrupts]).
> > 
> > So now this flag is a NOOP and can be removed.
> > 
> > Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
> > Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
> 
> Do you want to merge by yourself or shall I take it to sound git tree?
> Since IRQF_DISABLED isn't used, it can be applied safely in 3.1-based
> tree, right?
> 
> Anyway, if needed, take my ack:
> 	Acked-by: Takashi Iwai <tiwai@suse.de>
> 
> 
> thanks,
> 
> Takashi
> 
> > ---
> >  include/sound/initval.h            |    2 +-
> >  sound/arm/aaci.c                   |    2 +-
> >  sound/arm/pxa2xx-ac97-lib.c        |    2 +-
> >  sound/drivers/ml403-ac97cr.c       |    4 ++--
> >  sound/drivers/mpu401/mpu401_uart.c |    2 +-
> >  sound/drivers/mtpav.c              |    2 +-
> >  sound/drivers/serial-u16550.c      |    2 +-
> >  sound/isa/ad1816a/ad1816a_lib.c    |    2 +-
> >  sound/isa/es1688/es1688_lib.c      |    2 +-
> >  sound/isa/es18xx.c                 |    2 +-
> >  sound/isa/gus/gus_main.c           |    2 +-
> >  sound/isa/gus/gusmax.c             |    2 +-
> >  sound/isa/gus/interwave.c          |    2 +-
> >  sound/isa/opl3sa2.c                |    2 +-
> >  sound/isa/opti9xx/opti92x-ad1848.c |    2 +-
> >  sound/isa/sb/sb_common.c           |    2 +-
> >  sound/isa/wavefront/wavefront.c    |    2 +-
> >  sound/isa/wss/wss_lib.c            |    2 +-
> >  sound/mips/au1x00.c                |    4 ++--
> >  sound/pci/sis7019.c                |    4 ++--
> >  sound/ppc/snd_ps3.c                |    2 +-
> >  sound/soc/au1x/dma.c               |    2 +-
> >  sound/soc/codecs/tlv320dac33.c     |    2 +-
> >  sound/soc/nuc900/nuc900-pcm.c      |    2 +-
> >  sound/soc/samsung/ac97.c           |    2 +-
> >  sound/soc/sh/fsi.c                 |    2 +-
> >  sound/soc/txx9/txx9aclc-ac97.c     |    2 +-
> >  sound/sparc/amd7930.c              |    2 +-
> >  28 files changed, 31 insertions(+), 31 deletions(-)
> > 
> > diff --git a/include/sound/initval.h b/include/sound/initval.h
> > index 1daa6df..f99a0d2 100644
> > --- a/include/sound/initval.h
> > +++ b/include/sound/initval.h
> > @@ -62,7 +62,7 @@ static int snd_legacy_find_free_irq(int *irq_table)
> >  {
> >  	while (*irq_table != -1) {
> >  		if (!request_irq(*irq_table, snd_legacy_empty_irq_handler,
> > -				 IRQF_DISABLED | IRQF_PROBE_SHARED, "ALSA Test IRQ",
> > +				 IRQF_PROBE_SHARED, "ALSA Test IRQ",
> >  				 (void *) irq_table)) {
> >  			free_irq(*irq_table, (void *) irq_table);
> >  			return *irq_table;
> > diff --git a/sound/arm/aaci.c b/sound/arm/aaci.c
> > index d0cead3..e518d38 100644
> > --- a/sound/arm/aaci.c
> > +++ b/sound/arm/aaci.c
> > @@ -443,7 +443,7 @@ static int aaci_pcm_open(struct snd_pcm_substream *substream)
> >  	mutex_lock(&aaci->irq_lock);
> >  	if (!aaci->users++) {
> >  		ret = request_irq(aaci->dev->irq[0], aaci_irq,
> > -			   IRQF_SHARED | IRQF_DISABLED, DRIVER_NAME, aaci);
> > +			   IRQF_SHARED, DRIVER_NAME, aaci);
> >  		if (ret != 0)
> >  			aaci->users--;
> >  	}
> > diff --git a/sound/arm/pxa2xx-ac97-lib.c b/sound/arm/pxa2xx-ac97-lib.c
> > index 88eec38..8ad6535 100644
> > --- a/sound/arm/pxa2xx-ac97-lib.c
> > +++ b/sound/arm/pxa2xx-ac97-lib.c
> > @@ -359,7 +359,7 @@ int __devinit pxa2xx_ac97_hw_probe(struct platform_device *dev)
> >  	if (ret)
> >  		goto err_clk2;
> >  
> > -	ret = request_irq(IRQ_AC97, pxa2xx_ac97_irq, IRQF_DISABLED, "AC97", NULL);
> > +	ret = request_irq(IRQ_AC97, pxa2xx_ac97_irq, 0, "AC97", NULL);
> >  	if (ret < 0)
> >  		goto err_irq;
> >  
> > diff --git a/sound/drivers/ml403-ac97cr.c b/sound/drivers/ml403-ac97cr.c
> > index 5cfcb90..2c7a763 100644
> > --- a/sound/drivers/ml403-ac97cr.c
> > +++ b/sound/drivers/ml403-ac97cr.c
> > @@ -1153,7 +1153,7 @@ snd_ml403_ac97cr_create(struct snd_card *card, struct platform_device *pfdev,
> >  		   "0x%x done\n", (unsigned int)ml403_ac97cr->port);
> >  	/* get irq */
> >  	irq = platform_get_irq(pfdev, 0);
> > -	if (request_irq(irq, snd_ml403_ac97cr_irq, IRQF_DISABLED,
> > +	if (request_irq(irq, snd_ml403_ac97cr_irq, 0,
> >  			dev_name(&pfdev->dev), (void *)ml403_ac97cr)) {
> >  		snd_printk(KERN_ERR SND_ML403_AC97CR_DRIVER ": "
> >  			   "unable to grab IRQ %d\n",
> > @@ -1166,7 +1166,7 @@ snd_ml403_ac97cr_create(struct snd_card *card, struct platform_device *pfdev,
> >  		   "request (playback) irq %d done\n",
> >  		   ml403_ac97cr->irq);
> >  	irq = platform_get_irq(pfdev, 1);
> > -	if (request_irq(irq, snd_ml403_ac97cr_irq, IRQF_DISABLED,
> > +	if (request_irq(irq, snd_ml403_ac97cr_irq, 0,
> >  			dev_name(&pfdev->dev), (void *)ml403_ac97cr)) {
> >  		snd_printk(KERN_ERR SND_ML403_AC97CR_DRIVER ": "
> >  			   "unable to grab IRQ %d\n",
> > diff --git a/sound/drivers/mpu401/mpu401_uart.c b/sound/drivers/mpu401/mpu401_uart.c
> > index 34df505..1cff331 100644
> > --- a/sound/drivers/mpu401/mpu401_uart.c
> > +++ b/sound/drivers/mpu401/mpu401_uart.c
> > @@ -578,7 +578,7 @@ int snd_mpu401_uart_new(struct snd_card *card, int device,
> >  	else
> >  		mpu->cport = port + 1;
> >  	if (irq >= 0) {
> > -		if (request_irq(irq, snd_mpu401_uart_interrupt, IRQF_DISABLED,
> > +		if (request_irq(irq, snd_mpu401_uart_interrupt, 0,
> >  				"MPU401 UART", (void *) mpu)) {
> >  			snd_printk(KERN_ERR "mpu401_uart: "
> >  				   "unable to grab IRQ %d\n", irq);
> > diff --git a/sound/drivers/mtpav.c b/sound/drivers/mtpav.c
> > index f50021c..7693079 100644
> > --- a/sound/drivers/mtpav.c
> > +++ b/sound/drivers/mtpav.c
> > @@ -590,7 +590,7 @@ static int __devinit snd_mtpav_get_ISA(struct mtpav * mcard)
> >  		return -EBUSY;
> >  	}
> >  	mcard->port = port;
> > -	if (request_irq(irq, snd_mtpav_irqh, IRQF_DISABLED, "MOTU MTPAV", mcard)) {
> > +	if (request_irq(irq, snd_mtpav_irqh, 0, "MOTU MTPAV", mcard)) {
> >  		snd_printk(KERN_ERR "MTVAP IRQ %d busy\n", irq);
> >  		return -EBUSY;
> >  	}
> > diff --git a/sound/drivers/serial-u16550.c b/sound/drivers/serial-u16550.c
> > index 6c5bf58..85aad43 100644
> > --- a/sound/drivers/serial-u16550.c
> > +++ b/sound/drivers/serial-u16550.c
> > @@ -816,7 +816,7 @@ static int __devinit snd_uart16550_create(struct snd_card *card,
> >  
> >  	if (irq >= 0 && irq != SNDRV_AUTO_IRQ) {
> >  		if (request_irq(irq, snd_uart16550_interrupt,
> > -				IRQF_DISABLED, "Serial MIDI", uart)) {
> > +				0, "Serial MIDI", uart)) {
> >  			snd_printk(KERN_WARNING
> >  				   "irq %d busy. Using Polling.\n", irq);
> >  		} else {
> > diff --git a/sound/isa/ad1816a/ad1816a_lib.c b/sound/isa/ad1816a/ad1816a_lib.c
> > index 05aef8b..177eed3 100644
> > --- a/sound/isa/ad1816a/ad1816a_lib.c
> > +++ b/sound/isa/ad1816a/ad1816a_lib.c
> > @@ -595,7 +595,7 @@ int __devinit snd_ad1816a_create(struct snd_card *card,
> >  		snd_ad1816a_free(chip);
> >  		return -EBUSY;
> >  	}
> > -	if (request_irq(irq, snd_ad1816a_interrupt, IRQF_DISABLED, "AD1816A", (void *) chip)) {
> > +	if (request_irq(irq, snd_ad1816a_interrupt, 0, "AD1816A", (void *) chip)) {
> >  		snd_printk(KERN_ERR "ad1816a: can't grab IRQ %d\n", irq);
> >  		snd_ad1816a_free(chip);
> >  		return -EBUSY;
> > diff --git a/sound/isa/es1688/es1688_lib.c b/sound/isa/es1688/es1688_lib.c
> > index 0767620..d3eab6f 100644
> > --- a/sound/isa/es1688/es1688_lib.c
> > +++ b/sound/isa/es1688/es1688_lib.c
> > @@ -661,7 +661,7 @@ int snd_es1688_create(struct snd_card *card,
> >  		snd_printk(KERN_ERR "es1688: can't grab port 0x%lx\n", port + 4);
> >  		return -EBUSY;
> >  	}
> > -	if (request_irq(irq, snd_es1688_interrupt, IRQF_DISABLED, "ES1688", (void *) chip)) {
> > +	if (request_irq(irq, snd_es1688_interrupt, 0, "ES1688", (void *) chip)) {
> >  		snd_printk(KERN_ERR "es1688: can't grab IRQ %d\n", irq);
> >  		return -EBUSY;
> >  	}
> > diff --git a/sound/isa/es18xx.c b/sound/isa/es18xx.c
> > index aeee8f8..bf6ad0b 100644
> > --- a/sound/isa/es18xx.c
> > +++ b/sound/isa/es18xx.c
> > @@ -1805,7 +1805,7 @@ static int __devinit snd_es18xx_new_device(struct snd_card *card,
> >  		return -EBUSY;
> >  	}
> >  
> > -	if (request_irq(irq, snd_es18xx_interrupt, IRQF_DISABLED, "ES18xx",
> > +	if (request_irq(irq, snd_es18xx_interrupt, 0, "ES18xx",
> >  			(void *) card)) {
> >  		snd_es18xx_free(card);
> >  		snd_printk(KERN_ERR PFX "unable to grap IRQ %d\n", irq);
> > diff --git a/sound/isa/gus/gus_main.c b/sound/isa/gus/gus_main.c
> > index 12eb98f..3167e5a 100644
> > --- a/sound/isa/gus/gus_main.c
> > +++ b/sound/isa/gus/gus_main.c
> > @@ -180,7 +180,7 @@ int snd_gus_create(struct snd_card *card,
> >  		snd_gus_free(gus);
> >  		return -EBUSY;
> >  	}
> > -	if (irq >= 0 && request_irq(irq, snd_gus_interrupt, IRQF_DISABLED, "GUS GF1", (void *) gus)) {
> > +	if (irq >= 0 && request_irq(irq, snd_gus_interrupt, 0, "GUS GF1", (void *) gus)) {
> >  		snd_printk(KERN_ERR "gus: can't grab irq %d\n", irq);
> >  		snd_gus_free(gus);
> >  		return -EBUSY;
> > diff --git a/sound/isa/gus/gusmax.c b/sound/isa/gus/gusmax.c
> > index 3e4a58b..c43faa0 100644
> > --- a/sound/isa/gus/gusmax.c
> > +++ b/sound/isa/gus/gusmax.c
> > @@ -291,7 +291,7 @@ static int __devinit snd_gusmax_probe(struct device *pdev, unsigned int dev)
> >  		goto _err;
> >  	}
> >  
> > -	if (request_irq(xirq, snd_gusmax_interrupt, IRQF_DISABLED, "GUS MAX", (void *)maxcard)) {
> > +	if (request_irq(xirq, snd_gusmax_interrupt, 0, "GUS MAX", (void *)maxcard)) {
> >  		snd_printk(KERN_ERR PFX "unable to grab IRQ %d\n", xirq);
> >  		err = -EBUSY;
> >  		goto _err;
> > diff --git a/sound/isa/gus/interwave.c b/sound/isa/gus/interwave.c
> > index c7b80e4..5f869a3 100644
> > --- a/sound/isa/gus/interwave.c
> > +++ b/sound/isa/gus/interwave.c
> > @@ -684,7 +684,7 @@ static int __devinit snd_interwave_probe(struct snd_card *card, int dev)
> >  	if ((err = snd_gus_initialize(gus)) < 0)
> >  		return err;
> >  
> > -	if (request_irq(xirq, snd_interwave_interrupt, IRQF_DISABLED,
> > +	if (request_irq(xirq, snd_interwave_interrupt, 0,
> >  			"InterWave", iwcard)) {
> >  		snd_printk(KERN_ERR PFX "unable to grab IRQ %d\n", xirq);
> >  		return -EBUSY;
> > diff --git a/sound/isa/opl3sa2.c b/sound/isa/opl3sa2.c
> > index de99f47..bbafb0b 100644
> > --- a/sound/isa/opl3sa2.c
> > +++ b/sound/isa/opl3sa2.c
> > @@ -667,7 +667,7 @@ static int __devinit snd_opl3sa2_probe(struct snd_card *card, int dev)
> >  	err = snd_opl3sa2_detect(card);
> >  	if (err < 0)
> >  		return err;
> > -	err = request_irq(xirq, snd_opl3sa2_interrupt, IRQF_DISABLED,
> > +	err = request_irq(xirq, snd_opl3sa2_interrupt, 0,
> >  			  "OPL3-SA2", card);
> >  	if (err) {
> >  		snd_printk(KERN_ERR PFX "can't grab IRQ %d\n", xirq);
> > diff --git a/sound/isa/opti9xx/opti92x-ad1848.c b/sound/isa/opti9xx/opti92x-ad1848.c
> > index 346e12b..6dbbfa7 100644
> > --- a/sound/isa/opti9xx/opti92x-ad1848.c
> > +++ b/sound/isa/opti9xx/opti92x-ad1848.c
> > @@ -892,7 +892,7 @@ static int __devinit snd_opti9xx_probe(struct snd_card *card)
> >  #endif
> >  #ifdef OPTi93X
> >  	error = request_irq(irq, snd_opti93x_interrupt,
> > -			    IRQF_DISABLED, DEV_NAME" - WSS", chip);
> > +			    0, DEV_NAME" - WSS", chip);
> >  	if (error < 0) {
> >  		snd_printk(KERN_ERR "opti9xx: can't grab IRQ %d\n", irq);
> >  		return error;
> > diff --git a/sound/isa/sb/sb_common.c b/sound/isa/sb/sb_common.c
> > index eae6c1c..d2e1921 100644
> > --- a/sound/isa/sb/sb_common.c
> > +++ b/sound/isa/sb/sb_common.c
> > @@ -240,7 +240,7 @@ int snd_sbdsp_create(struct snd_card *card,
> >  	if (request_irq(irq, irq_handler,
> >  			(hardware == SB_HW_ALS4000 ||
> >  			 hardware == SB_HW_CS5530) ?
> > -			IRQF_SHARED : IRQF_DISABLED,
> > +			IRQF_SHARED : 0,
> >  			"SoundBlaster", (void *) chip)) {
> >  		snd_printk(KERN_ERR "sb: can't grab irq %d\n", irq);
> >  		snd_sbdsp_free(chip);
> > diff --git a/sound/isa/wavefront/wavefront.c b/sound/isa/wavefront/wavefront.c
> > index 83f291d..8714297 100644
> > --- a/sound/isa/wavefront/wavefront.c
> > +++ b/sound/isa/wavefront/wavefront.c
> > @@ -418,7 +418,7 @@ snd_wavefront_probe (struct snd_card *card, int dev)
> >  		return -EBUSY;
> >  	}
> >  	if (request_irq(ics2115_irq[dev], snd_wavefront_ics2115_interrupt,
> > -			IRQF_DISABLED, "ICS2115", acard)) {
> > +			0, "ICS2115", acard)) {
> >  		snd_printk(KERN_ERR "unable to use ICS2115 IRQ %d\n", ics2115_irq[dev]);
> >  		return -EBUSY;
> >  	}
> > diff --git a/sound/isa/wss/wss_lib.c b/sound/isa/wss/wss_lib.c
> > index 2a42cc3..7277c5b 100644
> > --- a/sound/isa/wss/wss_lib.c
> > +++ b/sound/isa/wss/wss_lib.c
> > @@ -1833,7 +1833,7 @@ int snd_wss_create(struct snd_card *card,
> >  	}
> >  	chip->cport = cport;
> >  	if (!(hwshare & WSS_HWSHARE_IRQ))
> > -		if (request_irq(irq, snd_wss_interrupt, IRQF_DISABLED,
> > +		if (request_irq(irq, snd_wss_interrupt, 0,
> >  				"WSS", (void *) chip)) {
> >  			snd_printk(KERN_ERR "wss: can't grab IRQ %d\n", irq);
> >  			snd_wss_free(chip);
> > diff --git a/sound/mips/au1x00.c b/sound/mips/au1x00.c
> > index 446cf97..7567ebd 100644
> > --- a/sound/mips/au1x00.c
> > +++ b/sound/mips/au1x00.c
> > @@ -465,13 +465,13 @@ snd_au1000_pcm_new(struct snd_au1000 *au1000)
> >  
> >  	flags = claim_dma_lock();
> >  	if ((au1000->stream[PLAYBACK]->dma = request_au1000_dma(DMA_ID_AC97C_TX,
> > -			"AC97 TX", au1000_dma_interrupt, IRQF_DISABLED,
> > +			"AC97 TX", au1000_dma_interrupt, 0,
> >  			au1000->stream[PLAYBACK])) < 0) {
> >  		release_dma_lock(flags);
> >  		return -EBUSY;
> >  	}
> >  	if ((au1000->stream[CAPTURE]->dma = request_au1000_dma(DMA_ID_AC97C_RX,
> > -			"AC97 RX", au1000_dma_interrupt, IRQF_DISABLED,
> > +			"AC97 RX", au1000_dma_interrupt, 0,
> >  			au1000->stream[CAPTURE])) < 0){
> >  		release_dma_lock(flags);
> >  		return -EBUSY;
> > diff --git a/sound/pci/sis7019.c b/sound/pci/sis7019.c
> > index bcf6152..5ffb20b 100644
> > --- a/sound/pci/sis7019.c
> > +++ b/sound/pci/sis7019.c
> > @@ -1234,7 +1234,7 @@ static int sis_resume(struct pci_dev *pci)
> >  		goto error;
> >  	}
> >  
> > -	if (request_irq(pci->irq, sis_interrupt, IRQF_DISABLED|IRQF_SHARED,
> > +	if (request_irq(pci->irq, sis_interrupt, IRQF_SHARED,
> >  			KBUILD_MODNAME, sis)) {
> >  		printk(KERN_ERR "sis7019: unable to regain IRQ %d\n", pci->irq);
> >  		goto error;
> > @@ -1340,7 +1340,7 @@ static int __devinit sis_chip_create(struct snd_card *card,
> >  	if (rc)
> >  		goto error_out_cleanup;
> >  
> > -	if (request_irq(pci->irq, sis_interrupt, IRQF_DISABLED|IRQF_SHARED,
> > +	if (request_irq(pci->irq, sis_interrupt, IRQF_SHARED,
> >  			KBUILD_MODNAME, sis)) {
> >  		printk(KERN_ERR "unable to allocate irq %d\n", sis->irq);
> >  		goto error_out_cleanup;
> > diff --git a/sound/ppc/snd_ps3.c b/sound/ppc/snd_ps3.c
> > index bc823a5..775bd95 100644
> > --- a/sound/ppc/snd_ps3.c
> > +++ b/sound/ppc/snd_ps3.c
> > @@ -845,7 +845,7 @@ static int __devinit snd_ps3_allocate_irq(void)
> >  		return ret;
> >  	}
> >  
> > -	ret = request_irq(the_card.irq_no, snd_ps3_interrupt, IRQF_DISABLED,
> > +	ret = request_irq(the_card.irq_no, snd_ps3_interrupt, 0,
> >  			  SND_PS3_DRIVER_NAME, &the_card);
> >  	if (ret) {
> >  		pr_info("%s: request_irq failed (%d)\n", __func__, ret);
> > diff --git a/sound/soc/au1x/dma.c b/sound/soc/au1x/dma.c
> > index 7aa5b76..177f713 100644
> > --- a/sound/soc/au1x/dma.c
> > +++ b/sound/soc/au1x/dma.c
> > @@ -211,7 +211,7 @@ static int alchemy_pcm_open(struct snd_pcm_substream *substream)
> >  	/* DMA setup */
> >  	name = (s == SNDRV_PCM_STREAM_PLAYBACK) ? "audio-tx" : "audio-rx";
> >  	ctx->stream[s].dma = request_au1000_dma(dmaids[s], name,
> > -					au1000_dma_interrupt, IRQF_DISABLED,
> > +					au1000_dma_interrupt, 0,
> >  					&ctx->stream[s]);
> >  	set_dma_mode(ctx->stream[s].dma,
> >  		     get_dma_mode(ctx->stream[s].dma) & ~DMA_NC);
> > diff --git a/sound/soc/codecs/tlv320dac33.c b/sound/soc/codecs/tlv320dac33.c
> > index faa5e9f..243d177 100644
> > --- a/sound/soc/codecs/tlv320dac33.c
> > +++ b/sound/soc/codecs/tlv320dac33.c
> > @@ -1431,7 +1431,7 @@ static int dac33_soc_probe(struct snd_soc_codec *codec)
> >  	/* Check if the IRQ number is valid and request it */
> >  	if (dac33->irq >= 0) {
> >  		ret = request_irq(dac33->irq, dac33_interrupt_handler,
> > -				  IRQF_TRIGGER_RISING | IRQF_DISABLED,
> > +				  IRQF_TRIGGER_RISING,
> >  				  codec->name, codec);
> >  		if (ret < 0) {
> >  			dev_err(codec->dev, "Could not request IRQ%d (%d)\n",
> > diff --git a/sound/soc/nuc900/nuc900-pcm.c b/sound/soc/nuc900/nuc900-pcm.c
> > index e46d551..865b288 100644
> > --- a/sound/soc/nuc900/nuc900-pcm.c
> > +++ b/sound/soc/nuc900/nuc900-pcm.c
> > @@ -268,7 +268,7 @@ static int nuc900_dma_open(struct snd_pcm_substream *substream)
> >  	nuc900_audio = nuc900_ac97_data;
> >  
> >  	if (request_irq(nuc900_audio->irq_num, nuc900_dma_interrupt,
> > -			IRQF_DISABLED, "nuc900-dma", substream))
> > +			0, "nuc900-dma", substream))
> >  		return -EBUSY;
> >  
> >  	runtime->private_data = nuc900_audio;
> > diff --git a/sound/soc/samsung/ac97.c b/sound/soc/samsung/ac97.c
> > index b4f9b00..41b387b 100644
> > --- a/sound/soc/samsung/ac97.c
> > +++ b/sound/soc/samsung/ac97.c
> > @@ -450,7 +450,7 @@ static __devinit int s3c_ac97_probe(struct platform_device *pdev)
> >  	}
> >  
> >  	ret = request_irq(irq_res->start, s3c_ac97_irq,
> > -					IRQF_DISABLED, "AC97", NULL);
> > +					0, "AC97", NULL);
> >  	if (ret < 0) {
> >  		dev_err(&pdev->dev, "ac97: interrupt request failed.\n");
> >  		goto err4;
> > diff --git a/sound/soc/sh/fsi.c b/sound/soc/sh/fsi.c
> > index 8e112cc..1493ebf 100644
> > --- a/sound/soc/sh/fsi.c
> > +++ b/sound/soc/sh/fsi.c
> > @@ -1285,7 +1285,7 @@ static int fsi_probe(struct platform_device *pdev)
> >  	pm_runtime_enable(&pdev->dev);
> >  	dev_set_drvdata(&pdev->dev, master);
> >  
> > -	ret = request_irq(irq, &fsi_interrupt, IRQF_DISABLED,
> > +	ret = request_irq(irq, &fsi_interrupt, 0,
> >  			  id_entry->name, master);
> >  	if (ret) {
> >  		dev_err(&pdev->dev, "irq request err\n");
> > diff --git a/sound/soc/txx9/txx9aclc-ac97.c b/sound/soc/txx9/txx9aclc-ac97.c
> > index 743d07b..a4e3f55 100644
> > --- a/sound/soc/txx9/txx9aclc-ac97.c
> > +++ b/sound/soc/txx9/txx9aclc-ac97.c
> > @@ -201,7 +201,7 @@ static int __devinit txx9aclc_ac97_dev_probe(struct platform_device *pdev)
> >  	if (!drvdata->base)
> >  		return -EBUSY;
> >  	err = devm_request_irq(&pdev->dev, irq, txx9aclc_ac97_irq,
> > -			       IRQF_DISABLED, dev_name(&pdev->dev), drvdata);
> > +			       0, dev_name(&pdev->dev), drvdata);
> >  	if (err < 0)
> >  		return err;
> >  
> > diff --git a/sound/sparc/amd7930.c b/sound/sparc/amd7930.c
> > index ad7d4d7..f036776 100644
> > --- a/sound/sparc/amd7930.c
> > +++ b/sound/sparc/amd7930.c
> > @@ -962,7 +962,7 @@ static int __devinit snd_amd7930_create(struct snd_card *card,
> >  	amd7930_idle(amd);
> >  
> >  	if (request_irq(irq, snd_amd7930_interrupt,
> > -			IRQF_DISABLED | IRQF_SHARED, "amd7930", amd)) {
> > +			IRQF_SHARED, "amd7930", amd)) {
> >  		snd_printk(KERN_ERR "amd7930-%d: Unable to grab IRQ %d\n",
> >  			   dev, irq);
> >  		snd_amd7930_free(amd);
> > -- 
> > 1.7.4.1
> > 

^ permalink raw reply	[flat|nested] 134+ messages in thread

* [PATCH 53/57] sound: irq: Remove IRQF_DISABLED
@ 2011-09-21 12:10       ` Yong Zhang
  0 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21 12:10 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Sep 21, 2011 at 11:52:00AM +0200, Takashi Iwai wrote:
> At Wed, 21 Sep 2011 17:28:54 +0800,
> Yong Zhang wrote:
> > 
> > Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
> 
> Hm, this id hits a different commit:
>     commit c58543c869606532c2382f027d6466f4672ea756
>     Author: David S. Miller <davem@davemloft.net>
>     Date:   Tue Oct 13 00:49:09 2009 -0700
> 
>     sparc64: Set IRQF_DISABLED on LDC channel IRQs.
> 
> You mean commit e58aa3d2d0cc01ad8d6f7f640a0670433f794922?

Oh, yes. No idea how I made it wrong :(

Thanks,
Yong

> 
> > We run all interrupt handlers with interrupts disabled
> > and we even check and yell when an interrupt handler
> > returns with interrupts enabled (see commit [b738a50a:
> > genirq: Warn when handler enables interrupts]).
> > 
> > So now this flag is a NOOP and can be removed.
> > 
> > Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
> > Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
> 
> Do you want to merge by yourself or shall I take it to sound git tree?
> Since IRQF_DISABLED isn't used, it can be applied safely in 3.1-based
> tree, right?
> 
> Anyway, if needed, take my ack:
> 	Acked-by: Takashi Iwai <tiwai@suse.de>
> 
> 
> thanks,
> 
> Takashi
> 
> > ---
> >  include/sound/initval.h            |    2 +-
> >  sound/arm/aaci.c                   |    2 +-
> >  sound/arm/pxa2xx-ac97-lib.c        |    2 +-
> >  sound/drivers/ml403-ac97cr.c       |    4 ++--
> >  sound/drivers/mpu401/mpu401_uart.c |    2 +-
> >  sound/drivers/mtpav.c              |    2 +-
> >  sound/drivers/serial-u16550.c      |    2 +-
> >  sound/isa/ad1816a/ad1816a_lib.c    |    2 +-
> >  sound/isa/es1688/es1688_lib.c      |    2 +-
> >  sound/isa/es18xx.c                 |    2 +-
> >  sound/isa/gus/gus_main.c           |    2 +-
> >  sound/isa/gus/gusmax.c             |    2 +-
> >  sound/isa/gus/interwave.c          |    2 +-
> >  sound/isa/opl3sa2.c                |    2 +-
> >  sound/isa/opti9xx/opti92x-ad1848.c |    2 +-
> >  sound/isa/sb/sb_common.c           |    2 +-
> >  sound/isa/wavefront/wavefront.c    |    2 +-
> >  sound/isa/wss/wss_lib.c            |    2 +-
> >  sound/mips/au1x00.c                |    4 ++--
> >  sound/pci/sis7019.c                |    4 ++--
> >  sound/ppc/snd_ps3.c                |    2 +-
> >  sound/soc/au1x/dma.c               |    2 +-
> >  sound/soc/codecs/tlv320dac33.c     |    2 +-
> >  sound/soc/nuc900/nuc900-pcm.c      |    2 +-
> >  sound/soc/samsung/ac97.c           |    2 +-
> >  sound/soc/sh/fsi.c                 |    2 +-
> >  sound/soc/txx9/txx9aclc-ac97.c     |    2 +-
> >  sound/sparc/amd7930.c              |    2 +-
> >  28 files changed, 31 insertions(+), 31 deletions(-)
> > 
> > diff --git a/include/sound/initval.h b/include/sound/initval.h
> > index 1daa6df..f99a0d2 100644
> > --- a/include/sound/initval.h
> > +++ b/include/sound/initval.h
> > @@ -62,7 +62,7 @@ static int snd_legacy_find_free_irq(int *irq_table)
> >  {
> >  	while (*irq_table != -1) {
> >  		if (!request_irq(*irq_table, snd_legacy_empty_irq_handler,
> > -				 IRQF_DISABLED | IRQF_PROBE_SHARED, "ALSA Test IRQ",
> > +				 IRQF_PROBE_SHARED, "ALSA Test IRQ",
> >  				 (void *) irq_table)) {
> >  			free_irq(*irq_table, (void *) irq_table);
> >  			return *irq_table;
> > diff --git a/sound/arm/aaci.c b/sound/arm/aaci.c
> > index d0cead3..e518d38 100644
> > --- a/sound/arm/aaci.c
> > +++ b/sound/arm/aaci.c
> > @@ -443,7 +443,7 @@ static int aaci_pcm_open(struct snd_pcm_substream *substream)
> >  	mutex_lock(&aaci->irq_lock);
> >  	if (!aaci->users++) {
> >  		ret = request_irq(aaci->dev->irq[0], aaci_irq,
> > -			   IRQF_SHARED | IRQF_DISABLED, DRIVER_NAME, aaci);
> > +			   IRQF_SHARED, DRIVER_NAME, aaci);
> >  		if (ret != 0)
> >  			aaci->users--;
> >  	}
> > diff --git a/sound/arm/pxa2xx-ac97-lib.c b/sound/arm/pxa2xx-ac97-lib.c
> > index 88eec38..8ad6535 100644
> > --- a/sound/arm/pxa2xx-ac97-lib.c
> > +++ b/sound/arm/pxa2xx-ac97-lib.c
> > @@ -359,7 +359,7 @@ int __devinit pxa2xx_ac97_hw_probe(struct platform_device *dev)
> >  	if (ret)
> >  		goto err_clk2;
> >  
> > -	ret = request_irq(IRQ_AC97, pxa2xx_ac97_irq, IRQF_DISABLED, "AC97", NULL);
> > +	ret = request_irq(IRQ_AC97, pxa2xx_ac97_irq, 0, "AC97", NULL);
> >  	if (ret < 0)
> >  		goto err_irq;
> >  
> > diff --git a/sound/drivers/ml403-ac97cr.c b/sound/drivers/ml403-ac97cr.c
> > index 5cfcb90..2c7a763 100644
> > --- a/sound/drivers/ml403-ac97cr.c
> > +++ b/sound/drivers/ml403-ac97cr.c
> > @@ -1153,7 +1153,7 @@ snd_ml403_ac97cr_create(struct snd_card *card, struct platform_device *pfdev,
> >  		   "0x%x done\n", (unsigned int)ml403_ac97cr->port);
> >  	/* get irq */
> >  	irq = platform_get_irq(pfdev, 0);
> > -	if (request_irq(irq, snd_ml403_ac97cr_irq, IRQF_DISABLED,
> > +	if (request_irq(irq, snd_ml403_ac97cr_irq, 0,
> >  			dev_name(&pfdev->dev), (void *)ml403_ac97cr)) {
> >  		snd_printk(KERN_ERR SND_ML403_AC97CR_DRIVER ": "
> >  			   "unable to grab IRQ %d\n",
> > @@ -1166,7 +1166,7 @@ snd_ml403_ac97cr_create(struct snd_card *card, struct platform_device *pfdev,
> >  		   "request (playback) irq %d done\n",
> >  		   ml403_ac97cr->irq);
> >  	irq = platform_get_irq(pfdev, 1);
> > -	if (request_irq(irq, snd_ml403_ac97cr_irq, IRQF_DISABLED,
> > +	if (request_irq(irq, snd_ml403_ac97cr_irq, 0,
> >  			dev_name(&pfdev->dev), (void *)ml403_ac97cr)) {
> >  		snd_printk(KERN_ERR SND_ML403_AC97CR_DRIVER ": "
> >  			   "unable to grab IRQ %d\n",
> > diff --git a/sound/drivers/mpu401/mpu401_uart.c b/sound/drivers/mpu401/mpu401_uart.c
> > index 34df505..1cff331 100644
> > --- a/sound/drivers/mpu401/mpu401_uart.c
> > +++ b/sound/drivers/mpu401/mpu401_uart.c
> > @@ -578,7 +578,7 @@ int snd_mpu401_uart_new(struct snd_card *card, int device,
> >  	else
> >  		mpu->cport = port + 1;
> >  	if (irq >= 0) {
> > -		if (request_irq(irq, snd_mpu401_uart_interrupt, IRQF_DISABLED,
> > +		if (request_irq(irq, snd_mpu401_uart_interrupt, 0,
> >  				"MPU401 UART", (void *) mpu)) {
> >  			snd_printk(KERN_ERR "mpu401_uart: "
> >  				   "unable to grab IRQ %d\n", irq);
> > diff --git a/sound/drivers/mtpav.c b/sound/drivers/mtpav.c
> > index f50021c..7693079 100644
> > --- a/sound/drivers/mtpav.c
> > +++ b/sound/drivers/mtpav.c
> > @@ -590,7 +590,7 @@ static int __devinit snd_mtpav_get_ISA(struct mtpav * mcard)
> >  		return -EBUSY;
> >  	}
> >  	mcard->port = port;
> > -	if (request_irq(irq, snd_mtpav_irqh, IRQF_DISABLED, "MOTU MTPAV", mcard)) {
> > +	if (request_irq(irq, snd_mtpav_irqh, 0, "MOTU MTPAV", mcard)) {
> >  		snd_printk(KERN_ERR "MTVAP IRQ %d busy\n", irq);
> >  		return -EBUSY;
> >  	}
> > diff --git a/sound/drivers/serial-u16550.c b/sound/drivers/serial-u16550.c
> > index 6c5bf58..85aad43 100644
> > --- a/sound/drivers/serial-u16550.c
> > +++ b/sound/drivers/serial-u16550.c
> > @@ -816,7 +816,7 @@ static int __devinit snd_uart16550_create(struct snd_card *card,
> >  
> >  	if (irq >= 0 && irq != SNDRV_AUTO_IRQ) {
> >  		if (request_irq(irq, snd_uart16550_interrupt,
> > -				IRQF_DISABLED, "Serial MIDI", uart)) {
> > +				0, "Serial MIDI", uart)) {
> >  			snd_printk(KERN_WARNING
> >  				   "irq %d busy. Using Polling.\n", irq);
> >  		} else {
> > diff --git a/sound/isa/ad1816a/ad1816a_lib.c b/sound/isa/ad1816a/ad1816a_lib.c
> > index 05aef8b..177eed3 100644
> > --- a/sound/isa/ad1816a/ad1816a_lib.c
> > +++ b/sound/isa/ad1816a/ad1816a_lib.c
> > @@ -595,7 +595,7 @@ int __devinit snd_ad1816a_create(struct snd_card *card,
> >  		snd_ad1816a_free(chip);
> >  		return -EBUSY;
> >  	}
> > -	if (request_irq(irq, snd_ad1816a_interrupt, IRQF_DISABLED, "AD1816A", (void *) chip)) {
> > +	if (request_irq(irq, snd_ad1816a_interrupt, 0, "AD1816A", (void *) chip)) {
> >  		snd_printk(KERN_ERR "ad1816a: can't grab IRQ %d\n", irq);
> >  		snd_ad1816a_free(chip);
> >  		return -EBUSY;
> > diff --git a/sound/isa/es1688/es1688_lib.c b/sound/isa/es1688/es1688_lib.c
> > index 0767620..d3eab6f 100644
> > --- a/sound/isa/es1688/es1688_lib.c
> > +++ b/sound/isa/es1688/es1688_lib.c
> > @@ -661,7 +661,7 @@ int snd_es1688_create(struct snd_card *card,
> >  		snd_printk(KERN_ERR "es1688: can't grab port 0x%lx\n", port + 4);
> >  		return -EBUSY;
> >  	}
> > -	if (request_irq(irq, snd_es1688_interrupt, IRQF_DISABLED, "ES1688", (void *) chip)) {
> > +	if (request_irq(irq, snd_es1688_interrupt, 0, "ES1688", (void *) chip)) {
> >  		snd_printk(KERN_ERR "es1688: can't grab IRQ %d\n", irq);
> >  		return -EBUSY;
> >  	}
> > diff --git a/sound/isa/es18xx.c b/sound/isa/es18xx.c
> > index aeee8f8..bf6ad0b 100644
> > --- a/sound/isa/es18xx.c
> > +++ b/sound/isa/es18xx.c
> > @@ -1805,7 +1805,7 @@ static int __devinit snd_es18xx_new_device(struct snd_card *card,
> >  		return -EBUSY;
> >  	}
> >  
> > -	if (request_irq(irq, snd_es18xx_interrupt, IRQF_DISABLED, "ES18xx",
> > +	if (request_irq(irq, snd_es18xx_interrupt, 0, "ES18xx",
> >  			(void *) card)) {
> >  		snd_es18xx_free(card);
> >  		snd_printk(KERN_ERR PFX "unable to grap IRQ %d\n", irq);
> > diff --git a/sound/isa/gus/gus_main.c b/sound/isa/gus/gus_main.c
> > index 12eb98f..3167e5a 100644
> > --- a/sound/isa/gus/gus_main.c
> > +++ b/sound/isa/gus/gus_main.c
> > @@ -180,7 +180,7 @@ int snd_gus_create(struct snd_card *card,
> >  		snd_gus_free(gus);
> >  		return -EBUSY;
> >  	}
> > -	if (irq >= 0 && request_irq(irq, snd_gus_interrupt, IRQF_DISABLED, "GUS GF1", (void *) gus)) {
> > +	if (irq >= 0 && request_irq(irq, snd_gus_interrupt, 0, "GUS GF1", (void *) gus)) {
> >  		snd_printk(KERN_ERR "gus: can't grab irq %d\n", irq);
> >  		snd_gus_free(gus);
> >  		return -EBUSY;
> > diff --git a/sound/isa/gus/gusmax.c b/sound/isa/gus/gusmax.c
> > index 3e4a58b..c43faa0 100644
> > --- a/sound/isa/gus/gusmax.c
> > +++ b/sound/isa/gus/gusmax.c
> > @@ -291,7 +291,7 @@ static int __devinit snd_gusmax_probe(struct device *pdev, unsigned int dev)
> >  		goto _err;
> >  	}
> >  
> > -	if (request_irq(xirq, snd_gusmax_interrupt, IRQF_DISABLED, "GUS MAX", (void *)maxcard)) {
> > +	if (request_irq(xirq, snd_gusmax_interrupt, 0, "GUS MAX", (void *)maxcard)) {
> >  		snd_printk(KERN_ERR PFX "unable to grab IRQ %d\n", xirq);
> >  		err = -EBUSY;
> >  		goto _err;
> > diff --git a/sound/isa/gus/interwave.c b/sound/isa/gus/interwave.c
> > index c7b80e4..5f869a3 100644
> > --- a/sound/isa/gus/interwave.c
> > +++ b/sound/isa/gus/interwave.c
> > @@ -684,7 +684,7 @@ static int __devinit snd_interwave_probe(struct snd_card *card, int dev)
> >  	if ((err = snd_gus_initialize(gus)) < 0)
> >  		return err;
> >  
> > -	if (request_irq(xirq, snd_interwave_interrupt, IRQF_DISABLED,
> > +	if (request_irq(xirq, snd_interwave_interrupt, 0,
> >  			"InterWave", iwcard)) {
> >  		snd_printk(KERN_ERR PFX "unable to grab IRQ %d\n", xirq);
> >  		return -EBUSY;
> > diff --git a/sound/isa/opl3sa2.c b/sound/isa/opl3sa2.c
> > index de99f47..bbafb0b 100644
> > --- a/sound/isa/opl3sa2.c
> > +++ b/sound/isa/opl3sa2.c
> > @@ -667,7 +667,7 @@ static int __devinit snd_opl3sa2_probe(struct snd_card *card, int dev)
> >  	err = snd_opl3sa2_detect(card);
> >  	if (err < 0)
> >  		return err;
> > -	err = request_irq(xirq, snd_opl3sa2_interrupt, IRQF_DISABLED,
> > +	err = request_irq(xirq, snd_opl3sa2_interrupt, 0,
> >  			  "OPL3-SA2", card);
> >  	if (err) {
> >  		snd_printk(KERN_ERR PFX "can't grab IRQ %d\n", xirq);
> > diff --git a/sound/isa/opti9xx/opti92x-ad1848.c b/sound/isa/opti9xx/opti92x-ad1848.c
> > index 346e12b..6dbbfa7 100644
> > --- a/sound/isa/opti9xx/opti92x-ad1848.c
> > +++ b/sound/isa/opti9xx/opti92x-ad1848.c
> > @@ -892,7 +892,7 @@ static int __devinit snd_opti9xx_probe(struct snd_card *card)
> >  #endif
> >  #ifdef OPTi93X
> >  	error = request_irq(irq, snd_opti93x_interrupt,
> > -			    IRQF_DISABLED, DEV_NAME" - WSS", chip);
> > +			    0, DEV_NAME" - WSS", chip);
> >  	if (error < 0) {
> >  		snd_printk(KERN_ERR "opti9xx: can't grab IRQ %d\n", irq);
> >  		return error;
> > diff --git a/sound/isa/sb/sb_common.c b/sound/isa/sb/sb_common.c
> > index eae6c1c..d2e1921 100644
> > --- a/sound/isa/sb/sb_common.c
> > +++ b/sound/isa/sb/sb_common.c
> > @@ -240,7 +240,7 @@ int snd_sbdsp_create(struct snd_card *card,
> >  	if (request_irq(irq, irq_handler,
> >  			(hardware == SB_HW_ALS4000 ||
> >  			 hardware == SB_HW_CS5530) ?
> > -			IRQF_SHARED : IRQF_DISABLED,
> > +			IRQF_SHARED : 0,
> >  			"SoundBlaster", (void *) chip)) {
> >  		snd_printk(KERN_ERR "sb: can't grab irq %d\n", irq);
> >  		snd_sbdsp_free(chip);
> > diff --git a/sound/isa/wavefront/wavefront.c b/sound/isa/wavefront/wavefront.c
> > index 83f291d..8714297 100644
> > --- a/sound/isa/wavefront/wavefront.c
> > +++ b/sound/isa/wavefront/wavefront.c
> > @@ -418,7 +418,7 @@ snd_wavefront_probe (struct snd_card *card, int dev)
> >  		return -EBUSY;
> >  	}
> >  	if (request_irq(ics2115_irq[dev], snd_wavefront_ics2115_interrupt,
> > -			IRQF_DISABLED, "ICS2115", acard)) {
> > +			0, "ICS2115", acard)) {
> >  		snd_printk(KERN_ERR "unable to use ICS2115 IRQ %d\n", ics2115_irq[dev]);
> >  		return -EBUSY;
> >  	}
> > diff --git a/sound/isa/wss/wss_lib.c b/sound/isa/wss/wss_lib.c
> > index 2a42cc3..7277c5b 100644
> > --- a/sound/isa/wss/wss_lib.c
> > +++ b/sound/isa/wss/wss_lib.c
> > @@ -1833,7 +1833,7 @@ int snd_wss_create(struct snd_card *card,
> >  	}
> >  	chip->cport = cport;
> >  	if (!(hwshare & WSS_HWSHARE_IRQ))
> > -		if (request_irq(irq, snd_wss_interrupt, IRQF_DISABLED,
> > +		if (request_irq(irq, snd_wss_interrupt, 0,
> >  				"WSS", (void *) chip)) {
> >  			snd_printk(KERN_ERR "wss: can't grab IRQ %d\n", irq);
> >  			snd_wss_free(chip);
> > diff --git a/sound/mips/au1x00.c b/sound/mips/au1x00.c
> > index 446cf97..7567ebd 100644
> > --- a/sound/mips/au1x00.c
> > +++ b/sound/mips/au1x00.c
> > @@ -465,13 +465,13 @@ snd_au1000_pcm_new(struct snd_au1000 *au1000)
> >  
> >  	flags = claim_dma_lock();
> >  	if ((au1000->stream[PLAYBACK]->dma = request_au1000_dma(DMA_ID_AC97C_TX,
> > -			"AC97 TX", au1000_dma_interrupt, IRQF_DISABLED,
> > +			"AC97 TX", au1000_dma_interrupt, 0,
> >  			au1000->stream[PLAYBACK])) < 0) {
> >  		release_dma_lock(flags);
> >  		return -EBUSY;
> >  	}
> >  	if ((au1000->stream[CAPTURE]->dma = request_au1000_dma(DMA_ID_AC97C_RX,
> > -			"AC97 RX", au1000_dma_interrupt, IRQF_DISABLED,
> > +			"AC97 RX", au1000_dma_interrupt, 0,
> >  			au1000->stream[CAPTURE])) < 0){
> >  		release_dma_lock(flags);
> >  		return -EBUSY;
> > diff --git a/sound/pci/sis7019.c b/sound/pci/sis7019.c
> > index bcf6152..5ffb20b 100644
> > --- a/sound/pci/sis7019.c
> > +++ b/sound/pci/sis7019.c
> > @@ -1234,7 +1234,7 @@ static int sis_resume(struct pci_dev *pci)
> >  		goto error;
> >  	}
> >  
> > -	if (request_irq(pci->irq, sis_interrupt, IRQF_DISABLED|IRQF_SHARED,
> > +	if (request_irq(pci->irq, sis_interrupt, IRQF_SHARED,
> >  			KBUILD_MODNAME, sis)) {
> >  		printk(KERN_ERR "sis7019: unable to regain IRQ %d\n", pci->irq);
> >  		goto error;
> > @@ -1340,7 +1340,7 @@ static int __devinit sis_chip_create(struct snd_card *card,
> >  	if (rc)
> >  		goto error_out_cleanup;
> >  
> > -	if (request_irq(pci->irq, sis_interrupt, IRQF_DISABLED|IRQF_SHARED,
> > +	if (request_irq(pci->irq, sis_interrupt, IRQF_SHARED,
> >  			KBUILD_MODNAME, sis)) {
> >  		printk(KERN_ERR "unable to allocate irq %d\n", sis->irq);
> >  		goto error_out_cleanup;
> > diff --git a/sound/ppc/snd_ps3.c b/sound/ppc/snd_ps3.c
> > index bc823a5..775bd95 100644
> > --- a/sound/ppc/snd_ps3.c
> > +++ b/sound/ppc/snd_ps3.c
> > @@ -845,7 +845,7 @@ static int __devinit snd_ps3_allocate_irq(void)
> >  		return ret;
> >  	}
> >  
> > -	ret = request_irq(the_card.irq_no, snd_ps3_interrupt, IRQF_DISABLED,
> > +	ret = request_irq(the_card.irq_no, snd_ps3_interrupt, 0,
> >  			  SND_PS3_DRIVER_NAME, &the_card);
> >  	if (ret) {
> >  		pr_info("%s: request_irq failed (%d)\n", __func__, ret);
> > diff --git a/sound/soc/au1x/dma.c b/sound/soc/au1x/dma.c
> > index 7aa5b76..177f713 100644
> > --- a/sound/soc/au1x/dma.c
> > +++ b/sound/soc/au1x/dma.c
> > @@ -211,7 +211,7 @@ static int alchemy_pcm_open(struct snd_pcm_substream *substream)
> >  	/* DMA setup */
> >  	name = (s == SNDRV_PCM_STREAM_PLAYBACK) ? "audio-tx" : "audio-rx";
> >  	ctx->stream[s].dma = request_au1000_dma(dmaids[s], name,
> > -					au1000_dma_interrupt, IRQF_DISABLED,
> > +					au1000_dma_interrupt, 0,
> >  					&ctx->stream[s]);
> >  	set_dma_mode(ctx->stream[s].dma,
> >  		     get_dma_mode(ctx->stream[s].dma) & ~DMA_NC);
> > diff --git a/sound/soc/codecs/tlv320dac33.c b/sound/soc/codecs/tlv320dac33.c
> > index faa5e9f..243d177 100644
> > --- a/sound/soc/codecs/tlv320dac33.c
> > +++ b/sound/soc/codecs/tlv320dac33.c
> > @@ -1431,7 +1431,7 @@ static int dac33_soc_probe(struct snd_soc_codec *codec)
> >  	/* Check if the IRQ number is valid and request it */
> >  	if (dac33->irq >= 0) {
> >  		ret = request_irq(dac33->irq, dac33_interrupt_handler,
> > -				  IRQF_TRIGGER_RISING | IRQF_DISABLED,
> > +				  IRQF_TRIGGER_RISING,
> >  				  codec->name, codec);
> >  		if (ret < 0) {
> >  			dev_err(codec->dev, "Could not request IRQ%d (%d)\n",
> > diff --git a/sound/soc/nuc900/nuc900-pcm.c b/sound/soc/nuc900/nuc900-pcm.c
> > index e46d551..865b288 100644
> > --- a/sound/soc/nuc900/nuc900-pcm.c
> > +++ b/sound/soc/nuc900/nuc900-pcm.c
> > @@ -268,7 +268,7 @@ static int nuc900_dma_open(struct snd_pcm_substream *substream)
> >  	nuc900_audio = nuc900_ac97_data;
> >  
> >  	if (request_irq(nuc900_audio->irq_num, nuc900_dma_interrupt,
> > -			IRQF_DISABLED, "nuc900-dma", substream))
> > +			0, "nuc900-dma", substream))
> >  		return -EBUSY;
> >  
> >  	runtime->private_data = nuc900_audio;
> > diff --git a/sound/soc/samsung/ac97.c b/sound/soc/samsung/ac97.c
> > index b4f9b00..41b387b 100644
> > --- a/sound/soc/samsung/ac97.c
> > +++ b/sound/soc/samsung/ac97.c
> > @@ -450,7 +450,7 @@ static __devinit int s3c_ac97_probe(struct platform_device *pdev)
> >  	}
> >  
> >  	ret = request_irq(irq_res->start, s3c_ac97_irq,
> > -					IRQF_DISABLED, "AC97", NULL);
> > +					0, "AC97", NULL);
> >  	if (ret < 0) {
> >  		dev_err(&pdev->dev, "ac97: interrupt request failed.\n");
> >  		goto err4;
> > diff --git a/sound/soc/sh/fsi.c b/sound/soc/sh/fsi.c
> > index 8e112cc..1493ebf 100644
> > --- a/sound/soc/sh/fsi.c
> > +++ b/sound/soc/sh/fsi.c
> > @@ -1285,7 +1285,7 @@ static int fsi_probe(struct platform_device *pdev)
> >  	pm_runtime_enable(&pdev->dev);
> >  	dev_set_drvdata(&pdev->dev, master);
> >  
> > -	ret = request_irq(irq, &fsi_interrupt, IRQF_DISABLED,
> > +	ret = request_irq(irq, &fsi_interrupt, 0,
> >  			  id_entry->name, master);
> >  	if (ret) {
> >  		dev_err(&pdev->dev, "irq request err\n");
> > diff --git a/sound/soc/txx9/txx9aclc-ac97.c b/sound/soc/txx9/txx9aclc-ac97.c
> > index 743d07b..a4e3f55 100644
> > --- a/sound/soc/txx9/txx9aclc-ac97.c
> > +++ b/sound/soc/txx9/txx9aclc-ac97.c
> > @@ -201,7 +201,7 @@ static int __devinit txx9aclc_ac97_dev_probe(struct platform_device *pdev)
> >  	if (!drvdata->base)
> >  		return -EBUSY;
> >  	err = devm_request_irq(&pdev->dev, irq, txx9aclc_ac97_irq,
> > -			       IRQF_DISABLED, dev_name(&pdev->dev), drvdata);
> > +			       0, dev_name(&pdev->dev), drvdata);
> >  	if (err < 0)
> >  		return err;
> >  
> > diff --git a/sound/sparc/amd7930.c b/sound/sparc/amd7930.c
> > index ad7d4d7..f036776 100644
> > --- a/sound/sparc/amd7930.c
> > +++ b/sound/sparc/amd7930.c
> > @@ -962,7 +962,7 @@ static int __devinit snd_amd7930_create(struct snd_card *card,
> >  	amd7930_idle(amd);
> >  
> >  	if (request_irq(irq, snd_amd7930_interrupt,
> > -			IRQF_DISABLED | IRQF_SHARED, "amd7930", amd)) {
> > +			IRQF_SHARED, "amd7930", amd)) {
> >  		snd_printk(KERN_ERR "amd7930-%d: Unable to grab IRQ %d\n",
> >  			   dev, irq);
> >  		snd_amd7930_free(amd);
> > -- 
> > 1.7.4.1
> > 

^ permalink raw reply	[flat|nested] 134+ messages in thread

* Re: [PATCH 53/57] sound: irq: Remove IRQF_DISABLED
  2011-09-21  9:55       ` Thomas Gleixner
  (?)
@ 2011-09-21 12:12         ` Yong Zhang
  -1 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21 12:12 UTC (permalink / raw)
  To: Thomas Gleixner
  Cc: alsa-devel, Kuninori Morimoto, Takashi Iwai, Clemens Ladisch,
	Jaroslav Kysela, Peter Ujfalusi, Paul Gortmaker, linux-arch,
	Russell King, Jassi Brar, Manuel Lauss, Uwe Kleine-K�nig,
	Axel Lin, Liam Girdwood, cbe-oss-dev, Wan ZongShun,
	Lucas De Marchi, linux-arm-kernel, Eric Miao, Sangbeom Kim,
	Jiri Kosina, Mark Brown, linux-kernel

On Wed, Sep 21, 2011 at 11:55:36AM +0200, Thomas Gleixner wrote:
> On Wed, 21 Sep 2011, Takashi Iwai wrote:
> 
> > At Wed, 21 Sep 2011 17:28:54 +0800,
> > Yong Zhang wrote:
> > > 
> > > Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
> > 
> > Hm, this id hits a different commit:
> >     commit c58543c869606532c2382f027d6466f4672ea756
> >     Author: David S. Miller <davem@davemloft.net>
> >     Date:   Tue Oct 13 00:49:09 2009 -0700
> > 
> >     sparc64: Set IRQF_DISABLED on LDC channel IRQs.
> > 
> > You mean commit e58aa3d2d0cc01ad8d6f7f640a0670433f794922?
> 
> Yeah.
>  
> > > We run all interrupt handlers with interrupts disabled
> > > and we even check and yell when an interrupt handler
> > > returns with interrupts enabled (see commit [b738a50a:
> > > genirq: Warn when handler enables interrupts]).
> > > 
> > > So now this flag is a NOOP and can be removed.
> > > 
> > > Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
> > > Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
> > 
> > Do you want to merge by yourself or shall I take it to sound git tree?
> > Since IRQF_DISABLED isn't used, it can be applied safely in 3.1-based
> > tree, right?
> 
> Yes, please go ahead. I'll pick up the leftovers.

Takashi, if you take it, could you please modify that commit id to the
right one?

Otherwise I could change it when I refresh this patchset.

Thanks,
Yong

^ permalink raw reply	[flat|nested] 134+ messages in thread

* Re: [PATCH 53/57] sound: irq: Remove IRQF_DISABLED
@ 2011-09-21 12:12         ` Yong Zhang
  0 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21 12:12 UTC (permalink / raw)
  To: Thomas Gleixner
  Cc: alsa-devel, Kuninori Morimoto, Takashi Iwai, Clemens Ladisch,
	Jaroslav Kysela, Peter Ujfalusi, Paul Gortmaker, linux-arch,
	Russell King, Jassi Brar, Manuel Lauss, Uwe Kleine-K�nig,
	Axel Lin, Liam Girdwood, cbe-oss-dev, Wan ZongShun,
	Lucas De Marchi, linux-arm-kernel, Eric Miao, Sangbeom Kim,
	Jiri Kosina, Mark Brown, linux-kernel, Geoff Levand, Paul Mundt,
	Simon Horman, Joe Perches, Jarkko Nikula, linuxppc-dev

On Wed, Sep 21, 2011 at 11:55:36AM +0200, Thomas Gleixner wrote:
> On Wed, 21 Sep 2011, Takashi Iwai wrote:
> 
> > At Wed, 21 Sep 2011 17:28:54 +0800,
> > Yong Zhang wrote:
> > > 
> > > Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
> > 
> > Hm, this id hits a different commit:
> >     commit c58543c869606532c2382f027d6466f4672ea756
> >     Author: David S. Miller <davem@davemloft.net>
> >     Date:   Tue Oct 13 00:49:09 2009 -0700
> > 
> >     sparc64: Set IRQF_DISABLED on LDC channel IRQs.
> > 
> > You mean commit e58aa3d2d0cc01ad8d6f7f640a0670433f794922?
> 
> Yeah.
>  
> > > We run all interrupt handlers with interrupts disabled
> > > and we even check and yell when an interrupt handler
> > > returns with interrupts enabled (see commit [b738a50a:
> > > genirq: Warn when handler enables interrupts]).
> > > 
> > > So now this flag is a NOOP and can be removed.
> > > 
> > > Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
> > > Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
> > 
> > Do you want to merge by yourself or shall I take it to sound git tree?
> > Since IRQF_DISABLED isn't used, it can be applied safely in 3.1-based
> > tree, right?
> 
> Yes, please go ahead. I'll pick up the leftovers.

Takashi, if you take it, could you please modify that commit id to the
right one?

Otherwise I could change it when I refresh this patchset.

Thanks,
Yong

^ permalink raw reply	[flat|nested] 134+ messages in thread

* [PATCH 53/57] sound: irq: Remove IRQF_DISABLED
@ 2011-09-21 12:12         ` Yong Zhang
  0 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21 12:12 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Sep 21, 2011 at 11:55:36AM +0200, Thomas Gleixner wrote:
> On Wed, 21 Sep 2011, Takashi Iwai wrote:
> 
> > At Wed, 21 Sep 2011 17:28:54 +0800,
> > Yong Zhang wrote:
> > > 
> > > Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
> > 
> > Hm, this id hits a different commit:
> >     commit c58543c869606532c2382f027d6466f4672ea756
> >     Author: David S. Miller <davem@davemloft.net>
> >     Date:   Tue Oct 13 00:49:09 2009 -0700
> > 
> >     sparc64: Set IRQF_DISABLED on LDC channel IRQs.
> > 
> > You mean commit e58aa3d2d0cc01ad8d6f7f640a0670433f794922?
> 
> Yeah.
>  
> > > We run all interrupt handlers with interrupts disabled
> > > and we even check and yell when an interrupt handler
> > > returns with interrupts enabled (see commit [b738a50a:
> > > genirq: Warn when handler enables interrupts]).
> > > 
> > > So now this flag is a NOOP and can be removed.
> > > 
> > > Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
> > > Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
> > 
> > Do you want to merge by yourself or shall I take it to sound git tree?
> > Since IRQF_DISABLED isn't used, it can be applied safely in 3.1-based
> > tree, right?
> 
> Yes, please go ahead. I'll pick up the leftovers.

Takashi, if you take it, could you please modify that commit id to the
right one?

Otherwise I could change it when I refresh this patchset.

Thanks,
Yong

^ permalink raw reply	[flat|nested] 134+ messages in thread

* Re: [PATCH 35/57] media: irq: Remove IRQF_DISABLED
  2011-09-21 10:27   ` Wolfram Sang
@ 2011-09-21 12:13     ` Yong Zhang
  0 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21 12:13 UTC (permalink / raw)
  To: Wolfram Sang
  Cc: Kamil Debski, David H�rdeman, linux-kernel,
	Paul Gortmaker, Laurent Pinchart, Igor M. Liplianin, linux-arch,
	Mats Randgaard, Vaibhav Hiremath, Jarod Wilson,
	Muralidharan Karicheri, Istvan Varga, Hans Verkuil, linux-media,
	Lucas De Marchi, ivtv-devel, Mauro Carvalho Chehab,
	Jonathan Nieder, Jean Delvare, mjpeg-users, tglx, Andy Walls,
	Devin Heitmueller

On Wed, Sep 21, 2011 at 12:27:37PM +0200, Wolfram Sang wrote:
> On Wed, Sep 21, 2011 at 05:28:36PM +0800, Yong Zhang wrote:
> > Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
> > We run all interrupt handlers with interrupts disabled
> > and we even check and yell when an interrupt handler
> > returns with interrupts enabled (see commit [b738a50a:
> > genirq: Warn when handler enables interrupts]).
> > 
> > So now this flag is a NOOP and can be removed.
> > 
> > Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
> > Acked-by: Wolfram Sang <w.sang@pengutronix.de>
> 
> Umm, I didn't ack this patch but the MTD one :) Nevermind, I had a look
> here as well and it looks okay, so you can keep the ack.

Sorry and thanks :)

	Yong
> 
> -- 
> Pengutronix e.K.                           | Wolfram Sang                |
> Industrial Linux Solutions                 | http://www.pengutronix.de/  |



------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2dcopy1

^ permalink raw reply	[flat|nested] 134+ messages in thread

* Re: [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED
  2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
                   ` (56 preceding siblings ...)
       [not found] ` <1316597339-29861-36-git-send-email-yong.zhang0@gmail.com>
@ 2011-09-21 12:27 ` Yong Zhang
  57 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-21 12:27 UTC (permalink / raw)
  To: linux-arch, linux-kernel; +Cc: tglx

Hi,

[Top reply for some notice]

So it seems I have to resend this patchset for another time because
the commit id c58543c8 is a wrong reference, actually it should be
e58aa3d2. Sorry for my unknown mistake.

But anyway, it will not prevent you from reviewing/picking up the patch.

So I will refresh this patchset to modify the commit id at suitable
time.

Thanks,
Yong

On Wed, Sep 21, 2011 at 05:28:01PM +0800, Yong Zhang wrote:
> IRQF_DISABLED has been marked 'removal' for some time, now this
> trival patchset achive the goal.
> Most of the patch is one-line change/remove IRQF_DISABLED
> except patch-0001.
> 
> patch-0001 just remove the workround which live with IRQF_DISABLED
> is not NOOP, say before v2.6.35.
> 
> Others just do:
>   --if IRQF_DISABLED is combined with other irq_flags,just remove
>     IRQF_DISABLED;
>   --if IRQF_DISABLED is the only irq_flags of request_irq(),
>     change IRQF_DISABLED to 0 like some callers of request_irq()
>     have done.
>   --if IRQF_DISABLED is the only flags if irq_action, just remove
>     that item.
> 
> And I make the patches based on subdirs, so it's more easy to be
> reviewed/taken by relevant trees than one-big-patch.
> 
> Changelog V1 < V0:
>   -- Show more info in the commit log, thus make the patch more
>      easy to review (Required by David Miller)
>   
>   -- Drop below pathces since they are not needed any more:
>        mpu401-snd_mpu401_uart_new-split-semantic-of-irq_fla.patch
>        gpio-irq-Remove-IRQF_DISABLED.patch
> 
>   -- Drop below patches since they are picked by individual maintainer:
>        Blackfin-irq-Remove-IRQF_DISABLED.patch (Bob Liu)
>        staging-irq-Remove-IRQF_DISABLED.patch  (Greg KH)
>        USB-irq-Remove-IRQF_DISABLED.patch      (Greg KH)
>        Input-irq-Remove-IRQF_DISABLED.patch    (Dmitry Torokhov)
>        mfd-irq-Remove-IRQF_DISABLED.patch      (Samuel Ortiz)
> 
>   -- Collect some Acks.
>      Almost half of the patches get Acks(for the whole patch or part).
> 
>   -- Refresh this patchset based on next-20110920 (commit 8c024a21).
>   
>   -- Add two more patches:
>        hexagon-irq-Remove-IRQF_DISABLED.patch
>        hwmon-irq-Remove-IRQF_DISABLED.patch
>          The two new add patches make me think that we should push this
>          patches to upstream ASAP.
> 
> Since the merge window is more close to us now, could you please
> pick up the individual patch or give an Ack? And quoted for Thomas's
> previous reply:
> [ We can hold off the "remove the define" patch until 3.2-rc1 and push
>   it along with everything which hasn't been merged until then.
> 
>   Alternatively I can pick the whole * bunch as well. I let *(you)
>   decide. ]
> 
> BTW, I'm sending the patchset through
> 'git send-email --cc-cmd="./scripts/get_maintainer.pl'.
> If you are get noised by it, I apologies.
> 
> Thanks,
> Yong
> 
> ---
> Yong Zhang (57):
>   usb/hcd: Remove tricky code dealing with IRQF_DISABLED && IRQF_SHARED
>   alpha: irq: Remove IRQF_DISABLED
>   arm: irq: Remove IRQF_DISABLED
>   avr32: irq: Remove IRQF_DISABLED
>   cris: irq: Remove IRQF_DISABLED
>   frv: irq: Remove IRQF_DISABLED
>   h8300: irq: Remove IRQF_DISABLED
>   ia64: irq: Remove IRQF_DISABLED
>   m32r: irq: Remove IRQF_DISABLED
>   m68k: irq: Remove IRQF_DISABLED
>   microblaze: irq: Remove IRQF_DISABLED
>   MIPS: irq: Remove IRQF_DISABLED
>   mn10300: irq: Remove IRQF_DISABLED
>   parisc: irq: remove IRQF_DISABLED
>   powerpc: irq: Remove IRQF_DISABLED
>   score: irq: Remove IRQF_DISABLED
>   SH: irq: Remove IRQF_DISABLED
>   sparc: irq: Remove IRQF_DISABLED
>   um: irq: Remove IRQF_DISABLED
>   unicore32: Remove IRQF_DISABLED
>   x86: irq: Remove IRQF_DISABLED
>   xtensa: irq: Remove IRQF_DISABLED
>   clocksource: irq: Remove IRQF_DISABLED
>   irq: Remove IRQF_DISABLED
>   ata: irq: Remove IRQF_DISABLED
>   block: irq: Remove IRQF_DISABLED
>   cdrom: irq: Remove IRQF_DISABLED
>   driver/char: irq: Remove IRQF_DISABLED
>   crypto: irq: Remove IRQF_DISABLED
>   dmaengine: irq: Remove IRQF_DISABLED
>   EDAC: irq: Remove IRQF_DISABLED
>   i2c: irq: Remove IRQF_DISABLED
>   infiniband: irq: Remove IRQF_DISABLED
>   ISDN: irq: Remove IRQF_DISABLED
>   media: irq: Remove IRQF_DISABLED
>   drivers:misc:irq: Remove IRQF_DISABLED
>   mmc: irq: Remove IRQF_DISABLED
>   mtd: irq: Remove IRQF_DISABLED
>   net: irq: Remove IRQF_DISABLED
>   dirvers/parisc: irq: Remove IRQF_DISABLED
>   pcmcia: irq: Remove IRQF_DISABLED
>   sony-laptop:irq: Remove IRQF_DISABLED
>   PNP: irq: Remove IRQF_DISABLED
>   power_supply:irq: Remove IRQF_DISABLED
>   powerpc/ps3: irq: Remove IRQF_DISABLED
>   rtc: irq: Remove IRQF_DISABLED
>   spi: irq: Remove IRQF_DISABLED
>   TTY: irq: Remove IRQF_DISABLED
>   video: irq: Remove IRQF_DISABLED
>   w1: irq: Remove IRQF_DISABLED
>   watchdog: irq: Remove IRQF_DISABLED
>   xen: irq: Remove IRQF_DISABLED
>   sound: irq: Remove IRQF_DISABLED
>   Documentation: irq: Change documents related to IRQF_DISABLED
>   hexagon: irq: Remove IRQF_DISABLED
>   hwmon: irq: Remove IRQF_DISABLED
>   genirq: Remove IRQF_DISABLED
> 
>  Documentation/PCI/MSI-HOWTO.txt                 |   21 ---------------------
>  Documentation/feature-removal-schedule.txt      |    7 -------
>  Documentation/scsi/ncr53c8xx.txt                |    4 +++-
>  Documentation/scsi/tmscsim.txt                  |    4 ++--
>  arch/alpha/include/asm/floppy.h                 |    2 +-
>  arch/alpha/kernel/irq_alpha.c                   |    1 -
>  arch/alpha/kernel/sys_titan.c                   |   14 +++++++-------
>  arch/arm/common/time-acorn.c                    |    1 -
>  arch/arm/common/timer-sp.c                      |    2 +-
>  arch/arm/include/asm/floppy.h                   |    2 +-
>  arch/arm/kernel/perf_event.c                    |    2 +-
>  arch/arm/mach-at91/at91rm9200_time.c            |    2 +-
>  arch/arm/mach-at91/at91sam926x_time.c           |    2 +-
>  arch/arm/mach-at91/at91x40_time.c               |    2 +-
>  arch/arm/mach-bcmring/dma.c                     |    2 +-
>  arch/arm/mach-clps711x/time.c                   |    2 +-
>  arch/arm/mach-cns3xxx/core.c                    |    2 +-
>  arch/arm/mach-davinci/board-da830-evm.c         |    2 +-
>  arch/arm/mach-davinci/board-omapl138-hawk.c     |    2 +-
>  arch/arm/mach-davinci/time.c                    |    4 ++--
>  arch/arm/mach-ebsa110/core.c                    |    2 +-
>  arch/arm/mach-ep93xx/core.c                     |    2 +-
>  arch/arm/mach-footbridge/dc21285-timer.c        |    2 +-
>  arch/arm/mach-footbridge/dc21285.c              |   10 +++++-----
>  arch/arm/mach-footbridge/isa-timer.c            |    2 +-
>  arch/arm/mach-gemini/time.c                     |    2 +-
>  arch/arm/mach-h720x/cpu-h7201.c                 |    2 +-
>  arch/arm/mach-h720x/cpu-h7202.c                 |    2 +-
>  arch/arm/mach-imx/mach-armadillo5x0.c           |    2 +-
>  arch/arm/mach-imx/mach-mx31_3ds.c               |    2 +-
>  arch/arm/mach-imx/mach-pca100.c                 |    2 +-
>  arch/arm/mach-imx/mach-pcm037.c                 |    2 +-
>  arch/arm/mach-imx/mx31lilly-db.c                |    2 +-
>  arch/arm/mach-integrator/integrator_ap.c        |    2 +-
>  arch/arm/mach-ixp2000/core.c                    |    2 +-
>  arch/arm/mach-ixp23xx/core.c                    |    2 +-
>  arch/arm/mach-ixp4xx/common.c                   |    2 +-
>  arch/arm/mach-ixp4xx/dsmg600-setup.c            |    2 +-
>  arch/arm/mach-ixp4xx/fsg-setup.c                |    4 ++--
>  arch/arm/mach-ixp4xx/nas100d-setup.c            |    2 +-
>  arch/arm/mach-ixp4xx/nslu2-setup.c              |    4 ++--
>  arch/arm/mach-ks8695/time.c                     |    2 +-
>  arch/arm/mach-lpc32xx/timer.c                   |    2 +-
>  arch/arm/mach-mmp/time.c                        |    2 +-
>  arch/arm/mach-msm/timer.c                       |    4 ++--
>  arch/arm/mach-netx/time.c                       |    2 +-
>  arch/arm/mach-nuc93x/time.c                     |    2 +-
>  arch/arm/mach-omap1/fpga.c                      |    4 ++--
>  arch/arm/mach-omap1/pm.c                        |    1 -
>  arch/arm/mach-omap1/time.c                      |    2 +-
>  arch/arm/mach-omap1/timer32k.c                  |    2 +-
>  arch/arm/mach-omap2/omap_l3_noc.c               |    4 ++--
>  arch/arm/mach-omap2/omap_l3_smx.c               |    4 ++--
>  arch/arm/mach-omap2/pm34xx.c                    |    2 +-
>  arch/arm/mach-omap2/timer.c                     |    2 +-
>  arch/arm/mach-pnx4008/time.c                    |    2 +-
>  arch/arm/mach-pxa/am200epd.c                    |    2 +-
>  arch/arm/mach-pxa/am300epd.c                    |    2 +-
>  arch/arm/mach-pxa/em-x270.c                     |    2 +-
>  arch/arm/mach-pxa/magician.c                    |    2 +-
>  arch/arm/mach-pxa/mainstone.c                   |    2 +-
>  arch/arm/mach-pxa/pcm990-baseboard.c            |    2 +-
>  arch/arm/mach-pxa/sharpsl_pm.c                  |    8 ++++----
>  arch/arm/mach-pxa/time.c                        |    2 +-
>  arch/arm/mach-pxa/trizeps4.c                    |    2 +-
>  arch/arm/mach-rpc/dma.c                         |    2 +-
>  arch/arm/mach-s3c2410/usb-simtec.c              |    2 +-
>  arch/arm/mach-s3c64xx/mach-smartq.c             |    2 +-
>  arch/arm/mach-sa1100/dma.c                      |    2 +-
>  arch/arm/mach-sa1100/time.c                     |    2 +-
>  arch/arm/mach-shark/core.c                      |    2 +-
>  arch/arm/mach-tcc8k/time.c                      |    2 +-
>  arch/arm/mach-tegra/timer.c                     |    2 +-
>  arch/arm/mach-u300/timer.c                      |    2 +-
>  arch/arm/mach-vt8500/timer.c                    |    2 +-
>  arch/arm/mach-w90x900/time.c                    |    2 +-
>  arch/arm/mach-zynq/timer.c                      |    2 +-
>  arch/arm/plat-iop/time.c                        |    2 +-
>  arch/arm/plat-mxc/Kconfig                       |    2 +-
>  arch/arm/plat-mxc/epit.c                        |    2 +-
>  arch/arm/plat-mxc/time.c                        |    2 +-
>  arch/arm/plat-nomadik/timer.c                   |    2 +-
>  arch/arm/plat-omap/dma.c                        |    1 -
>  arch/arm/plat-orion/time.c                      |    2 +-
>  arch/arm/plat-pxa/dma.c                         |    2 +-
>  arch/arm/plat-s3c24xx/dma.c                     |    2 +-
>  arch/arm/plat-s5p/s5p-time.c                    |    2 +-
>  arch/arm/plat-s5p/sysmmu.c                      |    2 +-
>  arch/arm/plat-samsung/time.c                    |    2 +-
>  arch/arm/plat-spear/time.c                      |    2 +-
>  arch/avr32/kernel/time.c                        |    2 +-
>  arch/cris/arch-v10/drivers/gpio.c               |    4 ++--
>  arch/cris/arch-v10/drivers/sync_serial.c        |    4 ++--
>  arch/cris/arch-v10/kernel/time.c                |    4 ++--
>  arch/cris/arch-v32/drivers/mach-a3/gpio.c       |    2 +-
>  arch/cris/arch-v32/drivers/mach-fs/gpio.c       |    4 ++--
>  arch/cris/arch-v32/kernel/fasttimer.c           |    2 +-
>  arch/cris/arch-v32/kernel/irq.c                 |    4 ++--
>  arch/cris/arch-v32/kernel/smp.c                 |    1 -
>  arch/cris/arch-v32/kernel/time.c                |    4 ++--
>  arch/cris/arch-v32/mach-a3/arbiter.c            |    4 ++--
>  arch/cris/arch-v32/mach-fs/arbiter.c            |    2 +-
>  arch/cris/include/arch-v10/arch/irq.h           |    5 +++--
>  arch/cris/include/arch-v32/arch/irq.h           |    5 +++--
>  arch/cris/kernel/irq.c                          |    3 +--
>  arch/frv/kernel/irq-mb93091.c                   |    8 ++++----
>  arch/frv/kernel/irq-mb93093.c                   |    1 -
>  arch/frv/kernel/irq-mb93493.c                   |    4 ++--
>  arch/frv/kernel/time.c                          |    1 -
>  arch/h8300/kernel/timer/itu.c                   |    2 +-
>  arch/h8300/kernel/timer/timer16.c               |    2 +-
>  arch/h8300/kernel/timer/timer8.c                |    2 +-
>  arch/h8300/kernel/timer/tpu.c                   |    2 +-
>  arch/hexagon/kernel/smp.c                       |    2 +-
>  arch/hexagon/kernel/time.c                      |    2 +-
>  arch/ia64/hp/sim/simserial.c                    |    2 +-
>  arch/ia64/kernel/irq_ia64.c                     |    4 ----
>  arch/ia64/kernel/mca.c                          |    6 ------
>  arch/ia64/kernel/perfmon.c                      |    1 -
>  arch/ia64/kernel/time.c                         |    2 +-
>  arch/ia64/xen/irq_xen.c                         |    3 ---
>  arch/m32r/kernel/time.c                         |    1 -
>  arch/m68k/include/asm/floppy.h                  |    2 +-
>  arch/m68k/include/asm/irq.h                     |    4 ++--
>  arch/m68k/include/asm/sun3xflop.h               |    2 +-
>  arch/m68k/platform/68328/timers.c               |    2 +-
>  arch/m68k/platform/68360/config.c               |    2 +-
>  arch/m68k/platform/coldfire/pit.c               |    2 +-
>  arch/m68k/platform/coldfire/sltimers.c          |    4 ++--
>  arch/m68k/platform/coldfire/timers.c            |    4 ++--
>  arch/microblaze/kernel/timer.c                  |    2 +-
>  arch/mips/alchemy/common/dbdma.c                |    2 +-
>  arch/mips/alchemy/common/time.c                 |    2 +-
>  arch/mips/alchemy/devboards/db1200/platform.c   |    4 ++--
>  arch/mips/cavium-octeon/smp.c                   |    2 +-
>  arch/mips/dec/setup.c                           |    1 -
>  arch/mips/include/asm/mach-generic/floppy.h     |    2 +-
>  arch/mips/include/asm/mach-jazz/floppy.h        |    2 +-
>  arch/mips/jazz/irq.c                            |    2 +-
>  arch/mips/kernel/cevt-bcm1480.c                 |    2 +-
>  arch/mips/kernel/cevt-ds1287.c                  |    2 +-
>  arch/mips/kernel/cevt-gt641xx.c                 |    2 +-
>  arch/mips/kernel/cevt-r4k.c                     |    2 +-
>  arch/mips/kernel/cevt-sb1250.c                  |    2 +-
>  arch/mips/kernel/cevt-txx9.c                    |    2 +-
>  arch/mips/kernel/i8253.c                        |    2 +-
>  arch/mips/kernel/perf_event.c                   |    2 +-
>  arch/mips/kernel/rtlx.c                         |    1 -
>  arch/mips/kernel/smtc.c                         |    2 +-
>  arch/mips/lantiq/irq.c                          |    1 -
>  arch/mips/loongson/common/cs5536/cs5536_mfgpt.c |    2 +-
>  arch/mips/mti-malta/malta-int.c                 |    4 ++--
>  arch/mips/pci/ops-pmcmsp.c                      |    2 +-
>  arch/mips/pci/ops-tx3927.c                      |    2 +-
>  arch/mips/pci/pci-tx4927.c                      |    2 +-
>  arch/mips/pci/pci-tx4938.c                      |    2 +-
>  arch/mips/pci/pci-tx4939.c                      |    2 +-
>  arch/mips/pmc-sierra/msp71xx/msp_hwbutton.c     |    2 +-
>  arch/mips/pmc-sierra/msp71xx/msp_smp.c          |    4 ++--
>  arch/mips/pnx8550/common/int.c                  |    4 ++--
>  arch/mips/pnx8550/common/time.c                 |    4 ++--
>  arch/mips/sgi-ip22/ip22-int.c                   |   10 +++++-----
>  arch/mips/sgi-ip27/ip27-irq.c                   |    2 +-
>  arch/mips/sgi-ip27/ip27-timer.c                 |    2 +-
>  arch/mips/sgi-ip32/ip32-irq.c                   |    2 --
>  arch/mips/sni/irq.c                             |    2 +-
>  arch/mips/sni/time.c                            |    2 +-
>  arch/mips/txx9/generic/pci.c                    |    2 +-
>  arch/mn10300/kernel/cevt-mn10300.c              |    2 +-
>  arch/mn10300/kernel/mn10300-serial.c            |    6 +++---
>  arch/mn10300/kernel/smp.c                       |    1 -
>  arch/mn10300/unit-asb2364/irq-fpga.c            |    2 +-
>  arch/parisc/include/asm/floppy.h                |    4 ++--
>  arch/parisc/kernel/irq.c                        |    4 ++--
>  arch/powerpc/include/asm/floppy.h               |    4 ++--
>  arch/powerpc/include/asm/xics.h                 |    4 ++--
>  arch/powerpc/kernel/smp.c                       |    2 +-
>  arch/powerpc/platforms/cell/beat.c              |    2 +-
>  arch/powerpc/platforms/cell/celleb_scc_pciex.c  |    2 +-
>  arch/powerpc/platforms/cell/iommu.c             |    3 +--
>  arch/powerpc/platforms/cell/pmu.c               |    2 +-
>  arch/powerpc/platforms/cell/spu_base.c          |    9 +++------
>  arch/powerpc/platforms/powermac/pic.c           |    1 -
>  arch/powerpc/platforms/powermac/smp.c           |    4 ++--
>  arch/powerpc/platforms/ps3/device-init.c        |    2 +-
>  arch/powerpc/sysdev/mpic.c                      |    2 --
>  arch/powerpc/sysdev/ppc4xx_soc.c                |    2 +-
>  arch/powerpc/sysdev/xics/xics-common.c          |    5 ++---
>  arch/score/kernel/time.c                        |    2 +-
>  arch/sh/boards/board-secureedge5410.c           |    3 +--
>  arch/sh/boards/mach-cayman/irq.c                |    2 --
>  arch/sh/boards/mach-hp6xx/hp6xx_apm.c           |    2 +-
>  arch/sh/drivers/dma/dma-g2.c                    |    2 +-
>  arch/sh/drivers/dma/dma-pvr2.c                  |    1 -
>  arch/sh/drivers/dma/dma-sh.c                    |    4 ++--
>  arch/sh/drivers/dma/dmabrg.c                    |    6 +++---
>  arch/sh/drivers/pci/pci-sh5.c                   |    4 ++--
>  arch/sh/drivers/pci/pci-sh7780.c                |    2 +-
>  arch/sh/drivers/push-switch.c                   |    2 +-
>  arch/sh/kernel/cpu/sh4a/smp-shx3.c              |    2 +-
>  arch/sparc/include/asm/floppy_64.h              |    2 +-
>  arch/sparc/kernel/ldc.c                         |    4 ++--
>  arch/um/drivers/line.c                          |    8 ++++----
>  arch/um/drivers/mconsole_kern.c                 |    2 +-
>  arch/um/drivers/net_kern.c                      |    2 +-
>  arch/um/drivers/port_kern.c                     |    4 ++--
>  arch/um/drivers/random.c                        |    2 +-
>  arch/um/drivers/ubd_kern.c                      |    2 +-
>  arch/um/drivers/xterm_kern.c                    |    2 +-
>  arch/um/kernel/sigio.c                          |    2 +-
>  arch/um/kernel/time.c                           |    2 +-
>  arch/unicore32/kernel/puv3-nb0916.c             |    4 ++--
>  arch/unicore32/kernel/time.c                    |    2 +-
>  arch/x86/include/asm/floppy.h                   |    4 ++--
>  arch/x86/kernel/hpet.c                          |    2 +-
>  arch/x86/kernel/time.c                          |    2 +-
>  arch/x86/xen/smp.c                              |    8 ++++----
>  arch/x86/xen/spinlock.c                         |    2 +-
>  arch/x86/xen/time.c                             |    5 ++---
>  arch/xtensa/kernel/time.c                       |    1 -
>  drivers/ata/pata_mpc52xx.c                      |    2 +-
>  drivers/block/cciss.c                           |    4 ++--
>  drivers/block/cpqarray.c                        |    2 +-
>  drivers/block/hd.c                              |    7 +------
>  drivers/block/mg_disk.c                         |    2 +-
>  drivers/cdrom/gdrom.c                           |    4 ++--
>  drivers/char/hpet.c                             |    2 +-
>  drivers/char/ipmi/ipmi_si_intf.c                |    4 ++--
>  drivers/char/nwbutton.c                         |    2 +-
>  drivers/char/rtc.c                              |    4 ++--
>  drivers/char/snsc.c                             |    2 +-
>  drivers/char/snsc_event.c                       |    2 +-
>  drivers/char/tlclk.c                            |    2 +-
>  drivers/clocksource/cs5535-clockevt.c           |    2 +-
>  drivers/clocksource/dw_apb_timer.c              |    3 +--
>  drivers/clocksource/sh_cmt.c                    |    2 +-
>  drivers/clocksource/sh_mtu2.c                   |    2 +-
>  drivers/clocksource/sh_tmu.c                    |    2 +-
>  drivers/clocksource/tcb_clksrc.c                |    2 +-
>  drivers/crypto/mv_cesa.c                        |    3 +--
>  drivers/dma/amba-pl08x.c                        |    2 +-
>  drivers/dma/coh901318.c                         |    2 +-
>  drivers/dma/shdma.c                             |    4 ++--
>  drivers/edac/mpc85xx_edac.c                     |    6 +++---
>  drivers/edac/mv64x60_edac.c                     |    8 ++++----
>  drivers/edac/ppc4xx_edac.c                      |    4 ++--
>  drivers/hwmon/exynos4_tmu.c                     |    2 +-
>  drivers/i2c/busses/i2c-bfin-twi.c               |    4 ++--
>  drivers/i2c/busses/i2c-designware.c             |    2 +-
>  drivers/i2c/busses/i2c-highlander.c             |    2 +-
>  drivers/i2c/busses/i2c-nomadik.c                |    2 +-
>  drivers/i2c/busses/i2c-nuc900.c                 |    2 +-
>  drivers/i2c/busses/i2c-pmcmsp.c                 |    2 +-
>  drivers/i2c/busses/i2c-s3c2410.c                |    2 +-
>  drivers/i2c/busses/i2c-sh7760.c                 |    2 +-
>  drivers/i2c/busses/i2c-sh_mobile.c              |    2 +-
>  drivers/i2c/busses/i2c-stu300.c                 |    2 +-
>  drivers/infiniband/hw/ehca/ehca_eq.c            |    4 ++--
>  drivers/isdn/hardware/eicon/divasmain.c         |    2 +-
>  drivers/isdn/sc/init.c                          |    2 +-
>  drivers/media/common/saa7146_core.c             |    2 +-
>  drivers/media/dvb/bt8xx/bt878.c                 |    2 +-
>  drivers/media/radio/si4713-i2c.c                |    2 +-
>  drivers/media/rc/winbond-cir.c                  |    2 +-
>  drivers/media/video/bt8xx/bttv-driver.c         |    2 +-
>  drivers/media/video/cx18/cx18-driver.c          |    2 +-
>  drivers/media/video/cx23885/cx23885-core.c      |    2 +-
>  drivers/media/video/cx88/cx88-alsa.c            |    2 +-
>  drivers/media/video/cx88/cx88-mpeg.c            |    2 +-
>  drivers/media/video/cx88/cx88-video.c           |    2 +-
>  drivers/media/video/davinci/vpbe_display.c      |    2 +-
>  drivers/media/video/davinci/vpfe_capture.c      |    4 ++--
>  drivers/media/video/davinci/vpif_capture.c      |    2 +-
>  drivers/media/video/davinci/vpif_display.c      |    2 +-
>  drivers/media/video/ivtv/ivtv-driver.c          |    2 +-
>  drivers/media/video/meye.c                      |    2 +-
>  drivers/media/video/s5p-mfc/s5p_mfc.c           |    3 +--
>  drivers/media/video/saa7134/saa7134-alsa.c      |    2 +-
>  drivers/media/video/saa7134/saa7134-core.c      |    2 +-
>  drivers/media/video/saa7164/saa7164-core.c      |    2 +-
>  drivers/media/video/sh_mobile_ceu_camera.c      |    2 +-
>  drivers/media/video/zoran/zoran_card.c          |    2 +-
>  drivers/misc/arm-charlcd.c                      |    2 +-
>  drivers/misc/phantom.c                          |    2 +-
>  drivers/mmc/host/omap_hsmmc.c                   |    5 ++---
>  drivers/mmc/host/tmio_mmc.c                     |    4 ++--
>  drivers/mtd/nand/mxc_nand.c                     |    2 +-
>  drivers/mtd/nand/pxa3xx_nand.c                  |    3 +--
>  drivers/mtd/nand/tmio_nand.c                    |    2 +-
>  drivers/net/ethernet/adi/bfin_mac.c             |    4 ++--
>  drivers/net/ethernet/amd/sun3lance.c            |    2 +-
>  drivers/net/ethernet/broadcom/bcm63xx_enet.c    |    4 ++--
>  drivers/net/ethernet/dec/tulip/de4x5.c          |    2 +-
>  drivers/net/ethernet/freescale/fec.c            |    2 +-
>  drivers/net/ethernet/hp/hp100.c                 |    2 +-
>  drivers/net/ethernet/ibm/ehea/ehea_main.c       |    6 +++---
>  drivers/net/ethernet/korina.c                   |    8 ++++----
>  drivers/net/ethernet/lantiq_etop.c              |    4 ++--
>  drivers/net/ethernet/marvell/pxa168_eth.c       |    2 +-
>  drivers/net/ethernet/micrel/ks8851_mll.c        |    2 +-
>  drivers/net/ethernet/natsemi/jazzsonic.c        |    2 +-
>  drivers/net/ethernet/natsemi/xtsonic.c          |    2 +-
>  drivers/net/ethernet/pasemi/pasemi_mac.c        |    4 ++--
>  drivers/net/ethernet/smsc/smc91x.h              |    2 +-
>  drivers/net/ethernet/smsc/smsc9420.c            |    2 +-
>  drivers/net/ethernet/ti/davinci_emac.c          |    2 +-
>  drivers/net/ethernet/toshiba/ps3_gelic_net.c    |    2 +-
>  drivers/net/hamradio/baycom_ser_fdx.c           |    2 +-
>  drivers/net/hamradio/baycom_ser_hdx.c           |    2 +-
>  drivers/net/hamradio/scc.c                      |    2 +-
>  drivers/net/hamradio/yam.c                      |    2 +-
>  drivers/net/irda/bfin_sir.c                     |    4 ++--
>  drivers/net/irda/donauboe.c                     |    4 ++--
>  drivers/net/irda/sh_irda.c                      |    2 +-
>  drivers/net/irda/sh_sir.c                       |    2 +-
>  drivers/net/wan/hostess_sv11.c                  |    2 +-
>  drivers/net/wan/sealevel.c                      |    2 +-
>  drivers/net/wireless/p54/p54spi.c               |    2 +-
>  drivers/parisc/superio.c                        |    2 +-
>  drivers/pcmcia/db1xxx_ss.c                      |    4 ++--
>  drivers/pcmcia/soc_common.c                     |    2 +-
>  drivers/platform/x86/sony-laptop.c              |    2 +-
>  drivers/pnp/resource.c                          |    2 +-
>  drivers/power/wm97xx_battery.c                  |    2 +-
>  drivers/power/z2_battery.c                      |    2 +-
>  drivers/ps3/ps3-vuart.c                         |    2 +-
>  drivers/ps3/ps3stor_lib.c                       |    2 +-
>  drivers/rtc/rtc-at91sam9.c                      |    2 +-
>  drivers/rtc/rtc-cmos.c                          |    2 +-
>  drivers/rtc/rtc-coh901331.c                     |    2 +-
>  drivers/rtc/rtc-davinci.c                       |    2 +-
>  drivers/rtc/rtc-ds1511.c                        |    2 +-
>  drivers/rtc/rtc-ds1553.c                        |    2 +-
>  drivers/rtc/rtc-lpc32xx.c                       |    2 +-
>  drivers/rtc/rtc-mpc5121.c                       |    4 ++--
>  drivers/rtc/rtc-mrst.c                          |    2 +-
>  drivers/rtc/rtc-mv.c                            |    2 +-
>  drivers/rtc/rtc-nuc900.c                        |    2 +-
>  drivers/rtc/rtc-omap.c                          |    4 ++--
>  drivers/rtc/rtc-pl030.c                         |    2 +-
>  drivers/rtc/rtc-pl031.c                         |    2 +-
>  drivers/rtc/rtc-puv3.c                          |    4 ++--
>  drivers/rtc/rtc-pxa.c                           |    4 ++--
>  drivers/rtc/rtc-s3c.c                           |    4 ++--
>  drivers/rtc/rtc-sa1100.c                        |    4 ++--
>  drivers/rtc/rtc-sh.c                            |    8 ++++----
>  drivers/rtc/rtc-stk17ta8.c                      |    2 +-
>  drivers/rtc/rtc-tx4939.c                        |    2 +-
>  drivers/rtc/rtc-vr41xx.c                        |    4 ++--
>  drivers/scsi/NCR5380.c                          |    2 +-
>  drivers/scsi/aacraid/rx.c                       |    2 +-
>  drivers/scsi/aacraid/sa.c                       |    2 +-
>  drivers/scsi/aacraid/src.c                      |    2 +-
>  drivers/scsi/aha152x.c                          |    4 ++--
>  drivers/scsi/aic7xxx_old.c                      |    2 +-
>  drivers/scsi/arm/acornscsi.c                    |    2 +-
>  drivers/scsi/arm/cumana_1.c                     |    2 +-
>  drivers/scsi/arm/cumana_2.c                     |    2 +-
>  drivers/scsi/arm/powertec.c                     |    2 +-
>  drivers/scsi/dtc.c                              |    2 +-
>  drivers/scsi/eata.c                             |    2 +-
>  drivers/scsi/eata_pio.c                         |    4 ++--
>  drivers/scsi/g_NCR5380.c                        |    2 +-
>  drivers/scsi/gdth.c                             |    6 +++---
>  drivers/scsi/hpsa.c                             |    4 ++--
>  drivers/scsi/ibmvscsi/ibmvstgt.c                |    2 +-
>  drivers/scsi/in2000.c                           |    2 +-
>  drivers/scsi/initio.c                           |    2 +-
>  drivers/scsi/pas16.c                            |    2 +-
>  drivers/scsi/pm8001/pm8001_init.c               |    4 +---
>  drivers/scsi/t128.c                             |    2 +-
>  drivers/scsi/u14-34f.c                          |    2 +-
>  drivers/scsi/wd7000.c                           |    2 +-
>  drivers/spi/spi-bfin5xx.c                       |    2 +-
>  drivers/spi/spi-coldfire-qspi.c                 |    2 +-
>  drivers/spi/spi-ppc4xx.c                        |    2 +-
>  drivers/spi/spi-sh-msiof.c                      |    2 +-
>  drivers/spi/spi-sh.c                            |    2 +-
>  drivers/tty/amiserial.c                         |    2 +-
>  drivers/tty/cyclades.c                          |    2 +-
>  drivers/tty/hvc/hvc_irq.c                       |    2 +-
>  drivers/tty/hvc/hvcs.c                          |    2 +-
>  drivers/tty/hvc/hvsi.c                          |    2 +-
>  drivers/tty/isicom.c                            |    2 +-
>  drivers/tty/serial/68328serial.c                |    2 +-
>  drivers/tty/serial/altera_jtaguart.c            |    2 +-
>  drivers/tty/serial/altera_uart.c                |    2 +-
>  drivers/tty/serial/bfin_sport_uart.c            |    2 +-
>  drivers/tty/serial/bfin_uart.c                  |    8 ++++----
>  drivers/tty/serial/crisv10.c                    |   18 +++++++++---------
>  drivers/tty/serial/icom.c                       |    2 +-
>  drivers/tty/serial/lantiq.c                     |    6 +++---
>  drivers/tty/serial/mcf.c                        |    2 +-
>  drivers/tty/serial/mpc52xx_uart.c               |    2 +-
>  drivers/tty/serial/serial_ks8695.c              |    8 ++++----
>  drivers/tty/serial/sh-sci.c                     |    2 +-
>  drivers/tty/serial/sn_console.c                 |    2 +-
>  drivers/usb/core/hcd.c                          |   15 ---------------
>  drivers/video/au1200fb.c                        |    2 +-
>  drivers/video/bf54x-lq043fb.c                   |    2 +-
>  drivers/video/bfin-lq035q1-fb.c                 |    2 +-
>  drivers/video/bfin-t350mcqb-fb.c                |    2 +-
>  drivers/video/bfin_adv7393fb.c                  |    2 +-
>  drivers/video/mb862xx/mb862xxfbdrv.c            |    4 ++--
>  drivers/video/msm/mddi.c                        |    2 +-
>  drivers/video/msm/mdp.c                         |    2 +-
>  drivers/video/nuc900fb.c                        |    2 +-
>  drivers/video/omap2/displays/panel-taal.c       |    2 +-
>  drivers/video/ps3fb.c                           |    2 +-
>  drivers/video/pxa3xx-gcu.c                      |    2 +-
>  drivers/video/pxafb.c                           |    2 +-
>  drivers/video/s3c2410fb.c                       |    2 +-
>  drivers/video/sa1100fb.c                        |    3 +--
>  drivers/video/sh_mobile_lcdcfb.c                |    2 +-
>  drivers/video/tmiofb.c                          |    2 +-
>  drivers/video/vt8500lcdfb.c                     |    2 +-
>  drivers/w1/masters/ds1wm.c                      |    2 +-
>  drivers/w1/masters/omap_hdq.c                   |    2 +-
>  drivers/watchdog/coh901327_wdt.c                |    2 +-
>  drivers/watchdog/eurotechwdt.c                  |    2 +-
>  drivers/watchdog/mpcore_wdt.c                   |    3 +--
>  drivers/watchdog/octeon-wdt-main.c              |    2 +-
>  drivers/watchdog/sb_wdog.c                      |    4 ++--
>  drivers/watchdog/wdt.c                          |    2 +-
>  drivers/watchdog/wdt_pci.c                      |    2 +-
>  drivers/xen/evtchn.c                            |    2 +-
>  drivers/xen/platform-pci.c                      |    2 +-
>  include/linux/interrupt.h                       |    3 ---
>  include/net/irda/irda_device.h                  |    2 +-
>  include/sound/initval.h                         |    2 +-
>  sound/arm/aaci.c                                |    2 +-
>  sound/arm/pxa2xx-ac97-lib.c                     |    2 +-
>  sound/drivers/ml403-ac97cr.c                    |    4 ++--
>  sound/drivers/mpu401/mpu401_uart.c              |    2 +-
>  sound/drivers/mtpav.c                           |    2 +-
>  sound/drivers/serial-u16550.c                   |    2 +-
>  sound/isa/ad1816a/ad1816a_lib.c                 |    2 +-
>  sound/isa/es1688/es1688_lib.c                   |    2 +-
>  sound/isa/es18xx.c                              |    2 +-
>  sound/isa/gus/gus_main.c                        |    2 +-
>  sound/isa/gus/gusmax.c                          |    2 +-
>  sound/isa/gus/interwave.c                       |    2 +-
>  sound/isa/opl3sa2.c                             |    2 +-
>  sound/isa/opti9xx/opti92x-ad1848.c              |    2 +-
>  sound/isa/sb/sb_common.c                        |    2 +-
>  sound/isa/wavefront/wavefront.c                 |    2 +-
>  sound/isa/wss/wss_lib.c                         |    2 +-
>  sound/mips/au1x00.c                             |    4 ++--
>  sound/pci/sis7019.c                             |    4 ++--
>  sound/ppc/snd_ps3.c                             |    2 +-
>  sound/soc/au1x/dma.c                            |    2 +-
>  sound/soc/codecs/tlv320dac33.c                  |    2 +-
>  sound/soc/nuc900/nuc900-pcm.c                   |    2 +-
>  sound/soc/samsung/ac97.c                        |    2 +-
>  sound/soc/sh/fsi.c                              |    2 +-
>  sound/soc/txx9/txx9aclc-ac97.c                  |    2 +-
>  sound/sparc/amd7930.c                           |    2 +-
>  457 files changed, 570 insertions(+), 669 deletions(-)
> 
> -- 
> 1.7.4.1

^ permalink raw reply	[flat|nested] 134+ messages in thread

* Re: [PATCH 35/57] media: irq: Remove IRQF_DISABLED
       [not found]   ` <4E79DF04.8060209@infradead.org>
@ 2011-09-21 13:02     ` Thomas Gleixner
  0 siblings, 0 replies; 134+ messages in thread
From: Thomas Gleixner @ 2011-09-21 13:02 UTC (permalink / raw)
  To: Mauro Carvalho Chehab
  Cc: Kamil Debski, David Härdeman, Wolfram Sang, Paul Gortmaker,
	Laurent Pinchart, Igor M. Liplianin, linux-arch, Lawrence Rust,
	Mats Randgaard, Vaibhav Hiremath, Jarod Wilson,
	Muralidharan Karicheri, Istvan Varga, Hans Verkuil, Jean Delvare,
	linux-media, Lucas De Marchi, ivtv-devel, Jonathan Nieder,
	Yong Zhang, mjpeg-users, Andy Walls

On Wed, 21 Sep 2011, Mauro Carvalho Chehab wrote:

> Em 21-09-2011 06:28, Yong Zhang escreveu:
> > Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
> > We run all interrupt handlers with interrupts disabled
> > and we even check and yell when an interrupt handler
> > returns with interrupts enabled (see commit [b738a50a:
> > genirq: Warn when handler enables interrupts]).
> > 
> > So now this flag is a NOOP and can be removed.
> > 
> > Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
> > Acked-by: Wolfram Sang <w.sang@pengutronix.de>
> 
> Not sure if you want to send this patch directly or via
> the linux-media tree. If you want to send it directly:
> 
> Acked-by: Mauro Carvalho Chehab <mchehab@redhat.com>
> 
> If not, please let me know, and I'll apply it on my tree
> with my SOB.

Please take it, I collect the leftovers.

------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2dcopy1

^ permalink raw reply	[flat|nested] 134+ messages in thread

* Re: [PATCH 55/57] hexagon: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 ` [PATCH 55/57] hexagon: irq: Remove IRQF_DISABLED Yong Zhang
@ 2011-09-21 15:35   ` Richard Kuo
  2011-09-22  8:08     ` Yong Zhang
  0 siblings, 1 reply; 134+ messages in thread
From: Richard Kuo @ 2011-09-21 15:35 UTC (permalink / raw)
  To: Yong Zhang
  Cc: linux-arch, linux-kernel, tglx, Linas Vepstas, Arnd Bergmann,
	linux-hexagon

Thanks!  I already had that timer fixed in my tree, but I had left out the
IPI flag.  I will make sure this goes into the next patch series.


Thanks again, 
Richard Kuo


On Wed, Sep 21, 2011 at 05:28:56PM +0800, Yong Zhang wrote:
> Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
> We run all interrupt handlers with interrupts disabled
> and we even check and yell when an interrupt handler
> returns with interrupts enabled (see commit [b738a50a:
> genirq: Warn when handler enables interrupts]).
> 
> So now this flag is a NOOP and can be removed.
> 
> Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
> ---
>  arch/hexagon/kernel/smp.c  |    2 +-
>  arch/hexagon/kernel/time.c |    2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/hexagon/kernel/smp.c b/arch/hexagon/kernel/smp.c
> index 96bf6c2..ad43649 100644
> --- a/arch/hexagon/kernel/smp.c
> +++ b/arch/hexagon/kernel/smp.c
> @@ -136,7 +136,7 @@ void send_ipi(const struct cpumask *cpumask, enum ipi_message_type msg)
>  
>  static struct irqaction ipi_intdesc = {
>  	.handler = handle_ipi,
> -	.flags = IRQF_DISABLED | IRQF_TRIGGER_RISING,
> +	.flags = IRQF_TRIGGER_RISING,
>  	.name = "ipi_handler"
>  };
>  
> diff --git a/arch/hexagon/kernel/time.c b/arch/hexagon/kernel/time.c
> index fc8e95c..a4d7b58 100644
> --- a/arch/hexagon/kernel/time.c
> +++ b/arch/hexagon/kernel/time.c
> @@ -181,7 +181,7 @@ static irqreturn_t timer_interrupt(int irq, void *devid)
>  /*  This should also be pulled from devtree  */
>  static struct irqaction rtos_timer_intdesc = {
>  	.handler = timer_interrupt,
> -	.flags = IRQF_DISABLED | IRQF_TIMER | IRQF_TRIGGER_RISING,
> +	.flags = IRQF_TIMER | IRQF_TRIGGER_RISING,
>  	.name = "rtos_timer"
>  };
>  
> -- 
> 1.7.4.1
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-hexagon" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

-- 

Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

^ permalink raw reply	[flat|nested] 134+ messages in thread

* Re: [PATCH 18/57] sparc: irq: Remove IRQF_DISABLED
  2011-09-21  9:28   ` Yong Zhang
@ 2011-09-21 17:40     ` David Miller
  -1 siblings, 0 replies; 134+ messages in thread
From: David Miller @ 2011-09-21 17:40 UTC (permalink / raw)
  To: yong.zhang0
  Cc: linux-arch, linux-kernel, tglx, joe, paul.gortmaker, sparclinux

From: Yong Zhang <yong.zhang0@gmail.com>
Date: Wed, 21 Sep 2011 17:28:19 +0800

> Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
> We run all interrupt handlers with interrupts disabled
> and we even check and yell when an interrupt handler
> returns with interrupts enabled (see commit [b738a50a:
> genirq: Warn when handler enables interrupts]).
> 
> So now this flag is a NOOP and can be removed.
> 
> Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>

Acked-by: David S. Miller <davem@davemloft.net>

^ permalink raw reply	[flat|nested] 134+ messages in thread

* Re: [PATCH 18/57] sparc: irq: Remove IRQF_DISABLED
@ 2011-09-21 17:40     ` David Miller
  0 siblings, 0 replies; 134+ messages in thread
From: David Miller @ 2011-09-21 17:40 UTC (permalink / raw)
  To: yong.zhang0
  Cc: linux-arch, linux-kernel, tglx, joe, paul.gortmaker, sparclinux

From: Yong Zhang <yong.zhang0@gmail.com>
Date: Wed, 21 Sep 2011 17:28:19 +0800

> Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
> We run all interrupt handlers with interrupts disabled
> and we even check and yell when an interrupt handler
> returns with interrupts enabled (see commit [b738a50a:
> genirq: Warn when handler enables interrupts]).
> 
> So now this flag is a NOOP and can be removed.
> 
> Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>

Acked-by: David S. Miller <davem@davemloft.net>

^ permalink raw reply	[flat|nested] 134+ messages in thread

* Re: [PATCH 39/57] net: irq: Remove IRQF_DISABLED
  2011-09-21  9:28     ` Yong Zhang
  (?)
@ 2011-09-21 17:40     ` David Miller
  -1 siblings, 0 replies; 134+ messages in thread
From: David Miller @ 2011-09-21 17:40 UTC (permalink / raw)
  To: yong.zhang0
  Cc: linux-arch, linux-kernel, tglx, perex, leitao, olof, nico,
	steve.glendinning, geoff, t.sailer, jreuter, klaus.kudielka, jpr,
	samuel, chunkeey, linville, jeffrey.t.kirsher, jpirko, bob.liu,
	grundler, ralf, blogic, marc, lucas.demarchi, joe,
	uclinux-dist-devel, netdev, cbe-oss-dev, linux-hams,
	linux-wireless

From: Yong Zhang <yong.zhang0@gmail.com>
Date: Wed, 21 Sep 2011 17:28:40 +0800

> Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
> We run all interrupt handlers with interrupts disabled
> and we even check and yell when an interrupt handler
> returns with interrupts enabled (see commit [b738a50a:
> genirq: Warn when handler enables interrupts]).
> 
> So now this flag is a NOOP and can be removed.
> 
> Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>

Acked-by: David S. Miller <davem@davemloft.net>

^ permalink raw reply	[flat|nested] 134+ messages in thread

* Re: [PATCH 56/57] hwmon: irq: Remove IRQF_DISABLED
  2011-09-21  9:28   ` [lm-sensors] " Yong Zhang
@ 2011-09-21 19:07     ` Guenter Roeck
  -1 siblings, 0 replies; 134+ messages in thread
From: Guenter Roeck @ 2011-09-21 19:07 UTC (permalink / raw)
  To: Yong Zhang; +Cc: linux-arch, linux-kernel, tglx, Jean Delvare, lm-sensors

On Wed, Sep 21, 2011 at 05:28:57AM -0400, Yong Zhang wrote:
> Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
> We run all interrupt handlers with interrupts disabled
> and we even check and yell when an interrupt handler
> returns with interrupts enabled (see commit [b738a50a:
> genirq: Warn when handler enables interrupts]).
> 
> So now this flag is a NOOP and can be removed.
> 
> Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
> ---
>  drivers/hwmon/exynos4_tmu.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/hwmon/exynos4_tmu.c b/drivers/hwmon/exynos4_tmu.c
> index 0170c90..faa0884 100644
> --- a/drivers/hwmon/exynos4_tmu.c
> +++ b/drivers/hwmon/exynos4_tmu.c
> @@ -394,7 +394,7 @@ static int __devinit exynos4_tmu_probe(struct platform_device *pdev)
>  	}
>  
>  	ret = request_irq(data->irq, exynos4_tmu_irq,
> -		IRQF_DISABLED | IRQF_TRIGGER_RISING,
> +		IRQF_TRIGGER_RISING,
>  		"exynos4-tmu", data);
>  	if (ret) {
>  		dev_err(&pdev->dev, "Failed to request irq: %d\n", data->irq);
> -- 

Applied.

Thanks,
Guenter

^ permalink raw reply	[flat|nested] 134+ messages in thread

* Re: [lm-sensors] [PATCH 56/57] hwmon: irq: Remove IRQF_DISABLED
@ 2011-09-21 19:07     ` Guenter Roeck
  0 siblings, 0 replies; 134+ messages in thread
From: Guenter Roeck @ 2011-09-21 19:07 UTC (permalink / raw)
  To: Yong Zhang; +Cc: linux-arch, linux-kernel, tglx, Jean Delvare, lm-sensors

On Wed, Sep 21, 2011 at 05:28:57AM -0400, Yong Zhang wrote:
> Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
> We run all interrupt handlers with interrupts disabled
> and we even check and yell when an interrupt handler
> returns with interrupts enabled (see commit [b738a50a:
> genirq: Warn when handler enables interrupts]).
> 
> So now this flag is a NOOP and can be removed.
> 
> Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
> ---
>  drivers/hwmon/exynos4_tmu.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/hwmon/exynos4_tmu.c b/drivers/hwmon/exynos4_tmu.c
> index 0170c90..faa0884 100644
> --- a/drivers/hwmon/exynos4_tmu.c
> +++ b/drivers/hwmon/exynos4_tmu.c
> @@ -394,7 +394,7 @@ static int __devinit exynos4_tmu_probe(struct platform_device *pdev)
>  	}
>  
>  	ret = request_irq(data->irq, exynos4_tmu_irq,
> -		IRQF_DISABLED | IRQF_TRIGGER_RISING,
> +		IRQF_TRIGGER_RISING,
>  		"exynos4-tmu", data);
>  	if (ret) {
>  		dev_err(&pdev->dev, "Failed to request irq: %d\n", data->irq);
> -- 

Applied.

Thanks,
Guenter

_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

^ permalink raw reply	[flat|nested] 134+ messages in thread

* Re: [PATCH 43/57] PNP: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 ` [PATCH 43/57] PNP: irq: " Yong Zhang
@ 2011-09-21 20:20   ` Bjorn Helgaas
  0 siblings, 0 replies; 134+ messages in thread
From: Bjorn Helgaas @ 2011-09-21 20:20 UTC (permalink / raw)
  To: Yong Zhang; +Cc: linux-arch, linux-kernel, tglx, Adam Belay

On Wed, Sep 21, 2011 at 3:28 AM, Yong Zhang <yong.zhang0@gmail.com> wrote:
> Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
> We run all interrupt handlers with interrupts disabled
> and we even check and yell when an interrupt handler
> returns with interrupts enabled (see commit [b738a50a:
> genirq: Warn when handler enables interrupts]).
>
> So now this flag is a NOOP and can be removed.
>
> Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>

Acked-by: Bjorn Helgaas <bhelgaas@google.com>

> ---
>  drivers/pnp/resource.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/pnp/resource.c b/drivers/pnp/resource.c
> index b0ecacb..3669821 100644
> --- a/drivers/pnp/resource.c
> +++ b/drivers/pnp/resource.c
> @@ -385,7 +385,7 @@ int pnp_check_irq(struct pnp_dev *dev, struct resource *res)
>         * device is active because it itself may be in use */
>        if (!dev->active) {
>                if (request_irq(*irq, pnp_test_handler,
> -                               IRQF_DISABLED | IRQF_PROBE_SHARED, "pnp", NULL))
> +                               IRQF_PROBE_SHARED, "pnp", NULL))
>                        return 0;
>                free_irq(*irq, NULL);
>        }
> --
> 1.7.4.1
>
>

^ permalink raw reply	[flat|nested] 134+ messages in thread

* Re: [PATCH 49/57] video: irq: Remove IRQF_DISABLED
  2011-09-21  9:28   ` Yong Zhang
  (?)
  (?)
@ 2011-09-21 20:22     ` David Brown
  -1 siblings, 0 replies; 134+ messages in thread
From: David Brown @ 2011-09-21 20:22 UTC (permalink / raw)
  To: Yong Zhang
  Cc: linux-arch, linux-kernel, tglx, Florian Tobias Schandinat,
	David Brown, Daniel Walker, Bryan Huntsman, Wan ZongShun,
	Tomi Valkeinen, Geoff Levand, Ben Dooks, Kukjin Kim,
	Anatolij Gustschin, Paul Gortmaker, Andrew Morton,
	Laurent Pinchart, Jiri Kosina, Archit Taneja, linux-fbdev,
	linux-arm-msm, linux-arm-kernel, linux-omap, linuxppc-dev,
	cbe-oss-dev

On Wed, Sep 21, 2011 at 05:28:50PM +0800, Yong Zhang wrote:
> Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
> We run all interrupt handlers with interrupts disabled
> and we even check and yell when an interrupt handler
> returns with interrupts enabled (see commit [b738a50a:
> genirq: Warn when handler enables interrupts]).
> 
> So now this flag is a NOOP and can be removed.
> 
> Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
> ---
>  drivers/video/msm/mddi.c                  |    2 +-
>  drivers/video/msm/mdp.c                   |    2 +-

Acked-by: David Brown <davidb@codeaurora.org>

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

^ permalink raw reply	[flat|nested] 134+ messages in thread

* Re: [PATCH 49/57] video: irq: Remove IRQF_DISABLED
@ 2011-09-21 20:22     ` David Brown
  0 siblings, 0 replies; 134+ messages in thread
From: David Brown @ 2011-09-21 20:22 UTC (permalink / raw)
  To: Yong Zhang
  Cc: linux-arch, linux-kernel, tglx, Florian Tobias Schandinat,
	David Brown, Daniel Walker, Bryan Huntsman, Wan ZongShun,
	Tomi Valkeinen, Geoff Levand, Ben Dooks, Kukjin Kim,
	Anatolij Gustschin, Paul Gortmaker, Andrew Morton,
	Laurent Pinchart, Jiri Kosina, Archit Taneja, linux-fbdev,
	linux-arm-msm, linux-arm-kernel, linux-omap, linuxppc-dev,
	cbe-oss-dev

On Wed, Sep 21, 2011 at 05:28:50PM +0800, Yong Zhang wrote:
> Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
> We run all interrupt handlers with interrupts disabled
> and we even check and yell when an interrupt handler
> returns with interrupts enabled (see commit [b738a50a:
> genirq: Warn when handler enables interrupts]).
> 
> So now this flag is a NOOP and can be removed.
> 
> Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
> ---
>  drivers/video/msm/mddi.c                  |    2 +-
>  drivers/video/msm/mdp.c                   |    2 +-

Acked-by: David Brown <davidb@codeaurora.org>

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

^ permalink raw reply	[flat|nested] 134+ messages in thread

* Re: [PATCH 49/57] video: irq: Remove IRQF_DISABLED
@ 2011-09-21 20:22     ` David Brown
  0 siblings, 0 replies; 134+ messages in thread
From: David Brown @ 2011-09-21 20:22 UTC (permalink / raw)
  To: Yong Zhang
  Cc: linux-fbdev, Paul Gortmaker, Laurent Pinchart, Daniel Walker,
	linux-arch, Kukjin Kim, Florian Tobias Schandinat,
	Tomi Valkeinen, Archit Taneja, David Brown, Anatolij Gustschin,
	cbe-oss-dev, Wan ZongShun, linux-arm-msm, Ben Dooks, tglx,
	linux-omap, linux-arm-kernel, Geoff Levand, Jiri Kosina,
	linux-kernel, Bryan Huntsman, Andrew Morton, linuxppc-dev

On Wed, Sep 21, 2011 at 05:28:50PM +0800, Yong Zhang wrote:
> Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
> We run all interrupt handlers with interrupts disabled
> and we even check and yell when an interrupt handler
> returns with interrupts enabled (see commit [b738a50a:
> genirq: Warn when handler enables interrupts]).
> 
> So now this flag is a NOOP and can be removed.
> 
> Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
> ---
>  drivers/video/msm/mddi.c                  |    2 +-
>  drivers/video/msm/mdp.c                   |    2 +-

Acked-by: David Brown <davidb@codeaurora.org>

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

^ permalink raw reply	[flat|nested] 134+ messages in thread

* [PATCH 49/57] video: irq: Remove IRQF_DISABLED
@ 2011-09-21 20:22     ` David Brown
  0 siblings, 0 replies; 134+ messages in thread
From: David Brown @ 2011-09-21 20:22 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Sep 21, 2011 at 05:28:50PM +0800, Yong Zhang wrote:
> Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
> We run all interrupt handlers with interrupts disabled
> and we even check and yell when an interrupt handler
> returns with interrupts enabled (see commit [b738a50a:
> genirq: Warn when handler enables interrupts]).
> 
> So now this flag is a NOOP and can be removed.
> 
> Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
> ---
>  drivers/video/msm/mddi.c                  |    2 +-
>  drivers/video/msm/mdp.c                   |    2 +-

Acked-by: David Brown <davidb@codeaurora.org>

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

^ permalink raw reply	[flat|nested] 134+ messages in thread

* Re: [PATCH 55/57] hexagon: irq: Remove IRQF_DISABLED
  2011-09-21 15:35   ` Richard Kuo
@ 2011-09-22  8:08     ` Yong Zhang
  0 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-09-22  8:08 UTC (permalink / raw)
  To: Richard Kuo
  Cc: linux-arch, linux-kernel, tglx, Linas Vepstas, Arnd Bergmann,
	linux-hexagon

On Wed, Sep 21, 2011 at 10:35:38AM -0500, Richard Kuo wrote:
> Thanks!  I already had that timer fixed in my tree, but I had left out the
> IPI flag.  I will make sure this goes into the next patch series.

Thanks.

I'll drop this patch in my next resending.

Thanks,
Yong

> 
> 
> Thanks again, 
> Richard Kuo
> 
> 
> On Wed, Sep 21, 2011 at 05:28:56PM +0800, Yong Zhang wrote:
> > Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
> > We run all interrupt handlers with interrupts disabled
> > and we even check and yell when an interrupt handler
> > returns with interrupts enabled (see commit [b738a50a:
> > genirq: Warn when handler enables interrupts]).
> > 
> > So now this flag is a NOOP and can be removed.
> > 
> > Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
> > ---
> >  arch/hexagon/kernel/smp.c  |    2 +-
> >  arch/hexagon/kernel/time.c |    2 +-
> >  2 files changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/arch/hexagon/kernel/smp.c b/arch/hexagon/kernel/smp.c
> > index 96bf6c2..ad43649 100644
> > --- a/arch/hexagon/kernel/smp.c
> > +++ b/arch/hexagon/kernel/smp.c
> > @@ -136,7 +136,7 @@ void send_ipi(const struct cpumask *cpumask, enum ipi_message_type msg)
> >  
> >  static struct irqaction ipi_intdesc = {
> >  	.handler = handle_ipi,
> > -	.flags = IRQF_DISABLED | IRQF_TRIGGER_RISING,
> > +	.flags = IRQF_TRIGGER_RISING,
> >  	.name = "ipi_handler"
> >  };
> >  
> > diff --git a/arch/hexagon/kernel/time.c b/arch/hexagon/kernel/time.c
> > index fc8e95c..a4d7b58 100644
> > --- a/arch/hexagon/kernel/time.c
> > +++ b/arch/hexagon/kernel/time.c
> > @@ -181,7 +181,7 @@ static irqreturn_t timer_interrupt(int irq, void *devid)
> >  /*  This should also be pulled from devtree  */
> >  static struct irqaction rtos_timer_intdesc = {
> >  	.handler = timer_interrupt,
> > -	.flags = IRQF_DISABLED | IRQF_TIMER | IRQF_TRIGGER_RISING,
> > +	.flags = IRQF_TIMER | IRQF_TRIGGER_RISING,
> >  	.name = "rtos_timer"
> >  };
> >  
> > -- 
> > 1.7.4.1
> > 
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-hexagon" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> -- 
> 
> Sent by an employee of the Qualcomm Innovation Center, Inc.
> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

-- 
Only stand for myself

^ permalink raw reply	[flat|nested] 134+ messages in thread

* Re: [PATCH 53/57] sound: irq: Remove IRQF_DISABLED
  2011-09-21  9:55       ` Thomas Gleixner
  (?)
@ 2011-09-22  9:42         ` Takashi Iwai
  -1 siblings, 0 replies; 134+ messages in thread
From: Takashi Iwai @ 2011-09-22  9:42 UTC (permalink / raw)
  To: Thomas Gleixner
  Cc: alsa-devel, Kuninori Morimoto, Clemens Ladisch, Jaroslav Kysela,
	Peter Ujfalusi, Paul Gortmaker, linux-arch, Russell King,
	Jassi Brar, Manuel Lauss, Uwe Kleine-König, Axel Lin,
	Liam Girdwood, cbe-oss-dev, Wan ZongShun, Lucas De Marchi,
	Yong Zhang, linux-arm-kernel, Grant Likely, Eric Miao,
	Geoff Levand, Jiri Kosina, Mark Brown

At Wed, 21 Sep 2011 11:55:36 +0200 (CEST),
Thomas Gleixner wrote:
> 
> > > We run all interrupt handlers with interrupts disabled
> > > and we even check and yell when an interrupt handler
> > > returns with interrupts enabled (see commit [b738a50a:
> > > genirq: Warn when handler enables interrupts]).
> > > 
> > > So now this flag is a NOOP and can be removed.
> > > 
> > > Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
> > > Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
> > 
> > Do you want to merge by yourself or shall I take it to sound git tree?
> > Since IRQF_DISABLED isn't used, it can be applied safely in 3.1-based
> > tree, right?
> 
> Yes, please go ahead. I'll pick up the leftovers.

OK, I applied Yong's (fixed) patch now to sound git tree.


thanks,

Takashi

^ permalink raw reply	[flat|nested] 134+ messages in thread

* Re: [PATCH 53/57] sound: irq: Remove IRQF_DISABLED
@ 2011-09-22  9:42         ` Takashi Iwai
  0 siblings, 0 replies; 134+ messages in thread
From: Takashi Iwai @ 2011-09-22  9:42 UTC (permalink / raw)
  To: Thomas Gleixner
  Cc: alsa-devel, Kuninori Morimoto, Clemens Ladisch, Jaroslav Kysela,
	Peter Ujfalusi, Paul Gortmaker, linux-arch, Russell King,
	Jassi Brar, Manuel Lauss, Uwe Kleine-König, Axel Lin,
	Liam Girdwood, cbe-oss-dev, Wan ZongShun, Lucas De Marchi,
	Yong Zhang, linux-arm-kernel, Eric Miao, Geoff Levand,
	Jiri Kosina, Mark Brown, linux-kernel, Sangbeom Kim, Paul Mundt,
	Simon Horman, Joe Perches, Jarkko Nikula, linuxppc-dev

At Wed, 21 Sep 2011 11:55:36 +0200 (CEST),
Thomas Gleixner wrote:
> 
> > > We run all interrupt handlers with interrupts disabled
> > > and we even check and yell when an interrupt handler
> > > returns with interrupts enabled (see commit [b738a50a:
> > > genirq: Warn when handler enables interrupts]).
> > > 
> > > So now this flag is a NOOP and can be removed.
> > > 
> > > Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
> > > Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
> > 
> > Do you want to merge by yourself or shall I take it to sound git tree?
> > Since IRQF_DISABLED isn't used, it can be applied safely in 3.1-based
> > tree, right?
> 
> Yes, please go ahead. I'll pick up the leftovers.

OK, I applied Yong's (fixed) patch now to sound git tree.


thanks,

Takashi

^ permalink raw reply	[flat|nested] 134+ messages in thread

* [PATCH 53/57] sound: irq: Remove IRQF_DISABLED
@ 2011-09-22  9:42         ` Takashi Iwai
  0 siblings, 0 replies; 134+ messages in thread
From: Takashi Iwai @ 2011-09-22  9:42 UTC (permalink / raw)
  To: linux-arm-kernel

At Wed, 21 Sep 2011 11:55:36 +0200 (CEST),
Thomas Gleixner wrote:
> 
> > > We run all interrupt handlers with interrupts disabled
> > > and we even check and yell when an interrupt handler
> > > returns with interrupts enabled (see commit [b738a50a:
> > > genirq: Warn when handler enables interrupts]).
> > > 
> > > So now this flag is a NOOP and can be removed.
> > > 
> > > Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
> > > Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
> > 
> > Do you want to merge by yourself or shall I take it to sound git tree?
> > Since IRQF_DISABLED isn't used, it can be applied safely in 3.1-based
> > tree, right?
> 
> Yes, please go ahead. I'll pick up the leftovers.

OK, I applied Yong's (fixed) patch now to sound git tree.


thanks,

Takashi

^ permalink raw reply	[flat|nested] 134+ messages in thread

* Re: [PATCH 37/57] mmc: irq: Remove IRQF_DISABLED
  2011-09-21  9:28 ` [PATCH 37/57] mmc: irq: " Yong Zhang
  2011-09-21 10:16   ` Guennadi Liakhovetski
@ 2011-09-22 14:50   ` Kadiyala, Kishore
  1 sibling, 0 replies; 134+ messages in thread
From: Kadiyala, Kishore @ 2011-09-22 14:50 UTC (permalink / raw)
  To: Yong Zhang
  Cc: linux-arch, linux-kernel, tglx, Chris Ball,
	Guennadi Liakhovetski, Ian Molton, Tony Lindgren, Adrian Hunter,
	Balaji T K, linux-omap, linux-mmc

On Wed, Sep 21, 2011 at 2:58 PM, Yong Zhang <yong.zhang0@gmail.com> wrote:
> Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled],
> We run all interrupt handlers with interrupts disabled
> and we even check and yell when an interrupt handler
> returns with interrupts enabled (see commit [b738a50a:
> genirq: Warn when handler enables interrupts]).
>
> So now this flag is a NOOP and can be removed.
>
> Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>

For omap_hsmmc.c

Acked-by: Kishore Kadiyala <kishore.kadiyala@ti.com>

> ---
>  drivers/mmc/host/omap_hsmmc.c |    5 ++---
>  drivers/mmc/host/tmio_mmc.c   |    4 ++--
>  2 files changed, 4 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
> index 21e4a79..75c6395 100644
> --- a/drivers/mmc/host/omap_hsmmc.c
> +++ b/drivers/mmc/host/omap_hsmmc.c
> @@ -2015,7 +2015,7 @@ static int __init omap_hsmmc_probe(struct platform_device *pdev)
>        }
>
>        /* Request IRQ for MMC operations */
> -       ret = request_irq(host->irq, omap_hsmmc_irq, IRQF_DISABLED,
> +       ret = request_irq(host->irq, omap_hsmmc_irq, 0,
>                        mmc_hostname(mmc), host);
>        if (ret) {
>                dev_dbg(mmc_dev(host->mmc), "Unable to grab HSMMC IRQ\n");
> @@ -2043,8 +2043,7 @@ static int __init omap_hsmmc_probe(struct platform_device *pdev)
>        if ((mmc_slot(host).card_detect_irq)) {
>                ret = request_irq(mmc_slot(host).card_detect_irq,
>                                  omap_hsmmc_cd_handler,
> -                                 IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING
> -                                         | IRQF_DISABLED,
> +                                 IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,
>                                  mmc_hostname(mmc), host);
>                if (ret) {
>                        dev_dbg(mmc_dev(host->mmc),
> diff --git a/drivers/mmc/host/tmio_mmc.c b/drivers/mmc/host/tmio_mmc.c
> index 44a9668..a4ea102 100644
> --- a/drivers/mmc/host/tmio_mmc.c
> +++ b/drivers/mmc/host/tmio_mmc.c
> @@ -88,8 +88,8 @@ static int __devinit tmio_mmc_probe(struct platform_device *pdev)
>        if (ret)
>                goto cell_disable;
>
> -       ret = request_irq(irq, tmio_mmc_irq, IRQF_DISABLED |
> -                         IRQF_TRIGGER_FALLING, dev_name(&pdev->dev), host);
> +       ret = request_irq(irq, tmio_mmc_irq, IRQF_TRIGGER_FALLING,
> +                               dev_name(&pdev->dev), host);
>        if (ret)
>                goto host_remove;
>
> --
> 1.7.4.1
>
>

^ permalink raw reply	[flat|nested] 134+ messages in thread

* Re: [PATCH 54/57] Documentation: irq: Change documents related to IRQF_DISABLED
  2011-09-21  9:28 ` [PATCH 54/57] Documentation: irq: Change documents related to IRQF_DISABLED Yong Zhang
@ 2011-09-28 22:33   ` Bjorn Helgaas
  2011-10-08  2:34     ` Yong Zhang
  0 siblings, 1 reply; 134+ messages in thread
From: Bjorn Helgaas @ 2011-09-28 22:33 UTC (permalink / raw)
  To: Yong Zhang
  Cc: linux-arch, linux-kernel, tglx, Jesse Barnes, Randy Dunlap,
	linux-pci, linux-doc

On Wed, Sep 21, 2011 at 3:28 AM, Yong Zhang <yong.zhang0@gmail.com> wrote:
> IRQF_DISABLED is a NOOP now, place where suggest to use this
> flag also doesn't make sense any more.
>
> Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>

I assume this will be applied via some non-PCI tree (let me know if
otherwise).  The MSI-HOWTO.txt change looks fine to me.

> --- a/Documentation/scsi/ncr53c8xx.txt
> +++ b/Documentation/scsi/ncr53c8xx.txt
> @@ -786,7 +786,9 @@ port address 0x1400.
>         irqm:1     same as initial settings (assumed BIOS settings)
>         irqm:2     always totem pole
>         irqm:0x10  driver will not use IRQF_SHARED flag when requesting irq
> -        irqm:0x20  driver will not use IRQF_DISABLED flag when requesting irq
> +        irqm:0x20  driver will not use IRQF_DISABLED (does not make sense
> +                  any more since genirq will keep irq disabled and the flag
> +                  is dead from linux-2.6.35) flag when requesting irq
>
>     (Bits 0x10 and 0x20 can be combined with hardware irq mode option)

The new text doesn't make sense to me.  I think it should say something like:

    irqm:0x20  driver will not use IRQF_DISABLED flag when requesting
irq (only useful for linux-2.6.34 and earlier)

Bjorn

^ permalink raw reply	[flat|nested] 134+ messages in thread

* Re: [PATCH 54/57] Documentation: irq: Change documents related to IRQF_DISABLED
  2011-09-28 22:33   ` Bjorn Helgaas
@ 2011-10-08  2:34     ` Yong Zhang
  0 siblings, 0 replies; 134+ messages in thread
From: Yong Zhang @ 2011-10-08  2:34 UTC (permalink / raw)
  To: Bjorn Helgaas
  Cc: linux-arch, linux-kernel, tglx, Jesse Barnes, Randy Dunlap,
	linux-pci, linux-doc

On Wed, Sep 28, 2011 at 04:33:08PM -0600, Bjorn Helgaas wrote:
> On Wed, Sep 21, 2011 at 3:28 AM, Yong Zhang <yong.zhang0@gmail.com> wrote:
> > IRQF_DISABLED is a NOOP now, place where suggest to use this
> > flag also doesn't make sense any more.
> >
> > Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
> 
> I assume this will be applied via some non-PCI tree (let me know if
> otherwise).  The MSI-HOWTO.txt change looks fine to me.

(Sorry for my late response because of long vacation)

So if you could pick it up, just go ahead, otherwise tglx will
take it :)

> 
> > --- a/Documentation/scsi/ncr53c8xx.txt
> > +++ b/Documentation/scsi/ncr53c8xx.txt
> > @@ -786,7 +786,9 @@ port address 0x1400.
> > ? ? ? ? irqm:1 ? ? same as initial settings (assumed BIOS settings)
> > ? ? ? ? irqm:2 ? ? always totem pole
> > ? ? ? ? irqm:0x10 ?driver will not use IRQF_SHARED flag when requesting irq
> > - ? ? ? ?irqm:0x20 ?driver will not use IRQF_DISABLED flag when requesting irq
> > + ? ? ? ?irqm:0x20 ?driver will not use IRQF_DISABLED (does not make sense
> > + ? ? ? ? ? ? ? ? ?any more since genirq will keep irq disabled and the flag
> > + ? ? ? ? ? ? ? ? ?is dead from linux-2.6.35) flag when requesting irq
> >
> > ? ? (Bits 0x10 and 0x20 can be combined with hardware irq mode option)
> 
> The new text doesn't make sense to me.  I think it should say something like:
> 
>     irqm:0x20  driver will not use IRQF_DISABLED flag when requesting
> irq (only useful for linux-2.6.34 and earlier)

Hmmm, it seems more simple :)
Will update it. Thanks for your idea.

Yong


^ permalink raw reply	[flat|nested] 134+ messages in thread

end of thread, other threads:[~2011-10-08  2:35 UTC | newest]

Thread overview: 134+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-09-21  9:28 [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang
2011-09-21  9:28 ` [PATCH 01/57] usb/hcd: Remove tricky code dealing with IRQF_DISABLED && IRQF_SHARED Yong Zhang
2011-09-21  9:28 ` [PATCH 02/57] alpha: irq: Remove IRQF_DISABLED Yong Zhang
2011-09-21  9:28 ` [PATCH 04/57] avr32: " Yong Zhang
2011-09-21  9:28 ` [PATCH 05/57] cris: " Yong Zhang
2011-09-21  9:28 ` [PATCH 06/57] frv: " Yong Zhang
2011-09-21  9:28 ` [PATCH 07/57] h8300: " Yong Zhang
2011-09-21  9:28 ` [PATCH 08/57] ia64: " Yong Zhang
2011-09-21  9:28   ` Yong Zhang
2011-09-21  9:28 ` [PATCH 09/57] m32r: " Yong Zhang
2011-09-21  9:28 ` [PATCH 10/57] m68k: " Yong Zhang
2011-09-21  9:28 ` Yong Zhang
2011-09-21  9:28   ` Yong Zhang
2011-09-21  9:28 ` [PATCH 11/57] microblaze: " Yong Zhang
2011-09-21  9:28 ` [PATCH 12/57] MIPS: " Yong Zhang
2011-09-21  9:28   ` Yong Zhang
2011-09-21  9:28 ` [PATCH 13/57] mn10300: " Yong Zhang
2011-09-21  9:28 ` [PATCH 14/57] parisc: irq: remove IRQF_DISABLED Yong Zhang
2011-09-21  9:28 ` [PATCH 15/57] powerpc: irq: Remove IRQF_DISABLED Yong Zhang
2011-09-21  9:28   ` Yong Zhang
2011-09-21  9:28 ` [PATCH 16/57] score: " Yong Zhang
2011-09-21  9:28 ` [PATCH 17/57] SH: " Yong Zhang
2011-09-21  9:28   ` Yong Zhang
2011-09-21  9:28 ` [PATCH 18/57] sparc: " Yong Zhang
2011-09-21  9:28   ` Yong Zhang
2011-09-21 17:40   ` David Miller
2011-09-21 17:40     ` David Miller
2011-09-21  9:28 ` [PATCH 19/57] um: " Yong Zhang
2011-09-21  9:28 ` [PATCH 20/57] unicore32: " Yong Zhang
2011-09-21  9:28 ` [PATCH 21/57] x86: irq: " Yong Zhang
2011-09-21  9:28   ` Yong Zhang
2011-09-21  9:28 ` [PATCH 22/57] xtensa: " Yong Zhang
2011-09-21  9:28 ` [PATCH 23/57] clocksource: " Yong Zhang
2011-09-21  9:28 ` [PATCH 24/57] SCSI: " Yong Zhang
2011-09-21  9:28   ` Yong Zhang
2011-09-21  9:28 ` [PATCH 25/57] ata: " Yong Zhang
2011-09-21 10:35   ` Wolfram Sang
2011-09-21  9:28 ` [PATCH 26/57] block: " Yong Zhang
2011-09-21  9:28 ` [PATCH 27/57] cdrom: " Yong Zhang
2011-09-21  9:28 ` [PATCH 28/57] driver/char: " Yong Zhang
2011-09-21  9:28   ` Yong Zhang
2011-09-21  9:28 ` [PATCH 29/57] crypto: " Yong Zhang
2011-09-21  9:28   ` Yong Zhang
2011-09-21  9:28 ` [PATCH 30/57] dmaengine: " Yong Zhang
2011-09-21  9:28   ` Yong Zhang
2011-09-21  9:28 ` [PATCH 31/57] EDAC: " Yong Zhang
2011-09-21  9:28 ` [PATCH 32/57] i2c: " Yong Zhang
2011-09-21  9:28   ` Yong Zhang
2011-09-21  9:28   ` Yong Zhang
2011-09-21  9:28 ` [PATCH 33/57] infiniband: " Yong Zhang
2011-09-21  9:28 ` [PATCH 34/57] ISDN: " Yong Zhang
2011-09-21  9:28 ` [PATCH 36/57] drivers:misc:irq: " Yong Zhang
2011-09-21  9:28 ` [PATCH 37/57] mmc: irq: " Yong Zhang
2011-09-21 10:16   ` Guennadi Liakhovetski
2011-09-22 14:50   ` Kadiyala, Kishore
2011-09-21  9:28 ` [PATCH 38/57] mtd: " Yong Zhang
2011-09-21  9:28   ` Yong Zhang
     [not found] ` <1316597339-29861-1-git-send-email-yong.zhang0-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-09-21  9:28   ` [PATCH 39/57] net: " Yong Zhang
2011-09-21  9:28     ` Yong Zhang
2011-09-21 17:40     ` David Miller
2011-09-21  9:28 ` [PATCH 40/57] dirvers/parisc: " Yong Zhang
2011-09-21 10:07   ` James Bottomley
2011-09-21 12:07     ` Yong Zhang
2011-09-21  9:28 ` [PATCH 41/57] pcmcia: " Yong Zhang
2011-09-21  9:28   ` Yong Zhang
2011-09-21  9:28 ` [PATCH 42/57] sony-laptop:irq: " Yong Zhang
2011-09-21  9:28 ` [PATCH 43/57] PNP: irq: " Yong Zhang
2011-09-21 20:20   ` Bjorn Helgaas
2011-09-21  9:28 ` [PATCH 44/57] power_supply:irq: " Yong Zhang
2011-09-21  9:28 ` [PATCH 45/57] powerpc/ps3: irq: " Yong Zhang
2011-09-21  9:28   ` Yong Zhang
2011-09-21  9:28 ` [PATCH 46/57] rtc: " Yong Zhang
2011-09-21  9:28   ` Yong Zhang
2011-09-21  9:28   ` Yong Zhang
2011-09-21  9:52   ` Wan ZongShun
2011-09-21  9:52     ` Wan ZongShun
2011-09-21  9:52     ` Wan ZongShun
2011-09-21 10:31   ` [rtc-linux] " Wolfram Sang
2011-09-21 10:31     ` Wolfram Sang
2011-09-21  9:28 ` [PATCH 47/57] spi: " Yong Zhang
2011-09-21  9:28   ` Yong Zhang
2011-09-21  9:28 ` [PATCH 48/57] TTY: " Yong Zhang
2011-09-21  9:28   ` Yong Zhang
2011-09-21  9:28 ` [PATCH 49/57] video: " Yong Zhang
2011-09-21  9:28   ` Yong Zhang
2011-09-21  9:28   ` Yong Zhang
2011-09-21  9:28   ` Yong Zhang
2011-09-21 20:22   ` David Brown
2011-09-21 20:22     ` David Brown
2011-09-21 20:22     ` David Brown
2011-09-21 20:22     ` David Brown
2011-09-21  9:28 ` [PATCH 50/57] w1: " Yong Zhang
2011-09-21 10:06   ` Evgeniy Polyakov
2011-09-21  9:28 ` [PATCH 51/57] watchdog: " Yong Zhang
2011-09-21  9:28   ` Yong Zhang
2011-09-21  9:28 ` [PATCH 52/57] xen: " Yong Zhang
2011-09-21  9:28   ` Yong Zhang
2011-09-21  9:28 ` [PATCH 53/57] sound: " Yong Zhang
2011-09-21  9:28   ` Yong Zhang
2011-09-21  9:28   ` Yong Zhang
2011-09-21  9:52   ` Takashi Iwai
2011-09-21  9:52     ` Takashi Iwai
2011-09-21  9:52     ` Takashi Iwai
2011-09-21  9:55     ` Thomas Gleixner
2011-09-21  9:55       ` Thomas Gleixner
2011-09-21  9:55       ` Thomas Gleixner
2011-09-21 12:12       ` Yong Zhang
2011-09-21 12:12         ` Yong Zhang
2011-09-21 12:12         ` Yong Zhang
2011-09-22  9:42       ` Takashi Iwai
2011-09-22  9:42         ` Takashi Iwai
2011-09-22  9:42         ` Takashi Iwai
2011-09-21 12:10     ` Yong Zhang
2011-09-21 12:10       ` Yong Zhang
2011-09-21 12:10       ` Yong Zhang
2011-09-21 10:21   ` Ujfalusi, Peter
2011-09-21 10:21     ` Ujfalusi, Peter
2011-09-21 10:21     ` Ujfalusi, Peter
2011-09-21  9:28 ` [PATCH 54/57] Documentation: irq: Change documents related to IRQF_DISABLED Yong Zhang
2011-09-28 22:33   ` Bjorn Helgaas
2011-10-08  2:34     ` Yong Zhang
2011-09-21  9:28 ` [PATCH 55/57] hexagon: irq: Remove IRQF_DISABLED Yong Zhang
2011-09-21 15:35   ` Richard Kuo
2011-09-22  8:08     ` Yong Zhang
2011-09-21  9:28 ` [PATCH 56/57] hwmon: " Yong Zhang
2011-09-21  9:28   ` [lm-sensors] " Yong Zhang
2011-09-21 19:07   ` Guenter Roeck
2011-09-21 19:07     ` [lm-sensors] " Guenter Roeck
2011-09-21  9:28 ` [PATCH 57/57] genirq: " Yong Zhang
     [not found] ` <1316597339-29861-36-git-send-email-yong.zhang0@gmail.com>
2011-09-21 10:16   ` [PATCH 35/57] media: irq: " Guennadi Liakhovetski
2011-09-21 10:27   ` Wolfram Sang
2011-09-21 12:13     ` Yong Zhang
     [not found]   ` <4E79DF04.8060209@infradead.org>
2011-09-21 13:02     ` Thomas Gleixner
2011-09-21 12:27 ` [PATCH V1 00/57] Tree wide: cleanup IRQF_DISABLED Yong Zhang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.