Rearrange module order for easy placement on external builds
[~emulex/for-vlad/old/compat.git] / compat / compat-2.6.26.c
1 /*
2  * Copyright 2007       Luis R. Rodriguez <mcgrof@winlab.rutgers.edu>
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  *
8  * Compatibility file for Linux wireless for kernels 2.6.26.
9  *
10  * Copyright holders from ported work:
11  *
12  * Copyright (c) 2002-2003 Patrick Mochel <mochel@osdl.org>
13  * Copyright (c) 2006-2007 Greg Kroah-Hartman <greg@kroah.com>
14  * Copyright (c) 2006-2007 Novell Inc.
15  */
16
17 #include <net/compat.h>
18
19 /* All things not in 2.6.25 */
20 #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,26))
21
22
23 /**
24  * kobject_set_name_vargs - Set the name of an kobject
25  * @kobj: struct kobject to set the name of
26  * @fmt: format string used to build the name
27  * @vargs: vargs to format the string.
28  */
29 static
30 int kobject_set_name_vargs(struct kobject *kobj, const char *fmt,
31                                   va_list vargs)
32 {
33         const char *old_name = kobj->name;
34         char *s;
35
36         if (kobj->name && !fmt)
37                 return 0;
38
39         kobj->name = kvasprintf(GFP_KERNEL, fmt, vargs);
40         if (!kobj->name)
41                 return -ENOMEM;
42
43         /* ewww... some of these buggers have '/' in the name ... */
44         while ((s = strchr(kobj->name, '/')))
45                 s[0] = '!';
46
47         kfree(old_name);
48         return 0;
49 }
50
51 /**
52  * dev_set_name - set a device name
53  * @dev: device
54  * @fmt: format string for the device's name
55  */
56 int dev_set_name(struct device *dev, const char *fmt, ...)
57 {
58         va_list vargs;
59         int err;
60
61         va_start(vargs, fmt);
62         err = kobject_set_name_vargs(&dev->kobj, fmt, vargs);
63         va_end(vargs);
64         return err;
65 }
66 EXPORT_SYMBOL_GPL(dev_set_name);
67
68 #endif /* LINUX_VERSION_CODE < KERNEL_VERSION(2,6,26) */
69