fwupd/plugins
Richard Hughes d9e6cca414 csr: Add a new plugin to add support for CSR "Driverless DFU"
CSR is short for Cambridge Silicon Radio, which is a the OEM that makes most
of the bluetooth audio chips in vendor hardware. The hardware vendor can enable
or disable features on the CSR microcontroller depending on licensing options.

The hardware vendor can also use a custom USB descriptor, or just set a custom
PID. In the latter case we need to set the vendor and model to reality using
quirks.

This commit allows the user to update the firmware in the AIAIAI H05 wireless
headphones.
2017-12-11 10:47:18 +00:00
..
altos Add fu_device_set_progress_full() 2017-12-08 09:36:57 +00:00
amt amt: Move the coldplug to the correct startup phase 2017-11-27 18:07:53 +00:00
colorhug Set the progress and state on the FuDevice, not the FuPlugin 2017-11-30 20:51:52 +00:00
csr csr: Add a new plugin to add support for CSR "Driverless DFU" 2017-12-11 10:47:18 +00:00
dell trivial: Remove the now-unused fu_plugin_set_status() 2017-12-04 17:00:22 +00:00
dfu trivial: Move the USB quirks from FuPlugin to FuUsbDevice 2017-12-11 10:47:18 +00:00
ebitdo Add fu_device_set_progress_full() 2017-12-08 09:36:57 +00:00
nitrokey trivial: Add some common functionality from reading and writing to a buffer 2017-12-08 20:07:09 +00:00
raspberrypi Set the progress and state on the FuDevice, not the FuPlugin 2017-11-30 20:51:52 +00:00
steelseries trivial: Create the right kind of device in the steelseries plugin 2017-11-30 21:26:39 +00:00
synapticsmst Add fu_device_set_progress_full() 2017-12-08 09:36:57 +00:00
test Set the progress and state on the FuDevice, not the FuPlugin 2017-11-30 20:51:52 +00:00
thunderbolt Add fu_device_set_progress_full() 2017-12-08 09:36:57 +00:00
thunderbolt-power Set the progress and state on the FuDevice, not the FuPlugin 2017-11-30 20:51:52 +00:00
udev trivial: Add some common functionality from reading and writing to a buffer 2017-12-08 20:07:09 +00:00
uefi Set the progress and state on the FuDevice, not the FuPlugin 2017-11-30 20:51:52 +00:00
unifying unifying: Fix the string output format to match FuDevice 2017-12-10 14:50:58 +00:00
upower trivial: fix various spelling errors 2017-07-17 13:07:05 -05:00
meson.build csr: Add a new plugin to add support for CSR "Driverless DFU" 2017-12-11 10:47:18 +00:00
README.md trivial: minor typo that was missed on cherry-pick 2017-08-24 13:48:28 -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.

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.