fwupd/plugins
2022-06-27 19:06:21 +01:00
..
acpi-dmar trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
acpi-facp trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
acpi-ivrs trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
acpi-phat trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
amt trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
analogix trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
ata trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
bcm57xx trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
bios trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
ccgx trivial: Some clang-format fixups 2022-06-22 15:55:32 +01:00
cfu trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
ch341a trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
colorhug trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
corsair corsair: remove support for some devices 2022-06-23 20:05:43 +01:00
cpu trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
cros-ec trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
dell trivial: Use 'priv' for plugin private data to be consistent 2022-06-26 13:57:53 -05:00
dell-dock trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
dell-esrt trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
dfu trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
dfu-csr trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
ebitdo trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
elanfp trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
elantp trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
emmc Add eMMC guids to include FW version 2022-06-22 15:58:57 +01:00
ep963x trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
fastboot trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
flashrom trivial: Use 'priv' for plugin private data to be consistent 2022-06-26 13:57:53 -05:00
fresco-pd trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
genesys trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
goodix-moc trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
gpio trivial: Use 'priv' for plugin private data to be consistent 2022-06-26 13:57:53 -05:00
hailuck trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
intel-spi trivial: Some clang-format fixups 2022-06-22 15:55:32 +01:00
iommu Fix running fwupdtool security with a plugin allowlist 2022-06-26 13:57:53 -05:00
jabra trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
lenovo-thinklmi trivial: Fix self test failure on ppc64be 2022-06-26 17:28:04 -05:00
linux-lockdown Fix running fwupdtool security with a plugin allowlist 2022-06-26 13:57:53 -05:00
linux-sleep trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
linux-swap Fix running fwupdtool security with a plugin allowlist 2022-06-26 13:57:53 -05:00
linux-tainted Fix running fwupdtool security with a plugin allowlist 2022-06-26 13:57:53 -05:00
logind trivial: Use 'priv' for plugin private data to be consistent 2022-06-26 13:57:53 -05:00
logitech-bulkcontroller trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
logitech-hidpp trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
modem-manager trivial: quiet the modem manager error about unable to probe 2022-06-23 14:53:58 -05:00
msr Fix running fwupdtool security with a plugin allowlist 2022-06-26 13:57:53 -05:00
mtd trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
nitrokey trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
nordic-hid trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
nvme trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
optionrom trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
parade-lspcon trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
pci-bcr trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
pci-mei trivial: Use 'priv' for plugin private data to be consistent 2022-06-26 13:57:53 -05:00
pci-psp trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
pixart-rf trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
powerd trivial: Use 'priv' for plugin private data to be consistent 2022-06-26 13:57:53 -05:00
realtek-mst trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
redfish trivial: Use 'priv' for plugin private data to be consistent 2022-06-26 13:57:53 -05:00
rts54hid trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
rts54hub trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
scsi trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
steelseries trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
superio trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
synaptics-cape synaptics-cape: Fix a big endian compile warning 2022-06-26 17:28:04 -05:00
synaptics-cxaudio trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
synaptics-mst trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
synaptics-prometheus trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
synaptics-rmi trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
system76-launch system76-launch: Wait for device to re-enumerate if unlocked and reset 2022-06-27 06:49:12 +01:00
test trivial: Use 'priv' for plugin private data to be consistent 2022-06-26 13:57:53 -05:00
thelio-io trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
thunderbolt trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
tpm trivial: Use 'priv' for plugin private data to be consistent 2022-06-26 13:57:53 -05:00
uefi-capsule trivial: Do not load the GResource when not required 2022-06-27 19:06:21 +01:00
uefi-dbx trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
uefi-pk Fix running fwupdtool security with a plugin allowlist 2022-06-26 13:57:53 -05:00
uefi-recovery trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
uf2 trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
upower trivial: Use 'priv' for plugin private data to be consistent 2022-06-26 13:57:53 -05:00
usi-dock trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
vli trivial: Use a better error message disambiguate an error message 2022-06-23 21:56:06 +01:00
wacom-raw trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
wacom-usb trivial: Some clang-format fixups 2022-06-22 15:55:32 +01: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.