fwupd/plugins
Ivan Mikhanchuk b170bc348e modem-manager: check driver name instead of bus type
Firmware update mechanism depends on the bus and driver type.
Since USB devices can be sitting on the PCI bus, use driver names
comparison instead of physical ids.
2022-09-30 12:04:40 +01:00
..
acpi-dmar trivial: don't refer to plugindir in the build system anymore 2022-09-28 15:12:10 -05:00
acpi-facp trivial: don't refer to plugindir in the build system anymore 2022-09-28 15:12:10 -05:00
acpi-ivrs trivial: don't refer to plugindir in the build system anymore 2022-09-28 15:12:10 -05:00
acpi-phat trivial: don't refer to plugindir in the build system anymore 2022-09-28 15:12:10 -05:00
amd-pmc Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
amt Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
analogix Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
android-boot Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
ata trivial: don't refer to plugindir in the build system anymore 2022-09-28 15:12:10 -05:00
bcm57xx trivial: don't refer to plugindir in the build system anymore 2022-09-28 15:12:10 -05:00
bios Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
ccgx trivial: don't refer to plugindir in the build system anymore 2022-09-28 15:12:10 -05:00
cfu Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
ch341a Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
colorhug Allow compiling plugin as built-in GObjects 2022-09-28 12:52:00 +01:00
corsair Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
cpu Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
cros-ec Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
dell Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
dell-dock Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
dell-esrt Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
dfu trivial: fix dfu-tool linking 2022-09-29 11:04:38 -05:00
dfu-csr Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
ebitdo Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
elanfp Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
elantp trivial: don't refer to plugindir in the build system anymore 2022-09-28 15:12:10 -05:00
emmc Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
ep963x Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
fastboot Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
flashrom trivial: Do not require fu-hash.h for builtin plugins 2022-09-30 10:36:12 +01:00
focalfp Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
fpc Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
fresco-pd Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
genesys Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
goodix-moc Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
gpio Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
hailuck Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
intel-spi Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
intel-usb4 Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
iommu Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
jabra Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
kinetic-dp Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
lenovo-thinklmi Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
linux-lockdown Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
linux-sleep Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
linux-swap trivial: don't refer to plugindir in the build system anymore 2022-09-28 15:12:10 -05:00
linux-tainted Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
logind Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
logitech-bulkcontroller Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
logitech-hidpp Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
modem-manager modem-manager: check driver name instead of bus type 2022-09-30 12:04:40 +01:00
msr Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
mtd trivial: don't refer to plugindir in the build system anymore 2022-09-28 15:12:10 -05:00
nitrokey trivial: don't refer to plugindir in the build system anymore 2022-09-28 15:12:10 -05:00
nordic-hid Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
nvme trivial: don't refer to plugindir in the build system anymore 2022-09-28 15:12:10 -05:00
optionrom Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
parade-lspcon Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
pci-bcr Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
pci-mei Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
pci-psp Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
pixart-rf trivial: don't refer to plugindir in the build system anymore 2022-09-28 15:12:10 -05:00
powerd Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
realtek-mst Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
redfish trivial: don't refer to plugindir in the build system anymore 2022-09-28 15:12:10 -05:00
rts54hid Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
rts54hub Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
scsi Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
steelseries Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
superio Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
synaptics-cape Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
synaptics-cxaudio Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
synaptics-mst trivial: don't refer to plugindir in the build system anymore 2022-09-28 15:12:10 -05:00
synaptics-prometheus trivial: don't refer to plugindir in the build system anymore 2022-09-28 15:12:10 -05:00
synaptics-rmi trivial: don't refer to plugindir in the build system anymore 2022-09-28 15:12:10 -05:00
system76-launch Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
test trivial: don't refer to plugindir in the build system anymore 2022-09-28 15:12:10 -05:00
thelio-io Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
thunderbolt Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
tpm trivial: Use the existing plugin objects in fwupdtpmevlog 2022-09-29 12:32:53 +01:00
uefi-capsule trivial: Use the existing plugin objects in fwupdate 2022-09-29 12:32:53 +01:00
uefi-dbx trivial: Use the existing plugin objects in dbxtool 2022-09-29 12:32:53 +01:00
uefi-pk Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
uefi-recovery Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
uf2 trivial: don't refer to plugindir in the build system anymore 2022-09-28 15:12:10 -05:00
upower Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
usi-dock Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
vbe Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
vli trivial: don't refer to plugindir in the build system anymore 2022-09-28 15:12:10 -05:00
wacom-raw Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
wacom-usb trivial: don't refer to plugindir in the build system anymore 2022-09-28 15:12:10 -05:00
meson.build Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
migrate.py Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
README.md Rename the development branch from master to main 2021-09-24 14:20:24 -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/main/libfwupdplugin/fu-device-metadata.h

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