Commit Graph

8138 Commits

Author SHA1 Message Date
Richard Hughes
44dee88ad6 trivial: Protect against multiple uses of fu_plugin_alloc_data() in a plugin 2017-01-11 08:31:10 +00:00
Richard Hughes
b21e324c23 trivial: Always call update_cleanup() even when the update action fails
In this case we can't return any failure to cleanup and just log the warning
on the console.
2017-01-11 08:29:17 +00:00
Mario Limonciello
0d92e865aa trivial: thunderbolt: don't allocate new plugin data on rescan 2017-01-10 19:55:12 -06:00
Mario Limonciello
9df75f7206 trivial: dell: move coldplug delay setting to startup() 2017-01-10 17:13:08 -06:00
Richard Hughes
cd35e3c242 trivial: Fix a compile warning when doing a unifying control transfer 2017-01-10 22:10:50 +00:00
Richard Hughes
04ec912b19 trivial: Fix some colorhug function name prefixes 2017-01-10 22:10:50 +00:00
Richard Hughes
b5574b463e trivial: Fix example spec file 2017-01-10 22:10:50 +00:00
Richard Hughes
932eb397d2 trivial: Fix 'make distcheck' 2017-01-10 22:10:50 +00:00
Mario Limonciello
592ab30b3c trivial: dell: update_prepare/update_cleanup on only certain plugins 2017-01-10 15:39:25 -06:00
Richard Hughes
23b9c9d78d trivial: Use the per-plugin cache for the runtime device
There is no point having two hash tables doing the same thing...
2017-01-10 16:09:38 +00:00
Richard Hughes
57d18229a1 trivial: Add some more documentation for functions used by plugins 2017-01-10 16:09:32 +00:00
Richard Hughes
4190178f94 trivial: Remove the unused fu_plugin_set_name() 2017-01-10 16:09:32 +00:00
Richard Hughes
0de35b058d unifying: Subclass FuDevice like the altos plugin 2017-01-10 16:09:32 +00:00
Richard Hughes
a4e44ce39b altos: Set the flags in the init_real so they work for the cmdline tool 2017-01-10 16:09:32 +00:00
Richard Hughes
b721d4326f ebitdo: Subclass FuDevice like the altos plugin
This makes things much simpler.
2017-01-10 14:02:16 +00:00
Richard Hughes
dc390e3a68 trivial: Set up two flags not set by cfmakeraw() 2017-01-10 12:49:52 +00:00
Richard Hughes
7a44ff9748 altos: Add error checking when using termios 2017-01-10 12:48:08 +00:00
Richard Hughes
b082903c5f Add fu_plugin_set_coldplug_delay() to allow hardware to initialize if required 2017-01-10 09:27:08 +00:00
Richard Hughes
10ec93b187 Revert "thunderbolt: add some guards around empty arrays"
This reverts commit 5f1c991c40.
2017-01-09 21:34:43 +00:00
Richard Hughes
efa55b83a7 dell: Fix possible linker problem
The linker does not know which public symbol to call if a plugin calls it's own
symbol. Without this change one plugin could call into another plugin with the
wrong GsPluginData set.
2017-01-09 21:32:44 +00:00
Richard Hughes
2b464378ea trivial: Add flags to fu_device_altos_write_firmware() 2017-01-09 21:25:50 +00:00
Mario Limonciello
2bcc151619 dell: Adjust the coldplug preparation and cleanup sequence
Unfortunately no indication is made that a GPIO change is
done so some time needs to be left to make sure this happened.
2017-01-09 13:31:35 -06:00
Mario Limonciello
5f1c991c40 thunderbolt: add some guards around empty arrays
Depending upon the call order and devices coming or going these
may or may not have anything actually contained which will cause
segfaults otherwise.
2017-01-09 11:11:19 -06:00
Richard Hughes
05133fefb7 Add support for flashing the ChaosKey 2017-01-09 12:21:35 +00:00
Richard Hughes
4ff3169556 thunderbolt: Detecting new devices and add an actual device to the daemon
Also, add an untested update implementation.

Based on a patch by Eric Rubin-smith <ericx.rubin-smith@intel.com>, many thanks.
2017-01-08 16:14:35 +00:00
Richard Hughes
f360583f3c trivial: Reschedule a recoldplug after a small delay
This also ensures that we only re-coldplug once if multiple plugins request
the action in the same 1500ms window.
2017-01-08 10:51:57 +00:00
Richard Hughes
f028ba25ac trivial: Do not allow recoldplugging whilst in coldplug itself 2017-01-08 10:45:12 +00:00
Richard Hughes
1d511fafa6 trivial: Fix a uninitialized value in the dell plugin
Spotted using clang.
2017-01-07 22:14:28 +00:00
Richard Hughes
c7ea2a2369 trivial: Fix up two compile warnings 2017-01-07 22:10:14 +00:00
Richard Hughes
66a24da646 trivial: Actually allow compiling with libelf 2017-01-07 22:07:13 +00:00
Richard Hughes
362d6d7d7d Allow plugins to request that all plugins re-coldplug
This allows a plugin to signal the daemon that something has happened and that
all plugins should wake up connected devices, re-add them all and then put the
devices back to powersave mode. Any duplicate devices will be ignored.
2017-01-07 21:42:17 +00:00
Richard Hughes
46487c944a Add the ability to run a prepare->exec->cleanup on coldplug
The idea here is that plugins can 'wake up' hardware in prepare, and put it
back into powersaving mode when doing cleanup.
2017-01-07 21:26:36 +00:00
Richard Hughes
57d8bf6590 trivial: Fix a compile warning in the dell plugin 2017-01-07 21:15:46 +00:00
Richard Hughes
ba79b07b4f libdfu: Don't read data from some DfuSe targets
The option bytes section makes no sense to include in the flashed image.
2017-01-07 21:13:51 +00:00
Mario Limonciello
5723c2f643 dell: Add coldplug methods to let other plugins turn on TBT/GPIO
Remove the dummy devices created for NVM and MST, these will
be created by other plugins.  Other plugins will however
be using the Dell methods to enable these devices.
2017-01-06 15:25:57 -06:00
Mario Limonciello
ddeb0297bf trivial: dell: remove unnecessary usb_ctx after moving to plugins 2017-01-06 12:03:21 -06:00
Mario Limonciello
49c96b8941 trivial: dell: remove unnecessary include 2017-01-06 12:03:21 -06:00
Richard Hughes
4852ff8521 Fix the appstream-glib version guards
Resolves: https://github.com/hughsie/fwupd/issues/78
2017-01-04 20:38:29 +00:00
Richard Hughes
7ceb318a27 Add fwupd_result_get_device_version_bootloader()
This functionality is required so that AppStream metadata can check the fwupd
version, the firmware version, bootloader version or a combination of all three.
2016-12-23 11:21:22 +00:00
Richard Hughes
404cc51be3 Allow the metadata to match a version of fwupd and the existing fw version
This allows us to have new markup specified in the MetaInfo or AppStream XML:

  <requires>
    <id compare="ge" version="0.8.1">org.freedesktop.fwupd</id>
    <firmware compare="ge" version="0.1.2"/>
  </requires>

This means that only updates that match these versions will be shown.
2016-12-21 16:16:18 +00:00
Richard Hughes
d4184cf2c6 trivial: Fix a crash when a Unifying USB device is quickly replugged
We need to remove the device from the delayed hash table to ensure we don't
accidently free the helper when it removed a *second* time.
2016-12-21 16:05:19 +00:00
Richard Hughes
2d744f5571 trivial: Fix critical warning when policykit rules are not installed 2016-12-20 09:07:37 +00:00
Richard Hughes
0075a98b51 unifying: Use the actual bootloader VID/PIDs when in firmware mode 2016-12-16 21:24:55 +00:00
Richard Hughes
04042a10e8 trivial: Fix a tiny memory leak in the Udev plugin
Also, fix some method prefixes to match the plugin name.
2016-12-16 14:03:08 +00:00
Richard Hughes
a59777ad8d Add initial skeleton for Intel Thunderbolt support 2016-12-16 12:41:57 +00:00
Richard Hughes
598a40d746 trivial: Use a delay when adding Udev devices
There might be a better plugin to claim these than the generic fallback.
2016-12-16 12:41:57 +00:00
Richard Hughes
ae3d65f60b Move the device add delay to shared code
This allows us to reuse the logic in other plugins.
2016-12-16 12:41:57 +00:00
Richard Hughes
74702297b2 Move the Option ROM parsing to the Udev plugin 2016-12-15 17:09:38 +00:00
Richard Hughes
29c220db9f Add VerifyUpdate to update the device checksums server-side 2016-12-15 17:09:37 +00:00
Mario Limonciello
3b09e323c8 trivial: whitespace fixes in dell plugin 2016-12-15 10:30:41 -06:00