Hi Joursoir,
On Mon, 2022-04-04 at 14:57 +0300, Joursoir wrote:
> Hello Thomas,
>
> No problem, thanks for your reply. I have one more question. I have
> noticed
> that some programmers already have their own context (for example
> pony_spi.c,
> rayer_spi.c. serprog.c, dediprog.c and others). I note that they are
> all
> SPI. As I understood, they use the following approaches:
>
> 1. Register a callback by its own
>
> if (register_shutdown(serprog_shutdown, NULL))
> goto init_err_cleanup_exit;
>
> 2. Fill `struct spi_master` shutdown-callback
>
> static struct spi_master spi_master_dediprog = {
> ...
> .shutdown = dediprog_shutdown,
> };
>
> Is there any significant difference in this approaches? Or does it
> just
> depend on code flow?
>
The goal is the same. To reduce the global state and the number of
calls to register_something. The differnt is the way how to use the
shutdown stack. The shutdown function as part of the programmer struct
is a more declarative approch. when working this further, the bus
master could also be declared in the programmer struct. But that's a
topic for a different project.
Anastasia may give you more details about the shutdown function in the
*_master struct.
-- Thomas
_______________________________________________
flashrom mailing list -- [email protected]
To unsubscribe send an email to [email protected]