From: Boris Brezillon <boris.brezillon@collabora.com>
To: Miquel Raynal <miquel.raynal@bootlin.com>
Cc: Mark Rutland <mark.rutland@arm.com>,
devicetree@vger.kernel.org, Vignesh Raghavendra <vigneshr@ti.com>,
Tudor Ambarus <Tudor.Ambarus@microchip.com>,
Richard Weinberger <richard@nod.at>,
Rob Herring <robh+dt@kernel.org>,
linux-mtd@lists.infradead.org
Subject: Re: [RESEND v5 05/21] mtd: rawnand: Return an enum from of_get_nand_ecc_algo()
Date: Wed, 27 May 2020 00:41:59 +0200 [thread overview]
Message-ID: <20200527004159.0a8e29a6@collabora.com> (raw)
In-Reply-To: <20200526195633.11543-6-miquel.raynal@bootlin.com>
On Tue, 26 May 2020 21:56:17 +0200
Miquel Raynal <miquel.raynal@bootlin.com> wrote:
> There is an enumeration to list ECC algorithm, let's use it instead of
> returning an int.
>
> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
> ---
> drivers/mtd/nand/raw/nand_base.c | 35 +++++++++++++++++---------------
> 1 file changed, 19 insertions(+), 16 deletions(-)
>
> diff --git a/drivers/mtd/nand/raw/nand_base.c b/drivers/mtd/nand/raw/nand_base.c
> index 7176e513a0bb..a756f3193558 100644
> --- a/drivers/mtd/nand/raw/nand_base.c
> +++ b/drivers/mtd/nand/raw/nand_base.c
> @@ -5048,17 +5048,20 @@ static const char * const nand_ecc_algos[] = {
> [NAND_ECC_RS] = "rs",
> };
>
> -static int of_get_nand_ecc_algo(struct device_node *np)
> +static enum nand_ecc_algo of_get_nand_ecc_algo(struct device_node *np)
> {
> + enum nand_ecc_algo ecc_algo;
> const char *pm;
> - int err, i;
> + int err;
>
> err = of_property_read_string(np, "nand-ecc-algo", &pm);
> if (!err) {
> - for (i = NAND_ECC_HAMMING; i < ARRAY_SIZE(nand_ecc_algos); i++)
> - if (!strcasecmp(pm, nand_ecc_algos[i]))
> - return i;
> - return -ENODEV;
> + for (ecc_algo = NAND_ECC_HAMMING;
> + ecc_algo < ARRAY_SIZE(nand_ecc_algos);
> + ecc_algo++) {
> + if (!strcasecmp(pm, nand_ecc_algos[ecc_algo]))
> + return ecc_algo;
> + }
> }
>
> /*
> @@ -5066,15 +5069,14 @@ static int of_get_nand_ecc_algo(struct device_node *np)
> * for some obsoleted values that were specifying ECC algorithm.
> */
> err = of_property_read_string(np, "nand-ecc-mode", &pm);
> - if (err < 0)
> - return err;
> + if (!err) {
> + if (!strcasecmp(pm, "soft"))
> + return NAND_ECC_HAMMING;
> + else if (!strcasecmp(pm, "soft_bch"))
> + return NAND_ECC_BCH;
> + }
>
> - if (!strcasecmp(pm, "soft"))
> - return NAND_ECC_HAMMING;
> - else if (!strcasecmp(pm, "soft_bch"))
> - return NAND_ECC_BCH;
> -
> - return -ENODEV;
> + return NAND_ECC_UNKNOWN;
> }
>
> static int of_get_nand_ecc_step_size(struct device_node *np)
> @@ -5119,7 +5121,8 @@ static bool of_get_nand_on_flash_bbt(struct device_node *np)
> static int nand_dt_init(struct nand_chip *chip)
> {
> struct device_node *dn = nand_get_flash_node(chip);
> - int ecc_mode, ecc_algo, ecc_strength, ecc_step;
> + enum nand_ecc_algo ecc_algo;
> + int ecc_mode, ecc_strength, ecc_step;
>
> if (!dn)
> return 0;
> @@ -5141,7 +5144,7 @@ static int nand_dt_init(struct nand_chip *chip)
> if (ecc_mode >= 0)
> chip->ecc.mode = ecc_mode;
>
> - if (ecc_algo >= 0)
> + if (ecc_algo != NAND_ECC_UNKNOWN)
> chip->ecc.algo = ecc_algo;
>
> if (ecc_strength >= 0)
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
WARNING: multiple messages have this Message-ID (diff)
From: Boris Brezillon <boris.brezillon@collabora.com>
To: Miquel Raynal <miquel.raynal@bootlin.com>
Cc: Richard Weinberger <richard@nod.at>,
Vignesh Raghavendra <vigneshr@ti.com>,
Tudor Ambarus <Tudor.Ambarus@microchip.com>,
<linux-mtd@lists.infradead.org>, Rob Herring <robh+dt@kernel.org>,
Mark Rutland <mark.rutland@arm.com>, <devicetree@vger.kernel.org>
Subject: Re: [RESEND v5 05/21] mtd: rawnand: Return an enum from of_get_nand_ecc_algo()
Date: Wed, 27 May 2020 00:41:59 +0200 [thread overview]
Message-ID: <20200527004159.0a8e29a6@collabora.com> (raw)
In-Reply-To: <20200526195633.11543-6-miquel.raynal@bootlin.com>
On Tue, 26 May 2020 21:56:17 +0200
Miquel Raynal <miquel.raynal@bootlin.com> wrote:
> There is an enumeration to list ECC algorithm, let's use it instead of
> returning an int.
>
> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
> ---
> drivers/mtd/nand/raw/nand_base.c | 35 +++++++++++++++++---------------
> 1 file changed, 19 insertions(+), 16 deletions(-)
>
> diff --git a/drivers/mtd/nand/raw/nand_base.c b/drivers/mtd/nand/raw/nand_base.c
> index 7176e513a0bb..a756f3193558 100644
> --- a/drivers/mtd/nand/raw/nand_base.c
> +++ b/drivers/mtd/nand/raw/nand_base.c
> @@ -5048,17 +5048,20 @@ static const char * const nand_ecc_algos[] = {
> [NAND_ECC_RS] = "rs",
> };
>
> -static int of_get_nand_ecc_algo(struct device_node *np)
> +static enum nand_ecc_algo of_get_nand_ecc_algo(struct device_node *np)
> {
> + enum nand_ecc_algo ecc_algo;
> const char *pm;
> - int err, i;
> + int err;
>
> err = of_property_read_string(np, "nand-ecc-algo", &pm);
> if (!err) {
> - for (i = NAND_ECC_HAMMING; i < ARRAY_SIZE(nand_ecc_algos); i++)
> - if (!strcasecmp(pm, nand_ecc_algos[i]))
> - return i;
> - return -ENODEV;
> + for (ecc_algo = NAND_ECC_HAMMING;
> + ecc_algo < ARRAY_SIZE(nand_ecc_algos);
> + ecc_algo++) {
> + if (!strcasecmp(pm, nand_ecc_algos[ecc_algo]))
> + return ecc_algo;
> + }
> }
>
> /*
> @@ -5066,15 +5069,14 @@ static int of_get_nand_ecc_algo(struct device_node *np)
> * for some obsoleted values that were specifying ECC algorithm.
> */
> err = of_property_read_string(np, "nand-ecc-mode", &pm);
> - if (err < 0)
> - return err;
> + if (!err) {
> + if (!strcasecmp(pm, "soft"))
> + return NAND_ECC_HAMMING;
> + else if (!strcasecmp(pm, "soft_bch"))
> + return NAND_ECC_BCH;
> + }
>
> - if (!strcasecmp(pm, "soft"))
> - return NAND_ECC_HAMMING;
> - else if (!strcasecmp(pm, "soft_bch"))
> - return NAND_ECC_BCH;
> -
> - return -ENODEV;
> + return NAND_ECC_UNKNOWN;
> }
>
> static int of_get_nand_ecc_step_size(struct device_node *np)
> @@ -5119,7 +5121,8 @@ static bool of_get_nand_on_flash_bbt(struct device_node *np)
> static int nand_dt_init(struct nand_chip *chip)
> {
> struct device_node *dn = nand_get_flash_node(chip);
> - int ecc_mode, ecc_algo, ecc_strength, ecc_step;
> + enum nand_ecc_algo ecc_algo;
> + int ecc_mode, ecc_strength, ecc_step;
>
> if (!dn)
> return 0;
> @@ -5141,7 +5144,7 @@ static int nand_dt_init(struct nand_chip *chip)
> if (ecc_mode >= 0)
> chip->ecc.mode = ecc_mode;
>
> - if (ecc_algo >= 0)
> + if (ecc_algo != NAND_ECC_UNKNOWN)
> chip->ecc.algo = ecc_algo;
>
> if (ecc_strength >= 0)
next prev parent reply other threads:[~2020-05-26 22:42 UTC|newest]
Thread overview: 94+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-26 19:56 [RESEND v5 00/21] Introduce the generic ECC engine abstraction Miquel Raynal
2020-05-26 19:56 ` Miquel Raynal
2020-05-26 19:56 ` [RESEND v5 01/21] mtd: Fix typo in mtd_ooblayout_set_databytes() description Miquel Raynal
2020-05-26 19:56 ` Miquel Raynal
2020-05-27 14:11 ` Miquel Raynal
2020-05-27 14:11 ` Miquel Raynal
2020-05-26 19:56 ` [RESEND v5 02/21] mtd: rawnand: Avoid a typedef Miquel Raynal
2020-05-26 19:56 ` Miquel Raynal
2020-05-27 14:11 ` Miquel Raynal
2020-05-27 14:11 ` Miquel Raynal
2020-05-26 19:56 ` [RESEND v5 03/21] mtd: rawnand: Drop OOB_FIRST placement scheme Miquel Raynal
2020-05-26 19:56 ` Miquel Raynal
2020-05-26 22:46 ` Boris Brezillon
2020-05-26 22:46 ` Boris Brezillon
2020-05-27 14:11 ` Miquel Raynal
2020-05-27 14:11 ` Miquel Raynal
2020-05-26 19:56 ` [RESEND v5 04/21] dt-bindings: mtd: Deprecate OOB_FIRST mode Miquel Raynal
2020-05-26 19:56 ` Miquel Raynal
2020-05-26 22:42 ` Boris Brezillon
2020-05-26 22:42 ` Boris Brezillon
2020-05-27 14:11 ` Miquel Raynal
2020-05-27 14:11 ` Miquel Raynal
2020-05-26 19:56 ` [RESEND v5 05/21] mtd: rawnand: Return an enum from of_get_nand_ecc_algo() Miquel Raynal
2020-05-26 19:56 ` Miquel Raynal
2020-05-26 22:41 ` Boris Brezillon [this message]
2020-05-26 22:41 ` Boris Brezillon
2020-05-27 14:11 ` Miquel Raynal
2020-05-27 14:11 ` Miquel Raynal
2020-05-26 19:56 ` [RESEND v5 06/21] mtd: rawnand: Add an invalid ECC mode to discriminate with valid ones Miquel Raynal
2020-05-26 19:56 ` Miquel Raynal
2020-05-27 14:11 ` Miquel Raynal
2020-05-27 14:11 ` Miquel Raynal
2020-05-26 19:56 ` [RESEND v5 07/21] mtd: rawnand: Create a new enumeration to describe OOB placement Miquel Raynal
2020-05-26 19:56 ` Miquel Raynal
2020-05-26 22:39 ` Boris Brezillon
2020-05-26 22:39 ` Boris Brezillon
2020-05-27 8:00 ` Miquel Raynal
2020-05-27 8:00 ` Miquel Raynal
2020-05-27 8:22 ` Boris Brezillon
2020-05-27 8:22 ` Boris Brezillon
2020-05-26 19:56 ` [RESEND v5 08/21] mtd: rawnand: Separate the ECC engine type and the " Miquel Raynal
2020-05-26 19:56 ` Miquel Raynal
2020-05-26 19:56 ` [RESEND v5 09/21] mtd: rawnand: Create a new enumeration to describe properly ECC types Miquel Raynal
2020-05-26 19:56 ` Miquel Raynal
2020-05-26 22:55 ` Boris Brezillon
2020-05-26 22:55 ` Boris Brezillon
2020-05-26 23:21 ` Boris Brezillon
2020-05-26 23:21 ` Boris Brezillon
2020-05-27 8:21 ` Miquel Raynal
2020-05-27 8:21 ` Miquel Raynal
2020-05-26 22:59 ` Boris Brezillon
2020-05-26 22:59 ` Boris Brezillon
2020-05-27 8:33 ` Miquel Raynal
2020-05-27 8:33 ` Miquel Raynal
2020-05-27 8:44 ` Boris Brezillon
2020-05-27 8:44 ` Boris Brezillon
2020-05-27 8:50 ` Boris Brezillon
2020-05-27 8:50 ` Boris Brezillon
2020-05-26 19:56 ` [RESEND v5 10/21] mtd: rawnand: Create a helper to retrieve the ECC placement Miquel Raynal
2020-05-26 19:56 ` Miquel Raynal
2020-05-26 19:56 ` [RESEND v5 11/21] mtd: rawnand: Use the new ECC engine type enumeration Miquel Raynal
2020-05-26 19:56 ` Miquel Raynal
2020-05-26 19:56 ` [RESEND v5 12/21] mtd: rawnand: Deprecate nand-ecc-mode in favor of nand-ecc-provider Miquel Raynal
2020-05-26 19:56 ` Miquel Raynal
2020-05-26 23:03 ` Boris Brezillon
2020-05-26 23:03 ` Boris Brezillon
2020-05-27 8:42 ` Miquel Raynal
2020-05-27 8:42 ` Miquel Raynal
2020-05-26 19:56 ` [RESEND v5 13/21] mtd: rawnand: Drop the legacy ECC type enumeration Miquel Raynal
2020-05-26 19:56 ` Miquel Raynal
2020-05-26 19:56 ` [RESEND v5 14/21] dt-bindings: mtd: Add the nand-ecc-placement property Miquel Raynal
2020-05-26 19:56 ` Miquel Raynal
2020-05-26 23:08 ` Boris Brezillon
2020-05-26 23:08 ` Boris Brezillon
2020-05-26 23:10 ` Rob Herring
2020-05-26 23:10 ` Rob Herring
2020-05-26 19:56 ` [RESEND v5 15/21] dt-bindings: mtd: Deprecate hw_syndrome from the ECC modes Miquel Raynal
2020-05-26 19:56 ` Miquel Raynal
2020-05-26 23:09 ` Boris Brezillon
2020-05-26 23:09 ` Boris Brezillon
2020-05-26 19:56 ` [RESEND v5 16/21] dt-bindings: mtd: Deprecate the nand-ecc-mode property Miquel Raynal
2020-05-26 19:56 ` Miquel Raynal
2020-05-26 23:12 ` Boris Brezillon
2020-05-26 23:12 ` Boris Brezillon
2020-05-26 19:56 ` [RESEND v5 17/21] mtd: nand: Move nand_device forward declaration to the top Miquel Raynal
2020-05-26 19:56 ` Miquel Raynal
2020-05-26 19:56 ` [RESEND v5 18/21] mtd: nand: Add an extra level in the Kconfig hierarchy Miquel Raynal
2020-05-26 19:56 ` Miquel Raynal
2020-05-26 19:56 ` [RESEND v5 19/21] mtd: nand: Drop useless 'depends on' in Kconfig Miquel Raynal
2020-05-26 19:56 ` Miquel Raynal
2020-05-26 19:56 ` [RESEND v5 20/21] mtd: nand: Add a NAND page I/O request type Miquel Raynal
2020-05-26 19:56 ` Miquel Raynal
2020-05-26 19:56 ` [RESEND v5 21/21] mtd: nand: Rename a core structure Miquel Raynal
2020-05-26 19:56 ` Miquel Raynal
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=20200527004159.0a8e29a6@collabora.com \
--to=boris.brezillon@collabora.com \
--cc=Tudor.Ambarus@microchip.com \
--cc=devicetree@vger.kernel.org \
--cc=linux-mtd@lists.infradead.org \
--cc=mark.rutland@arm.com \
--cc=miquel.raynal@bootlin.com \
--cc=richard@nod.at \
--cc=robh+dt@kernel.org \
--cc=vigneshr@ti.com \
/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.