Re: [PATCH v14 1/5] docs: driver-api: gpio: rpmsg gpio driver over rpmsg bus

From: Andrew Lunn

Date: Tue Jul 14 2026 - 16:22:46 EST


> The two fields above are required for rpmsg-gpio, but not for virtio-gpio.
>
> In the rpmsg-gpio case, interrupt detection and handling occur on the remote processor. The
> interrupt information (such as the GPIO line and trigger type) must therefore be sent to Linux
> through this notification message.
>
> In contrast, for virtio-gpio, interrupt handling is performed on the local processor. Since Linux already
> has all the necessary interrupt context, the information is not needed.

Are you sure about that?

virtio_gpio_irq_set_type() sets:

irq_line->type = type;
irq_line->update_pending = true;

virtio_gpio_irq_bus_sync_unlock() looks at update_pending and does
virtio_gpio_req(), passing irq_line->type as type.

This then gets filled into:

/* Virtio GPIO Request / Response */
struct virtio_gpio_request {
__le16 type;
__le16 gpio;
__le32 value;
};

which gets scatter/gathered over the virtqueue to the peer.

Andrew