• Richard Hughes's avatar
    Convert the providers to plugins to simplify code and for future features · cff38bcb
    Richard Hughes authored
    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.