All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chee, Tien Fong <tien.fong.chee@intel.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v8 4/4] common: Generic firmware loader for file system
Date: Mon, 26 Feb 2018 06:20:40 +0000	[thread overview]
Message-ID: <1519626039.12632.4.camel@intel.com> (raw)
In-Reply-To: <17cbb393-3661-9735-4261-4c3e25f9237d@denx.de>

On Thu, 2018-02-22 at 15:28 +0100, Marek Vasut wrote:
> On 02/22/2018 09:18 AM, Chee, Tien Fong wrote:
> > 
> > On Thu, 2018-02-15 at 15:58 +0100, Marek Vasut wrote:
> > > 
> > > On 02/05/2018 08:06 AM, tien.fong.chee at intel.com wrote:
> > > > 
> > > > 
> > > > From: Tien Fong Chee <tien.fong.chee@intel.com>
> > > > 
> > > > This is file system generic loader which can be used to load
> > > > the file image from the storage into target such as memory.
> > > > The consumer driver would then use this loader to program
> > > > whatever,
> > > > ie. the FPGA device.
> > > > 
> > > > Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
> > > > Reviewed-by: Lothar Waßmann <LW@KARO-electronics.de>
> > > [...]
> > > 
> > > > 
> > > > 
> > > > +#include <common.h>
> > > > +#include <errno.h>
> > > > +#include <fs.h>
> > > > +#include <fs_loader.h>
> > > > +#include <nand.h>
> > > > +#include <sata.h>
> > > > +#include <spi.h>
> > > > +#include <spi_flash.h>
> > > > +#ifdef CONFIG_SPL
> > > Are the ifdefs needed ?
> > > 
> > Because spl.h contains some codes have its dependency with SPL. So,
> > Tom
> > adviced to make this part of code depend on CONFIG_SPL.
> > However, only __weak int init_mmc() depend on the codes from spl.h,
> > so
> > user can override their own init_mmc() if SPL is not used.
> You probably dont need those ifdefs around headers.
> 
> > 
> > > 
> > > > 
> > > > +#include <spl.h>
> > > > +#endif
> > > > +#include <linux/string.h>
> > > > +#ifdef CONFIG_CMD_UBIFS
> > > > +#include <ubi_uboot.h>
> > > > +#include <ubifs_uboot.h>
> > > > +#endif
> > > > +#include <usb.h>
> > > > +
> > > > +struct firmware_priv {
> > > > +	const char *name;	/* Filename */
> > > > +	u32 offset;		/* Offset of reading a file
> > > > */
> > > > +};
> > > > +
> > > > +static struct device_location default_locations[] = {
> > > > +	{
> > > > +		.name = "mmc",
> > > > +		.devpart = "0:1",
> > > > +	},
> > > > +	{
> > > > +		.name = "usb",
> > > > +		.devpart = "0:1",
> > > > +	},
> > > > +	{
> > > > +		.name = "sata",
> > > > +		.devpart = "0:1",
> > > > +	},
> > > How can this load from UBI if it's not listed here ?
> Well ?
> 
I can add ".name = ubi" and ".devpart = UBI" .
> [...]
> 
> > 
> > > 
> > > > 
> > > > +#ifdef CONFIG_SATA
> > > > +static int init_storage_sata(void)
> > > > +{
> > > > +	return sata_probe(0);
> > > Shouldn't the sata device number be pulled from devpart in
> > > default_locations table ?
> > > 
> > This may need to add the logic for splitting the device number and
> > partition into integer from the string. Let me think how to do it,
> > may
> > be i can leverage existing code.
> strtok(), strtol() or something ?
> 
yes, plan to use that.
> [...]
> 
> > 
> > > 
> > > > 
> > > > +#ifdef CONFIG_SPL
> > > > +	spl_mmc_find_device(&mmc, spl_boot_device());
> > > > +#else
> > > > +	debug("#define CONFIG_SPL is required or overrriding
> > > > %s\n",
> > > > +	      __func__);
> > > This can be a compile-time error, maybe ?
> > > 
> > No compile error. When you open the file, "%s\n" is actually same
> > line
> > with debug("..... .
> So what ? This missing macro can be detected at runtime, heck this
> code
> can even depend on CONFIG_SPL in Kconfig.
> 
Oh...I got you, i thought you means syntax error. So, i would remove it
and adding the depend on CONFIG_SPL in Kconfig.
> > 
> > > 
> > > > 
> > > > 
> > > > +	return -ENOENT;
> > > > +#endif
> > > > +
> > > > +	err = mmc_init(mmc);
> > > > +	if (err) {
> > > > +		debug("spl: mmc init failed with error: %d\n",
> > > > err);
> > > > +		return err;
> > > > +	}
> > > > +
> > > > +	return err;
> > > > +}
> > > > +#else
> > > > +__weak int init_mmc(void)
> > > > +{
> > > > +	/* Expect somewhere already initialize MMC */
> > > > +	return 0;
> > > > +}
> > > > +#endif
> > > [...]
> 

  parent reply	other threads:[~2018-02-26  6:20 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-05  7:06 [U-Boot] [PATCH v8 0/4] Generic firmware loader tien.fong.chee at intel.com
2018-02-05  7:06 ` [U-Boot] [PATCH v8 1/4] spl: Remove static declaration on spl_mmc_find_device function tien.fong.chee at intel.com
2018-02-15 14:58   ` Marek Vasut
2018-02-05  7:06 ` [U-Boot] [PATCH v8 2/4] cmd: ubifs: Move ubifs_initialized checking into cmd_ubifs_umount() tien.fong.chee at intel.com
2018-02-15 14:58   ` Marek Vasut
2018-02-05  7:06 ` [U-Boot] [PATCH v8 3/4] cmd: ubifs: Factor out some checking codes into cmd_ubifs_mount() tien.fong.chee at intel.com
2018-02-15 14:59   ` Marek Vasut
2018-02-22  6:04     ` Chee, Tien Fong
2018-02-05  7:06 ` [U-Boot] [PATCH v8 4/4] common: Generic firmware loader for file system tien.fong.chee at intel.com
2018-02-15 14:58   ` Marek Vasut
2018-02-22  8:18     ` Chee, Tien Fong
2018-02-22 14:28       ` Marek Vasut
2018-02-22 15:50         ` Tom Rini
2018-02-26  6:22           ` Chee, Tien Fong
2018-02-26  6:20         ` Chee, Tien Fong [this message]
2018-02-22  9:02   ` Lothar Waßmann
2018-02-26  6:24     ` Chee, Tien Fong
2018-02-15 10:22 ` [U-Boot] [PATCH v8 0/4] Generic firmware loader Chee, Tien Fong
2018-02-15 10:28 ` Chee, Tien Fong

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=1519626039.12632.4.camel@intel.com \
    --to=tien.fong.chee@intel.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 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.