These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / pwm / sysfs.c
index 4bd0c63..9c90886 100644 (file)
@@ -40,18 +40,18 @@ static struct pwm_device *child_to_pwm_device(struct device *child)
        return export->pwm;
 }
 
-static ssize_t pwm_period_show(struct device *child,
-                              struct device_attribute *attr,
-                              char *buf)
+static ssize_t period_show(struct device *child,
+                          struct device_attribute *attr,
+                          char *buf)
 {
        const struct pwm_device *pwm = child_to_pwm_device(child);
 
-       return sprintf(buf, "%u\n", pwm->period);
+       return sprintf(buf, "%u\n", pwm_get_period(pwm));
 }
 
-static ssize_t pwm_period_store(struct device *child,
-                               struct device_attribute *attr,
-                               const char *buf, size_t size)
+static ssize_t period_store(struct device *child,
+                           struct device_attribute *attr,
+                           const char *buf, size_t size)
 {
        struct pwm_device *pwm = child_to_pwm_device(child);
        unsigned int val;
@@ -61,23 +61,23 @@ static ssize_t pwm_period_store(struct device *child,
        if (ret)
                return ret;
 
-       ret = pwm_config(pwm, pwm->duty_cycle, val);
+       ret = pwm_config(pwm, pwm_get_duty_cycle(pwm), val);
 
        return ret ? : size;
 }
 
-static ssize_t pwm_duty_cycle_show(struct device *child,
-                                  struct device_attribute *attr,
-                                  char *buf)
+static ssize_t duty_cycle_show(struct device *child,
+                              struct device_attribute *attr,
+                              char *buf)
 {
        const struct pwm_device *pwm = child_to_pwm_device(child);
 
-       return sprintf(buf, "%u\n", pwm->duty_cycle);
+       return sprintf(buf, "%u\n", pwm_get_duty_cycle(pwm));
 }
 
-static ssize_t pwm_duty_cycle_store(struct device *child,
-                                   struct device_attribute *attr,
-                                   const char *buf, size_t size)
+static ssize_t duty_cycle_store(struct device *child,
+                               struct device_attribute *attr,
+                               const char *buf, size_t size)
 {
        struct pwm_device *pwm = child_to_pwm_device(child);
        unsigned int val;
@@ -87,24 +87,23 @@ static ssize_t pwm_duty_cycle_store(struct device *child,
        if (ret)
                return ret;
 
-       ret = pwm_config(pwm, val, pwm->period);
+       ret = pwm_config(pwm, val, pwm_get_period(pwm));
 
        return ret ? : size;
 }
 
-static ssize_t pwm_enable_show(struct device *child,
-                              struct device_attribute *attr,
-                              char *buf)
+static ssize_t enable_show(struct device *child,
+                          struct device_attribute *attr,
+                          char *buf)
 {
        const struct pwm_device *pwm = child_to_pwm_device(child);
-       int enabled = test_bit(PWMF_ENABLED, &pwm->flags);
 
-       return sprintf(buf, "%d\n", enabled);
+       return sprintf(buf, "%d\n", pwm_is_enabled(pwm));
 }
 
-static ssize_t pwm_enable_store(struct device *child,
-                               struct device_attribute *attr,
-                               const char *buf, size_t size)
+static ssize_t enable_store(struct device *child,
+                           struct device_attribute *attr,
+                           const char *buf, size_t size)
 {
        struct pwm_device *pwm = child_to_pwm_device(child);
        int val, ret;
@@ -128,18 +127,29 @@ static ssize_t pwm_enable_store(struct device *child,
        return ret ? : size;
 }
 
-static ssize_t pwm_polarity_show(struct device *child,
-                                struct device_attribute *attr,
-                                char *buf)
+static ssize_t polarity_show(struct device *child,
+                            struct device_attribute *attr,
+                            char *buf)
 {
        const struct pwm_device *pwm = child_to_pwm_device(child);
+       const char *polarity = "unknown";
+
+       switch (pwm_get_polarity(pwm)) {
+       case PWM_POLARITY_NORMAL:
+               polarity = "normal";
+               break;
 
-       return sprintf(buf, "%s\n", pwm->polarity ? "inversed" : "normal");
+       case PWM_POLARITY_INVERSED:
+               polarity = "inversed";
+               break;
+       }
+
+       return sprintf(buf, "%s\n", polarity);
 }
 
-static ssize_t pwm_polarity_store(struct device *child,
-                                 struct device_attribute *attr,
-                                 const char *buf, size_t size)
+static ssize_t polarity_store(struct device *child,
+                             struct device_attribute *attr,
+                             const char *buf, size_t size)
 {
        struct pwm_device *pwm = child_to_pwm_device(child);
        enum pwm_polarity polarity;
@@ -157,10 +167,10 @@ static ssize_t pwm_polarity_store(struct device *child,
        return ret ? : size;
 }
 
-static DEVICE_ATTR(period, 0644, pwm_period_show, pwm_period_store);
-static DEVICE_ATTR(duty_cycle, 0644, pwm_duty_cycle_show, pwm_duty_cycle_store);
-static DEVICE_ATTR(enable, 0644, pwm_enable_show, pwm_enable_store);
-static DEVICE_ATTR(polarity, 0644, pwm_polarity_show, pwm_polarity_store);
+static DEVICE_ATTR_RW(period);
+static DEVICE_ATTR_RW(duty_cycle);
+static DEVICE_ATTR_RW(enable);
+static DEVICE_ATTR_RW(polarity);
 
 static struct attribute *pwm_attrs[] = {
        &dev_attr_period.attr,
@@ -234,9 +244,9 @@ static int pwm_unexport_child(struct device *parent, struct pwm_device *pwm)
        return 0;
 }
 
-static ssize_t pwm_export_store(struct device *parent,
-                               struct device_attribute *attr,
-                               const char *buf, size_t len)
+static ssize_t export_store(struct device *parent,
+                           struct device_attribute *attr,
+                           const char *buf, size_t len)
 {
        struct pwm_chip *chip = dev_get_drvdata(parent);
        struct pwm_device *pwm;
@@ -260,11 +270,11 @@ static ssize_t pwm_export_store(struct device *parent,
 
        return ret ? : len;
 }
-static DEVICE_ATTR(export, 0200, NULL, pwm_export_store);
+static DEVICE_ATTR_WO(export);
 
-static ssize_t pwm_unexport_store(struct device *parent,
-                                 struct device_attribute *attr,
-                                 const char *buf, size_t len)
+static ssize_t unexport_store(struct device *parent,
+                             struct device_attribute *attr,
+                             const char *buf, size_t len)
 {
        struct pwm_chip *chip = dev_get_drvdata(parent);
        unsigned int hwpwm;
@@ -281,7 +291,7 @@ static ssize_t pwm_unexport_store(struct device *parent,
 
        return ret ? : len;
 }
-static DEVICE_ATTR(unexport, 0200, NULL, pwm_unexport_store);
+static DEVICE_ATTR_WO(unexport);
 
 static ssize_t npwm_show(struct device *parent, struct device_attribute *attr,
                         char *buf)
@@ -301,9 +311,9 @@ static struct attribute *pwm_chip_attrs[] = {
 ATTRIBUTE_GROUPS(pwm_chip);
 
 static struct class pwm_class = {
-       .name           = "pwm",
-       .owner          = THIS_MODULE,
-       .dev_groups     = pwm_chip_groups,
+       .name = "pwm",
+       .owner = THIS_MODULE,
+       .dev_groups = pwm_chip_groups,
 };
 
 static int pwmchip_sysfs_match(struct device *parent, const void *data)