fwupd/plugins/thunderbolt/fu-thunderbolt-image.h
Yehezkel Bernat 9157104100 thunderbolt: handle "native" mode
Kernel v4.15 added support for native enumeration of Thunderbolt
topology. The enumeration mode affects both the BIOS and TBT FW
operation so they must agree on it. Platforms may support both modes,
native and "legacy" (or "BIOS-assist").

This change makes sure the new image is compatible with the current
controller mode (otherwise the BIOS and TBT FW will not be alligned on
it at least until next boot) and also adds a new GUID generation logic
for a controller in "native" mode so LVFS could contain 2 images, one for
the "legacy" mode and one for "native".

Signed-off-by: Yehezkel Bernat <yehezkel.bernat@intel.com>
2018-01-08 16:28:23 +00:00

42 lines
1.4 KiB
C

/* -*- mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
*
* Copyright (C) 2017 Intel Corporation.
*
* Licensed under the GNU General Public License Version 2
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef __FU_THUNDERBOLT_IMAGE_H__
#define __FU_THUNDERBOLT_IMAGE_H__
#include <glib.h>
typedef enum {
VALIDATION_PASSED,
VALIDATION_FAILED,
UNKNOWN_DEVICE,
} FuPluginValidation;
FuPluginValidation fu_plugin_thunderbolt_validate_image (GBytes *controller_fw,
GBytes *blob_fw,
GError **error);
gboolean fu_plugin_thunderbolt_controller_is_native (GBytes *controller_fw,
gboolean *is_native,
GError **error);
#endif /* __FU_THUNDERBOLT_IMAGE_H__ */