From: Boris Brezillon <boris.brezillon@bootlin.com>
To: Miquel Raynal <miquel.raynal@bootlin.com>
Cc: Richard Weinberger <richard@nod.at>,
David Woodhouse <dwmw2@infradead.org>,
Brian Norris <computersforpeace@gmail.com>,
Marek Vasut <marek.vasut@gmail.com>,
linux-mtd@lists.infradead.org
Subject: Re: [RFC PATCH 1/3] mtd: rawnand: better name for the controller structure
Date: Tue, 17 Jul 2018 13:49:50 +0200 [thread overview]
Message-ID: <20180717134950.69b59136@bbrezillon> (raw)
In-Reply-To: <20180717095454.27935-2-miquel.raynal@bootlin.com>
On Tue, 17 Jul 2018 11:54:52 +0200
Miquel Raynal <miquel.raynal@bootlin.com> wrote:
> In the raw NAND core, a NAND chip is described by a nand_chip structure,
> while a NAND controller is described with a nand_hw_control structure
> which is not very meaningful. 'control' is misleading and 'hw' has no
> meaning here has it refers to hardware ECC operations only,
I don't think hw refers to hardware ECC, but I agree that
nand_controller is a better name for this structure.
How about dropping the last sentence?
> which is too
> restrictive.
>
> Rename this structure nand_controller.
>
> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Acked-by: Boris Brezillon <boris.brezillon@bootlin.com>
> ---
> drivers/mtd/nand/raw/atmel/nand-controller.c | 8 ++++----
> drivers/mtd/nand/raw/brcmnand/brcmnand.c | 2 +-
> drivers/mtd/nand/raw/fsl_elbc_nand.c | 2 +-
> drivers/mtd/nand/raw/fsl_ifc_nand.c | 2 +-
> drivers/mtd/nand/raw/jz4780_nand.c | 5 +++--
> drivers/mtd/nand/raw/marvell_nand.c | 4 ++--
> drivers/mtd/nand/raw/mtk_nand.c | 2 +-
> drivers/mtd/nand/raw/ndfc.c | 2 +-
> drivers/mtd/nand/raw/omap2.c | 2 +-
> drivers/mtd/nand/raw/oxnas_nand.c | 2 +-
> drivers/mtd/nand/raw/qcom_nandc.c | 2 +-
> drivers/mtd/nand/raw/s3c2410.c | 2 +-
> drivers/mtd/nand/raw/sunxi_nand.c | 4 ++--
> drivers/mtd/nand/raw/tango_nand.c | 2 +-
> drivers/mtd/nand/raw/tegra_nand.c | 4 ++--
> drivers/mtd/nand/raw/txx9ndfmc.c | 2 +-
> include/linux/mtd/rawnand.h | 11 ++++++-----
> 17 files changed, 30 insertions(+), 28 deletions(-)
>
> diff --git a/drivers/mtd/nand/raw/atmel/nand-controller.c b/drivers/mtd/nand/raw/atmel/nand-controller.c
> index e686fe73159e..8fcb66df10ea 100644
> --- a/drivers/mtd/nand/raw/atmel/nand-controller.c
> +++ b/drivers/mtd/nand/raw/atmel/nand-controller.c
> @@ -216,7 +216,7 @@ struct atmel_nand_controller_caps {
> };
>
> struct atmel_nand_controller {
> - struct nand_hw_control base;
> + struct nand_controller base;
> const struct atmel_nand_controller_caps *caps;
> struct device *dev;
> struct regmap *smc;
> @@ -227,7 +227,7 @@ struct atmel_nand_controller {
> };
>
> static inline struct atmel_nand_controller *
> -to_nand_controller(struct nand_hw_control *ctl)
> +to_nand_controller(struct nand_controller *ctl)
> {
> return container_of(ctl, struct atmel_nand_controller, base);
> }
> @@ -239,7 +239,7 @@ struct atmel_smc_nand_controller {
> };
>
> static inline struct atmel_smc_nand_controller *
> -to_smc_nand_controller(struct nand_hw_control *ctl)
> +to_smc_nand_controller(struct nand_controller *ctl)
> {
> return container_of(to_nand_controller(ctl),
> struct atmel_smc_nand_controller, base);
> @@ -263,7 +263,7 @@ struct atmel_hsmc_nand_controller {
> };
>
> static inline struct atmel_hsmc_nand_controller *
> -to_hsmc_nand_controller(struct nand_hw_control *ctl)
> +to_hsmc_nand_controller(struct nand_controller *ctl)
> {
> return container_of(to_nand_controller(ctl),
> struct atmel_hsmc_nand_controller, base);
> diff --git a/drivers/mtd/nand/raw/brcmnand/brcmnand.c b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
> index 1306aaa7a8bf..2c8e3d3977c0 100644
> --- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c
> +++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
> @@ -114,7 +114,7 @@ enum {
>
> struct brcmnand_controller {
> struct device *dev;
> - struct nand_hw_control controller;
> + struct nand_controller controller;
> void __iomem *nand_base;
> void __iomem *nand_fc; /* flash cache */
> void __iomem *flash_dma_base;
> diff --git a/drivers/mtd/nand/raw/fsl_elbc_nand.c b/drivers/mtd/nand/raw/fsl_elbc_nand.c
> index 51f0b340bc0d..756431ec055b 100644
> --- a/drivers/mtd/nand/raw/fsl_elbc_nand.c
> +++ b/drivers/mtd/nand/raw/fsl_elbc_nand.c
> @@ -61,7 +61,7 @@ struct fsl_elbc_mtd {
> /* Freescale eLBC FCM controller information */
>
> struct fsl_elbc_fcm_ctrl {
> - struct nand_hw_control controller;
> + struct nand_controller controller;
> struct fsl_elbc_mtd *chips[MAX_BANKS];
>
> u8 __iomem *addr; /* Address of assigned FCM buffer */
> diff --git a/drivers/mtd/nand/raw/fsl_ifc_nand.c b/drivers/mtd/nand/raw/fsl_ifc_nand.c
> index 382b67e97174..92b8b63a8b75 100644
> --- a/drivers/mtd/nand/raw/fsl_ifc_nand.c
> +++ b/drivers/mtd/nand/raw/fsl_ifc_nand.c
> @@ -51,7 +51,7 @@ struct fsl_ifc_mtd {
>
> /* overview of the fsl ifc controller */
> struct fsl_ifc_nand_ctrl {
> - struct nand_hw_control controller;
> + struct nand_controller controller;
> struct fsl_ifc_mtd *chips[FSL_IFC_BANK_COUNT];
>
> void __iomem *addr; /* Address of assigned IFC buffer */
> diff --git a/drivers/mtd/nand/raw/jz4780_nand.c b/drivers/mtd/nand/raw/jz4780_nand.c
> index e69f6ae4c539..b9afd41132ac 100644
> --- a/drivers/mtd/nand/raw/jz4780_nand.c
> +++ b/drivers/mtd/nand/raw/jz4780_nand.c
> @@ -44,7 +44,7 @@ struct jz4780_nand_cs {
> struct jz4780_nand_controller {
> struct device *dev;
> struct jz4780_bch *bch;
> - struct nand_hw_control controller;
> + struct nand_controller controller;
> unsigned int num_banks;
> struct list_head chips;
> int selected;
> @@ -65,7 +65,8 @@ static inline struct jz4780_nand_chip *to_jz4780_nand_chip(struct mtd_info *mtd)
> return container_of(mtd_to_nand(mtd), struct jz4780_nand_chip, chip);
> }
>
> -static inline struct jz4780_nand_controller *to_jz4780_nand_controller(struct nand_hw_control *ctrl)
> +static inline struct jz4780_nand_controller
> +*to_jz4780_nand_controller(struct nand_controller *ctrl)
> {
> return container_of(ctrl, struct jz4780_nand_controller, controller);
> }
> diff --git a/drivers/mtd/nand/raw/marvell_nand.c b/drivers/mtd/nand/raw/marvell_nand.c
> index 80a074cccb82..fa7d284ac8af 100644
> --- a/drivers/mtd/nand/raw/marvell_nand.c
> +++ b/drivers/mtd/nand/raw/marvell_nand.c
> @@ -318,7 +318,7 @@ struct marvell_nfc_caps {
> * @dma_buf: 32-bit aligned buffer for DMA transfers (NFCv1 only)
> */
> struct marvell_nfc {
> - struct nand_hw_control controller;
> + struct nand_controller controller;
> struct device *dev;
> void __iomem *regs;
> struct clk *core_clk;
> @@ -335,7 +335,7 @@ struct marvell_nfc {
> u8 *dma_buf;
> };
>
> -static inline struct marvell_nfc *to_marvell_nfc(struct nand_hw_control *ctrl)
> +static inline struct marvell_nfc *to_marvell_nfc(struct nand_controller *ctrl)
> {
> return container_of(ctrl, struct marvell_nfc, controller);
> }
> diff --git a/drivers/mtd/nand/raw/mtk_nand.c b/drivers/mtd/nand/raw/mtk_nand.c
> index 75c845adb050..254ee76d354d 100644
> --- a/drivers/mtd/nand/raw/mtk_nand.c
> +++ b/drivers/mtd/nand/raw/mtk_nand.c
> @@ -145,7 +145,7 @@ struct mtk_nfc_clk {
> };
>
> struct mtk_nfc {
> - struct nand_hw_control controller;
> + struct nand_controller controller;
> struct mtk_ecc_config ecc_cfg;
> struct mtk_nfc_clk clk;
> struct mtk_ecc *ecc;
> diff --git a/drivers/mtd/nand/raw/ndfc.c b/drivers/mtd/nand/raw/ndfc.c
> index d8a806894937..fdc55fda5db6 100644
> --- a/drivers/mtd/nand/raw/ndfc.c
> +++ b/drivers/mtd/nand/raw/ndfc.c
> @@ -39,7 +39,7 @@ struct ndfc_controller {
> void __iomem *ndfcbase;
> struct nand_chip chip;
> int chip_select;
> - struct nand_hw_control ndfc_control;
> + struct nand_controller ndfc_control;
> };
>
> static struct ndfc_controller ndfc_ctrl[NDFC_MAX_CS];
> diff --git a/drivers/mtd/nand/raw/omap2.c b/drivers/mtd/nand/raw/omap2.c
> index e50c64adc3c8..e943b2e5a5e2 100644
> --- a/drivers/mtd/nand/raw/omap2.c
> +++ b/drivers/mtd/nand/raw/omap2.c
> @@ -145,7 +145,7 @@ static u_char bch8_vector[] = {0xf3, 0xdb, 0x14, 0x16, 0x8b, 0xd2, 0xbe, 0xcc,
> static u_char bch4_vector[] = {0x00, 0x6b, 0x31, 0xdd, 0x41, 0xbc, 0x10};
>
> /* Shared among all NAND instances to synchronize access to the ECC Engine */
> -static struct nand_hw_control omap_gpmc_controller = {
> +static struct nand_controller omap_gpmc_controller = {
> .lock = __SPIN_LOCK_UNLOCKED(omap_gpmc_controller.lock),
> .wq = __WAIT_QUEUE_HEAD_INITIALIZER(omap_gpmc_controller.wq),
> };
> diff --git a/drivers/mtd/nand/raw/oxnas_nand.c b/drivers/mtd/nand/raw/oxnas_nand.c
> index d649d5944826..3621c29e7221 100644
> --- a/drivers/mtd/nand/raw/oxnas_nand.c
> +++ b/drivers/mtd/nand/raw/oxnas_nand.c
> @@ -32,7 +32,7 @@
> #define OXNAS_NAND_MAX_CHIPS 1
>
> struct oxnas_nand_ctrl {
> - struct nand_hw_control base;
> + struct nand_controller base;
> void __iomem *io_base;
> struct clk *clk;
> struct nand_chip *chips[OXNAS_NAND_MAX_CHIPS];
> diff --git a/drivers/mtd/nand/raw/qcom_nandc.c b/drivers/mtd/nand/raw/qcom_nandc.c
> index 994f980c6d86..98800a26b2c7 100644
> --- a/drivers/mtd/nand/raw/qcom_nandc.c
> +++ b/drivers/mtd/nand/raw/qcom_nandc.c
> @@ -365,7 +365,7 @@ struct nandc_regs {
> * from all connected NAND devices pagesize
> */
> struct qcom_nand_controller {
> - struct nand_hw_control controller;
> + struct nand_controller controller;
> struct list_head host_list;
>
> struct device *dev;
> diff --git a/drivers/mtd/nand/raw/s3c2410.c b/drivers/mtd/nand/raw/s3c2410.c
> index 19661c5d3220..aee043dd4fa9 100644
> --- a/drivers/mtd/nand/raw/s3c2410.c
> +++ b/drivers/mtd/nand/raw/s3c2410.c
> @@ -162,7 +162,7 @@ enum s3c_nand_clk_state {
> */
> struct s3c2410_nand_info {
> /* mtd info */
> - struct nand_hw_control controller;
> + struct nand_controller controller;
> struct s3c2410_nand_mtd *mtds;
> struct s3c2410_platform_nand *platform;
>
> diff --git a/drivers/mtd/nand/raw/sunxi_nand.c b/drivers/mtd/nand/raw/sunxi_nand.c
> index d831a141a196..de19c81a1789 100644
> --- a/drivers/mtd/nand/raw/sunxi_nand.c
> +++ b/drivers/mtd/nand/raw/sunxi_nand.c
> @@ -234,7 +234,7 @@ static inline struct sunxi_nand_chip *to_sunxi_nand(struct nand_chip *nand)
> * controller events
> */
> struct sunxi_nfc {
> - struct nand_hw_control controller;
> + struct nand_controller controller;
> struct device *dev;
> void __iomem *regs;
> struct clk *ahb_clk;
> @@ -247,7 +247,7 @@ struct sunxi_nfc {
> struct dma_chan *dmac;
> };
>
> -static inline struct sunxi_nfc *to_sunxi_nfc(struct nand_hw_control *ctrl)
> +static inline struct sunxi_nfc *to_sunxi_nfc(struct nand_controller *ctrl)
> {
> return container_of(ctrl, struct sunxi_nfc, controller);
> }
> diff --git a/drivers/mtd/nand/raw/tango_nand.c b/drivers/mtd/nand/raw/tango_nand.c
> index f2052fae21c7..94c8e9ac20b6 100644
> --- a/drivers/mtd/nand/raw/tango_nand.c
> +++ b/drivers/mtd/nand/raw/tango_nand.c
> @@ -83,7 +83,7 @@
> #define MAX_CS 4
>
> struct tango_nfc {
> - struct nand_hw_control hw;
> + struct nand_controller hw;
> void __iomem *reg_base;
> void __iomem *mem_base;
> void __iomem *pbus_base;
> diff --git a/drivers/mtd/nand/raw/tegra_nand.c b/drivers/mtd/nand/raw/tegra_nand.c
> index 22d6a7f9ff80..1d5a646ca1e5 100644
> --- a/drivers/mtd/nand/raw/tegra_nand.c
> +++ b/drivers/mtd/nand/raw/tegra_nand.c
> @@ -164,7 +164,7 @@
> HWSTATUS_RBSY_VALUE(NAND_STATUS_READY))
>
> struct tegra_nand_controller {
> - struct nand_hw_control controller;
> + struct nand_controller controller;
> struct device *dev;
> void __iomem *regs;
> int irq;
> @@ -187,7 +187,7 @@ struct tegra_nand_chip {
> };
>
> static inline struct tegra_nand_controller *
> - to_tegra_ctrl(struct nand_hw_control *hw_ctrl)
> + to_tegra_ctrl(struct nand_controller *hw_ctrl)
> {
> return container_of(hw_ctrl, struct tegra_nand_controller, controller);
> }
> diff --git a/drivers/mtd/nand/raw/txx9ndfmc.c b/drivers/mtd/nand/raw/txx9ndfmc.c
> index b567d212fe7d..89ec8d4c4e83 100644
> --- a/drivers/mtd/nand/raw/txx9ndfmc.c
> +++ b/drivers/mtd/nand/raw/txx9ndfmc.c
> @@ -73,7 +73,7 @@ struct txx9ndfmc_drvdata {
> void __iomem *base;
> unsigned char hold; /* in gbusclock */
> unsigned char spw; /* in gbusclock */
> - struct nand_hw_control hw_control;
> + struct nand_controller hw_control;
> };
>
> static struct platform_device *mtd_to_platdev(struct mtd_info *mtd)
> diff --git a/include/linux/mtd/rawnand.h b/include/linux/mtd/rawnand.h
> index e383c7f32574..cfe39fc18417 100644
> --- a/include/linux/mtd/rawnand.h
> +++ b/include/linux/mtd/rawnand.h
> @@ -510,20 +510,21 @@ struct nand_id {
> };
>
> /**
> - * struct nand_hw_control - Control structure for hardware controller (e.g ECC generator) shared among independent devices
> + * struct nand_controller - Control structure for hardware controller
> + * shared among independent devices
> * @lock: protection lock
> * @active: the mtd device which holds the controller currently
> * @wq: wait queue to sleep on if a NAND operation is in
> * progress used instead of the per chip wait queue
> * when a hw controller is available.
> */
> -struct nand_hw_control {
> +struct nand_controller {
> spinlock_t lock;
> struct nand_chip *active;
> wait_queue_head_t wq;
> };
>
> -static inline void nand_hw_control_init(struct nand_hw_control *nfc)
> +static inline void nand_hw_control_init(struct nand_controller *nfc)
> {
> nfc->active = NULL;
> spin_lock_init(&nfc->lock);
> @@ -1334,11 +1335,11 @@ struct nand_chip {
> flstate_t state;
>
> uint8_t *oob_poi;
> - struct nand_hw_control *controller;
> + struct nand_controller *controller;
>
> struct nand_ecc_ctrl ecc;
> unsigned long buf_align;
> - struct nand_hw_control hwcontrol;
> + struct nand_controller hwcontrol;
>
> uint8_t *bbt;
> struct nand_bbt_descr *bbt_td;
next prev parent reply other threads:[~2018-07-17 11:50 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-17 9:54 [RFC PATCH 0/3] Changes in the internal raw NAND API Miquel Raynal
2018-07-17 9:54 ` [RFC PATCH 1/3] mtd: rawnand: better name for the controller structure Miquel Raynal
2018-07-17 11:49 ` Boris Brezillon [this message]
2018-07-17 11:58 ` Miquel Raynal
2018-07-17 12:05 ` Boris Brezillon
2018-07-17 9:54 ` [RFC PATCH 2/3] mtd: rawnand: update the controller structure initialization function name Miquel Raynal
2018-07-17 11:51 ` Boris Brezillon
2018-07-17 12:01 ` Miquel Raynal
2018-07-17 9:54 ` [RFC PATCH 3/3] mtd: rawnand: add hooks that may be called during nand_scan() Miquel Raynal
2018-07-17 12:03 ` Boris Brezillon
2018-07-17 12:09 ` Miquel Raynal
2018-07-17 12:13 ` 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=20180717134950.69b59136@bbrezillon \
--to=boris.brezillon@bootlin.com \
--cc=computersforpeace@gmail.com \
--cc=dwmw2@infradead.org \
--cc=linux-mtd@lists.infradead.org \
--cc=marek.vasut@gmail.com \
--cc=miquel.raynal@bootlin.com \
--cc=richard@nod.at \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox