aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/sparc64/kernel/ebus.c2
-rw-r--r--arch/sparc64/kernel/pci_psycho.c8
-rw-r--r--arch/sparc64/kernel/pci_sabre.c6
-rw-r--r--arch/sparc64/kernel/pci_schizo.c20
-rw-r--r--arch/sparc64/kernel/sbus.c6
-rw-r--r--include/asm-sparc64/floppy.h2
-rw-r--r--include/asm-sparc64/signal.h3
7 files changed, 22 insertions, 25 deletions
diff --git a/arch/sparc64/kernel/ebus.c b/arch/sparc64/kernel/ebus.c
index a1023bb1a21..8a9b470e1b6 100644
--- a/arch/sparc64/kernel/ebus.c
+++ b/arch/sparc64/kernel/ebus.c
@@ -140,7 +140,7 @@ int ebus_dma_irq_enable(struct ebus_dma_info *p, int on)
140 140
141 if (on) { 141 if (on) {
142 if (p->flags & EBUS_DMA_FLAG_USE_EBDMA_HANDLER) { 142 if (p->flags & EBUS_DMA_FLAG_USE_EBDMA_HANDLER) {
143 if (request_irq(p->irq, ebus_dma_irq, SA_SHIRQ, p->name, p)) 143 if (request_irq(p->irq, ebus_dma_irq, IRQF_SHARED, p->name, p))
144 return -EBUSY; 144 return -EBUSY;
145 } 145 }
146 146
diff --git a/arch/sparc64/kernel/pci_psycho.c b/arch/sparc64/kernel/pci_psycho.c
index bf7b32b3670..197a7ffd57e 100644
--- a/arch/sparc64/kernel/pci_psycho.c
+++ b/arch/sparc64/kernel/pci_psycho.c
@@ -863,11 +863,11 @@ static void psycho_register_error_handlers(struct pci_controller_info *p)
863 if (op->num_irqs < 6) 863 if (op->num_irqs < 6)
864 return; 864 return;
865 865
866 request_irq(op->irqs[1], psycho_ue_intr, SA_SHIRQ, "PSYCHO UE", p); 866 request_irq(op->irqs[1], psycho_ue_intr, IRQF_SHARED, "PSYCHO UE", p);
867 request_irq(op->irqs[2], psycho_ce_intr, SA_SHIRQ, "PSYCHO CE", p); 867 request_irq(op->irqs[2], psycho_ce_intr, IRQF_SHARED, "PSYCHO CE", p);
868 request_irq(op->irqs[5], psycho_pcierr_intr, SA_SHIRQ, 868 request_irq(op->irqs[5], psycho_pcierr_intr, IRQF_SHARED,
869 "PSYCHO PCIERR-A", &p->pbm_A); 869 "PSYCHO PCIERR-A", &p->pbm_A);
870 request_irq(op->irqs[0], psycho_pcierr_intr, SA_SHIRQ, 870 request_irq(op->irqs[0], psycho_pcierr_intr, IRQF_SHARED,
871 "PSYCHO PCIERR-B", &p->pbm_B); 871 "PSYCHO PCIERR-B", &p->pbm_B);
872 872
873 /* Enable UE and CE interrupts for controller. */ 873 /* Enable UE and CE interrupts for controller. */
diff --git a/arch/sparc64/kernel/pci_sabre.c b/arch/sparc64/kernel/pci_sabre.c
index 5e087b0fb4c..45891850b90 100644
--- a/arch/sparc64/kernel/pci_sabre.c
+++ b/arch/sparc64/kernel/pci_sabre.c
@@ -854,14 +854,14 @@ static void sabre_register_error_handlers(struct pci_controller_info *p)
854 SABRE_UEAFSR_SDRD | SABRE_UEAFSR_SDWR | 854 SABRE_UEAFSR_SDRD | SABRE_UEAFSR_SDWR |
855 SABRE_UEAFSR_SDTE | SABRE_UEAFSR_PDTE)); 855 SABRE_UEAFSR_SDTE | SABRE_UEAFSR_PDTE));
856 856
857 request_irq(op->irqs[1], sabre_ue_intr, SA_SHIRQ, "SABRE UE", p); 857 request_irq(op->irqs[1], sabre_ue_intr, IRQF_SHARED, "SABRE UE", p);
858 858
859 sabre_write(base + SABRE_CE_AFSR, 859 sabre_write(base + SABRE_CE_AFSR,
860 (SABRE_CEAFSR_PDRD | SABRE_CEAFSR_PDWR | 860 (SABRE_CEAFSR_PDRD | SABRE_CEAFSR_PDWR |
861 SABRE_CEAFSR_SDRD | SABRE_CEAFSR_SDWR)); 861 SABRE_CEAFSR_SDRD | SABRE_CEAFSR_SDWR));
862 862
863 request_irq(op->irqs[2], sabre_ce_intr, SA_SHIRQ, "SABRE CE", p); 863 request_irq(op->irqs[2], sabre_ce_intr, IRQF_SHARED, "SABRE CE", p);
864 request_irq(op->irqs[0], sabre_pcierr_intr, SA_SHIRQ, 864 request_irq(op->irqs[0], sabre_pcierr_intr, IRQF_SHARED,
865 "SABRE PCIERR", p); 865 "SABRE PCIERR", p);
866 866
867 tmp = sabre_read(base + SABRE_PCICTRL); 867 tmp = sabre_read(base + SABRE_PCICTRL);
diff --git a/arch/sparc64/kernel/pci_schizo.c b/arch/sparc64/kernel/pci_schizo.c
index 5c6e2a9b91f..75ade83ecc6 100644
--- a/arch/sparc64/kernel/pci_schizo.c
+++ b/arch/sparc64/kernel/pci_schizo.c
@@ -998,32 +998,32 @@ static void tomatillo_register_error_handlers(struct pci_controller_info *p)
998 pbm = pbm_for_ino(p, SCHIZO_UE_INO); 998 pbm = pbm_for_ino(p, SCHIZO_UE_INO);
999 op = of_find_device_by_node(pbm->prom_node); 999 op = of_find_device_by_node(pbm->prom_node);
1000 if (op) 1000 if (op)
1001 request_irq(op->irqs[1], schizo_ue_intr, SA_SHIRQ, 1001 request_irq(op->irqs[1], schizo_ue_intr, IRQF_SHARED,
1002 "TOMATILLO_UE", p); 1002 "TOMATILLO_UE", p);
1003 1003
1004 pbm = pbm_for_ino(p, SCHIZO_CE_INO); 1004 pbm = pbm_for_ino(p, SCHIZO_CE_INO);
1005 op = of_find_device_by_node(pbm->prom_node); 1005 op = of_find_device_by_node(pbm->prom_node);
1006 if (op) 1006 if (op)
1007 request_irq(op->irqs[2], schizo_ce_intr, SA_SHIRQ, 1007 request_irq(op->irqs[2], schizo_ce_intr, IRQF_SHARED,
1008 "TOMATILLO CE", p); 1008 "TOMATILLO CE", p);
1009 1009
1010 pbm = pbm_for_ino(p, SCHIZO_PCIERR_A_INO); 1010 pbm = pbm_for_ino(p, SCHIZO_PCIERR_A_INO);
1011 op = of_find_device_by_node(pbm->prom_node); 1011 op = of_find_device_by_node(pbm->prom_node);
1012 if (op) 1012 if (op)
1013 request_irq(op->irqs[0], schizo_pcierr_intr, SA_SHIRQ, 1013 request_irq(op->irqs[0], schizo_pcierr_intr, IRQF_SHARED,
1014 "TOMATILLO PCIERR-A", pbm); 1014 "TOMATILLO PCIERR-A", pbm);
1015 1015
1016 1016
1017 pbm = pbm_for_ino(p, SCHIZO_PCIERR_B_INO); 1017 pbm = pbm_for_ino(p, SCHIZO_PCIERR_B_INO);
1018 op = of_find_device_by_node(pbm->prom_node); 1018 op = of_find_device_by_node(pbm->prom_node);
1019 if (op) 1019 if (op)
1020 request_irq(op->irqs[0], schizo_pcierr_intr, SA_SHIRQ, 1020 request_irq(op->irqs[0], schizo_pcierr_intr, IRQF_SHARED,
1021 "TOMATILLO PCIERR-B", pbm); 1021 "TOMATILLO PCIERR-B", pbm);
1022 1022
1023 pbm = pbm_for_ino(p, SCHIZO_SERR_INO); 1023 pbm = pbm_for_ino(p, SCHIZO_SERR_INO);
1024 op = of_find_device_by_node(pbm->prom_node); 1024 op = of_find_device_by_node(pbm->prom_node);
1025 if (op) 1025 if (op)
1026 request_irq(op->irqs[3], schizo_safarierr_intr, SA_SHIRQ, 1026 request_irq(op->irqs[3], schizo_safarierr_intr, IRQF_SHARED,
1027 "TOMATILLO SERR", p); 1027 "TOMATILLO SERR", p);
1028 1028
1029 /* Enable UE and CE interrupts for controller. */ 1029 /* Enable UE and CE interrupts for controller. */
@@ -1106,32 +1106,32 @@ static void schizo_register_error_handlers(struct pci_controller_info *p)
1106 pbm = pbm_for_ino(p, SCHIZO_UE_INO); 1106 pbm = pbm_for_ino(p, SCHIZO_UE_INO);
1107 op = of_find_device_by_node(pbm->prom_node); 1107 op = of_find_device_by_node(pbm->prom_node);
1108 if (op) 1108 if (op)
1109 request_irq(op->irqs[1], schizo_ue_intr, SA_SHIRQ, 1109 request_irq(op->irqs[1], schizo_ue_intr, IRQF_SHARED,
1110 "SCHIZO_UE", p); 1110 "SCHIZO_UE", p);
1111 1111
1112 pbm = pbm_for_ino(p, SCHIZO_CE_INO); 1112 pbm = pbm_for_ino(p, SCHIZO_CE_INO);
1113 op = of_find_device_by_node(pbm->prom_node); 1113 op = of_find_device_by_node(pbm->prom_node);
1114 if (op) 1114 if (op)
1115 request_irq(op->irqs[2], schizo_ce_intr, SA_SHIRQ, 1115 request_irq(op->irqs[2], schizo_ce_intr, IRQF_SHARED,
1116 "SCHIZO CE", p); 1116 "SCHIZO CE", p);
1117 1117
1118 pbm = pbm_for_ino(p, SCHIZO_PCIERR_A_INO); 1118 pbm = pbm_for_ino(p, SCHIZO_PCIERR_A_INO);
1119 op = of_find_device_by_node(pbm->prom_node); 1119 op = of_find_device_by_node(pbm->prom_node);
1120 if (op) 1120 if (op)
1121 request_irq(op->irqs[0], schizo_pcierr_intr, SA_SHIRQ, 1121 request_irq(op->irqs[0], schizo_pcierr_intr, IRQF_SHARED,
1122 "SCHIZO PCIERR-A", pbm); 1122 "SCHIZO PCIERR-A", pbm);
1123 1123
1124 1124
1125 pbm = pbm_for_ino(p, SCHIZO_PCIERR_B_INO); 1125 pbm = pbm_for_ino(p, SCHIZO_PCIERR_B_INO);
1126 op = of_find_device_by_node(pbm->prom_node); 1126 op = of_find_device_by_node(pbm->prom_node);
1127 if (op) 1127 if (op)
1128 request_irq(op->irqs[0], schizo_pcierr_intr, SA_SHIRQ, 1128 request_irq(op->irqs[0], schizo_pcierr_intr, IRQF_SHARED,
1129 "SCHIZO PCIERR-B", pbm); 1129 "SCHIZO PCIERR-B", pbm);
1130 1130
1131 pbm = pbm_for_ino(p, SCHIZO_SERR_INO); 1131 pbm = pbm_for_ino(p, SCHIZO_SERR_INO);
1132 op = of_find_device_by_node(pbm->prom_node); 1132 op = of_find_device_by_node(pbm->prom_node);
1133 if (op) 1133 if (op)
1134 request_irq(op->irqs[3], schizo_safarierr_intr, SA_SHIRQ, 1134 request_irq(op->irqs[3], schizo_safarierr_intr, IRQF_SHARED,
1135 "SCHIZO SERR", p); 1135 "SCHIZO SERR", p);
1136 1136
1137 /* Enable UE and CE interrupts for controller. */ 1137 /* Enable UE and CE interrupts for controller. */
diff --git a/arch/sparc64/kernel/sbus.c b/arch/sparc64/kernel/sbus.c
index ef68aa4fec6..c49a5779574 100644
--- a/arch/sparc64/kernel/sbus.c
+++ b/arch/sparc64/kernel/sbus.c
@@ -1065,7 +1065,7 @@ static void __init sysio_register_error_handlers(struct sbus_bus *sbus)
1065 1065
1066 irq = sbus_build_irq(sbus, SYSIO_UE_INO); 1066 irq = sbus_build_irq(sbus, SYSIO_UE_INO);
1067 if (request_irq(irq, sysio_ue_handler, 1067 if (request_irq(irq, sysio_ue_handler,
1068 SA_SHIRQ, "SYSIO UE", sbus) < 0) { 1068 IRQF_SHARED, "SYSIO UE", sbus) < 0) {
1069 prom_printf("SYSIO[%x]: Cannot register UE interrupt.\n", 1069 prom_printf("SYSIO[%x]: Cannot register UE interrupt.\n",
1070 sbus->portid); 1070 sbus->portid);
1071 prom_halt(); 1071 prom_halt();
@@ -1073,7 +1073,7 @@ static void __init sysio_register_error_handlers(struct sbus_bus *sbus)
1073 1073
1074 irq = sbus_build_irq(sbus, SYSIO_CE_INO); 1074 irq = sbus_build_irq(sbus, SYSIO_CE_INO);
1075 if (request_irq(irq, sysio_ce_handler, 1075 if (request_irq(irq, sysio_ce_handler,
1076 SA_SHIRQ, "SYSIO CE", sbus) < 0) { 1076 IRQF_SHARED, "SYSIO CE", sbus) < 0) {
1077 prom_printf("SYSIO[%x]: Cannot register CE interrupt.\n", 1077 prom_printf("SYSIO[%x]: Cannot register CE interrupt.\n",
1078 sbus->portid); 1078 sbus->portid);
1079 prom_halt(); 1079 prom_halt();
@@ -1081,7 +1081,7 @@ static void __init sysio_register_error_handlers(struct sbus_bus *sbus)
1081 1081
1082 irq = sbus_build_irq(sbus, SYSIO_SBUSERR_INO); 1082 irq = sbus_build_irq(sbus, SYSIO_SBUSERR_INO);
1083 if (request_irq(irq, sysio_sbus_error_handler, 1083 if (request_irq(irq, sysio_sbus_error_handler,
1084 SA_SHIRQ, "SYSIO SBUS Error", sbus) < 0) { 1084 IRQF_SHARED, "SYSIO SBUS Error", sbus) < 0) {
1085 prom_printf("SYSIO[%x]: Cannot register SBUS Error interrupt.\n", 1085 prom_printf("SYSIO[%x]: Cannot register SBUS Error interrupt.\n",
1086 sbus->portid); 1086 sbus->portid);
1087 prom_halt(); 1087 prom_halt();
diff --git a/include/asm-sparc64/floppy.h b/include/asm-sparc64/floppy.h
index b591d0e8d8f..abf15003801 100644
--- a/include/asm-sparc64/floppy.h
+++ b/include/asm-sparc64/floppy.h
@@ -267,7 +267,7 @@ static int sun_fd_request_irq(void)
267 once = 1; 267 once = 1;
268 268
269 error = request_irq(FLOPPY_IRQ, sparc_floppy_irq, 269 error = request_irq(FLOPPY_IRQ, sparc_floppy_irq,
270 SA_INTERRUPT, "floppy", NULL); 270 IRQF_DISABLED, "floppy", NULL);
271 271
272 return ((error == 0) ? 0 : -1); 272 return ((error == 0) ? 0 : -1);
273 } 273 }
diff --git a/include/asm-sparc64/signal.h b/include/asm-sparc64/signal.h
index fdc42a14d4e..9968871103b 100644
--- a/include/asm-sparc64/signal.h
+++ b/include/asm-sparc64/signal.h
@@ -133,16 +133,13 @@ struct sigstack {
133 * usage of signal stacks by using the (now obsolete) sa_restorer field in 133 * usage of signal stacks by using the (now obsolete) sa_restorer field in
134 * the sigaction structure as a stack pointer. This is now possible due to 134 * the sigaction structure as a stack pointer. This is now possible due to
135 * the changes in signal handling. LBT 010493. 135 * the changes in signal handling. LBT 010493.
136 * SA_INTERRUPT is a no-op, but left due to historical reasons. Use the
137 * SA_RESTART flag to get restarting signals (which were the default long ago) 136 * SA_RESTART flag to get restarting signals (which were the default long ago)
138 * SA_SHIRQ flag is for shared interrupt support on PCI and EISA.
139 */ 137 */
140#define SA_NOCLDSTOP _SV_IGNCHILD 138#define SA_NOCLDSTOP _SV_IGNCHILD
141#define SA_STACK _SV_SSTACK 139#define SA_STACK _SV_SSTACK
142#define SA_ONSTACK _SV_SSTACK 140#define SA_ONSTACK _SV_SSTACK
143#define SA_RESTART _SV_INTR 141#define SA_RESTART _SV_INTR
144#define SA_ONESHOT _SV_RESET 142#define SA_ONESHOT _SV_RESET
145#define SA_INTERRUPT 0x10u
146#define SA_NOMASK 0x20u 143#define SA_NOMASK 0x20u
147#define SA_NOCLDWAIT 0x100u 144#define SA_NOCLDWAIT 0x100u
148#define SA_SIGINFO 0x200u 145#define SA_SIGINFO 0x200u