move files around
[project/fstools.git] / driver / volume.h
diff --git a/driver/volume.h b/driver/volume.h
deleted file mode 100644 (file)
index 4fa5641..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright (C) 2014 John Crispin <blogic@openwrt.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 2.1
- * as published by the Free Software Foundation
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#ifndef _VOLUME_H__
-#define _VOLUME_H__
-
-#include <asm/byteorder.h>
-
-struct volume;
-
-typedef int (*volume_probe_t)(void);
-typedef int (*volume_init_t)(struct volume *v);
-typedef void (*volume_stop_t)(struct volume *v);
-typedef int (*volume_find_t)(struct volume *v, char *name);
-typedef int (*volume_identify_t)(struct volume *v);
-typedef int (*volume_read_t)(struct volume *v, void *buf, int offset, int length);
-typedef int (*volume_write_t)(struct volume *v, void *buf, int offset, int length);
-typedef int (*volume_erase_t)(struct volume *v, int start, int len);
-typedef int (*volume_erase_all_t)(struct volume *v);
-
-struct driver {
-        struct list_head        list;
-
-       char                    *name;
-       volume_probe_t          probe;
-       volume_init_t           init;
-       volume_stop_t           stop;
-       volume_find_t           find;
-       volume_identify_t       identify;
-       volume_read_t           read;
-       volume_write_t          write;
-       volume_erase_t          erase;
-       volume_erase_all_t      erase_all;
-};
-
-enum {
-       UNKNOWN_TYPE,
-       NANDFLASH,
-       NORFLASH,
-       UBIVOLUME,
-};
-
-struct volume {
-       struct driver   *drv;
-       void            *priv;
-       char            *name;
-       char            *blk;
-
-       __u64           size;
-       __u32           block_size;
-       int             type;
-};
-
-extern struct volume* volume_find(char *name);
-extern void volume_register_driver(struct driver *drv);
-
-static inline int volume_init(struct volume *v)
-{
-       if (v && v->drv->init)
-               return v->drv->init(v);
-       return -1;
-}
-
-static inline int volume_identify(struct volume *v)
-{
-       if (v && v->drv->identify)
-               return v->drv->identify(v);
-       return -1;
-}
-
-static inline int volume_erase(struct volume *v, int offset, int len)
-{
-       if (v && v->drv->erase)
-               return v->drv->erase(v, offset, len);
-       return -1;
-}
-
-static inline int volume_erase_all(struct volume *v)
-{
-       if (v && v->drv->erase_all)
-               return v->drv->erase_all(v);
-       return -1;
-}
-
-static inline int volume_read(struct volume *v, void *buf, int offset, int length)
-{
-       if (v && v->drv->read)
-               return v->drv->read(v, buf, offset, length);
-       return -1;
-}
-
-static inline int volume_write(struct volume *v, void *buf, int offset, int length)
-{
-       if (v && v->drv->write)
-               return v->drv->write(v, buf, offset, length);
-       return -1;
-}
-
-#define DRIVER(x)                                      \
-       static void __attribute__((constructor))        \
-       drv_register_##x(void) {                        \
-               volume_register_driver(&x);             \
-       }
-
-#endif