diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-05-03 07:06:37 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-05-03 07:06:37 -0700 |
commit | 00fdffb5131125dce0702bf61e24a806ec3aed80 (patch) | |
tree | 1cf855601ce34630b487f8555cf7df2e96efb506 /include/linux | |
parent | ce857229e0c3adc211944a13a5579ef84fd7b4af (diff) | |
parent | bd08ec33b5c23833581e5a36b2a69ccae6b39a28 (diff) | |
download | linux-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.h | 14 |
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 |