driver core: bus: add irq_get_affinity callback to bus_type
authorDaniel Wagner <wagi@kernel.org>
Mon, 2 Dec 2024 14:00:09 +0000 (15:00 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 25 Apr 2025 08:47:38 +0000 (10:47 +0200)
[ Upstream commit fea4952df0eeec4e1a295ebaac9f61c0065fae87 ]

Introducing a callback in struct bus_type so that a subsystem
can hook up the getters directly. This approach avoids exposing
random getters in any subsystems APIs.

Acked-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Ming Lei <ming.lei@redhat.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Daniel Wagner <wagi@kernel.org>
Link: https://lore.kernel.org/r/20241202-refactor-blk-affinity-helpers-v6-1-27211e9c2cd5@kernel.org
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Stable-dep-of: a2d5a0072235 ("scsi: smartpqi: Use is_kdump_kernel() to check for kdump")
Signed-off-by: Sasha Levin <sashal@kernel.org>
include/linux/device/bus.h

index cdc4757217f9bb4b36b5c3b8a48bab45737e44c5..b18658bce2c3819fc1cbeb38fb98391d56ec3317 100644 (file)
@@ -48,6 +48,7 @@ struct fwnode_handle;
  *             will never get called until they do.
  * @remove:    Called when a device removed from this bus.
  * @shutdown:  Called at shut-down time to quiesce the device.
+ * @irq_get_affinity:  Get IRQ affinity mask for the device on this bus.
  *
  * @online:    Called to put the device back online (after offlining it).
  * @offline:   Called to put the device offline for hot-removal. May fail.
@@ -87,6 +88,8 @@ struct bus_type {
        void (*sync_state)(struct device *dev);
        void (*remove)(struct device *dev);
        void (*shutdown)(struct device *dev);
+       const struct cpumask *(*irq_get_affinity)(struct device *dev,
+                       unsigned int irq_vec);
 
        int (*online)(struct device *dev);
        int (*offline)(struct device *dev);