diff options
Diffstat (limited to 'arch/microblaze/kernel/of_device.c')
-rw-r--r-- | arch/microblaze/kernel/of_device.c | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/arch/microblaze/kernel/of_device.c b/arch/microblaze/kernel/of_device.c index b372787886ed..3a367d788451 100644 --- a/arch/microblaze/kernel/of_device.c +++ b/arch/microblaze/kernel/of_device.c | |||
@@ -62,51 +62,3 @@ struct of_device *of_device_alloc(struct device_node *np, | |||
62 | return dev; | 62 | return dev; |
63 | } | 63 | } |
64 | EXPORT_SYMBOL(of_device_alloc); | 64 | EXPORT_SYMBOL(of_device_alloc); |
65 | |||
66 | int of_device_uevent(struct device *dev, struct kobj_uevent_env *env) | ||
67 | { | ||
68 | struct of_device *ofdev; | ||
69 | const char *compat; | ||
70 | int seen = 0, cplen, sl; | ||
71 | |||
72 | if (!dev) | ||
73 | return -ENODEV; | ||
74 | |||
75 | ofdev = to_of_device(dev); | ||
76 | |||
77 | if (add_uevent_var(env, "OF_NAME=%s", ofdev->dev.of_node->name)) | ||
78 | return -ENOMEM; | ||
79 | |||
80 | if (add_uevent_var(env, "OF_TYPE=%s", ofdev->dev.of_node->type)) | ||
81 | return -ENOMEM; | ||
82 | |||
83 | /* Since the compatible field can contain pretty much anything | ||
84 | * it's not really legal to split it out with commas. We split it | ||
85 | * up using a number of environment variables instead. */ | ||
86 | |||
87 | compat = of_get_property(ofdev->dev.of_node, "compatible", &cplen); | ||
88 | while (compat && *compat && cplen > 0) { | ||
89 | if (add_uevent_var(env, "OF_COMPATIBLE_%d=%s", seen, compat)) | ||
90 | return -ENOMEM; | ||
91 | |||
92 | sl = strlen(compat) + 1; | ||
93 | compat += sl; | ||
94 | cplen -= sl; | ||
95 | seen++; | ||
96 | } | ||
97 | |||
98 | if (add_uevent_var(env, "OF_COMPATIBLE_N=%d", seen)) | ||
99 | return -ENOMEM; | ||
100 | |||
101 | /* modalias is trickier, we add it in 2 steps */ | ||
102 | if (add_uevent_var(env, "MODALIAS=")) | ||
103 | return -ENOMEM; | ||
104 | sl = of_device_get_modalias(ofdev, &env->buf[env->buflen-1], | ||
105 | sizeof(env->buf) - env->buflen); | ||
106 | if (sl >= (sizeof(env->buf) - env->buflen)) | ||
107 | return -ENOMEM; | ||
108 | env->buflen += sl; | ||
109 | |||
110 | return 0; | ||
111 | } | ||
112 | EXPORT_SYMBOL(of_device_uevent); | ||