fwupd/plugins
Richard Hughes 838d91e4ed Add support for counterpart GUIDs
These are GUIDs that are related to the main device, but should not be used for
quirk matching. For instance, we might want to list the GUIDs for a bootloader
mode, but we don't want to import all the quirks for the bootloader when in the
runtime mode.
2018-08-30 16:55:41 +01:00
..
altos Add support for counterpart GUIDs 2018-08-30 16:55:41 +01:00
amt Remove the unused Emacs indenting headers from all source files 2018-08-09 12:48:04 +01:00
colorhug Add support for counterpart GUIDs 2018-08-30 16:55:41 +01:00
csr trivial: Allow setting the firmware min and max sizes from quirk files 2018-08-28 18:30:00 +01:00
dell trivial: Move gudev to the core plugin deps 2018-08-26 19:38:58 +01:00
dell-esrt Remove the unused Emacs indenting headers from all source files 2018-08-09 12:48:04 +01:00
dfu Add support for counterpart GUIDs 2018-08-30 16:55:41 +01:00
ebitdo Add support for counterpart GUIDs 2018-08-30 16:55:41 +01:00
flashrom trivial: Refactor out functionality from a mega-method 2018-08-30 16:53:19 +01:00
nitrokey Add support for counterpart GUIDs 2018-08-30 16:55:41 +01:00
nvme nvme: Add a new plugin to update NVMe hardware 2018-08-26 19:42:28 +01:00
redfish trivial: Remove duplicate dependency() for json-glib 2018-08-21 09:43:08 +01:00
steelseries Remove the unused Emacs indenting headers from all source files 2018-08-09 12:48:04 +01:00
superio superio: Add support for the W740SU 2018-08-27 09:32:49 +01:00
synapticsmst synapticsmst: Allow using a custom flag 'skip-restart' 2018-08-29 07:55:27 +01:00
test Remove the unused Emacs indenting headers from all source files 2018-08-09 12:48:04 +01:00
thunderbolt thunderbolt: Move setting parentage of TB16 into quirks 2018-08-28 18:30:00 +01:00
thunderbolt-power thunderbolt-power: Use bolt force power API if available 2018-08-28 09:47:56 -05:00
udev udev: Use the new FuUdevDevice abstraction 2018-08-26 19:42:28 +01:00
uefi trivial: Refactor out functionality from a mega-method 2018-08-30 16:53:19 +01:00
unifying Add support for counterpart GUIDs 2018-08-30 16:55:41 +01:00
upower upower: Allow forcing installation even if no AC power is applied 2018-08-21 13:49:38 -05:00
wacomhid trivial: Move gudev to the core plugin deps 2018-08-26 19:38:58 +01:00
meson.build flashrom: Add a plugin for updating using the flashrom command line tool 2018-08-28 09:25:36 +01:00
README.md trivial: Use the SSL www-less homepage URL everywhere 2018-03-14 18:15:17 +00: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.

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.

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/hughsie/fwupd/blob/master/src/fu-device-metadata.h

All interactions between plugins should have the interface defined in that file.