fwupd/plugins
Richard Hughes 6ff0ae2bc4 redfish: Split out the SMBIOS table parsing
This makes it more robust against corrupted data, and also adds support
for fuzzing.
2021-06-25 19:55:19 +01:00
..
acpi-dmar trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
acpi-facp trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
acpi-phat trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
altos trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
amt trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
analogix Split up FuUsbDevice into ->open() and ->setup() 2021-06-17 16:21:41 +01:00
ata trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
bcm57xx trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
bios trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
ccgx Allow adding and removing custom flags on devices 2021-06-23 07:59:15 +01:00
colorhug Allow adding and removing custom flags on devices 2021-06-23 07:59:15 +01:00
cpu trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
cros-ec Allow adding and removing custom flags on devices 2021-06-23 07:59:15 +01:00
dell trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
dell-dock Allow adding and removing custom flags on devices 2021-06-23 07:59:15 +01:00
dell-esrt trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
dfu Allow adding and removing custom flags on devices 2021-06-23 07:59:15 +01:00
dfu-csr Allow adding and removing custom flags on devices 2021-06-23 07:59:15 +01:00
ebitdo Split up FuUsbDevice into ->open() and ->setup() 2021-06-17 16:21:41 +01:00
elantp Split up FuUsbDevice into ->open() and ->setup() 2021-06-17 16:21:41 +01:00
emmc trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
ep963x Split up FuUsbDevice into ->open() and ->setup() 2021-06-17 16:21:41 +01:00
fastboot Split up FuUsbDevice into ->open() and ->setup() 2021-06-17 16:21:41 +01:00
flashrom trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
fresco-pd Split up FuUsbDevice into ->open() and ->setup() 2021-06-17 16:21:41 +01:00
goodix-moc Split up FuUsbDevice into ->open() and ->setup() 2021-06-17 16:21:41 +01:00
hailuck trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
intel-spi Allow adding and removing custom flags on devices 2021-06-23 07:59:15 +01:00
iommu trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
jabra Use an internal device flag rather that using a custom flag 2021-06-21 19:38:00 +01:00
lenovo-thinklmi Add a new plugin lenovo-thinklmi 2021-06-25 08:12:58 -05:00
linux-lockdown trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
linux-sleep trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
linux-swap trivial: Do not run the linux swap tests on win32 2021-06-24 23:18:14 -05:00
linux-tainted trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
logind trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
logitech-hidpp logitech-hidpp: Remove the FuLogitechHidPpBootloaderClass->setup() action 2021-06-17 16:21:41 +01:00
modem-manager modem-manager: Do not convert instance IDs to GUIDs manually 2021-06-15 09:14:39 -05:00
msr trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
nitrokey Split up FuUsbDevice into ->open() and ->setup() 2021-06-17 16:21:41 +01:00
nvme Allow adding and removing custom flags on devices 2021-06-23 07:59:15 +01:00
optionrom trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
pci-bcr trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
pci-mei trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
pixart-rf pixart-rf: Add support for receiver and wireless hardware 2021-06-21 14:28:03 -05:00
platform-integrity trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
redfish redfish: Split out the SMBIOS table parsing 2021-06-25 19:55:19 +01:00
rts54hid Split up FuUsbDevice into ->open() and ->setup() 2021-06-17 16:21:41 +01:00
rts54hub Split up FuUsbDevice into ->open() and ->setup() 2021-06-17 16:21:41 +01:00
solokey Split up FuUsbDevice into ->open() and ->setup() 2021-06-17 16:21:41 +01:00
steelseries Split up FuUsbDevice into ->open() and ->setup() 2021-06-17 16:21:41 +01:00
superio Add support for SuperIO IT5570 2021-06-25 19:54:47 +01:00
synaptics-cxaudio Split up FuUsbDevice into ->open() and ->setup() 2021-06-17 16:21:41 +01:00
synaptics-mst Allow adding and removing custom flags on devices 2021-06-23 07:59:15 +01:00
synaptics-prometheus Split up FuUsbDevice into ->open() and ->setup() 2021-06-17 16:21:41 +01:00
synaptics-rmi trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
system76-launch Split up FuUsbDevice into ->open() and ->setup() 2021-06-17 16:21:41 +01:00
test trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
thelio-io trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
thunderbolt trivial: move kernel version check into common library code 2021-06-16 14:54:17 -05:00
tpm trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
tpm-eventlog trivial: promote fwupd_checksum_format_for_display into ABI 2021-06-16 08:37:34 +01:00
uefi-capsule trivial: remove some unused variables 2021-06-23 08:29:56 -05:00
uefi-dbx trivial: Add required dep for dbxtool 2021-06-15 11:45:16 +01:00
uefi-pk trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
uefi-recovery trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
upower trivial: drop support for upower.conf (Fixes: #3384) 2021-06-18 09:12:57 +01:00
vli Allow adding and removing custom flags on devices 2021-06-23 07:59:15 +01:00
wacom-raw trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
wacom-usb wacom-usb: Add "no serial" flag to other CTL-X100 products 2021-06-18 16:55:33 +01:00
meson.build Add a new plugin lenovo-thinklmi 2021-06-25 08:12:58 -05: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.