summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThierry Reding <thierry.reding@gmail.com>2015-07-20 09:56:05 +0200
committerThierry Reding <thierry.reding@gmail.com>2015-07-27 12:03:37 +0200
commit5a063d87e97df28ca0b00807bc4d6fa11c5a5107 (patch)
tree17b7cec307e98f14d1c943ee0de230454666af0c
parent15da7b5001e498fa7dc619d4d7951f9665b071e4 (diff)
downloadlwn-5a063d87e97df28ca0b00807bc4d6fa11c5a5107.tar.gz
lwn-5a063d87e97df28ca0b00807bc4d6fa11c5a5107.zip
pwm: sysfs: Properly convert from enum to string
The current code will check for polarity in a boolean way. While it is correct that polarity is either normal or inversed, make it more obvious that it's an enumeration by using a switch statement and explicit matches on the enumeration values. Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
-rw-r--r--drivers/pwm/sysfs.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/pwm/sysfs.c b/drivers/pwm/sysfs.c
index ac0abecfbaa0..fbfc9e903230 100644
--- a/drivers/pwm/sysfs.c
+++ b/drivers/pwm/sysfs.c
@@ -133,9 +133,19 @@ static ssize_t pwm_polarity_show(struct device *child,
char *buf)
{
const struct pwm_device *pwm = child_to_pwm_device(child);
+ const char *polarity = "unknown";
- return sprintf(buf, "%s\n",
- pwm_get_polarity(pwm) ? "inversed" : "normal");
+ switch (pwm_get_polarity(pwm)) {
+ case PWM_POLARITY_NORMAL:
+ polarity = "normal";
+ break;
+
+ case PWM_POLARITY_INVERSED:
+ polarity = "inversed";
+ break;
+ }
+
+ return sprintf(buf, "%s\n", polarity);
}
static ssize_t pwm_polarity_store(struct device *child,