* [PATCH 1/6] S5PC110: Move OneNAND platform device to plat-s5p @ 2010-07-28 10:11 Kyungmin Park 2010-07-29 0:30 ` Kukjin Kim 0 siblings, 1 reply; 5+ messages in thread From: Kyungmin Park @ 2010-07-28 10:11 UTC (permalink / raw) To: linux-arm-kernel From: Kyungmin Park <kyungmin.park@samsung.com> To share the same platform device for s5pc210 Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> --- arch/arm/mach-s5pv210/Kconfig | 5 --- arch/arm/mach-s5pv210/Makefile | 1 - arch/arm/mach-s5pv210/dev-onenand.c | 50 ---------------------------- arch/arm/mach-s5pv210/include/mach/map.h | 3 -- arch/arm/plat-s5p/Kconfig | 5 +++ arch/arm/plat-s5p/Makefile | 5 ++- arch/arm/plat-s5p/dev-onenand.c | 53 ++++++++++++++++++++++++++++++ 7 files changed, 62 insertions(+), 60 deletions(-) delete mode 100644 arch/arm/mach-s5pv210/dev-onenand.c create mode 100644 arch/arm/plat-s5p/dev-onenand.c diff --git a/arch/arm/mach-s5pv210/Kconfig b/arch/arm/mach-s5pv210/Kconfig index 0761eac..96f4d9b 100644 --- a/arch/arm/mach-s5pv210/Kconfig +++ b/arch/arm/mach-s5pv210/Kconfig @@ -62,11 +62,6 @@ config MACH_GONI Machine support for Samsung GONI board S5PC110(MCP) is one of package option of S5PV210 -config S5PC110_DEV_ONENAND - bool - help - Compile in platform device definition for OneNAND1 controller - config MACH_SMDKV210 bool "SMDKV210" select CPU_S5PV210 diff --git a/arch/arm/mach-s5pv210/Makefile b/arch/arm/mach-s5pv210/Makefile index 30be9a6..6a6dea1 100644 --- a/arch/arm/mach-s5pv210/Makefile +++ b/arch/arm/mach-s5pv210/Makefile @@ -26,7 +26,6 @@ obj-$(CONFIG_MACH_GONI) += mach-goni.o obj-y += dev-audio.o obj-$(CONFIG_S3C64XX_DEV_SPI) += dev-spi.o -obj-$(CONFIG_S5PC110_DEV_ONENAND) += dev-onenand.o obj-$(CONFIG_S5PV210_SETUP_FB_24BPP) += setup-fb-24bpp.o obj-$(CONFIG_S5PV210_SETUP_I2C1) += setup-i2c1.o diff --git a/arch/arm/mach-s5pv210/dev-onenand.c b/arch/arm/mach-s5pv210/dev-onenand.c deleted file mode 100644 index 34997b7..0000000 --- a/arch/arm/mach-s5pv210/dev-onenand.c +++ /dev/null @@ -1,50 +0,0 @@ -/* - * linux/arch/arm/mach-s5pv210/dev-onenand.c - * - * Copyright (c) 2008-2010 Samsung Electronics - * Kyungmin Park <kyungmin.park@samsung.com> - * - * S5PC110 series device definition for OneNAND devices - * - * 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 <linux/mtd/mtd.h> -#include <linux/mtd/onenand.h> - -#include <mach/irqs.h> -#include <mach/map.h> - -static struct resource s5pc110_onenand_resources[] = { - [0] = { - .start = S5PC110_PA_ONENAND, - .end = S5PC110_PA_ONENAND + SZ_128K - 1, - .flags = IORESOURCE_MEM, - }, - [1] = { - .start = S5PC110_PA_ONENAND_DMA, - .end = S5PC110_PA_ONENAND_DMA + SZ_2K - 1, - .flags = IORESOURCE_MEM, - }, -}; - -struct platform_device s5pc110_device_onenand = { - .name = "s5pc110-onenand", - .id = -1, - .num_resources = ARRAY_SIZE(s5pc110_onenand_resources), - .resource = s5pc110_onenand_resources, -}; - -void s5pc110_onenand_set_platdata(struct onenand_platform_data *pdata) -{ - struct onenand_platform_data *pd; - - pd = kmemdup(pdata, sizeof(struct onenand_platform_data), GFP_KERNEL); - if (!pd) - printk(KERN_ERR "%s: no memory for platform data\n", __func__); - s5pc110_device_onenand.dev.platform_data = pd; -} diff --git a/arch/arm/mach-s5pv210/include/mach/map.h b/arch/arm/mach-s5pv210/include/mach/map.h index 34eb168..3a44e1e 100644 --- a/arch/arm/mach-s5pv210/include/mach/map.h +++ b/arch/arm/mach-s5pv210/include/mach/map.h @@ -16,9 +16,6 @@ #include <plat/map-base.h> #include <plat/map-s5p.h> -#define S5PC110_PA_ONENAND (0xB0000000) -#define S5PC110_PA_ONENAND_DMA (0xB0600000) - #define S5PV210_PA_CHIPID (0xE0000000) #define S5P_PA_CHIPID S5PV210_PA_CHIPID diff --git a/arch/arm/plat-s5p/Kconfig b/arch/arm/plat-s5p/Kconfig index 907ac63..314f7d1 100644 --- a/arch/arm/plat-s5p/Kconfig +++ b/arch/arm/plat-s5p/Kconfig @@ -31,3 +31,8 @@ config S5P_EXT_INT help Use the external interrupts (other than GPIO interrupts.) Note: Do not choose this for S5P6440. + +config S5PC110_DEV_ONENAND + bool + help + Compile in platform device definition for OneNAND controller diff --git a/arch/arm/plat-s5p/Makefile b/arch/arm/plat-s5p/Makefile index 39c242b..c49617e 100644 --- a/arch/arm/plat-s5p/Makefile +++ b/arch/arm/plat-s5p/Makefile @@ -12,9 +12,12 @@ obj- := # Core files -obj-y += dev-uart.o obj-y += cpu.o obj-y += clock.o obj-y += irq.o obj-$(CONFIG_S5P_EXT_INT) += irq-eint.o +# Device files + +obj-y += dev-uart.o +obj-$(CONFIG_S5PC110_DEV_ONENAND) += dev-onenand.o diff --git a/arch/arm/plat-s5p/dev-onenand.c b/arch/arm/plat-s5p/dev-onenand.c new file mode 100644 index 0000000..08b3a3f --- /dev/null +++ b/arch/arm/plat-s5p/dev-onenand.c @@ -0,0 +1,53 @@ +/* + * linux/arch/arm/plat-s5p/dev-onenand.c + * + * Copyright (c) 2008-2010 Samsung Electronics + * Kyungmin Park <kyungmin.park@samsung.com> + * + * S5PC110 series device definition for OneNAND devices + * + * 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 <linux/mtd/mtd.h> +#include <linux/mtd/onenand.h> + +#include <mach/irqs.h> +#include <mach/map.h> + +#define S5PC110_PA_ONENAND (0xB0000000) +#define S5PC110_PA_ONENAND_DMA (0xB0600000) + +static struct resource s5pc110_onenand_resources[] = { + [0] = { + .start = S5PC110_PA_ONENAND, + .end = S5PC110_PA_ONENAND + SZ_128K - 1, + .flags = IORESOURCE_MEM, + }, + [1] = { + .start = S5PC110_PA_ONENAND_DMA, + .end = S5PC110_PA_ONENAND_DMA + SZ_2K - 1, + .flags = IORESOURCE_MEM, + }, +}; + +struct platform_device s5pc110_device_onenand = { + .name = "s5pc110-onenand", + .id = -1, + .num_resources = ARRAY_SIZE(s5pc110_onenand_resources), + .resource = s5pc110_onenand_resources, +}; + +void s5pc110_onenand_set_platdata(struct onenand_platform_data *pdata) +{ + struct onenand_platform_data *pd; + + pd = kmemdup(pdata, sizeof(struct onenand_platform_data), GFP_KERNEL); + if (!pd) + printk(KERN_ERR "%s: no memory for platform data\n", __func__); + s5pc110_device_onenand.dev.platform_data = pd; +} -- 1.5.3.3 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 1/6] S5PC110: Move OneNAND platform device to plat-s5p 2010-07-28 10:11 [PATCH 1/6] S5PC110: Move OneNAND platform device to plat-s5p Kyungmin Park @ 2010-07-29 0:30 ` Kukjin Kim 2010-07-30 0:53 ` Kyungmin Park 0 siblings, 1 reply; 5+ messages in thread From: Kukjin Kim @ 2010-07-29 0:30 UTC (permalink / raw) To: linux-arm-kernel Kyungmin Park wrote: > Hi, Cc'ed Ben Dooks. > From: Kyungmin Park <kyungmin.park@samsung.com> > > To share the same platform device for s5pc210 > > Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> > --- > arch/arm/mach-s5pv210/Kconfig | 5 --- > arch/arm/mach-s5pv210/Makefile | 1 - > arch/arm/mach-s5pv210/dev-onenand.c | 50 ---------------------------- > arch/arm/mach-s5pv210/include/mach/map.h | 3 -- > arch/arm/plat-s5p/Kconfig | 5 +++ > arch/arm/plat-s5p/Makefile | 5 ++- > arch/arm/plat-s5p/dev-onenand.c | 53 > ++++++++++++++++++++++++++++++ > 7 files changed, 62 insertions(+), 60 deletions(-) > delete mode 100644 arch/arm/mach-s5pv210/dev-onenand.c > create mode 100644 arch/arm/plat-s5p/dev-onenand.c In future, please check your git configuration so that can come out as follows. It's just 'rename(move)' not 'delete and create'...It can help to us that it can see more easily whether something changed. arch/arm/{mach-s5pv210 => plat-s5p}/dev-onenand.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-) rename arch/arm/{mach-s5pv210 => plat-s5p}/dev-onenand.c (91%) diff --git a/arch/arm/mach-s5pv210/dev-onenand.c b/arch/arm/plat-s5p/dev-onenand.c similarity index 91% rename from arch/arm/mach-s5pv210/dev-onenand.c rename to arch/arm/plat-s5p/dev-onenand.c index 34997b7..08b3a3f 100644 --- a/arch/arm/mach-s5pv210/dev-onenand.c +++ b/arch/arm/plat-s5p/dev-onenand.c > > diff --git a/arch/arm/mach-s5pv210/Kconfig b/arch/arm/mach-s5pv210/Kconfig > index 0761eac..96f4d9b 100644 > --- a/arch/arm/mach-s5pv210/Kconfig > +++ b/arch/arm/mach-s5pv210/Kconfig > @@ -62,11 +62,6 @@ config MACH_GONI > Machine support for Samsung GONI board > S5PC110(MCP) is one of package option of S5PV210 > > -config S5PC110_DEV_ONENAND > - bool > - help > - Compile in platform device definition for OneNAND1 controller > - > config MACH_SMDKV210 > bool "SMDKV210" > select CPU_S5PV210 > diff --git a/arch/arm/mach-s5pv210/Makefile b/arch/arm/mach-s5pv210/Makefile > index 30be9a6..6a6dea1 100644 > --- a/arch/arm/mach-s5pv210/Makefile > +++ b/arch/arm/mach-s5pv210/Makefile > @@ -26,7 +26,6 @@ obj-$(CONFIG_MACH_GONI) += mach-goni.o > > obj-y += dev-audio.o > obj-$(CONFIG_S3C64XX_DEV_SPI) += dev-spi.o > -obj-$(CONFIG_S5PC110_DEV_ONENAND) += dev-onenand.o > > obj-$(CONFIG_S5PV210_SETUP_FB_24BPP) += setup-fb-24bpp.o > obj-$(CONFIG_S5PV210_SETUP_I2C1) += setup-i2c1.o > diff --git a/arch/arm/mach-s5pv210/dev-onenand.c b/arch/arm/mach-s5pv210/dev- > onenand.c > deleted file mode 100644 > index 34997b7..0000000 > --- a/arch/arm/mach-s5pv210/dev-onenand.c > +++ /dev/null > @@ -1,50 +0,0 @@ > -/* > - * linux/arch/arm/mach-s5pv210/dev-onenand.c > - * > - * Copyright (c) 2008-2010 Samsung Electronics > - * Kyungmin Park <kyungmin.park@samsung.com> > - * > - * S5PC110 series device definition for OneNAND devices > - * > - * 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 <linux/mtd/mtd.h> > -#include <linux/mtd/onenand.h> > - > -#include <mach/irqs.h> > -#include <mach/map.h> > - > -static struct resource s5pc110_onenand_resources[] = { > - [0] = { > - .start = S5PC110_PA_ONENAND, > - .end = S5PC110_PA_ONENAND + SZ_128K - 1, > - .flags = IORESOURCE_MEM, > - }, > - [1] = { > - .start = S5PC110_PA_ONENAND_DMA, > - .end = S5PC110_PA_ONENAND_DMA + SZ_2K - 1, > - .flags = IORESOURCE_MEM, > - }, > -}; > - > -struct platform_device s5pc110_device_onenand = { > - .name = "s5pc110-onenand", > - .id = -1, > - .num_resources = ARRAY_SIZE(s5pc110_onenand_resources), > - .resource = s5pc110_onenand_resources, > -}; > - > -void s5pc110_onenand_set_platdata(struct onenand_platform_data *pdata) > -{ > - struct onenand_platform_data *pd; > - > - pd = kmemdup(pdata, sizeof(struct onenand_platform_data), > GFP_KERNEL); > - if (!pd) > - printk(KERN_ERR "%s: no memory for platform data\n", > __func__); > - s5pc110_device_onenand.dev.platform_data = pd; > -} > diff --git a/arch/arm/mach-s5pv210/include/mach/map.h b/arch/arm/mach- > s5pv210/include/mach/map.h > index 34eb168..3a44e1e 100644 > --- a/arch/arm/mach-s5pv210/include/mach/map.h > +++ b/arch/arm/mach-s5pv210/include/mach/map.h > @@ -16,9 +16,6 @@ > #include <plat/map-base.h> > #include <plat/map-s5p.h> > > -#define S5PC110_PA_ONENAND (0xB0000000) > -#define S5PC110_PA_ONENAND_DMA (0xB0600000) > - > #define S5PV210_PA_CHIPID (0xE0000000) > #define S5P_PA_CHIPID S5PV210_PA_CHIPID > > diff --git a/arch/arm/plat-s5p/Kconfig b/arch/arm/plat-s5p/Kconfig > index 907ac63..314f7d1 100644 > --- a/arch/arm/plat-s5p/Kconfig > +++ b/arch/arm/plat-s5p/Kconfig > @@ -31,3 +31,8 @@ config S5P_EXT_INT > help > Use the external interrupts (other than GPIO interrupts.) > Note: Do not choose this for S5P6440. > + > +config S5PC110_DEV_ONENAND As I said, S5P_DEV_ONENAND is better in here. > + bool > + help > + Compile in platform device definition for OneNAND controller > diff --git a/arch/arm/plat-s5p/Makefile b/arch/arm/plat-s5p/Makefile > index 39c242b..c49617e 100644 > --- a/arch/arm/plat-s5p/Makefile > +++ b/arch/arm/plat-s5p/Makefile > @@ -12,9 +12,12 @@ obj- := > > # Core files > > -obj-y += dev-uart.o > obj-y += cpu.o > obj-y += clock.o > obj-y += irq.o > obj-$(CONFIG_S5P_EXT_INT) += irq-eint.o > > +# Device files > + > +obj-y += dev-uart.o > +obj-$(CONFIG_S5PC110_DEV_ONENAND) += dev-onenand.o > diff --git a/arch/arm/plat-s5p/dev-onenand.c b/arch/arm/plat-s5p/dev-onenand.c > new file mode 100644 > index 0000000..08b3a3f > --- /dev/null > +++ b/arch/arm/plat-s5p/dev-onenand.c > @@ -0,0 +1,53 @@ > +/* > + * linux/arch/arm/plat-s5p/dev-onenand.c > + * > + * Copyright (c) 2008-2010 Samsung Electronics > + * Kyungmin Park <kyungmin.park@samsung.com> > + * > + * S5PC110 series device definition for OneNAND devices I thinks...this is for S5P SoCs such as S5PC210 and S5PC110 ...even though S5P6440 does not have OneNAND device... > + * > + * 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 <linux/mtd/mtd.h> > +#include <linux/mtd/onenand.h> > + > +#include <mach/irqs.h> > +#include <mach/map.h> > + > +#define S5PC110_PA_ONENAND (0xB0000000) > +#define S5PC110_PA_ONENAND_DMA (0xB0600000) Please move to mach/map.h for compatibilities with other SoCs. #define S5PC110_PA_ONENAND (0xB0000000) ... #define S5P_PA_ONENAD S5PC110_PA_ONENAND ... > + > +static struct resource s5pc110_onenand_resources[] = { s5p_onenand_resources... > + [0] = { > + .start = S5PC110_PA_ONENAND, > + .end = S5PC110_PA_ONENAND + SZ_128K - 1, Here, S5P_PA_xxx is better... > + .flags = IORESOURCE_MEM, > + }, > + [1] = { > + .start = S5PC110_PA_ONENAND_DMA, > + .end = S5PC110_PA_ONENAND_DMA + SZ_2K - 1, > + .flags = IORESOURCE_MEM, > + }, > +}; > + > +struct platform_device s5pc110_device_onenand = { > + .name = "s5pc110-onenand", > + .id = -1, > + .num_resources = ARRAY_SIZE(s5pc110_onenand_resources), > + .resource = s5pc110_onenand_resources, > +}; > + > +void s5pc110_onenand_set_platdata(struct onenand_platform_data *pdata) > +{ > + struct onenand_platform_data *pd; > + > + pd = kmemdup(pdata, sizeof(struct onenand_platform_data), > GFP_KERNEL); > + if (!pd) > + printk(KERN_ERR "%s: no memory for platform data\n", > __func__); > + s5pc110_device_onenand.dev.platform_data = pd; s3c_set_platdata(pdata, sizeof(struct onenand_platform_data), &s5p_device_onenand); > +} > -- Thanks. Best regards, Kgene. -- Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer, SW Solution Development Team, Samsung Electronics Co., Ltd. ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/6] S5PC110: Move OneNAND platform device to plat-s5p 2010-07-29 0:30 ` Kukjin Kim @ 2010-07-30 0:53 ` Kyungmin Park 2010-07-30 2:23 ` Kukjin Kim 0 siblings, 1 reply; 5+ messages in thread From: Kyungmin Park @ 2010-07-30 0:53 UTC (permalink / raw) To: linux-arm-kernel On Thu, Jul 29, 2010 at 9:30 AM, Kukjin Kim <kgene.kim@samsung.com> wrote: > Kyungmin Park wrote: >> > Hi, > > Cc'ed Ben Dooks. > >> From: Kyungmin Park <kyungmin.park@samsung.com> >> >> To share the same platform device for s5pc210 >> >> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> >> --- >> ?arch/arm/mach-s5pv210/Kconfig ? ? ? ? ? ?| ? ?5 --- >> ?arch/arm/mach-s5pv210/Makefile ? ? ? ? ? | ? ?1 - >> ?arch/arm/mach-s5pv210/dev-onenand.c ? ? ?| ? 50 > ---------------------------- >> ?arch/arm/mach-s5pv210/include/mach/map.h | ? ?3 -- >> ?arch/arm/plat-s5p/Kconfig ? ? ? ? ? ? ? ?| ? ?5 +++ >> ?arch/arm/plat-s5p/Makefile ? ? ? ? ? ? ? | ? ?5 ++- >> ?arch/arm/plat-s5p/dev-onenand.c ? ? ? ? ?| ? 53 >> ++++++++++++++++++++++++++++++ >> ?7 files changed, 62 insertions(+), 60 deletions(-) >> ?delete mode 100644 arch/arm/mach-s5pv210/dev-onenand.c >> ?create mode 100644 arch/arm/plat-s5p/dev-onenand.c > > In future, please check your git configuration so that can come out as > follows. > It's just 'rename(move)' not 'delete and create'...It can help to us that it > can see more easily whether something changed. It used the lower version of git. I will update it. > > arch/arm/{mach-s5pv210 => plat-s5p}/dev-onenand.c | ? ?5 ++++- > ?1 files changed, 4 insertions(+), 1 deletions(-) > ?rename arch/arm/{mach-s5pv210 => plat-s5p}/dev-onenand.c (91%) > > diff --git a/arch/arm/mach-s5pv210/dev-onenand.c > b/arch/arm/plat-s5p/dev-onenand.c > similarity index 91% > rename from arch/arm/mach-s5pv210/dev-onenand.c > rename to arch/arm/plat-s5p/dev-onenand.c > index 34997b7..08b3a3f 100644 > --- a/arch/arm/mach-s5pv210/dev-onenand.c > +++ b/arch/arm/plat-s5p/dev-onenand.c > > >> >> diff --git a/arch/arm/mach-s5pv210/Kconfig b/arch/arm/mach-s5pv210/Kconfig >> index 0761eac..96f4d9b 100644 >> --- a/arch/arm/mach-s5pv210/Kconfig >> +++ b/arch/arm/mach-s5pv210/Kconfig >> @@ -62,11 +62,6 @@ config MACH_GONI >> ? ? ? ? Machine support for Samsung GONI board >> ? ? ? ? S5PC110(MCP) is one of package option of S5PV210 >> >> -config S5PC110_DEV_ONENAND >> - ? ? bool >> - ? ? help >> - ? ? ? Compile in platform device definition for OneNAND1 controller >> - >> ?config MACH_SMDKV210 >> ? ? ? bool "SMDKV210" >> ? ? ? select CPU_S5PV210 >> diff --git a/arch/arm/mach-s5pv210/Makefile > b/arch/arm/mach-s5pv210/Makefile >> index 30be9a6..6a6dea1 100644 >> --- a/arch/arm/mach-s5pv210/Makefile >> +++ b/arch/arm/mach-s5pv210/Makefile >> @@ -26,7 +26,6 @@ obj-$(CONFIG_MACH_GONI) ? ? ? ? ? ? += mach-goni.o >> >> ?obj-y ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?+= dev-audio.o >> ?obj-$(CONFIG_S3C64XX_DEV_SPI) ? ? ? ?+= dev-spi.o >> -obj-$(CONFIG_S5PC110_DEV_ONENAND) += dev-onenand.o >> >> ?obj-$(CONFIG_S5PV210_SETUP_FB_24BPP) += setup-fb-24bpp.o >> ?obj-$(CONFIG_S5PV210_SETUP_I2C1) ? ? += setup-i2c1.o >> diff --git a/arch/arm/mach-s5pv210/dev-onenand.c > b/arch/arm/mach-s5pv210/dev- >> onenand.c >> deleted file mode 100644 >> index 34997b7..0000000 >> --- a/arch/arm/mach-s5pv210/dev-onenand.c >> +++ /dev/null >> @@ -1,50 +0,0 @@ >> -/* >> - * linux/arch/arm/mach-s5pv210/dev-onenand.c >> - * >> - * ?Copyright (c) 2008-2010 Samsung Electronics >> - * ?Kyungmin Park <kyungmin.park@samsung.com> >> - * >> - * S5PC110 series device definition for OneNAND devices >> - * >> - * 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 <linux/mtd/mtd.h> >> -#include <linux/mtd/onenand.h> >> - >> -#include <mach/irqs.h> >> -#include <mach/map.h> >> - >> -static struct resource s5pc110_onenand_resources[] = { >> - ? ? [0] = { >> - ? ? ? ? ? ? .start ?= S5PC110_PA_ONENAND, >> - ? ? ? ? ? ? .end ? ?= S5PC110_PA_ONENAND + SZ_128K - 1, >> - ? ? ? ? ? ? .flags ?= IORESOURCE_MEM, >> - ? ? }, >> - ? ? [1] = { >> - ? ? ? ? ? ? .start ?= S5PC110_PA_ONENAND_DMA, >> - ? ? ? ? ? ? .end ? ?= S5PC110_PA_ONENAND_DMA + SZ_2K - 1, >> - ? ? ? ? ? ? .flags ?= IORESOURCE_MEM, >> - ? ? }, >> -}; >> - >> -struct platform_device s5pc110_device_onenand = { >> - ? ? .name ? ? ? ? ? = "s5pc110-onenand", >> - ? ? .id ? ? ? ? ? ? = -1, >> - ? ? .num_resources ?= ARRAY_SIZE(s5pc110_onenand_resources), >> - ? ? .resource ? ? ? = s5pc110_onenand_resources, >> -}; >> - >> -void s5pc110_onenand_set_platdata(struct onenand_platform_data *pdata) >> -{ >> - ? ? struct onenand_platform_data *pd; >> - >> - ? ? pd = kmemdup(pdata, sizeof(struct onenand_platform_data), >> GFP_KERNEL); >> - ? ? if (!pd) >> - ? ? ? ? ? ? printk(KERN_ERR "%s: no memory for platform data\n", >> __func__); >> - ? ? s5pc110_device_onenand.dev.platform_data = pd; >> -} >> diff --git a/arch/arm/mach-s5pv210/include/mach/map.h b/arch/arm/mach- >> s5pv210/include/mach/map.h >> index 34eb168..3a44e1e 100644 >> --- a/arch/arm/mach-s5pv210/include/mach/map.h >> +++ b/arch/arm/mach-s5pv210/include/mach/map.h >> @@ -16,9 +16,6 @@ >> ?#include <plat/map-base.h> >> ?#include <plat/map-s5p.h> >> >> -#define S5PC110_PA_ONENAND ? (0xB0000000) >> -#define S5PC110_PA_ONENAND_DMA ? ? ? (0xB0600000) >> - >> ?#define S5PV210_PA_CHIPID ? ?(0xE0000000) >> ?#define S5P_PA_CHIPID ? ? ? ? ? ? ? ?S5PV210_PA_CHIPID >> >> diff --git a/arch/arm/plat-s5p/Kconfig b/arch/arm/plat-s5p/Kconfig >> index 907ac63..314f7d1 100644 >> --- a/arch/arm/plat-s5p/Kconfig >> +++ b/arch/arm/plat-s5p/Kconfig >> @@ -31,3 +31,8 @@ config S5P_EXT_INT >> ? ? ? help >> ? ? ? ? Use the external interrupts (other than GPIO interrupts.) >> ? ? ? ? Note: Do not choose this for S5P6440. >> + >> +config S5PC110_DEV_ONENAND > > As I said, S5P_DEV_ONENAND is better in here. No, I don't want to break the current board use the S5PC110_DEV_ONENAND. Before request the S5P_* prefix. first make rules. In your explanation. it can move to the plat-samsung. What's the definition of s5p. just two s5p series have the same IP. then can be used the plat-s5p? So I suggest that (the number means the priority and naming rules.) 1. use the first SoC chip name. 2. two s5p series or more have the same IP. then use the plat-s5p 3. If driver support s3c and s5p series then use the plat-samsung. e.g., RTC. So it's reasonable to use S5PC110_DEV_ONENAND name. > >> + ? ? bool >> + ? ? help >> + ? ? ? Compile in platform device definition for OneNAND controller >> diff --git a/arch/arm/plat-s5p/Makefile b/arch/arm/plat-s5p/Makefile >> index 39c242b..c49617e 100644 >> --- a/arch/arm/plat-s5p/Makefile >> +++ b/arch/arm/plat-s5p/Makefile >> @@ -12,9 +12,12 @@ obj- ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? := >> >> ?# Core files >> >> -obj-y ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?+= dev-uart.o >> ?obj-y ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?+= cpu.o >> ?obj-y ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?+= clock.o >> ?obj-y ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?+= irq.o >> ?obj-$(CONFIG_S5P_EXT_INT) ? ?+= irq-eint.o >> >> +# Device files >> + >> +obj-y ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?+= dev-uart.o >> +obj-$(CONFIG_S5PC110_DEV_ONENAND) ? ?+= dev-onenand.o >> diff --git a/arch/arm/plat-s5p/dev-onenand.c > b/arch/arm/plat-s5p/dev-onenand.c >> new file mode 100644 >> index 0000000..08b3a3f >> --- /dev/null >> +++ b/arch/arm/plat-s5p/dev-onenand.c >> @@ -0,0 +1,53 @@ >> +/* >> + * linux/arch/arm/plat-s5p/dev-onenand.c >> + * >> + * ?Copyright (c) 2008-2010 Samsung Electronics >> + * ?Kyungmin Park <kyungmin.park@samsung.com> >> + * >> + * S5PC110 series device definition for OneNAND devices > > I thinks...this is for S5P SoCs such as S5PC210 and S5PC110 > ...even though S5P6440 does not have OneNAND device... > >> + * >> + * 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 <linux/mtd/mtd.h> >> +#include <linux/mtd/onenand.h> >> + >> +#include <mach/irqs.h> >> +#include <mach/map.h> >> + >> +#define S5PC110_PA_ONENAND ? ? ? ? ? (0xB0000000) >> +#define S5PC110_PA_ONENAND_DMA ? ? ? ? ? ? ? (0xB0600000) > > Please move to mach/map.h for compatibilities with other SoCs. Can you explain the why use the hard-coded value in clock framework? it's only used that at there. it's same rule. it's only used here. Do you want to hard-coded the value at resource directly? As I suggested, make rules first and discuss it. > > #define S5PC110_PA_ONENAND ? ? ? ? ? ? ?(0xB0000000) > ... > #define S5P_PA_ONENAD ? ? ? ? ? S5PC110_PA_ONENAND > ... > >> + >> +static struct resource s5pc110_onenand_resources[] = { > > s5p_onenand_resources... > >> + ? ? [0] = { >> + ? ? ? ? ? ? .start ?= S5PC110_PA_ONENAND, >> + ? ? ? ? ? ? .end ? ?= S5PC110_PA_ONENAND + SZ_128K - 1, > > Here, S5P_PA_xxx is better... > >> + ? ? ? ? ? ? .flags ?= IORESOURCE_MEM, >> + ? ? }, >> + ? ? [1] = { >> + ? ? ? ? ? ? .start ?= S5PC110_PA_ONENAND_DMA, >> + ? ? ? ? ? ? .end ? ?= S5PC110_PA_ONENAND_DMA + SZ_2K - 1, >> + ? ? ? ? ? ? .flags ?= IORESOURCE_MEM, >> + ? ? }, >> +}; >> + >> +struct platform_device s5pc110_device_onenand = { >> + ? ? .name ? ? ? ? ? = "s5pc110-onenand", >> + ? ? .id ? ? ? ? ? ? = -1, >> + ? ? .num_resources ?= ARRAY_SIZE(s5pc110_onenand_resources), >> + ? ? .resource ? ? ? = s5pc110_onenand_resources, >> +}; >> + >> +void s5pc110_onenand_set_platdata(struct onenand_platform_data *pdata) >> +{ >> + ? ? struct onenand_platform_data *pd; >> + >> + ? ? pd = kmemdup(pdata, sizeof(struct onenand_platform_data), >> GFP_KERNEL); >> + ? ? if (!pd) >> + ? ? ? ? ? ? printk(KERN_ERR "%s: no memory for platform data\n", >> __func__); >> + ? ? s5pc110_device_onenand.dev.platform_data = pd; > > s3c_set_platdata(pdata, sizeof(struct onenand_platform_data), > &s5p_device_onenand); I just remove it. there's no user. and no need to setup for platform. Thank you, Kyungmin Park > >> +} >> -- > > > Thanks. > > Best regards, > Kgene. > -- > Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer, > SW Solution Development Team, Samsung Electronics Co., Ltd. > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel at lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel > ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/6] S5PC110: Move OneNAND platform device to plat-s5p 2010-07-30 0:53 ` Kyungmin Park @ 2010-07-30 2:23 ` Kukjin Kim 2010-07-30 3:14 ` Kyungmin Park 0 siblings, 1 reply; 5+ messages in thread From: Kukjin Kim @ 2010-07-30 2:23 UTC (permalink / raw) To: linux-arm-kernel Kyungmin Park wrote: > > On Thu, Jul 29, 2010 at 9:30 AM, Kukjin Kim <kgene.kim@samsung.com> wrote: > > Kyungmin Park wrote: > >> > > Hi, > > > > Cc'ed Ben Dooks. > > > >> From: Kyungmin Park <kyungmin.park@samsung.com> > >> > >> To share the same platform device for s5pc210 > >> > >> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> > >> --- > >> ?arch/arm/mach-s5pv210/Kconfig ? ? ? ? ? ?| ? ?5 --- > >> ?arch/arm/mach-s5pv210/Makefile ? ? ? ? ? | ? ?1 - > >> ?arch/arm/mach-s5pv210/dev-onenand.c ? ? ?| ? 50 > > ---------------------------- > >> ?arch/arm/mach-s5pv210/include/mach/map.h | ? ?3 -- > >> ?arch/arm/plat-s5p/Kconfig ? ? ? ? ? ? ? ?| ? ?5 +++ > >> ?arch/arm/plat-s5p/Makefile ? ? ? ? ? ? ? | ? ?5 ++- > >> ?arch/arm/plat-s5p/dev-onenand.c ? ? ? ? ?| ? 53 > >> ++++++++++++++++++++++++++++++ > >> ?7 files changed, 62 insertions(+), 60 deletions(-) > >> ?delete mode 100644 arch/arm/mach-s5pv210/dev-onenand.c > >> ?create mode 100644 arch/arm/plat-s5p/dev-onenand.c > > > > In future, please check your git configuration so that can come out as > > follows. > > It's just 'rename(move)' not 'delete and create'...It can help to us that it > > can see more easily whether something changed. > > It used the lower version of git. I will update it. > > > > arch/arm/{mach-s5pv210 => plat-s5p}/dev-onenand.c | ? ?5 ++++- > > ?1 files changed, 4 insertions(+), 1 deletions(-) > > ?rename arch/arm/{mach-s5pv210 => plat-s5p}/dev-onenand.c (91%) > > > > diff --git a/arch/arm/mach-s5pv210/dev-onenand.c > > b/arch/arm/plat-s5p/dev-onenand.c > > similarity index 91% > > rename from arch/arm/mach-s5pv210/dev-onenand.c > > rename to arch/arm/plat-s5p/dev-onenand.c > > index 34997b7..08b3a3f 100644 > > --- a/arch/arm/mach-s5pv210/dev-onenand.c > > +++ b/arch/arm/plat-s5p/dev-onenand.c > > > > > >> > >> diff --git a/arch/arm/mach-s5pv210/Kconfig b/arch/arm/mach-s5pv210/Kconfig > >> index 0761eac..96f4d9b 100644 > >> --- a/arch/arm/mach-s5pv210/Kconfig > >> +++ b/arch/arm/mach-s5pv210/Kconfig > >> @@ -62,11 +62,6 @@ config MACH_GONI > >> ? ? ? ? Machine support for Samsung GONI board > >> ? ? ? ? S5PC110(MCP) is one of package option of S5PV210 > >> > >> -config S5PC110_DEV_ONENAND > >> - ? ? bool > >> - ? ? help > >> - ? ? ? Compile in platform device definition for OneNAND1 controller > >> - > >> ?config MACH_SMDKV210 > >> ? ? ? bool "SMDKV210" > >> ? ? ? select CPU_S5PV210 > >> diff --git a/arch/arm/mach-s5pv210/Makefile > > b/arch/arm/mach-s5pv210/Makefile > >> index 30be9a6..6a6dea1 100644 > >> --- a/arch/arm/mach-s5pv210/Makefile > >> +++ b/arch/arm/mach-s5pv210/Makefile > >> @@ -26,7 +26,6 @@ obj-$(CONFIG_MACH_GONI) ? ? ? ? ? ? += mach-goni.o > >> > >> ?obj-y ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?+= dev-audio.o > >> ?obj-$(CONFIG_S3C64XX_DEV_SPI) ? ? ? ?+= dev-spi.o > >> -obj-$(CONFIG_S5PC110_DEV_ONENAND) += dev-onenand.o > >> > >> ?obj-$(CONFIG_S5PV210_SETUP_FB_24BPP) += setup-fb-24bpp.o > >> ?obj-$(CONFIG_S5PV210_SETUP_I2C1) ? ? += setup-i2c1.o > >> diff --git a/arch/arm/mach-s5pv210/dev-onenand.c > > b/arch/arm/mach-s5pv210/dev- > >> onenand.c > >> deleted file mode 100644 > >> index 34997b7..0000000 > >> --- a/arch/arm/mach-s5pv210/dev-onenand.c > >> +++ /dev/null > >> @@ -1,50 +0,0 @@ > >> -/* > >> - * linux/arch/arm/mach-s5pv210/dev-onenand.c > >> - * > >> - * ?Copyright (c) 2008-2010 Samsung Electronics > >> - * ?Kyungmin Park <kyungmin.park@samsung.com> > >> - * > >> - * S5PC110 series device definition for OneNAND devices > >> - * > >> - * 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 <linux/mtd/mtd.h> > >> -#include <linux/mtd/onenand.h> > >> - > >> -#include <mach/irqs.h> > >> -#include <mach/map.h> > >> - > >> -static struct resource s5pc110_onenand_resources[] = { > >> - ? ? [0] = { > >> - ? ? ? ? ? ? .start ?= S5PC110_PA_ONENAND, > >> - ? ? ? ? ? ? .end ? ?= S5PC110_PA_ONENAND + SZ_128K - 1, > >> - ? ? ? ? ? ? .flags ?= IORESOURCE_MEM, > >> - ? ? }, > >> - ? ? [1] = { > >> - ? ? ? ? ? ? .start ?= S5PC110_PA_ONENAND_DMA, > >> - ? ? ? ? ? ? .end ? ?= S5PC110_PA_ONENAND_DMA + SZ_2K - 1, > >> - ? ? ? ? ? ? .flags ?= IORESOURCE_MEM, > >> - ? ? }, > >> -}; > >> - > >> -struct platform_device s5pc110_device_onenand = { > >> - ? ? .name ? ? ? ? ? = "s5pc110-onenand", > >> - ? ? .id ? ? ? ? ? ? = -1, > >> - ? ? .num_resources ?= ARRAY_SIZE(s5pc110_onenand_resources), > >> - ? ? .resource ? ? ? = s5pc110_onenand_resources, > >> -}; > >> - > >> -void s5pc110_onenand_set_platdata(struct onenand_platform_data *pdata) > >> -{ > >> - ? ? struct onenand_platform_data *pd; > >> - > >> - ? ? pd = kmemdup(pdata, sizeof(struct onenand_platform_data), > >> GFP_KERNEL); > >> - ? ? if (!pd) > >> - ? ? ? ? ? ? printk(KERN_ERR "%s: no memory for platform data\n", > >> __func__); > >> - ? ? s5pc110_device_onenand.dev.platform_data = pd; > >> -} > >> diff --git a/arch/arm/mach-s5pv210/include/mach/map.h b/arch/arm/mach- > >> s5pv210/include/mach/map.h > >> index 34eb168..3a44e1e 100644 > >> --- a/arch/arm/mach-s5pv210/include/mach/map.h > >> +++ b/arch/arm/mach-s5pv210/include/mach/map.h > >> @@ -16,9 +16,6 @@ > >> ?#include <plat/map-base.h> > >> ?#include <plat/map-s5p.h> > >> > >> -#define S5PC110_PA_ONENAND ? (0xB0000000) > >> -#define S5PC110_PA_ONENAND_DMA ? ? ? (0xB0600000) > >> - > >> ?#define S5PV210_PA_CHIPID ? ?(0xE0000000) > >> ?#define S5P_PA_CHIPID ? ? ? ? ? ? ? ?S5PV210_PA_CHIPID > >> > >> diff --git a/arch/arm/plat-s5p/Kconfig b/arch/arm/plat-s5p/Kconfig > >> index 907ac63..314f7d1 100644 > >> --- a/arch/arm/plat-s5p/Kconfig > >> +++ b/arch/arm/plat-s5p/Kconfig > >> @@ -31,3 +31,8 @@ config S5P_EXT_INT > >> ? ? ? help > >> ? ? ? ? Use the external interrupts (other than GPIO interrupts.) > >> ? ? ? ? Note: Do not choose this for S5P6440. > >> + > >> +config S5PC110_DEV_ONENAND > > > > As I said, S5P_DEV_ONENAND is better in here. > No, I don't want to break the current board use the S5PC110_DEV_ONENAND. Hmm...you can use S5PC110_xxx even though change the prefix in there. > > Before request the S5P_* prefix. first make rules. In your Please use s5p_xxx for easily reading and avoiding confusing in plat-s5p. > explanation. it can move to the plat-samsung. No. > What's the definition of s5p. just two s5p series have the same IP. > then can be used the plat-s5p? Yes, it's simple...it can help to avoid duplicate code. > > So I suggest that (the number means the priority and naming rules.) > 1. use the first SoC chip name. > 2. two s5p series or more have the same IP. then use the plat-s5p > 3. If driver support s3c and s5p series then use the plat-samsung. e.g., RTC. In this case, I don't agree with you... > > So it's reasonable to use S5PC110_DEV_ONENAND name. > > > > >> + ? ? bool > >> + ? ? help > >> + ? ? ? Compile in platform device definition for OneNAND controller > >> diff --git a/arch/arm/plat-s5p/Makefile b/arch/arm/plat-s5p/Makefile > >> index 39c242b..c49617e 100644 > >> --- a/arch/arm/plat-s5p/Makefile > >> +++ b/arch/arm/plat-s5p/Makefile > >> @@ -12,9 +12,12 @@ obj- ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? := > >> > >> ?# Core files > >> > >> -obj-y ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?+= dev-uart.o > >> ?obj-y ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?+= cpu.o > >> ?obj-y ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?+= clock.o > >> ?obj-y ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?+= irq.o > >> ?obj-$(CONFIG_S5P_EXT_INT) ? ?+= irq-eint.o > >> > >> +# Device files > >> + > >> +obj-y ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?+= dev-uart.o > >> +obj-$(CONFIG_S5PC110_DEV_ONENAND) ? ?+= dev-onenand.o > >> diff --git a/arch/arm/plat-s5p/dev-onenand.c > > b/arch/arm/plat-s5p/dev-onenand.c > >> new file mode 100644 > >> index 0000000..08b3a3f > >> --- /dev/null > >> +++ b/arch/arm/plat-s5p/dev-onenand.c > >> @@ -0,0 +1,53 @@ > >> +/* > >> + * linux/arch/arm/plat-s5p/dev-onenand.c > >> + * > >> + * ?Copyright (c) 2008-2010 Samsung Electronics > >> + * ?Kyungmin Park <kyungmin.park@samsung.com> > >> + * > >> + * S5PC110 series device definition for OneNAND devices > > > > I thinks...this is for S5P SoCs such as S5PC210 and S5PC110 > > ...even though S5P6440 does not have OneNAND device... > > > >> + * > >> + * 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 <linux/mtd/mtd.h> > >> +#include <linux/mtd/onenand.h> > >> + > >> +#include <mach/irqs.h> > >> +#include <mach/map.h> > >> + > >> +#define S5PC110_PA_ONENAND ? ? ? ? ? (0xB0000000) > >> +#define S5PC110_PA_ONENAND_DMA ? ? ? ? ? ? ? (0xB0600000) > > > > Please move to mach/map.h for compatibilities with other SoCs. > > Can you explain the why use the hard-coded value in clock framework? It's different case...because the address can be changed in other APs. > it's only used that at there. it's same rule. it's only used here. > Hmm...you misunderstood :-( I didn't say like that...please see below. --- mach/map.h #define S5PC110_PA_ONENAND (0xB0000000) #define S5PC110_PA_ONENAND_DMA (0xB0600000) ... #define S5P_PA_ONENAND S5PC110_PA_ONENAND #define S5P_PA_ONENAND_DMA S5PC110_PA_ONENAND_DMA --- Used above method on other cases. And it can be used even if the address differs on each AP. > Do you want to hard-coded the value at resource directly? > No... I wonder...if the address differs on each AP, how can you support it...maybe adding ifdef in there? > As I suggested, make rules first and discuss it. > Please use above method in there...of course if there is more reasonable reason, the rule can be changed. > > > > #define S5PC110_PA_ONENAND ? ? ? ? ? ? ?(0xB0000000) > > ... > > #define S5P_PA_ONENAD ? ? ? ? ? S5PC110_PA_ONENAND > > ... > > > >> + > >> +static struct resource s5pc110_onenand_resources[] = { > > > > s5p_onenand_resources... > > > >> + ? ? [0] = { > >> + ? ? ? ? ? ? .start ?= S5PC110_PA_ONENAND, > >> + ? ? ? ? ? ? .end ? ?= S5PC110_PA_ONENAND + SZ_128K - 1, > > > > Here, S5P_PA_xxx is better... > > > >> + ? ? ? ? ? ? .flags ?= IORESOURCE_MEM, > >> + ? ? }, > >> + ? ? [1] = { > >> + ? ? ? ? ? ? .start ?= S5PC110_PA_ONENAND_DMA, > >> + ? ? ? ? ? ? .end ? ?= S5PC110_PA_ONENAND_DMA + SZ_2K - 1, > >> + ? ? ? ? ? ? .flags ?= IORESOURCE_MEM, > >> + ? ? }, > >> +}; > >> + > >> +struct platform_device s5pc110_device_onenand = { > >> + ? ? .name ? ? ? ? ? = "s5pc110-onenand", > >> + ? ? .id ? ? ? ? ? ? = -1, > >> + ? ? .num_resources ?= ARRAY_SIZE(s5pc110_onenand_resources), > >> + ? ? .resource ? ? ? = s5pc110_onenand_resources, > >> +}; > >> + > >> +void s5pc110_onenand_set_platdata(struct onenand_platform_data *pdata) > >> +{ > >> + ? ? struct onenand_platform_data *pd; > >> + > >> + ? ? pd = kmemdup(pdata, sizeof(struct onenand_platform_data), > >> GFP_KERNEL); > >> + ? ? if (!pd) > >> + ? ? ? ? ? ? printk(KERN_ERR "%s: no memory for platform data\n", > >> __func__); > >> + ? ? s5pc110_device_onenand.dev.platform_data = pd; > > > > s3c_set_platdata(pdata, sizeof(struct onenand_platform_data), > > &s5p_device_onenand); > > I just remove it. there's no user. and no need to setup for platform. > > Thank you, > Kyungmin Park > > Thanks. Best regards, Kgene. -- Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer, SW Solution Development Team, Samsung Electronics Co., Ltd. ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/6] S5PC110: Move OneNAND platform device to plat-s5p 2010-07-30 2:23 ` Kukjin Kim @ 2010-07-30 3:14 ` Kyungmin Park 0 siblings, 0 replies; 5+ messages in thread From: Kyungmin Park @ 2010-07-30 3:14 UTC (permalink / raw) To: linux-arm-kernel On Fri, Jul 30, 2010 at 11:23 AM, Kukjin Kim <kgene.kim@samsung.com> wrote: > Kyungmin Park wrote: >> >> On Thu, Jul 29, 2010 at 9:30 AM, Kukjin Kim <kgene.kim@samsung.com> wrote: >> > Kyungmin Park wrote: >> >> >> > Hi, >> > >> > Cc'ed Ben Dooks. >> > >> >> From: Kyungmin Park <kyungmin.park@samsung.com> >> >> >> >> To share the same platform device for s5pc210 >> >> >> >> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> >> >> --- >> >> ?arch/arm/mach-s5pv210/Kconfig ? ? ? ? ? ?| ? ?5 --- >> >> ?arch/arm/mach-s5pv210/Makefile ? ? ? ? ? | ? ?1 - >> >> ?arch/arm/mach-s5pv210/dev-onenand.c ? ? ?| ? 50 >> > ---------------------------- >> >> ?arch/arm/mach-s5pv210/include/mach/map.h | ? ?3 -- >> >> ?arch/arm/plat-s5p/Kconfig ? ? ? ? ? ? ? ?| ? ?5 +++ >> >> ?arch/arm/plat-s5p/Makefile ? ? ? ? ? ? ? | ? ?5 ++- >> >> ?arch/arm/plat-s5p/dev-onenand.c ? ? ? ? ?| ? 53 >> >> ++++++++++++++++++++++++++++++ >> >> ?7 files changed, 62 insertions(+), 60 deletions(-) >> >> ?delete mode 100644 arch/arm/mach-s5pv210/dev-onenand.c >> >> ?create mode 100644 arch/arm/plat-s5p/dev-onenand.c >> > >> > In future, please check your git configuration so that can come out as >> > follows. >> > It's just 'rename(move)' not 'delete and create'...It can help to us > that it >> > can see more easily whether something changed. >> >> It used the lower version of git. I will update it. >> > >> > arch/arm/{mach-s5pv210 => plat-s5p}/dev-onenand.c | ? ?5 ++++- >> > ?1 files changed, 4 insertions(+), 1 deletions(-) >> > ?rename arch/arm/{mach-s5pv210 => plat-s5p}/dev-onenand.c (91%) >> > >> > diff --git a/arch/arm/mach-s5pv210/dev-onenand.c >> > b/arch/arm/plat-s5p/dev-onenand.c >> > similarity index 91% >> > rename from arch/arm/mach-s5pv210/dev-onenand.c >> > rename to arch/arm/plat-s5p/dev-onenand.c >> > index 34997b7..08b3a3f 100644 >> > --- a/arch/arm/mach-s5pv210/dev-onenand.c >> > +++ b/arch/arm/plat-s5p/dev-onenand.c >> > >> > >> >> >> >> diff --git a/arch/arm/mach-s5pv210/Kconfig > b/arch/arm/mach-s5pv210/Kconfig >> >> index 0761eac..96f4d9b 100644 >> >> --- a/arch/arm/mach-s5pv210/Kconfig >> >> +++ b/arch/arm/mach-s5pv210/Kconfig >> >> @@ -62,11 +62,6 @@ config MACH_GONI >> >> ? ? ? ? Machine support for Samsung GONI board >> >> ? ? ? ? S5PC110(MCP) is one of package option of S5PV210 >> >> >> >> -config S5PC110_DEV_ONENAND >> >> - ? ? bool >> >> - ? ? help >> >> - ? ? ? Compile in platform device definition for OneNAND1 controller >> >> - >> >> ?config MACH_SMDKV210 >> >> ? ? ? bool "SMDKV210" >> >> ? ? ? select CPU_S5PV210 >> >> diff --git a/arch/arm/mach-s5pv210/Makefile >> > b/arch/arm/mach-s5pv210/Makefile >> >> index 30be9a6..6a6dea1 100644 >> >> --- a/arch/arm/mach-s5pv210/Makefile >> >> +++ b/arch/arm/mach-s5pv210/Makefile >> >> @@ -26,7 +26,6 @@ obj-$(CONFIG_MACH_GONI) ? ? ? ? ? ? += mach-goni.o >> >> >> >> ?obj-y ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?+= dev-audio.o >> >> ?obj-$(CONFIG_S3C64XX_DEV_SPI) ? ? ? ?+= dev-spi.o >> >> -obj-$(CONFIG_S5PC110_DEV_ONENAND) += dev-onenand.o >> >> >> >> ?obj-$(CONFIG_S5PV210_SETUP_FB_24BPP) += setup-fb-24bpp.o >> >> ?obj-$(CONFIG_S5PV210_SETUP_I2C1) ? ? += setup-i2c1.o >> >> diff --git a/arch/arm/mach-s5pv210/dev-onenand.c >> > b/arch/arm/mach-s5pv210/dev- >> >> onenand.c >> >> deleted file mode 100644 >> >> index 34997b7..0000000 >> >> --- a/arch/arm/mach-s5pv210/dev-onenand.c >> >> +++ /dev/null >> >> @@ -1,50 +0,0 @@ >> >> -/* >> >> - * linux/arch/arm/mach-s5pv210/dev-onenand.c >> >> - * >> >> - * ?Copyright (c) 2008-2010 Samsung Electronics >> >> - * ?Kyungmin Park <kyungmin.park@samsung.com> >> >> - * >> >> - * S5PC110 series device definition for OneNAND devices >> >> - * >> >> - * 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 <linux/mtd/mtd.h> >> >> -#include <linux/mtd/onenand.h> >> >> - >> >> -#include <mach/irqs.h> >> >> -#include <mach/map.h> >> >> - >> >> -static struct resource s5pc110_onenand_resources[] = { >> >> - ? ? [0] = { >> >> - ? ? ? ? ? ? .start ?= S5PC110_PA_ONENAND, >> >> - ? ? ? ? ? ? .end ? ?= S5PC110_PA_ONENAND + SZ_128K - 1, >> >> - ? ? ? ? ? ? .flags ?= IORESOURCE_MEM, >> >> - ? ? }, >> >> - ? ? [1] = { >> >> - ? ? ? ? ? ? .start ?= S5PC110_PA_ONENAND_DMA, >> >> - ? ? ? ? ? ? .end ? ?= S5PC110_PA_ONENAND_DMA + SZ_2K - 1, >> >> - ? ? ? ? ? ? .flags ?= IORESOURCE_MEM, >> >> - ? ? }, >> >> -}; >> >> - >> >> -struct platform_device s5pc110_device_onenand = { >> >> - ? ? .name ? ? ? ? ? = "s5pc110-onenand", >> >> - ? ? .id ? ? ? ? ? ? = -1, >> >> - ? ? .num_resources ?= ARRAY_SIZE(s5pc110_onenand_resources), >> >> - ? ? .resource ? ? ? = s5pc110_onenand_resources, >> >> -}; >> >> - >> >> -void s5pc110_onenand_set_platdata(struct onenand_platform_data *pdata) >> >> -{ >> >> - ? ? struct onenand_platform_data *pd; >> >> - >> >> - ? ? pd = kmemdup(pdata, sizeof(struct onenand_platform_data), >> >> GFP_KERNEL); >> >> - ? ? if (!pd) >> >> - ? ? ? ? ? ? printk(KERN_ERR "%s: no memory for platform data\n", >> >> __func__); >> >> - ? ? s5pc110_device_onenand.dev.platform_data = pd; >> >> -} >> >> diff --git a/arch/arm/mach-s5pv210/include/mach/map.h b/arch/arm/mach- >> >> s5pv210/include/mach/map.h >> >> index 34eb168..3a44e1e 100644 >> >> --- a/arch/arm/mach-s5pv210/include/mach/map.h >> >> +++ b/arch/arm/mach-s5pv210/include/mach/map.h >> >> @@ -16,9 +16,6 @@ >> >> ?#include <plat/map-base.h> >> >> ?#include <plat/map-s5p.h> >> >> >> >> -#define S5PC110_PA_ONENAND ? (0xB0000000) >> >> -#define S5PC110_PA_ONENAND_DMA ? ? ? (0xB0600000) >> >> - >> >> ?#define S5PV210_PA_CHIPID ? ?(0xE0000000) >> >> ?#define S5P_PA_CHIPID ? ? ? ? ? ? ? ?S5PV210_PA_CHIPID >> >> >> >> diff --git a/arch/arm/plat-s5p/Kconfig b/arch/arm/plat-s5p/Kconfig >> >> index 907ac63..314f7d1 100644 >> >> --- a/arch/arm/plat-s5p/Kconfig >> >> +++ b/arch/arm/plat-s5p/Kconfig >> >> @@ -31,3 +31,8 @@ config S5P_EXT_INT >> >> ? ? ? help >> >> ? ? ? ? Use the external interrupts (other than GPIO interrupts.) >> >> ? ? ? ? Note: Do not choose this for S5P6440. >> >> + >> >> +config S5PC110_DEV_ONENAND >> > >> > As I said, S5P_DEV_ONENAND is better in here. >> No, I don't want to break the current board use the S5PC110_DEV_ONENAND. > > Hmm...you can use S5PC110_xxx even though change the prefix in there. > >> >> Before request the S5P_* prefix. first make rules. In your > > Please use s5p_xxx for easily reading and avoiding confusing in plat-s5p. > >> explanation. it can move to the plat-samsung. > > No. > >> What's the definition of s5p. just two s5p series have the same IP. >> then can be used the plat-s5p? > > Yes, it's simple...it can help to avoid duplicate code. >> >> So I suggest that (the number means the priority and naming rules.) >> 1. use the first SoC chip name. >> 2. two s5p series or more have the same IP. then use the plat-s5p >> 3. If driver support s3c and s5p series then use the plat-samsung. e.g., > RTC. > > In this case, I don't agree with you... >> >> So it's reasonable to use S5PC110_DEV_ONENAND name. >> >> > >> >> + ? ? bool >> >> + ? ? help >> >> + ? ? ? Compile in platform device definition for OneNAND controller >> >> diff --git a/arch/arm/plat-s5p/Makefile b/arch/arm/plat-s5p/Makefile >> >> index 39c242b..c49617e 100644 >> >> --- a/arch/arm/plat-s5p/Makefile >> >> +++ b/arch/arm/plat-s5p/Makefile >> >> @@ -12,9 +12,12 @@ obj- ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? := >> >> >> >> ?# Core files >> >> >> >> -obj-y ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?+= dev-uart.o >> >> ?obj-y ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?+= cpu.o >> >> ?obj-y ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?+= clock.o >> >> ?obj-y ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?+= irq.o >> >> ?obj-$(CONFIG_S5P_EXT_INT) ? ?+= irq-eint.o >> >> >> >> +# Device files >> >> + >> >> +obj-y ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?+= dev-uart.o >> >> +obj-$(CONFIG_S5PC110_DEV_ONENAND) ? ?+= dev-onenand.o >> >> diff --git a/arch/arm/plat-s5p/dev-onenand.c >> > b/arch/arm/plat-s5p/dev-onenand.c >> >> new file mode 100644 >> >> index 0000000..08b3a3f >> >> --- /dev/null >> >> +++ b/arch/arm/plat-s5p/dev-onenand.c >> >> @@ -0,0 +1,53 @@ >> >> +/* >> >> + * linux/arch/arm/plat-s5p/dev-onenand.c >> >> + * >> >> + * ?Copyright (c) 2008-2010 Samsung Electronics >> >> + * ?Kyungmin Park <kyungmin.park@samsung.com> >> >> + * >> >> + * S5PC110 series device definition for OneNAND devices >> > >> > I thinks...this is for S5P SoCs such as S5PC210 and S5PC110 >> > ...even though S5P6440 does not have OneNAND device... >> > >> >> + * >> >> + * 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 <linux/mtd/mtd.h> >> >> +#include <linux/mtd/onenand.h> >> >> + >> >> +#include <mach/irqs.h> >> >> +#include <mach/map.h> >> >> + >> >> +#define S5PC110_PA_ONENAND ? ? ? ? ? (0xB0000000) >> >> +#define S5PC110_PA_ONENAND_DMA ? ? ? ? ? ? ? (0xB0600000) >> > >> > Please move to mach/map.h for compatibilities with other SoCs. >> >> Can you explain the why use the hard-coded value in clock framework? > > It's different case...because the address can be changed in other APs. > >> it's only used that at there. it's same rule. it's only used here. >> > Hmm...you misunderstood :-( > I didn't say like that...please see below. > > --- mach/map.h > > #define S5PC110_PA_ONENAND ? ? ? ? ? ? ?(0xB0000000) > #define S5PC110_PA_ONENAND_DMA ?(0xB0600000) > > ... > > #define S5P_PA_ONENAND ? ? ? ? ?S5PC110_PA_ONENAND > #define S5P_PA_ONENAND_DMA ? ? ? ? ? ? ?S5PC110_PA_ONENAND_DMA > > --- > > Used above method on other cases. > And it can be used even if the address differs on each AP. No. it doesn't consider the single kernel way. Basically it's valid only when use the single chip. > >> Do you want to hard-coded the value at resource directly? >> > No... > I wonder...if the address differs on each AP, how can you support it...maybe > adding ifdef in there? I don't worry we will change the current device implementation to support multiple SoCs. then this issue will be solved. > >> As I suggested, make rules first and discuss it. >> > Please use above method in there...of course if there is more reasonable > reason, the rule can be changed. > >> > >> > #define S5PC110_PA_ONENAND ? ? ? ? ? ? ?(0xB0000000) >> > ... >> > #define S5P_PA_ONENAD ? ? ? ? ? S5PC110_PA_ONENAND >> > ... >> > >> >> + >> >> +static struct resource s5pc110_onenand_resources[] = { >> > >> > s5p_onenand_resources... >> > >> >> + ? ? [0] = { >> >> + ? ? ? ? ? ? .start ?= S5PC110_PA_ONENAND, >> >> + ? ? ? ? ? ? .end ? ?= S5PC110_PA_ONENAND + SZ_128K - 1, >> > >> > Here, S5P_PA_xxx is better... >> > >> >> + ? ? ? ? ? ? .flags ?= IORESOURCE_MEM, >> >> + ? ? }, >> >> + ? ? [1] = { >> >> + ? ? ? ? ? ? .start ?= S5PC110_PA_ONENAND_DMA, >> >> + ? ? ? ? ? ? .end ? ?= S5PC110_PA_ONENAND_DMA + SZ_2K - 1, >> >> + ? ? ? ? ? ? .flags ?= IORESOURCE_MEM, >> >> + ? ? }, >> >> +}; >> >> + >> >> +struct platform_device s5pc110_device_onenand = { >> >> + ? ? .name ? ? ? ? ? = "s5pc110-onenand", >> >> + ? ? .id ? ? ? ? ? ? = -1, >> >> + ? ? .num_resources ?= ARRAY_SIZE(s5pc110_onenand_resources), >> >> + ? ? .resource ? ? ? = s5pc110_onenand_resources, >> >> +}; >> >> + >> >> +void s5pc110_onenand_set_platdata(struct onenand_platform_data *pdata) >> >> +{ >> >> + ? ? struct onenand_platform_data *pd; >> >> + >> >> + ? ? pd = kmemdup(pdata, sizeof(struct onenand_platform_data), >> >> GFP_KERNEL); >> >> + ? ? if (!pd) >> >> + ? ? ? ? ? ? printk(KERN_ERR "%s: no memory for platform data\n", >> >> __func__); >> >> + ? ? s5pc110_device_onenand.dev.platform_data = pd; >> > >> > s3c_set_platdata(pdata, sizeof(struct onenand_platform_data), >> > &s5p_device_onenand); >> >> I just remove it. there's no user. and no need to setup for platform. >> >> Thank you, >> Kyungmin Park >> > > > > Thanks. > > Best regards, > Kgene. > -- > Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer, > SW Solution Development Team, Samsung Electronics Co., Ltd. > > ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2010-07-30 3:14 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-07-28 10:11 [PATCH 1/6] S5PC110: Move OneNAND platform device to plat-s5p Kyungmin Park 2010-07-29 0:30 ` Kukjin Kim 2010-07-30 0:53 ` Kyungmin Park 2010-07-30 2:23 ` Kukjin Kim 2010-07-30 3:14 ` Kyungmin Park
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).