LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [patch 0/3] Scheduled removal of SA_xxx interrupt flags 
@ 2007-01-14  8:33 Thomas Gleixner
  2007-01-14  8:33 ` [patch 1/3] " Thomas Gleixner
                   ` (2 more replies)
  0 siblings, 3 replies; 15+ messages in thread
From: Thomas Gleixner @ 2007-01-14  8:33 UTC (permalink / raw)
  To: LKML; +Cc: Andrew Morton, Ingo Molnar

Andrew,

the following series removes the deprecated SA_xx interrupt flags as scheduled.
There are some new users of those flags since the initial cleanup patch. The
fixup of those users is split into two parts:
 1) mainline fixups
 2) -mm fixups

    tglx

-- 


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

* [patch 1/3] Scheduled removal of SA_xxx interrupt flags
  2007-01-14  8:33 [patch 0/3] Scheduled removal of SA_xxx interrupt flags Thomas Gleixner
@ 2007-01-14  8:33 ` Thomas Gleixner
  2007-01-23 20:02   ` Andrew Morton
  2007-01-14  8:33 ` [patch 2/3] Scheduled removal of SA_xxx interrupt flags fixups Thomas Gleixner
  2007-01-14  8:33 ` [patch-mm 3/3] Scheduled removal of SA_xxx interrupt flags fixups 2 (mm) Thomas Gleixner
  2 siblings, 1 reply; 15+ messages in thread
From: Thomas Gleixner @ 2007-01-14  8:33 UTC (permalink / raw)
  To: LKML; +Cc: Andrew Morton, Ingo Molnar

[-- Attachment #1: sa-irqflags-scheduled-feature-removal.patch --]
[-- Type: text/plain, Size: 1871 bytes --]

The name space cleanup of the interrupt request flags (SA_xxx -> IRQF_xxx)
left a 6 month grace period for the old deprecated flags. Remove them.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Index: linux-2.6.20-rc3-mm1/Documentation/feature-removal-schedule.txt
===================================================================
--- linux-2.6.20-rc3-mm1.orig/Documentation/feature-removal-schedule.txt
+++ linux-2.6.20-rc3-mm1/Documentation/feature-removal-schedule.txt
@@ -182,15 +182,6 @@ Who:	Nick Piggin <npiggin@suse.de>
 
 ---------------------------
 
-What:	Interrupt only SA_* flags
-When:	Januar 2007
-Why:	The interrupt related SA_* flags are replaced by IRQF_* to move them
-	out of the signal namespace.
-
-Who:	Thomas Gleixner <tglx@linutronix.de>
-
----------------------------
-
 What:	PHYSDEVPATH, PHYSDEVBUS, PHYSDEVDRIVER in the uevent environment
 When:	October 2008
 Why:	The stacking of class devices makes these values misleading and
Index: linux-2.6.20-rc3-mm1/include/linux/interrupt.h
===================================================================
--- linux-2.6.20-rc3-mm1.orig/include/linux/interrupt.h
+++ linux-2.6.20-rc3-mm1/include/linux/interrupt.h
@@ -49,22 +49,6 @@
 #define IRQF_TIMER		0x00000200
 #define IRQF_PERCPU		0x00000400
 
-/*
- * Migration helpers. Scheduled for removal in 1/2007
- * Do not use for new code !
- */
-#define SA_INTERRUPT		IRQF_DISABLED
-#define SA_SAMPLE_RANDOM	IRQF_SAMPLE_RANDOM
-#define SA_SHIRQ		IRQF_SHARED
-#define SA_PROBEIRQ		IRQF_PROBE_SHARED
-#define SA_PERCPU		IRQF_PERCPU
-
-#define SA_TRIGGER_LOW		IRQF_TRIGGER_LOW
-#define SA_TRIGGER_HIGH		IRQF_TRIGGER_HIGH
-#define SA_TRIGGER_FALLING	IRQF_TRIGGER_FALLING
-#define SA_TRIGGER_RISING	IRQF_TRIGGER_RISING
-#define SA_TRIGGER_MASK		IRQF_TRIGGER_MASK
-
 typedef irqreturn_t (*irq_handler_t)(int, void *);
 
 struct irqaction {

-- 


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

* [patch 2/3] Scheduled removal of SA_xxx interrupt flags fixups
  2007-01-14  8:33 [patch 0/3] Scheduled removal of SA_xxx interrupt flags Thomas Gleixner
  2007-01-14  8:33 ` [patch 1/3] " Thomas Gleixner
@ 2007-01-14  8:33 ` Thomas Gleixner
  2007-01-14 12:42   ` Ingo Molnar
  2007-01-14  8:33 ` [patch-mm 3/3] Scheduled removal of SA_xxx interrupt flags fixups 2 (mm) Thomas Gleixner
  2 siblings, 1 reply; 15+ messages in thread
From: Thomas Gleixner @ 2007-01-14  8:33 UTC (permalink / raw)
  To: LKML; +Cc: Andrew Morton, Ingo Molnar

[-- Attachment #1: sa-irqflags-scheduled-feature-removal-fix-users.patch --]
[-- Type: text/plain, Size: 18502 bytes --]

The obsolete SA_xxx interrupt flags have been used despite the scheduled
removal. Fixup the remaining users.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Index: linux-2.6.20-rc5/kernel/irq/manage.c
===================================================================
--- linux-2.6.20-rc5.orig/kernel/irq/manage.c
+++ linux-2.6.20-rc5/kernel/irq/manage.c
@@ -442,7 +442,7 @@ int request_irq(unsigned int irq, irq_ha
 	/*
 	 * Lockdep wants atomic interrupt handlers:
 	 */
-	irqflags |= SA_INTERRUPT;
+	irqflags |= IRQF_DISABLED;
 #endif
 	/*
 	 * Sanity-check: shared interrupts must pass in a real dev-ID,
Index: linux-2.6.20-rc5/drivers/usb/host/ohci-ep93xx.c
===================================================================
--- linux-2.6.20-rc5.orig/drivers/usb/host/ohci-ep93xx.c
+++ linux-2.6.20-rc5/drivers/usb/host/ohci-ep93xx.c
@@ -78,7 +78,7 @@ static int usb_hcd_ep93xx_probe(const st
 
 	ohci_hcd_init(hcd_to_ohci(hcd));
 
-	retval = usb_add_hcd(hcd, pdev->resource[1].start, SA_INTERRUPT);
+	retval = usb_add_hcd(hcd, pdev->resource[1].start, IRQF_DISABLED);
 	if (retval == 0)
 		return retval;
 
Index: linux-2.6.20-rc5/drivers/usb/host/ohci-pnx4008.c
===================================================================
--- linux-2.6.20-rc5.orig/drivers/usb/host/ohci-pnx4008.c
+++ linux-2.6.20-rc5/drivers/usb/host/ohci-pnx4008.c
@@ -421,7 +421,7 @@ static int __devinit usb_hcd_pnx4008_pro
 	ohci_hcd_init(ohci);
 
 	dev_info(&pdev->dev, "at 0x%p, irq %d\n", hcd->regs, hcd->irq);
-	ret = usb_add_hcd(hcd, irq, SA_INTERRUPT);
+	ret = usb_add_hcd(hcd, irq, IRQF_DISABLED);
 	if (ret == 0)
 		return ret;
 
Index: linux-2.6.20-rc5/drivers/usb/host/ohci-pnx8550.c
===================================================================
--- linux-2.6.20-rc5.orig/drivers/usb/host/ohci-pnx8550.c
+++ linux-2.6.20-rc5/drivers/usb/host/ohci-pnx8550.c
@@ -107,7 +107,7 @@ int usb_hcd_pnx8550_probe (const struct 
 
 	ohci_hcd_init(hcd_to_ohci(hcd));
 
-	retval = usb_add_hcd(hcd, dev->resource[1].start, SA_INTERRUPT);
+	retval = usb_add_hcd(hcd, dev->resource[1].start, IRQF_DISABLED);
 	if (retval == 0)
 		return retval;
 
Index: linux-2.6.20-rc5/drivers/usb/gadget/pxa2xx_udc.c
===================================================================
--- linux-2.6.20-rc5.orig/drivers/usb/gadget/pxa2xx_udc.c
+++ linux-2.6.20-rc5/drivers/usb/gadget/pxa2xx_udc.c
@@ -2614,7 +2614,7 @@ lubbock_fail0:
 #endif
 	if (vbus_irq) {
 		retval = request_irq(vbus_irq, udc_vbus_irq,
-				SA_INTERRUPT | SA_SAMPLE_RANDOM,
+				IRQF_DISABLED | IRQF_SAMPLE_RANDOM,
 				driver_name, dev);
 		if (retval != 0) {
 			printk(KERN_ERR "%s: can't get irq %i, err %d\n",
Index: linux-2.6.20-rc5/drivers/net/qla3xxx.c
===================================================================
--- linux-2.6.20-rc5.orig/drivers/net/qla3xxx.c
+++ linux-2.6.20-rc5/drivers/net/qla3xxx.c
@@ -2999,7 +2999,7 @@ static int ql_adapter_up(struct ql3_adap
 {
 	struct net_device *ndev = qdev->ndev;
 	int err;
-	unsigned long irq_flags = SA_SAMPLE_RANDOM | SA_SHIRQ;
+	unsigned long irq_flags = IRQF_SAMPLE_RANDOM | IRQF_SHARED;
 	unsigned long hw_flags;
 
 	if (ql_alloc_mem_resources(qdev)) {
@@ -3018,7 +3018,7 @@ static int ql_adapter_up(struct ql3_adap
 		} else {
 			printk(KERN_INFO PFX "%s: MSI Enabled...\n", qdev->ndev->name);
 			set_bit(QL_MSI_ENABLED,&qdev->flags);
-			irq_flags &= ~SA_SHIRQ;
+			irq_flags &= ~IRQF_SHARED;
 		}
 	}
 
Index: linux-2.6.20-rc5/drivers/scsi/aic94xx/aic94xx_init.c
===================================================================
--- linux-2.6.20-rc5.orig/drivers/scsi/aic94xx/aic94xx_init.c
+++ linux-2.6.20-rc5/drivers/scsi/aic94xx/aic94xx_init.c
@@ -646,7 +646,7 @@ static int __devinit asd_pci_probe(struc
 	if (use_msi)
 		pci_enable_msi(asd_ha->pcidev);
 
-	err = request_irq(asd_ha->pcidev->irq, asd_hw_isr, SA_SHIRQ,
+	err = request_irq(asd_ha->pcidev->irq, asd_hw_isr, IRQF_SHARED,
 			  ASD_DRIVER_NAME, asd_ha);
 	if (err) {
 		asd_printk("couldn't get irq %d for %s\n",
Index: linux-2.6.20-rc5/drivers/net/netxen/netxen_nic_main.c
===================================================================
--- linux-2.6.20-rc5.orig/drivers/net/netxen/netxen_nic_main.c
+++ linux-2.6.20-rc5/drivers/net/netxen/netxen_nic_main.c
@@ -619,8 +619,8 @@ static int netxen_nic_open(struct net_de
 		}
 		adapter->irq = adapter->ahw.pdev->irq;
 		err = request_irq(adapter->ahw.pdev->irq, &netxen_intr,
-				  SA_SHIRQ | SA_SAMPLE_RANDOM, netdev->name,
-				  adapter);
+				  IRQF_SHARED | IRQF_SAMPLE_RANDOM,
+				  netdev->name, adapter);
 		if (err) {
 			printk(KERN_ERR "request_irq failed with: %d\n", err);
 			netxen_free_hw_resources(adapter);
Index: linux-2.6.20-rc5/drivers/misc/tifm_7xx1.c
===================================================================
--- linux-2.6.20-rc5.orig/drivers/misc/tifm_7xx1.c
+++ linux-2.6.20-rc5/drivers/misc/tifm_7xx1.c
@@ -340,7 +340,7 @@ static int tifm_7xx1_probe(struct pci_de
 	if (!fm->addr)
 		goto err_out_free;
 
-	rc = request_irq(dev->irq, tifm_7xx1_isr, SA_SHIRQ, DRIVER_NAME, fm);
+	rc = request_irq(dev->irq, tifm_7xx1_isr, IRQF_SHARED, DRIVER_NAME, fm);
 	if (rc)
 		goto err_out_unmap;
 
Index: linux-2.6.20-rc5/arch/ia64/kernel/irq_ia64.c
===================================================================
--- linux-2.6.20-rc5.orig/arch/ia64/kernel/irq_ia64.c
+++ linux-2.6.20-rc5/arch/ia64/kernel/irq_ia64.c
@@ -275,7 +275,7 @@ static struct irqaction ipi_irqaction = 
 
 static struct irqaction resched_irqaction = {
 	.handler =	dummy_handler,
-	.flags =	SA_INTERRUPT,
+	.flags =	IRQF_DISABLED,
 	.name =		"resched"
 };
 #endif
Index: linux-2.6.20-rc5/arch/m68k/atari/stdma.c
===================================================================
--- linux-2.6.20-rc5.orig/arch/m68k/atari/stdma.c
+++ linux-2.6.20-rc5/arch/m68k/atari/stdma.c
@@ -174,7 +174,7 @@ int stdma_islocked(void)
 void __init stdma_init(void)
 {
 	stdma_isr = NULL;
-	request_irq(IRQ_MFP_FDC, stdma_int, IRQ_TYPE_SLOW | SA_SHIRQ,
+	request_irq(IRQ_MFP_FDC, stdma_int, IRQ_TYPE_SLOW | IRQF_SHARED,
 	            "ST-DMA: floppy/ACSI/IDE/Falcon-SCSI", stdma_int);
 }
 
Index: linux-2.6.20-rc5/arch/ppc/syslib/i8259.c
===================================================================
--- linux-2.6.20-rc5.orig/arch/ppc/syslib/i8259.c
+++ linux-2.6.20-rc5/arch/ppc/syslib/i8259.c
@@ -154,7 +154,7 @@ static struct resource pic_edgectrl_iore
 
 static struct irqaction i8259_irqaction = {
 	.handler = no_action,
-	.flags = SA_INTERRUPT,
+	.flags = IRQF_DISABLED,
 	.mask = CPU_MASK_NONE,
 	.name = "82c59 secondary cascade",
 };
Index: linux-2.6.20-rc5/drivers/ata/pata_mpiix.c
===================================================================
--- linux-2.6.20-rc5.orig/drivers/ata/pata_mpiix.c
+++ linux-2.6.20-rc5/drivers/ata/pata_mpiix.c
@@ -229,7 +229,7 @@ static int mpiix_init_one(struct pci_dev
 	probe[0].sht = &mpiix_sht;
 	probe[0].pio_mask = 0x1F;
 	probe[0].irq = 14;
-	probe[0].irq_flags = SA_SHIRQ;
+	probe[0].irq_flags = IRQF_SHARED;
 	probe[0].port_flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST;
 	probe[0].n_ports = 1;
 	probe[0].port[0].cmd_addr = 0x1F0;
Index: linux-2.6.20-rc5/drivers/ata/pata_pcmcia.c
===================================================================
--- linux-2.6.20-rc5.orig/drivers/ata/pata_pcmcia.c
+++ linux-2.6.20-rc5/drivers/ata/pata_pcmcia.c
@@ -256,7 +256,7 @@ next_entry:
 	ae.n_ports = 1;
 	ae.pio_mask = 1;		/* ISA so PIO 0 cycles */
 	ae.irq = pdev->irq.AssignedIRQ;
-	ae.irq_flags = SA_SHIRQ;
+	ae.irq_flags = IRQF_SHARED;
 	ae.port_flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST;
 	ae.port[0].cmd_addr = io_base;
 	ae.port[0].altstatus_addr = ctl_base;
Index: linux-2.6.20-rc5/drivers/ata/pata_pdc2027x.c
===================================================================
--- linux-2.6.20-rc5.orig/drivers/ata/pata_pdc2027x.c
+++ linux-2.6.20-rc5/drivers/ata/pata_pdc2027x.c
@@ -804,8 +804,8 @@ static int __devinit pdc2027x_init_one(s
 	probe_ent->udma_mask	= pdc2027x_port_info[board_idx].udma_mask;
 	probe_ent->port_ops	= pdc2027x_port_info[board_idx].port_ops;
 
-       	probe_ent->irq = pdev->irq;
-       	probe_ent->irq_flags = SA_SHIRQ;
+	probe_ent->irq = pdev->irq;
+	probe_ent->irq_flags = IRQF_SHARED;
 	probe_ent->mmio_base = mmio_base;
 
 	pdc_ata_setup_port(&probe_ent->port[0], base + 0x17c0);
Index: linux-2.6.20-rc5/drivers/char/watchdog/rm9k_wdt.c
===================================================================
--- linux-2.6.20-rc5.orig/drivers/char/watchdog/rm9k_wdt.c
+++ linux-2.6.20-rc5/drivers/char/watchdog/rm9k_wdt.c
@@ -192,7 +192,7 @@ static int wdt_gpi_open(struct inode *in
 		locked = 0;
 	}
 
-	res = request_irq(wd_irq, wdt_gpi_irqhdl, SA_SHIRQ | SA_INTERRUPT,
+	res = request_irq(wd_irq, wdt_gpi_irqhdl, IRQF_SHARED | IRQF_DISABLED,
 			  wdt_gpi_name, &miscdev);
 	if (unlikely(res))
 		return res;
Index: linux-2.6.20-rc5/drivers/infiniband/hw/amso1100/c2.c
===================================================================
--- linux-2.6.20-rc5.orig/drivers/infiniband/hw/amso1100/c2.c
+++ linux-2.6.20-rc5/drivers/infiniband/hw/amso1100/c2.c
@@ -1073,7 +1073,7 @@ static int __devinit c2_probe(struct pci
 	     0xffffc000) / sizeof(struct c2_rxp_desc);
 
 	/* Request an interrupt line for the driver */
-	ret = request_irq(pcidev->irq, c2_interrupt, SA_SHIRQ, DRV_NAME, c2dev);
+	ret = request_irq(pcidev->irq, c2_interrupt, IRQF_SHARED, DRV_NAME, c2dev);
 	if (ret) {
 		printk(KERN_ERR PFX "%s: requested IRQ %u is busy\n",
 			pci_name(pcidev), pcidev->irq);
Index: linux-2.6.20-rc5/drivers/infiniband/hw/ehca/ehca_eq.c
===================================================================
--- linux-2.6.20-rc5.orig/drivers/infiniband/hw/ehca/ehca_eq.c
+++ linux-2.6.20-rc5/drivers/infiniband/hw/ehca/ehca_eq.c
@@ -122,7 +122,7 @@ int ehca_create_eq(struct ehca_shca *shc
 	/* register interrupt handlers and initialize work queues */
 	if (type == EHCA_EQ) {
 		ret = ibmebus_request_irq(NULL, eq->ist, ehca_interrupt_eq,
-					  SA_INTERRUPT, "ehca_eq",
+					  IRQF_DISABLED, "ehca_eq",
 					  (void *)shca);
 		if (ret < 0)
 			ehca_err(ib_dev, "Can't map interrupt handler.");
@@ -130,7 +130,7 @@ int ehca_create_eq(struct ehca_shca *shc
 		tasklet_init(&eq->interrupt_task, ehca_tasklet_eq, (long)shca);
 	} else if (type == EHCA_NEQ) {
 		ret = ibmebus_request_irq(NULL, eq->ist, ehca_interrupt_neq,
-					  SA_INTERRUPT, "ehca_neq",
+					  IRQF_DISABLED, "ehca_neq",
 					  (void *)shca);
 		if (ret < 0)
 			ehca_err(ib_dev, "Can't map interrupt handler.");
Index: linux-2.6.20-rc5/drivers/net/7990.c
===================================================================
--- linux-2.6.20-rc5.orig/drivers/net/7990.c
+++ linux-2.6.20-rc5/drivers/net/7990.c
@@ -500,7 +500,7 @@ int lance_open (struct net_device *dev)
 	int res;
 
         /* Install the Interrupt handler. Or we could shunt this out to specific drivers? */
-        if (request_irq(lp->irq, lance_interrupt, SA_SHIRQ, lp->name, dev))
+        if (request_irq(lp->irq, lance_interrupt, IRQF_SHARED, lp->name, dev))
                 return -EAGAIN;
 
         res = lance_reset(dev);
Index: linux-2.6.20-rc5/drivers/net/ehea/ehea_main.c
===================================================================
--- linux-2.6.20-rc5.orig/drivers/net/ehea/ehea_main.c
+++ linux-2.6.20-rc5/drivers/net/ehea/ehea_main.c
@@ -882,7 +882,7 @@ static int ehea_reg_interrupts(struct ne
 			 , "%s-recv%d", dev->name, i);
 		ret = ibmebus_request_irq(NULL, pr->recv_eq->attr.ist1,
 					  ehea_recv_irq_handler,
-					  SA_INTERRUPT, pr->int_recv_name, pr);
+					  IRQF_DISABLED, pr->int_recv_name, pr);
 		if (ret) {
 			ehea_error("failed registering irq for ehea_recv_int:"
 				   "port_res_nr:%d, ist=%X", i,
@@ -899,7 +899,7 @@ static int ehea_reg_interrupts(struct ne
 
 	ret = ibmebus_request_irq(NULL, port->qp_eq->attr.ist1,
 				  ehea_qp_aff_irq_handler,
-				  SA_INTERRUPT, port->int_aff_name, port);
+				  IRQF_DISABLED, port->int_aff_name, port);
 	if (ret) {
 		ehea_error("failed registering irq for qp_aff_irq_handler:"
 			   "ist=%X", port->qp_eq->attr.ist1);
@@ -916,7 +916,7 @@ static int ehea_reg_interrupts(struct ne
 			 "%s-send%d", dev->name, i);
 		ret = ibmebus_request_irq(NULL, pr->send_eq->attr.ist1,
 					  ehea_send_irq_handler,
-					  SA_INTERRUPT, pr->int_send_name,
+					  IRQF_DISABLED, pr->int_send_name,
 					  pr);
 		if (ret) {
 			ehea_error("failed registering irq for ehea_send "
@@ -2509,7 +2509,7 @@ static int __devinit ehea_probe(struct i
 		     (unsigned long)adapter);
 
 	ret = ibmebus_request_irq(NULL, adapter->neq->attr.ist1,
-				  ehea_interrupt_neq, SA_INTERRUPT,
+				  ehea_interrupt_neq, IRQF_DISABLED,
 				  "ehea_neq", adapter);
 	if (ret) {
 		dev_err(&dev->ofdev.dev, "requesting NEQ IRQ failed");
Index: linux-2.6.20-rc5/drivers/net/macb.c
===================================================================
--- linux-2.6.20-rc5.orig/drivers/net/macb.c
+++ linux-2.6.20-rc5/drivers/net/macb.c
@@ -1068,7 +1068,7 @@ static int __devinit macb_probe(struct p
 	}
 
 	dev->irq = platform_get_irq(pdev, 0);
-	err = request_irq(dev->irq, macb_interrupt, SA_SAMPLE_RANDOM,
+	err = request_irq(dev->irq, macb_interrupt, IRQF_SAMPLE_RANDOM,
 			  dev->name, dev);
 	if (err) {
 		printk(KERN_ERR
Index: linux-2.6.20-rc5/drivers/net/ucc_geth.c
===================================================================
--- linux-2.6.20-rc5.orig/drivers/net/ucc_geth.c
+++ linux-2.6.20-rc5/drivers/net/ucc_geth.c
@@ -4001,8 +4001,8 @@ static void ugeth_phy_startup_timer(unsi
 	/* Grab the PHY interrupt, if necessary/possible */
 	if (ugeth->ug_info->board_flags & FSL_UGETH_BRD_HAS_PHY_INTR) {
 		if (request_irq(ugeth->ug_info->phy_interrupt,
-				phy_interrupt,
-				SA_SHIRQ, "phy_interrupt", mii_info->dev) < 0) {
+				phy_interrupt, IRQF_SHARED,
+				"phy_interrupt", mii_info->dev) < 0) {
 			ugeth_err("%s: Can't get IRQ %d (PHY)",
 				  mii_info->dev->name,
 				  ugeth->ug_info->phy_interrupt);
Index: linux-2.6.20-rc5/drivers/pci/pcie/aer/aerdrv.c
===================================================================
--- linux-2.6.20-rc5.orig/drivers/pci/pcie/aer/aerdrv.c
+++ linux-2.6.20-rc5/drivers/pci/pcie/aer/aerdrv.c
@@ -220,7 +220,7 @@ static int __devinit aer_probe (struct p
 	}
 
 	/* Request IRQ ISR */
-	if ((status = request_irq(dev->irq, aer_irq, SA_SHIRQ, "aerdrv",
+	if ((status = request_irq(dev->irq, aer_irq, IRQF_SHARED, "aerdrv",
 				dev))) {
 		printk(KERN_DEBUG "%s: Request ISR fails on PCIE device[%s]\n",
 			__FUNCTION__, device->bus_id);
Index: linux-2.6.20-rc5/drivers/rtc/rtc-omap.c
===================================================================
--- linux-2.6.20-rc5.orig/drivers/rtc/rtc-omap.c
+++ linux-2.6.20-rc5/drivers/rtc/rtc-omap.c
@@ -417,13 +417,13 @@ static int __devinit omap_rtc_probe(stru
 		rtc_write(OMAP_RTC_STATUS_ALARM, OMAP_RTC_STATUS_REG);
 
 	/* handle periodic and alarm irqs */
-	if (request_irq(omap_rtc_timer, rtc_irq, SA_INTERRUPT,
+	if (request_irq(omap_rtc_timer, rtc_irq, IRQF_DISABLED,
 			rtc->class_dev.class_id, &rtc->class_dev)) {
 		pr_debug("%s: RTC timer interrupt IRQ%d already claimed\n",
 			pdev->name, omap_rtc_timer);
 		goto fail0;
 	}
-	if (request_irq(omap_rtc_alarm, rtc_irq, SA_INTERRUPT,
+	if (request_irq(omap_rtc_alarm, rtc_irq, IRQF_DISABLED,
 			rtc->class_dev.class_id, &rtc->class_dev)) {
 		pr_debug("%s: RTC alarm interrupt IRQ%d already claimed\n",
 			pdev->name, omap_rtc_alarm);
Index: linux-2.6.20-rc5/drivers/rtc/rtc-s3c.c
===================================================================
--- linux-2.6.20-rc5.orig/drivers/rtc/rtc-s3c.c
+++ linux-2.6.20-rc5/drivers/rtc/rtc-s3c.c
@@ -350,7 +350,7 @@ static int s3c_rtc_open(struct device *d
 	int ret;
 
 	ret = request_irq(s3c_rtc_alarmno, s3c_rtc_alarmirq,
-			  SA_INTERRUPT,  "s3c2410-rtc alarm", rtc_dev);
+			  IRQF_DISABLED,  "s3c2410-rtc alarm", rtc_dev);
 
 	if (ret) {
 		dev_err(dev, "IRQ%d error %d\n", s3c_rtc_alarmno, ret);
@@ -358,7 +358,7 @@ static int s3c_rtc_open(struct device *d
 	}
 
 	ret = request_irq(s3c_rtc_tickno, s3c_rtc_tickirq,
-			  SA_INTERRUPT,  "s3c2410-rtc tick", rtc_dev);
+			  IRQF_DISABLED,  "s3c2410-rtc tick", rtc_dev);
 
 	if (ret) {
 		dev_err(dev, "IRQ%d error %d\n", s3c_rtc_tickno, ret);
Index: linux-2.6.20-rc5/drivers/scsi/arcmsr/arcmsr_hba.c
===================================================================
--- linux-2.6.20-rc5.orig/drivers/scsi/arcmsr/arcmsr_hba.c
+++ linux-2.6.20-rc5/drivers/scsi/arcmsr/arcmsr_hba.c
@@ -322,7 +322,7 @@ static int arcmsr_probe(struct pci_dev *
 		goto out_iounmap;
 
 	error = request_irq(pdev->irq, arcmsr_do_interrupt,
-			SA_INTERRUPT | SA_SHIRQ, "arcmsr", acb);
+			IRQF_DISABLED | IRQF_SHARED, "arcmsr", acb);
 	if (error)
 		goto out_free_ccb_pool;
 
Index: linux-2.6.20-rc5/drivers/scsi/ibmvscsi/ibmvstgt.c
===================================================================
--- linux-2.6.20-rc5.orig/drivers/scsi/ibmvscsi/ibmvstgt.c
+++ linux-2.6.20-rc5/drivers/scsi/ibmvscsi/ibmvstgt.c
@@ -580,7 +580,7 @@ static int crq_queue_create(struct crq_q
 	}
 
 	err = request_irq(vport->dma_dev->irq, &ibmvstgt_interrupt,
-			  SA_INTERRUPT, "ibmvstgt", target);
+			  IRQF_DISABLED, "ibmvstgt", target);
 	if (err)
 		goto req_irq_failed;
 
Index: linux-2.6.20-rc5/drivers/scsi/qla4xxx/ql4_os.c
===================================================================
--- linux-2.6.20-rc5.orig/drivers/scsi/qla4xxx/ql4_os.c
+++ linux-2.6.20-rc5/drivers/scsi/qla4xxx/ql4_os.c
@@ -1257,7 +1257,7 @@ static int __devinit qla4xxx_probe_adapt
 	INIT_WORK(&ha->dpc_work, qla4xxx_do_dpc);
 
 	ret = request_irq(pdev->irq, qla4xxx_intr_handler,
-			  SA_INTERRUPT|SA_SHIRQ, "qla4xxx", ha);
+			  IRQF_DISABLED | IRQF_SHARED, "qla4xxx", ha);
 	if (ret) {
 		dev_warn(&ha->pdev->dev, "Failed to reserve interrupt %d"
 			" already in use.\n", pdev->irq);
Index: linux-2.6.20-rc5/drivers/video/intelfb/intelfbhw.c
===================================================================
--- linux-2.6.20-rc5.orig/drivers/video/intelfb/intelfbhw.c
+++ linux-2.6.20-rc5/drivers/video/intelfb/intelfbhw.c
@@ -1990,7 +1990,8 @@ int
 intelfbhw_enable_irq(struct intelfb_info *dinfo, int reenable) {
 
 	if (!test_and_set_bit(0, &dinfo->irq_flags)) {
-		if (request_irq(dinfo->pdev->irq, intelfbhw_irq, SA_SHIRQ, "intelfb", dinfo)) {
+		if (request_irq(dinfo->pdev->irq, intelfbhw_irq, IRQF_SHARED,
+		     "intelfb", dinfo)) {
 			clear_bit(0, &dinfo->irq_flags);
 			return -EINVAL;
 		}

-- 


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

* [patch-mm 3/3] Scheduled removal of SA_xxx interrupt flags fixups 2 (mm)
  2007-01-14  8:33 [patch 0/3] Scheduled removal of SA_xxx interrupt flags Thomas Gleixner
  2007-01-14  8:33 ` [patch 1/3] " Thomas Gleixner
  2007-01-14  8:33 ` [patch 2/3] Scheduled removal of SA_xxx interrupt flags fixups Thomas Gleixner
@ 2007-01-14  8:33 ` Thomas Gleixner
  2 siblings, 0 replies; 15+ messages in thread
From: Thomas Gleixner @ 2007-01-14  8:33 UTC (permalink / raw)
  To: LKML; +Cc: Andrew Morton, Ingo Molnar

[-- Attachment #1: sa-irqflags-scheduled-feature-removal-fix-mm-users.patch --]
[-- Type: text/plain, Size: 5303 bytes --]

The obsolete SA_xxx interrupt flags have been used despite the scheduled
removal. Fixup the remaining users in -mm.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Index: linux-2.6.20-rc4-mm1/arch/i386/kernel/vmitime.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/arch/i386/kernel/vmitime.c
+++ linux-2.6.20-rc4-mm1/arch/i386/kernel/vmitime.c
@@ -121,12 +121,10 @@ static struct clocksource clocksource_vm
 static irqreturn_t vmi_timer_interrupt(int irq, void *dev_id);
 
 struct irqaction vmi_timer_irq  = {
-	vmi_timer_interrupt,
-	SA_INTERRUPT,
-	CPU_MASK_NONE,
-	"VMI-alarm",
-	NULL,
-	NULL
+	.handler = vmi_timer_interrupt,
+	.flags = IRQF_DISABLED,
+	.mask = CPU_MASK_NONE,
+	.name = "VMI-alarm",
 };
 
 /* Alarm rate */
Index: linux-2.6.20-rc4-mm1/drivers/char/nozomi.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/drivers/char/nozomi.c
+++ linux-2.6.20-rc4-mm1/drivers/char/nozomi.c
@@ -1378,7 +1378,7 @@ static int nozomi_setup_interrupt(struct
 {
 	int rval;
 
-	rval = request_irq(dc->pdev->irq, &interrupt_handler, SA_SHIRQ,
+	rval = request_irq(dc->pdev->irq, &interrupt_handler, IRQF_SHARED,
 			   NOZOMI_NAME, dc);
 	if (rval)
 		dev_err(&dc->pdev->dev, "Cannot open because IRQ %d "
Index: linux-2.6.20-rc4-mm1/drivers/firewire/fw-ohci.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/drivers/firewire/fw-ohci.c
+++ linux-2.6.20-rc4-mm1/drivers/firewire/fw-ohci.c
@@ -714,7 +714,7 @@ static int ohci_enable(struct fw_card *c
 	reg_write(ohci, OHCI1394_AsReqFilterHiSet, 0x80000000);
 
 	if (request_irq(dev->irq, irq_handler,
-			SA_SHIRQ, ohci_driver_name, ohci)) {
+			IRQF_SHARED, ohci_driver_name, ohci)) {
 		fw_error("Failed to allocate shared interrupt %d.\n",
 			 dev->irq);
 		dma_free_coherent(ohci->card.device, CONFIG_ROM_SIZE,
Index: linux-2.6.20-rc4-mm1/drivers/input/keyboard/gpio_keys.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/drivers/input/keyboard/gpio_keys.c
+++ linux-2.6.20-rc4-mm1/drivers/input/keyboard/gpio_keys.c
@@ -78,7 +78,7 @@ static int __devinit gpio_keys_probe(str
 		int irq = IRQ_GPIO(pdata->buttons[i].gpio);
 
 		set_irq_type(irq, IRQ_TYPE_EDGE_BOTH);
-		error = request_irq(irq, gpio_keys_isr, SA_SAMPLE_RANDOM,
+		error = request_irq(irq, gpio_keys_isr, IRQF_SAMPLE_RANDOM,
 				     pdata->buttons[i].desc ? pdata->buttons[i].desc : "gpio_keys",
 				     pdev);
 		if (error) {
Index: linux-2.6.20-rc4-mm1/drivers/mtd/nand/cafe.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/drivers/mtd/nand/cafe.c
+++ linux-2.6.20-rc4-mm1/drivers/mtd/nand/cafe.c
@@ -596,7 +596,8 @@ static int __devinit cafe_nand_probe(str
 		cafe_writel(cafe, 0xffffffff, NAND_TIMING3);
 	}
 	cafe_writel(cafe, 0xffffffff, NAND_IRQ_MASK);
-	err = request_irq(pdev->irq, &cafe_nand_interrupt, SA_SHIRQ, "CAFE NAND", mtd);
+	err = request_irq(pdev->irq, &cafe_nand_interrupt, IRQF_SHARED,
+			  "CAFE NAND", mtd);
 	if (err) {
 		dev_warn(&pdev->dev, "Could not register IRQ %d\n", pdev->irq);
 
Index: linux-2.6.20-rc4-mm1/drivers/net/cxgb3/cxgb3_main.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/drivers/net/cxgb3/cxgb3_main.c
+++ linux-2.6.20-rc4-mm1/drivers/net/cxgb3/cxgb3_main.c
@@ -709,7 +709,8 @@ static int cxgb_up(struct adapter *adap)
 				      t3_intr_handler(adap,
 						      adap->sge.qs[0].rspq.
 						      polling),
-				      (adap->flags & USING_MSI) ? 0 : SA_SHIRQ,
+				      (adap->flags & USING_MSI) ?
+				       0 : IRQF_SHARED,
 				      adap->name, adap)))
 		goto irq_err;
 
Index: linux-2.6.20-rc4-mm1/drivers/net/sc92031.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/drivers/net/sc92031.c
+++ linux-2.6.20-rc4-mm1/drivers/net/sc92031.c
@@ -1035,7 +1035,7 @@ static int sc92031_open(struct net_devic
 	priv->tx_head = priv->tx_tail = 0;
 
 	err = request_irq(pdev->irq, sc92031_interrupt,
-			SA_SHIRQ, dev->name, dev);
+			IRQF_SHARED, dev->name, dev);
 	if (unlikely(err < 0))
 		goto out_request_irq;
 
Index: linux-2.6.20-rc4-mm1/kernel/irq/manage.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/kernel/irq/manage.c
+++ linux-2.6.20-rc4-mm1/kernel/irq/manage.c
@@ -394,7 +394,7 @@ void free_irq(unsigned int irq, void *de
 
 			/* Make sure it's not being used on another CPU */
 			synchronize_irq(irq);
-			if (action->flags & SA_SHIRQ)
+			if (action->flags & IRQF_SHARED)
 				handler = action->handler;
 			kfree(action);
 			return;
@@ -487,14 +487,14 @@ int request_irq(unsigned int irq, irq_ha
 	select_smp_affinity(irq);
 
 #ifdef CONFIG_DEBUG_SHIRQ
-	if (irqflags & SA_SHIRQ) {
+	if (irqflags & IRQF_SHARED) {
 		/*
 		 * It's a shared IRQ -- the driver ought to be prepared for it
 		 * to happen immediately, so let's make sure....
 		 * We do this before actually registering it, to make sure that
 		 * a 'real' IRQ doesn't run in parallel with our fake
 		 */
-		if (irqflags & SA_INTERRUPT) {
+		if (irqflags & IRQF_DISABLED) {
 			unsigned long flags;
 
 			local_irq_save(flags);

-- 


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

* Re: [patch 2/3] Scheduled removal of SA_xxx interrupt flags fixups
  2007-01-14  8:33 ` [patch 2/3] Scheduled removal of SA_xxx interrupt flags fixups Thomas Gleixner
@ 2007-01-14 12:42   ` Ingo Molnar
  2007-01-14 14:25     ` Thomas Gleixner
  0 siblings, 1 reply; 15+ messages in thread
From: Ingo Molnar @ 2007-01-14 12:42 UTC (permalink / raw)
  To: Thomas Gleixner; +Cc: LKML, Andrew Morton


* Thomas Gleixner <tglx@linutronix.de> wrote:

> The obsolete SA_xxx interrupt flags have been used despite the 
> scheduled removal. Fixup the remaining users.
> 
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

i have tested your patch-queue ontop of rc4-mm1 (trivial reject fixups 
are below), it builds and boots fine.

Acked-by: Ingo Molnar <mingo@elte.hu>

	Ingo

---
 drivers/char/nozomi.c |    2 +-
 drivers/net/qla3xxx.c |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

Index: linux/drivers/char/nozomi.c
===================================================================
--- linux.orig/drivers/char/nozomi.c
+++ linux/drivers/char/nozomi.c
@@ -1378,7 +1378,7 @@ static int nozomi_setup_interrupt(struct
 {
 	int rval;
 
-	rval = request_irq(dc->pdev->irq, &interrupt_handler, SA_SHIRQ,
+	rval = request_irq(dc->pdev->irq, &interrupt_handler, IRQF_SHARED,
 			   NOZOMI_NAME, dc);
 	if (rval)
 		dev_err(&dc->pdev->dev, "Cannot open because IRQ %d "
Index: linux/drivers/net/qla3xxx.c
===================================================================
--- linux.orig/drivers/net/qla3xxx.c
+++ linux/drivers/net/qla3xxx.c
@@ -2999,7 +2999,7 @@ static int ql_adapter_up(struct ql3_adap
 {
 	struct net_device *ndev = qdev->ndev;
 	int err;
-	unsigned long irq_flags = SA_SAMPLE_RANDOM | SA_SHIRQ;
+	unsigned long irq_flags = IRQF_SAMPLE_RANDOM | IRQF_SHARED;
 	unsigned long hw_flags;
 
 	if (ql_alloc_mem_resources(qdev)) {
@@ -3018,7 +3018,7 @@ static int ql_adapter_up(struct ql3_adap
 		} else {
 			printk(KERN_INFO PFX "%s: MSI Enabled...\n", qdev->ndev->name);
 			set_bit(QL_MSI_ENABLED,&qdev->flags);
-			irq_flags &= ~SA_SHIRQ;
+			irq_flags &= ~IRQF_SHARED;
 		}
 	}
 

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

* Re: [patch 2/3] Scheduled removal of SA_xxx interrupt flags fixups
  2007-01-14 12:42   ` Ingo Molnar
@ 2007-01-14 14:25     ` Thomas Gleixner
  2007-01-14 14:25       ` Ingo Molnar
  0 siblings, 1 reply; 15+ messages in thread
From: Thomas Gleixner @ 2007-01-14 14:25 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: LKML, Andrew Morton

On Sun, 2007-01-14 at 13:42 +0100, Ingo Molnar wrote:
> i have tested your patch-queue ontop of rc4-mm1 (trivial reject fixups 
> are below), it builds and boots fine.
>
> Acked-by: Ingo Molnar <mingo@elte.hu>

You tested my yesterday queue against rc2-mm1. The patches in the mail
are against rc4-mm1 and contain the fix already.

	tglx



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

* Re: [patch 2/3] Scheduled removal of SA_xxx interrupt flags fixups
  2007-01-14 14:25     ` Thomas Gleixner
@ 2007-01-14 14:25       ` Ingo Molnar
  0 siblings, 0 replies; 15+ messages in thread
From: Ingo Molnar @ 2007-01-14 14:25 UTC (permalink / raw)
  To: Thomas Gleixner; +Cc: LKML, Andrew Morton


* Thomas Gleixner <tglx@linutronix.de> wrote:

> On Sun, 2007-01-14 at 13:42 +0100, Ingo Molnar wrote:
> > i have tested your patch-queue ontop of rc4-mm1 (trivial reject fixups 
> > are below), it builds and boots fine.
> >
> > Acked-by: Ingo Molnar <mingo@elte.hu>
> 
> You tested my yesterday queue against rc2-mm1. The patches in the mail 
> are against rc4-mm1 and contain the fix already.

ok - great!

	Ingo

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

* Re: [patch 1/3] Scheduled removal of SA_xxx interrupt flags
  2007-01-14  8:33 ` [patch 1/3] " Thomas Gleixner
@ 2007-01-23 20:02   ` Andrew Morton
  2007-01-23 20:31     ` Thomas Gleixner
  0 siblings, 1 reply; 15+ messages in thread
From: Andrew Morton @ 2007-01-23 20:02 UTC (permalink / raw)
  To: Thomas Gleixner; +Cc: LKML, Ingo Molnar

On Sun, 14 Jan 2007 08:33:45 -0000
Thomas Gleixner <tglx@linutronix.de> wrote:

> The name space cleanup of the interrupt request flags (SA_xxx -> IRQF_xxx)
> left a 6 month grace period for the old deprecated flags. Remove them.

fwiw, I'll make this [patch 3/3], so the kernel compiles OK at each step.

This is going to break a lot of external stuff.  We should have found a way
to make usage of SA_* emit deprecated warnings (or _some_ warning) to warn
people of impending doom.  But I can't immediately find a way of doing
that.

If we _can_ find a way of doing this, I suspect we'll need to do it, and
give people another six months.  It's going to get ugly out there.  We
shall see...



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

* Re: [patch 1/3] Scheduled removal of SA_xxx interrupt flags
  2007-01-23 20:02   ` Andrew Morton
@ 2007-01-23 20:31     ` Thomas Gleixner
  2007-04-06 13:49       ` [PATCH] Deprecate SA_xxx interrupt flags -V2 Thomas Gleixner
  0 siblings, 1 reply; 15+ messages in thread
From: Thomas Gleixner @ 2007-01-23 20:31 UTC (permalink / raw)
  To: Andrew Morton; +Cc: LKML, Ingo Molnar

On Tue, 2007-01-23 at 12:02 -0800, Andrew Morton wrote:
> > The name space cleanup of the interrupt request flags (SA_xxx -> IRQF_xxx)
> > left a 6 month grace period for the old deprecated flags. Remove them.
> 
> fwiw, I'll make this [patch 3/3], so the kernel compiles OK at each step.

Yup, should have thought about that.

> This is going to break a lot of external stuff.  We should have found a way
> to make usage of SA_* emit deprecated warnings (or _some_ warning) to warn
> people of impending doom.  But I can't immediately find a way of doing
> that.
> if we _can_ find a way of doing this, I suspect we'll need to do it, and
> give people another six months.  It's going to get ugly out there.  We
> shall see...

Ugly, but might work:

static inline unsigned int __deprecated __sa_shirq(void) { return IRQF_DISABLED; }
#define SA_SHIRQ	__sa_shirq()

	tglx



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

* [PATCH] Deprecate SA_xxx interrupt flags -V2
  2007-01-23 20:31     ` Thomas Gleixner
@ 2007-04-06 13:49       ` Thomas Gleixner
  2007-04-06 19:22         ` Andrew Morton
  0 siblings, 1 reply; 15+ messages in thread
From: Thomas Gleixner @ 2007-04-06 13:49 UTC (permalink / raw)
  To: Andrew Morton; +Cc: LKML, Ingo Molnar

The deprecation of the SA_xxx interrupt flags did not emit deprecated
warnings. Andrew said about the removal of the deprecated flag defines:

> This is going to break a lot of external stuff.  We should have found
> a way to make usage of SA_* emit deprecated warnings (or _some_
> warning) to warn people of impending doom.  But I can't immediately
> find a way of doing that. if we _can_ find a way of doing this, I
> suspect we'll need to do it, and give people another six months.  It's
> going to get ugly out there.  We shall see...

Define the deprecated flags as a call to a __deprecated inline function
so a warning is emitted on compile time.

Extend the reprieve of out of tree drivers to 9/2007.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt
index 0bc8b0b..2a531ea 100644
--- a/Documentation/feature-removal-schedule.txt
+++ b/Documentation/feature-removal-schedule.txt
@@ -171,7 +171,7 @@ Who:	Greg Kroah-Hartman <gregkh@suse.de>
 ---------------------------
 
 What:	Interrupt only SA_* flags
-When:	Januar 2007
+When:	September 2007
 Why:	The interrupt related SA_* flags are replaced by IRQF_* to move them
 	out of the signal namespace.
 
diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h
index 838cf5a..3a72071 100644
--- a/include/linux/interrupt.h
+++ b/include/linux/interrupt.h
@@ -54,20 +54,26 @@
 #define IRQF_NOBALANCING	0x00000800
 
 /*
- * Migration helpers. Scheduled for removal in 1/2007
+ * Migration helpers. Scheduled for removal in 9/2007
  * Do not use for new code !
  */
-#define SA_INTERRUPT		IRQF_DISABLED
-#define SA_SAMPLE_RANDOM	IRQF_SAMPLE_RANDOM
-#define SA_SHIRQ		IRQF_SHARED
-#define SA_PROBEIRQ		IRQF_PROBE_SHARED
-#define SA_PERCPU		IRQF_PERCPU
-
-#define SA_TRIGGER_LOW		IRQF_TRIGGER_LOW
-#define SA_TRIGGER_HIGH		IRQF_TRIGGER_HIGH
-#define SA_TRIGGER_FALLING	IRQF_TRIGGER_FALLING
-#define SA_TRIGGER_RISING	IRQF_TRIGGER_RISING
-#define SA_TRIGGER_MASK		IRQF_TRIGGER_MASK
+static inline
+unsigned long __deprecated deprecated_irq_flag(unsigned long flag)
+{
+	return flag;
+}
+
+#define SA_INTERRUPT		deprecated_irq_flag(IRQF_DISABLED)
+#define SA_SAMPLE_RANDOM	deprecated_irq_flag(IRQF_SAMPLE_RANDOM)
+#define SA_SHIRQ		deprecated_irq_flag(IRQF_SHARED)
+#define SA_PROBEIRQ		deprecated_irq_flag(IRQF_PROBE_SHARED)
+#define SA_PERCPU		deprecated_irq_flag(IRQF_PERCPU)
+
+#define SA_TRIGGER_LOW		deprecated_irq_flag(IRQF_TRIGGER_LOW)
+#define SA_TRIGGER_HIGH		deprecated_irq_flag(IRQF_TRIGGER_HIGH)
+#define SA_TRIGGER_FALLING	deprecated_irq_flag(IRQF_TRIGGER_FALLING)
+#define SA_TRIGGER_RISING	deprecated_irq_flag(IRQF_TRIGGER_RISING)
+#define SA_TRIGGER_MASK		deprecated_irq_flag(IRQF_TRIGGER_MASK)
 
 typedef irqreturn_t (*irq_handler_t)(int, void *);
 



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

* Re: [PATCH] Deprecate SA_xxx interrupt flags -V2
  2007-04-06 13:49       ` [PATCH] Deprecate SA_xxx interrupt flags -V2 Thomas Gleixner
@ 2007-04-06 19:22         ` Andrew Morton
  2007-04-06 19:29           ` Ingo Molnar
  2007-04-06 19:36           ` Thomas Gleixner
  0 siblings, 2 replies; 15+ messages in thread
From: Andrew Morton @ 2007-04-06 19:22 UTC (permalink / raw)
  To: tglx; +Cc: LKML, Ingo Molnar

On Fri, 06 Apr 2007 15:49:26 +0200
Thomas Gleixner <tglx@linutronix.de> wrote:

> The deprecation of the SA_xxx interrupt flags did not emit deprecated
> warnings. Andrew said about the removal of the deprecated flag defines:
> 
> > This is going to break a lot of external stuff.  We should have found
> > a way to make usage of SA_* emit deprecated warnings (or _some_
> > warning) to warn people of impending doom.  But I can't immediately
> > find a way of doing that. if we _can_ find a way of doing this, I
> > suspect we'll need to do it, and give people another six months.  It's
> > going to get ugly out there.  We shall see...
> 
> Define the deprecated flags as a call to a __deprecated inline function
> so a warning is emitted on compile time.
> 
> Extend the reprieve of out of tree drivers to 9/2007.
> 
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> ---
> diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt
> index 0bc8b0b..2a531ea 100644
> --- a/Documentation/feature-removal-schedule.txt
> +++ b/Documentation/feature-removal-schedule.txt
> @@ -171,7 +171,7 @@ Who:	Greg Kroah-Hartman <gregkh@suse.de>
>  ---------------------------
>  
>  What:	Interrupt only SA_* flags
> -When:	Januar 2007
> +When:	September 2007
>  Why:	The interrupt related SA_* flags are replaced by IRQF_* to move them
>  	out of the signal namespace.
>  
> diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h
> index 838cf5a..3a72071 100644
> --- a/include/linux/interrupt.h
> +++ b/include/linux/interrupt.h
> @@ -54,20 +54,26 @@
>  #define IRQF_NOBALANCING	0x00000800
>  
>  /*
> - * Migration helpers. Scheduled for removal in 1/2007
> + * Migration helpers. Scheduled for removal in 9/2007
>   * Do not use for new code !
>   */
> -#define SA_INTERRUPT		IRQF_DISABLED
> -#define SA_SAMPLE_RANDOM	IRQF_SAMPLE_RANDOM
> -#define SA_SHIRQ		IRQF_SHARED
> -#define SA_PROBEIRQ		IRQF_PROBE_SHARED
> -#define SA_PERCPU		IRQF_PERCPU
> -
> -#define SA_TRIGGER_LOW		IRQF_TRIGGER_LOW
> -#define SA_TRIGGER_HIGH		IRQF_TRIGGER_HIGH
> -#define SA_TRIGGER_FALLING	IRQF_TRIGGER_FALLING
> -#define SA_TRIGGER_RISING	IRQF_TRIGGER_RISING
> -#define SA_TRIGGER_MASK		IRQF_TRIGGER_MASK
> +static inline
> +unsigned long __deprecated deprecated_irq_flag(unsigned long flag)
> +{
> +	return flag;
> +}
> +
> +#define SA_INTERRUPT		deprecated_irq_flag(IRQF_DISABLED)
> +#define SA_SAMPLE_RANDOM	deprecated_irq_flag(IRQF_SAMPLE_RANDOM)
> +#define SA_SHIRQ		deprecated_irq_flag(IRQF_SHARED)
> +#define SA_PROBEIRQ		deprecated_irq_flag(IRQF_PROBE_SHARED)
> +#define SA_PERCPU		deprecated_irq_flag(IRQF_PERCPU)
> +
> +#define SA_TRIGGER_LOW		deprecated_irq_flag(IRQF_TRIGGER_LOW)
> +#define SA_TRIGGER_HIGH		deprecated_irq_flag(IRQF_TRIGGER_HIGH)
> +#define SA_TRIGGER_FALLING	deprecated_irq_flag(IRQF_TRIGGER_FALLING)
> +#define SA_TRIGGER_RISING	deprecated_irq_flag(IRQF_TRIGGER_RISING)
> +#define SA_TRIGGER_MASK		deprecated_irq_flag(IRQF_TRIGGER_MASK)
>  
>  typedef irqreturn_t (*irq_handler_t)(int, void *);
>  

Yeah.  I tried something like this and code broke.  For example,
arch/mips/sni/irq.c has

struct irqaction sni_isa_irq = {
	.handler = sni_isa_irq_handler,
	.name = "ISA",
	.flags = SA_SHIRQ
};

there are presumably only a few such stragglers left in the tree but there
are probably more instances out-of-tree.

But I think we should just apply your patch anyway.  Only a small
proportion of things will break and we do need to be rid of the old
definitions one day.

It would be great if someone could do another pass across the tree,
clean up the remaining SA_* usages.


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

* Re: [PATCH] Deprecate SA_xxx interrupt flags -V2
  2007-04-06 19:22         ` Andrew Morton
@ 2007-04-06 19:29           ` Ingo Molnar
  2007-04-06 19:36           ` Thomas Gleixner
  1 sibling, 0 replies; 15+ messages in thread
From: Ingo Molnar @ 2007-04-06 19:29 UTC (permalink / raw)
  To: Andrew Morton; +Cc: tglx, LKML


* Andrew Morton <akpm@linux-foundation.org> wrote:

> Yeah.  I tried something like this and code broke.  For example,
> arch/mips/sni/irq.c has
> 
> struct irqaction sni_isa_irq = {
> 	.handler = sni_isa_irq_handler,
> 	.name = "ISA",
> 	.flags = SA_SHIRQ
> };
> 
> there are presumably only a few such stragglers left in the tree but 
> there are probably more instances out-of-tree.

i quick grep suggests that this seems to be the only one left with a 
similar pattern:

 dione:~/linux/ find . -name '*.[ch]' | xargs grep -E '\..*=.*\<SA_' | 
                grep -vE '\;|\(|=='

 ./arch/mips/sni/irq.c:  .flags = SA_SHIRQ

so the patch is fine to me:

 Acked-by: Ingo Molnar <mingo@elte.hu>

	Ingo

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

* Re: [PATCH] Deprecate SA_xxx interrupt flags -V2
  2007-04-06 19:22         ` Andrew Morton
  2007-04-06 19:29           ` Ingo Molnar
@ 2007-04-06 19:36           ` Thomas Gleixner
  2007-04-06 20:03             ` [PATCH] Replace deprecated SA_xxx interrupt flags Thomas Gleixner
  1 sibling, 1 reply; 15+ messages in thread
From: Thomas Gleixner @ 2007-04-06 19:36 UTC (permalink / raw)
  To: Andrew Morton; +Cc: LKML, Ingo Molnar

On Fri, 2007-04-06 at 12:22 -0700, Andrew Morton wrote:
> Yeah.  I tried something like this and code broke.  For example,
> arch/mips/sni/irq.c has
> 
> struct irqaction sni_isa_irq = {
> 	.handler = sni_isa_irq_handler,
> 	.name = "ISA",
> 	.flags = SA_SHIRQ
> };

Grr. I fixed that one at least once.

> there are presumably only a few such stragglers left in the tree but there
> are probably more instances out-of-tree.
>
> But I think we should just apply your patch anyway.  Only a small
> proportion of things will break and we do need to be rid of the old
> definitions one day.

For above use cases there is no way of emiting a deprecation warning.
OTOH it leads the user directly to the place, where he can find the fix.
Removing them completely might leave folks clueless.

> It would be great if someone could do another pass across the tree,
> clean up the remaining SA_* usages.

The above seems the only one in Linus tree. I check -mm as well.

	tglx



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

* [PATCH] Replace deprecated SA_xxx interrupt flags
  2007-04-06 19:36           ` Thomas Gleixner
@ 2007-04-06 20:03             ` Thomas Gleixner
  2007-04-06 20:08               ` [PATCH-mm] Replace more " Thomas Gleixner
  0 siblings, 1 reply; 15+ messages in thread
From: Thomas Gleixner @ 2007-04-06 20:03 UTC (permalink / raw)
  To: Andrew Morton; +Cc: LKML, Ingo Molnar

Fix the last refractory users of the deprecated SA_xxx interrupt flags.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

diff --git a/arch/mips/sni/irq.c b/arch/mips/sni/irq.c
index ad5fc47..9ccffdf 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 = SA_SHIRQ
+	.flags = IRQF_SHARED
 };
 
 /*
diff --git a/drivers/scsi/sni_53c710.c b/drivers/scsi/sni_53c710.c
index 6bc5051..a7dfb65 100644
--- a/drivers/scsi/sni_53c710.c
+++ b/drivers/scsi/sni_53c710.c
@@ -98,7 +98,7 @@ static int __init snirm710_probe(struct platform_device *dev)
 	host->this_id = 7;
 	host->base = base;
 	host->irq = platform_get_irq(dev, 0);
-	if(request_irq(host->irq, NCR_700_intr, SA_SHIRQ, "snirm710", host)) {
+	if(request_irq(host->irq, NCR_700_intr, IRQF_SHARED, "snirm710", host)) {
 		printk(KERN_ERR "snirm710: request_irq failed!\n");
 		goto out_put_host;
 	}



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

* [PATCH-mm] Replace more deprecated SA_xxx interrupt flags
  2007-04-06 20:03             ` [PATCH] Replace deprecated SA_xxx interrupt flags Thomas Gleixner
@ 2007-04-06 20:08               ` Thomas Gleixner
  0 siblings, 0 replies; 15+ messages in thread
From: Thomas Gleixner @ 2007-04-06 20:08 UTC (permalink / raw)
  To: Andrew Morton; +Cc: LKML, Ingo Molnar

Fix the obnoxious users of the deprecated SA_xxx interrupt flags.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Index: linux-2.6.21-rc3-mm2/drivers/i2c/busses/i2c-bfin-twi.c
===================================================================
--- linux-2.6.21-rc3-mm2.orig/drivers/i2c/busses/i2c-bfin-twi.c
+++ linux-2.6.21-rc3-mm2/drivers/i2c/busses/i2c-bfin-twi.c
@@ -573,7 +573,7 @@ static int i2c_bfin_twi_probe(struct pla
 	p_adap->dev.parent = &dev->dev;
 
 	rc = request_irq(iface->irq, bfin_twi_interrupt_entry,
-		SA_INTERRUPT, dev->name, iface);
+		IRQF_DISABLED, dev->name, iface);
 	if (rc) {
 		dev_err(&(p_adap->dev), "i2c-bfin-twi: can't get IRQ %d !\n",
 			iface->irq);
Index: linux-2.6.21-rc3-mm2/drivers/input/keyboard/pxa27x_keyboard.c
===================================================================
--- linux-2.6.21-rc3-mm2.orig/drivers/input/keyboard/pxa27x_keyboard.c
+++ linux-2.6.21-rc3-mm2/drivers/input/keyboard/pxa27x_keyboard.c
@@ -181,7 +181,7 @@ static int __devinit pxakbd_probe(struct
 		}
 	}
 
-	error = request_irq(IRQ_KEYPAD, pxakbd_irq_handler, SA_INTERRUPT,
+	error = request_irq(IRQ_KEYPAD, pxakbd_irq_handler, IRQF_DISABLED,
 			    DRIVER_NAME, pdev);
 	if (error) {
 		printk(KERN_ERR "Cannot request keypad IRQ\n");
Index: linux-2.6.21-rc3-mm2/drivers/net/vioc/vioc_irq.c
===================================================================
--- linux-2.6.21-rc3-mm2.orig/drivers/net/vioc/vioc_irq.c
+++ linux-2.6.21-rc3-mm2/drivers/net/vioc/vioc_irq.c
@@ -319,7 +319,7 @@ static int vioc_irq_install(struct pci_d
 
 	ret = request_irq(vioc_interrupts[vioc_id].intreq[intr_id].irq,
 			  vioc_interrupts[vioc_id].intreq[intr_id].hthandler,
-			  SA_INTERRUPT,
+			  IRQF_DISABLED,
 			  vioc_interrupts[vioc_id].intreq[intr_id].name,
 			  vioc_interrupts[vioc_id].intreq[intr_id].
 			  intrFuncparm);



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

end of thread, other threads:[~2007-04-06 20:08 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-01-14  8:33 [patch 0/3] Scheduled removal of SA_xxx interrupt flags Thomas Gleixner
2007-01-14  8:33 ` [patch 1/3] " Thomas Gleixner
2007-01-23 20:02   ` Andrew Morton
2007-01-23 20:31     ` Thomas Gleixner
2007-04-06 13:49       ` [PATCH] Deprecate SA_xxx interrupt flags -V2 Thomas Gleixner
2007-04-06 19:22         ` Andrew Morton
2007-04-06 19:29           ` Ingo Molnar
2007-04-06 19:36           ` Thomas Gleixner
2007-04-06 20:03             ` [PATCH] Replace deprecated SA_xxx interrupt flags Thomas Gleixner
2007-04-06 20:08               ` [PATCH-mm] Replace more " Thomas Gleixner
2007-01-14  8:33 ` [patch 2/3] Scheduled removal of SA_xxx interrupt flags fixups Thomas Gleixner
2007-01-14 12:42   ` Ingo Molnar
2007-01-14 14:25     ` Thomas Gleixner
2007-01-14 14:25       ` Ingo Molnar
2007-01-14  8:33 ` [patch-mm 3/3] Scheduled removal of SA_xxx interrupt flags fixups 2 (mm) Thomas Gleixner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).