superio: Move the device flush before getting the register map

This commit is contained in:
Richard Hughes 2019-03-22 14:13:39 +00:00
parent c5ef28ad5e
commit 763483411d
4 changed files with 7 additions and 11 deletions

View File

@ -202,7 +202,7 @@ fu_superio_device_ec_write1 (FuSuperioDevice *self, guint8 data, GError **error)
return fu_superio_outb (priv->fd, priv->pm1_iobad1, data, error);
}
gboolean
static gboolean
fu_superio_device_ec_flush (FuSuperioDevice *self, GError **error)
{
FuSuperioDevicePrivate *priv = GET_PRIVATE (self);
@ -332,6 +332,12 @@ fu_superio_device_setup (FuDevice *device, GError **error)
&priv->pm1_iobad1, error))
return FALSE;
/* drain */
if (!fu_superio_device_ec_flush (self, error)) {
g_prefix_error (error, "failed to flush: ");
return FALSE;
}
/* dump PMC register map */
if (g_getenv ("FWUPD_SUPERIO_VERBOSE") != NULL) {
guint8 buf[0xff] = { 0x00 };

View File

@ -20,8 +20,6 @@ struct _FuSuperioDeviceClass
GError **error);
};
gboolean fu_superio_device_ec_flush (FuSuperioDevice *self,
GError **error);
gboolean fu_superio_device_ec_read (FuSuperioDevice *self,
guint8 *data,
GError **error);

View File

@ -41,10 +41,6 @@ fu_superio_it85_device_setup (FuSuperioDevice *self, GError **error)
g_autofree gchar *version = NULL;
/* get EC size */
if (!fu_superio_device_ec_flush (self, error)) {
g_prefix_error (error, "failed to flush: ");
return FALSE;
}
if (!fu_superio_device_ec_get_param (self, 0xe5, &size_tmp, error)) {
g_prefix_error (error, "failed to get EC size: ");
return FALSE;

View File

@ -102,10 +102,6 @@ fu_superio_it89_device_setup (FuSuperioDevice *self, GError **error)
}
/* get version */
if (!fu_superio_device_ec_flush (self, error)) {
g_prefix_error (error, "failed to flush: ");
return FALSE;
}
if (!fu_superio_device_ec_get_param (self, 0x00, &version_tmp[0], error)) {
g_prefix_error (error, "failed to get version major: ");
return FALSE;