Commit Graph

98 Commits

Author SHA1 Message Date
Richard Hughes
faa7871b08 Remove duplicate ->probe() calls to speed up startup by 150ms
Now incorporate is fixed to copy across the properties we need in the
superclass, we don't need to do the subclass ->probe().

Note, we still need to do the subclassed ->probe() when using
FU_UDEV_DEVICE_FLAG_VENDOR_FROM_PARENT or when looking at properties
on the parent device.

This also removes the spurious 'already set GType to FuVliUsbhubDevice,
ignoring FuVliUsbhubDevice' messages when running the daemon.
2022-06-14 21:01:57 +01:00
Richard Hughes
4105768a01 Remove the 'common' prefix when parsing version numbers 2022-06-14 14:36:52 -05:00
Richard Hughes
7f86ffab6f Split out the dump helpers to a new source file 2022-06-14 14:36:52 -05:00
Richard Hughes
ed1b13da28 Split out the memory helpers to a new source file 2022-06-14 14:36:52 -05:00
Richard Hughes
4b1313b406 Split out the GByte helpers to a new source file 2022-06-14 14:36:52 -05:00
Richard Hughes
9d33c29e92 Split out the string helpers to a new source file 2022-06-14 14:36:52 -05:00
Richard Hughes
3fe9c0de34 Split out the CRC and sum functions to new source files 2022-06-14 14:36:52 -05:00
Gaël PORTAY
d15f0b1cca steelseries: fizz: Use fu_common_strsafe() 2022-06-10 10:07:28 -04:00
Gaël PORTAY
8d4d2f2087 steelseries: Add hid support to detect Bluetooth devices 2022-06-10 10:07:28 -04:00
Gaël PORTAY
99f310e11a steelseries: Add datasz to fu_steelseries_device_cmd()
Additionaly, this:
 - removes the unused function fu_steelseries_device_get_transfer_size()
 - renames function fu_steelseries_device_command_error_to_error() to
  fu_steelseries_fizz_command_error_to_error()
2022-06-09 10:57:26 -04:00
Gaël PORTAY
40ba65ce28 steelseries: fizz: Fiz command size
The size of a command is 8bits long.
2022-06-09 10:57:26 -04:00
Richard Hughes
dc91d59f8e Remove the recently added fu_progress_add_step_full()
Just break API instead.
2022-06-03 13:47:11 -05:00
Richard Hughes
5ef0ae182d Add a 'name' attribute to each FuProgress step
This allows us to print better warning strings, and in the future
would allow us to profile each operation in a meaningful way.

Also, add context to some of the progress steps as required.
2022-06-01 15:05:43 +01:00
Gaël PORTAY
2e1b7c6438 steelseries: fizz: Rename command functions 2022-05-30 10:24:52 -04:00
Gaël PORTAY
fe3649ee6a steelseries: fizz: Add missing command definitions 2022-05-30 10:24:52 -04:00
Gaël PORTAY
87f2807dfb steelseries: fizz: Fix indentation violation 2022-05-30 10:24:52 -04:00
Gaël PORTAY
56a3632331 steelseries: fizz: Set firmware GType 2022-05-30 10:24:52 -04:00
Gaël PORTAY
4d820f0ddb steelseries: fizz-tunnel: Enable polling 2022-05-30 10:24:52 -04:00
Gaël PORTAY
0b8ff7196a steelseries: fizz-tunnel: Get battery level 2022-05-30 10:24:52 -04:00
Gaël PORTAY
8992698381 steelseries: fizz-tunnel: Wait for device connected 2022-05-30 10:24:52 -04:00
Gaël PORTAY
6190fc6830 steelseries: fizz-tunnel: Add sub-device if paired only 2022-05-30 10:24:52 -04:00
Gaël PORTAY
714983d82d steelseries: fizz: Add support for 2.4G connection 2022-05-30 10:24:52 -04:00
Gaël PORTAY
c5defa89e9 steelseries: sonic: Rewrite connect using fu_device_retry_full() 2022-05-27 11:19:51 -04:00
Gaël PORTAY
2f23489c6e trivial: steelseries: fizz: Add devices in bootloader mode 2022-05-27 11:19:51 -04:00
Gaël PORTAY
29ac547c43 trivial: steelseries: sonic: Adjust timings 2022-05-27 11:19:51 -04:00
Gaël PORTAY
c41c738327 trivial: steelseries: Fix progress status 2022-05-27 11:19:51 -04:00
Gaël PORTAY
9bd8a327d8 trivial: steelseries: Fix indentation violation 2022-05-24 06:43:02 -04:00
Richard Hughes
636786dd6a steelseries: Fix trivial typo spotted by Coverity 2022-05-24 08:53:30 +01:00
Richard Hughes
4397e9d7e0 steelseries: Don't use 'dongle' to describe hardware 2022-05-23 14:56:45 +01:00
Richard Hughes
f16560b705 Add device icon usb-receiver 2022-05-23 14:56:45 +01:00
Richard Hughes
4ffa70032f steelseries: Fix a trivial flag issue 2022-05-23 14:13:17 +01:00
Gaël PORTAY
7f7d2759a7 trivial: Update with recent steelseries changes
This fixes the commits 7eb053e97a and
9a5c69417a.
2022-05-23 14:09:03 +01:00
Richard Hughes
9a5c69417a steelseries: Add is-dongle as a private flag
This allows us to remove quite a bit of code.
2022-05-22 10:43:34 +01:00
Richard Hughes
7068233bf9 steelseries: Add FuSteelseriesDevice as a shared baseclass
This deduplicates a lot of code.
2022-05-22 10:43:34 +01:00
Richard Hughes
7eb053e97a steelseries: Rename FuSteelseriesDevice to FuSteelseriesMouse
Also, convert it to a FINAL class.
2022-05-22 10:43:34 +01:00
Gaël PORTAY
f427a3e327 steelseries: sonic: Allow to read firmware 2022-05-21 16:09:09 -04:00
Richard Hughes
36176c5b07 trivial: Fix one -Wunused warning in some new code 2022-05-21 12:19:50 +01:00
Richard Hughes
5ceabcda1a trivial: Remove the class structs for types that use G_DECLARE_FINAL_TYPE 2022-05-21 12:19:50 +01:00
Gaël PORTAY
10f6f249b0 steelseries: Add support for Aerox 3 Wireless 2022-05-20 12:54:00 -04:00
Richard Hughes
679628c091 Move the battery attributes down into libfwupd
This allows us to show the current value and the threshold on the CLI
and in tools like gnome-firmware.
2022-05-18 07:16:07 +01:00
Gaël PORTAY
3e00d0269e trivial: steelseries: Rename Proton to Status+ 2022-05-17 16:52:42 +03:00
Gaël PORTAY
d802f469e2 trivial: steelseries: gamepad: Remove duplicated local
The local and the parameter are duplicated variables for the same
object.
2022-05-17 16:52:42 +03:00
Gaël PORTAY
47a6341676 trivial: steelseries: Group quirks by device 2022-05-17 16:52:42 +03:00
Gaël PORTAY
efe0a1ef3f trivial: steelseries: Update README.md 2022-05-17 16:52:42 +03:00
Gaël PORTAY
508922c20c steelseries: Add support for Rival 3 Wireless 2022-05-17 05:17:35 -04:00
Richard Hughes
d3d7cfa816 Add plugin quirk keys earlier in the startup process
This allows creating the silo when starting the engine with custom
plugin keys such as WacomI2cFlashBaseAddr.

If we move the plugin initialization earlier then we don't get the
HwID matches, so we really do have to split this into a 4-stage startup,
e.g. ->load(), ->init(), ->startup() and ->coldplug().
2022-05-09 11:13:52 +01:00
Mario Limonciello
661990ed98 Convert build system to use meson tristate features
tristate features will automatically disable if dependencies marked
as required are missing.

Packagers can manually override using `auto_features`.

Link: https://mesonbuild.com/Build-options.html#features
2022-02-28 08:34:48 -06:00
Richard Hughes
8df102b7c0 Add fu_usb_device_add_interface() for plugins to use
It's a common action for plugins to call FuUsbDevice->open() then claim
interfaces, and then release them just before FuUsbDevice->close().

It's also something a lot of plugins get wrong, so provide common code
to handle it correctly in one place.
2022-01-04 22:05:37 +00:00
Richard Hughes
8fc8539146 trivial: Remove some unused variables 2021-12-10 16:00:07 +00:00
Richard Hughes
3ffc3fa774 Add fu_common_sum8() common functionality
We now have 9 different plugins all using this functionality, and we're
about to add one more. Move this into common code so that all the
plugins are using the same endian and bufsz-safe versions.
2021-11-26 18:33:11 +03:00