From: Kukjin Kim <kgene.kim@samsung.com>
To: 'Marek Szyprowski' <m.szyprowski@samsung.com>,
linux-samsung-soc@vger.kernel.org,
linux-arm-kernel@lists.infradead.org
Cc: kyungmin.park@samsung.com, ben-linux@fluff.org
Subject: RE: [PATCH] ARM: Samsung S5P: Unify defines for both gpio interrupt types
Date: Thu, 30 Sep 2010 20:23:14 +0900 [thread overview]
Message-ID: <00a501cb6091$e25692c0$a703b840$%kim@samsung.com> (raw)
In-Reply-To: <1285841906-21194-1-git-send-email-m.szyprowski@samsung.com>
Marek Szyprowski wrote:
>
> Samsung S5P series have the same interrupt type defines for both
> external interrupts and gpio interrupts. This patch removes all
> duplicates from s5pc100 and s5pv210 specific includes as well as gpio
> int code and put a common defines to plat/irqs.h
>
> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
>
> ---
>
> Hello,
>
Hi ;-)
> This patch has been prepared as a continuation of my patch series for
> gpio interrupts (see "[PATCH v3] ARM: S5P: Add support for gpio
> interrupts" thread). It requires them to be applied first.
Ok..I got it.
>
> Best regards
> --
> Marek Szyprowski
> Samsung Poland R&D Center
>
> ---
>
> arch/arm/mach-s5pc100/include/mach/regs-gpio.h | 7 -------
> arch/arm/mach-s5pv210/include/mach/regs-gpio.h | 7 -------
> arch/arm/plat-s5p/include/plat/irqs.h | 7 +++++++
> arch/arm/plat-s5p/irq-eint.c | 10 +++++-----
> arch/arm/plat-s5p/irq-gpioint.c | 16 +++++-----------
> 5 files changed, 17 insertions(+), 30 deletions(-)
>
> diff --git a/arch/arm/mach-s5pc100/include/mach/regs-gpio.h
b/arch/arm/mach-
> s5pc100/include/mach/regs-gpio.h
> index 6abe481..8c47536 100644
> --- a/arch/arm/mach-s5pc100/include/mach/regs-gpio.h
> +++ b/arch/arm/mach-s5pc100/include/mach/regs-gpio.h
> @@ -64,13 +64,6 @@
>
> #define eint_irq_to_bit(irq) (1 << (EINT_OFFSET(irq) & 0x7))
>
> -/* values for S5P_EXTINT0 */
> -#define S5P_EXTINT_LOWLEV (0x00)
> -#define S5P_EXTINT_HILEV (0x01)
> -#define S5P_EXTINT_FALLEDGE (0x02)
> -#define S5P_EXTINT_RISEEDGE (0x03)
> -#define S5P_EXTINT_BOTHEDGE (0x04)
> -
> #define EINT_MODE S3C_GPIO_SFN(0x2)
>
> #define EINT_GPIO_0(x) S5PC100_GPH0(x)
> diff --git a/arch/arm/mach-s5pv210/include/mach/regs-gpio.h
b/arch/arm/mach-
> s5pv210/include/mach/regs-gpio.h
> index 49e029b..de0c899 100644
> --- a/arch/arm/mach-s5pv210/include/mach/regs-gpio.h
> +++ b/arch/arm/mach-s5pv210/include/mach/regs-gpio.h
> @@ -31,13 +31,6 @@
>
> #define eint_irq_to_bit(irq) (1 << (EINT_OFFSET(irq) & 0x7))
>
> -/* values for S5P_EXTINT0 */
> -#define S5P_EXTINT_LOWLEV (0x00)
> -#define S5P_EXTINT_HILEV (0x01)
> -#define S5P_EXTINT_FALLEDGE (0x02)
> -#define S5P_EXTINT_RISEEDGE (0x03)
> -#define S5P_EXTINT_BOTHEDGE (0x04)
> -
> #define EINT_MODE S3C_GPIO_SFN(0xf)
>
> #define EINT_GPIO_0(x) S5PV210_GPH0(x)
> diff --git a/arch/arm/plat-s5p/include/plat/irqs.h b/arch/arm/plat-
> s5p/include/plat/irqs.h
> index 5a7bf96..3b402cd 100644
> --- a/arch/arm/plat-s5p/include/plat/irqs.h
> +++ b/arch/arm/plat-s5p/include/plat/irqs.h
> @@ -103,4 +103,11 @@
> #define S5P_GPIOINT_GROUP_SIZE 8
> #define S5P_GPIOINT_COUNT (S5P_GPIOINT_GROUP_COUNT *
> S5P_GPIOINT_GROUP_SIZE)
>
> +/* IRQ types common for all s5p platforms */
> +#define S5P_IRQ_TYPE_LEVEL_LOW (0x00)
> +#define S5P_IRQ_TYPE_LEVEL_HIGH (0x01)
> +#define S5P_IRQ_TYPE_EDGE_FALLING (0x02)
> +#define S5P_IRQ_TYPE_EDGE_RISING (0x03)
> +#define S5P_IRQ_TYPE_EDGE_BOTH (0x04)
> +
But the values for S5P64X0 is different. So we should sort it out when
support this on S5P64X0.
> #endif /* __ASM_PLAT_S5P_IRQS_H */
> diff --git a/arch/arm/plat-s5p/irq-eint.c b/arch/arm/plat-s5p/irq-eint.c
> index f36cd33..752f1a6 100644
> --- a/arch/arm/plat-s5p/irq-eint.c
> +++ b/arch/arm/plat-s5p/irq-eint.c
> @@ -67,23 +67,23 @@ static int s5p_irq_eint_set_type(unsigned int irq,
unsigned
> int type)
>
> switch (type) {
> case IRQ_TYPE_EDGE_RISING:
> - newvalue = S5P_EXTINT_RISEEDGE;
> + newvalue = S5P_IRQ_TYPE_EDGE_RISING;
> break;
>
> case IRQ_TYPE_EDGE_FALLING:
> - newvalue = S5P_EXTINT_FALLEDGE;
> + newvalue = S5P_IRQ_TYPE_EDGE_FALLING;
> break;
>
> case IRQ_TYPE_EDGE_BOTH:
> - newvalue = S5P_EXTINT_BOTHEDGE;
> + newvalue = S5P_IRQ_TYPE_EDGE_BOTH;
> break;
>
> case IRQ_TYPE_LEVEL_LOW:
> - newvalue = S5P_EXTINT_LOWLEV;
> + newvalue = S5P_IRQ_TYPE_LEVEL_LOW;
> break;
>
> case IRQ_TYPE_LEVEL_HIGH:
> - newvalue = S5P_EXTINT_HILEV;
> + newvalue = S5P_IRQ_TYPE_LEVEL_HIGH;
> break;
>
> default:
> diff --git a/arch/arm/plat-s5p/irq-gpioint.c
b/arch/arm/plat-s5p/irq-gpioint.c
> index 768fd39..0e5dc8c 100644
> --- a/arch/arm/plat-s5p/irq-gpioint.c
> +++ b/arch/arm/plat-s5p/irq-gpioint.c
> @@ -28,12 +28,6 @@
> #define GPIOINT_MASK_OFFSET 0x900
> #define GPIOINT_PEND_OFFSET 0xA00
>
> -#define GPIOINT_LEVEL_LOW 0x0
> -#define GPIOINT_LEVEL_HIGH 0x1
> -#define GPIOINT_EDGE_FALLING 0x2
> -#define GPIOINT_EDGE_RISING 0x3
> -#define GPIOINT_EDGE_BOTH 0x4
> -
> static struct s3c_gpio_chip *irq_chips[S5P_GPIOINT_GROUP_MAXNR];
>
> static int s5p_gpioint_get_group(unsigned int irq)
> @@ -118,19 +112,19 @@ static int s5p_gpioint_set_type(unsigned int irq,
> unsigned int type)
>
> switch (type) {
> case IRQ_TYPE_EDGE_RISING:
> - type = GPIOINT_EDGE_RISING;
> + type = S5P_IRQ_TYPE_EDGE_RISING;
> break;
> case IRQ_TYPE_EDGE_FALLING:
> - type = GPIOINT_EDGE_FALLING;
> + type = S5P_IRQ_TYPE_EDGE_FALLING;
> break;
> case IRQ_TYPE_EDGE_BOTH:
> - type = GPIOINT_EDGE_BOTH;
> + type = S5P_IRQ_TYPE_EDGE_BOTH;
> break;
> case IRQ_TYPE_LEVEL_HIGH:
> - type = GPIOINT_LEVEL_HIGH;
> + type = S5P_IRQ_TYPE_LEVEL_HIGH;
> break;
> case IRQ_TYPE_LEVEL_LOW:
> - type = GPIOINT_LEVEL_LOW;
> + type = S5P_IRQ_TYPE_LEVEL_LOW;
> break;
> case IRQ_TYPE_NONE:
> default:
> --
Ok..firstly looks ok to me now.
But I don't know...in the future may have to revert back due to S5P64XX.
Firstly will apply.
Thanks.
Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.
WARNING: multiple messages have this Message-ID (diff)
From: kgene.kim@samsung.com (Kukjin Kim)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] ARM: Samsung S5P: Unify defines for both gpio interrupt types
Date: Thu, 30 Sep 2010 20:23:14 +0900 [thread overview]
Message-ID: <00a501cb6091$e25692c0$a703b840$%kim@samsung.com> (raw)
In-Reply-To: <1285841906-21194-1-git-send-email-m.szyprowski@samsung.com>
Marek Szyprowski wrote:
>
> Samsung S5P series have the same interrupt type defines for both
> external interrupts and gpio interrupts. This patch removes all
> duplicates from s5pc100 and s5pv210 specific includes as well as gpio
> int code and put a common defines to plat/irqs.h
>
> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
>
> ---
>
> Hello,
>
Hi ;-)
> This patch has been prepared as a continuation of my patch series for
> gpio interrupts (see "[PATCH v3] ARM: S5P: Add support for gpio
> interrupts" thread). It requires them to be applied first.
Ok..I got it.
>
> Best regards
> --
> Marek Szyprowski
> Samsung Poland R&D Center
>
> ---
>
> arch/arm/mach-s5pc100/include/mach/regs-gpio.h | 7 -------
> arch/arm/mach-s5pv210/include/mach/regs-gpio.h | 7 -------
> arch/arm/plat-s5p/include/plat/irqs.h | 7 +++++++
> arch/arm/plat-s5p/irq-eint.c | 10 +++++-----
> arch/arm/plat-s5p/irq-gpioint.c | 16 +++++-----------
> 5 files changed, 17 insertions(+), 30 deletions(-)
>
> diff --git a/arch/arm/mach-s5pc100/include/mach/regs-gpio.h
b/arch/arm/mach-
> s5pc100/include/mach/regs-gpio.h
> index 6abe481..8c47536 100644
> --- a/arch/arm/mach-s5pc100/include/mach/regs-gpio.h
> +++ b/arch/arm/mach-s5pc100/include/mach/regs-gpio.h
> @@ -64,13 +64,6 @@
>
> #define eint_irq_to_bit(irq) (1 << (EINT_OFFSET(irq) & 0x7))
>
> -/* values for S5P_EXTINT0 */
> -#define S5P_EXTINT_LOWLEV (0x00)
> -#define S5P_EXTINT_HILEV (0x01)
> -#define S5P_EXTINT_FALLEDGE (0x02)
> -#define S5P_EXTINT_RISEEDGE (0x03)
> -#define S5P_EXTINT_BOTHEDGE (0x04)
> -
> #define EINT_MODE S3C_GPIO_SFN(0x2)
>
> #define EINT_GPIO_0(x) S5PC100_GPH0(x)
> diff --git a/arch/arm/mach-s5pv210/include/mach/regs-gpio.h
b/arch/arm/mach-
> s5pv210/include/mach/regs-gpio.h
> index 49e029b..de0c899 100644
> --- a/arch/arm/mach-s5pv210/include/mach/regs-gpio.h
> +++ b/arch/arm/mach-s5pv210/include/mach/regs-gpio.h
> @@ -31,13 +31,6 @@
>
> #define eint_irq_to_bit(irq) (1 << (EINT_OFFSET(irq) & 0x7))
>
> -/* values for S5P_EXTINT0 */
> -#define S5P_EXTINT_LOWLEV (0x00)
> -#define S5P_EXTINT_HILEV (0x01)
> -#define S5P_EXTINT_FALLEDGE (0x02)
> -#define S5P_EXTINT_RISEEDGE (0x03)
> -#define S5P_EXTINT_BOTHEDGE (0x04)
> -
> #define EINT_MODE S3C_GPIO_SFN(0xf)
>
> #define EINT_GPIO_0(x) S5PV210_GPH0(x)
> diff --git a/arch/arm/plat-s5p/include/plat/irqs.h b/arch/arm/plat-
> s5p/include/plat/irqs.h
> index 5a7bf96..3b402cd 100644
> --- a/arch/arm/plat-s5p/include/plat/irqs.h
> +++ b/arch/arm/plat-s5p/include/plat/irqs.h
> @@ -103,4 +103,11 @@
> #define S5P_GPIOINT_GROUP_SIZE 8
> #define S5P_GPIOINT_COUNT (S5P_GPIOINT_GROUP_COUNT *
> S5P_GPIOINT_GROUP_SIZE)
>
> +/* IRQ types common for all s5p platforms */
> +#define S5P_IRQ_TYPE_LEVEL_LOW (0x00)
> +#define S5P_IRQ_TYPE_LEVEL_HIGH (0x01)
> +#define S5P_IRQ_TYPE_EDGE_FALLING (0x02)
> +#define S5P_IRQ_TYPE_EDGE_RISING (0x03)
> +#define S5P_IRQ_TYPE_EDGE_BOTH (0x04)
> +
But the values for S5P64X0 is different. So we should sort it out when
support this on S5P64X0.
> #endif /* __ASM_PLAT_S5P_IRQS_H */
> diff --git a/arch/arm/plat-s5p/irq-eint.c b/arch/arm/plat-s5p/irq-eint.c
> index f36cd33..752f1a6 100644
> --- a/arch/arm/plat-s5p/irq-eint.c
> +++ b/arch/arm/plat-s5p/irq-eint.c
> @@ -67,23 +67,23 @@ static int s5p_irq_eint_set_type(unsigned int irq,
unsigned
> int type)
>
> switch (type) {
> case IRQ_TYPE_EDGE_RISING:
> - newvalue = S5P_EXTINT_RISEEDGE;
> + newvalue = S5P_IRQ_TYPE_EDGE_RISING;
> break;
>
> case IRQ_TYPE_EDGE_FALLING:
> - newvalue = S5P_EXTINT_FALLEDGE;
> + newvalue = S5P_IRQ_TYPE_EDGE_FALLING;
> break;
>
> case IRQ_TYPE_EDGE_BOTH:
> - newvalue = S5P_EXTINT_BOTHEDGE;
> + newvalue = S5P_IRQ_TYPE_EDGE_BOTH;
> break;
>
> case IRQ_TYPE_LEVEL_LOW:
> - newvalue = S5P_EXTINT_LOWLEV;
> + newvalue = S5P_IRQ_TYPE_LEVEL_LOW;
> break;
>
> case IRQ_TYPE_LEVEL_HIGH:
> - newvalue = S5P_EXTINT_HILEV;
> + newvalue = S5P_IRQ_TYPE_LEVEL_HIGH;
> break;
>
> default:
> diff --git a/arch/arm/plat-s5p/irq-gpioint.c
b/arch/arm/plat-s5p/irq-gpioint.c
> index 768fd39..0e5dc8c 100644
> --- a/arch/arm/plat-s5p/irq-gpioint.c
> +++ b/arch/arm/plat-s5p/irq-gpioint.c
> @@ -28,12 +28,6 @@
> #define GPIOINT_MASK_OFFSET 0x900
> #define GPIOINT_PEND_OFFSET 0xA00
>
> -#define GPIOINT_LEVEL_LOW 0x0
> -#define GPIOINT_LEVEL_HIGH 0x1
> -#define GPIOINT_EDGE_FALLING 0x2
> -#define GPIOINT_EDGE_RISING 0x3
> -#define GPIOINT_EDGE_BOTH 0x4
> -
> static struct s3c_gpio_chip *irq_chips[S5P_GPIOINT_GROUP_MAXNR];
>
> static int s5p_gpioint_get_group(unsigned int irq)
> @@ -118,19 +112,19 @@ static int s5p_gpioint_set_type(unsigned int irq,
> unsigned int type)
>
> switch (type) {
> case IRQ_TYPE_EDGE_RISING:
> - type = GPIOINT_EDGE_RISING;
> + type = S5P_IRQ_TYPE_EDGE_RISING;
> break;
> case IRQ_TYPE_EDGE_FALLING:
> - type = GPIOINT_EDGE_FALLING;
> + type = S5P_IRQ_TYPE_EDGE_FALLING;
> break;
> case IRQ_TYPE_EDGE_BOTH:
> - type = GPIOINT_EDGE_BOTH;
> + type = S5P_IRQ_TYPE_EDGE_BOTH;
> break;
> case IRQ_TYPE_LEVEL_HIGH:
> - type = GPIOINT_LEVEL_HIGH;
> + type = S5P_IRQ_TYPE_LEVEL_HIGH;
> break;
> case IRQ_TYPE_LEVEL_LOW:
> - type = GPIOINT_LEVEL_LOW;
> + type = S5P_IRQ_TYPE_LEVEL_LOW;
> break;
> case IRQ_TYPE_NONE:
> default:
> --
Ok..firstly looks ok to me now.
But I don't know...in the future may have to revert back due to S5P64XX.
Firstly will apply.
Thanks.
Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.
next prev parent reply other threads:[~2010-09-30 11:23 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-09-30 10:18 [PATCH] ARM: Samsung S5P: Unify defines for both gpio interrupt types Marek Szyprowski
2010-09-30 10:18 ` Marek Szyprowski
2010-09-30 11:23 ` Kukjin Kim [this message]
2010-09-30 11:23 ` Kukjin Kim
2010-09-30 11:32 ` Marek Szyprowski
2010-09-30 11:32 ` Marek Szyprowski
2010-09-30 11:45 ` Kukjin Kim
2010-09-30 11:45 ` Kukjin Kim
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='00a501cb6091$e25692c0$a703b840$%kim@samsung.com' \
--to=kgene.kim@samsung.com \
--cc=ben-linux@fluff.org \
--cc=kyungmin.park@samsung.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=m.szyprowski@samsung.com \
/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.