aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2011-03-16 22:01:29 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2011-03-16 22:01:29 -0400
commit242e5d06be2ad2633c85313a37862e03f4450a46 (patch)
tree9a75e5efed6ee9a4f5d9769b851ab503c1fb5ef2 /include
parent4c5811bf463b0ef82fabbd1708f8bb2d753aeb18 (diff)
parentafe997a183ecc0be72652c7a5ce2152bdf91724e (diff)
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] tioca: Fix assignment from incompatible pointer warnings [IA64] mca.c: Fix cast from integer to pointer warning [IA64] setup.c Typo fix "Architechtuallly" [IA64] Add CONFIG_MISC_DEVICES=y to configs that need it. [IA64] disable interrupts at end of ia64_mca_cpe_int_handler() [IA64] Add DMA_ERROR_CODE define. pstore: fix build warning for unused return value from sysfs_create_file pstore: X86 platform interface using ACPI/APEI/ERST pstore: new filesystem interface to platform persistent storage
Diffstat (limited to 'include')
-rw-r--r--include/linux/magic.h1
-rw-r--r--include/linux/pstore.h60
2 files changed, 61 insertions, 0 deletions
diff --git a/include/linux/magic.h b/include/linux/magic.h
index 62730ea2b56e..6cfe344f9559 100644
--- a/include/linux/magic.h
+++ b/include/linux/magic.h
@@ -27,6 +27,7 @@
27#define ISOFS_SUPER_MAGIC 0x9660 27#define ISOFS_SUPER_MAGIC 0x9660
28#define JFFS2_SUPER_MAGIC 0x72b6 28#define JFFS2_SUPER_MAGIC 0x72b6
29#define ANON_INODE_FS_MAGIC 0x09041934 29#define ANON_INODE_FS_MAGIC 0x09041934
30#define PSTOREFS_MAGIC 0x6165676C
30 31
31#define MINIX_SUPER_MAGIC 0x137F /* original minix fs */ 32#define MINIX_SUPER_MAGIC 0x137F /* original minix fs */
32#define MINIX_SUPER_MAGIC2 0x138F /* minix fs, 30 char names */ 33#define MINIX_SUPER_MAGIC2 0x138F /* minix fs, 30 char names */
diff --git a/include/linux/pstore.h b/include/linux/pstore.h
new file mode 100644
index 000000000000..41977737bb7d
--- /dev/null
+++ b/include/linux/pstore.h
@@ -0,0 +1,60 @@
1/*
2 * Persistent Storage - pstore.h
3 *
4 * Copyright (C) 2010 Intel Corporation <tony.luck@intel.com>
5 *
6 * This code is the generic layer to export data records from platform
7 * level persistent storage via a file system.
8 *
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License version 2 as
11 * published by the Free Software Foundation.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 */
22#ifndef _LINUX_PSTORE_H
23#define _LINUX_PSTORE_H
24
25/* types */
26enum pstore_type_id {
27 PSTORE_TYPE_DMESG = 0,
28 PSTORE_TYPE_MCE = 1,
29 PSTORE_TYPE_UNKNOWN = 255
30};
31
32struct pstore_info {
33 struct module *owner;
34 char *name;
35 struct mutex buf_mutex; /* serialize access to 'buf' */
36 char *buf;
37 size_t bufsize;
38 size_t (*read)(u64 *id, enum pstore_type_id *type,
39 struct timespec *time);
40 u64 (*write)(enum pstore_type_id type, size_t size);
41 int (*erase)(u64 id);
42};
43
44#ifdef CONFIG_PSTORE
45extern int pstore_register(struct pstore_info *);
46extern int pstore_write(enum pstore_type_id type, char *buf, size_t size);
47#else
48static inline int
49pstore_register(struct pstore_info *psi)
50{
51 return -ENODEV;
52}
53static inline int
54pstore_write(enum pstore_type_id type, char *buf, size_t size)
55{
56 return -ENODEV;
57}
58#endif
59
60#endif /*_LINUX_PSTORE_H*/