mirror of
https://git.proxmox.com/git/fwupd
synced 2025-05-14 15:33:09 +00:00

Some plugins have devices with more than one protocol. Logically the protocol belongs to the device, not the plugin, and in the future we could use this to further check firmware that's about to be deployed. This is also not exported into libfwupd (yet?) as it's remains a debug-feature only -- protocols are not actually required for devices to be added.
47 lines
1.2 KiB
C
47 lines
1.2 KiB
C
/*
|
|
* Copyright (C) 2016-2018 Richard Hughes <richard@hughsie.com>
|
|
*
|
|
* SPDX-License-Identifier: LGPL-2.1+
|
|
*/
|
|
|
|
#include "config.h"
|
|
|
|
#include <fwupd.h>
|
|
|
|
#include "fu-plugin-vfuncs.h"
|
|
#include "fu-hash.h"
|
|
|
|
#include "fu-logitech-hidpp-bootloader-nordic.h"
|
|
#include "fu-logitech-hidpp-bootloader-texas.h"
|
|
#include "fu-logitech-hidpp-common.h"
|
|
#include "fu-logitech-hidpp-peripheral.h"
|
|
#include "fu-logitech-hidpp-runtime.h"
|
|
|
|
gboolean
|
|
fu_plugin_startup (FuPlugin *plugin, GError **error)
|
|
{
|
|
/* check the kernel has CONFIG_HIDRAW */
|
|
if (!g_file_test ("/sys/class/hidraw", G_FILE_TEST_IS_DIR)) {
|
|
g_set_error_literal (error,
|
|
FWUPD_ERROR,
|
|
FWUPD_ERROR_NOT_SUPPORTED,
|
|
"no kernel support for CONFIG_HIDRAW");
|
|
return FALSE;
|
|
}
|
|
return TRUE;
|
|
}
|
|
|
|
void
|
|
fu_plugin_init (FuPlugin *plugin)
|
|
{
|
|
fu_plugin_set_build_hash (plugin, FU_BUILD_HASH);
|
|
fu_plugin_add_udev_subsystem (plugin, "hidraw");
|
|
fu_plugin_add_rule (plugin, FU_PLUGIN_RULE_CONFLICTS, "unifying");
|
|
|
|
/* register the custom types */
|
|
g_type_ensure (FU_TYPE_UNIFYING_BOOTLOADER_NORDIC);
|
|
g_type_ensure (FU_TYPE_UNIFYING_BOOTLOADER_TEXAS);
|
|
g_type_ensure (FU_TYPE_UNIFYING_PERIPHERAL);
|
|
g_type_ensure (FU_TYPE_UNIFYING_RUNTIME);
|
|
}
|