fwupd/plugins/gpio
Richard Hughes faa7871b08 Remove duplicate ->probe() calls to speed up startup by 150ms
Now incorporate is fixed to copy across the properties we need in the
superclass, we don't need to do the subclass ->probe().

Note, we still need to do the subclassed ->probe() when using
FU_UDEV_DEVICE_FLAG_VENDOR_FROM_PARENT or when looking at properties
on the parent device.

This also removes the spurious 'already set GType to FuVliUsbhubDevice,
ignoring FuVliUsbhubDevice' messages when running the daemon.
2022-06-14 21:01:57 +01:00
..
fu-gpio-device.c Remove duplicate ->probe() calls to speed up startup by 150ms 2022-06-14 21:01:57 +01:00
fu-gpio-device.h Add a plugin to set GPIOs for the duration of an update 2022-02-16 14:01:07 +00:00
fu-plugin-gpio.c Add plugin quirk keys earlier in the startup process 2022-05-09 11:13:52 +01:00
gpio.quirk Add a plugin to set GPIOs for the duration of an update 2022-02-16 14:01:07 +00:00
meson.build Convert build system to use meson tristate features 2022-02-28 08:34:48 -06:00
README.md Add a plugin to set GPIOs for the duration of an update 2022-02-16 14:01:07 +00:00

GPIO

Introduction

This plugin sets GPIO outputs either high or low before and/or after an update has been deployed.

GUID Generation

These device use GPIO gpiochip_info.label values, e.g.

  • GPIO\ID_INT3450:00

Quirk Use

This plugin uses the following plugin-specific quirks:

GpioForUpdate

The GPIO bit to set before the update is deployed e.g. INT3450:00,SPI_MUX,high. After the update has finished, the bits are returned to the default state.

For example, to set GPIO pin 2 low for the duration of the ColorHug device update this could be added to the quirk file:

[USB\VID_273F&PID_1001]
GpioForUpdate=fake-gpio-chip,2,low

Since: 1.7.6

External Interface Access

This plugin requires ioctl GPIO_GET_CHIPINFO_IOCTL and GPIO_V2_GET_LINE_IOCTL access on /dev/gpiochip* devices.