summaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-05-03 07:06:37 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2013-05-03 07:06:37 -0700
commit00fdffb5131125dce0702bf61e24a806ec3aed80 (patch)
tree1cf855601ce34630b487f8555cf7df2e96efb506 /include/linux
parentce857229e0c3adc211944a13a5579ef84fd7b4af (diff)
parentbd08ec33b5c23833581e5a36b2a69ccae6b39a28 (diff)
downloadlinux-stable-00fdffb5131125dce0702bf61e24a806ec3aed80.tar.gz
linux-stable-00fdffb5131125dce0702bf61e24a806ec3aed80.tar.bz2
linux-stable-00fdffb5131125dce0702bf61e24a806ec3aed80.zip
Merge tag 'for-v3.10' of git://git.infradead.org/users/cbou/linux-pstore
Pull pstore update from Anton Vorontsov: - A new platform data parameter to specify ECC configuration; - Rounding fixup to not waste memory in ecc_blocks; - Restore ECC information printouts; - A small code cleanup: use kmemdup where appropriate. * tag 'for-v3.10' of git://git.infradead.org/users/cbou/linux-pstore: pstore/ram: Restore ecc information block pstore/ram: Allow specifying ecc parameters in platform data pstore/ram: Include ecc_size when calculating ecc_block pstore: Replace calls to kmalloc and memcpy with kmemdup
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/pstore_ram.h14
1 files changed, 10 insertions, 4 deletions
diff --git a/include/linux/pstore_ram.h b/include/linux/pstore_ram.h
index cb6ab5feab67..9974975d40db 100644
--- a/include/linux/pstore_ram.h
+++ b/include/linux/pstore_ram.h
@@ -26,6 +26,13 @@
struct persistent_ram_buffer;
struct rs_control;
+struct persistent_ram_ecc_info {
+ int block_size;
+ int ecc_size;
+ int symsize;
+ int poly;
+};
+
struct persistent_ram_zone {
phys_addr_t paddr;
size_t size;
@@ -39,15 +46,14 @@ struct persistent_ram_zone {
struct rs_control *rs_decoder;
int corrected_bytes;
int bad_blocks;
- int ecc_block_size;
- int ecc_size;
+ struct persistent_ram_ecc_info ecc_info;
char *old_log;
size_t old_log_size;
};
struct persistent_ram_zone *persistent_ram_new(phys_addr_t start, size_t size,
- u32 sig, int ecc_size);
+ u32 sig, struct persistent_ram_ecc_info *ecc_info);
void persistent_ram_free(struct persistent_ram_zone *prz);
void persistent_ram_zap(struct persistent_ram_zone *prz);
@@ -74,7 +80,7 @@ struct ramoops_platform_data {
unsigned long console_size;
unsigned long ftrace_size;
int dump_oops;
- int ecc_size;
+ struct persistent_ram_ecc_info ecc_info;
};
#endif