It's preferable to use DEVICE_ATTR_XXX() for device attributes with specific permission instead of DEVICE_ATTR() basis macro.
Fixes: 22d8de62f11b ("ALSA: control - add generic LED trigger module as the new control layer") Signed-off-by: Takashi Sakamoto o-takashi@sakamocchi.jp --- sound/core/control_led.c | 37 +++++++++++++++++-------------------- 1 file changed, 17 insertions(+), 20 deletions(-)
diff --git a/sound/core/control_led.c b/sound/core/control_led.c index 788fd9e275e0..99c5d503638f 100644 --- a/sound/core/control_led.c +++ b/sound/core/control_led.c @@ -371,8 +371,7 @@ static void snd_ctl_led_disconnect(struct snd_card *card) * sysfs */
-static ssize_t show_mode(struct device *dev, - struct device_attribute *attr, char *buf) +static ssize_t mode_show(struct device *dev, struct device_attribute *attr, char *buf) { struct snd_ctl_led *led = container_of(dev, struct snd_ctl_led, dev); const char *str; @@ -386,8 +385,8 @@ static ssize_t show_mode(struct device *dev, return sprintf(buf, "%s\n", str); }
-static ssize_t store_mode(struct device *dev, struct device_attribute *attr, - const char *buf, size_t count) +static ssize_t mode_store(struct device *dev, struct device_attribute *attr, const char *buf, + size_t count) { struct snd_ctl_led *led = container_of(dev, struct snd_ctl_led, dev); char _buf[16]; @@ -415,16 +414,15 @@ static ssize_t store_mode(struct device *dev, struct device_attribute *attr, return count; }
-static ssize_t show_brightness(struct device *dev, - struct device_attribute *attr, char *buf) +static ssize_t brightness_show(struct device *dev, struct device_attribute *attr, char *buf) { struct snd_ctl_led *led = container_of(dev, struct snd_ctl_led, dev);
return sprintf(buf, "%u\n", ledtrig_audio_get(led->trigger_type)); }
-static DEVICE_ATTR(mode, 0644, show_mode, store_mode); -static DEVICE_ATTR(brightness, 0444, show_brightness, NULL); +static DEVICE_ATTR_RW(mode); +static DEVICE_ATTR_RO(brightness);
static struct attribute *snd_ctl_led_dev_attrs[] = { &dev_attr_mode.attr, @@ -558,22 +556,22 @@ static ssize_t set_led_id(struct snd_ctl_led_card *led_card, const char *buf, si return count; }
-static ssize_t parse_attach(struct device *dev, struct device_attribute *attr, - const char *buf, size_t count) +static ssize_t attach_store(struct device *dev, struct device_attribute *attr, const char *buf, + size_t count) { struct snd_ctl_led_card *led_card = container_of(dev, struct snd_ctl_led_card, dev); return set_led_id(led_card, buf, count, true); }
-static ssize_t parse_detach(struct device *dev, struct device_attribute *attr, - const char *buf, size_t count) +static ssize_t detach_store(struct device *dev, struct device_attribute *attr, const char *buf, + size_t count) { struct snd_ctl_led_card *led_card = container_of(dev, struct snd_ctl_led_card, dev); return set_led_id(led_card, buf, count, false); }
-static ssize_t ctl_reset(struct device *dev, struct device_attribute *attr, - const char *buf, size_t count) +static ssize_t reset_store(struct device *dev, struct device_attribute *attr, const char *buf, + size_t count) { struct snd_ctl_led_card *led_card = container_of(dev, struct snd_ctl_led_card, dev); int err; @@ -586,8 +584,7 @@ static ssize_t ctl_reset(struct device *dev, struct device_attribute *attr, return count; }
-static ssize_t ctl_list(struct device *dev, - struct device_attribute *attr, char *buf) +static ssize_t list_show(struct device *dev, struct device_attribute *attr, char *buf) { struct snd_ctl_led_card *led_card = container_of(dev, struct snd_ctl_led_card, dev); struct snd_card *card; @@ -620,10 +617,10 @@ static ssize_t ctl_list(struct device *dev, return buf2 - buf; }
-static DEVICE_ATTR(attach, 0200, NULL, parse_attach); -static DEVICE_ATTR(detach, 0200, NULL, parse_detach); -static DEVICE_ATTR(reset, 0200, NULL, ctl_reset); -static DEVICE_ATTR(list, 0444, ctl_list, NULL); +static DEVICE_ATTR_WO(attach); +static DEVICE_ATTR_WO(detach); +static DEVICE_ATTR_WO(reset); +static DEVICE_ATTR_RO(list);
static struct attribute *snd_ctl_led_card_attrs[] = { &dev_attr_attach.attr,