Create /sys/bus/vio/devices/*/modalias file to allow autoloading
of modules. modalias files are already present for many other bus types.

Signed-off-by: Olaf Hering <[EMAIL PROTECTED]>
---
 arch/powerpc/kernel/vio.c |   15 +++++++++++++++
 1 file changed, 15 insertions(+)

--- a/arch/powerpc/kernel/vio.c
+++ b/arch/powerpc/kernel/vio.c
@@ -296,9 +296,24 @@ static ssize_t devspec_show(struct devic
        return sprintf(buf, "%s\n", of_node ? of_node->full_name : "none");
 }
 
+static ssize_t modalias_show (struct device *dev, struct device_attribute 
*attr,
+                             char *buf)
+{
+       struct device_node *of_node = dev->archdata.of_node;
+       const char *compat;
+       int i = 0;
+
+       if (of_node) {
+               compat = of_get_property(of_node, "compatible", &i);
+               i = sprintf (buf, "vio:T%sS%s\n", of_node->type, compat ? 
compat : "");
+       }
+       return i;
+}
+
 static struct device_attribute vio_dev_attrs[] = {
        __ATTR_RO(name),
        __ATTR_RO(devspec),
+       __ATTR_RO(modalias),
        __ATTR_NULL
 };
 
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to