Message ID | 1350147809-19616-1-git-send-email-shijie8@gmail.com |
---|---|
State | Accepted |
Commit | 5de0b52ea8f8f5149502867acff2efb5efaf1fc2 |
Headers | show |
ping. On Sun, Oct 14, 2012 at 1:03 AM, Huang Shijie <shijie8@gmail.com> wrote: > The whole gpmi-nand driver has turned to pure devicetree supported. > So the linux/mtd/gpmi-nand.h is not neccessary now. Just remove it, > and move some macros to the gpmi-nand driver itself. > > Signed-off-by: Huang Shijie <shijie8@gmail.com> > --- > drivers/mtd/nand/gpmi-nand/gpmi-lib.c | 1 - > drivers/mtd/nand/gpmi-nand/gpmi-nand.c | 7 +++- > drivers/mtd/nand/gpmi-nand/gpmi-nand.h | 1 - > include/linux/mtd/gpmi-nand.h | 68 -------------------------------- > 4 files changed, 6 insertions(+), 71 deletions(-) > delete mode 100644 include/linux/mtd/gpmi-nand.h > > diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-lib.c b/drivers/mtd/nand/gpmi-nand/gpmi-lib.c > index 3502acc..1585c5b 100644 > --- a/drivers/mtd/nand/gpmi-nand/gpmi-lib.c > +++ b/drivers/mtd/nand/gpmi-nand/gpmi-lib.c > @@ -18,7 +18,6 @@ > * with this program; if not, write to the Free Software Foundation, Inc., > * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. > */ > -#include <linux/mtd/gpmi-nand.h> > #include <linux/delay.h> > #include <linux/clk.h> > > diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c > index e2c56fc..d376198 100644 > --- a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c > +++ b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c > @@ -25,7 +25,6 @@ > #include <linux/slab.h> > #include <linux/interrupt.h> > #include <linux/module.h> > -#include <linux/mtd/gpmi-nand.h> > #include <linux/mtd/partitions.h> > #include <linux/pinctrl/consumer.h> > #include <linux/of.h> > @@ -33,6 +32,12 @@ > #include <linux/of_mtd.h> > #include "gpmi-nand.h" > > +/* Resource names for the GPMI NAND driver. */ > +#define GPMI_NAND_GPMI_REGS_ADDR_RES_NAME "gpmi-nand" > +#define GPMI_NAND_BCH_REGS_ADDR_RES_NAME "bch" > +#define GPMI_NAND_BCH_INTERRUPT_RES_NAME "bch" > +#define GPMI_NAND_DMA_INTERRUPT_RES_NAME "gpmi-dma" > + > /* add our owner bbt descriptor */ > static uint8_t scan_ff_pattern[] = { 0xff }; > static struct nand_bbt_descr gpmi_bbt_descr = { > diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-nand.h b/drivers/mtd/nand/gpmi-nand/gpmi-nand.h > index 7ac25c1..3d93a5e 100644 > --- a/drivers/mtd/nand/gpmi-nand/gpmi-nand.h > +++ b/drivers/mtd/nand/gpmi-nand/gpmi-nand.h > @@ -130,7 +130,6 @@ struct gpmi_nand_data { > /* System Interface */ > struct device *dev; > struct platform_device *pdev; > - struct gpmi_nand_platform_data *pdata; > > /* Resources */ > struct resources resources; > diff --git a/include/linux/mtd/gpmi-nand.h b/include/linux/mtd/gpmi-nand.h > deleted file mode 100644 > index ed3c4e0..0000000 > --- a/include/linux/mtd/gpmi-nand.h > +++ /dev/null > @@ -1,68 +0,0 @@ > -/* > - * Copyright (C) 2011 Freescale Semiconductor, Inc. All Rights Reserved. > - * > - * This program is free software; you can redistribute it and/or modify > - * it under the terms of the GNU General Public License as published by > - * the Free Software Foundation; either version 2 of the License, or > - * (at your option) any later version. > - * > - * This program is distributed in the hope that it will be useful, > - * but WITHOUT ANY WARRANTY; without even the implied warranty of > - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > - * GNU General Public License for more details. > - * > - * You should have received a copy of the GNU General Public License along > - * with this program; if not, write to the Free Software Foundation, Inc., > - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. > - */ > - > -#ifndef __MACH_MXS_GPMI_NAND_H__ > -#define __MACH_MXS_GPMI_NAND_H__ > - > -/* The size of the resources is fixed. */ > -#define GPMI_NAND_RES_SIZE 6 > - > -/* Resource names for the GPMI NAND driver. */ > -#define GPMI_NAND_GPMI_REGS_ADDR_RES_NAME "gpmi-nand" > -#define GPMI_NAND_GPMI_INTERRUPT_RES_NAME "GPMI NAND GPMI Interrupt" > -#define GPMI_NAND_BCH_REGS_ADDR_RES_NAME "bch" > -#define GPMI_NAND_BCH_INTERRUPT_RES_NAME "bch" > -#define GPMI_NAND_DMA_CHANNELS_RES_NAME "GPMI NAND DMA Channels" > -#define GPMI_NAND_DMA_INTERRUPT_RES_NAME "gpmi-dma" > - > -/** > - * struct gpmi_nand_platform_data - GPMI NAND driver platform data. > - * > - * This structure communicates platform-specific information to the GPMI NAND > - * driver that can't be expressed as resources. > - * > - * @platform_init: A pointer to a function the driver will call to > - * initialize the platform (e.g., set up the pin mux). > - * @min_prop_delay_in_ns: Minimum propagation delay of GPMI signals to and > - * from the NAND Flash device, in nanoseconds. > - * @max_prop_delay_in_ns: Maximum propagation delay of GPMI signals to and > - * from the NAND Flash device, in nanoseconds. > - * @max_chip_count: The maximum number of chips for which the driver > - * should configure the hardware. This value most > - * likely reflects the number of pins that are > - * connected to a NAND Flash device. If this is > - * greater than the SoC hardware can support, the > - * driver will print a message and fail to initialize. > - * @partitions: An optional pointer to an array of partition > - * descriptions. > - * @partition_count: The number of elements in the partitions array. > - */ > -struct gpmi_nand_platform_data { > - /* SoC hardware information. */ > - int (*platform_init)(void); > - > - /* NAND Flash information. */ > - unsigned int min_prop_delay_in_ns; > - unsigned int max_prop_delay_in_ns; > - unsigned int max_chip_count; > - > - /* Medium information. */ > - struct mtd_partition *partitions; > - unsigned partition_count; > -}; > -#endif > -- > 1.7.4.4 >
On Sat, 2012-10-13 at 13:03 -0400, Huang Shijie wrote: > The whole gpmi-nand driver has turned to pure devicetree supported. > So the linux/mtd/gpmi-nand.h is not neccessary now. Just remove it, > and move some macros to the gpmi-nand driver itself. > > Signed-off-by: Huang Shijie <shijie8@gmail.com> I cannot compile-test it because the MXS configuration file I always used for compile-testing gpmi-nand patches (attached) does not work anymore - I get the following compilation errors: /home/dedekind/git/l2-mtd/arch/arm/include/asm/processor.h:82: warning: "__LINUX_ARM_ARCH__" is not defined /home/dedekind/git/l2-mtd/arch/arm/include/asm/processor.h:97: warning: "__LINUX_ARM_ARCH__" is not defined In file included from include/linux/time.h:6, from include/uapi/linux/timex.h:56, from include/linux/timex.h:56, from include/linux/sched.h:17, from arch/arm/kernel/asm-offsets.c:13: include/linux/math64.h: In function 'div_u64_rem': include/linux/math64.h:55: error: '__LINUX_ARM_ARCH__' undeclared (first use in this function) include/linux/math64.h:55: error: (Each undeclared identifier is reported only once include/linux/math64.h:55: error: for each function it appears in.) In file included from include/linux/mm_types.h:15, from include/linux/sched.h:24, from arch/arm/kernel/asm-offsets.c:13: /home/dedekind/git/l2-mtd/arch/arm/include/asm/page.h: At top level: /home/dedekind/git/l2-mtd/arch/arm/include/asm/page.h:107: error: #error Unknown user operations model In file included from include/linux/mm.h:44, from arch/arm/kernel/asm-offsets.c:14: /home/dedekind/git/l2-mtd/arch/arm/include/asm/pgtable.h:210: warning: "__LINUX_ARM_ARCH__" is not defined In file included from include/linux/scatterlist.h:10, from include/linux/dma-mapping.h:9, from arch/arm/kernel/asm-offsets.c:15: /home/dedekind/git/l2-mtd/arch/arm/include/asm/io.h:50: warning: "__LINUX_ARM_ARCH__" is not defined In file included from include/linux/dma-mapping.h:76, from arch/arm/kernel/asm-offsets.c:15: /home/dedekind/git/l2-mtd/arch/arm/include/asm/dma-mapping.h: In function 'dma_mapping_error': /home/dedekind/git/l2-mtd/arch/arm/include/asm/dma-mapping.h:94: error: implicit declaration of function 'debug_dma_mapping_error' In file included from /home/dedekind/git/l2-mtd/arch/arm/include/asm/cacheflush.h:15, from arch/arm/kernel/asm-offsets.c:16: /home/dedekind/git/l2-mtd/arch/arm/include/asm/glue-cache.h: At top level: /home/dedekind/git/l2-mtd/arch/arm/include/asm/glue-cache.h:129: error: #error Unknown cache maintenance model In file included from /home/dedekind/git/l2-mtd/arch/arm/include/asm/cacheflush.h:17, from arch/arm/kernel/asm-offsets.c:16: /home/dedekind/git/l2-mtd/arch/arm/include/asm/cachetype.h:28: warning: "__LINUX_ARM_ARCH__" is not defined /home/dedekind/git/l2-mtd/arch/arm/include/asm/cachetype.h:33: warning: "__LINUX_ARM_ARCH__" is not defined In file included from arch/arm/kernel/asm-offsets.c:16: /home/dedekind/git/l2-mtd/arch/arm/include/asm/cacheflush.h:204: warning: "__LINUX_ARM_ARCH__" is not defined /home/dedekind/git/l2-mtd/arch/arm/include/asm/cacheflush.h:206: warning: "__LINUX_ARM_ARCH__" is not defined In file included from arch/arm/kernel/asm-offsets.c:17: /home/dedekind/git/l2-mtd/arch/arm/include/asm/glue-df.h:99: error: #error Unknown data abort handler type In file included from arch/arm/kernel/asm-offsets.c:18: /home/dedekind/git/l2-mtd/arch/arm/include/asm/glue-pf.h:54: error: #error Unknown prefetch abort handler type make[1]: *** [arch/arm/kernel/asm-offsets.s] Error 1 make: *** [prepare0] Error 2
On Sat, 2012-10-27 at 10:23 +0800, Huang Shijie wrote: > 于 2012年10月26日 21:41, Artem Bityutskiy 写道: > > On Sat, 2012-10-13 at 13:03 -0400, Huang Shijie wrote: > > > The whole gpmi-nand driver has turned to pure devicetree supported. > > > So the linux/mtd/gpmi-nand.h is not neccessary now. Just remove it, > > > and move some macros to the gpmi-nand driver itself. > > > > > > Signed-off-by: Huang Shijie <shijie8@gmail.com> > > I cannot compile-test it because the MXS configuration file I always > I tested this patch in mxs and mx6q with the linux-next-20121026. > I do not meet such compiler errors. > > I think the l2-mtd tree is lack of some patches in other people's > tree. > In the current l2-mtd tree, even i DISABLE the gpmi driver, the kernel > still > meets the compiler errors. It is based on v3.7-rc4. Once the patches you refer are in Linus's tree, let me know. Thanks!
On Fri, Nov 9, 2012 at 10:10 AM, Artem Bityutskiy <dedekind1@gmail.com> wrote: > On Sat, 2012-10-27 at 10:23 +0800, Huang Shijie wrote: >> 于 2012年10月26日 21:41, Artem Bityutskiy 写道: >> > On Sat, 2012-10-13 at 13:03 -0400, Huang Shijie wrote: >> > > The whole gpmi-nand driver has turned to pure devicetree supported. >> > > So the linux/mtd/gpmi-nand.h is not neccessary now. Just remove it, >> > > and move some macros to the gpmi-nand driver itself. >> > > >> > > Signed-off-by: Huang Shijie <shijie8@gmail.com> >> > I cannot compile-test it because the MXS configuration file I always >> I tested this patch in mxs and mx6q with the linux-next-20121026. >> I do not meet such compiler errors. >> >> I think the l2-mtd tree is lack of some patches in other people's >> tree. >> In the current l2-mtd tree, even i DISABLE the gpmi driver, the kernel >> still >> meets the compiler errors. > > It is based on v3.7-rc4. Once the patches you refer are in Linus's tree, > let me know. Thanks! > I re-created the .config based on the latest l2-mtd tree. I compiled the kernel with this patch again, and there is no compiler error anymore. Could you re-create your mxs config with "make ARCH=ARM mxs_defconfig", and test this patch again? thanks Huang Shijie > -- > Best Regards, > Artem Bityutskiy
On Fri, 2012-11-09 at 20:39 -0500, Huang Shijie wrote: > Could you re-create your mxs config with "make ARCH=ARM > mxs_defconfig", and test this patch again? Done, works now, pushed your patch to l2-mtd.git, thanks!
diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-lib.c b/drivers/mtd/nand/gpmi-nand/gpmi-lib.c index 3502acc..1585c5b 100644 --- a/drivers/mtd/nand/gpmi-nand/gpmi-lib.c +++ b/drivers/mtd/nand/gpmi-nand/gpmi-lib.c @@ -18,7 +18,6 @@ * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include <linux/mtd/gpmi-nand.h> #include <linux/delay.h> #include <linux/clk.h> diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c index e2c56fc..d376198 100644 --- a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c +++ b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c @@ -25,7 +25,6 @@ #include <linux/slab.h> #include <linux/interrupt.h> #include <linux/module.h> -#include <linux/mtd/gpmi-nand.h> #include <linux/mtd/partitions.h> #include <linux/pinctrl/consumer.h> #include <linux/of.h> @@ -33,6 +32,12 @@ #include <linux/of_mtd.h> #include "gpmi-nand.h" +/* Resource names for the GPMI NAND driver. */ +#define GPMI_NAND_GPMI_REGS_ADDR_RES_NAME "gpmi-nand" +#define GPMI_NAND_BCH_REGS_ADDR_RES_NAME "bch" +#define GPMI_NAND_BCH_INTERRUPT_RES_NAME "bch" +#define GPMI_NAND_DMA_INTERRUPT_RES_NAME "gpmi-dma" + /* add our owner bbt descriptor */ static uint8_t scan_ff_pattern[] = { 0xff }; static struct nand_bbt_descr gpmi_bbt_descr = { diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-nand.h b/drivers/mtd/nand/gpmi-nand/gpmi-nand.h index 7ac25c1..3d93a5e 100644 --- a/drivers/mtd/nand/gpmi-nand/gpmi-nand.h +++ b/drivers/mtd/nand/gpmi-nand/gpmi-nand.h @@ -130,7 +130,6 @@ struct gpmi_nand_data { /* System Interface */ struct device *dev; struct platform_device *pdev; - struct gpmi_nand_platform_data *pdata; /* Resources */ struct resources resources; diff --git a/include/linux/mtd/gpmi-nand.h b/include/linux/mtd/gpmi-nand.h deleted file mode 100644 index ed3c4e0..0000000 --- a/include/linux/mtd/gpmi-nand.h +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright (C) 2011 Freescale Semiconductor, Inc. All Rights Reserved. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#ifndef __MACH_MXS_GPMI_NAND_H__ -#define __MACH_MXS_GPMI_NAND_H__ - -/* The size of the resources is fixed. */ -#define GPMI_NAND_RES_SIZE 6 - -/* Resource names for the GPMI NAND driver. */ -#define GPMI_NAND_GPMI_REGS_ADDR_RES_NAME "gpmi-nand" -#define GPMI_NAND_GPMI_INTERRUPT_RES_NAME "GPMI NAND GPMI Interrupt" -#define GPMI_NAND_BCH_REGS_ADDR_RES_NAME "bch" -#define GPMI_NAND_BCH_INTERRUPT_RES_NAME "bch" -#define GPMI_NAND_DMA_CHANNELS_RES_NAME "GPMI NAND DMA Channels" -#define GPMI_NAND_DMA_INTERRUPT_RES_NAME "gpmi-dma" - -/** - * struct gpmi_nand_platform_data - GPMI NAND driver platform data. - * - * This structure communicates platform-specific information to the GPMI NAND - * driver that can't be expressed as resources. - * - * @platform_init: A pointer to a function the driver will call to - * initialize the platform (e.g., set up the pin mux). - * @min_prop_delay_in_ns: Minimum propagation delay of GPMI signals to and - * from the NAND Flash device, in nanoseconds. - * @max_prop_delay_in_ns: Maximum propagation delay of GPMI signals to and - * from the NAND Flash device, in nanoseconds. - * @max_chip_count: The maximum number of chips for which the driver - * should configure the hardware. This value most - * likely reflects the number of pins that are - * connected to a NAND Flash device. If this is - * greater than the SoC hardware can support, the - * driver will print a message and fail to initialize. - * @partitions: An optional pointer to an array of partition - * descriptions. - * @partition_count: The number of elements in the partitions array. - */ -struct gpmi_nand_platform_data { - /* SoC hardware information. */ - int (*platform_init)(void); - - /* NAND Flash information. */ - unsigned int min_prop_delay_in_ns; - unsigned int max_prop_delay_in_ns; - unsigned int max_chip_count; - - /* Medium information. */ - struct mtd_partition *partitions; - unsigned partition_count; -}; -#endif
The whole gpmi-nand driver has turned to pure devicetree supported. So the linux/mtd/gpmi-nand.h is not neccessary now. Just remove it, and move some macros to the gpmi-nand driver itself. Signed-off-by: Huang Shijie <shijie8@gmail.com> --- drivers/mtd/nand/gpmi-nand/gpmi-lib.c | 1 - drivers/mtd/nand/gpmi-nand/gpmi-nand.c | 7 +++- drivers/mtd/nand/gpmi-nand/gpmi-nand.h | 1 - include/linux/mtd/gpmi-nand.h | 68 -------------------------------- 4 files changed, 6 insertions(+), 71 deletions(-) delete mode 100644 include/linux/mtd/gpmi-nand.h