diff options
Diffstat (limited to 'mm/backing-dev.c')
| -rw-r--r-- | mm/backing-dev.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/mm/backing-dev.c b/mm/backing-dev.c index 7c4f9e097095..f2e574dbc300 100644 --- a/mm/backing-dev.c +++ b/mm/backing-dev.c | |||
| @@ -172,30 +172,22 @@ postcore_initcall(bdi_class_init); | |||
| 172 | int bdi_register(struct backing_dev_info *bdi, struct device *parent, | 172 | int bdi_register(struct backing_dev_info *bdi, struct device *parent, |
| 173 | const char *fmt, ...) | 173 | const char *fmt, ...) |
| 174 | { | 174 | { |
| 175 | char *name; | ||
| 176 | va_list args; | 175 | va_list args; |
| 177 | int ret = 0; | 176 | int ret = 0; |
| 178 | struct device *dev; | 177 | struct device *dev; |
| 179 | 178 | ||
| 180 | va_start(args, fmt); | 179 | va_start(args, fmt); |
| 181 | name = kvasprintf(GFP_KERNEL, fmt, args); | 180 | dev = device_create_vargs(bdi_class, parent, MKDEV(0, 0), bdi, fmt, args); |
| 182 | va_end(args); | 181 | va_end(args); |
| 183 | |||
| 184 | if (!name) | ||
| 185 | return -ENOMEM; | ||
| 186 | |||
| 187 | dev = device_create(bdi_class, parent, MKDEV(0, 0), name); | ||
| 188 | if (IS_ERR(dev)) { | 182 | if (IS_ERR(dev)) { |
| 189 | ret = PTR_ERR(dev); | 183 | ret = PTR_ERR(dev); |
| 190 | goto exit; | 184 | goto exit; |
| 191 | } | 185 | } |
| 192 | 186 | ||
| 193 | bdi->dev = dev; | 187 | bdi->dev = dev; |
| 194 | dev_set_drvdata(bdi->dev, bdi); | 188 | bdi_debug_register(bdi, dev_name(dev)); |
| 195 | bdi_debug_register(bdi, name); | ||
| 196 | 189 | ||
| 197 | exit: | 190 | exit: |
| 198 | kfree(name); | ||
| 199 | return ret; | 191 | return ret; |
| 200 | } | 192 | } |
| 201 | EXPORT_SYMBOL(bdi_register); | 193 | EXPORT_SYMBOL(bdi_register); |
