On 2022-09-26 01:52:37 +0200, Marek Vasut wrote:
> On 8/29/22 08:31, Janne Grunau wrote:
> > Fixes probing of various keyboards with DWC3 as integrated into Apple
> > silicon SoCs. The problem appears to be requesting more data than the
> > devices's bMaxPacketSize0 of 8. Older Logitech unifying
On 2022-08-10 21:54:22 +0200, Janne Grunau wrote:
> Fixes a crash during probing of sd card readers without medium present.
>
> Link: https://github.com/AsahiLinux/linux/issues/44
> Link: https://lists.denx.de/pipermail/u-boot/2022-July/489717.html
> Signed-off-by: Janne Grunau
> ---
> Changes
Hi Michael,
On 2022/9/24 21:36, Michael Trimarchi wrote:
The max size is defined at architectural level. On the same commit
I have checked mostly all the other architecture and look like they are
So how is this TPL_MAX_SIZE or SPL_PAD_TO is defined for rockchip platform?
This value should be
On Thu, Sep 15, 2022 at 3:17 AM Sughosh Ganu wrote:
> diff --git a/include/fwu.h b/include/fwu.h
> index 484289ed4f..d5f77ce83c 100644
> --- a/include/fwu.h
> +++ b/include/fwu.h
> @@ -256,4 +256,17 @@ int fwu_plat_get_update_index(uint *update_idx);
> *
> */
> void
On Thu, Sep 15, 2022 at 3:15 AM Sughosh Ganu wrote:
> +/**
> + * @mdata_check: check the validity of the FWU metadata partitions
> + * @get_mdata() - Get a FWU metadata copy
> + * @update_mdata() - Update the FWU metadata copy
> + */
> +struct fwu_mdata_ops {
> + /**
> +*
On Thu, Sep 15, 2022 at 3:17 AM Sughosh Ganu wrote:
> +
> +static __maybe_unused void fwu_post_update_checks(
> + struct efi_capsule_header *capsule,
> + bool *fw_accept_os, bool *capsule_update)
> +{
> + if (fwu_empty_capsule(capsule))
> + *capsule_update =
On Thu, Sep 15, 2022 at 3:16 AM Sughosh Ganu wrote:
> diff --git a/drivers/fwu-mdata/Kconfig b/drivers/fwu-mdata/Kconfig
> new file mode 100644
> index 00..7322da48b1
> --- /dev/null
> +++ b/drivers/fwu-mdata/Kconfig
> @@ -0,0 +1,16 @@
> +config FWU_MDATA
> + bool "Driver support
One outstanding driver and one bugfix.
The following changes since commit 435596d57f8beedf36b5dc858fe7ba9d6c03334b:
Merge tag 'u-boot-imx-20220922' of
https://gitlab.denx.de/u-boot/custodians/u-boot-imx (2022-09-22 10:29:29
-0400)
are available in the Git repository at:
On Sun, Sep 25, 2022 at 03:15:51PM -0600, Simon Glass wrote:
> Hi Tom,
>
> https://source.denx.de/u-boot/custodians/u-boot-dm/-/pipelines/13590
>
> (this is for -next)
>
> The following changes since commit 81da5042e514bfd27516d3530dde4d62a6708ca4:
>
> Merge branch
Hi Simon,
On Sun, Sep 25, 2022 at 09:02:17AM -0600, Simon Glass wrote:
> At present we have functions called blk_dread(), etc., which take a
> struct blk_desc * to refer to the block device. Add some functions which
> use udevice instead, since this is more in keeping with how driver model
> is
On Sun, Sep 25, 2022 at 08:15:36AM -0600, Simon Glass wrote:
> Hi,
>
> On Fri, 23 Sept 2022 at 01:08, Ilias Apalodimas
> wrote:
> >
> > On Thu, 15 Sept 2022 at 23:02, Heinrich Schuchardt
> > wrote:
> > >
> > > Fill the media ID in the block IO protocol from the block device
> > > descriptor
>
On 8/29/22 08:31, Janne Grunau wrote:
Fixes probing of various keyboards with DWC3 as integrated into Apple
silicon SoCs. The problem appears to be requesting more data than the
devices's bMaxPacketSize0 of 8. Older Logitech unifying receivers
(bcdDevice 12.03 or 12.10) are for eaxample
On 9/22/22 06:01, Alison Huffman wrote:
When processing USB_REQ_CLEAR_FEATURE, USB_REQ_SET_FEATURE, and
USB_REQ_GET_STATUS packets in dwc2_ep0_setup an out of bounds access
can occur. This is caused by the wIndex field of the usb control packet
being used as an index into an array whose size is
On 9/25/22 16:46, Christian Kohlschütter wrote:
When detecting USB storage devices, we currently skip everything that is
not marked as "undefined device class".
Composite devices such as tinyusb's CDC+MSC identify as "miscellaneous"
(class 0xEF).
Introduce a new constant, USB_CLASS_MISC
Hi Tom,
https://source.denx.de/u-boot/custodians/u-boot-dm/-/pipelines/13590
(this is for -next)
The following changes since commit 81da5042e514bfd27516d3530dde4d62a6708ca4:
Merge branch '2022-09-24-add-console-flush' into next (2022-09-24
13:58:49 -0400)
are available in the Git repository
On Sun, Sep 25, 2022 at 08:15:31AM -0600, Simon Glass wrote:
> Hi Michal,
>
> On Sat, 24 Sept 2022 at 14:10, Michal Suchánek wrote:
> >
> > Hello,
> >
> > On Sat, Sep 17, 2022 at 07:04:25PM +0200, Michal Suchánek wrote:
> > > Hello,
> > >
> > > On Sat, Sep 17, 2022 at 09:02:53AM -0600, Simon
This series provides an implementation of VBE from TPL through to U-Boot
proper, using VBE to load the relevant firmware stages. It builds a single
image.bin file containing all the phases:
TPL - initial phase, loads VPL using binman symbols
VPL - main firmware phase, loads SPL using VBE
When detecting USB storage devices, we currently skip everything that is
not marked as "undefined device class".
Composite devices such as tinyusb's CDC+MSC identify as "miscellaneous"
(class 0xEF).
Introduce a new constant, USB_CLASS_MISC (0xEF), and allow the detection
process to proceed for
Hello,
this patch series fixes the simple uclass iterators to be usable for
iterating uclasses even if some devices fail to probe.
Before this series when a probe error happens an error is returned
without any device pointer, and iteration cannot continue to devices
that happen to be after the
Use the correct SPL_TPL_ variable so that these features can be enabled in
TPL and VPL as needed.
Note that the default for TPL is y since some boards boot via MMC, so
this addds 137 bytes on rockchip firefly-rk3288 for example.
Other boards which enable BLK in TPL are:
chromebook_coral
Add an SPL loader to obtain the next-phase binary from a FIT provided
by the VBE driver.
Signed-off-by: Simon Glass
---
arch/sandbox/cpu/spl.c | 3 +-
arch/sandbox/include/asm/spl.h | 1 +
boot/Makefile | 1 +
boot/vbe_request.c | 2 +-
After further development this seems to be useful for debugging and
testing. Add documentation and a test.
Signed-off-by: Simon Glass
---
doc/usage/cmd/vbe.rst | 90 +++
doc/usage/index.rst | 1 +
test/boot/Makefile| 1 +
test/boot/vbe.c |
Move this into its own file so it can be built only by U-Boot proper.
Signed-off-by: Simon Glass
---
boot/Makefile| 1 +
boot/vbe_simple.c| 102 +--
boot/vbe_simple.h| 34 +++
boot/vbe_simple_os.c
Enable the various features needed in VPL, by adding Kconfig options.
Update the defconfig for sandbox_vpl so that the build for each phase
includes what is needed. Drop LZMA for now and make sure partition support
is omitted in SPL, since it is not needed.
Fix up the sandbox_vpl setings so that
Add a test which checks that VBE boots correctly from TPL through to
U-Boot proper. This works by attaching the image.bin file to mmc3 so
that it is accessible to sandbox_vpl. We don't want to include this
in the generic sandbox build, since that image is of zero size and
cannot be mapped with
VBE supports booting firmware during the SPL phases, i.e. so that VPL can
start SPL, then SPL can start U-Boot.
It also supports booting an OS, when in U-Boot.
As a first step towards these features, add functions to indicate the
current VBE phase. The firmware selection is done in VPL and the
Add a VBE command which shows the current state. Currently this is just
the phases which booted via VBE.
Signed-off-by: Simon Glass
---
cmd/vbe.c | 30 +-
doc/usage/cmd/vbe.rst | 13 +
include/spl.h | 2 ++
test/boot/vbe.c | 28
The vbe_fixup file handles device tree fixups, but these are called OS
requests in VBE. Rename the file to reflect its wider purpose.
Signed-off-by: Simon Glass
---
boot/Makefile | 2 +-
boot/{vbe_fixup.c => vbe_request.c} | 2 +-
test/py/tests/test_event_dump.py| 2
gcc 12 seems to warn on strncpy() as a matter of course. Rewrite the code
a different way to do the same thing, to avoid the warning.
Signed-off-by: Simon Glass
---
include/image.h | 8 +++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/include/image.h b/include/image.h
Use a manual test for the VBE test, so we can make the pytest and the
C unit test work together properly.
Signed-off-by: Simon Glass
---
test/boot/vbe_fixup.c | 19 ---
test/py/tests/test_vbe.py | 7 ++-
2 files changed, 10 insertions(+), 16 deletions(-)
diff --git
We expect VPL and SPL to load using VBE. Add a record of this so we can
check it in U-Boot proper.
Signed-off-by: Simon Glass
---
boot/vbe_simple_fw.c | 10 ++
include/bloblist.h | 1 +
include/vbe.h| 9 +
3 files changed, 20 insertions(+)
diff --git
Fix these before adding to the test.
Signed-off-by: Simon Glass
---
test/py/tests/test_vbe.py | 22 +-
1 file changed, 13 insertions(+), 9 deletions(-)
diff --git a/test/py/tests/test_vbe.py b/test/py/tests/test_vbe.py
index 559c2918868..a39cf0b31c6 100644
---
Add support for filtering out FIT configs by phase. Rather than adding yet
another argument to this already overloaded function, use a composite
value, where the phase is only added in if needed.
Tests for this come in a little later, as part of the updated VPL test.
Signed-off-by: Simon Glass
Use binman to build an image which includes all the U-Boot phases so that
a full VBE boot can take place with just that image.bin file.
VBE is used to load images in two phases:
- In VPL, VBE decides which SPL image to load
- In SPL, VBE decides which U-Boot image to load
The latter
At present we put the driver in the /chosen node in U-Boot. This is a bit
strange, since U-Boot doesn't normally use that node itself. It is better
to put it under the bootstd node.
To make this work we need to copy the node to appear under /chosen when
fixing up the device tree. Copy over all
We don't need the U-Boot prefix on the version and in fact it is harmful
since pytest gets confused seeing the U-Boot banner bring displayed when
the version is printed.
Drop the prefix from the string.
We could produce an entirely new string from the component parts, but this
adds to the rodata
Some tests currently return 0 when they want to be skipped. Update them to
return -EAGAIN instead, so they are counted as skipped.
A few tests are in two parts, with the latter part being skipped in
certain situations. Split these into two and use the correct condition for
the second part.
At present sandbox runs the next phase from discrete executables, so for
example u-boot-tpl runs u-boot-vpl to get to the next phase.
In some cases the phases are all built into a single firmware image, as is
done for real boards. Add support for this to sandbox.
Make it higher priority so that
Optional requests should present a warning rather than an error. Update
the log call.
Signed-off-by: Simon Glass
---
boot/vbe_request.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/boot/vbe_request.c b/boot/vbe_request.c
index 935505dd421..01f7a24d316 100644
---
At present we normally write tests either in Python or in C. But most
Python tests end up doing a lot of checks which would be better done in C.
Checks done in C are orders of magnitude faster and it is possible to get
full access to U-Boot's internal workings, rather than just relying on
the
At present it is possible for a test to skip itself by returning -EAGAIN
but this is not recorded.
Keep a track of skipped tests and report the total at the end.
Signed-off-by: Simon Glass
---
include/test/test.h | 2 ++
test/test-main.c| 23 ---
2 files changed, 22
At present we only support a single loader of each time. Extra ones are
ignored. This means that only one BOOT_DEVICE_BOARD can be used in the SPL
image.
This is inconvenient since we sometimes want to provide several
board-specific drivers, albeit at different priorties. Add support for
this.
We want to be able to mark a configuration as relataed to a phase, so we
can easily load all the images for SPL or for U-Boot proper.
Add this to the FIT specification, along with some access functions.
Signed-off-by: Simon Glass
---
boot/image.c | 18 +++
include/image.h|
Move this comment to the header file, where the APIs should be defined.
Signed-off-by: Simon Glass
---
boot/image-fit.c | 43 ---
include/image.h | 43 +++
2 files changed, 43 insertions(+), 43 deletions(-)
diff
At present sandbox only supports jumping to a file, to get to the next
U-Boot phase. We want to support other methods, so update the code to
use an enum for the method.
Use board_boot_order() to set the order, so we can add more options.
Also add the MMC methods into the BOOT_DEVICE enum so that
Add a function to init a bootflow, to reduce code duplication.
Signed-off-by: Simon Glass
---
boot/bootdev-uclass.c | 5 +
boot/bootflow.c| 9 +
boot/bootmeth-uclass.c | 5 +
include/bootflow.h | 12
4 files changed, 23 insertions(+), 8 deletions(-)
At present the sandbox executable is assumed to be arg[0] but this only
works for a single jump (e.g. from SPL to U-Boot). Add a new arg to solve
this issue, along with a detailed comment.
Signed-off-by: Simon Glass
---
arch/sandbox/cpu/start.c | 30 ++
This happens every time sandbox moves to the next phase so is not very
interesting. Display the message only when debugging.
Signed-off-by: Simon Glass
---
arch/sandbox/cpu/state.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/sandbox/cpu/state.c
At present we have functions called blk_dread(), etc., which take a
struct blk_desc * to refer to the block device. Add some functions which
use udevice instead, since this is more in keeping with how driver model
is supposed to work.
Update one of the tests to use this.
Signed-off-by: Simon
When MMC_WRITE is disabled this driver produced a build error. Fix this.
Also update a comment while we are here.
Signed-off-by: Simon Glass
---
drivers/mmc/sandbox_mmc.c | 10 --
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/drivers/mmc/sandbox_mmc.c
Add test coverage for blk_write() as well.
The blk_erase() is not tested for now as the USB stor interface does not
support erase.
Signed-off-by: Simon Glass
---
drivers/scsi/scsi_emul.c | 9
drivers/usb/emul/sandbox_flash.c | 35
Move this code into its own function so it can be used from tests.
Signed-off-by: Simon Glass
---
tools/binman/etype/section.py | 60 ++-
1 file changed, 45 insertions(+), 15 deletions(-)
diff --git a/tools/binman/etype/section.py
In some cases we may package the ELF version of SPL builds instead of the
binary .bin file. Add support for this.
Signed-off-by: Simon Glass
---
tools/binman/elf.py | 41 +++
tools/binman/entry.py | 5 ++-
tools/binman/etype/section.py
This feature is used by several etypes and we plan to add more that use
it. Make symbol writing a feature of the base class to reduce the code
duplication.
Signed-off-by: Simon Glass
---
tools/binman/entry.py | 13 +++--
tools/binman/etype/blob.py | 5
Provide a function to obtain the integer value of an ELF symbol. This will
be used from tests to check that the symbols are correct.
Signed-off-by: Simon Glass
---
tools/binman/elf.py | 53 ++---
1 file changed, 45 insertions(+), 8 deletions(-)
diff
Add options to allow silent console to be controlled separately in SPL,
so that boot progress can be shown. Disable it by default for sandbox
since it is useful to see what is going on there.
Signed-off-by: Simon Glass
---
common/Kconfig | 22 ++
common/spl/spl.c | 2 +-
Binman needs this module to build sandbox_vpl so install it in the
before_script and in the world build. The existing pip install is too
late for the buildman invocation.
Add it to the docker file for the future.
Signed-off-by: Simon Glass
---
.gitlab-ci.yml | 2 ++
This function is quite long and does two separate things: init and
booting. Split it into two.
Signed-off-by: Simon Glass
---
common/spl/spl.c | 64
1 file changed, 49 insertions(+), 15 deletions(-)
diff --git a/common/spl/spl.c
The expression in boot_from_devices() is fairly long. Move it into a
function with a suitable comment.
Signed-off-by: Simon Glass
---
common/spl/spl.c | 16 +---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/common/spl/spl.c b/common/spl/spl.c
index
At present we use symbols for the u-boot-spl entry, but this is not always
what we want. For example, sandbox actually jumps to a u-boot-spl-elf
entry, since sandbox executables are ELF files.
We already handle this with U-Boot by using the '-any' suffix. Add it for
SPL as well.
Signed-off-by:
With gcc 12 we ge the following warning:
In file included from tools/lib/rsa/rsa-verify.c:1:
lib/rsa/rsa-verify.c:275:11: warning: ‘*db’ may be used uninitialized
275 | db[0] &= 0xff >> leftmost_bits;
Check the value of db_len to ensure this cannot happen.
Signed-off-by: Simon Glass
This is monstrously verbose when something goes wrong. It should work by
recording the problem and reporting it (once) at the command level. At
present it sometimes outputs hundreds of lines of CRC mismatches.
For now, just silence it all.
GUID Partition Table Entry Array CRC is wrong:
Disable debugging by default since this implementation is stable now.
Signed-off-by: Simon Glass
---
common/bloblist.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/common/bloblist.c b/common/bloblist.c
index 8488663354b..0d63b6e8817 100644
--- a/common/bloblist.c
+++ b/common/bloblist.c
From: Tien Fong Chee
Unexpected behavior and error can occur if FPGA is accessed in unknown
state.Always checking with FPGA in user mode is required to ensure
system stability.
Signed-off-by: Tien Fong Chee
Signed-off-by: Teik Heng Chong
---
arch/arm/mach-socfpga/misc_arria10.c | 13
From: Tien Fong Chee
Ethernet initialization is only work with properly set MAC addresses.
Hence, this config is required to create the random MAC addresses
for Ethernet initialization.
Signed-off-by: Tien Fong Chee
Signed-off-by: Teik Heng Chong
---
configs/socfpga_arria10_defconfig | 1 +
On Wed, 21 Sept 2022 at 08:06, Stefan Roese wrote:
>
> With the bootstage migration to timer_get_us() provided via
> CONFIG_TIMER_EARLY timer_get_boot_us() is superfluous now. This patch
> removes all occurances from the code.
>
> Signed-off-by: Stefan Roese
> Cc: Patrick Delaunay
> Cc: Jun Nie
Hi Michal,
On Thu, 22 Sept 2022 at 05:45, Michal Simek wrote:
>
>
>
> On 9/22/22 13:35, Simon Glass wrote:
> > Hi,
> >
> > On Thu, 22 Sept 2022 at 12:27, Michal Simek wrote:
> >>
> >>
> >>
> >> On 9/21/22 15:22, Alexander Dahl wrote:
> >>> For future DM based FPGA drivers and for now to have a
Hi Stefan,
On Wed, 21 Sept 2022 at 08:06, Stefan Roese wrote:
>
> Currently this timer driver provides timer_get_boot_us() to support the
> BOOTSTAGE functionality. This patch adds the timer_early functions so
> that the "normal" timer functions can be used, when CONFIG_TIMER_EARLY
> is enabled.
Hi Stefan,
On Wed, 21 Sept 2022 at 08:06, Stefan Roese wrote:
>
> The early timer functions provided via CONFIG_TIMER_EARLY don't need
> CONFIG_TIMER to be enabled, as they don't make use of the DM timer
> and uclass interface. This patch now allow the selection of
> CONFIG_TIMER_EARLY w/o
On Wed, 21 Sept 2022 at 08:06, Stefan Roese wrote:
>
> Currently this timer driver provides timer_get_boot_us() to support the
> BOOTSTAGE functionality. This patch adds the timer_early functions so
> that the "normal" timer functions can be used, when CONFIG_TIMER_EARLY
> is enabled.
>
>
On Wed, 21 Sept 2022 at 08:06, Stefan Roese wrote:
>
> Currently this timer driver provides timer_get_boot_us() to support the
> BOOTSTAGE functionality. This patch adds the timer_early functions so
> that the "normal" timer functions can be used, when CONFIG_TIMER_EARLY
> is enabled.
>
>
On Wed, 21 Sept 2022 at 08:06, Stefan Roese wrote:
>
> Currently this timer driver provides timer_get_boot_us() to support the
> BOOTSTAGE functionality. This patch adds the timer_early functions so
> that the "normal" timer functions can be used, when CONFIG_TIMER_EARLY
> is enabled.
>
>
Hi Quentin,
On Thu, 22 Sept 2022 at 09:53, Quentin Schulz wrote:
>
> From: Quentin Schulz
>
> Currently, dm_probe_devices checks that the flags of the device contains
> DM_FLAG_PRE_RELOC. However DM_FLAG_PRE_RELOC is a driver - and not a
> device - flag. This means that the check in
Hi,
On Fri, 23 Sept 2022 at 01:08, Ilias Apalodimas
wrote:
>
> On Thu, 15 Sept 2022 at 23:02, Heinrich Schuchardt
> wrote:
> >
> > Fill the media ID in the block IO protocol from the block device descriptor
> > of the driver model.
> >
> > Signed-off-by: Heinrich Schuchardt
> > ---
> >
Hi Michal,
On Sat, 24 Sept 2022 at 14:10, Michal Suchánek wrote:
>
> Hello,
>
> On Sat, Sep 17, 2022 at 07:04:25PM +0200, Michal Suchánek wrote:
> > Hello,
> >
> > On Sat, Sep 17, 2022 at 09:02:53AM -0600, Simon Glass wrote:
> > > Hi Michal,
> > >
> > > On Wed, 31 Aug 2022 at 11:44, Simon Glass
Avoid concatenation with following message.
Signed-off-by: Michal Suchanek
---
drivers/power/pmic/fan53555.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/power/pmic/fan53555.c b/drivers/power/pmic/fan53555.c
index 4d1e686d27..0d91628f57 100644
---
Hi Michal,
On 25/09/2022 10:28, Michal Suchanek wrote:
In a couple of places the document says u-boot,pre-reloc but all
examples show u-boot,dm-pre-reloc, use the latter consistently.
Signed-off-by: Michal Suchanek
Reviewed-by: Fabio Estevam
In a couple of places the document says u-boot,pre-reloc but all
examples show u-boot,dm-pre-reloc, use the latter consistently.
Signed-off-by: Michal Suchanek
---
doc/develop/driver-model/serial-howto.rst | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git
Boards can have multiple sysresets, iterate all when printing sysreset
info.
Also print the symbolic error when reporting sysreset failure.
Fixes: 23471aed5c ("board_f: Add reset status printing")
Signed-off-by: Michal Suchanek
---
common/board_f.c | 31 +++
1 file
Without this the early sysreset code cannot be tested.
Signed-off-by: Michal Suchanek
---
arch/sandbox/dts/sandbox.dtsi | 1 +
arch/sandbox/dts/test.dts | 2 ++
2 files changed, 3 insertions(+)
diff --git a/arch/sandbox/dts/sandbox.dtsi b/arch/sandbox/dts/sandbox.dtsi
index
Clarify documentation, fix a few more cases that could be broken by the
change.
Signed-off-by: Michal Suchanek
---
drivers/pci/pci-uclass.c | 7 +++
drivers/sysinfo/sysinfo-uclass.c | 10 +-
include/dm/uclass.h | 15 +--
3 files changed, 21
When probing a device fails NULL pointer is returned, and following
devices in uclass list cannot be iterated. Skip to next device on error
instead.
With that the only condition under which these simple iteration
functions return error is when the dm is not initialized at uclass_get
time. This is
uclass_first_device/uclass_next_device return value will be removed,
don't use it.
Signed-off-by: Michal Suchanek
---
cmd/virtio.c | 9 +++--
drivers/gpio/gpio-uclass.c | 14 ++
2 files changed, 9 insertions(+), 14 deletions(-)
diff --git a/cmd/virtio.c
The _err variant iterators use the simple iterators without suffix as
basis.
However, there is no user that uclass_next_device_err for iteration,
many users of uclass_first_device_err use it to get the first and
(assumed) only device of an uclass, and a couple that use
uclass_next_device_err to
There is a number of users that use uclass_first_device to access the
first and (assumed) only device in uclass.
Some check the return value of uclass_first_device and also that a
device was returned which is exactly what uclass_first_device_err does.
Some are not checking that a device was
There are a couple users of uclass_next_device return value that get the
first device by other means and use uclass_next_device assuming the
following device in the uclass is related to the first one.
Use uclass_next_device_err because the return value from
uclass_next_device will be removed in a
There are a few commands that iterate uclass with
uclass_first_device/uclass_next_device or the _err variant.
Use the _check class iterator variant to get devices that fail to probe
as well, and print the status.
Signed-off-by: Michal Suchanek
---
cmd/adc.c | 22 ++
blk_first_device_err/blk_next_device_err uses
uclass_first_device_err/uclass_next_device_err for device iteration.
Although the function names superficially match the return value from
uclass_first_device_err/uclass_next_device_err is never used
meaningfully, and
The cycle is guarded by !ret && dev, code in if (ret || ! dev) is never
executed. dev implies !ret, and ret is not even checked when getting
next device, just drop the ret variable completely.
Signed-off-by: Michal Suchanek
---
drivers/w1/w1-uclass.c | 9 ++---
1 file changed, 2
The ret value is never used. It is only set when no device is returned,
and that is handled before the value of ret would be used.
Signed-off-by: Michal Suchanek
---
drivers/dma/dma-uclass.c | 7 +++
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/drivers/dma/dma-uclass.c
Use uclass_first_device_check/uclass_next_device_check to correctly
count buses that fail to probe.
Fixes: d3e19cf919 ("w1: Add 1-Wire uclass")
Signed-off-by: Michal Suchanek
---
drivers/w1/w1-uclass.c | 20 +++-
1 file changed, 11 insertions(+), 9 deletions(-)
diff --git
The code checks that uclass_first_device returned a device but the
returned value that is assigned is never used. Use
uclass_first_device_err instead, and move the error return outside of
the if block.
Fixes: f4ec1ae08e ("mxc_ipuv3_fb.c: call display_enable")
Signed-off-by: Michal Suchanek
---
The code checks the return value from uclass_first_device as well as
that the device exists but it passes on the return value which may be
zero if there are no gadget devices. Just check that a device was
returned and return -ENODEV otherwise.
Also remove the dev variable which is not really used
bootdev_list() uses uclass_*_device_err() to iterate devices.
However, the only value _err adds is returning an error when the device
pointer is null, and that's checked anyway.
Also there is some intent to report errors, and that's what
uclass_*_device_check() is for, use it.
Also print the
There is a complaint in the code that iterates keyboards that we don't
have the _check variant of class iterator but we in fact do, use it.
In the code that iterates video devices there is an attempt to print
errors but the simple iterator does not return a device when there is an
error. Use the
When there is no PCI bus uclass_first_device will return no bus and no
error which will result in pci_find_first_device calling
skip_to_next_device with no bus, and the bus is only checked at the end
of the while cycle, not the beginning.
Also stop dealing with the return value of
uclass_probe_all uses uclass_first_device/uclass_next_device assigning
the return value.
The interface for getting meaningful error is
uclass_first_device_check/uclass_next_device_check, use it.
Also do not stop iteration when an error is encountered. Probing all
devices includes those that
We already have a function for probing all devices of a specific class,
use it.
Signed-off-by: Michal Suchanek
---
drivers/cpu/cpu-uclass.c | 20
drivers/virtio/virtio-uclass.c | 15 +--
test/dm/core.c | 17 +++--
The description claims that the device is probed but it isn't.
Add the device_probe() call.
Also consolidate the iteration into one function.
Fixes: 8a5cbc065d ("dm: blk: Use uclass_find_first/next_device() in
blk_first/next_device()")
Signed-off-by: Michal Suchanek
---
device_probe returns early when the device is already activated.
Add a note to the documentation that it can be used on already activated
devices.
Signed-off-by: Michal Suchanek
---
include/dm/device-internal.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git
1 - 100 of 102 matches
Mail list logo