Commit Graph

502 Commits

Author SHA1 Message Date
Richard Hughes
9f13d8ed1e vli: Be more specific when matching the MSP430
Add a FuDevice->ready() vfunc that is run after ->setup()
This allows plugins to perform setup actions that require quirk matches
after the instance IDs have been converted. This allows us to also
remove FuVliDevice->setup() as the ordering chain has been broken.

There are two USB-3 hubs internally (with the same VID&PID), and the
MSP430 is only attached to the top-level one.

Fixes https://github.com/fwupd/fwupd/issues/3366
2021-06-17 17:09:48 +01:00
Richard Hughes
bf72d393fd Split up FuUsbDevice into ->open() and ->setup()
Before this change calling FuUsbDevice->open() opened the device, and
also unconditionally added various GUIDs and InstanceIDs which we
normally do in setup.
Then fu_device_setup() would call the FuSubclass->setup() vfunc which
would have no way of either opting out of the FuUsbDevice->setup()-like
behaviour, or controlling if the parent class ->setup is run before or
after the subclass setup.

Split up FuUsbDevice->open() into clear ->open() and ->setup() phases
and add the parent class calls where appropriate.

This means that ->setup() now behaves the same as all the other vfuncs.
2021-06-17 16:21:41 +01:00
Richard Hughes
8eb5825bdb trivial: Show the USB class code when debugging 2021-06-17 14:41:49 +01:00
Crag Wang
5a384a3f02 trivial: fix for expr check introduced in 3a48af58 2021-06-17 09:17:43 +01:00
Mario Limonciello
3a48af58c2 trivial: move kernel version check into common library code
This will be used by more than one plugin in an upcoming commit.
2021-06-16 14:54:17 -05:00
Mario Limonciello
78b78d8edd trivial: update python black style to 21.6b0 2021-06-16 06:41:46 -05:00
Mario Limonciello
800d45549c trivial: fix a codespell mistake 2021-06-16 06:41:46 -05:00
Richard Hughes
8b0031fad3 trivial: Codespell fixes 2021-06-15 21:45:15 +01:00
Sergii Dmytruk
c16602d688 Corrections for fu-efivar-freebsd.c
There were some compilation warnings (one actual error) and possibility
to use incorrect efivar library.

Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
2021-06-15 17:25:16 +01:00
Richard Hughes
bda57e8c9d modem-manager: Do not convert instance IDs to GUIDs manually
This already happens during setup, there shouldn't be a need to depend
on the private header to accomplish this.
2021-06-15 09:14:39 -05:00
Richard Hughes
e64ebe8a7c trivial: Allow setting device inhibits from quirk files 2021-06-15 14:15:34 +01:00
Richard Hughes
a5a82ba519 trivial: Fix the FuDeviceInternalFlags conversion funcs 2021-06-15 10:18:24 +01:00
Richard Hughes
2dd6462c0c trivial: Export the DFU version constants into libfwupdplugin 2021-06-14 07:15:42 -05:00
Mario Limonciello
73cdf067ed trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
Mario Limonciello
a8cfa9ee86 trivial: fix gir compilation when gusb is turned off 2021-06-14 09:26:22 +01:00
Mario Limonciello
172fd51e93 trivial: don't include gusb in pkg-config unless gusb enabled 2021-06-14 09:25:53 +01:00
Mario Limonciello
7794c03907 trivial: add missing header include for in top level libfwupdplugin 2021-06-14 09:25:12 +01:00
Mario Limonciello
be5de229e0 trivial: set header for fwupdplugin documentation 2021-06-14 09:24:58 +01:00
Richard Hughes
a02c1073f2 trivial: Fix up some of the developer docs
And add some missing content as requried.
2021-06-11 09:39:03 +01:00
Mario Limonciello
1e17457b16 Allow building the documentation with gi-docgen and gtk-doc
Until gi-docgen is declared stable support either of them.
This effectively means that hand builds and CI builds will use
gi-docgen, but distro builds use gtk-doc-tools.
2021-06-09 22:21:53 +01:00
Michał Kopeć
0f75f55c72 Obtain firmware major and minor versions from SMBIOS
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
2021-06-09 15:45:10 +01:00
Michał Kopeć
d678b755d0 libfwupdplugin: Implement fu-efivar-freebsd.c
Signed-off-by: Richard Hughes <richard@hughsie.com>
2021-06-09 15:22:58 +01:00
Richard Hughes
d1717f19cd Ensure the composite ID is used when setting parent during construction
Shadow FwupdDevice::parent with FuDevice::parent so that we *also* set
the context and composite ID.
This means we can always install all components of the Lenovo docks.
2021-06-08 15:29:43 +01:00
Richard Hughes
694e774c2a uefi-capsule: Make less Linux-specific
Based on patches by Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
2021-06-07 19:54:12 +01:00
Richard Hughes
4c734c797a trivial: Remove some more _WIN32 defines now we have an OS split 2021-06-07 19:54:12 +01:00
Sergii Dmytruk
080129fc43 Handle bsdisks' UDisks2 implementation on FreeBSD
There is no Manager object, so block devices must be discovered
manually.

Additionally, Type field contains FS name rather than its MBR ID in
hex form or a GPT GUID.

Signed-off-by: Richard Hughes <richard@hughsie.com>
2021-06-07 19:54:12 +01:00
Richard Hughes
d783594ea5 Make fu_common_convert_to_gpt_type() FreeBSD compatible
Based on a patch by Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
2021-06-07 19:54:12 +01:00
Sergii Dmytruk
1e5aec4eb1 Correct error msg in fu_common_get_block_devices
Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
2021-06-07 11:19:30 +01:00
Sergii Dmytruk
8d5784192f Fix formatting in fu_common_get_block_devices ()
Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
2021-06-07 11:19:17 +01:00
Richard Hughes
e1519f394e trivial: Do not change ABI when -Dudev=false 2021-05-26 16:00:32 +01:00
Richard Hughes
1b86f9836b trivial: Automatically call PkBackend::setup() when required
This reduces the amount of boilerplate in the self tests.
2021-05-25 17:17:45 +01:00
Richard Hughes
dfb46d9b56 trivial: Add fu_backend_get_devices() for future use 2021-05-25 17:17:45 +01:00
Richard Hughes
76602389ff Export FuBackend into libfwupdplugin for future use 2021-05-25 17:17:45 +01:00
Richard Hughes
560132b0d0 trivial: Fix typo preventing FreeBSD compile 2021-05-25 12:44:55 +01:00
Richard Hughes
79bbcd792a Store the BSD kernel cmdline string in the failure report
Also split out a kenv helper into common code.
2021-05-25 06:31:46 +01:00
Richard Hughes
d1bf0f439b trivial: Do not show a warning when building the libfwupdplugin introspection
If new enough add Xmlb into the libfwupdplugin GIR includes.
2021-05-22 14:16:42 +01:00
Richard Hughes
3cb08d81c5 trivial: Remove unused variable from self tests 2021-05-21 15:34:21 +01:00
Norbert Kamiński
80ba3f07f2 fu-smbios.c: Add kenv support
Signed-off-by: Norbert Kamiński <norbert.kaminski@3mdeb.com>
2021-05-18 14:32:07 +01:00
Richard Hughes
99f40fa7a7 Add a FuI2cDevice to abstract I²C devices 2021-05-18 14:29:28 +01:00
Richard Hughes
3ba0b29ba3 trivial: Fix critical warning when running fwupd as non-root 2021-05-18 11:06:51 +01:00
Richard Hughes
b94a7b507b trivial: Do not generate fwupdplugin.vapi
We don't want applications to use libfwupdplugin, and we don't want to
support plugins written in Vala either.
2021-05-17 09:27:54 +01:00
Richard Hughes
8792afa894 trivial: Fixup some documentation to use the correct type 2021-05-17 09:27:54 +01:00
Richard Hughes
54d9de9290 Force the device locker to ->close() an aborted ->open()
Fixes https://github.com/fwupd/fwupd/issues/3187
2021-05-12 10:10:57 +01:00
Richard Hughes
dbd57ebc43 trivial: Always include the newline for fu_common_string_append_kv() 2021-05-11 21:01:33 +01:00
Richard Hughes
e9cc87d740 trivial: Add some more missing GObjectIntrospection markup 2021-05-11 16:55:53 +01:00
Richard Hughes
69a643d7e1 trivial: Work around a GObjectIntrospection warning
We broke this rule: https://gi.readthedocs.io/en/latest/writingbindableapis.html?highlight=boxed#don-t-have-properties-and-methods-with-the-same-name
2021-05-11 16:55:53 +01:00
Richard Hughes
38f82b10f8 trivial: Remove warnings from the GObjectIntrospection output 2021-05-11 16:55:53 +01:00
Richard Hughes
88aff562d2 trivial: More GObjectIntrospection fixes 2021-05-11 16:55:53 +01:00
Richard Hughes
8fe6a1dd0c trivial: Make FuSrecFirmwareRecord usable from non-C languages 2021-05-11 13:15:27 +01:00
Richard Hughes
20ef071b3c trivial: Style fixes to lots of gtk-doc 2021-05-10 14:35:10 +01:00