linux-mtd.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Michael Walle <michael@walle.cc>
To: Tudor.Ambarus@microchip.com
Cc: linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org,
	p.yadav@ti.com, miquel.raynal@bootlin.com, richard@nod.at,
	vigneshr@ti.com
Subject: Re: [PATCH v1 11/14] mtd: spi-nor: spansion: slightly rework control flow in late_init()
Date: Thu, 10 Feb 2022 09:16:48 +0100	[thread overview]
Message-ID: <ced74caa2ad507615b9cf1645d10fa87@walle.cc> (raw)
In-Reply-To: <f004399f-36b0-2099-b2a0-8ab0ecd114b7@microchip.com>

Am 2022-02-10 04:26, schrieb Tudor.Ambarus@microchip.com:
> On 2/2/22 16:58, Michael Walle wrote:
>> EXTERNAL EMAIL: Do not click links or open attachments unless you know 
>> the content is safe
>> 
>> Increase readability of the code. Instead of returning early if the
>> flash size is smaller or equal than 16MiB and then do the fixups for
>> larger flashes, do it within the condition.
>> 
> 
> mm, no, I'm not sure this improves readability, I see the two 
> equivalent.
> The original version has the benefit of no indentation. Pratyush?

This is a preparation patch for 12/14, where the current version isn't
working anyway. If that is not enough reason why this is bad IMHO, I'll
give you two more.

I'd agree with you if that function was called
spansion_late_init_smaller_flashes() or something like that. But it is
a generic function valid for all flashes. And if you read it you might
get the impression there are only flashes smaller or equal than 16MiB.
You have to look twice to notice it was the intention that the
assignment afterwards are just for the smaller flashes (and you will
need to notice that there aren't any assignments for all spansion
flashes). There is no direct connection between the assignment and
the condition. Whereas with
   if (condition) {
     some_action();
   }
It is clear that some_action() was intended to only execute if
condition is true.

Also - and that is worse IMHO - it might easily be missed as someone
just add stuff to the end of the function which might goes unnoticed
but it won't work for flashes >16MiB.

-michael

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

  reply	other threads:[~2022-02-10  8:17 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-02 14:58 [PATCH v1 00/14] mtd: spi-nor: move vendor specific code into vendor modules Michael Walle
2022-02-02 14:58 ` [PATCH v1 01/14] mtd: spi-nor: export more function to be used in " Michael Walle
2022-02-10  3:13   ` Tudor.Ambarus
2022-02-15 18:30     ` Pratyush Yadav
2022-02-02 14:58 ` [PATCH v1 02/14] mtd: spi-nor: slightly refactor the spi_nor_setup() Michael Walle
2022-02-10  3:00   ` Tudor.Ambarus
2022-02-10  8:01     ` Michael Walle
2022-02-10  8:05       ` Tudor.Ambarus
2022-02-15 18:32   ` Pratyush Yadav
2022-02-02 14:58 ` [PATCH v1 03/14] mtd: spi-nor: allow a flash to define its own ready() function Michael Walle
2022-02-10  3:05   ` Tudor.Ambarus
2022-02-15 18:36     ` Pratyush Yadav
2022-02-02 14:58 ` [PATCH v1 04/14] mtd: spi-nor: move all xilinx specifics into xilinx.c Michael Walle
2022-02-10  3:04   ` Tudor.Ambarus
2022-02-15 18:57   ` Pratyush Yadav
2022-02-02 14:58 ` [PATCH v1 05/14] mtd: spi-nor: xilinx: rename vendor specific functions and defines Michael Walle
2022-02-02 17:14   ` kernel test robot
2022-02-02 20:07   ` kernel test robot
2022-02-10  3:08   ` Tudor.Ambarus
2022-02-10  8:04     ` Michael Walle
2022-02-10  8:06       ` Tudor.Ambarus
2022-02-15  8:25         ` Michael Walle
2022-02-15  8:52           ` Tudor.Ambarus
2022-02-15  9:58             ` Michael Walle
2022-02-15 10:12               ` Tudor.Ambarus
2022-02-15 19:04   ` Pratyush Yadav
2022-02-02 14:58 ` [PATCH v1 06/14] mtd: spi-nor: xilinx: correct the debug message Michael Walle
2022-02-10  3:11   ` Tudor.Ambarus
2022-02-15 19:05     ` Pratyush Yadav
2022-02-02 14:58 ` [PATCH v1 07/14] mtd: spi-nor: move all micron-st specifics into micron-st.c Michael Walle
2022-02-10  3:18   ` Tudor.Ambarus
2022-02-15 19:13   ` Pratyush Yadav
2022-02-02 14:58 ` [PATCH v1 08/14] mtd: spi-nor: micron-st: convert USE_FSR to a manufacturer flag Michael Walle
2022-02-10  3:37   ` Tudor.Ambarus
2022-02-15 19:16     ` Pratyush Yadav
2022-02-02 14:58 ` [PATCH v1 09/14] mtd: spi-nor: micron-st: fix micron_st prefix Michael Walle
2022-02-10  3:23   ` Tudor.Ambarus
2022-02-15 19:16   ` Pratyush Yadav
2022-02-02 14:58 ` [PATCH v1 10/14] mtd: spi-nor: micron-st: rename vendor specific functions and defines Michael Walle
2022-02-10  3:23   ` Tudor.Ambarus
2022-02-02 14:58 ` [PATCH v1 11/14] mtd: spi-nor: spansion: slightly rework control flow in late_init() Michael Walle
2022-02-10  3:26   ` Tudor.Ambarus
2022-02-10  8:16     ` Michael Walle [this message]
2022-02-10  8:42       ` Tudor.Ambarus
2022-02-14 18:59     ` Pratyush Yadav
2022-02-02 14:58 ` [PATCH v1 12/14] mtd: spi-nor: move all spansion specifics into spansion.c Michael Walle
2022-02-02 18:15   ` kernel test robot
2022-02-02 20:07   ` kernel test robot
2022-02-02 21:38   ` [RFC PATCH] mtd: spi-nor: spi_nor_sr_ready_and_clear() can be static kernel test robot
2022-02-02 21:48   ` [PATCH v1 12/14] mtd: spi-nor: move all spansion specifics into spansion.c kernel test robot
2022-02-10  3:32   ` Tudor.Ambarus
2022-02-15 19:23     ` Pratyush Yadav
2022-02-02 14:58 ` [PATCH v1 13/14] mtd: spi-nor: spansion: convert USE_CLSR to a manufacturer flag Michael Walle
2022-02-10  3:34   ` Tudor.Ambarus
2022-02-15 19:25     ` Pratyush Yadav
2022-02-02 14:58 ` [PATCH v1 14/14] mtd: spi-nor: renumber flags Michael Walle
2022-02-10  3:38   ` Tudor.Ambarus
2022-02-15 19:27   ` Pratyush Yadav
2022-02-10  3:42 ` [PATCH v1 00/14] mtd: spi-nor: move vendor specific code into vendor modules Tudor.Ambarus
2022-02-17  7:31 ` 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=ced74caa2ad507615b9cf1645d10fa87@walle.cc \
    --to=michael@walle.cc \
    --cc=Tudor.Ambarus@microchip.com \
    --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=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).