kernel: mtdsplit: modify rootfs helpers to provide partition type
[openwrt/staging/wigyori.git] / target / linux / generic / files / drivers / mtd / mtdsplit / mtdsplit.h
1 /*
2 * Copyright (C) 2009-2013 Felix Fietkau <nbd@openwrt.org>
3 * Copyright (C) 2009-2013 Gabor Juhos <juhosg@openwrt.org>
4 * Copyright (C) 2012 Jonas Gorski <jogo@openwrt.org>
5 * Copyright (C) 2013 Hauke Mehrtens <hauke@hauke-m.de>
6 *
7 * This program is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU General Public License version 2 as published
9 * by the Free Software Foundation.
10 *
11 */
12
13 #ifndef _MTDSPLIT_H
14 #define _MTDSPLIT_H
15
16 #define KERNEL_PART_NAME "kernel"
17 #define ROOTFS_PART_NAME "rootfs"
18
19 #define ROOTFS_SPLIT_NAME "rootfs_data"
20
21 enum mtdsplit_part_type {
22 MTDSPLIT_PART_TYPE_UNK = 0,
23 MTDSPLIT_PART_TYPE_SQUASHFS,
24 MTDSPLIT_PART_TYPE_JFFS2,
25 };
26
27 #ifdef CONFIG_MTD_SPLIT
28 int mtd_get_squashfs_len(struct mtd_info *master,
29 size_t offset,
30 size_t *squashfs_len);
31
32 int mtd_check_rootfs_magic(struct mtd_info *mtd, size_t offset,
33 enum mtdsplit_part_type *type);
34
35 int mtd_find_rootfs_from(struct mtd_info *mtd,
36 size_t from,
37 size_t limit,
38 size_t *ret_offset,
39 enum mtdsplit_part_type *type);
40
41 #else
42 static inline int mtd_get_squashfs_len(struct mtd_info *master,
43 size_t offset,
44 size_t *squashfs_len)
45 {
46 return -ENODEV;
47 }
48
49 static inline int mtd_check_rootfs_magic(struct mtd_info *mtd, size_t offset,
50 enum mtdsplit_part_type *type)
51 {
52 return -EINVAL;
53 }
54
55 static inline int mtd_find_rootfs_from(struct mtd_info *mtd,
56 size_t from,
57 size_t limit,
58 size_t *ret_offset,
59 enum mtdsplit_part_type *type)
60 {
61 return -ENODEV;
62 }
63 #endif /* CONFIG_MTD_SPLIT */
64
65 #endif /* _MTDSPLIT_H */