2012-10-13 05:01:11

by Huang Shijie

[permalink] [raw]
Subject: [PATCH] mtd: gpmi: remove unneccessary header

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 <[email protected]>
---
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


2012-10-24 06:13:48

by Huang Shijie

[permalink] [raw]
Subject: Re: [PATCH] mtd: gpmi: remove unneccessary header

ping.

On Sun, Oct 14, 2012 at 1:03 AM, Huang Shijie <[email protected]> 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 <[email protected]>
> ---
> 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
>

2012-10-26 13:51:18

by Artem Bityutskiy

[permalink] [raw]
Subject: Re: [PATCH] mtd: gpmi: remove unneccessary header

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 <[email protected]>

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

--
Best Regards,
Artem Bityutskiy


Attachments:
arm-mxs_defconfig (3.49 kB)
signature.asc (836.00 B)
This is a digitally signed message part
Download all attachments

2012-11-09 15:10:11

by Artem Bityutskiy

[permalink] [raw]
Subject: Re: [PATCH] mtd: gpmi: remove unneccessary header

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 <[email protected]>
> > 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!

--
Best Regards,
Artem Bityutskiy


Attachments:
signature.asc (836.00 B)
This is a digitally signed message part

2012-11-10 01:39:49

by Huang Shijie

[permalink] [raw]
Subject: Re: [PATCH] mtd: gpmi: remove unneccessary header

On Fri, Nov 9, 2012 at 10:10 AM, Artem Bityutskiy <[email protected]> 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 <[email protected]>
>> > 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

2012-11-12 14:54:18

by Artem Bityutskiy

[permalink] [raw]
Subject: Re: [PATCH] mtd: gpmi: remove unneccessary header

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!

--
Best Regards,
Artem Bityutskiy


Attachments:
signature.asc (836.00 B)
This is a digitally signed message part