Re: [PATCH 2/5] net: rfkill: add rfkill_find_type function
From: Heikki Krogerus
Date: Thu Aug 06 2015 - 04:32:45 EST
On Wed, Aug 05, 2015 at 05:07:29PM +0300, Andy Shevchenko wrote:
> On Wed, 2015-08-05 at 16:39 +0300, Heikki Krogerus wrote:
> > Helper for finding the type based on name. Useful if the
> > type needs to be determined based on device property.
> >
> > Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>
> > ---
> > include/linux/rfkill.h | 15 +++++++++++++
> > net/rfkill/core.c | 57 +++++++++++++++++++++++++---------------
> > ----------
> > 2 files changed, 44 insertions(+), 28 deletions(-)
> >
> > diff --git a/include/linux/rfkill.h b/include/linux/rfkill.h
> > index d901078..02f563c 100644
> > --- a/include/linux/rfkill.h
> > +++ b/include/linux/rfkill.h
> > @@ -212,6 +212,15 @@ void rfkill_set_states(struct rfkill *rfkill,
> > bool sw, bool hw);
> > * @rfkill: rfkill struct to query
> > */
> > bool rfkill_blocked(struct rfkill *rfkill);
> > +
> > +/**
> > + * rfkill_find_type - Helpper for finding rfkill type by name
> > + * @name: the name of the type
> > + *
> > + * Returns enum rfkill_type that conrresponds the name.
> > + */
> > +enum rfkill_type rfkill_find_type(const char *name);
> > +
> > #else /* !RFKILL */
> > static inline struct rfkill * __must_check
> > rfkill_alloc(const char *name,
> > @@ -268,6 +277,12 @@ static inline bool rfkill_blocked(struct rfkill
> > *rfkill)
> > {
> > return false;
> > }
> > +
> > +static inline enum rfkill_type rfkill_find_type(const char *name)
> > +{
> > + return 0;
>
> Hmmâ Besides 0 is implicitly casted to enum type the issue with enums
> that you rather have to supply existing enum entry. I would suggest to
> add RFKILL_TYPE_UNKNOWN if _ALL is reserved for some use cases.
Why would you add a new type just for this? You do realize it would
require adding specific handling all over the place? RFKILL_TYPE_ALL
(0) is already handled as an invalid type. Confused?
I'll change this and return RFKILL_TYPE_ALL instead of 0.
Thanks,
--
heikki
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/