[POWERPC] PS3: System-bus uevent
authorDavid Woodhouse <dwmw2@infradead.org>
Fri, 15 Jun 2007 21:55:14 +0000 (07:55 +1000)
committerPaul Mackerras <paulus@samba.org>
Thu, 28 Jun 2007 09:16:38 +0000 (19:16 +1000)
To allow userspace to automatically load modules, we need to hook up
uevent for ps3_system_bus devices.  I've used the form 'ps3:%d' with
the ps3_match_id, since that's what we use for matching drivers.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/platforms/ps3/system-bus.c

index 14bbaff..633603a 100644 (file)
@@ -437,9 +437,25 @@ static void ps3_system_bus_shutdown(struct device *_dev)
        dev_dbg(&dev->core, " <- %s:%d\n", __func__, __LINE__);
 }
 
+static int ps3_system_bus_uevent(struct device *_dev, char **envp,
+                                int num_envp, char *buffer, int buffer_size)
+{
+       struct ps3_system_bus_device *dev = ps3_dev_to_system_bus_dev(_dev);
+       int i = 0, length = 0;
+
+       if (add_uevent_var(envp, num_envp, &i, buffer, buffer_size,
+                          &length, "MODALIAS=ps3:%d",
+                          dev->match_id))
+               return -ENOMEM;
+
+       envp[i] = NULL;
+       return 0;
+}
+
 struct bus_type ps3_system_bus_type = {
        .name = "ps3_system_bus",
        .match = ps3_system_bus_match,
+       .uevent = ps3_system_bus_uevent,
        .probe = ps3_system_bus_probe,
        .remove = ps3_system_bus_remove,
        .shutdown = ps3_system_bus_shutdown,