|
@@ -1674,10 +1674,6 @@ int of_add_property(struct device_node *np, struct property *prop)
|
|
|
unsigned long flags;
|
|
|
int rc;
|
|
|
|
|
|
- rc = of_property_notify(OF_RECONFIG_ADD_PROPERTY, np, prop);
|
|
|
- if (rc)
|
|
|
- return rc;
|
|
|
-
|
|
|
mutex_lock(&of_mutex);
|
|
|
|
|
|
raw_spin_lock_irqsave(&devtree_lock, flags);
|
|
@@ -1689,6 +1685,9 @@ int of_add_property(struct device_node *np, struct property *prop)
|
|
|
|
|
|
mutex_unlock(&of_mutex);
|
|
|
|
|
|
+ if (!rc)
|
|
|
+ of_property_notify(OF_RECONFIG_ADD_PROPERTY, np, prop, NULL);
|
|
|
+
|
|
|
return rc;
|
|
|
}
|
|
|
|
|
@@ -1731,10 +1730,6 @@ int of_remove_property(struct device_node *np, struct property *prop)
|
|
|
unsigned long flags;
|
|
|
int rc;
|
|
|
|
|
|
- rc = of_property_notify(OF_RECONFIG_REMOVE_PROPERTY, np, prop);
|
|
|
- if (rc)
|
|
|
- return rc;
|
|
|
-
|
|
|
mutex_lock(&of_mutex);
|
|
|
|
|
|
raw_spin_lock_irqsave(&devtree_lock, flags);
|
|
@@ -1746,6 +1741,9 @@ int of_remove_property(struct device_node *np, struct property *prop)
|
|
|
|
|
|
mutex_unlock(&of_mutex);
|
|
|
|
|
|
+ if (!rc)
|
|
|
+ of_property_notify(OF_RECONFIG_REMOVE_PROPERTY, np, prop, NULL);
|
|
|
+
|
|
|
return rc;
|
|
|
}
|
|
|
|
|
@@ -1805,10 +1803,6 @@ int of_update_property(struct device_node *np, struct property *newprop)
|
|
|
if (!newprop->name)
|
|
|
return -EINVAL;
|
|
|
|
|
|
- rc = of_property_notify(OF_RECONFIG_UPDATE_PROPERTY, np, newprop);
|
|
|
- if (rc)
|
|
|
- return rc;
|
|
|
-
|
|
|
mutex_lock(&of_mutex);
|
|
|
|
|
|
raw_spin_lock_irqsave(&devtree_lock, flags);
|
|
@@ -1820,6 +1814,9 @@ int of_update_property(struct device_node *np, struct property *newprop)
|
|
|
|
|
|
mutex_unlock(&of_mutex);
|
|
|
|
|
|
+ if (!rc)
|
|
|
+ of_property_notify(OF_RECONFIG_UPDATE_PROPERTY, np, newprop, oldprop);
|
|
|
+
|
|
|
return rc;
|
|
|
}
|
|
|
|