From patchwork Fri Nov 23 00:49:59 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Vorontsov X-Patchwork-Id: 13093 Return-Path: X-Original-To: patchwork@peony.canonical.com Delivered-To: patchwork@peony.canonical.com Received: from fiordland.canonical.com (fiordland.canonical.com [91.189.94.145]) by peony.canonical.com (Postfix) with ESMTP id 5D1F023E13 for ; Fri, 23 Nov 2012 00:53:43 +0000 (UTC) Received: from mail-ie0-f180.google.com (mail-ie0-f180.google.com [209.85.223.180]) by fiordland.canonical.com (Postfix) with ESMTP id 0B8B7A18BD3 for ; Fri, 23 Nov 2012 00:53:42 +0000 (UTC) Received: by mail-ie0-f180.google.com with SMTP id c10so1226114ieb.11 for ; Thu, 22 Nov 2012 16:53:42 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-forwarded-to:x-forwarded-for:delivered-to:received-spf:from:to:cc :subject:date:message-id:x-mailer:in-reply-to:references :x-gm-message-state; bh=TqLdot5fdosb6TBzSr80hBlchLAugv1wQkiKg5+RwbI=; b=BRVl29NXSg9Dth8WTKBh7lpZQD07rV9fn5OLKNZGo6gA2OJoUapW9ravsScFoAFr9E aSUez1dLyNvRTRAq0PBQhCvswqSZF1GmlBtJjqyjKgTxDr18FQX5ChMccz9MvxUNIp0B exB9EzdheYQK5vUMDy26Fc1CIMwpjP66m5JzT/8l9QEDCNgTNG+MZsh6VbBdMwtowUHw f2vmMinN35Z+0mYJJ+heJ2Flj8Pun8dEw3Lyt9Optet37CcKXZZiLByWjFfw45gA6LWw xty1UeAdH6dxa64JYc09gfdlF4wvoaE0UZhmQRiaRnvrATK9Ht3d6kPtH2AmvhEAKM4H VDXA== Received: by 10.50.187.197 with SMTP id fu5mr2014050igc.70.1353632022827; Thu, 22 Nov 2012 16:53:42 -0800 (PST) X-Forwarded-To: linaro-patchwork@canonical.com X-Forwarded-For: patch@linaro.org linaro-patchwork@canonical.com Delivered-To: patches@linaro.org Received: by 10.50.67.148 with SMTP id n20csp282401igt; Thu, 22 Nov 2012 16:53:42 -0800 (PST) Received: by 10.60.24.169 with SMTP id v9mr1650940oef.117.1353632022202; Thu, 22 Nov 2012 16:53:42 -0800 (PST) Received: from mail-oa0-f45.google.com (mail-oa0-f45.google.com [209.85.219.45]) by mx.google.com with ESMTPS id ym2si4281661obb.87.2012.11.22.16.53.42 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 22 Nov 2012 16:53:42 -0800 (PST) Received-SPF: neutral (google.com: 209.85.219.45 is neither permitted nor denied by best guess record for domain of anton.vorontsov@linaro.org) client-ip=209.85.219.45; Authentication-Results: mx.google.com; spf=neutral (google.com: 209.85.219.45 is neither permitted nor denied by best guess record for domain of anton.vorontsov@linaro.org) smtp.mail=anton.vorontsov@linaro.org Received: by mail-oa0-f45.google.com with SMTP id i18so10185964oag.32 for ; Thu, 22 Nov 2012 16:53:42 -0800 (PST) Received: by 10.60.32.135 with SMTP id j7mr1563696oei.132.1353632021921; Thu, 22 Nov 2012 16:53:41 -0800 (PST) Received: from localhost (ip-64-134-239-153.public.wayport.net. [64.134.239.153]) by mx.google.com with ESMTPS id aw4sm3531156oec.9.2012.11.22.16.53.40 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 22 Nov 2012 16:53:41 -0800 (PST) From: Anton Vorontsov To: Andrew Morton Cc: Russell King , Jason Wessel , John Stultz , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linaro-kernel@lists.linaro.org, patches@linaro.org, kernel-team@android.com Subject: [PATCH 06/10] ARM: FIQ: Remove FIQ_START Date: Thu, 22 Nov 2012 16:49:59 -0800 Message-Id: <1353631803-4853-6-git-send-email-anton.vorontsov@linaro.org> X-Mailer: git-send-email 1.8.0 In-Reply-To: <20121123003849.GA973@lizard.mcd25758.sjc.wayport.net> References: <20121123003849.GA973@lizard.mcd25758.sjc.wayport.net> X-Gm-Message-State: ALoCoQmRDGPWWwZzuqsVE7LMv52oijtfocY5FMoc1tYxW+r/W1R5guGvKNGSU5jxEcJOhpiZoXul RPC: FIQ_START is irrelevant nowadays, the arch uses platform-specific iomd_{,un}mask_fiq() calls. OMAP1: The only user of FIQs is MACH_AMS_DELTA, and in particular its drivers/input/serio/ams_delta_serio.c driver. The driver does not rely on the FIQ interrupts directly, instead it uses a "deferred fiq" interrupt (raised after a buffer filled by the FIQ routine). The FIQ handling routines are not using disable_fiq() or enable_fiq() stuff, so it currently does not use FIQ_START at all -- the asm code uses OMAP_IH1_BASE and twiddles the bits itself. S3C: The only user of FIQs on s3c24xx is spi-s3c24xx driver. The driver works with interrupt controller directly (via S3C24XX_VA_IRQ base address), and does not use IRQ subsystem to mask/unmask IRQs. MXC: Users now use enable/disable_irq() routines. The drivers rely on a correctly passed VIRQ cookie anyway, so FIQ_START becomes irrelevant. Signed-off-by: Anton Vorontsov --- arch/arm/include/asm/mach/irq.h | 2 +- arch/arm/kernel/fiq.c | 2 +- arch/arm/mach-omap1/include/mach/irqs.h | 4 ---- arch/arm/mach-rpc/include/mach/irqs.h | 5 ----- arch/arm/mach-rpc/irq.c | 2 +- arch/arm/mach-s3c24xx/include/mach/irqs.h | 3 --- arch/arm/plat-mxc/avic.c | 2 +- arch/arm/plat-mxc/include/mach/irqs.h | 2 -- arch/arm/plat-mxc/tzic.c | 2 +- arch/arm/plat-s3c24xx/irq.c | 2 +- 10 files changed, 6 insertions(+), 20 deletions(-) diff --git a/arch/arm/include/asm/mach/irq.h b/arch/arm/include/asm/mach/irq.h index 15cb035..febe495 100644 --- a/arch/arm/include/asm/mach/irq.h +++ b/arch/arm/include/asm/mach/irq.h @@ -17,7 +17,7 @@ struct seq_file; /* * This is internal. Do not use it. */ -extern void init_FIQ(int); +extern void init_FIQ(void); extern int show_fiq_list(struct seq_file *, int); #ifdef CONFIG_MULTI_IRQ_HANDLER diff --git a/arch/arm/kernel/fiq.c b/arch/arm/kernel/fiq.c index 29b93b8..bd369c5 100644 --- a/arch/arm/kernel/fiq.c +++ b/arch/arm/kernel/fiq.c @@ -128,7 +128,7 @@ EXPORT_SYMBOL(__get_fiq_regs); /* defined in fiqasm.S */ EXPORT_SYMBOL(claim_fiq); EXPORT_SYMBOL(release_fiq); -void __init init_FIQ(int start) +void __init init_FIQ(void) { no_fiq_insn = *(unsigned long *)0xffff001c; } diff --git a/arch/arm/mach-omap1/include/mach/irqs.h b/arch/arm/mach-omap1/include/mach/irqs.h index 729992d..f254bb6 100644 --- a/arch/arm/mach-omap1/include/mach/irqs.h +++ b/arch/arm/mach-omap1/include/mach/irqs.h @@ -261,8 +261,4 @@ #include -#ifdef CONFIG_FIQ -#define FIQ_START 1024 -#endif - #endif diff --git a/arch/arm/mach-rpc/include/mach/irqs.h b/arch/arm/mach-rpc/include/mach/irqs.h index f27ead1..2536543 100644 --- a/arch/arm/mach-rpc/include/mach/irqs.h +++ b/arch/arm/mach-rpc/include/mach/irqs.h @@ -42,9 +42,4 @@ extern void iomd_mask_fiq(int fiq); extern void iomd_unmask_fiq(int fiq); #endif -/* - * This is the offset of the FIQ "IRQ" numbers - */ -#define FIQ_START 64 - #define NR_IRQS 128 diff --git a/arch/arm/mach-rpc/irq.c b/arch/arm/mach-rpc/irq.c index a4221b3..07770c8 100644 --- a/arch/arm/mach-rpc/irq.c +++ b/arch/arm/mach-rpc/irq.c @@ -152,6 +152,6 @@ void __init rpc_init_irq(void) } } - init_FIQ(FIQ_START); + init_FIQ(); } diff --git a/arch/arm/mach-s3c24xx/include/mach/irqs.h b/arch/arm/mach-s3c24xx/include/mach/irqs.h index b7a9f4d..7d66d41 100644 --- a/arch/arm/mach-s3c24xx/include/mach/irqs.h +++ b/arch/arm/mach-s3c24xx/include/mach/irqs.h @@ -209,7 +209,4 @@ #define IRQ_S3C244X_AC97 IRQ_S3C2443_AC97 #endif -/* Our FIQs are routable from IRQ_EINT0 to IRQ_ADCPARENT */ -#define FIQ_START IRQ_EINT0 - #endif /* __ASM_ARCH_IRQ_H */ diff --git a/arch/arm/plat-mxc/avic.c b/arch/arm/plat-mxc/avic.c index cbd55c3..19701ec 100644 --- a/arch/arm/plat-mxc/avic.c +++ b/arch/arm/plat-mxc/avic.c @@ -218,7 +218,7 @@ void __init mxc_init_irq(void __iomem *irqbase) #ifdef CONFIG_FIQ /* Initialize FIQ */ - init_FIQ(FIQ_START); + init_FIQ(); #endif printk(KERN_INFO "MXC IRQ initialized\n"); diff --git a/arch/arm/plat-mxc/include/mach/irqs.h b/arch/arm/plat-mxc/include/mach/irqs.h index d73f5e8..2ec942f 100644 --- a/arch/arm/plat-mxc/include/mach/irqs.h +++ b/arch/arm/plat-mxc/include/mach/irqs.h @@ -13,8 +13,6 @@ extern int imx_irq_set_priority(unsigned char irq, unsigned char prio); -/* all normal IRQs can be FIQs */ -#define FIQ_START 0 /* switch between IRQ and FIQ */ extern int mxc_set_irq_fiq(unsigned int irq, unsigned int type); diff --git a/arch/arm/plat-mxc/tzic.c b/arch/arm/plat-mxc/tzic.c index 3ed1adb..d09b573 100644 --- a/arch/arm/plat-mxc/tzic.c +++ b/arch/arm/plat-mxc/tzic.c @@ -193,7 +193,7 @@ void __init tzic_init_irq(void __iomem *irqbase) #ifdef CONFIG_FIQ /* Initialize FIQ */ - init_FIQ(FIQ_START); + init_FIQ(); #endif pr_info("TrustZone Interrupt Controller (TZIC) initialized\n"); diff --git a/arch/arm/plat-s3c24xx/irq.c b/arch/arm/plat-s3c24xx/irq.c index e4e9567..e0de92a 100644 --- a/arch/arm/plat-s3c24xx/irq.c +++ b/arch/arm/plat-s3c24xx/irq.c @@ -533,7 +533,7 @@ void __init s3c24xx_init_irq(void) int i; #ifdef CONFIG_FIQ - init_FIQ(FIQ_START); + init_FIQ(); #endif irqdbf("s3c2410_init_irq: clearing interrupt status flags\n");