From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Williamson Subject: [PATCH v3 4/9] iommu: Add driver-not-bound notification Date: Tue, 20 Jun 2017 09:48:06 -0600 Message-ID: <20170620154806.17487.40142.stgit@gimli.home> References: <20170620154312.17487.66916.stgit@gimli.home> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Cc: eric.auger@redhat.com, alex.williamson@redhat.com, Joerg Roedel , linux-kernel@vger.kernel.org, linux@armlinux.org.uk To: kvm@vger.kernel.org Return-path: In-Reply-To: <20170620154312.17487.66916.stgit@gimli.home> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org 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 Reviewed-by: Eric Auger --- drivers/iommu/iommu.c | 3 +++ include/linux/iommu.h | 1 + 2 files changed, 4 insertions(+) diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c index cf7ca7e70777..1a59b3626ab2 100644 --- a/drivers/iommu/iommu.c +++ b/drivers/iommu/iommu.c @@ -1139,6 +1139,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 2cb54adc4a33..5f6b01398bc1 100644 --- a/include/linux/iommu.h +++ b/include/linux/iommu.h @@ -271,6 +271,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);