Messages in this thread | | | Date | Wed, 1 Dec 2021 14:47:26 -0400 | From | Jason Gunthorpe <> | Subject | Re: [patch 21/32] NTB/msi: Convert to msi_on_each_desc() |
| |
On Wed, Dec 01, 2021 at 07:37:32PM +0100, Thomas Gleixner wrote: > On Wed, Dec 01 2021 at 11:11, Jason Gunthorpe wrote: > > On Wed, Dec 01, 2021 at 03:52:02PM +0100, Thomas Gleixner wrote: > >> So we really can go and create a MSI irqdomain and stick the pointer > >> into stdev->dev.irqdomain. The parent domain of this irqdomain is > >> > >> stdev->pdev.dev.irqdomain->parent > > > > It can work (pending some solution to the iommu stuff), but IMHO it is > > strange/hacky to put HW objects like irqdomain on what is a character > > struct device with a set major/minor in dev->devt and associated > > struct cdev. > > > > Conceptually it makes no sense to me, cdevs are software constructs, > > they should never go into HW areas.. > > I picked that because it _is_ already used to establish the connection > to the switchtec_class NTB driver which is beyond the usual cdev muck.
IMHO that is also a misuse. These days two drivers should be hooked together using an aux device, not a cdev and the obscure class_interface stuff. Aux device supports auto probing and module auto loading for instance.
An interrupt on an aux device is at least somewhat conceptually parallel to an interrupt on a mdev as both are usually representing some slice of a device.
Thanks, Jason
| |