fwupd/plugins
Mario Limonciello 20cc9eebc5 Try to only show DMI product name once
* libfwupd: export new property HostProduct
* clients: Use this property for setting the title of trees

Before:
```
○
├─XPS 13 7390 TPM 2.0:
│     Device ID:           c56e9f77cfee65151bdef90310776f9d62827f5a
│     Summary:             Platform TPM device
│     Current version:     7.2.1.0
│     Vendor:              Dell Inc.
│     Update Error:        Updating disabled due to TPM ownership
│     Flags:               internal|require-ac|registered
└─XPS 13 7390 System Firmware:
      Device ID:           b6c08fb9e5384d9d101853cc1ca20cf0ce2df2e2
      Current version:     0.1.1.1
      Minimum Version:     0.1.1.1
      Vendor:              Dell Inc.
      Flags:               internal|updatable|require-ac|registered|needs-reboot

```

After:
```
XPS 13 7390
│
├─TPM 2.0:
│     Device ID:           c56e9f77cfee65151bdef90310776f9d62827f5a
│     Summary:             Platform TPM device
│     Current version:     7.2.1.0
│     Vendor:              Dell Inc.
│     Update Error:        Updating disabled due to TPM ownership
│     Flags:               internal|require-ac|registered
└─System Firmware:
      Device ID:           b6c08fb9e5384d9d101853cc1ca20cf0ce2df2e2
      Current version:     0.1.1.1
      Minimum Version:     0.1.1.1
      Vendor:              Dell Inc.
      Flags:               internal|updatable|require-ac|registered|needs-reboot
```
2019-09-05 11:22:39 -05:00
..
altos Never use memcpy() in a possibly unsafe way 2019-08-12 09:22:09 -05:00
amt Never guess the version format from the version string 2019-04-30 09:25:41 +01:00
ata Use fu_common_string_append_kv() in subclassed device 2019-08-14 16:48:37 +01:00
colorhug Never use memcpy() in a possibly unsafe way 2019-08-12 09:22:09 -05:00
csr Use fu_common_string_append_kv() in subclassed device 2019-08-14 16:48:37 +01:00
dell Try to only show DMI product name once 2019-09-05 11:22:39 -05:00
dell-dock trivial: dell-dock: correct an error preventing write_size from being set 2019-08-27 09:28:30 -05:00
dell-esrt dell-esrt: Improve the experience for the plugin (Closes: #1245) 2019-07-15 04:37:37 -07:00
dfu Never use memcpy() in a possibly unsafe way 2019-08-12 09:22:09 -05:00
ebitdo Never use memcpy() in a possibly unsafe way 2019-08-12 09:22:09 -05:00
fastboot Use fu_common_string_append_kv() in subclassed device 2019-08-14 16:48:37 +01:00
flashrom flashrom: Only show DEBUG and DEBUG2 output if using --plugin-verbose=flashrom 2019-07-12 09:22:38 -07:00
modem-manager Use fu_common_string_append_kv() in subclassed device 2019-08-14 16:48:37 +01:00
nitrokey Never guess the version format from the version string 2019-04-30 09:25:41 +01:00
nvme Use fu_common_string_append_kv() in subclassed device 2019-08-14 16:48:37 +01:00
redfish Fix a crash when stopping the fwupd service 2019-08-01 13:00:51 +01:00
rts54hid Use fu_common_string_append_kv() in subclassed device 2019-08-14 16:48:37 +01:00
rts54hub Use fu_common_string_append_kv() in subclassed device 2019-08-14 16:48:37 +01:00
solokey trivial: Add some helper functions for GByteArray 2019-08-15 09:50:37 +01:00
steelseries Never guess the version format from the version string 2019-04-30 09:25:41 +01:00
superio Use fu_common_string_append_kv() in subclassed device 2019-08-14 16:48:37 +01:00
synaptics-prometheus trivial: Add some helper functions for GByteArray 2019-08-15 09:50:37 +01:00
synapticsmst synapticsmst: Partially rewrite the plugin (Fixes #1105) 2019-08-28 08:50:15 -05:00
test Never guess the version format from the version string 2019-04-30 09:25:41 +01:00
thunderbolt Try to only show DMI product name once 2019-09-05 11:22:39 -05:00
thunderbolt-power Show a console warning if loading an out-of-tree plugin 2019-01-19 07:26:20 +00:00
udev Never guess the version format from the version string 2019-04-30 09:25:41 +01:00
uefi Try to only show DMI product name once 2019-09-05 11:22:39 -05:00
unifying unifying: use fu_firmware_strparse_uint16 to read be 16bit values 2019-08-29 20:01:58 +01:00
upower Add a specific error code for the low battery case 2019-07-11 09:31:34 -07:00
wacom-raw Use fu_common_string_append_kv() in subclassed device 2019-08-14 16:48:37 +01:00
wacom-usb Use fu_common_string_append_kv() in subclassed device 2019-08-14 16:48:37 +01:00
meson.build Add support for the SoloKey Secure 2019-07-30 16:16:14 +01: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.