From: Boris Brezillon <boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
To: David Woodhouse <dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>,
Brian Norris
<computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
Boris Brezillon
<boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
Richard Weinberger <richard-/L3Ra7n9ekc@public.gmane.org>
Cc: Daniel Mack <daniel-cYrQPVfZoowdnm+yROfE0A@public.gmane.org>,
Haojian Zhuang
<haojian.zhuang-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Robert Jarzmik <robert.jarzmik-GANU6spQydw@public.gmane.org>,
Kukjin Kim <kgene-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
Krzysztof Kozlowski
<k.kozlowski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>,
linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
Ralf Baechle <ralf-6z/3iImG2C8G8FEW9MqTrA@public.gmane.org>,
linux-mips-6z/3iImG2C8G8FEW9MqTrA@public.gmane.org,
Nicolas Ferre
<nicolas.ferre-AIFe0yeh4nAAvxtiuMwx3w@public.gmane.org>,
Jean-Christophe Plagniol-Villard
<plagnioj-sclMFOaUSTBWk0Htik3J/w@public.gmane.org>,
Alexandre Belloni
<alexandre.belloni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
Wenyou Yang <wenyou.yang-AIFe0yeh4nAAvxtiuMwx3w@public.gmane.org>,
Josh Wu <rainyfeeling-1ViLX0X+lBJBDgjK7y7TUQ@public.gmane.org>,
Ezequiel Garcia
<ezequiel.garcia-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
Maxime Ripard
<maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
Chen-Yu Tsai <wens-jdAy2FN1RRM@public.gmane.org>,
linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org,
Stefan Agner <stefan-XLVq0VzYD2Y@public.gmane.org>,
Kyungmin Park
<kyungmin.park-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>,
Greg Kroah-Hartman
<gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>,
devel-gWbeCf7V1WCQmaza687I9mD2FQJk+8+b@public.gmane.orglinux
Subject: Re: [PATCH v5 00/52] mtd: rework ECC layout definition
Date: Wed, 30 Mar 2016 18:18:50 +0200 [thread overview]
Message-ID: <20160330181850.05717c8e@bbrezillon> (raw)
In-Reply-To: <1459354505-32551-1-git-send-email-boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
Despite what's said in the subject, this series only contains 50
patches, not 52.
On Wed, 30 Mar 2016 18:14:15 +0200
Boris Brezillon <boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org> wrote:
> Hello,
>
> Hopefully the last version of this patchset (but don't be sad, I'm not
> done bothering you with NAND related patches :-)).
>
> If possible, I'd like to have as much Tested/Reviewed/Acked-by tags as
> possible, particularly on the changes done in arch/arm and arch/mips
> (since the last set of commits depends on those changes, I'd like to
> take them in my nand/next branch, even if this imply creating an
> immutable branch for the ARM and MIPS maintainers).
>
> If nobody complains about this version, I'll merge it in 4.7.
>
> Here comes the usual description:
>
> This patchset aims at getting rid of the nand_ecclayout limitations.
> struct nand_ecclayout is defining fixed eccpos and oobfree arrays which
> can only be increased by modifying the MTD_MAX_ECCPOS_ENTRIES_LARGE and
> MTD_MAX_OOBFREE_ENTRIES_LARGE macros.
> This approach forces us to modify the macro values each time we add a
> new NAND chip with a bigger OOB area, and increasing these arrays also
> penalize all platforms, even those who only support small NAND devices
> (with small OOB area).
>
> The idea to overcome this limitation, is to define the ECC/OOB layout
> by the mean of two functions: ->ecc() and ->free(), which will
> basically return the same information has those stored in the
> nand_ecclayout struct.
>
> Another advantage of this solution is that ECC layouts are usually
> following a repetitive pattern (i.e. leave X bytes free and put Y bytes
> of ECC per ECC chunk), which allows one to implement the ->ecc()
> and ->free() functions with a simple logic that can be applied
> to any size of OOB.
>
> Patches 1 to 4 are just cleanups or trivial fixes that can be taken
> independently.
>
> Also note that the last two commits are removing the nand_ecclayout
> definition, thus preventing any new driver to use this structure.
> Of course, this step can be delayed if some of the previous patches
> are not accepted.
>
> All those changes are available here [1].
>
> Best Regards,
>
> Boris
>
> [1]https://github.com/bbrezillon/linux-0day/tree/nand/ecclayout
>
> Changes since v4:
> - dropped already applied patches
> - patch the recently merged qcom driver
>
> Changes since v3:
> - fixed two bugs in mtd_ooblayout core implementation
> - use ecc->total instead of (ecc->steps * ecc->bytes) in NAND drivers
>
> Changes since v2:
> - fixed a few bugs in the core and driver implementations
>
> Changes since v1:
> - unified the way of defining ECC and free bytes
> - fixed a few bugs in some ->ecc()/->free() implementations
>
> Boris Brezillon (50):
> mtd: add mtd_ooblayout_xxx() helper functions
> mtd: use mtd_ooblayout_xxx() helpers where appropriate
> mtd: nand: core: use mtd_ooblayout_xxx() helpers where appropriate
> mtd: nand: atmel: use mtd_ooblayout_xxx() helpers where appropriate
> mtd: nand: fsl_ifc: use mtd_ooblayout_xxx() helpers where appropriate
> mtd: nand: gpmi: use mtd_ooblayout_xxx() helpers where appropriate
> mtd: nand: lpc32xx: use mtd_ooblayout_xxx() helpers where appropriate
> mtd: nand: omap2: use mtd_ooblayout_xxx() helpers where appropriate
> mtd: nand: qcom: use mtd_ooblayout_xxx() helpers where appropriate
> mtd: onenand: use mtd_ooblayout_xxx() helpers where appropriate
> mtd: add mtd_set_ecclayout() helper function
> mtd: use mtd_set_ecclayout() where appropriate
> mtd: nand: use mtd_set_ecclayout() where appropriate
> mtd: onenand: use mtd_set_ecclayout() where appropriate
> mtd: docg3: use mtd_set_ecclayout() where appropriate
> mtd: create an mtd_ooblayout_ops struct to ease ECC layout definition
> mtd: docg3: switch to mtd_ooblayout_ops
> mtd: nand: implement the default mtd_ooblayout_ops
> mtd: nand: bch: switch to mtd_ooblayout_ops
> mtd: nand: sharpsl: switch to mtd_ooblayout_ops
> mtd: nand: jz4740: switch to mtd_ooblayout_ops
> mtd: nand: atmel: switch to mtd_ooblayout_ops
> mtd: nand: bf5xx: switch to mtd_ooblayout_ops
> mtd: nand: brcm: switch to mtd_ooblayout_ops
> mtd: nand: cafe: switch to mtd_ooblayout_ops
> mtd: nand: davinci: switch to mtd_ooblayout_ops
> mtd: nand: denali: switch to mtd_ooblayout_ops
> mtd: nand: diskonchip: switch to mtd_ooblayout_ops
> mtd: nand: docg4: switch to mtd_ooblayout_ops
> mtd: nand: fsl_elbc: switch to mtd_ooblayout_ops
> mtd: nand: fsl_ifc: switch to mtd_ooblayout_ops
> mtd: nand: fsmc: switch to mtd_ooblayout_ops
> mtd: nand: fsmc: get rid of the fsmc_nand_eccplace struct
> mtd: nand: gpmi: switch to mtd_ooblayout_ops
> mtd: nand: hisi504: switch to mtd_ooblayout_ops
> mtd: nand: jz4780: switch to mtd_ooblayout_ops
> mtd: nand: lpc32xx: switch to mtd_ooblayout_ops
> mtd: nand: mxc: switch to mtd_ooblayout_ops
> mtd: nand: omap2: switch to mtd_ooblayout_ops
> mtd: nand: pxa3xx: switch to mtd_ooblayout_ops
> mtd: nand: s3c2410: switch to mtd_ooblayout_ops
> mtd: nand: sh_flctl: switch to mtd_ooblayout_ops
> mtd: nand: sm_common: switch to mtd_ooblayout_ops
> mtd: nand: sunxi: switch to mtd_ooblayout_ops
> mtd: nand: vf610: switch to mtd_ooblayout_ops
> mtd: nand: qcom: switch to mtd_ooblayout_ops
> mtd: onenand: switch to mtd_ooblayout_ops
> staging: mt29f_spinand: switch to mtd_ooblayout_ops
> mtd: nand: kill the ecc->layout field
> mtd: kill the nand_ecclayout struct
>
> arch/arm/mach-pxa/spitz.c | 55 +++-
> arch/mips/include/asm/mach-jz4740/jz4740_nand.h | 2 +-
> arch/mips/jz4740/board-qi_lb60.c | 87 +++---
> drivers/mtd/devices/docg3.c | 46 ++-
> drivers/mtd/mtdchar.c | 123 ++++++--
> drivers/mtd/mtdconcat.c | 2 +-
> drivers/mtd/mtdcore.c | 360 ++++++++++++++++++++++++
> drivers/mtd/mtdpart.c | 23 +-
> drivers/mtd/nand/atmel_nand.c | 130 ++++-----
> drivers/mtd/nand/bf5xx_nand.c | 51 ++--
> drivers/mtd/nand/brcmnand/brcmnand.c | 258 ++++++++++-------
> drivers/mtd/nand/cafe_nand.c | 44 ++-
> drivers/mtd/nand/davinci_nand.c | 118 +++-----
> drivers/mtd/nand/denali.c | 50 +++-
> drivers/mtd/nand/diskonchip.c | 60 +++-
> drivers/mtd/nand/docg4.c | 33 ++-
> drivers/mtd/nand/fsl_elbc_nand.c | 83 +++---
> drivers/mtd/nand/fsl_ifc_nand.c | 244 +++++-----------
> drivers/mtd/nand/fsmc_nand.c | 322 ++++++---------------
> drivers/mtd/nand/gpmi-nand/gpmi-nand.c | 61 ++--
> drivers/mtd/nand/hisi504_nand.c | 26 +-
> drivers/mtd/nand/jz4740_nand.c | 2 +-
> drivers/mtd/nand/jz4780_nand.c | 19 +-
> drivers/mtd/nand/lpc32xx_mlc.c | 50 ++--
> drivers/mtd/nand/lpc32xx_slc.c | 58 +++-
> drivers/mtd/nand/mxc_nand.c | 212 +++++++-------
> drivers/mtd/nand/nand_base.c | 340 +++++++++++-----------
> drivers/mtd/nand/nand_bch.c | 27 +-
> drivers/mtd/nand/omap2.c | 217 ++++++++------
> drivers/mtd/nand/pxa3xx_nand.c | 104 ++++---
> drivers/mtd/nand/qcom_nandc.c | 87 +++---
> drivers/mtd/nand/s3c2410.c | 32 ++-
> drivers/mtd/nand/sh_flctl.c | 87 ++++--
> drivers/mtd/nand/sharpsl.c | 2 +-
> drivers/mtd/nand/sm_common.c | 93 ++++--
> drivers/mtd/nand/sunxi_nand.c | 114 ++++----
> drivers/mtd/nand/vf610_nfc.c | 34 +--
> drivers/mtd/onenand/onenand_base.c | 235 ++++++++--------
> drivers/staging/mt29f_spinand/mt29f_spinand.c | 48 ++--
> include/linux/mtd/fsmc.h | 18 --
> include/linux/mtd/mtd.h | 63 ++++-
> include/linux/mtd/nand.h | 5 +-
> include/linux/mtd/onenand.h | 2 -
> include/linux/mtd/sharpsl.h | 2 +-
> include/uapi/mtd/mtd-abi.h | 2 +-
> 45 files changed, 2340 insertions(+), 1691 deletions(-)
>
--
Boris Brezillon, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
WARNING: multiple messages have this Message-ID (diff)
From: Boris Brezillon <boris.brezillon@free-electrons.com>
To: David Woodhouse <dwmw2@infradead.org>,
Brian Norris <computersforpeace@gmail.com>,
linux-mtd@lists.infradead.org,
Boris Brezillon <boris.brezillon@free-electrons.com>,
Richard Weinberger <richard@nod.at>
Cc: Daniel Mack <daniel@zonque.org>,
Haojian Zhuang <haojian.zhuang@gmail.com>,
Robert Jarzmik <robert.jarzmik@free.fr>,
Kukjin Kim <kgene@kernel.org>,
Krzysztof Kozlowski <k.kozlowski@samsung.com>,
linux-samsung-soc@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
Ralf Baechle <ralf@linux-mips.org>,
linux-mips@linux-mips.org,
Nicolas Ferre <nicolas.ferre@atmel.com>,
Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>,
Alexandre Belloni <alexandre.belloni@free-electrons.com>,
Wenyou Yang <wenyou.yang@atmel.com>,
Josh Wu <rainyfeeling@outlook.com>,
Ezequiel Garcia <ezequiel.garcia@free-electrons.com>,
Maxime Ripard <maxime.ripard@free-electrons.com>,
Chen-Yu Tsai <wens@csie.org>,
linux-sunxi@googlegroups.com, Stefan Agner <stefan@agner.ch>,
Kyungmin Park <kyungmin.park@samsung.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org,
punnaiah choudary kalluri <punnaia@xilinx.com>,
Priit Laes <plaes@plaes.org>, Kamal Dasu <kdasu.kdev@gmail.com>,
bcm-kernel-feedback-list@broadcom.com, linux-api@vger.kernel.org,
Harvey Hunt <harvey.hunt@imgtec.com>,
Archit Taneja <architt@codeaurora.org>,
Han Xu <b45815@freescale.com>,
Huang Shijie <shijie.huang@arm.com>
Subject: Re: [PATCH v5 00/52] mtd: rework ECC layout definition
Date: Wed, 30 Mar 2016 18:18:50 +0200 [thread overview]
Message-ID: <20160330181850.05717c8e@bbrezillon> (raw)
In-Reply-To: <1459354505-32551-1-git-send-email-boris.brezillon@free-electrons.com>
Despite what's said in the subject, this series only contains 50
patches, not 52.
On Wed, 30 Mar 2016 18:14:15 +0200
Boris Brezillon <boris.brezillon@free-electrons.com> wrote:
> Hello,
>
> Hopefully the last version of this patchset (but don't be sad, I'm not
> done bothering you with NAND related patches :-)).
>
> If possible, I'd like to have as much Tested/Reviewed/Acked-by tags as
> possible, particularly on the changes done in arch/arm and arch/mips
> (since the last set of commits depends on those changes, I'd like to
> take them in my nand/next branch, even if this imply creating an
> immutable branch for the ARM and MIPS maintainers).
>
> If nobody complains about this version, I'll merge it in 4.7.
>
> Here comes the usual description:
>
> This patchset aims at getting rid of the nand_ecclayout limitations.
> struct nand_ecclayout is defining fixed eccpos and oobfree arrays which
> can only be increased by modifying the MTD_MAX_ECCPOS_ENTRIES_LARGE and
> MTD_MAX_OOBFREE_ENTRIES_LARGE macros.
> This approach forces us to modify the macro values each time we add a
> new NAND chip with a bigger OOB area, and increasing these arrays also
> penalize all platforms, even those who only support small NAND devices
> (with small OOB area).
>
> The idea to overcome this limitation, is to define the ECC/OOB layout
> by the mean of two functions: ->ecc() and ->free(), which will
> basically return the same information has those stored in the
> nand_ecclayout struct.
>
> Another advantage of this solution is that ECC layouts are usually
> following a repetitive pattern (i.e. leave X bytes free and put Y bytes
> of ECC per ECC chunk), which allows one to implement the ->ecc()
> and ->free() functions with a simple logic that can be applied
> to any size of OOB.
>
> Patches 1 to 4 are just cleanups or trivial fixes that can be taken
> independently.
>
> Also note that the last two commits are removing the nand_ecclayout
> definition, thus preventing any new driver to use this structure.
> Of course, this step can be delayed if some of the previous patches
> are not accepted.
>
> All those changes are available here [1].
>
> Best Regards,
>
> Boris
>
> [1]https://github.com/bbrezillon/linux-0day/tree/nand/ecclayout
>
> Changes since v4:
> - dropped already applied patches
> - patch the recently merged qcom driver
>
> Changes since v3:
> - fixed two bugs in mtd_ooblayout core implementation
> - use ecc->total instead of (ecc->steps * ecc->bytes) in NAND drivers
>
> Changes since v2:
> - fixed a few bugs in the core and driver implementations
>
> Changes since v1:
> - unified the way of defining ECC and free bytes
> - fixed a few bugs in some ->ecc()/->free() implementations
>
> Boris Brezillon (50):
> mtd: add mtd_ooblayout_xxx() helper functions
> mtd: use mtd_ooblayout_xxx() helpers where appropriate
> mtd: nand: core: use mtd_ooblayout_xxx() helpers where appropriate
> mtd: nand: atmel: use mtd_ooblayout_xxx() helpers where appropriate
> mtd: nand: fsl_ifc: use mtd_ooblayout_xxx() helpers where appropriate
> mtd: nand: gpmi: use mtd_ooblayout_xxx() helpers where appropriate
> mtd: nand: lpc32xx: use mtd_ooblayout_xxx() helpers where appropriate
> mtd: nand: omap2: use mtd_ooblayout_xxx() helpers where appropriate
> mtd: nand: qcom: use mtd_ooblayout_xxx() helpers where appropriate
> mtd: onenand: use mtd_ooblayout_xxx() helpers where appropriate
> mtd: add mtd_set_ecclayout() helper function
> mtd: use mtd_set_ecclayout() where appropriate
> mtd: nand: use mtd_set_ecclayout() where appropriate
> mtd: onenand: use mtd_set_ecclayout() where appropriate
> mtd: docg3: use mtd_set_ecclayout() where appropriate
> mtd: create an mtd_ooblayout_ops struct to ease ECC layout definition
> mtd: docg3: switch to mtd_ooblayout_ops
> mtd: nand: implement the default mtd_ooblayout_ops
> mtd: nand: bch: switch to mtd_ooblayout_ops
> mtd: nand: sharpsl: switch to mtd_ooblayout_ops
> mtd: nand: jz4740: switch to mtd_ooblayout_ops
> mtd: nand: atmel: switch to mtd_ooblayout_ops
> mtd: nand: bf5xx: switch to mtd_ooblayout_ops
> mtd: nand: brcm: switch to mtd_ooblayout_ops
> mtd: nand: cafe: switch to mtd_ooblayout_ops
> mtd: nand: davinci: switch to mtd_ooblayout_ops
> mtd: nand: denali: switch to mtd_ooblayout_ops
> mtd: nand: diskonchip: switch to mtd_ooblayout_ops
> mtd: nand: docg4: switch to mtd_ooblayout_ops
> mtd: nand: fsl_elbc: switch to mtd_ooblayout_ops
> mtd: nand: fsl_ifc: switch to mtd_ooblayout_ops
> mtd: nand: fsmc: switch to mtd_ooblayout_ops
> mtd: nand: fsmc: get rid of the fsmc_nand_eccplace struct
> mtd: nand: gpmi: switch to mtd_ooblayout_ops
> mtd: nand: hisi504: switch to mtd_ooblayout_ops
> mtd: nand: jz4780: switch to mtd_ooblayout_ops
> mtd: nand: lpc32xx: switch to mtd_ooblayout_ops
> mtd: nand: mxc: switch to mtd_ooblayout_ops
> mtd: nand: omap2: switch to mtd_ooblayout_ops
> mtd: nand: pxa3xx: switch to mtd_ooblayout_ops
> mtd: nand: s3c2410: switch to mtd_ooblayout_ops
> mtd: nand: sh_flctl: switch to mtd_ooblayout_ops
> mtd: nand: sm_common: switch to mtd_ooblayout_ops
> mtd: nand: sunxi: switch to mtd_ooblayout_ops
> mtd: nand: vf610: switch to mtd_ooblayout_ops
> mtd: nand: qcom: switch to mtd_ooblayout_ops
> mtd: onenand: switch to mtd_ooblayout_ops
> staging: mt29f_spinand: switch to mtd_ooblayout_ops
> mtd: nand: kill the ecc->layout field
> mtd: kill the nand_ecclayout struct
>
> arch/arm/mach-pxa/spitz.c | 55 +++-
> arch/mips/include/asm/mach-jz4740/jz4740_nand.h | 2 +-
> arch/mips/jz4740/board-qi_lb60.c | 87 +++---
> drivers/mtd/devices/docg3.c | 46 ++-
> drivers/mtd/mtdchar.c | 123 ++++++--
> drivers/mtd/mtdconcat.c | 2 +-
> drivers/mtd/mtdcore.c | 360 ++++++++++++++++++++++++
> drivers/mtd/mtdpart.c | 23 +-
> drivers/mtd/nand/atmel_nand.c | 130 ++++-----
> drivers/mtd/nand/bf5xx_nand.c | 51 ++--
> drivers/mtd/nand/brcmnand/brcmnand.c | 258 ++++++++++-------
> drivers/mtd/nand/cafe_nand.c | 44 ++-
> drivers/mtd/nand/davinci_nand.c | 118 +++-----
> drivers/mtd/nand/denali.c | 50 +++-
> drivers/mtd/nand/diskonchip.c | 60 +++-
> drivers/mtd/nand/docg4.c | 33 ++-
> drivers/mtd/nand/fsl_elbc_nand.c | 83 +++---
> drivers/mtd/nand/fsl_ifc_nand.c | 244 +++++-----------
> drivers/mtd/nand/fsmc_nand.c | 322 ++++++---------------
> drivers/mtd/nand/gpmi-nand/gpmi-nand.c | 61 ++--
> drivers/mtd/nand/hisi504_nand.c | 26 +-
> drivers/mtd/nand/jz4740_nand.c | 2 +-
> drivers/mtd/nand/jz4780_nand.c | 19 +-
> drivers/mtd/nand/lpc32xx_mlc.c | 50 ++--
> drivers/mtd/nand/lpc32xx_slc.c | 58 +++-
> drivers/mtd/nand/mxc_nand.c | 212 +++++++-------
> drivers/mtd/nand/nand_base.c | 340 +++++++++++-----------
> drivers/mtd/nand/nand_bch.c | 27 +-
> drivers/mtd/nand/omap2.c | 217 ++++++++------
> drivers/mtd/nand/pxa3xx_nand.c | 104 ++++---
> drivers/mtd/nand/qcom_nandc.c | 87 +++---
> drivers/mtd/nand/s3c2410.c | 32 ++-
> drivers/mtd/nand/sh_flctl.c | 87 ++++--
> drivers/mtd/nand/sharpsl.c | 2 +-
> drivers/mtd/nand/sm_common.c | 93 ++++--
> drivers/mtd/nand/sunxi_nand.c | 114 ++++----
> drivers/mtd/nand/vf610_nfc.c | 34 +--
> drivers/mtd/onenand/onenand_base.c | 235 ++++++++--------
> drivers/staging/mt29f_spinand/mt29f_spinand.c | 48 ++--
> include/linux/mtd/fsmc.h | 18 --
> include/linux/mtd/mtd.h | 63 ++++-
> include/linux/mtd/nand.h | 5 +-
> include/linux/mtd/onenand.h | 2 -
> include/linux/mtd/sharpsl.h | 2 +-
> include/uapi/mtd/mtd-abi.h | 2 +-
> 45 files changed, 2340 insertions(+), 1691 deletions(-)
>
--
Boris Brezillon, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
WARNING: multiple messages have this Message-ID (diff)
From: boris.brezillon@free-electrons.com (Boris Brezillon)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v5 00/52] mtd: rework ECC layout definition
Date: Wed, 30 Mar 2016 18:18:50 +0200 [thread overview]
Message-ID: <20160330181850.05717c8e@bbrezillon> (raw)
In-Reply-To: <1459354505-32551-1-git-send-email-boris.brezillon@free-electrons.com>
Despite what's said in the subject, this series only contains 50
patches, not 52.
On Wed, 30 Mar 2016 18:14:15 +0200
Boris Brezillon <boris.brezillon@free-electrons.com> wrote:
> Hello,
>
> Hopefully the last version of this patchset (but don't be sad, I'm not
> done bothering you with NAND related patches :-)).
>
> If possible, I'd like to have as much Tested/Reviewed/Acked-by tags as
> possible, particularly on the changes done in arch/arm and arch/mips
> (since the last set of commits depends on those changes, I'd like to
> take them in my nand/next branch, even if this imply creating an
> immutable branch for the ARM and MIPS maintainers).
>
> If nobody complains about this version, I'll merge it in 4.7.
>
> Here comes the usual description:
>
> This patchset aims at getting rid of the nand_ecclayout limitations.
> struct nand_ecclayout is defining fixed eccpos and oobfree arrays which
> can only be increased by modifying the MTD_MAX_ECCPOS_ENTRIES_LARGE and
> MTD_MAX_OOBFREE_ENTRIES_LARGE macros.
> This approach forces us to modify the macro values each time we add a
> new NAND chip with a bigger OOB area, and increasing these arrays also
> penalize all platforms, even those who only support small NAND devices
> (with small OOB area).
>
> The idea to overcome this limitation, is to define the ECC/OOB layout
> by the mean of two functions: ->ecc() and ->free(), which will
> basically return the same information has those stored in the
> nand_ecclayout struct.
>
> Another advantage of this solution is that ECC layouts are usually
> following a repetitive pattern (i.e. leave X bytes free and put Y bytes
> of ECC per ECC chunk), which allows one to implement the ->ecc()
> and ->free() functions with a simple logic that can be applied
> to any size of OOB.
>
> Patches 1 to 4 are just cleanups or trivial fixes that can be taken
> independently.
>
> Also note that the last two commits are removing the nand_ecclayout
> definition, thus preventing any new driver to use this structure.
> Of course, this step can be delayed if some of the previous patches
> are not accepted.
>
> All those changes are available here [1].
>
> Best Regards,
>
> Boris
>
> [1]https://github.com/bbrezillon/linux-0day/tree/nand/ecclayout
>
> Changes since v4:
> - dropped already applied patches
> - patch the recently merged qcom driver
>
> Changes since v3:
> - fixed two bugs in mtd_ooblayout core implementation
> - use ecc->total instead of (ecc->steps * ecc->bytes) in NAND drivers
>
> Changes since v2:
> - fixed a few bugs in the core and driver implementations
>
> Changes since v1:
> - unified the way of defining ECC and free bytes
> - fixed a few bugs in some ->ecc()/->free() implementations
>
> Boris Brezillon (50):
> mtd: add mtd_ooblayout_xxx() helper functions
> mtd: use mtd_ooblayout_xxx() helpers where appropriate
> mtd: nand: core: use mtd_ooblayout_xxx() helpers where appropriate
> mtd: nand: atmel: use mtd_ooblayout_xxx() helpers where appropriate
> mtd: nand: fsl_ifc: use mtd_ooblayout_xxx() helpers where appropriate
> mtd: nand: gpmi: use mtd_ooblayout_xxx() helpers where appropriate
> mtd: nand: lpc32xx: use mtd_ooblayout_xxx() helpers where appropriate
> mtd: nand: omap2: use mtd_ooblayout_xxx() helpers where appropriate
> mtd: nand: qcom: use mtd_ooblayout_xxx() helpers where appropriate
> mtd: onenand: use mtd_ooblayout_xxx() helpers where appropriate
> mtd: add mtd_set_ecclayout() helper function
> mtd: use mtd_set_ecclayout() where appropriate
> mtd: nand: use mtd_set_ecclayout() where appropriate
> mtd: onenand: use mtd_set_ecclayout() where appropriate
> mtd: docg3: use mtd_set_ecclayout() where appropriate
> mtd: create an mtd_ooblayout_ops struct to ease ECC layout definition
> mtd: docg3: switch to mtd_ooblayout_ops
> mtd: nand: implement the default mtd_ooblayout_ops
> mtd: nand: bch: switch to mtd_ooblayout_ops
> mtd: nand: sharpsl: switch to mtd_ooblayout_ops
> mtd: nand: jz4740: switch to mtd_ooblayout_ops
> mtd: nand: atmel: switch to mtd_ooblayout_ops
> mtd: nand: bf5xx: switch to mtd_ooblayout_ops
> mtd: nand: brcm: switch to mtd_ooblayout_ops
> mtd: nand: cafe: switch to mtd_ooblayout_ops
> mtd: nand: davinci: switch to mtd_ooblayout_ops
> mtd: nand: denali: switch to mtd_ooblayout_ops
> mtd: nand: diskonchip: switch to mtd_ooblayout_ops
> mtd: nand: docg4: switch to mtd_ooblayout_ops
> mtd: nand: fsl_elbc: switch to mtd_ooblayout_ops
> mtd: nand: fsl_ifc: switch to mtd_ooblayout_ops
> mtd: nand: fsmc: switch to mtd_ooblayout_ops
> mtd: nand: fsmc: get rid of the fsmc_nand_eccplace struct
> mtd: nand: gpmi: switch to mtd_ooblayout_ops
> mtd: nand: hisi504: switch to mtd_ooblayout_ops
> mtd: nand: jz4780: switch to mtd_ooblayout_ops
> mtd: nand: lpc32xx: switch to mtd_ooblayout_ops
> mtd: nand: mxc: switch to mtd_ooblayout_ops
> mtd: nand: omap2: switch to mtd_ooblayout_ops
> mtd: nand: pxa3xx: switch to mtd_ooblayout_ops
> mtd: nand: s3c2410: switch to mtd_ooblayout_ops
> mtd: nand: sh_flctl: switch to mtd_ooblayout_ops
> mtd: nand: sm_common: switch to mtd_ooblayout_ops
> mtd: nand: sunxi: switch to mtd_ooblayout_ops
> mtd: nand: vf610: switch to mtd_ooblayout_ops
> mtd: nand: qcom: switch to mtd_ooblayout_ops
> mtd: onenand: switch to mtd_ooblayout_ops
> staging: mt29f_spinand: switch to mtd_ooblayout_ops
> mtd: nand: kill the ecc->layout field
> mtd: kill the nand_ecclayout struct
>
> arch/arm/mach-pxa/spitz.c | 55 +++-
> arch/mips/include/asm/mach-jz4740/jz4740_nand.h | 2 +-
> arch/mips/jz4740/board-qi_lb60.c | 87 +++---
> drivers/mtd/devices/docg3.c | 46 ++-
> drivers/mtd/mtdchar.c | 123 ++++++--
> drivers/mtd/mtdconcat.c | 2 +-
> drivers/mtd/mtdcore.c | 360 ++++++++++++++++++++++++
> drivers/mtd/mtdpart.c | 23 +-
> drivers/mtd/nand/atmel_nand.c | 130 ++++-----
> drivers/mtd/nand/bf5xx_nand.c | 51 ++--
> drivers/mtd/nand/brcmnand/brcmnand.c | 258 ++++++++++-------
> drivers/mtd/nand/cafe_nand.c | 44 ++-
> drivers/mtd/nand/davinci_nand.c | 118 +++-----
> drivers/mtd/nand/denali.c | 50 +++-
> drivers/mtd/nand/diskonchip.c | 60 +++-
> drivers/mtd/nand/docg4.c | 33 ++-
> drivers/mtd/nand/fsl_elbc_nand.c | 83 +++---
> drivers/mtd/nand/fsl_ifc_nand.c | 244 +++++-----------
> drivers/mtd/nand/fsmc_nand.c | 322 ++++++---------------
> drivers/mtd/nand/gpmi-nand/gpmi-nand.c | 61 ++--
> drivers/mtd/nand/hisi504_nand.c | 26 +-
> drivers/mtd/nand/jz4740_nand.c | 2 +-
> drivers/mtd/nand/jz4780_nand.c | 19 +-
> drivers/mtd/nand/lpc32xx_mlc.c | 50 ++--
> drivers/mtd/nand/lpc32xx_slc.c | 58 +++-
> drivers/mtd/nand/mxc_nand.c | 212 +++++++-------
> drivers/mtd/nand/nand_base.c | 340 +++++++++++-----------
> drivers/mtd/nand/nand_bch.c | 27 +-
> drivers/mtd/nand/omap2.c | 217 ++++++++------
> drivers/mtd/nand/pxa3xx_nand.c | 104 ++++---
> drivers/mtd/nand/qcom_nandc.c | 87 +++---
> drivers/mtd/nand/s3c2410.c | 32 ++-
> drivers/mtd/nand/sh_flctl.c | 87 ++++--
> drivers/mtd/nand/sharpsl.c | 2 +-
> drivers/mtd/nand/sm_common.c | 93 ++++--
> drivers/mtd/nand/sunxi_nand.c | 114 ++++----
> drivers/mtd/nand/vf610_nfc.c | 34 +--
> drivers/mtd/onenand/onenand_base.c | 235 ++++++++--------
> drivers/staging/mt29f_spinand/mt29f_spinand.c | 48 ++--
> include/linux/mtd/fsmc.h | 18 --
> include/linux/mtd/mtd.h | 63 ++++-
> include/linux/mtd/nand.h | 5 +-
> include/linux/mtd/onenand.h | 2 -
> include/linux/mtd/sharpsl.h | 2 +-
> include/uapi/mtd/mtd-abi.h | 2 +-
> 45 files changed, 2340 insertions(+), 1691 deletions(-)
>
--
Boris Brezillon, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
next prev parent reply other threads:[~2016-03-30 16:18 UTC|newest]
Thread overview: 216+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-30 16:14 [PATCH v5 00/52] mtd: rework ECC layout definition Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` [PATCH v5 16/50] mtd: create an mtd_ooblayout_ops struct to ease " Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
[not found] ` <1459354505-32551-1-git-send-email-boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2016-03-30 16:14 ` [PATCH v5 01/50] mtd: add mtd_ooblayout_xxx() helper functions Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` [PATCH v5 02/50] mtd: use mtd_ooblayout_xxx() helpers where appropriate Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` [PATCH v5 03/50] mtd: nand: core: " Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` [PATCH v5 04/50] mtd: nand: atmel: " Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
[not found] ` <1459354505-32551-5-git-send-email-boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2016-04-13 14:40 ` Boris Brezillon
2016-04-13 14:40 ` Boris Brezillon
2016-04-13 14:40 ` Boris Brezillon
2016-04-13 15:28 ` Nicolas Ferre
2016-04-13 15:28 ` Nicolas Ferre
2016-04-13 15:28 ` Nicolas Ferre
2016-04-13 15:28 ` Nicolas Ferre
2016-04-13 15:53 ` [PATCH v6 " Boris Brezillon
2016-04-13 15:53 ` Boris Brezillon
2016-04-13 16:05 ` Nicolas Ferre
2016-04-13 16:05 ` Nicolas Ferre
2016-03-30 16:14 ` [PATCH v5 05/50] mtd: nand: fsl_ifc: " Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` [PATCH v5 06/50] mtd: nand: gpmi: " Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` [PATCH v5 07/50] mtd: nand: lpc32xx: " Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` [PATCH v5 08/50] mtd: nand: omap2: " Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` [PATCH v5 09/50] mtd: nand: qcom: " Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` [PATCH v5 10/50] mtd: onenand: " Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` [PATCH v5 11/50] mtd: add mtd_set_ecclayout() helper function Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` [PATCH v5 12/50] mtd: use mtd_set_ecclayout() where appropriate Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` [PATCH v5 13/50] mtd: nand: " Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` [PATCH v5 14/50] mtd: onenand: " Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` [PATCH v5 15/50] mtd: docg3: " Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` [PATCH v5 17/50] mtd: docg3: switch to mtd_ooblayout_ops Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` [PATCH v5 18/50] mtd: nand: implement the default mtd_ooblayout_ops Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` [PATCH v5 19/50] mtd: nand: bch: switch to mtd_ooblayout_ops Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` [PATCH v5 20/50] mtd: nand: sharpsl: " Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` [PATCH v5 21/50] mtd: nand: jz4740: " Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 19:17 ` Lars-Peter Clausen
2016-03-30 19:17 ` Lars-Peter Clausen
2016-03-30 19:17 ` Lars-Peter Clausen
2016-03-30 16:14 ` [PATCH v5 22/50] mtd: nand: atmel: " Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
[not found] ` <1459354505-32551-23-git-send-email-boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2016-04-13 14:41 ` Boris Brezillon
2016-04-13 14:41 ` Boris Brezillon
2016-04-13 14:41 ` Boris Brezillon
2016-04-13 15:15 ` Nicolas Ferre
2016-04-13 15:15 ` Nicolas Ferre
2016-04-13 15:15 ` Nicolas Ferre
2016-04-13 15:15 ` Nicolas Ferre
2016-03-30 16:14 ` [PATCH v5 23/50] mtd: nand: bf5xx: " Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` [PATCH v5 24/50] mtd: nand: brcm: " Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` [PATCH v5 25/50] mtd: nand: cafe: " Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` [PATCH v5 26/50] mtd: nand: davinci: " Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` [PATCH v5 27/50] mtd: nand: denali: " Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` [PATCH v5 28/50] mtd: nand: diskonchip: " Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` [PATCH v5 29/50] mtd: nand: docg4: " Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` [PATCH v5 30/50] mtd: nand: fsl_elbc: " Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` [PATCH v5 31/50] mtd: nand: fsl_ifc: " Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` [PATCH v5 32/50] mtd: nand: fsmc: " Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` [PATCH v5 33/50] mtd: nand: fsmc: get rid of the fsmc_nand_eccplace struct Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` [PATCH v5 34/50] mtd: nand: gpmi: switch to mtd_ooblayout_ops Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
[not found] ` <1459354505-32551-35-git-send-email-boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2016-04-12 22:27 ` Han Xu
[not found] ` <DB5PR0401MB1845A6EE26FD2734CDBBE20F97950-GXldUsIPo7asn90KQ3BGNI3W/0Ik+aLCnBOFsp37pqbUKgpGm//BTAC/G2K4zDHf@public.gmane.org>
2016-04-12 22:31 ` Boris Brezillon
2016-04-12 22:31 ` Boris Brezillon
2016-04-12 22:31 ` Boris Brezillon
2016-04-12 22:41 ` Han Xu
2016-03-30 16:14 ` [PATCH v5 35/50] mtd: nand: hisi504: " Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` [PATCH v5 36/50] mtd: nand: jz4780: " Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` [PATCH v5 37/50] mtd: nand: lpc32xx: " Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` [PATCH v5 38/50] mtd: nand: mxc: " Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` [PATCH v5 39/50] mtd: nand: omap2: " Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
[not found] ` <1459354505-32551-40-git-send-email-boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2016-04-18 14:32 ` Roger Quadros
2016-04-18 14:32 ` Roger Quadros
2016-04-18 14:32 ` Roger Quadros
2016-04-18 14:32 ` Roger Quadros
[not found] ` <5714F011.5080409-l0cyMroinI0@public.gmane.org>
2016-04-18 15:05 ` Boris Brezillon
2016-04-18 15:05 ` Boris Brezillon
2016-04-18 15:05 ` Boris Brezillon
2016-04-18 15:05 ` Boris Brezillon
2016-04-19 10:28 ` Roger Quadros
2016-04-19 10:28 ` Roger Quadros
2016-04-19 10:28 ` Roger Quadros
2016-04-19 10:28 ` Roger Quadros
[not found] ` <57160862.90603-l0cyMroinI0@public.gmane.org>
2016-04-19 11:22 ` Boris Brezillon
2016-04-19 11:22 ` Boris Brezillon
2016-04-19 11:22 ` Boris Brezillon
2016-04-19 11:22 ` Boris Brezillon
2016-04-19 12:30 ` Roger Quadros
2016-04-19 12:30 ` Roger Quadros
2016-04-19 12:30 ` Roger Quadros
2016-04-19 12:30 ` Roger Quadros
[not found] ` <571624EF.9060707-l0cyMroinI0@public.gmane.org>
2016-04-19 12:41 ` Boris Brezillon
2016-04-19 12:41 ` Boris Brezillon
2016-04-19 12:41 ` Boris Brezillon
2016-04-19 12:41 ` Boris Brezillon
2016-04-19 12:49 ` Roger Quadros
2016-04-19 12:49 ` Roger Quadros
2016-04-19 12:49 ` Roger Quadros
2016-04-19 12:49 ` Roger Quadros
2016-03-30 16:14 ` [PATCH v5 40/50] mtd: nand: pxa3xx: " Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` [PATCH v5 41/50] mtd: nand: s3c2410: " Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` [PATCH v5 42/50] mtd: nand: sh_flctl: " Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` [PATCH v5 43/50] mtd: nand: sm_common: " Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` [PATCH v5 44/50] mtd: nand: sunxi: " Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:14 ` Boris Brezillon
2016-03-30 16:15 ` [PATCH v5 45/50] mtd: nand: vf610: " Boris Brezillon
2016-03-30 16:15 ` Boris Brezillon
2016-03-30 16:15 ` Boris Brezillon
[not found] ` <1459354505-32551-46-git-send-email-boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2016-04-01 16:38 ` Stefan Agner
2016-04-01 16:38 ` Stefan Agner
2016-04-01 16:38 ` Stefan Agner
2016-03-30 16:15 ` [PATCH v5 46/50] mtd: nand: qcom: " Boris Brezillon
2016-03-30 16:15 ` Boris Brezillon
2016-03-30 16:15 ` Boris Brezillon
2016-03-30 16:15 ` [PATCH v5 47/50] mtd: onenand: " Boris Brezillon
2016-03-30 16:15 ` Boris Brezillon
2016-03-30 16:15 ` Boris Brezillon
2016-03-30 16:15 ` [PATCH v5 48/50] staging: mt29f_spinand: " Boris Brezillon
2016-03-30 16:15 ` Boris Brezillon
2016-03-30 16:15 ` Boris Brezillon
2016-03-30 16:15 ` [PATCH v5 49/50] mtd: nand: kill the ecc->layout field Boris Brezillon
2016-03-30 16:15 ` Boris Brezillon
2016-03-30 16:15 ` Boris Brezillon
2016-03-30 16:18 ` Boris Brezillon [this message]
2016-03-30 16:18 ` [PATCH v5 00/52] mtd: rework ECC layout definition Boris Brezillon
2016-03-30 16:18 ` Boris Brezillon
2016-04-13 16:14 ` Boris Brezillon
2016-04-13 16:14 ` Boris Brezillon
2016-04-13 16:14 ` Boris Brezillon
2016-03-30 16:15 ` [PATCH v5 50/50] mtd: kill the nand_ecclayout struct Boris Brezillon
2016-03-30 16:15 ` Boris Brezillon
2016-03-30 16:15 ` Boris Brezillon
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=20160330181850.05717c8e@bbrezillon \
--to=boris.brezillon-wi1+55scjutkeb57/3fjtnbpr1lh4cv8@public.gmane.org \
--cc=alexandre.belloni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org \
--cc=computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=daniel-cYrQPVfZoowdnm+yROfE0A@public.gmane.org \
--cc=devel-gWbeCf7V1WCQmaza687I9mD2FQJk+8+b@public.gmane.orglinux \
--cc=dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org \
--cc=ezequiel.garcia-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org \
--cc=gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org \
--cc=haojian.zhuang-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=k.kozlowski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org \
--cc=kgene-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=kyungmin.park-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-mips-6z/3iImG2C8G8FEW9MqTrA@public.gmane.org \
--cc=linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org \
--cc=maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org \
--cc=nicolas.ferre-AIFe0yeh4nAAvxtiuMwx3w@public.gmane.org \
--cc=plagnioj-sclMFOaUSTBWk0Htik3J/w@public.gmane.org \
--cc=rainyfeeling-1ViLX0X+lBJBDgjK7y7TUQ@public.gmane.org \
--cc=ralf-6z/3iImG2C8G8FEW9MqTrA@public.gmane.org \
--cc=richard-/L3Ra7n9ekc@public.gmane.org \
--cc=robert.jarzmik-GANU6spQydw@public.gmane.org \
--cc=stefan-XLVq0VzYD2Y@public.gmane.org \
--cc=wens-jdAy2FN1RRM@public.gmane.org \
--cc=wenyou.yang-AIFe0yeh4nAAvxtiuMwx3w@public.gmane.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.