Skip to content

Commit

Permalink
of/reconfig: Add empty stubs for the of_reconfig methods
Browse files Browse the repository at this point in the history
To simplify subsystem setup code, make empty stubs for the
of_reconfig_*() methods. This is particularly useful for registering and
unregistering the notifiers so that it doesn't impact the flow of the
subsystem setup code.

Signed-off-by: Grant Likely <[email protected]>
  • Loading branch information
glikely committed Nov 24, 2014
1 parent b53a234 commit f6892d1
Showing 1 changed file with 23 additions and 6 deletions.
29 changes: 23 additions & 6 deletions include/linux/of.h
Original file line number Diff line number Diff line change
Expand Up @@ -324,11 +324,6 @@ struct of_prop_reconfig {
struct property *old_prop;
};

extern int of_reconfig_notifier_register(struct notifier_block *);
extern int of_reconfig_notifier_unregister(struct notifier_block *);
extern int of_reconfig_notify(unsigned long, void *);
extern int of_reconfig_get_state_change(unsigned long action, void *arg);

extern int of_attach_node(struct device_node *);
extern int of_detach_node(struct device_node *);

Expand Down Expand Up @@ -895,6 +890,11 @@ enum of_reconfig_change {
};

#ifdef CONFIG_OF_DYNAMIC
extern int of_reconfig_notifier_register(struct notifier_block *);
extern int of_reconfig_notifier_unregister(struct notifier_block *);
extern int of_reconfig_notify(unsigned long, void *);
extern int of_reconfig_get_state_change(unsigned long action, void *arg);

extern void of_changeset_init(struct of_changeset *ocs);
extern void of_changeset_destroy(struct of_changeset *ocs);
extern int of_changeset_apply(struct of_changeset *ocs);
Expand Down Expand Up @@ -932,7 +932,24 @@ static inline int of_changeset_update_property(struct of_changeset *ocs,
{
return of_changeset_action(ocs, OF_RECONFIG_UPDATE_PROPERTY, np, prop);
}
#endif
#else /* CONFIG_OF_DYNAMIC */
static inline int of_reconfig_notifier_register(struct notifier_block *nb)
{
return -EINVAL;
}
static inline int of_reconfig_notifier_unregister(struct notifier_block *nb)
{
return -EINVAL;
}
static inline int of_reconfig_notify(unsigned long action, void *arg)
{
return -EINVAL;
}
static inline int of_reconfig_get_state_change(unsigned long action, void *arg)
{
return -EINVAL;
}
#endif /* CONFIG_OF_DYNAMIC */

/* CONFIG_OF_RESOLVE api */
extern int of_resolve_phandles(struct device_node *tree);
Expand Down

0 comments on commit f6892d1

Please sign in to comment.