fwupd/plugins
Richard Hughes 40dad22388 cros-ec: Add progress completion when writing blocks
Also, simplify the helper that's passed to the retry function.
2022-01-07 07:24:08 +00:00
..
acpi-dmar Make the HSI tests optional for embedded targets 2021-11-29 09:30:57 +00:00
acpi-facp Make the HSI tests optional for embedded targets 2021-11-29 09:30:57 +00:00
acpi-phat Make more plugins optional 2021-11-29 09:30:57 +00:00
amt Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
analogix Allow patching firmware files at known offsets 2022-01-05 09:51:45 +00:00
ata Check the value range when parsing the quirk keys 2021-12-09 13:09:43 +00:00
bcm57xx Make more plugins optional 2021-11-29 09:30:57 +00:00
bios Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
ccgx Allow patching firmware files at known offsets 2022-01-05 09:51:45 +00:00
cfu cfu: Add a missing version setter 2021-12-10 15:58:22 +00:00
colorhug Add fu_usb_device_add_interface() for plugins to use 2022-01-04 22:05:37 +00:00
cpu trivial: Add the missing plugin_cpu 2021-12-10 12:00:33 +00:00
cros-ec cros-ec: Add progress completion when writing blocks 2022-01-07 07:24:08 +00:00
dell trivial: Cast the g_signal_connect() object to allow static analysis 2022-01-03 22:46:23 +00:00
dell-dock trivial: win32: don't reference synaptics-mst plugin 2021-12-15 06:46:27 -06:00
dell-esrt Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
dfu Allow patching firmware files at known offsets 2022-01-05 09:51:45 +00:00
dfu-csr Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
ebitdo Allow patching firmware files at known offsets 2022-01-05 09:51:45 +00:00
elanfp Add fu_usb_device_add_interface() for plugins to use 2022-01-04 22:05:37 +00:00
elantp Allow patching firmware files at known offsets 2022-01-05 09:51:45 +00:00
emmc Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
ep963x Make more plugins optional 2021-11-29 09:30:57 +00:00
fastboot Add fu_usb_device_add_interface() for plugins to use 2022-01-04 22:05:37 +00:00
flashrom plugins/flashrom: Change StarLabs devices from number to plain 2021-12-17 16:44:16 +00:00
fresco-pd Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
goodix-moc Add fu_usb_device_add_interface() for plugins to use 2022-01-04 22:05:37 +00:00
hailuck Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
intel-spi Check the value range when parsing the quirk keys 2021-12-09 13:09:43 +00:00
iommu Make the HSI tests optional for embedded targets 2021-11-29 09:30:57 +00:00
jabra Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
lenovo-thinklmi trivial: Cast the g_signal_connect() object to allow static analysis 2022-01-03 22:46:23 +00:00
linux-lockdown trivial: Cast the g_signal_connect() object to allow static analysis 2022-01-03 22:46:23 +00:00
linux-sleep Make the HSI tests optional for embedded targets 2021-11-29 09:30:57 +00:00
linux-swap trivial: Cast the g_signal_connect() object to allow static analysis 2022-01-03 22:46:23 +00:00
linux-tainted trivial: Cast the g_signal_connect() object to allow static analysis 2022-01-03 22:46:23 +00:00
logind Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
logitech-bulkcontroller Add fu_usb_device_add_interface() for plugins to use 2022-01-04 22:05:37 +00:00
logitech-hidpp logitech-hidpp: Always hardcode the vendor for FuLogitechHidPpDevice 2022-01-06 19:23:58 +00:00
modem-manager trivial: Cast the g_signal_connect() object to allow static analysis 2022-01-03 22:46:23 +00:00
msr Make the HSI tests optional for embedded targets 2021-11-29 09:30:57 +00:00
mtd Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
nitrokey Make more plugins optional 2021-11-29 09:30:57 +00:00
nordic-hid Allow patching firmware files at known offsets 2022-01-05 09:51:45 +00:00
nvme nvme: ignore non-PCI NVMe devices 2021-12-29 11:13:55 -06:00
optionrom Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
parade-lspcon parade-lspcon: Add a missing error check 2021-12-10 15:58:39 +00:00
pci-bcr Make the HSI tests optional for embedded targets 2021-11-29 09:30:57 +00:00
pci-mei Make the HSI tests optional for embedded targets 2021-11-29 09:30:57 +00:00
pixart-rf Allow patching firmware files at known offsets 2022-01-05 09:51:45 +00:00
platform-integrity Make the HSI tests optional for embedded targets 2021-11-29 09:30:57 +00:00
powerd trivial: Fix various const issues 2022-01-03 22:46:23 +00:00
realtek-mst trivial: Remove some unused variables 2021-12-10 16:00:07 +00:00
redfish trivial: Add some more annotations for language bindings 2022-01-03 22:46:23 +00:00
rts54hid Check the value range when parsing the quirk keys 2021-12-09 13:09:43 +00:00
rts54hub Check the value range when parsing the quirk keys 2021-12-09 13:09:43 +00:00
steelseries Add fu_usb_device_add_interface() for plugins to use 2022-01-04 22:05:37 +00:00
superio trivial: Add some more annotations for language bindings 2022-01-03 22:46:23 +00:00
synaptics-cape Allow patching firmware files at known offsets 2022-01-05 09:51:45 +00:00
synaptics-cxaudio Check the value range when parsing the quirk keys 2021-12-09 13:09:43 +00:00
synaptics-mst Allow patching firmware files at known offsets 2022-01-05 09:51:45 +00:00
synaptics-prometheus Allow patching firmware files at known offsets 2022-01-05 09:51:45 +00:00
synaptics-rmi Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
system76-launch Add fu_usb_device_add_interface() for plugins to use 2022-01-04 22:05:37 +00:00
test Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
thelio-io Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
thunderbolt trivial: Cast the g_signal_connect() object to allow static analysis 2022-01-03 22:46:23 +00:00
tpm trivial: Fix an impossible-to-hit scan-build warning 2022-01-03 22:46:23 +00:00
uefi-capsule trivial: fix man page sections 2022-01-04 14:17:43 -06:00
uefi-dbx trivial: fix man page sections 2022-01-04 14:17:43 -06:00
uefi-pk Make the HSI tests optional for embedded targets 2021-11-29 09:30:57 +00:00
uefi-recovery Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
uf2 Allow patching firmware files at known offsets 2022-01-05 09:51:45 +00:00
upower trivial: Fix up some clang-format issues that snuck in recently 2022-01-06 17:04:34 +00:00
usi-dock trivial: Cast the g_signal_connect() object to allow static analysis 2022-01-03 22:46:23 +00:00
vli trivial: Cast the g_signal_connect() object to allow static analysis 2022-01-03 22:46:23 +00:00
wacom-raw Check the value range when parsing the quirk keys 2021-12-09 13:09:43 +00:00
wacom-usb trivial: Add some more annotations for language bindings 2022-01-03 22:46:23 +00:00
meson.build Add support for UF2 devices 2021-12-21 10:06:18 +00:00
README.md Rename the development branch from master to main 2021-09-24 14:20:24 -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/main/libfwupdplugin/fu-device-metadata.h

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