mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2024-12-28 16:52:18 +00:00
virtio: hookup irq_get_affinity callback
struct bus_type has a new callback for retrieving the IRQ affinity for a device. Hook this callback up for virtio based devices. Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Hannes Reinecke <hare@suse.de> Reviewed-by: Ming Lei <ming.lei@redhat.com> Reviewed-by: John Garry <john.g.garry@oracle.com> Signed-off-by: Daniel Wagner <wagi@kernel.org> Link: https://lore.kernel.org/r/20241202-refactor-blk-affinity-helpers-v6-3-27211e9c2cd5@kernel.org Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
86ae920136
commit
df0e932e86
@ -377,6 +377,24 @@ static void virtio_dev_remove(struct device *_d)
|
||||
of_node_put(dev->dev.of_node);
|
||||
}
|
||||
|
||||
/*
|
||||
* virtio_irq_get_affinity - get IRQ affinity mask for device
|
||||
* @_d: ptr to dev structure
|
||||
* @irq_vec: interrupt vector number
|
||||
*
|
||||
* Return the CPU affinity mask for @_d and @irq_vec.
|
||||
*/
|
||||
static const struct cpumask *virtio_irq_get_affinity(struct device *_d,
|
||||
unsigned int irq_vec)
|
||||
{
|
||||
struct virtio_device *dev = dev_to_virtio(_d);
|
||||
|
||||
if (!dev->config->get_vq_affinity)
|
||||
return NULL;
|
||||
|
||||
return dev->config->get_vq_affinity(dev, irq_vec);
|
||||
}
|
||||
|
||||
static const struct bus_type virtio_bus = {
|
||||
.name = "virtio",
|
||||
.match = virtio_dev_match,
|
||||
@ -384,6 +402,7 @@ static const struct bus_type virtio_bus = {
|
||||
.uevent = virtio_uevent,
|
||||
.probe = virtio_dev_probe,
|
||||
.remove = virtio_dev_remove,
|
||||
.irq_get_affinity = virtio_irq_get_affinity,
|
||||
};
|
||||
|
||||
int __register_virtio_driver(struct virtio_driver *driver, struct module *owner)
|
||||
|
Loading…
Reference in New Issue
Block a user