Re: [PATCH v3 1/3] efi_loader: Add SPI I/O protocol support

Ilias Apalodimas
2022-09-26T13:40:58Z

Hi Heinrich,

[...]

> > > +};
> > > +
> > > +static struct efi_legacy_spi_controller_protocol
> > > +dummy_legacy_spi_controller_protocol = {
> > > + .maximum_offset = 0,
> > > + .maximum_range_bytes = 0,
> > > + .range_register_count = 0,
> > > + .erase_block_opcode = legacy_erase_block_opcode,
> > > + .write_status_prefix = legacy_write_status_prefix,
> > > + .bios_base_address = legacy_bios_base_address,
> > > + .clear_spi_protect = legacy_clear_spi_protect,
> > > + .is_range_protected = legacy_is_range_protected,
> > > + .protect_next_range = legacy_protect_next_range,
> > > + .lock_controller = legacy_lock_controller
> > > +};
> >
> > Keeping in mind all these return EFI_UNSUPPORTED can we get rid of them and
> > set the legacy_spi_protocol to NULL? Or defining them is mandatory from the PI spec?
> > Do you plan to implement it in the future?
>
> What do you mean by setting to NULL?
> You simply would not install the protocol interface on any handle.
> If there is no legacy SPI controller, it does not make sense to install
> the protocol.

There's no protocol installation for this, The protocl we install is
efi_spi_io_protocol and one of it's struct members is that legacy spi
protocol

[...]

Cheers
/Ilias