mirror of
https://review.coreboot.org/flashrom.git
synced 2025-08-17 12:20:15 +02:00
e5f377c6629ee5df53d854e61acc56d41d4721a8

Previously probe_flash had the same return code for the case when no chips were matched, and when some other error happened during probing. However these are two different scenarios and it is useful for the caller to distinguish between them. In fact, the caller (libflashrom it is) wanted to distinguish between "no chips found" and "some other probing error" from the very beginning. libflashrom probe API documented returning special error code for "other error". However it was not possible to know when "other error" happened because probe_flash never returned that back, it could only say "no matched chips found". This patch introduces -2 as "other error" code from probe_flash, while -1 remains as "no chips found". Both libflashrom probe APIs v1 and v2 are now handling "other error" from probe_flash and return it to the API callers as was promised in the documentation. This also adds a unit test for error code propagation for "no chips found" error. Change-Id: I4a271550bea2b36c657c71ce6cb1927082663c3c Signed-off-by: Anastasia Klimchuk <aklm@flashrom.org> Reviewed-on: https://review.coreboot.org/c/flashrom/+/88008 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org> Reviewed-by: Peter Marheine <pmarheine@chromium.org>
flashrom README =============== flashrom is a utility for detecting, reading, writing, verifying and erasing flash chips. It is often used to flash BIOS/EFI/coreboot/firmware images in-system using a supported mainboard, but it also supports flashing of network cards (NICs), SATA controller cards, and other external devices which can program flash chips. It supports a wide range of flash chips (most commonly found in SOIC8, DIP8, SOIC16, WSON8, PLCC32, DIP32, TSOP32, and TSOP40 packages), which use various protocols such as LPC, FWH, parallel flash, or SPI. Do not use flashrom on laptops (yet)! The embedded controller (EC) present in many laptops might interact badly with any attempts to communicate with the flash chip and may brick your laptop. Please make a backup of your flash chip before writing to it. Please see the flashrom(8) manpage :doc:`classic_cli_manpage`. The list of platforms that package flashrom can be found on `repology.org <https://repology.org/project/flashrom/versions>`_. Information about recent releases can be found in :doc:`/release_notes/index`. Building / installing / packaging --------------------------------- flashrom is built with **meson**. TLDR: :: meson setup builddir meson compile -C builddir meson test -C builddir meson install -C builddir For full detailed instructions, follow the information in :doc:`dev_guide/building_from_source`. If you are interested in development, have a look at :doc:`dev_guide/development_guide`. Contact ------- The official flashrom website is: https://www.flashrom.org/ For available contact methods see :doc:`contact`
Description
Languages
C
90.2%
Rust
5%
Shell
2%
Makefile
1.6%
Meson
1.2%