[PATCH 3/3] ARM: Samsung S3C: Move/use the S3C common GPIO IRQ type

Kukjin Kim kgene.kim at samsung.com
Mon Aug 30 08:09:53 EDT 2010


Kyungmin Park wrote:
> 
> From: Kyungmin Park <kyungmin.park at samsung.com>
> 
> Samsung S3C series have the common GPIO IRQ type for all S3C series.
> 
I can't agree with your changing name. Why do you want to change the name?
If you want to move S3C2410_EXTINT_XXX from regs-irqtype.h, just move
without any changes.

But I'm still thinking why should we move the external interrupt definitions
to plat/gpio-core.h...

> Signed-off-by: Kyungmin Park <kyungmin.park at samsung.com>
> ---
>  arch/arm/mach-s3c64xx/irq-eint.c                  |   12 ++++++------
>  arch/arm/plat-s3c24xx/irq.c                       |   14 +++++++-------
>  arch/arm/plat-s5p/irq-eint.c                      |    2 --
>  arch/arm/plat-samsung/include/plat/gpio-core.h    |    6 ++++++
>  arch/arm/plat-samsung/include/plat/regs-irqtype.h |   21
---------------------
>  5 files changed, 19 insertions(+), 36 deletions(-)
>  delete mode 100644 arch/arm/plat-samsung/include/plat/regs-irqtype.h
> 
> diff --git a/arch/arm/mach-s3c64xx/irq-eint.c
b/arch/arm/mach-s3c64xx/irq-eint.c
> index 5682d6a..c079147 100644
> --- a/arch/arm/mach-s3c64xx/irq-eint.c
> +++ b/arch/arm/mach-s3c64xx/irq-eint.c
> @@ -21,8 +21,8 @@
> 
>  #include <asm/hardware/vic.h>
> 
> -#include <plat/regs-irqtype.h>
>  #include <mach/regs-gpio.h>
> +#include <plat/gpio-core.h>
>  #include <plat/gpio-cfg.h>
> 
>  #include <mach/map.h>
> @@ -85,23 +85,23 @@ static int s3c_irq_eint_set_type(unsigned int irq,
unsigned
> int type)
>  		break;
> 
>  	case IRQ_TYPE_EDGE_RISING:
> -		newvalue = S3C2410_EXTINT_RISEEDGE;
> +		newvalue = S3C_GPIO_EDGE_RISING;
>  		break;
> 
>  	case IRQ_TYPE_EDGE_FALLING:
> -		newvalue = S3C2410_EXTINT_FALLEDGE;
> +		newvalue = S3C_GPIO_EDGE_FALLING;
>  		break;
> 
>  	case IRQ_TYPE_EDGE_BOTH:
> -		newvalue = S3C2410_EXTINT_BOTHEDGE;
> +		newvalue = S3C_GPIO_EDGE_BOTH;
>  		break;
> 
>  	case IRQ_TYPE_LEVEL_LOW:
> -		newvalue = S3C2410_EXTINT_LOWLEV;
> +		newvalue = S3C_GPIO_LEVEL_LOW;
>  		break;
> 
>  	case IRQ_TYPE_LEVEL_HIGH:
> -		newvalue = S3C2410_EXTINT_HILEV;
> +		newvalue = S3C_GPIO_LEVEL_HIGH;
>  		break;
> 
>  	default:
> diff --git a/arch/arm/plat-s3c24xx/irq.c b/arch/arm/plat-s3c24xx/irq.c
> index ad0d44e..e1a6fe5 100644
> --- a/arch/arm/plat-s3c24xx/irq.c
> +++ b/arch/arm/plat-s3c24xx/irq.c
> @@ -23,12 +23,12 @@
>  #include <linux/interrupt.h>
>  #include <linux/ioport.h>
>  #include <linux/sysdev.h>
> +#include <linux/gpio.h>
> 
Why need this inclusion?

>  #include <asm/irq.h>
>  #include <asm/mach/irq.h>
> 
> -#include <plat/regs-irqtype.h>
> -
> +#include <plat/gpio-core.h>
>  #include <plat/cpu.h>
>  #include <plat/pm.h>
>  #include <plat/irq.h>
> @@ -201,23 +201,23 @@ s3c_irqext_type(unsigned int irq, unsigned int type)
>  			break;
> 
>  		case IRQ_TYPE_EDGE_RISING:
> -			newvalue = S3C2410_EXTINT_RISEEDGE;
> +			newvalue = S3C_GPIO_EDGE_RISING;
>  			break;
> 
>  		case IRQ_TYPE_EDGE_FALLING:
> -			newvalue = S3C2410_EXTINT_FALLEDGE;
> +			newvalue = S3C_GPIO_EDGE_FALLING;
>  			break;
> 
>  		case IRQ_TYPE_EDGE_BOTH:
> -			newvalue = S3C2410_EXTINT_BOTHEDGE;
> +			newvalue = S3C_GPIO_EDGE_BOTH;
>  			break;
> 
>  		case IRQ_TYPE_LEVEL_LOW:
> -			newvalue = S3C2410_EXTINT_LOWLEV;
> +			newvalue = S3C_GPIO_LEVEL_LOW;
>  			break;
> 
>  		case IRQ_TYPE_LEVEL_HIGH:
> -			newvalue = S3C2410_EXTINT_HILEV;
> +			newvalue = S3C_GPIO_LEVEL_HIGH;
>  			break;
> 
>  		default:
> diff --git a/arch/arm/plat-s5p/irq-eint.c b/arch/arm/plat-s5p/irq-eint.c
> index 4e0d94b..02d6ea2 100644
> --- a/arch/arm/plat-s5p/irq-eint.c
> +++ b/arch/arm/plat-s5p/irq-eint.c
> @@ -19,8 +19,6 @@
> 
>  #include <asm/hardware/vic.h>
> 
> -#include <plat/regs-irqtype.h>
> -
>  #include <mach/map.h>
>  #include <plat/cpu.h>
>  #include <plat/pm.h>
> diff --git a/arch/arm/plat-samsung/include/plat/gpio-core.h
b/arch/arm/plat-
> samsung/include/plat/gpio-core.h
> index c8681e0..2aef589 100644
> --- a/arch/arm/plat-samsung/include/plat/gpio-core.h
> +++ b/arch/arm/plat-samsung/include/plat/gpio-core.h
> @@ -14,6 +14,12 @@
>  #define GPIOCON_OFF	(0x00)
>  #define GPIODAT_OFF	(0x04)
> 
> +#define S3C_GPIO_LEVEL_LOW		(0x00)
> +#define S3C_GPIO_LEVEL_HIGH		(0x01)
> +#define S3C_GPIO_EDGE_FALLING		(0x02)
> +#define S3C_GPIO_EDGE_RISING		(0x04)
> +#define S3C_GPIO_EDGE_BOTH		(0x06)
> +
GPIO_LELVEL? GPIO_EDGE?...

I think EXTINT_LEVEL_XXX and EXTINT_EDGE_XXX are more clear.

>  #define S5P_GPIO_LEVEL_LOW		(0x00)
>  #define S5P_GPIO_LEVEL_HIGH		(0x01)
>  #define S5P_GPIO_EDGE_FALLING		(0x02)
> diff --git a/arch/arm/plat-samsung/include/plat/regs-irqtype.h
b/arch/arm/plat-
> samsung/include/plat/regs-irqtype.h
> deleted file mode 100644
> index c63cd3f..0000000
> --- a/arch/arm/plat-samsung/include/plat/regs-irqtype.h
> +++ /dev/null
> @@ -1,21 +0,0 @@
> -/* arch/arm/plat-s3c/include/plat/regs-irqtype.h
> - *
> - * Copyright 2008 Simtec Electronics
> - *      Ben Dooks <ben at simtec.co.uk>
> - *      http://armlinux.simtec.co.uk/
> - *
> - * S3C - IRQ detection types.
> - *
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License version 2 as
> - * published by the Free Software Foundation.
> - */
> -
> -/* values for S3C2410_EXTINT0/1/2 and other cpus in the series, including
> - * the S3C64XX
> -*/
> -#define S3C2410_EXTINT_LOWLEV	 (0x00)
> -#define S3C2410_EXTINT_HILEV	 (0x01)
> -#define S3C2410_EXTINT_FALLEDGE	 (0x02)
> -#define S3C2410_EXTINT_RISEEDGE	 (0x04)
> -#define S3C2410_EXTINT_BOTHEDGE	 (0x06)
> --

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim at samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.




More information about the linux-arm-kernel mailing list