fwupd/plugins
Richard Hughes 5b7f9aa324 Be more nuanced when considering if the system is on AC power
This should be no beahviour change, but it allows the powerd and upower plugins
to provide more information in the future.

Fixes https://github.com/fwupd/fwupd/issues/3386
2023-02-23 13:04:12 -06:00
..
acpi-dmar Add a generic ACPI table parser 2023-02-23 13:04:12 -06:00
acpi-facp Include the plugin README text in the generated docs 2023-01-10 14:58:30 +00:00
acpi-ivrs Add a generic ACPI table parser 2023-02-23 13:04:12 -06:00
acpi-phat Include the plugin README text in the generated docs 2023-01-10 14:58:30 +00:00
amd-gpu trivial: be consistent about the vendor string for AMD 2023-02-23 13:04:12 -06:00
amd-pmc trivial: be consistent about the vendor string for AMD 2023-02-23 13:04:12 -06:00
analogix analogix: Do not check the endpoints before selecting an interface 2023-02-23 13:04:11 -06:00
android-boot Include the plugin README text in the generated docs 2023-01-10 14:58:30 +00:00
ata Include the plugin README text in the generated docs 2023-01-10 14:58:30 +00:00
bcm57xx Add API to wait for a device 2023-02-23 13:04:11 -06:00
bios Include the plugin README text in the generated docs 2023-01-10 14:58:30 +00:00
ccgx ccgx: Make the default image type for FuCcgxDmcDevice to be DMC_COMPOSITE 2023-02-23 13:04:12 -06:00
cfu Include the plugin README text in the generated docs 2023-01-10 14:58:30 +00:00
ch341a Allow dumping CFI devices using fwupdtool 2023-01-13 15:43:39 +00:00
colorhug colorhug: Show the flash success value in debugging 2023-02-23 13:04:10 -06:00
corsair trivial: Fix warning: do not use 'else' after 'return' 2023-02-23 13:04:11 -06:00
cpu trivial: be consistent about the vendor string for AMD 2023-02-23 13:04:12 -06:00
cros-ec trivial: Fix warning: do not use 'else' after 'return' 2023-02-23 13:04:11 -06:00
dell trivial: Add FuProgress to FuPlugin->backend_device_added() 2023-02-23 13:04:12 -06:00
dell-dock trivial: Add FuProgress to FuPlugin->backend_device_added() 2023-02-23 13:04:12 -06:00
dell-esrt Include the plugin README text in the generated docs 2023-01-10 14:58:30 +00:00
dfu dfu: Allow DFU devices to declare the payload in the XML metadata 2023-02-23 13:04:12 -06:00
dfu-csr Add API to wait for a device 2023-02-23 13:04:11 -06:00
ebitdo trivial: Fix warning: function has a definition with different parameter names 2023-02-23 13:04:12 -06:00
elanfp Include the plugin README text in the generated docs 2023-01-10 14:58:30 +00:00
elantp Add API to wait for a device 2023-02-23 13:04:11 -06:00
emmc emmc: correct legacy GUID generation 2023-01-22 20:40:38 -06:00
ep963x Add API to wait for a device 2023-02-23 13:04:11 -06:00
fastboot Add API to wait for a device 2023-02-23 13:04:11 -06:00
flashrom trivial: Fix warning: repeated branch in conditional chain 2023-02-23 13:04:11 -06:00
focalfp Add API to wait for a device 2023-02-23 13:04:11 -06:00
fpc Include the plugin README text in the generated docs 2023-01-10 14:58:30 +00:00
fresco-pd Include the plugin README text in the generated docs 2023-01-10 14:58:30 +00:00
genesys trivial: Fix warning: pointer parameter 'buf' can be pointer to const 2023-02-23 13:04:11 -06:00
goodix-moc Include the plugin README text in the generated docs 2023-01-10 14:58:30 +00:00
gpio trivial: Add relationship for GPIO controller 2023-02-23 13:04:11 -06:00
hailuck trivial: Fix warning: function has a definition with different parameter names 2023-02-23 13:04:12 -06:00
intel-gsc Add API to wait for a device 2023-02-23 13:04:11 -06:00
intel-me trivial: Fix warning: parameter is const-qualified in the function declaration 2023-02-23 13:04:12 -06:00
intel-spi Include the plugin README text in the generated docs 2023-01-10 14:58:30 +00:00
intel-usb4 intel-usb4: Prefer this plugin over the Thunderbolt plugin 2023-02-23 13:04:12 -06:00
iommu trivial: Add FuProgress to FuPlugin->backend_device_added() 2023-02-23 13:04:12 -06:00
jabra Include the plugin README text in the generated docs 2023-01-10 14:58:30 +00:00
kinetic-dp trivial: Remove an unused source file 2023-02-23 13:04:11 -06:00
lenovo-thinklmi trivial: Add FuProgress to fu_context_load_hwinfo() 2023-02-23 13:04:11 -06:00
linux-lockdown Include the plugin README text in the generated docs 2023-01-10 14:58:30 +00:00
linux-sleep Include the plugin README text in the generated docs 2023-01-10 14:58:30 +00:00
linux-swap trivial: Fix Fedora CI when it cannot autostart udisks 2023-02-23 13:04:11 -06:00
linux-tainted Include the plugin README text in the generated docs 2023-01-10 14:58:30 +00:00
logind Include the plugin README text in the generated docs 2023-01-10 14:58:30 +00:00
logitech-bulkcontroller trivial: Fix warning: redundant return statement at the end of a function with a void return type 2023-02-23 13:04:11 -06:00
logitech-hidpp trivial: logitech-hidpp: move the check for CONFIG_HIDRAW into probe 2023-02-23 13:04:12 -06:00
logitech-scribe Include the plugin README text in the generated docs 2023-01-10 14:58:30 +00:00
modem-manager trivial: Add FuProgress to FuPlugin->backend_device_added() 2023-02-23 13:04:12 -06:00
msr trivial: Add FuProgress to FuPlugin->backend_device_added() 2023-02-23 13:04:12 -06:00
mtd trivial: Add FuProgress to fu_context_load_hwinfo() 2023-02-23 13:04:11 -06:00
nitrokey Include the plugin README text in the generated docs 2023-01-10 14:58:30 +00:00
nordic-hid Add API to wait for a device 2023-02-23 13:04:11 -06:00
nvme nvme: Detect and warn users with the broken firmware 3B2QGXA7 2023-02-23 13:04:11 -06:00
optionrom trivial: Remove an unused self-test file 2023-02-23 13:04:11 -06:00
parade-lspcon Add API to wait for a device 2023-02-23 13:04:11 -06:00
pci-bcr trivial: Add FuProgress to FuPlugin->backend_device_added() 2023-02-23 13:04:12 -06:00
pci-mei trivial: Add FuProgress to FuPlugin->backend_device_added() 2023-02-23 13:04:12 -06:00
pci-psp trivial: be consistent about the vendor string for AMD 2023-02-23 13:04:12 -06:00
pixart-rf Add API to wait for a device 2023-02-23 13:04:11 -06:00
powerd Be more nuanced when considering if the system is on AC power 2023-02-23 13:04:12 -06:00
qsi-dock trivial: Fix warning: do not use 'else' after 'return' 2023-02-23 13:04:11 -06:00
realtek-mst Add API to wait for a device 2023-02-23 13:04:11 -06:00
redfish redfish: Only offset the IPMI user_id when using XCC 2023-02-23 13:04:12 -06:00
rts54hid trivial: Include the correct headers to make clang-tidy happy 2023-02-23 13:04:11 -06:00
rts54hub Add API to wait for a device 2023-02-23 13:04:11 -06:00
scsi Include the plugin README text in the generated docs 2023-01-10 14:58:30 +00:00
steelseries Add API to wait for a device 2023-02-23 13:04:11 -06:00
superio Add API to wait for a device 2023-02-23 13:04:11 -06:00
synaptics-cape Add API to wait for a device 2023-02-23 13:04:11 -06:00
synaptics-cxaudio Add API to wait for a device 2023-02-23 13:04:11 -06:00
synaptics-mst trivial: Add FuProgress to FuPlugin->backend_device_added() 2023-02-23 13:04:12 -06:00
synaptics-prometheus Include the plugin README text in the generated docs 2023-01-10 14:58:30 +00:00
synaptics-rmi Add API to wait for a device 2023-02-23 13:04:11 -06:00
system76-launch Add API to wait for a device 2023-02-23 13:04:11 -06:00
test trivial: Fix warning: do not use 'else' after 'return' 2023-02-23 13:04:11 -06:00
thelio-io Include the plugin README text in the generated docs 2023-01-10 14:58:30 +00:00
thunderbolt trivial: Fix warning: do not use 'else' after 'return' 2023-02-23 13:04:11 -06:00
ti-tps6598x ti-tps6598x: Fix a small memory leak when flashing new firmware 2023-02-23 13:04:11 -06:00
tpm trivial: be consistent about the vendor string for AMD 2023-02-23 13:04:12 -06:00
uefi-capsule Allow enabling low-level debugging of fwupdx64.efi from uefi_capsule.conf 2023-02-23 13:04:12 -06:00
uefi-dbx Include the plugin README text in the generated docs 2023-01-10 14:58:30 +00:00
uefi-pk Include the plugin README text in the generated docs 2023-01-10 14:58:30 +00:00
uefi-recovery Include the plugin README text in the generated docs 2023-01-10 14:58:30 +00:00
uf2 Include the plugin README text in the generated docs 2023-01-10 14:58:30 +00:00
upower Be more nuanced when considering if the system is on AC power 2023-02-23 13:04:12 -06:00
usi-dock trivial: Fix warning: return after continue 2023-02-23 13:04:12 -06:00
vbe Add fu_context_get_fdt() to get the Flat Device Tree 2023-01-11 16:25:26 +00:00
vli trivial: Include the correct headers to make clang-tidy happy 2023-02-23 13:04:11 -06:00
wacom-raw Add API to wait for a device 2023-02-23 13:04:11 -06:00
wacom-usb wacom-usb: Use the device proxy functionality 2023-02-23 13:04:11 -06:00
wistron-dock wistron-dock: Use only-wait-for-replug to speed up device replug 2023-02-23 13:04:11 -06:00
meson.build trivial: add a plugin to show VBIOS version for AMD APUs 2023-02-23 13:04:12 -06:00
migrate.py igsc: Add a plugin to update some Intel discrete graphics cards 2022-11-03 13:43:54 +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.