fwupd/plugins
2022-04-14 13:06:21 +01:00
..
acpi-dmar trivial: Ignore the return value of setenv() in most cases 2022-04-13 15:08:12 +01:00
acpi-facp trivial: Ignore the return value of setenv() in most cases 2022-04-13 15:08:12 +01:00
acpi-ivrs trivial: Ignore the return value of setenv() in most cases 2022-04-13 15:08:12 +01:00
acpi-phat trivial: Ignore the return value of setenv() in most cases 2022-04-13 15:08:12 +01:00
amt Convert build system to use meson tristate features 2022-02-28 08:34:48 -06:00
analogix Convert build system to use meson tristate features 2022-02-28 08:34:48 -06:00
ata trivial: Convert more things to fu_progress_step_done() 2022-04-01 21:46:04 -05:00
bcm57xx trivial: Convert more things to fu_progress_step_done() 2022-04-01 21:46:04 -05:00
bios Convert build system to use meson tristate features 2022-02-28 08:34:48 -06:00
ccgx ccgx: Add trigger code to support future hardware 2022-03-31 08:46:15 +01:00
cfu Allow devices to build instance IDs more easily 2022-03-03 09:13:29 +00:00
ch341a Add a plugin for the CH341A device 2022-04-03 16:29:30 +01:00
colorhug colorhug: Split up the writing and verifying 2022-03-29 20:04:26 +01:00
corsair Add a plugin for Corsair devices 2022-04-08 12:52:08 +01:00
cpu trivial: CPU: Mark AMD as supported 2022-04-12 12:23:16 -05:00
cros-ec cros-ec: Mark as signed payload 2022-03-04 19:21:42 +00:00
dell trivial: Ignore the return value of setenv() in most cases 2022-04-13 15:08:12 +01:00
dell-dock dell-dock: probe mst earlier to determine signed payload attr 2022-04-13 00:00:01 -05:00
dell-esrt Convert build system to use meson tristate features 2022-02-28 08:34:48 -06:00
dfu trivial: Ignore the return value of setenv() in most cases 2022-04-13 15:08:12 +01:00
dfu-csr trivial: Fix some 'Comparison of narrow type with wide type in loop condition' 2022-04-05 14:45:42 +01:00
ebitdo Convert build system to use meson tristate features 2022-02-28 08:34:48 -06:00
elanfp elanfp: Modify for BULK_RECV_TIMEOUT_MS to 3000 2022-03-30 07:08:23 +01:00
elantp Allow devices to build instance IDs more easily 2022-03-03 09:13:29 +00:00
emmc Allow devices to build instance IDs more easily 2022-03-03 09:13:29 +00:00
ep963x Convert build system to use meson tristate features 2022-02-28 08:34:48 -06:00
fastboot trivial: Convert more things to fu_progress_step_done() 2022-04-01 21:46:04 -05:00
flashrom flashrom: Fix a harmless warning when adding an instance ID 2022-04-05 11:38:30 +01:00
fresco-pd trivial: Fix some 'Comparison of narrow type with wide type in loop condition' 2022-04-05 14:45:42 +01:00
genesys genesys: Fix a potential OOB read 2022-04-13 15:08:12 +01:00
goodix-moc goodix-moc: Mark as signed payload 2022-03-06 12:06:21 +00:00
gpio gpio: Return the correct error when there is no device to open 2022-03-16 12:08:32 +00:00
hailuck trivial: Convert more things to fu_progress_step_done() 2022-04-01 21:46:04 -05:00
intel-spi intel-spi: Fix potential integer overflow 2022-04-13 15:08:12 +01:00
iommu Make the HSI tests optional for embedded targets 2021-11-29 09:30:57 +00:00
jabra Convert build system to use meson tristate features 2022-02-28 08:34:48 -06:00
lenovo-thinklmi trivial: Ignore the return value of setenv() in most cases 2022-04-13 15:08:12 +01:00
linux-lockdown trivial: linux-lockdown: Check kernel supports lockdown 2022-04-03 09:06:00 -05:00
linux-sleep Make the HSI tests optional for embedded targets 2021-11-29 09:30:57 +00:00
linux-swap trivial: Ignore the return value of setenv() in most cases 2022-04-13 15:08:12 +01:00
linux-tainted trivial: Cast the g_signal_connect() object to allow static analysis 2022-01-03 22:46:23 +00:00
logind Convert build system to use meson tristate features 2022-02-28 08:34:48 -06:00
logitech-bulkcontroller logitech-bulkcontroller: Mark as signed payload 2022-03-17 20:46:43 +00:00
logitech-hidpp logitech-hidpp: Inherit the icon for the child device from the parent 2022-03-24 14:35:22 +00:00
modem-manager modem-manager: Remove the cache item and use a shadow device instead 2022-04-12 09:59:19 +01:00
msr trivial: msr: align the unencrypted RAM failures to match that of psp plugin 2022-04-12 12:23:16 -05:00
mtd trivial: Ignore the return value of setenv() in most cases 2022-04-13 15:08:12 +01:00
nitrokey Convert build system to use meson tristate features 2022-02-28 08:34:48 -06:00
nordic-hid nordic: Fix a small memory leak in an error path 2022-04-13 15:08:12 +01:00
nvme nvme: Add signed-payload for Western Digital hardware 2022-03-30 08:19:22 +01:00
optionrom Convert build system to use meson tristate features 2022-02-28 08:34:48 -06:00
parade-lspcon Mark more devices as CAN_VERIFY_IMAGE 2022-04-01 21:46:04 -05: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
pci-psp trivial: pci_psp: test an attribute to declare missing data 2022-04-14 01:39:22 -05:00
pixart-rf Allow devices to build instance IDs more easily 2022-03-03 09:13:29 +00:00
platform-integrity Convert build system to use meson tristate features 2022-02-28 08:34:48 -06:00
powerd Convert build system to use meson tristate features 2022-02-28 08:34:48 -06:00
realtek-mst Allow devices to build instance IDs more easily 2022-03-03 09:13:29 +00:00
redfish redfish: Don't add a device to itself when replugging 2022-04-14 13:06:21 +01:00
rts54hid Convert build system to use meson tristate features 2022-02-28 08:34:48 -06:00
rts54hub Convert build system to use meson tristate features 2022-02-28 08:34:48 -06:00
scsi trivial: scsi: fix a segfault with USB SCSI device plugged in 2022-04-04 13:57:42 -05:00
steelseries Convert build system to use meson tristate features 2022-02-28 08:34:48 -06:00
superio superio: Fix a small memory leak in an error path 2022-04-13 15:08:12 +01:00
synaptics-cape Convert build system to use meson tristate features 2022-02-28 08:34:48 -06:00
synaptics-cxaudio trivial: synaptics-cxaudio: Add entry for ThinkPad USB-C Dock Gen2 Audio with updated PID 2022-04-10 15:01:54 +01:00
synaptics-mst trivial: Convert more things to fu_progress_step_done() 2022-04-01 21:46:04 -05:00
synaptics-prometheus Allow devices to build instance IDs more easily 2022-03-03 09:13:29 +00:00
synaptics-rmi trivial: Fix some 'Comparison of narrow type with wide type in loop condition' 2022-04-05 14:45:42 +01:00
system76-launch Add System76 launch_lite_1 2022-03-31 19:01:11 +01:00
test Show devices that are updatable and payload signing is still unknown 2022-03-02 15:33:42 +00:00
thelio-io Convert build system to use meson tristate features 2022-02-28 08:34:48 -06:00
thunderbolt trivial: thunderbolt: set signed payload attribute for some external devices 2022-04-12 08:25:48 +01:00
tpm trivial: Ignore the return value of setenv() in most cases 2022-04-13 15:08:12 +01:00
uefi-capsule trivial: Ignore the return value of setenv() in most cases 2022-04-13 15:08:12 +01:00
uefi-dbx trivial: Ignore the return value of setenv() in most cases 2022-04-13 15:08:12 +01:00
uefi-pk Convert build system to use meson tristate features 2022-02-28 08:34:48 -06:00
uefi-recovery Convert build system to use meson tristate features 2022-02-28 08:34:48 -06:00
uf2 Mark more devices as CAN_VERIFY_IMAGE 2022-04-01 21:46:04 -05:00
upower upower: Support the new PENDING device states 2022-03-23 09:06:54 +00:00
usi-dock usi-dock: Mark as signed payload 2022-03-07 12:40:04 +00:00
vli trivial: Convert more things to fu_progress_step_done() 2022-04-01 21:46:04 -05:00
wacom-raw wacom-raw: Fix a Coverity false positive 2022-04-13 15:08:12 +01:00
wacom-usb trivial: Ignore the return value of setenv() in most cases 2022-04-13 15:08:12 +01:00
meson.build Add new plugin for AMD PSP 2022-04-12 12:23:16 -05: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.