fwupd/plugins
2018-09-02 14:45:39 -05:00
..
altos Add support for counterpart GUIDs 2018-08-30 16:55:41 +01:00
amt plugins: Set platform IDs for non-USB/non-UDEV plugins 2018-09-02 14:45:39 -05:00
colorhug Allow the device list to take care of waiting for the device replug 2018-08-31 16:41:40 +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 Allow the device list to take care of waiting for the device replug 2018-08-31 16:41:40 +01:00
ebitdo Allow the device list to take care of waiting for the device replug 2018-08-31 16:41:40 +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 plugins: Set platform IDs for non-USB/non-UDEV plugins 2018-09-02 14:45:39 -05: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 plugins: Set platform IDs for non-USB/non-UDEV plugins 2018-09-02 14:45:39 -05:00
unifying unifying: Specify the runtime counterpart GUID 2018-08-31 09:58:40 +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.