fwupd/plugins
Richard Hughes 0cc06f032c Add a flag to open and close with the parent device
This is a common pattern that is used in lots of plugins, so move the
logic into common code.
2021-07-11 16:37:47 +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 acpi-phat: Prevent a corrupt PHAT table from allocating ~4GB of memory 2021-07-02 21:28:39 +01:00
altos Standardize some of the device summary text 2021-07-09 07:07:07 +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 Standardize some of the device summary text 2021-07-09 07:07:07 +01:00
bcm57xx Move amdgpu safety check into the plugin 2021-07-04 17:49:36 +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: don't use noclone attribute for cet checker on clang 2021-06-29 14:37:44 -05:00
cros-ec Allow adding and removing custom flags on devices 2021-06-23 07:59:15 +01:00
dell Standardize some of the device summary text 2021-07-09 07:07:07 +01:00
dell-dock Allow adding and removing custom flags on devices 2021-06-23 07:59:15 +01:00
dell-esrt Standardize some of the device summary text 2021-07-09 07:07:07 +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 Standardize some of the device summary text 2021-07-09 07:07:07 +01:00
emmc Move amdgpu safety check into the plugin 2021-07-04 17:49:36 +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 Move amdgpu safety check into the plugin 2021-07-04 17:49:36 +01:00
fresco-pd Split up FuUsbDevice into ->open() and ->setup() 2021-06-17 16:21:41 +01:00
goodix-moc Standardize some of the device summary text 2021-07-09 07:07:07 +01:00
hailuck Add a flag to open and close with the parent device 2021-07-11 16:37:47 +01:00
intel-spi Add a flag to open and close with the parent device 2021-07-11 16:37:47 +01:00
iommu Move amdgpu safety check into the plugin 2021-07-04 17:49:36 +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 Standardize some of the device summary text 2021-07-09 07:07:07 +01:00
modem-manager modem-manager: Add MBIM QDU support for firmware downloading in the MM plugin 2021-06-28 10:11:15 +01:00
msr Move amdgpu safety check into the plugin 2021-07-04 17:49:36 +01:00
nitrokey Split up FuUsbDevice into ->open() and ->setup() 2021-06-17 16:21:41 +01:00
nvme Standardize some of the device summary text 2021-07-09 07:07:07 +01:00
optionrom Move amdgpu safety check into the plugin 2021-07-04 17:49:36 +01:00
pci-bcr Move amdgpu safety check into the plugin 2021-07-04 17:49:36 +01:00
pci-mei Move amdgpu safety check into the plugin 2021-07-04 17:49:36 +01:00
pixart-rf Add a flag to open and close with the parent device 2021-07-11 16:37:47 +01:00
platform-integrity Move amdgpu safety check into the plugin 2021-07-04 17:49:36 +01:00
realtek-mst realtek-mst: Show the write failure when using --verbose 2021-07-10 13:51:28 +01:00
redfish redfish: Restore compatibility with old libcurl versions 2021-07-09 16:30:30 +01:00
rts54hid Add a flag to open and close with the parent device 2021-07-11 16:37:47 +01:00
rts54hub Add a flag to open and close with the parent device 2021-07-11 16:37:47 +01:00
solokey Standardize some of the device summary text 2021-07-09 07:07:07 +01:00
steelseries Split up FuUsbDevice into ->open() and ->setup() 2021-06-17 16:21:41 +01:00
superio superio: Always ensure the version string is NUL terminated 2021-07-10 13:51:28 +01:00
synaptics-cxaudio Split up FuUsbDevice into ->open() and ->setup() 2021-06-17 16:21:41 +01:00
synaptics-mst Standardize some of the device summary text 2021-07-09 07:07:07 +01:00
synaptics-prometheus Add a flag to open and close with the parent device 2021-07-11 16:37:47 +01:00
synaptics-rmi Move amdgpu safety check into the plugin 2021-07-04 17:49:36 +01:00
system76-launch Split up FuUsbDevice into ->open() and ->setup() 2021-06-17 16:21:41 +01:00
test Standardize some of the device summary text 2021-07-09 07:07:07 +01:00
thelio-io trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
thunderbolt Move amdgpu safety check into the plugin 2021-07-04 17:49:36 +01:00
tpm Move amdgpu safety check into the plugin 2021-07-04 17:49:36 +01:00
tpm-eventlog trivial: promote fwupd_checksum_format_for_display into ABI 2021-06-16 08:37:34 +01:00
uefi-capsule trivial: Don't set a device ID if setting a physical ID 2021-07-09 14:08:12 +01:00
uefi-dbx Standardize some of the device summary text 2021-07-09 07:07:07 +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 Standardize some of the device summary text 2021-07-09 07:07:07 +01:00
wacom-raw Move amdgpu safety check into the plugin 2021-07-04 17:49:36 +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 realtek_mst: new plugin supporting RTD2142 2021-06-28 10:09:52 +01: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.