From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Williamson Subject: Re: [PATCH 4/7] iommu: Add driver-not-bound notification Date: Fri, 9 Jun 2017 16:43:34 -0600 Message-ID: <20170609164334.45101798@w520.home> References: <20170609215816.31986.89321.stgit@gimli.home> <20170609215959.31986.60028.stgit@gimli.home> <20170609222133.GN30388@8bytes.org> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org, eric.auger@redhat.com, linux-kernel@vger.kernel.org To: Joerg Roedel Return-path: In-Reply-To: <20170609222133.GN30388@8bytes.org> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org On Sat, 10 Jun 2017 00:21:33 +0200 Joerg Roedel wrote: > On Fri, Jun 09, 2017 at 03:59:59PM -0600, Alex Williamson wrote: > > The driver core supports a BUS_NOTIFY_DRIVER_NOT_BOUND notification > > sent if a driver fails to bind to a device. Extend IOMMU group > > notifications to include a version of this. > > > > Signed-off-by: Alex Williamson > > Cc: Joerg Roedel > > Since this is part of a larger patch-set I assume it won't go through > iommu-tree, so: > > Acked-by: Joerg Roedel > Thanks Joerg! Yes, I was hoping for your ack so I could pull it through the vfio tree. I also note that I added a new case, but missed the break. It doesn't change the code, but I think it makes it more maintainable to include it. If there are no objections I'll make this trivial update to the commit: commit 95c30f6a55638edaf9673f451c0050441cf18ab8 Author: Alex Williamson Date: Sat Jun 3 13:00:06 2017 -0600 iommu: Add driver-not-bound notification The driver core supports a BUS_NOTIFY_DRIVER_NOT_BOUND notification sent if a driver fails to bind to a device. Extend IOMMU group notifications to include a version of this. Signed-off-by: Alex Williamson Acked-by: Joerg Roedel diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c index 3b67144dead2..7043f95ee43d 100644 --- a/drivers/iommu/iommu.c +++ b/drivers/iommu/iommu.c @@ -1113,6 +1113,9 @@ static int iommu_bus_notifier(struct notifier_block *nb, case BUS_NOTIFY_UNBOUND_DRIVER: group_action = IOMMU_GROUP_NOTIFY_UNBOUND_DRIVER; break; + case BUS_NOTIFY_DRIVER_NOT_BOUND: + group_action = IOMMU_GROUP_NOTIFY_DRIVER_NOT_BOUND; + break; } if (group_action) diff --git a/include/linux/iommu.h b/include/linux/iommu.h index 2e4de0deee53..54a0eb96da25 100644 --- a/include/linux/iommu.h +++ b/include/linux/iommu.h @@ -268,6 +268,7 @@ static inline void iommu_device_set_fwnode(struct iommu_device *iommu, #define IOMMU_GROUP_NOTIFY_BOUND_DRIVER 4 /* Post Driver bind */ #define IOMMU_GROUP_NOTIFY_UNBIND_DRIVER 5 /* Pre Driver unbind */ #define IOMMU_GROUP_NOTIFY_UNBOUND_DRIVER 6 /* Post Driver unbind */ +#define IOMMU_GROUP_NOTIFY_DRIVER_NOT_BOUND 7 /* Driver bind failed */ extern int bus_set_iommu(struct bus_type *bus, const struct iommu_ops *ops); extern bool iommu_present(struct bus_type *bus);