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 v3 17/32] mtd: spi-nor: slightly refactor the spi_nor_setup()
Date: Mon, 21 Feb 2022 09:52:21 +0100 [thread overview]
Message-ID: <20220221085236.1452024-18-michael@walle.cc> (raw)
In-Reply-To: <20220221085236.1452024-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
next prev parent reply other threads:[~2022-02-21 8:55 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-21 8:52 [PATCH v3 00/32] mtd: spi-nor: move vendor specific code into vendor modules Michael Walle
2022-02-21 8:52 ` [PATCH v3 01/32] mtd: spi-nor: atmel: unify function names Michael Walle
2022-02-21 8:52 ` [PATCH v3 02/32] mtd: spi-nor: catalyst: " Michael Walle
2022-02-21 8:52 ` [PATCH v3 03/32] mtd: spi-nor: eon: " Michael Walle
2022-02-21 8:52 ` [PATCH v3 04/32] mtd: spi-nor: esmt: " Michael Walle
2022-02-21 8:52 ` [PATCH v3 05/32] mtd: spi-nor: everspin: " Michael Walle
2022-02-21 8:52 ` [PATCH v3 06/32] mtd: spi-nor: fujitsu: " Michael Walle
2022-02-21 8:52 ` [PATCH v3 07/32] mtd: spi-nor: gigadevice: " Michael Walle
2022-02-21 8:52 ` [PATCH v3 08/32] mtd: spi-nor: intel: " Michael Walle
2022-02-21 8:52 ` [PATCH v3 09/32] mtd: spi-nor: issi: " Michael Walle
2022-02-21 8:52 ` [PATCH v3 10/32] mtd: spi-nor: macronix: " Michael Walle
2022-02-21 8:52 ` [PATCH v3 11/32] mtd: spi-nor: micron-st: " Michael Walle
2022-02-21 8:52 ` [PATCH v3 12/32] mtd: spi-nor: spansion: " Michael Walle
2022-02-21 12:15 ` kernel test robot
2022-02-21 8:52 ` [PATCH v3 13/32] mtd: spi-nor: sst: " Michael Walle
2022-02-21 8:52 ` [PATCH v3 14/32] mtd: spi-nor: winbond: " Michael Walle
2022-02-21 8:52 ` [PATCH v3 15/32] mtd: spi-nor: xilinx: " Michael Walle
2022-02-21 8:52 ` [PATCH v3 16/32] mtd: spi-nor: xmc: " Michael Walle
2022-02-21 8:52 ` Michael Walle [this message]
2022-02-21 8:52 ` [PATCH v3 18/32] mtd: spi-nor: allow a flash to define its own ready() function Michael Walle
2022-02-21 8:52 ` [PATCH v3 19/32] mtd: spi-nor: export more function to be used in vendor modules Michael Walle
2022-02-21 8:52 ` [PATCH v3 20/32] mtd: spi-nor: guard _page_size parameter in S3AN_INFO() Michael Walle
2022-02-21 8:52 ` [PATCH v3 21/32] mtd: spi-nor: move all xilinx specifics into xilinx.c Michael Walle
2022-02-21 8:52 ` [PATCH v3 22/32] mtd: spi-nor: xilinx: rename vendor specific functions and defines Michael Walle
2022-02-21 8:52 ` [PATCH v3 23/32] mtd: spi-nor: xilinx: correct the debug message Michael Walle
2022-02-21 8:52 ` [PATCH v3 24/32] mtd: spi-nor: move all micron-st specifics into micron-st.c Michael Walle
2022-02-21 8:52 ` [PATCH v3 25/32] mtd: spi-nor: micron-st: convert USE_FSR to a manufacturer flag Michael Walle
2022-02-21 8:52 ` [PATCH v3 26/32] mtd: spi-nor: micron-st: rename vendor specific functions and defines Michael Walle
2022-02-21 8:52 ` [PATCH v3 27/32] mtd: spi-nor: spansion: slightly rework control flow in late_init() Michael Walle
2022-02-21 8:52 ` [PATCH v3 28/32] mtd: spi-nor: move all spansion specifics into spansion.c Michael Walle
2022-02-21 8:52 ` [PATCH v3 29/32] mtd: spi-nor: spansion: convert USE_CLSR to a manufacturer flag Michael Walle
2022-02-21 8:52 ` [PATCH v3 30/32] mtd: spi-nor: spansion: rename vendor specific functions and defines Michael Walle
2022-02-21 8:52 ` [PATCH v3 31/32] mtd: spi-nor: slightly change code style in spi_nor_sr_ready() Michael Walle
2022-02-21 8:52 ` [PATCH v3 32/32] mtd: spi-nor: renumber flags Michael Walle
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=20220221085236.1452024-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
all inboxes | Powered by JetHome®