fwupd/plugins
Richard Hughes 72e7a82c88 uefi: Check the error code of QueryCapsuleCapabilities() correctly
We can't print max or reset as they are undefined in the event of failure.
2019-03-15 09:27:55 +00:00
..
altos Use '#pragma once' to avoid a lot of boilerplate 2019-02-09 08:42:30 -06:00
amt Add fwupd_guid_from_string() to drop dep on uuid 2019-02-06 14:48:04 +00:00
ata ata: Support delayed activation 2019-02-27 09:04:54 +00:00
colorhug Use '#pragma once' to avoid a lot of boilerplate 2019-02-09 08:42:30 -06:00
csr Use '#pragma once' to avoid a lot of boilerplate 2019-02-09 08:42:30 -06:00
dell Use '#pragma once' to avoid a lot of boilerplate 2019-02-09 08:42:30 -06:00
dell-dock dell-dock: Use activation when calling fwupdtool activate 2019-02-27 09:04:54 +00:00
dell-esrt Show a console warning if loading an out-of-tree plugin 2019-01-19 07:26:20 +00:00
dfu Use '#pragma once' to avoid a lot of boilerplate 2019-02-09 08:42:30 -06:00
ebitdo Use '#pragma once' to avoid a lot of boilerplate 2019-02-09 08:42:30 -06:00
fastboot Use '#pragma once' to avoid a lot of boilerplate 2019-02-09 08:42:30 -06:00
flashrom Do not fail to start the daemon if tpm2_pcrlist hangs 2019-02-26 14:27:13 +00:00
modem-manager modem-manager: Fix a trivial build warning 2019-03-08 18:34:36 +00:00
nitrokey Use '#pragma once' to avoid a lot of boilerplate 2019-02-09 08:42:30 -06:00
nvme trivial: libfwupd: correct a segfault when building a GUID 2019-02-13 16:40:07 +00:00
redfish Use '#pragma once' to avoid a lot of boilerplate 2019-02-09 08:42:30 -06:00
rts54hid Use '#pragma once' to avoid a lot of boilerplate 2019-02-09 08:42:30 -06:00
rts54hub Use '#pragma once' to avoid a lot of boilerplate 2019-02-09 08:42:30 -06:00
steelseries Use '#pragma once' to avoid a lot of boilerplate 2019-02-09 08:42:30 -06:00
superio superio: Fix a trivial build warning 2019-03-08 18:33:06 +00:00
synapticsmst trivial: synapticsmst: remove unneeded fixme 2019-03-05 09:39:29 +00:00
test Add a support for delayed activation 2019-02-27 09:04:54 +00:00
thunderbolt Use '#pragma once' to avoid a lot of boilerplate 2019-02-09 08:42:30 -06:00
thunderbolt-power Show a console warning if loading an out-of-tree plugin 2019-01-19 07:26:20 +00:00
udev fu-tool: Save device state to @LOCALSTATEDIR@/lib/fwupd/state.json on actions 2019-02-28 10:32:45 -06:00
uefi uefi: Check the error code of QueryCapsuleCapabilities() correctly 2019-03-15 09:27:55 +00:00
unifying unifying: Fix regression when recovering from failed flash 2019-02-12 10:00:02 +00:00
upower trivial: upower: correct a logic error from ed021ab 2019-01-31 14:56:08 -06:00
wacom-raw Use '#pragma once' to avoid a lot of boilerplate 2019-02-09 08:42:30 -06:00
wacom-usb wacom-usb: Use the correct buffer format for the touch module 2019-02-12 10:16:42 -06:00
meson.build Add a plugin to support ModemManager hardware 2019-02-27 16:09:13 +00:00
README.md trivial: Clarify our position on proprietary plugins 2019-01-18 12:21:46 -06: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.

We will not accept plugins that upgrade hardware using a proprietary Linux executable, 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/hughsie/fwupd/blob/master/src/fu-device-metadata.h

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