fwupd/plugins
Mario Limonciello 53a49b4ac1 Restore AMD SME check
Starting with linux kernel 5.18 the SME flag will be removed from
/proc/cpuinfo when it's not activated.

Link: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=08f253ec3767bcfafc5d32617a92cee57c63968e
2022-02-17 10:08:33 -06:00
..
acpi-dmar Make the HSI tests optional for embedded targets 2021-11-29 09:30:57 +00:00
acpi-facp Make the HSI tests optional for embedded targets 2021-11-29 09:30:57 +00:00
acpi-phat Make more plugins optional 2021-11-29 09:30:57 +00:00
amt Do not include the vendor name in the AMT device 2022-02-14 12:35:44 +00:00
analogix analogix: Do not hardcode the device vendor 2022-01-27 06:25:13 +00:00
ata ata: Correctly chain up to FuUdevDevice when debugging 2022-02-15 09:23:05 +00:00
bcm57xx Make more plugins optional 2021-11-29 09:30:57 +00:00
bios Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
ccgx Show why devices are not marked as updatable 2022-01-13 12:40:56 +00:00
cfu cfu: Add a missing version setter 2021-12-10 15:58:22 +00:00
colorhug Add fu_usb_device_add_interface() for plugins to use 2022-01-04 22:05:37 +00:00
cpu trivial: Add the missing plugin_cpu 2021-12-10 12:00:33 +00:00
cros-ec cros-ec: Add progress completion when writing blocks 2022-01-07 07:24:08 +00:00
dell Don't show TSS2 error messages by default (Fixes: #4291) 2022-02-16 09:51:11 -06:00
dell-dock dell-dock: fix a segfault if device isn't added yet 2022-01-23 17:53:51 +00:00
dell-esrt Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
dfu Do not use gettext before calling setlocale 2022-02-09 16:56:47 +00:00
dfu-csr Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
ebitdo trivial: Do not match the legacy bootloader VID/PID 2022-01-17 15:41:04 +00:00
elanfp Add fu_usb_device_add_interface() for plugins to use 2022-01-04 22:05:37 +00:00
elantp Allow patching firmware files at known offsets 2022-01-05 09:51:45 +00:00
emmc Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
ep963x Make more plugins optional 2021-11-29 09:30:57 +00:00
fastboot Add fu_usb_device_add_interface() for plugins to use 2022-01-04 22:05:37 +00:00
flashrom plugins/flashrom: Add Star Lite Mk III coreboot GUID 2022-02-15 21:46:48 -06:00
fresco-pd Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
goodix-moc Add fu_usb_device_add_interface() for plugins to use 2022-01-04 22:05:37 +00:00
gpio Add a plugin to set GPIOs for the duration of an update 2022-02-16 14:01:07 +00:00
hailuck Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
intel-spi intel-spi: Sync with the device list found in flashrom 2022-02-17 15:50:18 +00:00
iommu Make the HSI tests optional for embedded targets 2021-11-29 09:30:57 +00:00
jabra Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
lenovo-thinklmi trivial: Cast the g_signal_connect() object to allow static analysis 2022-01-03 22:46:23 +00:00
linux-lockdown trivial: Cast the g_signal_connect() object to allow static analysis 2022-01-03 22:46:23 +00:00
linux-sleep Make the HSI tests optional for embedded targets 2021-11-29 09:30:57 +00:00
linux-swap trivial: Cast the g_signal_connect() object to allow static analysis 2022-01-03 22:46:23 +00:00
linux-tainted trivial: Cast the g_signal_connect() object to allow static analysis 2022-01-03 22:46:23 +00:00
logind Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
logitech-bulkcontroller Add fu_usb_device_add_interface() for plugins to use 2022-01-04 22:05:37 +00:00
logitech-hidpp logitech-hidpp: Always hardcode the vendor for FuLogitechHidPpDevice 2022-01-06 19:23:58 +00:00
modem-manager modem-manager: Assign the FuUsbDevice to the FuMmDevice 2022-02-16 16:07:23 +00:00
msr Restore AMD SME check 2022-02-17 10:08:33 -06:00
mtd Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
nitrokey Make more plugins optional 2021-11-29 09:30:57 +00:00
nordic-hid plugins/nordic-hid: extend the doc with tested HW 2022-02-04 13:46:59 +03:00
nvme trivial: use src directory for quirks for ata and nvme plugins 2022-02-03 09:40:12 -06:00
optionrom Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
parade-lspcon parade-lspcon: Add a missing error check 2021-12-10 15:58:39 +00: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
pixart-rf Allow patching firmware files at known offsets 2022-01-05 09:51:45 +00:00
platform-integrity Make the HSI tests optional for embedded targets 2021-11-29 09:30:57 +00:00
powerd trivial: Fix various const issues 2022-01-03 22:46:23 +00:00
realtek-mst Show why devices are not marked as updatable 2022-01-13 12:40:56 +00:00
redfish redfish: Be more robust by retrying IPMI transactions 2022-02-01 16:18:28 +00:00
rts54hid Check the value range when parsing the quirk keys 2021-12-09 13:09:43 +00:00
rts54hub trivial: Change some problematic language that crept in 2022-01-20 08:54:31 +00:00
steelseries Add fu_usb_device_add_interface() for plugins to use 2022-01-04 22:05:37 +00:00
superio trivial: Add some more annotations for language bindings 2022-01-03 22:46:23 +00:00
synaptics-cape Allow patching firmware files at known offsets 2022-01-05 09:51:45 +00:00
synaptics-cxaudio Check the value range when parsing the quirk keys 2021-12-09 13:09:43 +00:00
synaptics-mst trivial: synaptics-mst: use environment for quirk override location 2022-02-03 09:40:12 -06:00
synaptics-prometheus Allow patching firmware files at known offsets 2022-01-05 09:51:45 +00:00
synaptics-rmi Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
system76-launch Add fu_usb_device_add_interface() for plugins to use 2022-01-04 22:05:37 +00:00
test Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
thelio-io Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
thunderbolt thunderbolt: Fix up some error handling when updating usb4 retimers 2022-02-16 14:51:03 +00:00
tpm Don't show TSS2 error messages by default (Fixes: #4291) 2022-02-16 09:51:11 -06:00
uefi-capsule trivial: Do not install test data for -Dtests=false 2022-02-16 19:38:45 +00:00
uefi-dbx Do not use gettext before calling setlocale 2022-02-09 16:56:47 +00:00
uefi-pk Make the HSI tests optional for embedded targets 2021-11-29 09:30:57 +00:00
uefi-recovery Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
uf2 Allow patching firmware files at known offsets 2022-01-05 09:51:45 +00:00
upower trivial: Fix up some clang-format issues that snuck in recently 2022-01-06 17:04:34 +00:00
usi-dock trivial: Cast the g_signal_connect() object to allow static analysis 2022-01-03 22:46:23 +00:00
vli vli: Set the progress values for the MSP430 update 2022-02-07 14:21:01 +00:00
wacom-raw Check the value range when parsing the quirk keys 2021-12-09 13:09:43 +00:00
wacom-usb trivial: Add some more annotations for language bindings 2022-01-03 22:46:23 +00:00
meson.build Add a plugin to set GPIOs for the duration of an update 2022-02-16 14:01:07 +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.