diff mbox

[net-next,3/4] hwmon: Add helper to tell if a char is invalid in a name

Message ID 1531856893-27884-4-git-send-email-andrew@lunn.ch (mailing list archive)
State Awaiting Upstream
Headers show

Commit Message

Andrew Lunn July 17, 2018, 7:48 p.m. UTC
HWMON device names are not allowed to contain "-* \t\n". Add a helper
which will return true if passed an invalid character. It can be used
to massage a string into a hwmon compatible name by replacing invalid
characters with '_'.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
---
 include/linux/hwmon.h | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

Comments

Guenter Roeck July 17, 2018, 8:12 p.m. UTC | #1
On Tue, Jul 17, 2018 at 09:48:12PM +0200, Andrew Lunn wrote:
> HWMON device names are not allowed to contain "-* \t\n". Add a helper
> which will return true if passed an invalid character. It can be used
> to massage a string into a hwmon compatible name by replacing invalid
> characters with '_'.
> 
> Signed-off-by: Andrew Lunn <andrew@lunn.ch>

Acked-by: Guenter Roeck <linux@roeck-us.net>

> ---
>  include/linux/hwmon.h | 23 +++++++++++++++++++++++
>  1 file changed, 23 insertions(+)
> 
> diff --git a/include/linux/hwmon.h b/include/linux/hwmon.h
> index b217101ca76e..9493d4a388db 100644
> --- a/include/linux/hwmon.h
> +++ b/include/linux/hwmon.h
> @@ -398,4 +398,27 @@ devm_hwmon_device_register_with_info(struct device *dev,
>  void hwmon_device_unregister(struct device *dev);
>  void devm_hwmon_device_unregister(struct device *dev);
>  
> +/**
> + * hwmon_is_bad_char - Is the char invalid in a hwmon name
> + * @ch: the char to be considered
> + *
> + * hwmon_is_bad_char() can be used to determine if the given character
> + * may not be used in a hwmon name.
> + *
> + * Returns true if the char is invalid, false otherwise.
> + */
> +static inline bool hwmon_is_bad_char(const char ch)
> +{
> +	switch (ch) {
> +	case '-':
> +	case '*':
> +	case ' ':
> +	case '\t':
> +	case '\n':
> +		return true;
> +	default:
> +		return false;
> +	}
> +}
> +
>  #endif
> -- 
> 2.18.0
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-hwmon" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/include/linux/hwmon.h b/include/linux/hwmon.h
index b217101ca76e..9493d4a388db 100644
--- a/include/linux/hwmon.h
+++ b/include/linux/hwmon.h
@@ -398,4 +398,27 @@  devm_hwmon_device_register_with_info(struct device *dev,
 void hwmon_device_unregister(struct device *dev);
 void devm_hwmon_device_unregister(struct device *dev);
 
+/**
+ * hwmon_is_bad_char - Is the char invalid in a hwmon name
+ * @ch: the char to be considered
+ *
+ * hwmon_is_bad_char() can be used to determine if the given character
+ * may not be used in a hwmon name.
+ *
+ * Returns true if the char is invalid, false otherwise.
+ */
+static inline bool hwmon_is_bad_char(const char ch)
+{
+	switch (ch) {
+	case '-':
+	case '*':
+	case ' ':
+	case '\t':
+	case '\n':
+		return true;
+	default:
+		return false;
+	}
+}
+
 #endif