fwupd/libfwupdplugin/fu-device-metadata.h
Mario Limonciello 6358e23490 thunderbolt: drop support for force power
The kernel interface for force power doesn't support tracking the state
of the device, and so this had to be tracked by fwupd.

Unfortunately due to system and thunderbolt controller firmware behavior
on some systems the thunderbolt controller /still/ didn't return even
when force power state was accurately tracked.

The device model for the uevent related to the device removal being ignored
doesn't really fit into the current fwupd architecture anymore either.

Lastly this is a very legacy feature at this point.  Thunderbolt3 controllers
distributed in the last 3 years all operate in 'native' mode meaning that
they will always be powered and use runtime power management.

USB4 controllers won't have a concept of being force powered.
USB4 reimers will have this concept, but the state will be tracked by the
kernel and obfuscated from userspace.

So with all that said, tear out all of the force power related code.
2020-04-29 13:15:45 -05:00

57 lines
1.5 KiB
C

/*
* Copyright (C) 2017 Mario Limonciello <mario.limonciello@dell.com>
*
* SPDX-License-Identifier: LGPL-2.1+
*/
#pragma once
#include <glib.h>
/**
* SECTION:fu-device-metadata
* @short_description: a device helper object
*
* An object that makes it easy to close a device when an object goes out of
* scope.
*
* See also: #FuDevice
*/
/**
* FU_DEVICE_METADATA_TBT_IS_SAFE_MODE:
*
* If the Thunderbolt hardware is stuck in safe mode.
* Consumed by the thunderbolt plugin.
*/
#define FU_DEVICE_METADATA_TBT_IS_SAFE_MODE "Thunderbolt::IsSafeMode"
/**
* FU_DEVICE_METADATA_UEFI_DEVICE_KIND:
*
* The type of UEFI device, e.g. "system-firmware" or "device-firmware"
* Consumed by the uefi plugin when other devices register fake devices that
* need to be handled as a capsule update.
*/
#define FU_DEVICE_METADATA_UEFI_DEVICE_KIND "UefiDeviceKind"
/**
* FU_DEVICE_METADATA_UEFI_FW_VERSION:
*
* The firmware version of the UEFI device specified as a 32 bit unsigned
* integer.
* Consumed by the uefi plugin when other devices register fake devices that
* need to be handled as a capsule update.
*/
#define FU_DEVICE_METADATA_UEFI_FW_VERSION "UefiFwVersion"
/**
* FU_DEVICE_METADATA_UEFI_CAPSULE_FLAGS:
*
* The capsule flags for the UEFI device, e.g. %EFI_CAPSULE_HEADER_FLAGS_PERSIST_ACROSS_RESET
* Consumed by the uefi plugin when other devices register fake devices that
* need to be handled as a capsule update.
*/
#define FU_DEVICE_METADATA_UEFI_CAPSULE_FLAGS "UefiCapsuleFlags"