Skip to content

Commit

Permalink
ALSA: aoa: Remove direct OF name and type accesses
Browse files Browse the repository at this point in the history
Convert soundbus uevent and sysfs OF node name and device type usage to
use printf specifier and helper functions instead of directly accessing
the name and type pointers. This will allow the eventual removal of the
pointers.

Signed-off-by: Rob Herring <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
  • Loading branch information
robherring authored and tiwai committed Dec 6, 2018
1 parent 917bb90 commit 192a712
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 14 deletions.
2 changes: 1 addition & 1 deletion sound/aoa/soundbus/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ static int soundbus_uevent(struct device *dev, struct kobj_uevent_env *env)
of = &soundbus_dev->ofdev;

/* stuff we want to pass to /sbin/hotplug */
retval = add_uevent_var(env, "OF_NAME=%s", of->dev.of_node->name);
retval = add_uevent_var(env, "OF_NAME=%pOFn", of->dev.of_node);
if (retval)
return retval;

Expand Down
34 changes: 21 additions & 13 deletions sound/aoa/soundbus/sysfs.c
Original file line number Diff line number Diff line change
@@ -1,18 +1,10 @@
// SPDX-License-Identifier: GPL-2.0
#include <linux/kernel.h>
#include <linux/of.h>
#include <linux/stat.h>
/* FIX UP */
#include "soundbus.h"

#define soundbus_config_of_attr(field, format_string) \
static ssize_t \
field##_show (struct device *dev, struct device_attribute *attr, \
char *buf) \
{ \
struct soundbus_dev *mdev = to_soundbus_device (dev); \
return sprintf (buf, format_string, mdev->ofdev.dev.of_node->field); \
}

static ssize_t modalias_show(struct device *dev, struct device_attribute *attr,
char *buf)
{
Expand All @@ -25,17 +17,33 @@ static ssize_t modalias_show(struct device *dev, struct device_attribute *attr,
strcat(buf, "\n");
length = strlen(buf);
} else {
length = sprintf(buf, "of:N%sT%s\n",
of->dev.of_node->name, of->dev.of_node->type);
length = sprintf(buf, "of:N%pOFn%c%s\n",
of->dev.of_node, 'T',
of_node_get_device_type(of->dev.of_node));
}

return length;
}
static DEVICE_ATTR_RO(modalias);

soundbus_config_of_attr (name, "%s\n");
static ssize_t name_show(struct device *dev,
struct device_attribute *attr, char *buf)
{
struct soundbus_dev *sdev = to_soundbus_device(dev);
struct platform_device *of = &sdev->ofdev;

return sprintf(buf, "%pOFn\n", of->dev.of_node);
}
static DEVICE_ATTR_RO(name);
soundbus_config_of_attr (type, "%s\n");

static ssize_t type_show(struct device *dev,
struct device_attribute *attr, char *buf)
{
struct soundbus_dev *sdev = to_soundbus_device(dev);
struct platform_device *of = &sdev->ofdev;

return sprintf(buf, "%s\n", of_node_get_device_type(of->dev.of_node));
}
static DEVICE_ATTR_RO(type);

struct attribute *soundbus_dev_attrs[] = {
Expand Down

0 comments on commit 192a712

Please sign in to comment.