From: Michael Walle <michael@walle.cc>
To: linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org
Cc: Tudor Ambarus <tudor.ambarus@microchip.com>,
Pratyush Yadav <p.yadav@ti.com>,
Miquel Raynal <miquel.raynal@bootlin.com>,
Richard Weinberger <richard@nod.at>,
Vignesh Raghavendra <vigneshr@ti.com>,
yaliang.wang@windriver.com, Michael Walle <michael@walle.cc>
Subject: [PATCH v5 17/32] mtd: spi-nor: slightly refactor the spi_nor_setup()
Date: Wed, 23 Feb 2022 14:43:43 +0100 [thread overview]
Message-ID: <20220223134358.1914798-18-michael@walle.cc> (raw)
In-Reply-To: <20220223134358.1914798-1-michael@walle.cc>
Instead of always using a function pointer (and initializing it to our
default), just call the default function if the flash didn't set its own
one. That will make the call flow easier to follow.
Also mark the parameter as optional now.
Signed-off-by: Michael Walle <michael@walle.cc>
Reviewed-by: Tudor Ambarus <tudor.ambarus@microchip.com>
Reviewed-by: Pratyush Yadav <p.yadav@ti.com>
---
drivers/mtd/spi-nor/core.c | 10 +++++-----
drivers/mtd/spi-nor/core.h | 8 ++++----
2 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/drivers/mtd/spi-nor/core.c b/drivers/mtd/spi-nor/core.c
index 04ea180118e3..4d2036cdce42 100644
--- a/drivers/mtd/spi-nor/core.c
+++ b/drivers/mtd/spi-nor/core.c
@@ -2532,11 +2532,12 @@ static int spi_nor_setup(struct spi_nor *nor,
{
int ret;
- if (nor->params->setup) {
+ if (nor->params->setup)
ret = nor->params->setup(nor, hwcaps);
- if (ret)
- return ret;
- }
+ else
+ ret = spi_nor_default_setup(nor, hwcaps);
+ if (ret)
+ return ret;
return spi_nor_set_addr_width(nor);
}
@@ -2786,7 +2787,6 @@ static void spi_nor_init_default_params(struct spi_nor *nor)
params->quad_enable = spi_nor_sr2_bit1_quad_enable;
params->set_4byte_addr_mode = spansion_set_4byte_addr_mode;
- params->setup = spi_nor_default_setup;
params->otp.org = &info->otp_org;
/* Default to 16-bit Write Status (01h) Command */
diff --git a/drivers/mtd/spi-nor/core.h b/drivers/mtd/spi-nor/core.h
index 2afb610853a9..4fe16b5aa3f5 100644
--- a/drivers/mtd/spi-nor/core.h
+++ b/drivers/mtd/spi-nor/core.h
@@ -257,10 +257,10 @@ struct spi_nor_otp {
* @convert_addr: converts an absolute address into something the flash
* will understand. Particularly useful when pagesize is
* not a power-of-2.
- * @setup: configures the SPI NOR memory. Useful for SPI NOR
- * flashes that have peculiarities to the SPI NOR standard
- * e.g. different opcodes, specific address calculation,
- * page size, etc.
+ * @setup: (optional) configures the SPI NOR memory. Useful for
+ * SPI NOR flashes that have peculiarities to the SPI NOR
+ * standard e.g. different opcodes, specific address
+ * calculation, page size, etc.
* @locking_ops: SPI NOR locking methods.
*/
struct spi_nor_flash_parameter {
--
2.30.2
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
next prev parent reply other threads:[~2022-02-23 14:01 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-23 13:43 [PATCH v5 00/32] mtd: spi-nor: move vendor specific code into vendor modules Michael Walle
2022-02-23 13:43 ` [PATCH v5 01/32] mtd: spi-nor: atmel: unify function names Michael Walle
2022-02-23 13:43 ` [PATCH v5 02/32] mtd: spi-nor: catalyst: " Michael Walle
2022-02-23 13:43 ` [PATCH v5 03/32] mtd: spi-nor: eon: " Michael Walle
2022-02-23 13:43 ` [PATCH v5 04/32] mtd: spi-nor: esmt: " Michael Walle
2022-02-23 13:43 ` [PATCH v5 05/32] mtd: spi-nor: everspin: " Michael Walle
2022-02-23 13:43 ` [PATCH v5 06/32] mtd: spi-nor: fujitsu: " Michael Walle
2022-02-23 13:43 ` [PATCH v5 07/32] mtd: spi-nor: gigadevice: " Michael Walle
2022-02-23 13:43 ` [PATCH v5 08/32] mtd: spi-nor: intel: " Michael Walle
2022-02-23 13:43 ` [PATCH v5 09/32] mtd: spi-nor: issi: " Michael Walle
2022-02-23 13:43 ` [PATCH v5 10/32] mtd: spi-nor: macronix: " Michael Walle
2022-02-23 13:43 ` [PATCH v5 11/32] mtd: spi-nor: micron-st: " Michael Walle
2022-02-25 13:35 ` Tudor.Ambarus
2022-02-25 13:36 ` Tudor.Ambarus
2022-02-25 15:36 ` Tudor.Ambarus
2022-02-23 13:43 ` [PATCH v5 12/32] mtd: spi-nor: spansion: " Michael Walle
2022-02-23 13:43 ` [PATCH v5 13/32] mtd: spi-nor: sst: " Michael Walle
2022-02-23 13:43 ` [PATCH v5 14/32] mtd: spi-nor: winbond: " Michael Walle
2022-02-23 13:43 ` [PATCH v5 15/32] mtd: spi-nor: xilinx: " Michael Walle
2022-02-23 13:43 ` [PATCH v5 16/32] mtd: spi-nor: xmc: " Michael Walle
2022-02-23 13:43 ` Michael Walle [this message]
2022-02-23 13:43 ` [PATCH v5 18/32] mtd: spi-nor: allow a flash to define its own ready() function Michael Walle
2022-02-23 13:43 ` [PATCH v5 19/32] mtd: spi-nor: export more function to be used in vendor modules Michael Walle
2022-02-23 13:43 ` [PATCH v5 20/32] mtd: spi-nor: guard _page_size parameter in S3AN_INFO() Michael Walle
2022-02-23 13:43 ` [PATCH v5 21/32] mtd: spi-nor: move all xilinx specifics into xilinx.c Michael Walle
2022-02-23 13:43 ` [PATCH v5 22/32] mtd: spi-nor: xilinx: rename vendor specific functions and defines Michael Walle
2022-02-25 14:02 ` Tudor.Ambarus
2022-02-23 13:43 ` [PATCH v5 23/32] mtd: spi-nor: xilinx: correct the debug message Michael Walle
2022-02-23 13:43 ` [PATCH v5 24/32] mtd: spi-nor: move all micron-st specifics into micron-st.c Michael Walle
2022-02-23 13:43 ` [PATCH v5 25/32] mtd: spi-nor: micron-st: convert USE_FSR to a manufacturer flag Michael Walle
2022-02-23 13:43 ` [PATCH v5 26/32] mtd: spi-nor: micron-st: rename vendor specific functions and defines Michael Walle
2022-02-23 14:56 ` Pratyush Yadav
2022-02-25 14:03 ` Tudor.Ambarus
2022-02-25 15:36 ` Michael Walle
2022-02-25 15:38 ` Tudor.Ambarus
2022-02-23 13:43 ` [PATCH v5 27/32] mtd: spi-nor: spansion: slightly rework control flow in late_init() Michael Walle
2022-02-23 13:43 ` [PATCH v5 28/32] mtd: spi-nor: move all spansion specifics into spansion.c Michael Walle
2022-02-23 13:43 ` [PATCH v5 29/32] mtd: spi-nor: spansion: convert USE_CLSR to a manufacturer flag Michael Walle
2022-02-23 13:43 ` [PATCH v5 30/32] mtd: spi-nor: spansion: rename vendor specific functions and defines Michael Walle
2022-02-25 14:07 ` Tudor.Ambarus
2022-02-23 13:43 ` [PATCH v5 31/32] mtd: spi-nor: slightly change code style in spi_nor_sr_ready() Michael Walle
2022-02-25 14:08 ` Tudor.Ambarus
2022-02-23 13:43 ` [PATCH v5 32/32] mtd: spi-nor: renumber flags Michael Walle
2022-02-25 16:18 ` [PATCH v5 00/32] mtd: spi-nor: move vendor specific code into vendor modules 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=20220223134358.1914798-18-michael@walle.cc \
--to=michael@walle.cc \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mtd@lists.infradead.org \
--cc=miquel.raynal@bootlin.com \
--cc=p.yadav@ti.com \
--cc=richard@nod.at \
--cc=tudor.ambarus@microchip.com \
--cc=vigneshr@ti.com \
--cc=yaliang.wang@windriver.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