[PATCH v3 8/9] ubi: implement support for LED activity
Michael Nazzareno Trimarchi
michael at amarulasolutions.com
Sun Aug 18 21:32:32 CEST 2024
Hi
On Sun, Aug 18, 2024 at 6:24 PM Christian Marangi <ansuelsmth at gmail.com> wrote:
>
> On Wed, Aug 14, 2024 at 10:17:18AM +0200, Michael Nazzareno Trimarchi wrote:
> > Hi all
> >
> > On Wed, Aug 14, 2024 at 6:34 AM Heiko Schocher <hs at denx.de> wrote:
> > >
> > > Hello Christian,
> > >
> > > On 12.08.24 12:32, Christian Marangi wrote:
> > > > Implement support for LED activity. If the feature is enabled,
> > > > make the defined ACTIVITY LED to signal ubi write operation.
> > > >
> > > > Signed-off-by: Christian Marangi <ansuelsmth at gmail.com>
> > > > ---
> > > > cmd/ubi.c | 17 +++++++++++++++--
> > > > 1 file changed, 15 insertions(+), 2 deletions(-)
> > > >
> > > > diff --git a/cmd/ubi.c b/cmd/ubi.c
> > > > index 0e62e449327..6f679eae9c3 100644
> > > > --- a/cmd/ubi.c
> > > > +++ b/cmd/ubi.c
> > > > @@ -14,6 +14,7 @@
> > > > #include <command.h>
> > > > #include <env.h>
> > > > #include <exports.h>
> > > > +#include <led.h>
> > > > #include <malloc.h>
> > > > #include <memalign.h>
> > > > #include <mtd.h>
> > > > @@ -488,10 +489,22 @@ exit:
> > > >
> > > > int ubi_volume_write(char *volume, void *buf, loff_t offset, size_t size)
> > > > {
> > > > + int ret;
> > > > +
> > > > +#ifdef CONFIG_LED_ACTIVITY_ENABLE
> > > > + led_activity_blink();
> > > > +#endif
> > >
> > > Do we really need ifdef? May it is possible to declare an empty function
> > > when CONFIG_LED_ACTIVITY_ENABLE is not set? May this applies for the whole
> > > series?
> > >
> > > > +
> > > > if (!offset)
> > > > - return ubi_volume_begin_write(volume, buf, size, size);
> > > > + ret = ubi_volume_begin_write(volume, buf, size, size);
> > > > + else
> > > > + ret = ubi_volume_offset_write(volume, buf, offset, size);
> > > >
> > > > - return ubi_volume_offset_write(volume, buf, offset, size);
> > > > +#ifdef CONFIG_LED_ACTIVITY_ENABLE
> > > > + led_activity_off();
> > > > +#endif
> > > > +
> > > > + return ret;
> > > > }
> > > >
> > > > int ubi_volume_read(char *volume, char *buf, loff_t offset, size_t size)
> > > >
> > >
> > I rather prefer to have some registration of events that need to be executed for
> > a particular i/o activity and then a subscription process from led
> > subsystem if that
> > particular event is connected to the dts or just on a board file
> >
>
> My concern is that it might become too complex just for the sake of
> putting a LED intro a state. Do we have other case where such event
> subsystem might be useful?
I was thinking of reusing the cyclic subsystem that allows you to
subscribe to functions
that are executed periodically. I mean it's not exciting to have
function call everywhere,
and anyway I think that
#if defined(CONFIG_FOO)
foo_activity
#else
foo_activity() { };
#endif
This is my preference to not have it ENABLED everywhere. As I
mentioned I even not
have experience about having such needs in in code. Most can be implemented
in a script except blinking like:
led on; ext4load <> ; led off. We can definitely script most of it.
The only exception can be
led blink; ext4load <>; led off.
>
> Uboot is not really multi thread so we don't expect that much thing to
> happen at the same time. Do we have case where an i/o might happen in
> multiple place? Example transfering data and writing them at the same
> time? The common practice is to first transfer and then handle.
>
Michael
> >
> >
> > > bye,
> > > Heiko
> > > --
> > > DENX Software Engineering GmbH, Managing Director: Erika Unter
> > > HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> > > Phone: +49-8142-66989-52 Fax: +49-8142-66989-80 Email: hs at denx.de
> >
> >
> >
> > --
> > Michael Nazzareno Trimarchi
> > Co-Founder & Chief Executive Officer
> > M. +39 347 913 2170
> > michael at amarulasolutions.com
> > __________________________________
> >
> > Amarula Solutions BV
> > Joop Geesinkweg 125, 1114 AB, Amsterdam, NL
> > T. +31 (0)85 111 9172
> > info at amarulasolutions.com
> > www.amarulasolutions.com
>
> --
> Ansuel
--
Michael Nazzareno Trimarchi
Co-Founder & Chief Executive Officer
M. +39 347 913 2170
michael at amarulasolutions.com
__________________________________
Amarula Solutions BV
Joop Geesinkweg 125, 1114 AB, Amsterdam, NL
T. +31 (0)85 111 9172
info at amarulasolutions.com
www.amarulasolutions.com
More information about the U-Boot
mailing list