public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Boris Brezillon <boris.brezillon@bootlin.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v3 25/28] cmd: nand/sf: isolate legacy code
Date: Wed, 5 Dec 2018 11:37:54 +0100	[thread overview]
Message-ID: <20181205113754.3d0272ef@bbrezillon> (raw)
In-Reply-To: <20181204235714.11805-26-miquel.raynal@bootlin.com>

On Wed,  5 Dec 2018 00:57:11 +0100
Miquel Raynal <miquel.raynal@bootlin.com> wrote:

> The 'sf' command is not supposed to rely on the MTD stack, but both
> 'sf' and 'nand' commands use helpers located in mtd_uboot.c. Despite
> their location, these functions do not depend at all on the MTD
> stack.
> 
> This file (drivers/mtd/mtd_uboot.c) is only compiled if CONFIG_MTD is
> selected, which is incoherent with the current situation. Solve this

		     ^inconsistent

> by mobing these three functions (which are only used by the above two

     ^ moving

> commands) out of mtd_uboot.c and put them in a C file only compiled
> with cmd/sf.c and cmd/nand.c.
> 
> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
> ---
>  cmd/Makefile            |  4 +-
>  cmd/legacy-mtd-utils.c  | 99 +++++++++++++++++++++++++++++++++++++++++
>  cmd/legacy-mtd-utils.h  | 14 ++++++
>  cmd/nand.c              |  2 +
>  cmd/sf.c                |  2 +
>  drivers/mtd/mtd_uboot.c | 94 --------------------------------------
>  include/linux/mtd/mtd.h |  6 ---
>  7 files changed, 119 insertions(+), 102 deletions(-)
>  create mode 100644 cmd/legacy-mtd-utils.c
>  create mode 100644 cmd/legacy-mtd-utils.h
> 
> diff --git a/cmd/Makefile b/cmd/Makefile
> index 0534ddc679..54c54c062d 100644
> --- a/cmd/Makefile
> +++ b/cmd/Makefile
> @@ -94,7 +94,7 @@ obj-$(CONFIG_CMD_MMC_SPI) += mmc_spi.o
>  obj-$(CONFIG_MP) += mp.o
>  obj-$(CONFIG_CMD_MTD) += mtd.o
>  obj-$(CONFIG_CMD_MTDPARTS) += mtdparts.o
> -obj-$(CONFIG_CMD_NAND) += nand.o
> +obj-$(CONFIG_CMD_NAND) += nand.o legacy-mtd-utils.o
>  obj-$(CONFIG_CMD_NET) += net.o
>  obj-$(CONFIG_CMD_ONENAND) += onenand.o
>  obj-$(CONFIG_CMD_OSD) += osd.o
> @@ -115,7 +115,7 @@ obj-$(CONFIG_CMD_ROCKUSB) += rockusb.o
>  obj-$(CONFIG_SANDBOX) += host.o
>  obj-$(CONFIG_CMD_SATA) += sata.o
>  obj-$(CONFIG_CMD_NVME) += nvme.o
> -obj-$(CONFIG_CMD_SF) += sf.o
> +obj-$(CONFIG_CMD_SF) += sf.o legacy-mtd-utils.o

That won't work if you enable both CMD_SF and CMD_NAND. The linker will
complain that some symbols are duplicated.

Either you add a new hidden Kconfig option that is selected by CMD_NAND
and CMD_SF, or you use the ifeq trick:

ifeq (,$(findstring y,$(CONFIG_CMD_NAND)$(CONFIG_CMD_SF)))
obj-y += legacy-mtd-utils.o
endif

  reply	other threads:[~2018-12-05 10:37 UTC|newest]

Thread overview: 83+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-04 23:56 [U-Boot] [PATCH v3 00/28] MTD defconfigs/Kconfigs/Makefiles heavy cleanup Miquel Raynal
2018-12-04 23:56 ` [U-Boot] [PATCH v3 01/28] Makefile: move MTD-related lines in coherent Makefiles Miquel Raynal
2018-12-05  8:44   ` Boris Brezillon
2018-12-04 23:56 ` [U-Boot] [PATCH v3 02/28] mtd: rename CONFIG_NAND -> CONFIG_MTD_RAW_NAND Miquel Raynal
2018-12-05  8:37   ` Boris Brezillon
2018-12-04 23:56 ` [U-Boot] [PATCH v3 03/28] mtd: rename CONFIG_MTD -> CONFIG_DM_MTD Miquel Raynal
2018-12-05  8:38   ` Boris Brezillon
2018-12-04 23:56 ` [U-Boot] [PATCH v3 04/28] mtd: rename CONFIG_MTD_DEVICE -> CONFIG_MTD Miquel Raynal
2018-12-05  8:38   ` Boris Brezillon
2018-12-04 23:56 ` [U-Boot] [PATCH v3 05/28] mtd: ensure MTD is compiled when there is a NOR flash Miquel Raynal
2018-12-05  8:39   ` Boris Brezillon
2018-12-05 12:11   ` Wolfgang Denk
2018-12-04 23:56 ` [U-Boot] [PATCH v3 06/28] mtd: ensure MTD/the raw NAND core are compiled when there is a NAND flash Miquel Raynal
2018-12-05  9:20   ` Boris Brezillon
2018-12-05 12:09   ` Wolfgang Denk
2018-12-04 23:56 ` [U-Boot] [PATCH v3 07/28] mtd: ensure MTD is compiled when there is a SPI NOR flash using MTD Miquel Raynal
2018-12-05  5:58   ` Vignesh R
2018-12-05  7:43     ` Miquel Raynal
2018-12-05  9:21   ` Boris Brezillon
2018-12-04 23:56 ` [U-Boot] [PATCH v3 08/28] mtd: ensure UBI is compiled when using fastmap Miquel Raynal
2018-12-05  9:33   ` Boris Brezillon
2018-12-04 23:56 ` [U-Boot] [PATCH v3 09/28] mtd: ensure MTD is compiled when UBI is used Miquel Raynal
2018-12-05  9:34   ` Boris Brezillon
2018-12-04 23:56 ` [U-Boot] [PATCH v3 10/28] mtd: ensure UBI is compiled when CMD_UBI is selected Miquel Raynal
2018-12-05  9:35   ` Boris Brezillon
2018-12-04 23:56 ` [U-Boot] [PATCH v3 11/28] mtd: ensure UBI is compiled when ENV_IS_IN_UBI " Miquel Raynal
2018-12-05  9:35   ` Boris Brezillon
2018-12-04 23:56 ` [U-Boot] [PATCH v3 12/28] mtd: ensure MTD_RAW_NAND is compiled when ENV_IS_IN_NAND " Miquel Raynal
2018-12-05  9:37   ` Boris Brezillon
2018-12-04 23:56 ` [U-Boot] [PATCH v3 13/28] mtd: ensure MTD is compiled when ENV_IS_IN_FLASH " Miquel Raynal
2018-12-05  9:46   ` Boris Brezillon
2018-12-05 12:06   ` Wolfgang Denk
2018-12-05 14:32     ` Miquel Raynal
2018-12-05 15:40       ` Schrempf Frieder
2018-12-06  8:10         ` Wolfgang Denk
2018-12-06  8:06       ` Wolfgang Denk
2018-12-06  9:00         ` Boris Brezillon
2018-12-06  9:32           ` Wolfgang Denk
2018-12-06 15:23             ` Miquel Raynal
2018-12-06 15:59               ` Tom Rini
2018-12-06 16:19                 ` Simon Goldschmidt
2018-12-09  8:41                   ` Vignesh R
2018-12-07 11:09                 ` Miquel Raynal
2018-12-07 14:07                   ` Tom Rini
2018-12-08 15:42               ` Wolfgang Denk
2018-12-04 23:57 ` [U-Boot] [PATCH v3 14/28] mtd: ensure CMD_NAND is compiled when its options are selected Miquel Raynal
2018-12-05 10:01   ` Boris Brezillon
2018-12-04 23:57 ` [U-Boot] [PATCH v3 15/28] mtd: ensure MTD is compiled when CMD_MTDPARTS is selected Miquel Raynal
2018-12-05 10:12   ` Boris Brezillon
2018-12-04 23:57 ` [U-Boot] [PATCH v3 16/28] configs: move CONFIG_MTD in defconfigs when set in arch includes Miquel Raynal
2018-12-05 10:17   ` Boris Brezillon
2018-12-05 10:53     ` Miquel Raynal
2018-12-05 11:25     ` Miquel Raynal
2018-12-04 23:57 ` [U-Boot] [PATCH v3 17/28] configs: remove raw NAND core from k2g defconfigs Miquel Raynal
2018-12-05 10:19   ` Boris Brezillon
2018-12-05 10:55     ` Miquel Raynal
2018-12-04 23:57 ` [U-Boot] [PATCH v3 18/28] configs: remove MTD support from bcm11130 and M54418TWR defconfigs Miquel Raynal
2018-12-05 10:21   ` Boris Brezillon
2018-12-04 23:57 ` [U-Boot] [PATCH v3 19/28] mtd: nand: add includes in NAND core to avoid warnings Miquel Raynal
2018-12-05 10:26   ` Boris Brezillon
2018-12-04 23:57 ` [U-Boot] [PATCH v3 20/28] dfu: add dependency on the NAND core Miquel Raynal
2018-12-05 10:27   ` Boris Brezillon
2018-12-04 23:57 ` [U-Boot] [PATCH v3 21/28] mtd: nor: NOR flashes depend on MTD Miquel Raynal
2018-12-05 10:31   ` Boris Brezillon
2018-12-05 11:20     ` Miquel Raynal
2018-12-05 12:13   ` Wolfgang Denk
2018-12-04 23:57 ` [U-Boot] [PATCH v3 22/28] mtd: nand: remove dependency on commands in Kconfig Miquel Raynal
2018-12-05 10:29   ` Boris Brezillon
2018-12-04 23:57 ` [U-Boot] [PATCH v3 23/28] mtd: ubi: remove dependency on command " Miquel Raynal
2018-12-05 10:39   ` Boris Brezillon
2018-12-04 23:57 ` [U-Boot] [PATCH v3 24/28] cmd: mtdparts: show Kconfig options only if the command is selected Miquel Raynal
2018-12-05 10:16   ` Boris Brezillon
2018-12-04 23:57 ` [U-Boot] [PATCH v3 25/28] cmd: nand/sf: isolate legacy code Miquel Raynal
2018-12-05 10:37   ` Boris Brezillon [this message]
2018-12-05 10:53     ` Thomas Petazzoni
2018-12-05 11:15       ` Miquel Raynal
2018-12-04 23:57 ` [U-Boot] [PATCH v3 26/28] cmd: make MTD commands depend on MTD Miquel Raynal
2018-12-05 10:42   ` Boris Brezillon
2018-12-05 10:48     ` Miquel Raynal
2018-12-05 10:49       ` Boris Brezillon
2018-12-04 23:57 ` [U-Boot] [PATCH v3 27/28] mtd: simplify Makefile Miquel Raynal
2018-12-04 23:57 ` [U-Boot] [PATCH v3 28/28] mtd: properly handle SPL kbuild lines Miquel Raynal
2018-12-05 10:47   ` Boris Brezillon

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=20181205113754.3d0272ef@bbrezillon \
    --to=boris.brezillon@bootlin.com \
    --cc=u-boot@lists.denx.de \
    /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