fwupd/plugins
Richard Hughes d99f86023f trivial: Add getters to FuChunk
At the moment FuChunks are sometimes mutable, and sometimes immutable, and it's
all a bit too low level for comfort.

Before we can do any kind of optimisation or verification we need plugins to
stop reading directly from the C structure. The aim here is to make FuChunk
optionally mutable without making assumptions about the memory model, and also
to be able to introspect it for the docs.
2021-01-28 16:42:54 +00:00
..
acpi-dmar Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
acpi-facp Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
altos Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
amt Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
ata trivial: Add getters to FuChunk 2021-01-28 16:42:54 +00:00
bcm57xx trivial: Add getters to FuChunk 2021-01-28 16:42:54 +00:00
bios Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
ccgx Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
colorhug trivial: Add getters to FuChunk 2021-01-28 16:42:54 +00:00
cpu Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
cros-ec trivial: Add getters to FuChunk 2021-01-28 16:42:54 +00:00
csr trivial: Add getters to FuChunk 2021-01-28 16:42:54 +00:00
dell Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
dell-dock Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
dell-esrt Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
dfu trivial: Add getters to FuChunk 2021-01-28 16:42:54 +00:00
ebitdo trivial: Add getters to FuChunk 2021-01-28 16:42:54 +00:00
elantp trivial: Add getters to FuChunk 2021-01-28 16:42:54 +00:00
emmc trivial: Add getters to FuChunk 2021-01-28 16:42:54 +00:00
ep963x trivial: Add getters to FuChunk 2021-01-28 16:42:54 +00:00
fastboot trivial: Add getters to FuChunk 2021-01-28 16:42:54 +00:00
flashrom Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
fresco-pd Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
goodix-moc trivial: Add getters to FuChunk 2021-01-28 16:42:54 +00:00
hailuck trivial: Add getters to FuChunk 2021-01-28 16:42:54 +00:00
iommu Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
jabra Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
linux-lockdown Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
linux-sleep Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
linux-swap Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
linux-tainted Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
logind Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
logitech-hidpp Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
modem-manager Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
msr Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
nitrokey Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
nvme trivial: Add getters to FuChunk 2021-01-28 16:42:54 +00:00
optionrom Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
pci-bcr Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
pci-mei Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
pixart-rf trivial: Add getters to FuChunk 2021-01-28 16:42:54 +00:00
platform-integrity Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
redfish Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
rts54hid trivial: Add getters to FuChunk 2021-01-28 16:42:54 +00:00
rts54hub trivial: Add getters to FuChunk 2021-01-28 16:42:54 +00:00
solokey trivial: Add getters to FuChunk 2021-01-28 16:42:54 +00:00
steelseries Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
superio trivial: Add getters to FuChunk 2021-01-28 16:42:54 +00:00
synaptics-cxaudio trivial: Add getters to FuChunk 2021-01-28 16:42:54 +00:00
synaptics-mst Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
synaptics-prometheus Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
synaptics-rmi trivial: Add getters to FuChunk 2021-01-28 16:42:54 +00:00
system76-launch system76-launch: Add a plugin for the System76 Launch Configurable Keyboard 2021-01-23 20:28:16 +00:00
test Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
thelio-io Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
thunderbolt Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
tpm Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
tpm-eventlog Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
uefi-capsule uefi-capsule: Check if the fwupd BootXXXX entry exists on failure 2021-01-27 14:49:57 +00:00
uefi-dbx Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
uefi-pk Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
uefi-recovery Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
upower Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
vli trivial: Add getters to FuChunk 2021-01-28 16:42:54 +00:00
wacom-raw trivial: Add getters to FuChunk 2021-01-28 16:42:54 +00:00
wacom-usb trivial: Add getters to FuChunk 2021-01-28 16:42:54 +00:00
meson.build system76-launch: Add a plugin for the System76 Launch Configurable Keyboard 2021-01-23 20:28:16 +00: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.