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,
	Banajit Goswami <banajit.g@samsung.com>
Subject: Re: [PATCH 1/5] ARM: SAMSUNG: Move WDT device definitions in plat-samsung
Date: Thu, 20 May 2010 08:43:46 +0100	[thread overview]
Message-ID: <20100520074346.GN4720@trinity.fluff.org> (raw)
In-Reply-To: <1274340092-10706-2-git-send-email-kgene.kim@samsung.com>

On Thu, May 20, 2010 at 04:21:28PM +0900, Kukjin Kim wrote:
> From: Banajit Goswami <banajit.g@samsung.com>
> 
> This patch moves the definitions of watchdog timer device from
> plat-s3c24xx to plat-samsung. This will enable all Samsung S3C
> and S5P series SoC's to use common WDT device definition.
> 
> And adds HAVE_S3C2410_WATCHDOG for selecting in each machine
> without modifying Kconfig in drivers directory.
> 
> Signed-off-by: Banajit Goswami <banajit.g@samsung.com>
> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
> ---
>  arch/arm/Kconfig                         |    1 +
>  arch/arm/mach-s3c2410/include/mach/map.h |    1 +
>  arch/arm/plat-s3c24xx/devs.c             |   26 -------------------
>  arch/arm/plat-samsung/Kconfig            |    6 ++++
>  arch/arm/plat-samsung/Makefile           |    1 +
>  arch/arm/plat-samsung/dev-wdt.c          |   40 ++++++++++++++++++++++++++++++
>  drivers/watchdog/Kconfig                 |   10 ++++---

actually, please split into drivers/watchdog/Kconfig and the rest. it
would make it easier and avoid a nasty crioss-tree merge.

>  7 files changed, 55 insertions(+), 30 deletions(-)
>  create mode 100644 arch/arm/plat-samsung/dev-wdt.c
> 
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index 3f8718f..8e2bb6b 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -651,6 +651,7 @@ config ARCH_S3C2410
>  	select GENERIC_GPIO
>  	select ARCH_HAS_CPUFREQ
>  	select HAVE_CLK
> +	select HAVE_S3C2410_WATCHDOG
>  	help
>  	  Samsung S3C2410X CPU based systems, such as the Simtec Electronics
>  	  BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or
> diff --git a/arch/arm/mach-s3c2410/include/mach/map.h b/arch/arm/mach-s3c2410/include/mach/map.h
> index f07d680..16fbc3c 100644
> --- a/arch/arm/mach-s3c2410/include/mach/map.h
> +++ b/arch/arm/mach-s3c2410/include/mach/map.h
> @@ -111,6 +111,7 @@
>  #define S3C_PA_USBHOST	S3C2410_PA_USBHOST
>  #define S3C_PA_HSMMC0	    S3C2443_PA_HSMMC
>  #define S3C_PA_HSMMC1	    S3C2416_PA_HSMMC0
> +#define S3C_PA_WDT	    S3C2410_PA_WATCHDOG
>  #define S3C_PA_NAND	    S3C24XX_PA_NAND
>  
>  #endif /* __ASM_ARCH_MAP_H */
> diff --git a/arch/arm/plat-s3c24xx/devs.c b/arch/arm/plat-s3c24xx/devs.c
> index 5858373..452e184 100644
> --- a/arch/arm/plat-s3c24xx/devs.c
> +++ b/arch/arm/plat-s3c24xx/devs.c
> @@ -234,32 +234,6 @@ void __init s3c24xx_udc_set_platdata(struct s3c2410_udc_mach_info *pd)
>  	}
>  }
>  
> -
> -/* Watchdog */
> -
> -static struct resource s3c_wdt_resource[] = {
> -	[0] = {
> -		.start = S3C24XX_PA_WATCHDOG,
> -		.end   = S3C24XX_PA_WATCHDOG + S3C24XX_SZ_WATCHDOG - 1,
> -		.flags = IORESOURCE_MEM,
> -	},
> -	[1] = {
> -		.start = IRQ_WDT,
> -		.end   = IRQ_WDT,
> -		.flags = IORESOURCE_IRQ,
> -	}
> -
> -};
> -
> -struct platform_device s3c_device_wdt = {
> -	.name		  = "s3c2410-wdt",
> -	.id		  = -1,
> -	.num_resources	  = ARRAY_SIZE(s3c_wdt_resource),
> -	.resource	  = s3c_wdt_resource,
> -};
> -
> -EXPORT_SYMBOL(s3c_device_wdt);
> -
>  /* IIS */
>  
>  static struct resource s3c_iis_resource[] = {
> diff --git a/arch/arm/plat-samsung/Kconfig b/arch/arm/plat-samsung/Kconfig
> index 287e6f7..72dae49 100644
> --- a/arch/arm/plat-samsung/Kconfig
> +++ b/arch/arm/plat-samsung/Kconfig
> @@ -185,6 +185,12 @@ config S3C_DEV_USB_HSOTG
>  	help
>  	  Compile in platform device definition for USB high-speed OtG
>  
> +config S3C_DEV_WDT
> +	bool
> +	default y if ARCH_S3C2410
> +	help
> +	  Complie in platform device definition for Watchdog Timer
> +
>  config S3C_DEV_NAND
>  	bool
>  	help
> diff --git a/arch/arm/plat-samsung/Makefile b/arch/arm/plat-samsung/Makefile
> index 0ad820a..0a92369 100644
> --- a/arch/arm/plat-samsung/Makefile
> +++ b/arch/arm/plat-samsung/Makefile
> @@ -40,6 +40,7 @@ obj-$(CONFIG_S3C_DEV_FB)	+= dev-fb.o
>  obj-y				+= dev-uart.o
>  obj-$(CONFIG_S3C_DEV_USB_HOST)	+= dev-usb.o
>  obj-$(CONFIG_S3C_DEV_USB_HSOTG)	+= dev-usb-hsotg.o
> +obj-$(CONFIG_S3C_DEV_WDT)	+= dev-wdt.o
>  obj-$(CONFIG_S3C_DEV_NAND)	+= dev-nand.o
>  
>  # DMA support
> diff --git a/arch/arm/plat-samsung/dev-wdt.c b/arch/arm/plat-samsung/dev-wdt.c
> new file mode 100644
> index 0000000..5efca87
> --- /dev/null
> +++ b/arch/arm/plat-samsung/dev-wdt.c
> @@ -0,0 +1,40 @@
> +/* linux/arch/arm/plat-samsung/dev-wdt.c
> + *
> + * Copyright (c) 2004 Simtec Electronics
> + *	Ben Dooks <ben@simtec.co.uk>
> + *
> + * S3C series device definition for the watchdog timer
> + *
> + * 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.
> +*/
> +
> +#include <linux/kernel.h>
> +#include <linux/platform_device.h>
> +
> +#include <mach/irqs.h>
> +#include <mach/map.h>
> +
> +#include <plat/devs.h>
> +
> +static struct resource s3c_wdt_resource[] = {
> +	[0] = {
> +		.start	= S3C_PA_WDT,
> +		.end	= S3C_PA_WDT + SZ_1M - 1,
> +		.flags	= IORESOURCE_MEM,
> +	},
> +	[1] = {
> +		.start	= IRQ_WDT,
> +		.end	= IRQ_WDT,
> +		.flags	= IORESOURCE_IRQ,
> +	}
> +};
> +
> +struct platform_device s3c_device_wdt = {
> +	.name		= "s3c2410-wdt",
> +	.id		= -1,
> +	.num_resources	= ARRAY_SIZE(s3c_wdt_resource),
> +	.resource	= s3c_wdt_resource,
> +};
> +EXPORT_SYMBOL(s3c_device_wdt);
> diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
> index 0bf5020..d52118f 100644
> --- a/drivers/watchdog/Kconfig
> +++ b/drivers/watchdog/Kconfig
> @@ -145,13 +145,15 @@ config KS8695_WATCHDOG
>  	  Watchdog timer embedded into KS8695 processor. This will reboot your
>  	  system when the timeout is reached.
>  
> +config HAVE_S3C2410_WATCHDOG
> +	bool
> +

a basic helptext here would be nice.


>  config S3C2410_WATCHDOG
>  	tristate "S3C2410 Watchdog"
> -	depends on ARCH_S3C2410
> +	depends on HAVE_S3C2410_WATCHDOG

can we either leave ARCH_S3C2410 in the depends on line for the moment
so if we fail to merge part of the arch/arm updates then this still keeps
working.

>  	help
> -	  Watchdog timer block in the Samsung S3C2410 chips. This will
> -	  reboot the system when the timer expires with the watchdog
> -	  enabled.
> +	  Watchdog timer block in the Samsung SoCs. This will reboot
> +	  the system when the timer expires with the watchdog enabled.
>  
>  	  The driver is limited by the speed of the system's PCLK
>  	  signal, so with reasonably fast systems (PCLK around 50-66MHz)
> -- 
> 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/5] ARM: SAMSUNG: Move WDT device definitions in plat-samsung
Date: Thu, 20 May 2010 08:43:46 +0100	[thread overview]
Message-ID: <20100520074346.GN4720@trinity.fluff.org> (raw)
In-Reply-To: <1274340092-10706-2-git-send-email-kgene.kim@samsung.com>

On Thu, May 20, 2010 at 04:21:28PM +0900, Kukjin Kim wrote:
> From: Banajit Goswami <banajit.g@samsung.com>
> 
> This patch moves the definitions of watchdog timer device from
> plat-s3c24xx to plat-samsung. This will enable all Samsung S3C
> and S5P series SoC's to use common WDT device definition.
> 
> And adds HAVE_S3C2410_WATCHDOG for selecting in each machine
> without modifying Kconfig in drivers directory.
> 
> Signed-off-by: Banajit Goswami <banajit.g@samsung.com>
> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
> ---
>  arch/arm/Kconfig                         |    1 +
>  arch/arm/mach-s3c2410/include/mach/map.h |    1 +
>  arch/arm/plat-s3c24xx/devs.c             |   26 -------------------
>  arch/arm/plat-samsung/Kconfig            |    6 ++++
>  arch/arm/plat-samsung/Makefile           |    1 +
>  arch/arm/plat-samsung/dev-wdt.c          |   40 ++++++++++++++++++++++++++++++
>  drivers/watchdog/Kconfig                 |   10 ++++---

actually, please split into drivers/watchdog/Kconfig and the rest. it
would make it easier and avoid a nasty crioss-tree merge.

>  7 files changed, 55 insertions(+), 30 deletions(-)
>  create mode 100644 arch/arm/plat-samsung/dev-wdt.c
> 
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index 3f8718f..8e2bb6b 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -651,6 +651,7 @@ config ARCH_S3C2410
>  	select GENERIC_GPIO
>  	select ARCH_HAS_CPUFREQ
>  	select HAVE_CLK
> +	select HAVE_S3C2410_WATCHDOG
>  	help
>  	  Samsung S3C2410X CPU based systems, such as the Simtec Electronics
>  	  BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or
> diff --git a/arch/arm/mach-s3c2410/include/mach/map.h b/arch/arm/mach-s3c2410/include/mach/map.h
> index f07d680..16fbc3c 100644
> --- a/arch/arm/mach-s3c2410/include/mach/map.h
> +++ b/arch/arm/mach-s3c2410/include/mach/map.h
> @@ -111,6 +111,7 @@
>  #define S3C_PA_USBHOST	S3C2410_PA_USBHOST
>  #define S3C_PA_HSMMC0	    S3C2443_PA_HSMMC
>  #define S3C_PA_HSMMC1	    S3C2416_PA_HSMMC0
> +#define S3C_PA_WDT	    S3C2410_PA_WATCHDOG
>  #define S3C_PA_NAND	    S3C24XX_PA_NAND
>  
>  #endif /* __ASM_ARCH_MAP_H */
> diff --git a/arch/arm/plat-s3c24xx/devs.c b/arch/arm/plat-s3c24xx/devs.c
> index 5858373..452e184 100644
> --- a/arch/arm/plat-s3c24xx/devs.c
> +++ b/arch/arm/plat-s3c24xx/devs.c
> @@ -234,32 +234,6 @@ void __init s3c24xx_udc_set_platdata(struct s3c2410_udc_mach_info *pd)
>  	}
>  }
>  
> -
> -/* Watchdog */
> -
> -static struct resource s3c_wdt_resource[] = {
> -	[0] = {
> -		.start = S3C24XX_PA_WATCHDOG,
> -		.end   = S3C24XX_PA_WATCHDOG + S3C24XX_SZ_WATCHDOG - 1,
> -		.flags = IORESOURCE_MEM,
> -	},
> -	[1] = {
> -		.start = IRQ_WDT,
> -		.end   = IRQ_WDT,
> -		.flags = IORESOURCE_IRQ,
> -	}
> -
> -};
> -
> -struct platform_device s3c_device_wdt = {
> -	.name		  = "s3c2410-wdt",
> -	.id		  = -1,
> -	.num_resources	  = ARRAY_SIZE(s3c_wdt_resource),
> -	.resource	  = s3c_wdt_resource,
> -};
> -
> -EXPORT_SYMBOL(s3c_device_wdt);
> -
>  /* IIS */
>  
>  static struct resource s3c_iis_resource[] = {
> diff --git a/arch/arm/plat-samsung/Kconfig b/arch/arm/plat-samsung/Kconfig
> index 287e6f7..72dae49 100644
> --- a/arch/arm/plat-samsung/Kconfig
> +++ b/arch/arm/plat-samsung/Kconfig
> @@ -185,6 +185,12 @@ config S3C_DEV_USB_HSOTG
>  	help
>  	  Compile in platform device definition for USB high-speed OtG
>  
> +config S3C_DEV_WDT
> +	bool
> +	default y if ARCH_S3C2410
> +	help
> +	  Complie in platform device definition for Watchdog Timer
> +
>  config S3C_DEV_NAND
>  	bool
>  	help
> diff --git a/arch/arm/plat-samsung/Makefile b/arch/arm/plat-samsung/Makefile
> index 0ad820a..0a92369 100644
> --- a/arch/arm/plat-samsung/Makefile
> +++ b/arch/arm/plat-samsung/Makefile
> @@ -40,6 +40,7 @@ obj-$(CONFIG_S3C_DEV_FB)	+= dev-fb.o
>  obj-y				+= dev-uart.o
>  obj-$(CONFIG_S3C_DEV_USB_HOST)	+= dev-usb.o
>  obj-$(CONFIG_S3C_DEV_USB_HSOTG)	+= dev-usb-hsotg.o
> +obj-$(CONFIG_S3C_DEV_WDT)	+= dev-wdt.o
>  obj-$(CONFIG_S3C_DEV_NAND)	+= dev-nand.o
>  
>  # DMA support
> diff --git a/arch/arm/plat-samsung/dev-wdt.c b/arch/arm/plat-samsung/dev-wdt.c
> new file mode 100644
> index 0000000..5efca87
> --- /dev/null
> +++ b/arch/arm/plat-samsung/dev-wdt.c
> @@ -0,0 +1,40 @@
> +/* linux/arch/arm/plat-samsung/dev-wdt.c
> + *
> + * Copyright (c) 2004 Simtec Electronics
> + *	Ben Dooks <ben@simtec.co.uk>
> + *
> + * S3C series device definition for the watchdog timer
> + *
> + * 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.
> +*/
> +
> +#include <linux/kernel.h>
> +#include <linux/platform_device.h>
> +
> +#include <mach/irqs.h>
> +#include <mach/map.h>
> +
> +#include <plat/devs.h>
> +
> +static struct resource s3c_wdt_resource[] = {
> +	[0] = {
> +		.start	= S3C_PA_WDT,
> +		.end	= S3C_PA_WDT + SZ_1M - 1,
> +		.flags	= IORESOURCE_MEM,
> +	},
> +	[1] = {
> +		.start	= IRQ_WDT,
> +		.end	= IRQ_WDT,
> +		.flags	= IORESOURCE_IRQ,
> +	}
> +};
> +
> +struct platform_device s3c_device_wdt = {
> +	.name		= "s3c2410-wdt",
> +	.id		= -1,
> +	.num_resources	= ARRAY_SIZE(s3c_wdt_resource),
> +	.resource	= s3c_wdt_resource,
> +};
> +EXPORT_SYMBOL(s3c_device_wdt);
> diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
> index 0bf5020..d52118f 100644
> --- a/drivers/watchdog/Kconfig
> +++ b/drivers/watchdog/Kconfig
> @@ -145,13 +145,15 @@ config KS8695_WATCHDOG
>  	  Watchdog timer embedded into KS8695 processor. This will reboot your
>  	  system when the timeout is reached.
>  
> +config HAVE_S3C2410_WATCHDOG
> +	bool
> +

a basic helptext here would be nice.


>  config S3C2410_WATCHDOG
>  	tristate "S3C2410 Watchdog"
> -	depends on ARCH_S3C2410
> +	depends on HAVE_S3C2410_WATCHDOG

can we either leave ARCH_S3C2410 in the depends on line for the moment
so if we fail to merge part of the arch/arm updates then this still keeps
working.

>  	help
> -	  Watchdog timer block in the Samsung S3C2410 chips. This will
> -	  reboot the system when the timer expires with the watchdog
> -	  enabled.
> +	  Watchdog timer block in the Samsung SoCs. This will reboot
> +	  the system when the timer expires with the watchdog enabled.
>  
>  	  The driver is limited by the speed of the system's PCLK
>  	  signal, so with reasonably fast systems (PCLK around 50-66MHz)
> -- 
> 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-20  7:43 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-20  7:21 [PATCH 0/0] Add Watchdog support for Samsung SMDK6410, S5P6440 and S5Pv210 Kukjin Kim
2010-05-20  7:21 ` Kukjin Kim
2010-05-20  7:21 ` [PATCH 1/5] ARM: SAMSUNG: Move WDT device definitions in plat-samsung Kukjin Kim
2010-05-20  7:21   ` Kukjin Kim
2010-05-20  7:43   ` Ben Dooks [this message]
2010-05-20  7:43     ` Ben Dooks
2010-05-20  7:21 ` [PATCH 2/5] [WATCHDOG] s3c2410_wdt - Avoid freeing memory, if memory region could not be allocated Kukjin Kim
2010-05-20  7:21   ` Kukjin Kim
2010-05-20 10:00   ` Sergei Shtylyov
2010-05-20 10:00     ` Sergei Shtylyov
2010-05-20 10:32     ` Kukjin Kim
2010-05-20 10:32       ` Kukjin Kim
2010-05-20  7:21 ` [PATCH 3/5] ARM: SMDK6410: Add Watchdog support for SMDK6410 Kukjin Kim
2010-05-20  7:21   ` Kukjin Kim
2010-05-20  7:21 ` [PATCH 4/5] ARM: S5P6440: Add Watchdog support for S5P6440 Kukjin Kim
2010-05-20  7:21   ` Kukjin Kim
2010-05-20  7:21 ` [PATCH 5/5] ARM: S5PV210: Add Watchdog support for S5PV210 Kukjin Kim
2010-05-20  7:21   ` Kukjin Kim
2010-05-20  7:35 ` [PATCH 0/0] Add Watchdog support for Samsung SMDK6410, S5P6440 and S5Pv210 Ben Dooks
2010-05-20  7:35   ` 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=20100520074346.GN4720@trinity.fluff.org \
    --to=ben-linux@fluff.org \
    --cc=banajit.g@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.