On Thu, Nov 14, 2024 at 09:52:55AM +0800, Ming Lei wrote: > On Wed, Nov 13, 2024 at 03:26:16PM +0100, Daniel Wagner wrote: > > Introducing a callback in struct device_driver so that a device driver > > can hook up the getters directly. This approach avoids exposing random > > getters in drivers. > > > > Signed-off-by: Daniel Wagner <wagi@xxxxxxxxxx> > > --- > > include/linux/device/driver.h | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/include/linux/device/driver.h b/include/linux/device/driver.h > > index 5c04b8e3833b995f9fd4d65b8732b3dfce2eba7e..0d1aee423f6c076ae102bdd0536233c259947fac 100644 > > --- a/include/linux/device/driver.h > > +++ b/include/linux/device/driver.h > > @@ -74,6 +74,7 @@ enum probe_type { > > * @suspend: Called to put the device to sleep mode. Usually to a > > * low power state. > > * @resume: Called to bring a device from sleep mode. > > + * @irq_get_affinity: Get IRQ affinity mask for the device. > > * @groups: Default attributes that get created by the driver core > > * automatically. > > * @dev_groups: Additional attributes attached to device instance once > > @@ -112,6 +113,8 @@ struct device_driver { > > void (*shutdown) (struct device *dev); > > int (*suspend) (struct device *dev, pm_message_t state); > > int (*resume) (struct device *dev); > > + const struct cpumask *(*irq_get_affinity)(struct device *dev, > > + unsigned int irq_vec); > > const struct attribute_group **groups; > > const struct attribute_group **dev_groups; > > The patch looks fine, but if you put 1, 2 and 5 into single patch, > it will become much easier to review, anyway: 1 and 2 makes sense to merge. Christoph asked me to split 5 out 1 as it mixed different things together https://lore.kernel.org/linux-nvme/20241112044736.GA8883@xxxxxx/