fwupd/plugins
2022-06-14 14:36:52 -05:00
..
acpi-dmar Split out the GByte helpers to a new source file 2022-06-14 14:36:52 -05:00
acpi-facp Split out the memory helpers to a new source file 2022-06-14 14:36:52 -05:00
acpi-ivrs Split out the GByte helpers to a new source file 2022-06-14 14:36:52 -05:00
acpi-phat Split out the memory helpers to a new source file 2022-06-14 14:36:52 -05:00
amt Add FuProgress to ->startup() and ->coldplug() 2022-06-04 20:21:50 +01:00
analogix Split out the memory helpers to a new source file 2022-06-14 14:36:52 -05:00
ata Split out the memory helpers to a new source file 2022-06-14 14:36:52 -05:00
bcm57xx trivial: Remove fu_byte_array_set_size_full() 2022-06-14 14:36:52 -05:00
bios Add FuProgress to ->startup() and ->coldplug() 2022-06-04 20:21:50 +01:00
ccgx trivial: Remove fu_byte_array_set_size_full() 2022-06-14 14:36:52 -05:00
cfu Split out the memory helpers to a new source file 2022-06-14 14:36:52 -05:00
ch341a Split out the memory helpers to a new source file 2022-06-14 14:36:52 -05:00
colorhug Split out the memory helpers to a new source file 2022-06-14 14:36:52 -05:00
corsair Split out the memory helpers to a new source file 2022-06-14 14:36:52 -05:00
cpu Split out the string helpers to a new source file 2022-06-14 14:36:52 -05:00
cros-ec Split out the string helpers to a new source file 2022-06-14 14:36:52 -05:00
dell Split out the string helpers to a new source file 2022-06-14 14:36:52 -05:00
dell-dock Split out the memory helpers to a new source file 2022-06-14 14:36:52 -05:00
dell-esrt Add FuProgress to ->startup() and ->coldplug() 2022-06-04 20:21:50 +01:00
dfu Split out the memory helpers to a new source file 2022-06-14 14:36:52 -05:00
dfu-csr Split out the memory helpers to a new source file 2022-06-14 14:36:52 -05:00
ebitdo Split out the GByte helpers to a new source file 2022-06-14 14:36:52 -05:00
elanfp Split out the memory helpers to a new source file 2022-06-14 14:36:52 -05:00
elantp trivial: Remove fu_byte_array_set_size_full() 2022-06-14 14:36:52 -05:00
emmc Split out the string helpers to a new source file 2022-06-14 14:36:52 -05:00
ep963x Remove the recently added fu_progress_add_step_full() 2022-06-03 13:47:11 -05:00
fastboot Split out the string helpers to a new source file 2022-06-14 14:36:52 -05:00
flashrom Split out the memory helpers to a new source file 2022-06-14 14:36:52 -05:00
fresco-pd Split out the string helpers to a new source file 2022-06-14 14:36:52 -05:00
genesys trivial: Remove fu_byte_array_set_size_full() 2022-06-14 14:36:52 -05:00
goodix-moc trivial: Remove fu_byte_array_set_size_full() 2022-06-14 14:36:52 -05:00
gpio Split out the string helpers to a new source file 2022-06-14 14:36:52 -05:00
hailuck trivial: Remove fu_byte_array_set_size_full() 2022-06-14 14:36:52 -05:00
intel-spi Split out the string helpers to a new source file 2022-06-14 14:36:52 -05:00
iommu Make the HSI tests optional for embedded targets 2021-11-29 09:30:57 +00:00
jabra Split out the string helpers to a new source file 2022-06-14 14:36:52 -05:00
lenovo-thinklmi Split out the string helpers to a new source file 2022-06-14 14:36:52 -05:00
linux-lockdown Add FuProgress to ->startup() and ->coldplug() 2022-06-04 20:21:50 +01:00
linux-sleep Make the HSI tests optional for embedded targets 2021-11-29 09:30:57 +00:00
linux-swap Split out the string helpers to a new source file 2022-06-14 14:36:52 -05:00
linux-tainted Add FuProgress to ->startup() and ->coldplug() 2022-06-04 20:21:50 +01:00
logind Add FuProgress to ->startup() and ->coldplug() 2022-06-04 20:21:50 +01:00
logitech-bulkcontroller trivial: Remove fu_byte_array_set_size_full() 2022-06-14 14:36:52 -05:00
logitech-hidpp Split out the memory helpers to a new source file 2022-06-14 14:36:52 -05:00
modem-manager trivial: Remove fu_byte_array_set_size_full() 2022-06-14 14:36:52 -05:00
msr Split out the memory helpers to a new source file 2022-06-14 14:36:52 -05:00
mtd Split out the GByte helpers to a new source file 2022-06-14 14:36:52 -05:00
nitrokey Split out the memory helpers to a new source file 2022-06-14 14:36:52 -05:00
nordic-hid Split out the memory helpers to a new source file 2022-06-14 14:36:52 -05:00
nvme Split out the GByte helpers to a new source file 2022-06-14 14:36:52 -05:00
optionrom Do not fallback to audio-card 2022-04-25 14:49:30 +01:00
parade-lspcon Split out the memory helpers to a new source file 2022-06-14 14:36:52 -05:00
pci-bcr Rename fu_udev_device_pread_full() as we broke ABI 2022-06-03 13:47:11 -05:00
pci-mei Split out the memory helpers to a new source file 2022-06-14 14:36:52 -05:00
pci-psp Split out the string helpers to a new source file 2022-06-14 14:36:52 -05:00
pixart-rf Split out the memory helpers to a new source file 2022-06-14 14:36:52 -05:00
powerd Add FuProgress to ->startup() and ->coldplug() 2022-06-04 20:21:50 +01:00
realtek-mst Remove the recently added fu_progress_add_step_full() 2022-06-03 13:47:11 -05:00
redfish Split out the memory helpers to a new source file 2022-06-14 14:36:52 -05:00
rts54hid Split out the string helpers to a new source file 2022-06-14 14:36:52 -05:00
rts54hub Split out the memory helpers to a new source file 2022-06-14 14:36:52 -05:00
scsi Split out the memory helpers to a new source file 2022-06-14 14:36:52 -05:00
steelseries Split out the memory helpers to a new source file 2022-06-14 14:36:52 -05:00
superio Split out the GByte helpers to a new source file 2022-06-14 14:36:52 -05:00
synaptics-cape Split out the memory helpers to a new source file 2022-06-14 14:36:52 -05:00
synaptics-cxaudio Split out the memory helpers to a new source file 2022-06-14 14:36:52 -05:00
synaptics-mst trivial: Remove fu_byte_array_set_size_full() 2022-06-14 14:36:52 -05:00
synaptics-prometheus trivial: Remove fu_byte_array_set_size_full() 2022-06-14 14:36:52 -05:00
synaptics-rmi trivial: Remove fu_byte_array_set_size_full() 2022-06-14 14:36:52 -05:00
system76-launch Remove the recently added fu_progress_add_step_full() 2022-06-03 13:47:11 -05:00
test Split out the string helpers to a new source file 2022-06-14 14:36:52 -05:00
thelio-io Remove the recently added fu_progress_add_step_full() 2022-06-03 13:47:11 -05:00
thunderbolt Split out the GByte helpers to a new source file 2022-06-14 14:36:52 -05:00
tpm Split out the memory helpers to a new source file 2022-06-14 14:36:52 -05:00
uefi-capsule trivial: Remove fu_byte_array_set_size_full() 2022-06-14 14:36:52 -05:00
uefi-dbx Split out the memory helpers to a new source file 2022-06-14 14:36:52 -05:00
uefi-pk Add FuProgress to ->startup() and ->coldplug() 2022-06-04 20:21:50 +01:00
uefi-recovery Add FuProgress to ->startup() and ->coldplug() 2022-06-04 20:21:50 +01:00
uf2 trivial: Remove fu_byte_array_set_size_full() 2022-06-14 14:36:52 -05:00
upower Add FuProgress to ->startup() and ->coldplug() 2022-06-04 20:21:50 +01:00
usi-dock Split out the string helpers to a new source file 2022-06-14 14:36:52 -05:00
vli trivial: Remove fu_byte_array_set_size_full() 2022-06-14 14:36:52 -05:00
wacom-raw Split out the memory helpers to a new source file 2022-06-14 14:36:52 -05:00
wacom-usb Split out the memory helpers to a new source file 2022-06-14 14:36:52 -05:00
meson.build Remove platform-integrity plugin 2022-06-06 10:03:04 +01: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.