On Thu, 2022-10-06 at 16:46 +0200, Niklas Schnelle wrote: > The struct s390_domain_device serves the sole purpose as list entry for > the devices list of a struct s390_domain. As it contains no additional > information besides a list_head and a pointer to the struct zpci_dev we > can simplify things and just thread the device list through struct > zpci_dev directly. This removes the need to allocate during domain > attach and gets rid of one level of indirection during mapping > operations. > > Reviewed-by: Matthew Rosato <mjrosato@xxxxxxxxxxxxx> > Reviewed-by: Jason Gunthorpe <jgg@xxxxxxxxxx> @Jason, on second thought not sure if your R-b still holds as you only implied that the zpci_unregister_ioat(), zdev->dma_table = NULL is okay with the plan of ignoring zpci_register_ioat() fail on error in the future (already have the patch). > Signed-off-by: Niklas Schnelle <schnelle@xxxxxxxxxxxxx> > --- > arch/s390/include/asm/pci.h | 1 + > drivers/iommu/s390-iommu.c | 37 +++++++------------------------------ > 2 files changed, 8 insertions(+), 30 deletions(-) ---8<---