mirror of
https://git.proxmox.com/git/fwupd
synced 2025-07-27 10:47:02 +00:00
synaptics-rmi: Write bus select zero when detaching
This has no effect for HID devices.
This commit is contained in:
parent
ff82d005d7
commit
8b1ca08332
@ -171,6 +171,15 @@ fu_synaptics_rmi_device_set_page (FuSynapticsRmiDevice *self, guint8 page, GErro
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
gboolean
|
||||
fu_synaptics_rmi_device_write_bus_select (FuSynapticsRmiDevice *self, guint8 bus, GError **error)
|
||||
{
|
||||
FuSynapticsRmiDeviceClass *klass_rmi = FU_SYNAPTICS_RMI_DEVICE_GET_CLASS (self);
|
||||
if (klass_rmi->write_bus_select == NULL)
|
||||
return TRUE;
|
||||
return klass_rmi->write_bus_select (self, bus, error);
|
||||
}
|
||||
|
||||
gboolean
|
||||
fu_synaptics_rmi_device_reset (FuSynapticsRmiDevice *self, GError **error)
|
||||
{
|
||||
|
@ -40,6 +40,9 @@ struct _FuSynapticsRmiDeviceClass
|
||||
GError **error);
|
||||
gboolean (*disable_sleep) (FuSynapticsRmiDevice *self,
|
||||
GError **error);
|
||||
gboolean (*write_bus_select) (FuSynapticsRmiDevice *self,
|
||||
guint8 bus,
|
||||
GError **error);
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
@ -109,3 +112,6 @@ guint16 fu_synaptics_rmi_device_get_sig_size (FuSynapticsRmiDevice *self);
|
||||
void fu_synaptics_rmi_device_set_max_page (FuSynapticsRmiDevice *self,
|
||||
guint8 max_page);
|
||||
guint8 fu_synaptics_rmi_device_get_max_page (FuSynapticsRmiDevice *self);
|
||||
gboolean fu_synaptics_rmi_device_write_bus_select (FuSynapticsRmiDevice *self,
|
||||
guint8 bus,
|
||||
GError **error);
|
||||
|
@ -44,6 +44,10 @@ fu_synaptics_rmi_v5_device_detach (FuDevice *device, GError **error)
|
||||
/* disable interrupts */
|
||||
if (!fu_synaptics_rmi_device_disable_irqs (self, error))
|
||||
return FALSE;
|
||||
if (!fu_synaptics_rmi_device_write_bus_select (self, 0, error)) {
|
||||
g_prefix_error (error, "failed to write bus select: ");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* unlock bootloader and rebind kernel driver */
|
||||
if (!fu_synaptics_rmi_device_write_bootloader_id (self, error))
|
||||
|
Loading…
Reference in New Issue
Block a user