DBF_EVENT(DBF_EMERG, "%s", "debug area created");
-#ifdef CONFIG_DEVFS_FS
- if (!devfs_mk_dir("dasd")) {
- DBF_EVENT(DBF_ALERT, "%s", "no devfs");
- rc = -ENOSYS;
+ rc = devfs_mk_dir("dasd");
+ if (rc)
goto failed;
- }
-#endif
rc = dasd_devmap_init();
if (rc)
goto failed;
* On failure %NULL is returned.
*/
-devfs_handle_t devfs_mk_dir(const char *fmt, ...)
+int devfs_mk_dir(const char *fmt, ...)
{
struct devfs_entry *dir = NULL, *de = NULL, *old;
char buf[64];
va_list args;
- int n;
+ int error, n;
va_start(args, fmt);
n = vsnprintf(buf, 64, fmt, args);
if (n >= 64 || !buf[0]) {
printk(KERN_WARNING "%s: invalid argument.", __FUNCTION__);
- return NULL;
+ return -EINVAL;
}
de = _devfs_prepare_leaf(&dir, buf, MODE_DIR);
if (!de) {
PRINTK("(%s): could not prepare leaf\n", buf);
- return NULL;
+ return -EINVAL;
}
- de->info = NULL;
- if (_devfs_append_entry(dir, de, &old)) {
+ error = _devfs_append_entry(dir, de, &old);
+ if (error) {
PRINTK("(%s): could not append to dir: %p \"%s\"\n",
buf, dir, dir->name);
devfs_put(old);
goto out_put;
}
- DPRINTK(DEBUG_REGISTER, "(%s): de: %p dir: %p \"%s\"\n",
- buf, de, dir, dir->name);
devfsd_notify(de, DEVFSD_NOTIFY_REGISTERED);
out_put:
devfs_put(dir);
- return de;
+ return error;
}
umode_t mode, void *ops, void *info);
extern int devfs_mk_bdev(dev_t dev, umode_t mode, const char *fmt, ...)
__attribute__((format (printf, 3, 4)));
-extern int devfs_mk_symlink (const char *name, const char *link);
-extern devfs_handle_t devfs_mk_dir(const char *fmt, ...)
+extern int devfs_mk_symlink(const char *name, const char *link);
+extern int devfs_mk_dir(const char *fmt, ...)
__attribute__((format (printf, 1, 2)));
extern void devfs_remove(const char *fmt, ...)
__attribute__((format (printf, 1, 2)));
{
return 0;
}
-static inline devfs_handle_t devfs_mk_dir(const char *fmt, ...)
+static inline int devfs_mk_dir(const char *fmt, ...)
{
- return NULL;
+ return 0;
}
static inline void devfs_remove(const char *fmt, ...)
{