superio: Fix regression when coldplugging superio devices

Fixes https://github.com/fwupd/fwupd/issues/1546
This commit is contained in:
Richard Hughes 2019-11-08 16:56:32 +00:00
parent ab902c0dd9
commit 025fc77d7a
3 changed files with 5 additions and 3 deletions

View File

@ -45,12 +45,14 @@ fu_plugin_superio_coldplug_chipset (FuPlugin *plugin, const gchar *chipset, GErr
/* create IT89xx or IT89xx */
if (id >> 8 == 0x85) {
dev = g_object_new (FU_TYPE_SUPERIO_IT85_DEVICE,
"device-file", "/dev/port",
"chipset", chipset,
"id", id,
"port", port,
NULL);
} else if (id >> 8 == 0x89) {
dev = g_object_new (FU_TYPE_SUPERIO_IT89_DEVICE,
"device-file", "/dev/port",
"chipset", chipset,
"id", id,
"port", port,

View File

@ -20,7 +20,7 @@ typedef struct
guint16 id;
} FuSuperioDevicePrivate;
G_DEFINE_TYPE_WITH_PRIVATE (FuSuperioDevice, fu_superio_device, FU_TYPE_DEVICE)
G_DEFINE_TYPE_WITH_PRIVATE (FuSuperioDevice, fu_superio_device, FU_TYPE_UDEV_DEVICE)
#define GET_PRIVATE(o) (fu_superio_device_get_instance_private (o))

View File

@ -9,11 +9,11 @@
#include "fu-plugin.h"
#define FU_TYPE_SUPERIO_DEVICE (fu_superio_device_get_type ())
G_DECLARE_DERIVABLE_TYPE (FuSuperioDevice, fu_superio_device, FU, SUPERIO_DEVICE, FuDevice)
G_DECLARE_DERIVABLE_TYPE (FuSuperioDevice, fu_superio_device, FU, SUPERIO_DEVICE, FuUdevDevice)
struct _FuSuperioDeviceClass
{
FuDeviceClass parent_class;
FuUdevDeviceClass parent_class;
gboolean (*setup) (FuSuperioDevice *self,
GError **error);
};