Skip to content

Commit

Permalink
[PATCH] Add modalias to macio sysfs attributes
Browse files Browse the repository at this point in the history
Provide a "compatible" entry in /sys/bus/macio/devices/*/ This can be used
to load drivers via the modules.alias file.

Signed-off-by: Olaf Hering <olh@suse.de>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
  • Loading branch information
scwhab@suse.de authored and paulusmack committed Oct 29, 2005
1 parent 35e95e6 commit dcb34ab
Showing 1 changed file with 26 additions and 0 deletions.
26 changes: 26 additions & 0 deletions drivers/macintosh/macio_sysfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -39,12 +39,38 @@ compatible_show (struct device *dev, struct device_attribute *attr, char *buf)
return length;
}

static ssize_t modalias_show (struct device *dev, struct device_attribute *attr,
char *buf)
{
struct of_device *of;
char *compat;
int cplen;
int length;

of = &to_macio_device (dev)->ofdev;
compat = (char *) get_property (of->node, "compatible", &cplen);
if (!compat) compat = "", cplen = 1;
length = sprintf (buf, "of:N%sT%s", of->node->name, of->node->type);
buf += length;
while (cplen > 0) {
int l;
length += sprintf (buf, "C%s", compat);
buf += length;
l = strlen (compat) + 1;
compat += l;
cplen -= l;
}

return length;
}

macio_config_of_attr (name, "%s\n");
macio_config_of_attr (type, "%s\n");

struct device_attribute macio_dev_attrs[] = {
__ATTR_RO(name),
__ATTR_RO(type),
__ATTR_RO(compatible),
__ATTR_RO(modalias),
__ATTR_NULL
};

0 comments on commit dcb34ab

Please sign in to comment.