mirror of
https://git.proxmox.com/git/fwupd
synced 2025-07-25 20:03:10 +00:00
![]() By moving the attribute loading into udev it was loading too late and plugins couldn't use it. Move the loading to earlier in the daemon and ignore add events if we already have attributes loaded. Fixes: #4979 |
||
---|---|---|
.. | ||
tests | ||
fu-archive-firmware.c | ||
fu-archive-firmware.h | ||
fu-archive.c | ||
fu-archive.h | ||
fu-backend.c | ||
fu-backend.h | ||
fu-bios-settings-private.h | ||
fu-bios-settings.c | ||
fu-bios-settings.h | ||
fu-bluez-device.c | ||
fu-bluez-device.h | ||
fu-byte-array.c | ||
fu-byte-array.h | ||
fu-bytes.c | ||
fu-bytes.h | ||
fu-cabinet.c | ||
fu-cabinet.h | ||
fu-cfi-device.c | ||
fu-cfi-device.h | ||
fu-cfu-common.c | ||
fu-cfu-common.h | ||
fu-cfu-offer.c | ||
fu-cfu-offer.h | ||
fu-cfu-payload.c | ||
fu-cfu-payload.h | ||
fu-chunk-private.h | ||
fu-chunk.c | ||
fu-chunk.h | ||
fu-common-darwin.c | ||
fu-common-freebsd.c | ||
fu-common-guid.c | ||
fu-common-guid.h | ||
fu-common-linux.c | ||
fu-common-private.h | ||
fu-common-windows.c | ||
fu-common.c | ||
fu-common.h | ||
fu-context-private.h | ||
fu-context.c | ||
fu-context.h | ||
fu-coswid-firmware.c | ||
fu-coswid-firmware.h | ||
fu-crc.c | ||
fu-crc.h | ||
fu-deprecated.h | ||
fu-device-locker.c | ||
fu-device-locker.h | ||
fu-device-metadata.h | ||
fu-device-private.h | ||
fu-device.c | ||
fu-device.h | ||
fu-dfu-firmware-private.h | ||
fu-dfu-firmware.c | ||
fu-dfu-firmware.h | ||
fu-dfuse-firmware.c | ||
fu-dfuse-firmware.h | ||
fu-dump.c | ||
fu-dump.h | ||
fu-efi-common.c | ||
fu-efi-common.h | ||
fu-efi-firmware-common.c | ||
fu-efi-firmware-common.h | ||
fu-efi-firmware-file.c | ||
fu-efi-firmware-file.h | ||
fu-efi-firmware-filesystem.c | ||
fu-efi-firmware-filesystem.h | ||
fu-efi-firmware-section.c | ||
fu-efi-firmware-section.h | ||
fu-efi-firmware-volume.c | ||
fu-efi-firmware-volume.h | ||
fu-efi-signature-list.c | ||
fu-efi-signature-list.h | ||
fu-efi-signature-private.h | ||
fu-efi-signature.c | ||
fu-efi-signature.h | ||
fu-efivar-darwin.c | ||
fu-efivar-freebsd.c | ||
fu-efivar-impl.h | ||
fu-efivar-linux.c | ||
fu-efivar-windows.c | ||
fu-efivar.c | ||
fu-efivar.h | ||
fu-fdt-firmware.c | ||
fu-fdt-firmware.h | ||
fu-fdt-image.c | ||
fu-fdt-image.h | ||
fu-firmware-common.c | ||
fu-firmware-common.h | ||
fu-firmware.c | ||
fu-firmware.h | ||
fu-fit-firmware.c | ||
fu-fit-firmware.h | ||
fu-fmap-firmware.c | ||
fu-fmap-firmware.h | ||
fu-fuzzer-firmware.c.in | ||
fu-fuzzer-main.c | ||
fu-hash.py | ||
fu-hid-device.c | ||
fu-hid-device.h | ||
fu-hwids.c | ||
fu-hwids.h | ||
fu-i2c-device.c | ||
fu-i2c-device.h | ||
fu-ifd-bios.c | ||
fu-ifd-bios.h | ||
fu-ifd-common.c | ||
fu-ifd-common.h | ||
fu-ifd-firmware.c | ||
fu-ifd-firmware.h | ||
fu-ifd-image.c | ||
fu-ifd-image.h | ||
fu-ifwi-cpd-firmware.c | ||
fu-ifwi-cpd-firmware.h | ||
fu-ifwi-fpt-firmware.c | ||
fu-ifwi-fpt-firmware.h | ||
fu-ihex-firmware.c | ||
fu-ihex-firmware.h | ||
fu-intel-thunderbolt-firmware.c | ||
fu-intel-thunderbolt-firmware.h | ||
fu-intel-thunderbolt-nvm.c | ||
fu-intel-thunderbolt-nvm.h | ||
fu-io-channel.c | ||
fu-io-channel.h | ||
fu-kenv.c | ||
fu-kenv.h | ||
fu-kernel.c | ||
fu-kernel.h | ||
fu-linear-firmware.c | ||
fu-linear-firmware.h | ||
fu-mei-device.c | ||
fu-mei-device.h | ||
fu-mem.c | ||
fu-mem.h | ||
fu-mutex.h | ||
fu-oprom-firmware.c | ||
fu-oprom-firmware.h | ||
fu-path-private.h | ||
fu-path.c | ||
fu-path.h | ||
fu-plugin-private.h | ||
fu-plugin-vfuncs.h | ||
fu-plugin.c | ||
fu-plugin.h | ||
fu-progress.c | ||
fu-progress.h | ||
fu-quirks.c | ||
fu-quirks.h | ||
fu-security-attr.c | ||
fu-security-attr.h | ||
fu-security-attrs-private.h | ||
fu-security-attrs.c | ||
fu-security-attrs.h | ||
fu-self-test.c | ||
fu-smbios-private.h | ||
fu-smbios.c | ||
fu-smbios.h | ||
fu-srec-firmware.c | ||
fu-srec-firmware.h | ||
fu-string.c | ||
fu-string.h | ||
fu-sum.c | ||
fu-sum.h | ||
fu-udev-device-private.h | ||
fu-udev-device.c | ||
fu-udev-device.h | ||
fu-usb-device-private.h | ||
fu-usb-device.c | ||
fu-usb-device.h | ||
fu-uswid-firmware.c | ||
fu-uswid-firmware.h | ||
fu-version-common.c | ||
fu-version-common.h | ||
fu-version.c | ||
fu-version.h.in | ||
fu-volume-private.h | ||
fu-volume.c | ||
fu-volume.h | ||
fwupdplugin.h | ||
fwupdplugin.map | ||
meson.build | ||
README.md |
libfwupdplugin
This library is only partially API and ABI stable. Keeping unused, unsafe and deprecated functions around forever is a maintenance burden and so symbols are removed when branching for new minor versions.
Use ./contrib/migrate.py
to migrate up out-of-tree plugins to the new API.
Remember: Plugins should be upstream!
1.5.5
fu_common_is_cpu_intel()
: Usefu_common_get_cpu_vendor()
instead.fu_firmware_strparse_uintXX()
: Usefu_firmware_strparse_uintXX_safe()
instead.fu_plugin_get_usb_context()
: Remove, as no longer required.fu_plugin_set_usb_context()
: Remove, as no longer required.fu_plugin_runner_usb_device_added()
: Usefu_plugin_runner_backend_device_added()
instead.fu_plugin_runner_udev_device_added()
: Usefu_plugin_runner_backend_device_added()
instead.fu_plugin_runner_udev_device_changed()
: Usefu_plugin_runner_backend_device_added()
instead.FuHidDevice->open()
: Use theFuDevice
superclass instead.FuHidDevice->close()
: Use theFuDevice
superclass instead.FuUsbDevice->probe()
: Use theFuDevice
superclass instead.FuUsbDevice->open()
: Use theFuDevice
superclass instead.FuUsbDevice->close()
: Use theFuDevice
superclass instead.FuUdevDevice->to_string()
: Use theFuDevice
superclass instead.FuUdevDevice->probe()
: Use theFuDevice
superclass instead.FuUdevDevice->open()
: Use theFuDevice
superclass instead.FuUdevDevice->close()
: Use theFuDevice
superclass instead.
1.5.6
fu_device_get_protocol()
: Usefu_device_get_protocols()
instead.fu_device_set_protocol()
: Usefu_device_add_protocol()
instead.
1.6.2
fu_device_has_custom_flag()
: Usefu_device_has_private_flag()
instead.
1.6.3
fu_device_sleep_with_progress()
: Usefu_progress_sleep()
instead -- but be aware the unit of time has changed from seconds to milliseconds.fu_device_get_status()
: Usefu_progress_get_status()
instead.fu_device_set_status()
: Usefu_progress_set_status()
instead.fu_device_get_progress()
: Usefu_progress_get_percentage()
instead.fu_device_set_progress_full()
: Usefu_progress_set_percentage_full()
instead.fu_device_set_progress()
: Usefu_progress_set_steps()
,fu_progress_add_step()
andfu_progress_done()
-- see theFuProgress
docs for more details!
1.8.2
fu_udev_device_pread_full()
: Usefu_udev_device_pread()
instead -- as the latter now specifies the buffer length.fu_udev_device_pread_full()
: Usefu_udev_device_pwrite()
instead -- as the latter now specifies the buffer length.fu_udev_device_ioctl_full()
: Usefu_udev_device_ioctl()
instead -- as the latter now always specifies the timeout.fu_udev_device_new_full()
: Usefu_udev_device_new()
instead -- as the latter always specifies the context.fu_usb_device_new_full()
: Usefu_usb_device_new()
instead -- as the latter always specifies the context.fu_device_new_with_context()
: Usefu_device_new()
instead -- as the latter always specifies the context.fu_plugin_has_custom_flag()
: Usefu_plugin_has_private_flag()
instead.fu_efivar_secure_boot_enabled_full()
: Usefu_efivar_secure_boot_enabled()
instead -- as the latter always specifies the error.fu_progress_add_step()
: Add a 4th parameter to the function to specify the nice name for the step, or NULL.fu_backend_setup()
: Now requires aFuProgress
, although it can be ignored.fu_backend_coldplug
: Now requires aFuProgress
, although it can be ignored.FuPluginVfuncs->setup
: Now requires aFuProgress
, although it can be ignored.FuPluginVfuncs->coldplug
: Now requires aFuProgress
, although it can be ignored.fu_common_crc*
: Usefu_crc
prefix, i.e. remove the_common
fu_common_sum*
: Usefu_sum
prefix, i.e. remove the_common
fu_byte_array_set_size_full()
: Usefu_byte_array_set_size
instead -- as the latter now always specifies the fill char.fu_common_string*
: Usefu_string
prefix, i.e. remove the_common
fu_common_bytes*
: Usefu_bytes
prefix, i.e. remove the_common
fu_common_set_contents_bytes()
: Usefu_bytes_set_contents()
insteadfu_common_get_contents_bytes()
: Usefu_bytes_get_contents()
insteadfu_common_read*
: Usefu_memread
prefix, i.e. replace the_common
with_mem
fu_common_write*
: Usefu_memwrite
prefix, i.e. replace the_common
with_mem
fu_common_bytes_compare_raw()
: Usefu_memcmp_safe()
insteadfu_common_spawn_sync()
: Useg_spawn_sync()
instead, or ideally not at all!fu_common_extract_archive()
: UseFuArchiveFirmware()
instead.fu_common_instance_id_strsafe()
: Usefu_device_add_instance_strsafe()
instead.fu_common_kernel_locked_down()
: Usefu_kernel_locked_down
instead.fu_common_check_kernel_version()
: Usefu_kernel_check_version
instead.fu_common_get_firmware_search_path()
: Usefu_kernel_get_firmware_search_path
instead.fu_common_set_firmware_search_path()
: Usefu_kernel_set_firmware_search_path
instead.fu_common_reset_firmware_search_path()
: Usefu_kernel_reset_firmware_search_path
instead.fu_common_firmware_builder()
: You should not be using this.fu_common_realpath()
: You should not be using this.fu_common_uri_get_scheme()
: You should not be using this.fu_common_dump*
: Usefu_dump
prefix, i.e. remove the_common
fu_common_error_array_get_best()
: You should not be using this.fu_common_cpuid()
: Usefu_cpuid
instead.fu_common_get_cpu_vendor()
: Usefu_cpu_get_vendor
instead.fu_common_vercmp_full()
: Usefu_version_compare()
instead.fu_common_version_ensure_semver()
: Usefu_version_ensure_semver()
instead.fu_common_version_from_uint*()
: Usefu_version_from_uint*()
instead.fu_common_strtoull()
: Usefu_strtoull()
instead -- as the latter always specifies the error.fu_smbios_to_string()
: Usefu_firmware_to_string()
instead -- asFuSmbios
is aFuFirmware
superclass.fu_common_cab_build_silo()
: You should not be using this.fu_i2c_device_read_full()
: Usefu_i2c_device_read
instead.fu_i2c_device_write_full()
: Usefu_i2c_device_write
instead.fu_firmware_parse_full()
: Remove theaddr_end
parameter, and ensure thatoffset
is agsize
.