All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ben Dooks <ben-linux@fluff.org>
To: Kukjin Kim <kgene.kim@samsung.com>
Cc: linux-arm-kernel@lists.infradead.org,
	linux-samsung-soc@vger.kernel.org, ben-linux@fluff.org,
	Jongpill Lee <boyko.lee@samsung.com>
Subject: Re: [PATCH 1/2] ARM: S5PV210: Add IRQ definitions for EINT
Date: Tue, 4 May 2010 06:00:59 +0100	[thread overview]
Message-ID: <20100504050059.GN2589@trinity.fluff.org> (raw)
In-Reply-To: <1272948680-19183-1-git-send-email-kgene.kim@samsung.com>

On Tue, May 04, 2010 at 01:51:20PM +0900, Kukjin Kim wrote:
> From: Jongpill Lee <boyko.lee@samsung.com>
> 
> This patch adds IRQ definitions for external interrupt.
> 
> Signed-off-by: Jongpill Lee <boyko.lee@samsung.com>
> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
> ---
>  arch/arm/mach-s5pv210/include/mach/irqs.h |   71 +++++++++++++++++++++++++++--
>  1 files changed, 67 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/arm/mach-s5pv210/include/mach/irqs.h b/arch/arm/mach-s5pv210/include/mach/irqs.h
> index 62c5175..e8e43db 100644
> --- a/arch/arm/mach-s5pv210/include/mach/irqs.h
> +++ b/arch/arm/mach-s5pv210/include/mach/irqs.h
> @@ -71,7 +71,7 @@
>  #define IRQ_SPI1		S5P_IRQ_VIC1(16)
>  #define IRQ_SPI2		S5P_IRQ_VIC1(17)
>  #define IRQ_IRDA		S5P_IRQ_VIC1(18)
> -#define IRQ_CAN0		S5P_IRQ_VIC1(19)
> +#define IRQ_IIC2		S5P_IRQ_VIC1(19)

fix and addition in same patch. no comment on fix.

>  #define IRQ_CAN1		S5P_IRQ_VIC1(20)
>  #define IRQ_HSIRX		S5P_IRQ_VIC1(21)
>  #define IRQ_HSITX		S5P_IRQ_VIC1(22)
> @@ -139,8 +139,71 @@
>  #define S5P_EINT(x)		((x) + S5P_IRQ_EINT_BASE)
>  #define IRQ_EINT(x)		S5P_EINT(x)
>  
> -/* Set the default NR_IRQS */
> +/* Next the external interrupt groups. These are similar to the IRQ_EINT(x)
> + * that they are sourced from the GPIO pins but with a different scheme for
> + * priority and source indication.
> + *
> + * The IRQ_EINT(x) can be thought of as 'group 0' of the available GPIO
> + * interrupts, but for historical reasons they are kept apart from these
> + * next interrupts.
> + *
> + * Use IRQ_EINT_GROUP(group, offset) to get the number for use in the
> + * machine specific support files.
> + */
> +
> +#define IRQ_EINT_GROUP1_NR	(8)	/* A0 */
> +#define IRQ_EINT_GROUP2_NR	(4)	/* A1 */
> +#define IRQ_EINT_GROUP3_NR	(8)     /* B */
> +#define IRQ_EINT_GROUP4_NR	(5)     /* C0 */
> +#define IRQ_EINT_GROUP5_NR	(5)     /* C1 */
> +#define IRQ_EINT_GROUP6_NR	(4)     /* D0 */
> +#define IRQ_EINT_GROUP7_NR	(6)     /* D1 */
> +#define IRQ_EINT_GROUP8_NR	(8)     /* E0 */
> +#define IRQ_EINT_GROUP9_NR	(5)     /* E1 */
> +#define IRQ_EINT_GROUP10_NR	(8)     /* F0 */
> +#define IRQ_EINT_GROUP11_NR	(8)     /* F1 */
> +#define IRQ_EINT_GROUP12_NR	(8)     /* F2 */
> +#define IRQ_EINT_GROUP13_NR	(6)     /* F3 */
> +#define IRQ_EINT_GROUP14_NR	(7)     /* G0 */
> +#define IRQ_EINT_GROUP15_NR	(7)     /* G1 */
> +#define IRQ_EINT_GROUP16_NR	(7)     /* G2 */
> +#define IRQ_EINT_GROUP17_NR	(7)     /* G3 */
> +#define IRQ_EINT_GROUP18_NR	(8)     /* J0 */
> +#define IRQ_EINT_GROUP19_NR	(6)     /* J1 */
> +#define IRQ_EINT_GROUP20_NR	(8)     /* J2 */
> +#define IRQ_EINT_GROUP21_NR	(8)     /* J3 */
> +#define IRQ_EINT_GROUP22_NR	(5)     /* J4 */
> +
> +#define IRQ_EINT_GROUP_BASE	S5P_EINT(31 + 1)
> +
> +#define IRQ_EINT_GROUP1_BASE	(IRQ_EINT_GROUP_BASE)
> +#define IRQ_EINT_GROUP2_BASE	(IRQ_EINT_GROUP1_BASE + IRQ_EINT_GROUP1_NR)
> +#define IRQ_EINT_GROUP3_BASE	(IRQ_EINT_GROUP2_BASE + IRQ_EINT_GROUP2_NR)
> +#define IRQ_EINT_GROUP4_BASE	(IRQ_EINT_GROUP3_BASE + IRQ_EINT_GROUP3_NR)
> +#define IRQ_EINT_GROUP5_BASE	(IRQ_EINT_GROUP4_BASE + IRQ_EINT_GROUP4_NR)
> +#define IRQ_EINT_GROUP6_BASE	(IRQ_EINT_GROUP5_BASE + IRQ_EINT_GROUP5_NR)
> +#define IRQ_EINT_GROUP7_BASE	(IRQ_EINT_GROUP6_BASE + IRQ_EINT_GROUP6_NR)
> +#define IRQ_EINT_GROUP8_BASE	(IRQ_EINT_GROUP7_BASE + IRQ_EINT_GROUP7_NR)
> +#define IRQ_EINT_GROUP9_BASE	(IRQ_EINT_GROUP8_BASE + IRQ_EINT_GROUP8_NR)
> +#define IRQ_EINT_GROUP10_BASE	(IRQ_EINT_GROUP9_BASE + IRQ_EINT_GROUP9_NR)
> +#define IRQ_EINT_GROUP11_BASE	(IRQ_EINT_GROUP10_BASE + IRQ_EINT_GROUP10_NR)
> +#define IRQ_EINT_GROUP12_BASE	(IRQ_EINT_GROUP11_BASE + IRQ_EINT_GROUP11_NR)
> +#define IRQ_EINT_GROUP13_BASE	(IRQ_EINT_GROUP12_BASE + IRQ_EINT_GROUP12_NR)
> +#define IRQ_EINT_GROUP14_BASE	(IRQ_EINT_GROUP13_BASE + IRQ_EINT_GROUP13_NR)
> +#define IRQ_EINT_GROUP15_BASE	(IRQ_EINT_GROUP14_BASE + IRQ_EINT_GROUP14_NR)
> +#define IRQ_EINT_GROUP16_BASE	(IRQ_EINT_GROUP15_BASE + IRQ_EINT_GROUP15_NR)
> +#define IRQ_EINT_GROUP17_BASE	(IRQ_EINT_GROUP16_BASE + IRQ_EINT_GROUP16_NR)
> +#define IRQ_EINT_GROUP18_BASE	(IRQ_EINT_GROUP17_BASE + IRQ_EINT_GROUP17_NR)
> +#define IRQ_EINT_GROUP19_BASE	(IRQ_EINT_GROUP18_BASE + IRQ_EINT_GROUP18_NR)
> +#define IRQ_EINT_GROUP20_BASE	(IRQ_EINT_GROUP19_BASE + IRQ_EINT_GROUP19_NR)
> +#define IRQ_EINT_GROUP21_BASE	(IRQ_EINT_GROUP20_BASE + IRQ_EINT_GROUP20_NR)
> +#define IRQ_EINT_GROUP22_BASE	(IRQ_EINT_GROUP21_BASE + IRQ_EINT_GROUP21_NR)
> +
> +#define IRQ_EINT_GROUP(group, no)	(IRQ_EINT_GROUP##group##_BASE + (no))
> +
> +#define IRQ_EINT_BIT(x)		((x) < IRQ_EINT16_31 ? \
> +				(x - IRQ_EINT0) : (x - S5P_IRQ_EINT_BASE))

No protection around 'x', either fix that or change to an inline function.
  
> -#define NR_IRQS 		(IRQ_EINT(31) + 1)
> +#define NR_IRQS		(IRQ_EINT_GROUP22_BASE + IRQ_EINT_GROUP22_NR + 1)
>  
> -#endif /* ASM_ARCH_IRQS_H */
> +#endif /* __ASM_ARCH_IRQS_H */
> -- 
> 1.6.2.5
> 

-- 
-- 
Ben

Q:      What's a light-year?
A:      One-third less calories than a regular year.

WARNING: multiple messages have this Message-ID (diff)
From: ben-linux@fluff.org (Ben Dooks)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/2] ARM: S5PV210: Add IRQ definitions for EINT
Date: Tue, 4 May 2010 06:00:59 +0100	[thread overview]
Message-ID: <20100504050059.GN2589@trinity.fluff.org> (raw)
In-Reply-To: <1272948680-19183-1-git-send-email-kgene.kim@samsung.com>

On Tue, May 04, 2010 at 01:51:20PM +0900, Kukjin Kim wrote:
> From: Jongpill Lee <boyko.lee@samsung.com>
> 
> This patch adds IRQ definitions for external interrupt.
> 
> Signed-off-by: Jongpill Lee <boyko.lee@samsung.com>
> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
> ---
>  arch/arm/mach-s5pv210/include/mach/irqs.h |   71 +++++++++++++++++++++++++++--
>  1 files changed, 67 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/arm/mach-s5pv210/include/mach/irqs.h b/arch/arm/mach-s5pv210/include/mach/irqs.h
> index 62c5175..e8e43db 100644
> --- a/arch/arm/mach-s5pv210/include/mach/irqs.h
> +++ b/arch/arm/mach-s5pv210/include/mach/irqs.h
> @@ -71,7 +71,7 @@
>  #define IRQ_SPI1		S5P_IRQ_VIC1(16)
>  #define IRQ_SPI2		S5P_IRQ_VIC1(17)
>  #define IRQ_IRDA		S5P_IRQ_VIC1(18)
> -#define IRQ_CAN0		S5P_IRQ_VIC1(19)
> +#define IRQ_IIC2		S5P_IRQ_VIC1(19)

fix and addition in same patch. no comment on fix.

>  #define IRQ_CAN1		S5P_IRQ_VIC1(20)
>  #define IRQ_HSIRX		S5P_IRQ_VIC1(21)
>  #define IRQ_HSITX		S5P_IRQ_VIC1(22)
> @@ -139,8 +139,71 @@
>  #define S5P_EINT(x)		((x) + S5P_IRQ_EINT_BASE)
>  #define IRQ_EINT(x)		S5P_EINT(x)
>  
> -/* Set the default NR_IRQS */
> +/* Next the external interrupt groups. These are similar to the IRQ_EINT(x)
> + * that they are sourced from the GPIO pins but with a different scheme for
> + * priority and source indication.
> + *
> + * The IRQ_EINT(x) can be thought of as 'group 0' of the available GPIO
> + * interrupts, but for historical reasons they are kept apart from these
> + * next interrupts.
> + *
> + * Use IRQ_EINT_GROUP(group, offset) to get the number for use in the
> + * machine specific support files.
> + */
> +
> +#define IRQ_EINT_GROUP1_NR	(8)	/* A0 */
> +#define IRQ_EINT_GROUP2_NR	(4)	/* A1 */
> +#define IRQ_EINT_GROUP3_NR	(8)     /* B */
> +#define IRQ_EINT_GROUP4_NR	(5)     /* C0 */
> +#define IRQ_EINT_GROUP5_NR	(5)     /* C1 */
> +#define IRQ_EINT_GROUP6_NR	(4)     /* D0 */
> +#define IRQ_EINT_GROUP7_NR	(6)     /* D1 */
> +#define IRQ_EINT_GROUP8_NR	(8)     /* E0 */
> +#define IRQ_EINT_GROUP9_NR	(5)     /* E1 */
> +#define IRQ_EINT_GROUP10_NR	(8)     /* F0 */
> +#define IRQ_EINT_GROUP11_NR	(8)     /* F1 */
> +#define IRQ_EINT_GROUP12_NR	(8)     /* F2 */
> +#define IRQ_EINT_GROUP13_NR	(6)     /* F3 */
> +#define IRQ_EINT_GROUP14_NR	(7)     /* G0 */
> +#define IRQ_EINT_GROUP15_NR	(7)     /* G1 */
> +#define IRQ_EINT_GROUP16_NR	(7)     /* G2 */
> +#define IRQ_EINT_GROUP17_NR	(7)     /* G3 */
> +#define IRQ_EINT_GROUP18_NR	(8)     /* J0 */
> +#define IRQ_EINT_GROUP19_NR	(6)     /* J1 */
> +#define IRQ_EINT_GROUP20_NR	(8)     /* J2 */
> +#define IRQ_EINT_GROUP21_NR	(8)     /* J3 */
> +#define IRQ_EINT_GROUP22_NR	(5)     /* J4 */
> +
> +#define IRQ_EINT_GROUP_BASE	S5P_EINT(31 + 1)
> +
> +#define IRQ_EINT_GROUP1_BASE	(IRQ_EINT_GROUP_BASE)
> +#define IRQ_EINT_GROUP2_BASE	(IRQ_EINT_GROUP1_BASE + IRQ_EINT_GROUP1_NR)
> +#define IRQ_EINT_GROUP3_BASE	(IRQ_EINT_GROUP2_BASE + IRQ_EINT_GROUP2_NR)
> +#define IRQ_EINT_GROUP4_BASE	(IRQ_EINT_GROUP3_BASE + IRQ_EINT_GROUP3_NR)
> +#define IRQ_EINT_GROUP5_BASE	(IRQ_EINT_GROUP4_BASE + IRQ_EINT_GROUP4_NR)
> +#define IRQ_EINT_GROUP6_BASE	(IRQ_EINT_GROUP5_BASE + IRQ_EINT_GROUP5_NR)
> +#define IRQ_EINT_GROUP7_BASE	(IRQ_EINT_GROUP6_BASE + IRQ_EINT_GROUP6_NR)
> +#define IRQ_EINT_GROUP8_BASE	(IRQ_EINT_GROUP7_BASE + IRQ_EINT_GROUP7_NR)
> +#define IRQ_EINT_GROUP9_BASE	(IRQ_EINT_GROUP8_BASE + IRQ_EINT_GROUP8_NR)
> +#define IRQ_EINT_GROUP10_BASE	(IRQ_EINT_GROUP9_BASE + IRQ_EINT_GROUP9_NR)
> +#define IRQ_EINT_GROUP11_BASE	(IRQ_EINT_GROUP10_BASE + IRQ_EINT_GROUP10_NR)
> +#define IRQ_EINT_GROUP12_BASE	(IRQ_EINT_GROUP11_BASE + IRQ_EINT_GROUP11_NR)
> +#define IRQ_EINT_GROUP13_BASE	(IRQ_EINT_GROUP12_BASE + IRQ_EINT_GROUP12_NR)
> +#define IRQ_EINT_GROUP14_BASE	(IRQ_EINT_GROUP13_BASE + IRQ_EINT_GROUP13_NR)
> +#define IRQ_EINT_GROUP15_BASE	(IRQ_EINT_GROUP14_BASE + IRQ_EINT_GROUP14_NR)
> +#define IRQ_EINT_GROUP16_BASE	(IRQ_EINT_GROUP15_BASE + IRQ_EINT_GROUP15_NR)
> +#define IRQ_EINT_GROUP17_BASE	(IRQ_EINT_GROUP16_BASE + IRQ_EINT_GROUP16_NR)
> +#define IRQ_EINT_GROUP18_BASE	(IRQ_EINT_GROUP17_BASE + IRQ_EINT_GROUP17_NR)
> +#define IRQ_EINT_GROUP19_BASE	(IRQ_EINT_GROUP18_BASE + IRQ_EINT_GROUP18_NR)
> +#define IRQ_EINT_GROUP20_BASE	(IRQ_EINT_GROUP19_BASE + IRQ_EINT_GROUP19_NR)
> +#define IRQ_EINT_GROUP21_BASE	(IRQ_EINT_GROUP20_BASE + IRQ_EINT_GROUP20_NR)
> +#define IRQ_EINT_GROUP22_BASE	(IRQ_EINT_GROUP21_BASE + IRQ_EINT_GROUP21_NR)
> +
> +#define IRQ_EINT_GROUP(group, no)	(IRQ_EINT_GROUP##group##_BASE + (no))
> +
> +#define IRQ_EINT_BIT(x)		((x) < IRQ_EINT16_31 ? \
> +				(x - IRQ_EINT0) : (x - S5P_IRQ_EINT_BASE))

No protection around 'x', either fix that or change to an inline function.
  
> -#define NR_IRQS 		(IRQ_EINT(31) + 1)
> +#define NR_IRQS		(IRQ_EINT_GROUP22_BASE + IRQ_EINT_GROUP22_NR + 1)
>  
> -#endif /* ASM_ARCH_IRQS_H */
> +#endif /* __ASM_ARCH_IRQS_H */
> -- 
> 1.6.2.5
> 

-- 
-- 
Ben

Q:      What's a light-year?
A:      One-third less calories than a regular year.

  reply	other threads:[~2010-05-04  5:01 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-04  4:51 [PATCH 1/2] ARM: S5PV210: Add IRQ definitions for EINT Kukjin Kim
2010-05-04  4:51 ` Kukjin Kim
2010-05-04  5:00 ` Ben Dooks [this message]
2010-05-04  5:00   ` Ben Dooks

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100504050059.GN2589@trinity.fluff.org \
    --to=ben-linux@fluff.org \
    --cc=boyko.lee@samsung.com \
    --cc=kgene.kim@samsung.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.