Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/sound/aoa/soundbus/sysfs.c
26451 views
1
// SPDX-License-Identifier: GPL-2.0
2
#include <linux/kernel.h>
3
#include <linux/of.h>
4
#include <linux/stat.h>
5
/* FIX UP */
6
#include "soundbus.h"
7
8
static ssize_t modalias_show(struct device *dev, struct device_attribute *attr,
9
char *buf)
10
{
11
struct soundbus_dev *sdev = to_soundbus_device(dev);
12
struct platform_device *of = &sdev->ofdev;
13
14
if (*sdev->modalias)
15
return sysfs_emit(buf, "%s\n", sdev->modalias);
16
else
17
return sysfs_emit(buf, "of:N%pOFn%c%s\n",
18
of->dev.of_node, 'T',
19
of_node_get_device_type(of->dev.of_node));
20
}
21
static DEVICE_ATTR_RO(modalias);
22
23
static ssize_t name_show(struct device *dev,
24
struct device_attribute *attr, char *buf)
25
{
26
struct soundbus_dev *sdev = to_soundbus_device(dev);
27
struct platform_device *of = &sdev->ofdev;
28
29
return sysfs_emit(buf, "%pOFn\n", of->dev.of_node);
30
}
31
static DEVICE_ATTR_RO(name);
32
33
static ssize_t type_show(struct device *dev,
34
struct device_attribute *attr, char *buf)
35
{
36
struct soundbus_dev *sdev = to_soundbus_device(dev);
37
struct platform_device *of = &sdev->ofdev;
38
39
return sysfs_emit(buf, "%s\n", of_node_get_device_type(of->dev.of_node));
40
}
41
static DEVICE_ATTR_RO(type);
42
43
struct attribute *soundbus_dev_attrs[] = {
44
&dev_attr_name.attr,
45
&dev_attr_type.attr,
46
&dev_attr_modalias.attr,
47
NULL,
48
};
49
50