From: Boris Brezillon <boris.brezillon@collabora.com>
To: Miquel Raynal <miquel.raynal@bootlin.com>
Cc: Rob Herring <robh+dt@kernel.org>,
Mark Rutland <mark.rutland@arm.com>, <devicetree@vger.kernel.org>,
Richard Weinberger <richard@nod.at>,
Vignesh Raghavendra <vigneshr@ti.com>,
Tudor Ambarus <Tudor.Ambarus@microchip.com>,
<linux-mtd@lists.infradead.org>,
Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
Michal Simek <monstr@monstr.eu>,
Naga Sureshkumar Relli <nagasure@xilinx.com>,
Ivan Djelic <ivan.djelic@parrot.com>
Subject: Re: [PATCH v3 1/8] lib/bch: Rework a little bit the exported function names
Date: Thu, 7 May 2020 13:48:22 +0200 [thread overview]
Message-ID: <20200507134822.21c965b3@collabora.com> (raw)
In-Reply-To: <20200507110034.14736-2-miquel.raynal@bootlin.com>
On Thu, 7 May 2020 13:00:27 +0200
Miquel Raynal <miquel.raynal@bootlin.com> wrote:
> There are four exported functions, all suffixed by _bch, which is clearly not the norm. Before exporting more functions, let's rename them by prefixing them with bch_ instead.
>
Oops. Missing line wrapping here :-). Also, you don't seem to export new
functions in this series, so maybe drop that part of the explanation.
Sounds good to me otherwise, so:
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
> This is a mechanical change:
> init_bch -> bch_init
> free_bch -> bch_free
> encode_bch -> bch_encode
> decode_bch -> bch_decode
>
> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
> Cc: Ivan Djelic <ivan.djelic@parrot.com>
> ---
> drivers/mtd/devices/docg3.c | 10 +++---
> drivers/mtd/nand/raw/nand_bch.c | 10 +++---
> include/linux/bch.h | 8 ++---
> lib/bch.c | 64 ++++++++++++++++-----------------
> 4 files changed, 46 insertions(+), 46 deletions(-)
>
> diff --git a/drivers/mtd/devices/docg3.c b/drivers/mtd/devices/docg3.c
> index eb0f4600efd1..799df8d03357 100644
> --- a/drivers/mtd/devices/docg3.c
> +++ b/drivers/mtd/devices/docg3.c
> @@ -647,7 +647,7 @@ static int doc_ecc_bch_fix_data(struct docg3 *docg3, void *buf, u8 *hwecc)
>
> for (i = 0; i < DOC_ECC_BCH_SIZE; i++)
> ecc[i] = bitrev8(hwecc[i]);
> - numerrs = decode_bch(docg3->cascade->bch, NULL,
> + numerrs = bch_decode(docg3->cascade->bch, NULL,
> DOC_ECC_BCH_COVERED_BYTES,
> NULL, ecc, NULL, errorpos);
> BUG_ON(numerrs == -EINVAL);
> @@ -1984,8 +1984,8 @@ static int __init docg3_probe(struct platform_device *pdev)
> return ret;
> cascade->base = base;
> mutex_init(&cascade->lock);
> - cascade->bch = init_bch(DOC_ECC_BCH_M, DOC_ECC_BCH_T,
> - DOC_ECC_BCH_PRIMPOLY);
> + cascade->bch = bch_init(DOC_ECC_BCH_M, DOC_ECC_BCH_T,
> + DOC_ECC_BCH_PRIMPOLY);
> if (!cascade->bch)
> return ret;
>
> @@ -2021,7 +2021,7 @@ static int __init docg3_probe(struct platform_device *pdev)
> ret = -ENODEV;
> dev_info(dev, "No supported DiskOnChip found\n");
> err_probe:
> - free_bch(cascade->bch);
> + bch_free(cascade->bch);
> for (floor = 0; floor < DOC_MAX_NBFLOORS; floor++)
> if (cascade->floors[floor])
> doc_release_device(cascade->floors[floor]);
> @@ -2045,7 +2045,7 @@ static int docg3_release(struct platform_device *pdev)
> if (cascade->floors[floor])
> doc_release_device(cascade->floors[floor]);
>
> - free_bch(docg3->cascade->bch);
> + bch_free(docg3->cascade->bch);
> return 0;
> }
>
> diff --git a/drivers/mtd/nand/raw/nand_bch.c b/drivers/mtd/nand/raw/nand_bch.c
> index 17527310c3a1..d95fcc7358e9 100644
> --- a/drivers/mtd/nand/raw/nand_bch.c
> +++ b/drivers/mtd/nand/raw/nand_bch.c
> @@ -41,7 +41,7 @@ int nand_bch_calculate_ecc(struct nand_chip *chip, const unsigned char *buf,
> unsigned int i;
>
> memset(code, 0, chip->ecc.bytes);
> - encode_bch(nbc->bch, buf, chip->ecc.size, code);
> + bch_encode(nbc->bch, buf, chip->ecc.size, code);
>
> /* apply mask so that an erased page is a valid codeword */
> for (i = 0; i < chip->ecc.bytes; i++)
> @@ -67,7 +67,7 @@ int nand_bch_correct_data(struct nand_chip *chip, unsigned char *buf,
> unsigned int *errloc = nbc->errloc;
> int i, count;
>
> - count = decode_bch(nbc->bch, NULL, chip->ecc.size, read_ecc, calc_ecc,
> + count = bch_decode(nbc->bch, NULL, chip->ecc.size, read_ecc, calc_ecc,
> NULL, errloc);
> if (count > 0) {
> for (i = 0; i < count; i++) {
> @@ -130,7 +130,7 @@ struct nand_bch_control *nand_bch_init(struct mtd_info *mtd)
> if (!nbc)
> goto fail;
>
> - nbc->bch = init_bch(m, t, 0);
> + nbc->bch = bch_init(m, t, 0);
> if (!nbc->bch)
> goto fail;
>
> @@ -182,7 +182,7 @@ struct nand_bch_control *nand_bch_init(struct mtd_info *mtd)
> goto fail;
>
> memset(erased_page, 0xff, eccsize);
> - encode_bch(nbc->bch, erased_page, eccsize, nbc->eccmask);
> + bch_encode(nbc->bch, erased_page, eccsize, nbc->eccmask);
> kfree(erased_page);
>
> for (i = 0; i < eccbytes; i++)
> @@ -205,7 +205,7 @@ EXPORT_SYMBOL(nand_bch_init);
> void nand_bch_free(struct nand_bch_control *nbc)
> {
> if (nbc) {
> - free_bch(nbc->bch);
> + bch_free(nbc->bch);
> kfree(nbc->errloc);
> kfree(nbc->eccmask);
> kfree(nbc);
> diff --git a/include/linux/bch.h b/include/linux/bch.h
> index aa765af85c38..9c35e7cd5890 100644
> --- a/include/linux/bch.h
> +++ b/include/linux/bch.h
> @@ -53,14 +53,14 @@ struct bch_control {
> struct gf_poly *poly_2t[4];
> };
>
> -struct bch_control *init_bch(int m, int t, unsigned int prim_poly);
> +struct bch_control *bch_init(int m, int t, unsigned int prim_poly);
>
> -void free_bch(struct bch_control *bch);
> +void bch_free(struct bch_control *bch);
>
> -void encode_bch(struct bch_control *bch, const uint8_t *data,
> +void bch_encode(struct bch_control *bch, const uint8_t *data,
> unsigned int len, uint8_t *ecc);
>
> -int decode_bch(struct bch_control *bch, const uint8_t *data, unsigned int len,
> +int bch_decode(struct bch_control *bch, const uint8_t *data, unsigned int len,
> const uint8_t *recv_ecc, const uint8_t *calc_ecc,
> const unsigned int *syn, unsigned int *errloc);
>
> diff --git a/lib/bch.c b/lib/bch.c
> index 052d3fb753a0..1091841ac716 100644
> --- a/lib/bch.c
> +++ b/lib/bch.c
> @@ -23,15 +23,15 @@
> * This library provides runtime configurable encoding/decoding of binary
> * Bose-Chaudhuri-Hocquenghem (BCH) codes.
> *
> - * Call init_bch to get a pointer to a newly allocated bch_control structure for
> + * Call bch_init to get a pointer to a newly allocated bch_control structure for
> * the given m (Galois field order), t (error correction capability) and
> * (optional) primitive polynomial parameters.
> *
> - * Call encode_bch to compute and store ecc parity bytes to a given buffer.
> - * Call decode_bch to detect and locate errors in received data.
> + * Call bch_encode to compute and store ecc parity bytes to a given buffer.
> + * Call bch_decode to detect and locate errors in received data.
> *
> * On systems supporting hw BCH features, intermediate results may be provided
> - * to decode_bch in order to skip certain steps. See decode_bch() documentation
> + * to bch_decode in order to skip certain steps. See bch_decode() documentation
> * for details.
> *
> * Option CONFIG_BCH_CONST_PARAMS can be used to force fixed values of
> @@ -115,9 +115,9 @@ struct gf_poly_deg1 {
> };
>
> /*
> - * same as encode_bch(), but process input data one byte at a time
> + * same as bch_encode(), but process input data one byte at a time
> */
> -static void encode_bch_unaligned(struct bch_control *bch,
> +static void bch_encode_unaligned(struct bch_control *bch,
> const unsigned char *data, unsigned int len,
> uint32_t *ecc)
> {
> @@ -174,7 +174,7 @@ static void store_ecc8(struct bch_control *bch, uint8_t *dst,
> }
>
> /**
> - * encode_bch - calculate BCH ecc parity of data
> + * bch_encode - calculate BCH ecc parity of data
> * @bch: BCH control structure
> * @data: data to encode
> * @len: data length in bytes
> @@ -187,7 +187,7 @@ static void store_ecc8(struct bch_control *bch, uint8_t *dst,
> * The exact number of computed ecc parity bits is given by member @ecc_bits of
> * @bch; it may be less than m*t for large values of t.
> */
> -void encode_bch(struct bch_control *bch, const uint8_t *data,
> +void bch_encode(struct bch_control *bch, const uint8_t *data,
> unsigned int len, uint8_t *ecc)
> {
> const unsigned int l = BCH_ECC_WORDS(bch)-1;
> @@ -215,7 +215,7 @@ void encode_bch(struct bch_control *bch, const uint8_t *data,
> m = ((unsigned long)data) & 3;
> if (m) {
> mlen = (len < (4-m)) ? len : 4-m;
> - encode_bch_unaligned(bch, data, mlen, bch->ecc_buf);
> + bch_encode_unaligned(bch, data, mlen, bch->ecc_buf);
> data += mlen;
> len -= mlen;
> }
> @@ -255,13 +255,13 @@ void encode_bch(struct bch_control *bch, const uint8_t *data,
>
> /* process last unaligned bytes */
> if (len)
> - encode_bch_unaligned(bch, data, len, bch->ecc_buf);
> + bch_encode_unaligned(bch, data, len, bch->ecc_buf);
>
> /* store ecc parity bytes into original parity buffer */
> if (ecc)
> store_ecc8(bch, ecc, bch->ecc_buf);
> }
> -EXPORT_SYMBOL_GPL(encode_bch);
> +EXPORT_SYMBOL_GPL(bch_encode);
>
> static inline int modulo(struct bch_control *bch, unsigned int v)
> {
> @@ -952,7 +952,7 @@ static int chien_search(struct bch_control *bch, unsigned int len,
> #endif /* USE_CHIEN_SEARCH */
>
> /**
> - * decode_bch - decode received codeword and find bit error locations
> + * bch_decode - decode received codeword and find bit error locations
> * @bch: BCH control structure
> * @data: received data, ignored if @calc_ecc is provided
> * @len: data length in bytes, must always be provided
> @@ -966,22 +966,22 @@ static int chien_search(struct bch_control *bch, unsigned int len,
> * invalid parameters were provided
> *
> * Depending on the available hw BCH support and the need to compute @calc_ecc
> - * separately (using encode_bch()), this function should be called with one of
> + * separately (using bch_encode()), this function should be called with one of
> * the following parameter configurations -
> *
> * by providing @data and @recv_ecc only:
> - * decode_bch(@bch, @data, @len, @recv_ecc, NULL, NULL, @errloc)
> + * bch_decode(@bch, @data, @len, @recv_ecc, NULL, NULL, @errloc)
> *
> * by providing @recv_ecc and @calc_ecc:
> - * decode_bch(@bch, NULL, @len, @recv_ecc, @calc_ecc, NULL, @errloc)
> + * bch_decode(@bch, NULL, @len, @recv_ecc, @calc_ecc, NULL, @errloc)
> *
> * by providing ecc = recv_ecc XOR calc_ecc:
> - * decode_bch(@bch, NULL, @len, NULL, ecc, NULL, @errloc)
> + * bch_decode(@bch, NULL, @len, NULL, ecc, NULL, @errloc)
> *
> * by providing syndrome results @syn:
> - * decode_bch(@bch, NULL, @len, NULL, NULL, @syn, @errloc)
> + * bch_decode(@bch, NULL, @len, NULL, NULL, @syn, @errloc)
> *
> - * Once decode_bch() has successfully returned with a positive value, error
> + * Once bch_decode() has successfully returned with a positive value, error
> * locations returned in array @errloc should be interpreted as follows -
> *
> * if (errloc[n] >= 8*len), then n-th error is located in ecc (no need for
> @@ -993,7 +993,7 @@ static int chien_search(struct bch_control *bch, unsigned int len,
> * Note that this function does not perform any data correction by itself, it
> * merely indicates error locations.
> */
> -int decode_bch(struct bch_control *bch, const uint8_t *data, unsigned int len,
> +int bch_decode(struct bch_control *bch, const uint8_t *data, unsigned int len,
> const uint8_t *recv_ecc, const uint8_t *calc_ecc,
> const unsigned int *syn, unsigned int *errloc)
> {
> @@ -1012,7 +1012,7 @@ int decode_bch(struct bch_control *bch, const uint8_t *data, unsigned int len,
> /* compute received data ecc into an internal buffer */
> if (!data || !recv_ecc)
> return -EINVAL;
> - encode_bch(bch, data, len, NULL);
> + bch_encode(bch, data, len, NULL);
> } else {
> /* load provided calculated ecc */
> load_ecc8(bch, bch->ecc_buf, calc_ecc);
> @@ -1053,7 +1053,7 @@ int decode_bch(struct bch_control *bch, const uint8_t *data, unsigned int len,
> }
> return (err >= 0) ? err : -EBADMSG;
> }
> -EXPORT_SYMBOL_GPL(decode_bch);
> +EXPORT_SYMBOL_GPL(bch_decode);
>
> /*
> * generate Galois field lookup tables
> @@ -1236,7 +1236,7 @@ static uint32_t *compute_generator_polynomial(struct bch_control *bch)
> }
>
> /**
> - * init_bch - initialize a BCH encoder/decoder
> + * bch_init - initialize a BCH encoder/decoder
> * @m: Galois field order, should be in the range 5-15
> * @t: maximum error correction capability, in bits
> * @prim_poly: user-provided primitive polynomial (or 0 to use default)
> @@ -1246,17 +1246,17 @@ static uint32_t *compute_generator_polynomial(struct bch_control *bch)
> *
> * This initialization can take some time, as lookup tables are built for fast
> * encoding/decoding; make sure not to call this function from a time critical
> - * path. Usually, init_bch() should be called on module/driver init and
> - * free_bch() should be called to release memory on exit.
> + * path. Usually, bch_init() should be called on module/driver init and
> + * bch_free() should be called to release memory on exit.
> *
> * You may provide your own primitive polynomial of degree @m in argument
> - * @prim_poly, or let init_bch() use its default polynomial.
> + * @prim_poly, or let bch_init() use its default polynomial.
> *
> - * Once init_bch() has successfully returned a pointer to a newly allocated
> + * Once bch_init() has successfully returned a pointer to a newly allocated
> * BCH control structure, ecc length in bytes is given by member @ecc_bytes of
> * the structure.
> */
> -struct bch_control *init_bch(int m, int t, unsigned int prim_poly)
> +struct bch_control *bch_init(int m, int t, unsigned int prim_poly)
> {
> int err = 0;
> unsigned int i, words;
> @@ -1347,16 +1347,16 @@ struct bch_control *init_bch(int m, int t, unsigned int prim_poly)
> return bch;
>
> fail:
> - free_bch(bch);
> + bch_free(bch);
> return NULL;
> }
> -EXPORT_SYMBOL_GPL(init_bch);
> +EXPORT_SYMBOL_GPL(bch_init);
>
> /**
> - * free_bch - free the BCH control structure
> + * bch_free - free the BCH control structure
> * @bch: BCH control structure to release
> */
> -void free_bch(struct bch_control *bch)
> +void bch_free(struct bch_control *bch)
> {
> unsigned int i;
>
> @@ -1377,7 +1377,7 @@ void free_bch(struct bch_control *bch)
> kfree(bch);
> }
> }
> -EXPORT_SYMBOL_GPL(free_bch);
> +EXPORT_SYMBOL_GPL(bch_free);
>
> MODULE_LICENSE("GPL");
> MODULE_AUTHOR("Ivan Djelic <ivan.djelic@parrot.com>");
next prev parent reply other threads:[~2020-05-07 11:48 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-07 11:00 [PATCH v3 0/8] New Arasan NAND controller driver Miquel Raynal
2020-05-07 11:00 ` [PATCH v3 1/8] lib/bch: Rework a little bit the exported function names Miquel Raynal
2020-05-07 11:48 ` Boris Brezillon [this message]
2020-05-07 14:11 ` Miquel Raynal
2020-05-07 11:00 ` [PATCH v3 2/8] lib/bch: Allow easy bit swapping Miquel Raynal
2020-05-07 11:43 ` Boris Brezillon
2020-05-07 14:09 ` Miquel Raynal
2020-05-07 11:00 ` [PATCH v3 3/8] mtd: rawnand: Ensure the number of bitflips is consistent Miquel Raynal
2020-05-07 11:00 ` [PATCH v3 4/8] mtd: rawnand: Add nand_extract_bits() Miquel Raynal
2020-05-07 11:49 ` Boris Brezillon
2020-05-07 14:12 ` Miquel Raynal
2020-05-08 17:20 ` Miquel Raynal
2020-05-07 11:00 ` [PATCH v3 5/8] MAINTAINERS: Add Arasan NAND controller and bindings Miquel Raynal
2020-05-07 11:50 ` Boris Brezillon
2020-05-07 11:00 ` [PATCH v3 6/8] dt-bindings: mtd: Document ARASAN NAND bindings Miquel Raynal
2020-05-07 11:00 ` [PATCH v3 7/8] mtd: rawnand: arasan: Add new Arasan NAND controller Miquel Raynal
2020-05-07 12:11 ` Boris Brezillon
2020-05-07 15:13 ` Miquel Raynal
2020-05-07 15:24 ` Boris Brezillon
2020-05-07 15:53 ` Miquel Raynal
2020-05-07 16:12 ` Boris Brezillon
2020-05-07 12:51 ` Boris Brezillon
2020-05-07 15:45 ` Miquel Raynal
2020-05-07 16:11 ` Boris Brezillon
2020-05-07 16:19 ` Miquel Raynal
2020-05-07 19:13 ` Miquel Raynal
2020-05-07 11:00 ` [PATCH v3 8/8] mtd: rawnand: arasan: Support the hardware BCH ECC engine Miquel Raynal
2020-05-07 12:03 ` Boris Brezillon
2020-05-07 15:09 ` 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=20200507134822.21c965b3@collabora.com \
--to=boris.brezillon@collabora.com \
--cc=Tudor.Ambarus@microchip.com \
--cc=devicetree@vger.kernel.org \
--cc=ivan.djelic@parrot.com \
--cc=linux-mtd@lists.infradead.org \
--cc=mark.rutland@arm.com \
--cc=miquel.raynal@bootlin.com \
--cc=monstr@monstr.eu \
--cc=nagasure@xilinx.com \
--cc=richard@nod.at \
--cc=robh+dt@kernel.org \
--cc=thomas.petazzoni@bootlin.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).