Thread (4 messages) flat view 4 messages, 2 authors, 2005-10-10

Re: [PATCH] Add modalias to macio sysfs attributes

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2005-10-10 22:21:04

On Mon, 2005-10-10 at 22:07 +0200, Olaf Hering wrote:
Provide a "compatible" entry in /sys/bus/macio/devices/*/
This can be used to load drivers via the modules.alias file.

Author: [off-list ref]
Signed-off-by: Olaf Hering <redacted>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
quoted hunk ↗ jump to hunk
--- linux-2.6.13-rc7/drivers/macintosh/macio_sysfs.c.~1~	2005-08-26 16:32:13.000000000 +0200
+++ linux-2.6.13-rc7/drivers/macintosh/macio_sysfs.c	2005-08-27 11:58:47.000000000 +0200
@@ -39,6 +39,31 @@ compatible_show (struct device *dev, str
 	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");
 
@@ -46,5 +71,6 @@ struct device_attribute macio_dev_attrs[
 	__ATTR_RO(name),
 	__ATTR_RO(type),
 	__ATTR_RO(compatible),
+	__ATTR_RO(modalias),
 	__ATTR_NULL
 };
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help