[PATCH v4 02/10] driver core: add irq_get_affinity callback device_driver

Daniel Wagner dwagner at suse.de
Wed Nov 13 23:06:39 PST 2024


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 at kernel.org>
> > ---
> >  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@lst.de/



More information about the Linux-nvme mailing list