Re: [PATCH 2/5] net: rfkill: add rfkill_find_type function
From: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Date: 2015-08-06 08:32:35
Also in:
linux-tegra, lkml, netdev
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:quoted
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@linux.intel.com> --- 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