The iommu group changes notifer is not referenced in the tree. Remove it
to avoid dead code.

Suggested-by: Christoph Hellwig <h...@lst.de>
Signed-off-by: Lu Baolu <baolu...@linux.intel.com>
---
 include/linux/iommu.h | 23 -------------
 drivers/iommu/iommu.c | 75 -------------------------------------------
 2 files changed, 98 deletions(-)

diff --git a/include/linux/iommu.h b/include/linux/iommu.h
index 1bc03118dfb3..860ac545ac77 100644
--- a/include/linux/iommu.h
+++ b/include/linux/iommu.h
@@ -417,13 +417,6 @@ static inline void iommu_iotlb_gather_init(struct 
iommu_iotlb_gather *gather)
        };
 }
 
-#define IOMMU_GROUP_NOTIFY_ADD_DEVICE          1 /* Device added */
-#define IOMMU_GROUP_NOTIFY_DEL_DEVICE          2 /* Pre Device removed */
-#define IOMMU_GROUP_NOTIFY_BIND_DRIVER         3 /* Pre Driver bind */
-#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 */
-
 extern int bus_set_iommu(struct bus_type *bus, const struct iommu_ops *ops);
 extern int bus_iommu_probe(struct bus_type *bus);
 extern bool iommu_present(struct bus_type *bus);
@@ -496,10 +489,6 @@ extern int iommu_group_for_each_dev(struct iommu_group 
*group, void *data,
 extern struct iommu_group *iommu_group_get(struct device *dev);
 extern struct iommu_group *iommu_group_ref_get(struct iommu_group *group);
 extern void iommu_group_put(struct iommu_group *group);
-extern int iommu_group_register_notifier(struct iommu_group *group,
-                                        struct notifier_block *nb);
-extern int iommu_group_unregister_notifier(struct iommu_group *group,
-                                          struct notifier_block *nb);
 extern int iommu_register_device_fault_handler(struct device *dev,
                                        iommu_dev_fault_handler_t handler,
                                        void *data);
@@ -913,18 +902,6 @@ static inline void iommu_group_put(struct iommu_group 
*group)
 {
 }
 
-static inline int iommu_group_register_notifier(struct iommu_group *group,
-                                               struct notifier_block *nb)
-{
-       return -ENODEV;
-}
-
-static inline int iommu_group_unregister_notifier(struct iommu_group *group,
-                                                 struct notifier_block *nb)
-{
-       return 0;
-}
-
 static inline
 int iommu_register_device_fault_handler(struct device *dev,
                                        iommu_dev_fault_handler_t handler,
diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c
index 3ad66cb9bedc..053f6ea54fbd 100644
--- a/drivers/iommu/iommu.c
+++ b/drivers/iommu/iommu.c
@@ -18,7 +18,6 @@
 #include <linux/errno.h>
 #include <linux/iommu.h>
 #include <linux/idr.h>
-#include <linux/notifier.h>
 #include <linux/err.h>
 #include <linux/pci.h>
 #include <linux/bitops.h>
@@ -40,7 +39,6 @@ struct iommu_group {
        struct kobject *devices_kobj;
        struct list_head devices;
        struct mutex mutex;
-       struct blocking_notifier_head notifier;
        void *iommu_data;
        void (*iommu_data_release)(void *iommu_data);
        char *name;
@@ -629,7 +627,6 @@ struct iommu_group *iommu_group_alloc(void)
        mutex_init(&group->mutex);
        INIT_LIST_HEAD(&group->devices);
        INIT_LIST_HEAD(&group->entry);
-       BLOCKING_INIT_NOTIFIER_HEAD(&group->notifier);
 
        ret = ida_simple_get(&iommu_group_ida, 0, 0, GFP_KERNEL);
        if (ret < 0) {
@@ -904,10 +901,6 @@ int iommu_group_add_device(struct iommu_group *group, 
struct device *dev)
        if (ret)
                goto err_put_group;
 
-       /* Notify any listeners about change to group. */
-       blocking_notifier_call_chain(&group->notifier,
-                                    IOMMU_GROUP_NOTIFY_ADD_DEVICE, dev);
-
        trace_add_device_to_group(group->id, dev);
 
        dev_info(dev, "Adding to iommu group %d\n", group->id);
@@ -949,10 +942,6 @@ void iommu_group_remove_device(struct device *dev)
 
        dev_info(dev, "Removing from iommu group %d\n", group->id);
 
-       /* Pre-notify listeners that a device is being removed. */
-       blocking_notifier_call_chain(&group->notifier,
-                                    IOMMU_GROUP_NOTIFY_DEL_DEVICE, dev);
-
        mutex_lock(&group->mutex);
        list_for_each_entry(tmp_device, &group->devices, list) {
                if (tmp_device->dev == dev) {
@@ -1075,36 +1064,6 @@ void iommu_group_put(struct iommu_group *group)
 }
 EXPORT_SYMBOL_GPL(iommu_group_put);
 
-/**
- * iommu_group_register_notifier - Register a notifier for group changes
- * @group: the group to watch
- * @nb: notifier block to signal
- *
- * This function allows iommu group users to track changes in a group.
- * See include/linux/iommu.h for actions sent via this notifier.  Caller
- * should hold a reference to the group throughout notifier registration.
- */
-int iommu_group_register_notifier(struct iommu_group *group,
-                                 struct notifier_block *nb)
-{
-       return blocking_notifier_chain_register(&group->notifier, nb);
-}
-EXPORT_SYMBOL_GPL(iommu_group_register_notifier);
-
-/**
- * iommu_group_unregister_notifier - Unregister a notifier
- * @group: the group to watch
- * @nb: notifier block to signal
- *
- * Unregister a previously registered group notifier block.
- */
-int iommu_group_unregister_notifier(struct iommu_group *group,
-                                   struct notifier_block *nb)
-{
-       return blocking_notifier_chain_unregister(&group->notifier, nb);
-}
-EXPORT_SYMBOL_GPL(iommu_group_unregister_notifier);
-
 /**
  * iommu_register_device_fault_handler() - Register a device fault handler
  * @dev: the device
@@ -1653,14 +1612,8 @@ static int remove_iommu_group(struct device *dev, void 
*data)
 static int iommu_bus_notifier(struct notifier_block *nb,
                              unsigned long action, void *data)
 {
-       unsigned long group_action = 0;
        struct device *dev = data;
-       struct iommu_group *group;
 
-       /*
-        * ADD/DEL call into iommu driver ops if provided, which may
-        * result in ADD/DEL notifiers to group->notifier
-        */
        if (action == BUS_NOTIFY_ADD_DEVICE) {
                int ret;
 
@@ -1671,34 +1624,6 @@ static int iommu_bus_notifier(struct notifier_block *nb,
                return NOTIFY_OK;
        }
 
-       /*
-        * Remaining BUS_NOTIFYs get filtered and republished to the
-        * group, if anyone is listening
-        */
-       group = iommu_group_get(dev);
-       if (!group)
-               return 0;
-
-       switch (action) {
-       case BUS_NOTIFY_BIND_DRIVER:
-               group_action = IOMMU_GROUP_NOTIFY_BIND_DRIVER;
-               break;
-       case BUS_NOTIFY_BOUND_DRIVER:
-               group_action = IOMMU_GROUP_NOTIFY_BOUND_DRIVER;
-               break;
-       case BUS_NOTIFY_UNBIND_DRIVER:
-               group_action = IOMMU_GROUP_NOTIFY_UNBIND_DRIVER;
-               break;
-       case BUS_NOTIFY_UNBOUND_DRIVER:
-               group_action = IOMMU_GROUP_NOTIFY_UNBOUND_DRIVER;
-               break;
-       }
-
-       if (group_action)
-               blocking_notifier_call_chain(&group->notifier,
-                                            group_action, dev);
-
-       iommu_group_put(group);
        return 0;
 }
 
-- 
2.25.1

_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to