]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - sound/aoa/soundbus/core.c
Driver core: change add_uevent_var to use a struct
[linux-2.6-omap-h63xx.git] / sound / aoa / soundbus / core.c
index 64d1639143359cc85d93d0b2740bf86d62e6e830..f84f3e505788f36d0ecaee4eb33b13cf60263383 100644 (file)
@@ -56,13 +56,12 @@ static int soundbus_probe(struct device *dev)
 }
 
 
-static int soundbus_uevent(struct device *dev, char **envp, int num_envp,
-                          char *buffer, int buffer_size)
+static int soundbus_uevent(struct device *dev, struct kobj_uevent_env *env)
 {
        struct soundbus_dev * soundbus_dev;
        struct of_device * of;
        const char *compat;
-       int retval = 0, i = 0, length = 0;
+       int retval = 0;
        int cplen, seen = 0;
 
        if (!dev)
@@ -75,15 +74,11 @@ static int soundbus_uevent(struct device *dev, char **envp, int num_envp,
        of = &soundbus_dev->ofdev;
 
        /* stuff we want to pass to /sbin/hotplug */
-       retval = add_uevent_var(envp, num_envp, &i,
-                               buffer, buffer_size, &length,
-                               "OF_NAME=%s", of->node->name);
+       retval = add_uevent_var(env, "OF_NAME=%s", of->node->name);
        if (retval)
                return retval;
 
-       retval = add_uevent_var(envp, num_envp, &i,
-                               buffer, buffer_size, &length,
-                               "OF_TYPE=%s", of->node->type);
+       retval = add_uevent_var(env, "OF_TYPE=%s", of->node->type);
        if (retval)
                return retval;
 
@@ -93,27 +88,19 @@ static int soundbus_uevent(struct device *dev, char **envp, int num_envp,
 
        compat = of_get_property(of->node, "compatible", &cplen);
        while (compat && cplen > 0) {
-               int tmp = length;
-               retval = add_uevent_var(envp, num_envp, &i,
-                                       buffer, buffer_size, &length,
-                                       "OF_COMPATIBLE_%d=%s", seen, compat);
+               int tmp = env->buflen;
+               retval = add_uevent_var(env, "OF_COMPATIBLE_%d=%s", seen, compat);
                if (retval)
                        return retval;
-               compat += length - tmp;
-               cplen -= length - tmp;
+               compat += env->buflen - tmp;
+               cplen -= env->buflen - tmp;
                seen += 1;
        }
 
-       retval = add_uevent_var(envp, num_envp, &i,
-                               buffer, buffer_size, &length,
-                               "OF_COMPATIBLE_N=%d", seen);
+       retval = add_uevent_var(env, "OF_COMPATIBLE_N=%d", seen);
        if (retval)
                return retval;
-       retval = add_uevent_var(envp, num_envp, &i,
-                               buffer, buffer_size, &length,
-                               "MODALIAS=%s", soundbus_dev->modalias);
-
-       envp[i] = NULL;
+       retval = add_uevent_var(env, "MODALIAS=%s", soundbus_dev->modalias);
 
        return retval;
 }