···44 * This file is subject to the terms and conditions of the GNU General Public55 * License. See the file COPYING in the main directory of this archive66 * for more details.77- *88- * 11/07/96: rewritten interrupt handling, irq lists are exists now only for99- * this sources where it makes sense (VERTB/PORTS/EXTER) and you must1010- * be careful that dev_id for this sources is unique since this the1111- * only possibility to distinguish between different handlers for1212- * free_irq. irq lists also have different irq flags:1313- * - IRQ_FLG_FAST: handler is inserted at top of list (after other1414- * fast handlers)1515- * - IRQ_FLG_SLOW: handler is inserted at bottom of list and before1616- * they're executed irq level is set to the previous1717- * one, but handlers don't need to be reentrant, if1818- * reentrance occurred, slow handlers will be just1919- * called again.2020- * The whole interrupt handling for CIAs is moved to cia.c2121- * /Roman Zippel2222- *2323- * 07/08/99: rewamp of the interrupt handling - we now have two types of2424- * interrupts, normal and fast handlers, fast handlers being2525- * marked with IRQF_DISABLED and runs with all other interrupts2626- * disabled. Normal interrupts disable their own source but2727- * run with all other interrupt sources enabled.2828- * PORTS and EXTER interrupts are always shared even if the2929- * drivers do not explicitly mark this when calling3030- * request_irq which they really should do.3131- * This is similar to the way interrupts are handled on all3232- * other architectures and makes a ton of sense besides3333- * having the advantage of making it easier to share3434- * drivers.3535- * /Jes367 */378389#include <linux/init.h>
···44 * This file is subject to the terms and conditions of the GNU General Public55 * License. See the file COPYING in the main directory of this archive66 * for more details.77- *88- * 07/03/96: Timer initialization, and thus mach_sched_init(),99- * removed from request_irq() and moved to init_time().1010- * We should therefore consider renaming our add_isr() and1111- * remove_isr() to request_irq() and free_irq()1212- * respectively, so they are compliant with the other1313- * architectures. /Jes1414- * 11/07/96: Changed all add_/remove_isr() to request_/free_irq() calls.1515- * Removed irq list support, if any machine needs an irq server1616- * it must implement this itself (as it's already done), instead1717- * only default handler are used with mach_default_handler.1818- * request_irq got some flags different from other architectures:1919- * - IRQ_FLG_REPLACE : Replace an existing handler (the default one2020- * can be replaced without this flag)2121- * - IRQ_FLG_LOCK : handler can't be replaced2222- * There are other machine depending flags, see there2323- * If you want to replace a default handler you should know what2424- * you're doing, since it might handle different other irq sources2525- * which must be served /Roman Zippel267 */278289#include <linux/module.h>
+4-6
arch/m68k/mac/iop.c
···305305{306306 if (iop_ism_present) {307307 if (oss_present) {308308- if (request_irq(OSS_IRQLEV_IOPISM, iop_ism_irq,309309- IRQ_FLG_LOCK, "ISM IOP",310310- (void *) IOP_NUM_ISM))308308+ if (request_irq(OSS_IRQLEV_IOPISM, iop_ism_irq, 0,309309+ "ISM IOP", (void *)IOP_NUM_ISM))311310 pr_err("Couldn't register ISM IOP interrupt\n");312311 oss_irq_enable(IRQ_MAC_ADB);313312 } else {314314- if (request_irq(IRQ_VIA2_0, iop_ism_irq,315315- IRQ_FLG_LOCK|IRQ_FLG_FAST, "ISM IOP",316316- (void *) IOP_NUM_ISM))313313+ if (request_irq(IRQ_VIA2_0, iop_ism_irq, 0, "ISM IOP",314314+ (void *)IOP_NUM_ISM))317315 pr_err("Couldn't register ISM IOP interrupt\n");318316 }319317 if (!iop_alive(iop_base[IOP_NUM_ISM])) {