public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Ilya Bakulin <ilya@bakulin.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] Fix device detection for API consumers
Date: Sun, 19 May 2013 12:09:19 +0200	[thread overview]
Message-ID: <20130519100919.GA47317@olymp.kibab.com> (raw)

Hi list,
I use U-Boot for starting FreeBSD/arm on Globalscale DreamPlug.
On this platform FreeBSD uses "ubldr" second-stage bootloader, which is
an U-Boot API consumer and uses U-Boot API to access block devices, network, etc.
Dreamplug has several block devices accessible: internal SD card, SD card reader,
and any number of USB-attached mass storage devices.

But when I boot ubldr, I can see only one block device.

I have traced down the problem and it seems to be in U-Boot API. When doing
block device enumeration, the "more" flag is not set properly on first access.

This patch fixes the problem for me. After applying the patch, FreeBSD ubldr
is able to see and access all block devices that U-Boot self knows.

diff --git a/api/api_storage.c b/api/api_storage.c
index c535712..1147e79 100644
--- a/api/api_storage.c
+++ b/api/api_storage.c
@@ -129,6 +129,9 @@ static int dev_stor_get(int type, int first, int *more, struct device_info *di)
 		else
 			found = 1;
 
+		if (specs[type].max_dev > 1)
+			*more = 1;
+
 	} else {
 		for (i = 0; i < specs[type].max_dev; i++)
 			if (di->cookie == (void *)get_dev(specs[type].name, i)) {

             reply	other threads:[~2013-05-19 10:09 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-19 10:09 Ilya Bakulin [this message]
2013-05-21 18:14 ` [U-Boot] [PATCH] Fix device detection for API consumers Jeroen Hofstee

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=20130519100919.GA47317@olymp.kibab.com \
    --to=ilya@bakulin.de \
    --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