Richard Hughes
c909ab3f3c
unifying: Fix regression when recovering from failed flash
...
The unifying version numbers are of the form 'RQR24.00_B0000' which means we
have to force the plugin to 'plain' version format to avoid stripping out the
non-semver chars.
Fixes https://github.com/hughsie/fwupd/issues/1018
2019-02-12 10:00:02 +00:00
Richard Hughes
bfd946e463
Use '#pragma once' to avoid a lot of boilerplate
2019-02-09 08:42:30 -06:00
Richard Hughes
65c81921b6
Add fu_device_add_instance_id() and prefer explicit conversion
2019-02-04 15:19:57 +00:00
Richard Hughes
96e6783982
trivial: Fix potential compile failures for high -j values
2019-02-01 16:52:16 +00:00
Richard Hughes
4fef28d0ac
trivial: Add the missing protocol IDs to the plugin READMEs
2019-01-29 22:28:09 +00:00
Richard Hughes
f425d29a28
Show a console warning if loading an out-of-tree plugin
...
Fixes https://github.com/hughsie/fwupd/issues/950
2019-01-19 07:26:20 +00:00
Richard Hughes
0e17e6d030
Fix building with -Wl,-z,defs
...
This allows us to find undefined references at compile time, not runtime.
2018-12-25 16:10:54 -06:00
Richard Hughes
9729584ee4
Allow plugins to define support for a 'well-known' protocol
...
Future metadata from the LVFS will set the protocol the firmware is expected to
use. As vendors love to re-use common terms like DFU for incompatible protocols,
namespace them with the controlling company ID with an approximate reverse DNS
namespace.
This also allows more than one plugin to define support for the same protocol,
for instance rts54hid+rts54hub and synapticsmst+dell-dock.
2018-12-14 18:15:01 +00:00
Richard Hughes
bccaaf5194
Add shared functionality for reading and writing with O_NONBLOCK
...
Two plugins have very similar code already, and we're about to get another.
2018-12-06 14:07:02 +00:00
Richard Hughes
e59cb9af01
trivial: Add fu_common_dump_raw()
2018-12-05 15:09:56 +00:00
Richard Hughes
1c4e06925c
trivial: Speed up daemon startup
...
Require a quirk match for Unifying hardware to avoid probing a lot of USB
devices at startup.
2018-12-03 15:23:27 +00:00
Richard Hughes
0585172c17
trivial: Document the expected plugin firmware formats
2018-12-03 08:48:13 -06:00
Richard Hughes
0443a4170a
trivial: Add InstallDuration values for Unifying devices
2018-11-15 15:43:43 +00:00
Richard Hughes
ba2f0ae1d4
trivial: Document the GUID generation scheme
...
Fixes https://github.com/hughsie/fwupd/issues/837
2018-11-08 20:39:46 +00:00
Richard Hughes
6abc2b9e0e
trivial: Remove some pretty intense debugging that crept in
2018-10-12 09:36:12 +01:00
Richard Hughes
1e6047e821
unifying: Remove some logically dead code
...
Found using Coverity, many thanks.
2018-09-10 16:56:44 +01:00
Richard Hughes
c41a89b50c
unifying: Add a delay for the Texas chipset
...
It seems this chip needs a few ms to initialize before you can query the meminfo.
2018-09-10 16:28:49 +01:00
Richard Hughes
7c1eb83a2d
unifying: Don't be too verbose when a unifying peripheral is unreachable
2018-09-10 12:20:42 +01:00
Richard Hughes
c249d109d4
trivial: Reduce some debugging verbosity
2018-09-10 12:19:02 +01:00
Richard Hughes
1513585d21
trivial: Move the poll setup into common code
...
This is used by two device types in the unifying plugin, and soon to be one
other new plugin.
2018-09-09 13:43:18 +01:00
Richard Hughes
9d3f791727
unifying: Use the new daemon-provided functionality
...
Until now, the unifying plugin was a 'special snowflake' and did things in very
different ways to the other plugins. Refactor each object to derive from either
FuUsbDevice or FuUdevDevice, and then remove LuDevice and the LuContext layers.
2018-09-07 16:22:38 +01:00
Richard Hughes
c125ec02ed
Clarify what the platform ID actually is by renaming it
...
It wasn't hugely clear what the platform ID was actually meant to represent. In
some cases it was being used like a physical ID, in others it was a logical ID,
and in others it was both. In some cases it was even used as a sysfs path.
Clear up all the confusion by splitting the platform ID into two parts, an
optional *physical* ID to represent the electrical connection, and an optional
*logical* ID to disambiguate composite devices with the same physical ID.
Also create an explicit sysfs_path getter for FuUdevDevice to make this clear.
This allows WAIT_FOR_REPLUG to always work, rather than depending on the order
that the GUIDs were added, and that the kernel would always return the same
sysfs path (which it doesn't have to do, especially for hidraw devices).
2018-09-06 16:22:46 +01:00
Richard Hughes
2aa3360d46
trivial: Include appstream-glib.h in the main plugin header
2018-09-04 08:22:39 -05:00
Richard Hughes
4adf3bb52c
trivial: Remove duplicate header includes
2018-09-04 08:22:39 -05:00
Richard Hughes
b1e49e8bdf
unifying: Specify the runtime counterpart GUID
...
This shouldn't have an effect now, but is required when the device list starts
handling the replug, and it seems logically correct.
2018-08-31 09:58:40 +01:00
Richard Hughes
f27f8781cd
unifying: Specify the plugin when in unifying mode
...
A small optimization, which avoids us querying all the USB plugins to find a
match each time.
2018-08-31 09:58:40 +01:00
Richard Hughes
838d91e4ed
Add support for counterpart GUIDs
...
These are GUIDs that are related to the main device, but should not be used for
quirk matching. For instance, we might want to list the GUIDs for a bootloader
mode, but we don't want to import all the quirks for the bootloader when in the
runtime mode.
2018-08-30 16:55:41 +01:00
Richard Hughes
a417d6c82a
trivial: Allow setting the firmware min and max sizes from quirk files
2018-08-28 18:30:00 +01:00
Richard Hughes
a62618303f
trivial: Set the quirks instance on the unifying context object
...
This allows us to match quirks on added GUIDs.
2018-08-28 18:30:00 +01:00
Richard Hughes
95227a919d
trivial: Move gudev to the core plugin deps
2018-08-26 19:38:58 +01:00
Thomas Hindoe Paaboel Andersen
24c6eb758f
unifying: remove duplicate && line
2018-08-22 19:53:28 +01:00
Richard Hughes
b720df7471
unifying: Do not hold hidraw devices open forever
...
Just close the file descriptor if open when the device is removed.
Fixes https://github.com/hughsie/fwupd/issues/429
2018-08-13 09:53:22 +01:00
Richard Hughes
f3fc646148
unifying: Allow flashing devices in recovery mode
...
In version comparison, RQR24.xx_Bxxxx > RQR24.05_B0029 which is not what we
wanted at all.
See https://github.com/hughsie/fwupd/issues/655 for more details.
2018-08-13 08:57:57 +01:00
Mario Limonciello
2c1ed27c6c
unifying: Hide raw communication behind the plugin verbose option
2018-08-12 11:00:49 +01:00
Richard Hughes
4303ee976a
unifying: Set a display name on the bootloader device
2018-08-10 14:50:43 +01:00
Richard Hughes
02c90d8a03
Remove the unused Emacs indenting headers from all source files
...
Fixes https://github.com/hughsie/fwupd/issues/636
2018-08-09 12:48:04 +01:00
Richard Hughes
7a874176ff
trivial: Add a FuDevice flag to show the device is in bootloader mode
...
This is useful to present to the user using the command line, and means each
FuDevice-deriving object does not have to handle this.
2018-05-31 18:50:19 +01:00
Mario Limonciello
51308e648a
Adjust all licensing to LGPL 2.1+ ( Closes : #526 )
2018-05-29 09:03:13 +01:00
Richard Hughes
e183ce2803
trivial: Remove the Unifying noinst tool
2018-05-18 10:26:51 +01:00
Richard Hughes
3e3ac27216
trivial: Add attach() and detach() vfuncs to FuDevice
2018-05-18 10:08:10 +01:00
Richard Hughes
0a0483b2ce
trivial: Add a write_firmware() vfunc to FuDevice
2018-05-14 17:07:20 +01:00
Richard Hughes
2c86dc0e9a
unifying: Set known parent for unifying peripherals
2018-05-03 08:07:04 +01:00
Mario Limonciello
a98df55d82
Disable -Wunused-function on clang builds ( Closes #467 )
...
GLib creates two static inline functions for paramaters that may
not be used that set off warnings in clang but not gcc.
Ignore these on clang builds everywhere that
G_DEFINE_AUTOPTR_CLEANUP_FUNC is used.
2018-04-17 10:10:43 +01:00
Ogier Bouvier
620d973fc2
unifying: fix signature writing and parsing for texas bootloader
...
Signed-off-by: Ogier Bouvier <obouvier@logitech.com>
2018-02-26 11:25:51 +00:00
Richard Hughes
efc5abe74e
unifying: Fix a tiny memory leak on daemon unload
2018-02-23 13:08:58 +00:00
Richard Hughes
516e7741e0
unifying: Fix a compile warning with the latest GLib
2018-01-02 20:37:41 +00:00
Richard Hughes
fe842231d2
unifying: Don't duplicate a device flag from FuDevice
2017-12-14 18:12:13 +00:00
Richard Hughes
d8a175ee90
unifying: Use the daemon replug timeouts
2017-12-14 18:09:04 +00:00
Richard Hughes
66268d0b31
unifying: Fix the string output format to match FuDevice
2017-12-10 14:50:58 +00:00
Richard Hughes
ae252cd83c
trivial: Add some common functionality from reading and writing to a buffer
2017-12-08 20:07:09 +00:00