mirror of
https://git.proxmox.com/git/fwupd
synced 2025-05-21 10:54:28 +00:00

This is a large commit that removes all the providers and turns them into plugins. I think having both providers _and_ plugins was super confusing. Plugins are loaded at runtime so you could in theory develop a new plugin without putting it in the fwupd source tree, although there are no installed headers or PC files as I'm not sure it's a good idea at this stage. This commit moves all the per-provider docs, tests, notes, debug dumps and test data to plugin-specific directories -- these also allows the plugin author to "own" more of the source tree so we don't enforce fu- prefixes and the style guide everywhere. This allows us to run the same action on all the plugins in the future, so we could have a prepare(FuPlugin, FuDevice) and cleanup(FuPlugin, FuDevice) run on *all* plugins, so doing an update using one plugin would allow us to work around hardware quirks in other plugins. If I've broken your out-of-tree provider it's trivial to port to the new API with sed and a fixed up build file. If you need help please let me know.
562 B
562 B
USB Support
Introduction
This plugin reads the version numbers of USB devices. It cannot deploy firmware onto devices but is used to list devices with known firmware updates that may require booting into another operating system to apply.
As other plugins may be able to actually deploy firmware onto the same device that this plugin can handle the signal emission is delayed to allow the better plugin to "win" and own the device. It is therefor important that the other plugin finishes enumeration of the device in less than 500ms.