If the function name is changed, then I could split them. A question: The biggest change are in DRM, and all of these patches will go together. Maybe all the DRM parts could be in one patch, to avoid so many small patches, is this ok? or We'd better create a patch per a drm driver. In the end, then the code should be something like: --- a/drivers/base/component.c +++ b/drivers/base/component.c @@ -287,6 +287,24 @@ static void take_down_master(struct master *master) } } +int component_compare_of(struct device *dev, void *data) +{ + return device_match_of_node(dev, data); +} +EXPORT_SYMBOL_GPL(component_compare_of); + +void component_release_of(struct device *dev, void *data) +{ + of_node_put(data); +} +EXPORT_SYMBOL_GPL(component_release_of); > > Cheers, Daniel > > > 23 files changed, 28 insertions(+), 144 deletions(-) > > diff --git a/include/linux/component.h b/include/linux/component.h > > index 16de18f473d7..5a7468ea827c 100644 > > --- a/include/linux/component.h > > +++ b/include/linux/component.h > > @@ -2,6 +2,8 @@ > > #ifndef COMPONENT_H > > #define COMPONENT_H > > > > +#include <linux/device.h> > > +#include <linux/of.h> > > #include <linux/stddef.h> > > > > > > @@ -82,6 +84,22 @@ struct component_master_ops { > > void (*unbind)(struct device *master); > > }; > > > > +/* A set common helpers for compare/release functions */ > > +static inline int compare_of(struct device *dev, void *data) > > +{ > > + return dev->of_node == data; > > +} > > + > > +static inline void release_of(struct device *dev, void *data) > > +{ > > + of_node_put(data); > > +} > > + > > +static inline int compare_dev(struct device *dev, void *data) > > +{ > > + return dev == data; > > +} > > + > > void component_master_del(struct device *, > > const struct component_master_ops *); > >