[PATCH v3 0/2] Changes in the internal raw NAND API

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

After having sent two versions of a series removing the
nand_scan_ident/nand_scan_tail limitation that prevents us to allocate
memory at critical moments, we are still discussing the internal API.

To avoid sending again more than 20 patches, this is an RFC of the
internal changes prior to the above modifications in each driver:

1/ Rename struct nand_hw_control -> struct nand_controller which is
   much more meaningful.
2/ Rename the function initializing the above structure
   nand_hw_control_init() -> nand_controller_init().
3/ Rename the dummy controller implementation in the nand_chip structure
   hwcontrol -> dummy_controller.
3/ Create a nand_controller_ops structure which will be embedded in the
   nand_controller structure. These operations are:
   int (*attach_chip)(struct nand_chip *) and
   void (*detach_chip)(struct nand_chip *).

If we agree on this, I could merge them first and then send the bunch of
patches making use of these API changes.

Thanks,
Miqu?l

Changes since v2:
=================
* Reworded the nand_controller structure documentation as suggested.
* Used Boris' explanation of the introduction of the
  ->attach/detach_chip() hooks.
* Removed the initialization of controller->ops() in
  nand_controller_init().
* s/may be called/will be called/ in ->attach/detach_chip()
  documentation line.
* Also mentioned that ->detach_chip() will be called from
  nand_cleanup().

Changes since v1 (RFC):
=======================
* Added Acked-by tags from Boris.
* Updated the commit logs as commented.
* Squashed the 2 patches about nand_hw_control and
  nand_init_hw_control().
* Also added the rename of hwcontrol in patch 1.
* Added helpers to 1/ check the controller operations are present and
  2/ ->attach_chip() or ->detach_chip() is available, as suggested by
  Boris.


Miquel Raynal (2):
  mtd: rawnand: better name for the controller structure
  mtd: rawnand: add hooks that may be called during nand_scan()

 drivers/mtd/nand/raw/atmel/nand-controller.c | 10 ++++----
 drivers/mtd/nand/raw/brcmnand/brcmnand.c     |  4 ++--
 drivers/mtd/nand/raw/docg4.c                 |  4 ++--
 drivers/mtd/nand/raw/fsl_elbc_nand.c         |  4 ++--
 drivers/mtd/nand/raw/fsl_ifc_nand.c          |  4 ++--
 drivers/mtd/nand/raw/jz4780_nand.c           |  7 +++---
 drivers/mtd/nand/raw/marvell_nand.c          |  6 ++---
 drivers/mtd/nand/raw/mtk_nand.c              |  2 +-
 drivers/mtd/nand/raw/nand_base.c             | 36 ++++++++++++++++++++++++----
 drivers/mtd/nand/raw/ndfc.c                  |  4 ++--
 drivers/mtd/nand/raw/omap2.c                 |  2 +-
 drivers/mtd/nand/raw/oxnas_nand.c            |  4 ++--
 drivers/mtd/nand/raw/qcom_nandc.c            |  4 ++--
 drivers/mtd/nand/raw/s3c2410.c               |  4 ++--
 drivers/mtd/nand/raw/sunxi_nand.c            |  6 ++---
 drivers/mtd/nand/raw/tango_nand.c            |  4 ++--
 drivers/mtd/nand/raw/tegra_nand.c            |  6 ++---
 drivers/mtd/nand/raw/txx9ndfmc.c             |  4 ++--
 include/linux/mtd/rawnand.h                  | 29 +++++++++++++++++-----
 19 files changed, 95 insertions(+), 49 deletions(-)

-- 
2.14.1




[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux