fwupd/plugins
Richard Hughes f3c64adb6c intel-spi: Allow downloading the firmware image from the eSPI controller
Add the IFD regions as child devices and set the region access on the child
devices. Also add read-only SPI descriptor as an HSI attribute and require
FLOCKDN on Intel hardware.

Use the hidden PCI 00:1f.5 device to set the SPIBAR automatically and generate
the quirk file automatically to support more hardware.
2021-04-01 21:56:35 +01:00
..
acpi-dmar Move the plugin build logic to the plugins themselves 2021-02-18 14:46:20 +00:00
acpi-facp Move the plugin build logic to the plugins themselves 2021-02-18 14:46:20 +00:00
altos Remove FuFirmwareImage and just use FuFirmware instead 2021-03-09 21:14:12 +00:00
amt Move the plugin build logic to the plugins themselves 2021-02-18 14:46:20 +00:00
ata Split out a shared system context 2021-04-01 21:11:29 +01:00
bcm57xx Split out a shared system context 2021-04-01 21:11:29 +01:00
bios Split out a shared system context 2021-04-01 21:11:29 +01:00
ccgx Split out a shared system context 2021-04-01 21:11:29 +01:00
colorhug Remove FuFirmwareImage and just use FuFirmware instead 2021-03-09 21:14:12 +00:00
cpu Split out a shared system context 2021-04-01 21:11:29 +01:00
cros-ec trivial: cros-ec: Fix error string to use inlen 2021-03-25 15:12:54 -07:00
dell Split out a shared system context 2021-04-01 21:11:29 +01:00
dell-dock Split out a shared system context 2021-04-01 21:11:29 +01:00
dell-esrt Move the plugin build logic to the plugins themselves 2021-02-18 14:46:20 +00:00
dfu Split out a shared system context 2021-04-01 21:11:29 +01:00
dfu-csr Remove FuFirmwareImage and just use FuFirmware instead 2021-03-09 21:14:12 +00:00
ebitdo ebitdo: Add support for writing firmware 2021-03-10 21:33:28 -06:00
elantp Split out a shared system context 2021-04-01 21:11:29 +01:00
emmc Split out a shared system context 2021-04-01 21:11:29 +01:00
ep963x Remove FuFirmwareImage and just use FuFirmware instead 2021-03-09 21:14:12 +00:00
fastboot Remove FuFirmwareImage and just use FuFirmware instead 2021-03-09 21:14:12 +00:00
flashrom Split out a shared system context 2021-04-01 21:11:29 +01:00
fresco-pd Allow objects to deserialize to XML 2021-03-15 12:07:30 +00:00
goodix-moc Remove FuFirmwareImage and just use FuFirmware instead 2021-03-09 21:14:12 +00:00
hailuck trivial: Codespell fixes 2021-03-19 16:42:33 +00:00
intel-spi intel-spi: Allow downloading the firmware image from the eSPI controller 2021-04-01 21:56:35 +01:00
iommu Split out a shared system context 2021-04-01 21:11:29 +01:00
jabra Split out a shared system context 2021-04-01 21:11:29 +01:00
linux-lockdown Split out a shared system context 2021-04-01 21:11:29 +01:00
linux-sleep Move the plugin build logic to the plugins themselves 2021-02-18 14:46:20 +00:00
linux-swap Split out a shared system context 2021-04-01 21:11:29 +01:00
linux-tainted Split out a shared system context 2021-04-01 21:11:29 +01:00
logind Move the plugin build logic to the plugins themselves 2021-02-18 14:46:20 +00:00
logitech-hidpp Split out a shared system context 2021-04-01 21:11:29 +01:00
modem-manager Remove FuFirmwareImage and just use FuFirmware instead 2021-03-09 21:14:12 +00:00
msr Split out a shared system context 2021-04-01 21:11:29 +01:00
nitrokey Simplify the quirk file format 2021-03-03 08:30:34 +00:00
nvme Split out a shared system context 2021-04-01 21:11:29 +01:00
optionrom Split out a shared system context 2021-04-01 21:11:29 +01:00
pci-bcr Split out a shared system context 2021-04-01 21:11:29 +01:00
pci-mei Split out a shared system context 2021-04-01 21:11:29 +01:00
pixart-rf Split out a shared system context 2021-04-01 21:11:29 +01:00
platform-integrity Split out a shared system context 2021-04-01 21:11:29 +01:00
redfish Split out a shared system context 2021-04-01 21:11:29 +01:00
rts54hid Split out a shared system context 2021-04-01 21:11:29 +01:00
rts54hub Split out a shared system context 2021-04-01 21:11:29 +01:00
solokey solokey: Add support for writing firmware 2021-03-11 10:13:46 +00:00
steelseries Simplify the quirk file format 2021-03-03 08:30:34 +00:00
superio Split out a shared system context 2021-04-01 21:11:29 +01:00
synaptics-cxaudio Split out a shared system context 2021-04-01 21:11:29 +01:00
synaptics-mst Split out a shared system context 2021-04-01 21:11:29 +01:00
synaptics-prometheus Allow objects to deserialize to XML 2021-03-15 12:07:30 +00:00
synaptics-rmi Split out a shared system context 2021-04-01 21:11:29 +01:00
system76-launch Simplify the quirk file format 2021-03-03 08:30:34 +00:00
test Simplify the quirk file format 2021-03-03 08:30:34 +00:00
thelio-io Simplify the quirk file format 2021-03-03 08:30:34 +00:00
thunderbolt Split out a shared system context 2021-04-01 21:11:29 +01:00
tpm Split out a shared system context 2021-04-01 21:11:29 +01:00
tpm-eventlog tpm-eventlog: Fix a possible crash if not using _new() 2021-02-18 16:56:40 +00:00
uefi-capsule Split out a shared system context 2021-04-01 21:11:29 +01:00
uefi-dbx Remove FuFirmwareImage and just use FuFirmware instead 2021-03-09 21:14:12 +00:00
uefi-pk Remove FuFirmwareImage and just use FuFirmware instead 2021-03-09 21:14:12 +00:00
uefi-recovery Split out a shared system context 2021-04-01 21:11:29 +01:00
upower Add fu_device_set_battery_threshold() (#3086) 2021-03-31 16:43:36 +01:00
vli Split out a shared system context 2021-04-01 21:11:29 +01:00
wacom-raw Split out a shared system context 2021-04-01 21:11:29 +01:00
wacom-usb Allow objects to deserialize to XML 2021-03-15 12:07:30 +00:00
meson.build trivial: Rename spi to intel-spi as it's all Intel specific 2021-03-20 12:24:27 +00:00
README.md trivial: plugins: clarify stance on afuefi.efi 2019-08-23 10:54:58 -05:00

Adding a new plugin

An extensible architecture allows for providing new plugin types (for reading and writing different firmware) as well as ways quirk their behavior.

You can find more information about the architecture in the developers section of the fwupd website.

You can use the fwupd developer documentation to assist with APIs available to write the plugin.

If you have a firmware specification and would like to see support in this project, please file an issue and share the spec. Patches are also welcome.

We will not accept plugins that upgrade hardware using a proprietary Linux executable, proprietary UEFI executable, proprietary library, or DBus interface.

Plugin interaction

Some plugins may be able to influence the behavior of other plugins. This includes things like one plugin turning on a device, or providing missing metadata to another plugin.

The ABI for these interactions is defined in: https://github.com/fwupd/fwupd/blob/master/src/fu-device-metadata.h

All interactions between plugins should have the interface defined in that file.