lkml.org 
[lkml]   [2022]   [Feb]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    SubjectRe: [RFC PATCH] component: Add common helpers for compare/release functions
    From
    Date
    On Fri, 2022-01-28 at 13:04 +0000, Robin Murphy wrote:
    > On 2022-01-28 08:11, Yong Wu wrote:
    > [...]
    > > 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;
    > > +}
    >
    > Note that this is effectively just device_match_of_node(), although
    > I
    > guess there is an argument that having a nice consistent set of
    > component_match API helpers might be worth more than a tiny code
    > saving
    > by borrowing one from a different API.

    Thanks for this tip. I could try use this, Let the maintainer decide.

    >
    > Either way, however, I don't think there's any good argument for
    > instantiating separate copies of these functions in every driver
    > that
    > uses them. If they're used as callbacks then they can't actually be
    > inlined anyway, so they may as well be exported from component.c as

    oh. The MTK iommu keeps this inline for long time... OK, I will try
    to move into the component.c and export them.

    (Sorry for the late reply due to New Year holidays.)

    > normal so that the code really is shared (plus then there's nice
    > symmetry with the aforementioned device_match API helpers too).
    >
    > Thanks,
    > Robin.

    \
     
     \ /
      Last update: 2022-02-10 08:51    [W:3.298 / U:0.304 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site