OpenCores
URL https://opencores.org/ocsvn/test_project/test_project/trunk

Subversion Repositories test_project

[/] [test_project/] [trunk/] [linux_sd_driver/] [drivers/] [macintosh/] [macio_sysfs.c] - Blame information for rev 78

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 62 marcus.erl
#include <linux/kernel.h>
2
#include <linux/stat.h>
3
#include <asm/macio.h>
4
 
5
 
6
#define macio_config_of_attr(field, format_string)                      \
7
static ssize_t                                                          \
8
field##_show (struct device *dev, struct device_attribute *attr,        \
9
              char *buf)                                                \
10
{                                                                       \
11
        struct macio_dev *mdev = to_macio_device (dev);                 \
12
        return sprintf (buf, format_string, mdev->ofdev.node->field);   \
13
}
14
 
15
static ssize_t
16
compatible_show (struct device *dev, struct device_attribute *attr, char *buf)
17
{
18
        struct of_device *of;
19
        const char *compat;
20
        int cplen;
21
        int length = 0;
22
 
23
        of = &to_macio_device (dev)->ofdev;
24
        compat = of_get_property(of->node, "compatible", &cplen);
25
        if (!compat) {
26
                *buf = '\0';
27
                return 0;
28
        }
29
        while (cplen > 0) {
30
                int l;
31
                length += sprintf (buf, "%s\n", compat);
32
                buf += length;
33
                l = strlen (compat) + 1;
34
                compat += l;
35
                cplen -= l;
36
        }
37
 
38
        return length;
39
}
40
 
41
static ssize_t modalias_show (struct device *dev, struct device_attribute *attr,
42
                              char *buf)
43
{
44
        struct of_device *ofdev = to_of_device(dev);
45
        int len;
46
 
47
        len = of_device_get_modalias(ofdev, buf, PAGE_SIZE);
48
 
49
        buf[len] = '\n';
50
        buf[len+1] = 0;
51
 
52
        return len+1;
53
}
54
 
55
macio_config_of_attr (name, "%s\n");
56
macio_config_of_attr (type, "%s\n");
57
 
58
struct device_attribute macio_dev_attrs[] = {
59
        __ATTR_RO(name),
60
        __ATTR_RO(type),
61
        __ATTR_RO(compatible),
62
        __ATTR_RO(modalias),
63
        __ATTR_NULL
64
};

powered by: WebSVN 2.1.0

© copyright 1999-2026 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.