From: <Tudor.Ambarus@microchip.com> To: <marek.vasut@gmail.com>, <miquel.raynal@bootlin.com>, <richard@nod.at>, <vigneshr@ti.com>, <joel@jms.id.au>, <andrew@aj.id.au>, <matthias.bgg@gmail.com>, <vz@mleia.com>, <boris.brezillon@collabora.com>, <linux-mtd@lists.infradead.org>, <linux-arm-kernel@lists.infradead.org> Cc: Tudor.Ambarus@microchip.com Subject: [PATCH 11/13] mtd: spi-nor: Report error in spi_nor_xread_sr() Date: Wed, 11 Sep 2019 09:41:21 +0000 [thread overview] Message-ID: <20190911094031.17615-12-tudor.ambarus@microchip.com> (raw) In-Reply-To: <20190911094031.17615-1-tudor.ambarus@microchip.com> From: Tudor Ambarus <tudor.ambarus@microchip.com> The error is reported inside spi_nor_xread_sr(), to spare the callers of duplicating code. Add method description. Drop unnecessary cast to int when reporting the error. Comparing the return code with zero is enough, drop the checking for negative return values. Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com> --- drivers/mtd/spi-nor/spi-nor.c | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c index b720c0003b27..0505bf6c197e 100644 --- a/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c @@ -537,8 +537,17 @@ static int spi_nor_read_cr(struct spi_nor *nor, u8 *cr) return ret; } +/** + * spi_nor_xread_sr() - Read the Status Register on S3AN flashes. + * @nor: pointer to 'struct spi_nor' + * @sr: buffer where the value of the Status Register will be written. + * + * Return: 0 on success, -errno otherwise. + */ static int spi_nor_xread_sr(struct spi_nor *nor, u8 *sr) { + int ret; + if (nor->spimem) { struct spi_mem_op op = SPI_MEM_OP(SPI_MEM_OP_CMD(SPINOR_OP_XRDSR, 1), @@ -546,10 +555,16 @@ static int spi_nor_xread_sr(struct spi_nor *nor, u8 *sr) SPI_MEM_OP_NO_DUMMY, SPI_MEM_OP_DATA_IN(1, sr, 1)); - return spi_mem_exec_op(nor->spimem, &op); + ret = spi_mem_exec_op(nor->spimem, &op); + } else { + ret = nor->controller_ops->read_reg(nor, SPINOR_OP_XRDSR, + sr, 1); } - return nor->controller_ops->read_reg(nor, SPINOR_OP_XRDSR, sr, 1); + if (ret) + dev_err(nor->dev, "error %d reading XRDSR\n", ret); + + return ret; } static int s3an_sr_ready(struct spi_nor *nor) @@ -557,10 +572,8 @@ static int s3an_sr_ready(struct spi_nor *nor) int ret; ret = spi_nor_xread_sr(nor, nor->bouncebuf); - if (ret < 0) { - dev_err(nor->dev, "error %d reading XRDSR\n", (int) ret); + if (ret) return ret; - } return !!(nor->bouncebuf[0] & XSR_RDY); } @@ -2797,10 +2810,8 @@ static int s3an_nor_setup(struct spi_nor *nor, int ret; ret = spi_nor_xread_sr(nor, nor->bouncebuf); - if (ret < 0) { - dev_err(nor->dev, "error %d reading XRDSR\n", (int) ret); + if (ret) return ret; - } nor->erase_opcode = SPINOR_OP_XSE; nor->program_opcode = SPINOR_OP_XPP; -- 2.9.5 ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/
WARNING: multiple messages have this Message-ID (diff)
From: <Tudor.Ambarus@microchip.com> To: <marek.vasut@gmail.com>, <miquel.raynal@bootlin.com>, <richard@nod.at>, <vigneshr@ti.com>, <joel@jms.id.au>, <andrew@aj.id.au>, <matthias.bgg@gmail.com>, <vz@mleia.com>, <boris.brezillon@collabora.com>, <linux-mtd@lists.infradead.org>, <linux-arm-kernel@lists.infradead.org> Cc: Tudor.Ambarus@microchip.com Subject: [PATCH 11/13] mtd: spi-nor: Report error in spi_nor_xread_sr() Date: Wed, 11 Sep 2019 09:41:21 +0000 [thread overview] Message-ID: <20190911094031.17615-12-tudor.ambarus@microchip.com> (raw) In-Reply-To: <20190911094031.17615-1-tudor.ambarus@microchip.com> From: Tudor Ambarus <tudor.ambarus@microchip.com> The error is reported inside spi_nor_xread_sr(), to spare the callers of duplicating code. Add method description. Drop unnecessary cast to int when reporting the error. Comparing the return code with zero is enough, drop the checking for negative return values. Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com> --- drivers/mtd/spi-nor/spi-nor.c | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c index b720c0003b27..0505bf6c197e 100644 --- a/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c @@ -537,8 +537,17 @@ static int spi_nor_read_cr(struct spi_nor *nor, u8 *cr) return ret; } +/** + * spi_nor_xread_sr() - Read the Status Register on S3AN flashes. + * @nor: pointer to 'struct spi_nor' + * @sr: buffer where the value of the Status Register will be written. + * + * Return: 0 on success, -errno otherwise. + */ static int spi_nor_xread_sr(struct spi_nor *nor, u8 *sr) { + int ret; + if (nor->spimem) { struct spi_mem_op op = SPI_MEM_OP(SPI_MEM_OP_CMD(SPINOR_OP_XRDSR, 1), @@ -546,10 +555,16 @@ static int spi_nor_xread_sr(struct spi_nor *nor, u8 *sr) SPI_MEM_OP_NO_DUMMY, SPI_MEM_OP_DATA_IN(1, sr, 1)); - return spi_mem_exec_op(nor->spimem, &op); + ret = spi_mem_exec_op(nor->spimem, &op); + } else { + ret = nor->controller_ops->read_reg(nor, SPINOR_OP_XRDSR, + sr, 1); } - return nor->controller_ops->read_reg(nor, SPINOR_OP_XRDSR, sr, 1); + if (ret) + dev_err(nor->dev, "error %d reading XRDSR\n", ret); + + return ret; } static int s3an_sr_ready(struct spi_nor *nor) @@ -557,10 +572,8 @@ static int s3an_sr_ready(struct spi_nor *nor) int ret; ret = spi_nor_xread_sr(nor, nor->bouncebuf); - if (ret < 0) { - dev_err(nor->dev, "error %d reading XRDSR\n", (int) ret); + if (ret) return ret; - } return !!(nor->bouncebuf[0] & XSR_RDY); } @@ -2797,10 +2810,8 @@ static int s3an_nor_setup(struct spi_nor *nor, int ret; ret = spi_nor_xread_sr(nor, nor->bouncebuf); - if (ret < 0) { - dev_err(nor->dev, "error %d reading XRDSR\n", (int) ret); + if (ret) return ret; - } nor->erase_opcode = SPINOR_OP_XSE; nor->program_opcode = SPINOR_OP_XPP; -- 2.9.5 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2019-09-11 9:47 UTC|newest] Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-09-11 9:40 [PATCH 00/13] mtd: spi-nor: Clean Flash Register operations Tudor.Ambarus 2019-09-11 9:40 ` Tudor.Ambarus 2019-09-11 9:40 ` [PATCH 01/13] mtd: spi-nor: hisi-sfc: Drop nor->erase NULL asignment Tudor.Ambarus 2019-09-11 9:40 ` Tudor.Ambarus 2019-09-11 9:40 ` [PATCH 02/13] mtd: spi-nor: Introduce 'struct spi_nor_controller_ops' Tudor.Ambarus 2019-09-11 9:40 ` Tudor.Ambarus 2019-09-11 9:40 ` [PATCH 03/13] mtd: spi-nor: cadence-quadspi: Fix cqspi_command_read() definition Tudor.Ambarus 2019-09-11 9:40 ` Tudor.Ambarus 2019-09-11 9:40 ` [PATCH 04/13] mtd: spi-nor: Rename nor->params to nor->flash Tudor.Ambarus 2019-09-11 9:40 ` Tudor.Ambarus 2019-09-11 9:41 ` [PATCH 05/13] mtd: spi-nor: Rework read_sr() Tudor.Ambarus 2019-09-11 9:41 ` Tudor.Ambarus 2019-09-11 9:41 ` [PATCH 06/13] mtd: spi-nor: Rework read_fsr() Tudor.Ambarus 2019-09-11 9:41 ` Tudor.Ambarus 2019-09-11 9:41 ` [PATCH 07/13] mtd: spi-nor: Rework read_cr() Tudor.Ambarus 2019-09-11 9:41 ` Tudor.Ambarus 2019-09-11 9:41 ` [PATCH 08/13] mtd: spi-nor: Rework write_enable/disable() Tudor.Ambarus 2019-09-11 9:41 ` Tudor.Ambarus 2019-09-11 9:41 ` [PATCH 09/13] mtd: spi-nor: Rework write_sr() Tudor.Ambarus 2019-09-11 9:41 ` Tudor.Ambarus 2019-09-11 9:41 ` [PATCH 10/13] mtd: spi-nor: Rework spi_nor_read/write_sr2() Tudor.Ambarus 2019-09-11 9:41 ` Tudor.Ambarus 2019-09-11 9:41 ` Tudor.Ambarus [this message] 2019-09-11 9:41 ` [PATCH 11/13] mtd: spi-nor: Report error in spi_nor_xread_sr() Tudor.Ambarus 2019-09-11 9:41 ` [PATCH 12/13] mtd: spi-nor: Void return type for spi_nor_clear_sr/fsr() Tudor.Ambarus 2019-09-11 9:41 ` Tudor.Ambarus 2019-09-11 9:41 ` [PATCH 13/13] mtd: spi-nor: Drop duplicated new line Tudor.Ambarus 2019-09-11 9:41 ` Tudor.Ambarus
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=20190911094031.17615-12-tudor.ambarus@microchip.com \ --to=tudor.ambarus@microchip.com \ --cc=andrew@aj.id.au \ --cc=boris.brezillon@collabora.com \ --cc=joel@jms.id.au \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-mtd@lists.infradead.org \ --cc=marek.vasut@gmail.com \ --cc=matthias.bgg@gmail.com \ --cc=miquel.raynal@bootlin.com \ --cc=richard@nod.at \ --cc=vigneshr@ti.com \ --cc=vz@mleia.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: linkBe 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.