]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/firmware/dmi-id.c
Driver core: change add_uevent_var to use a struct
[linux-2.6-omap-h63xx.git] / drivers / firmware / dmi-id.c
index 59c3b5aa89f41a9fba29ce500049cbed721e9e40..2678098d450465fd3a3989fca0eb41008842dbe5 100644 (file)
@@ -134,14 +134,17 @@ static struct attribute_group* sys_dmi_attribute_groups[] = {
        NULL
 };
 
-static int dmi_dev_uevent(struct device *dev, char **envp,
-                           int num_envp, char *buffer, int buffer_size)
+static int dmi_dev_uevent(struct device *dev, struct kobj_uevent_env *env)
 {
-       strcpy(buffer, "MODALIAS=");
-       get_modalias(buffer+9, buffer_size-9);
-       envp[0] = buffer;
-       envp[1] = NULL;
-
+       ssize_t len;
+
+       if (add_uevent_var(env, "MODALIAS="))
+               return -ENOMEM;
+       len = get_modalias(&env->buf[env->buflen - 1],
+                          sizeof(env->buf) - env->buflen);
+       if (len >= (sizeof(env->buf) - env->buflen))
+               return -ENOMEM;
+       env->buflen += len;
        return 0;
 }