mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-27 11:19:37 +00:00
![Dan Streetman](/assets/img/avatar_default.png)
Add 842-format software compression and decompression functions. Update the MAINTAINERS 842 section to include the new files. The 842 compression function can compress any input data into the 842 compression format. The 842 decompression function can decompress any standard-format 842 compressed data - specifically, either a compressed data buffer created by the 842 software compression function, or a compressed data buffer created by the 842 hardware compressor (located in PowerPC coprocessors). The 842 compressed data format is explained in the header comments. This is used in a later patch to provide a full software 842 compression and decompression crypto interface. Signed-off-by: Dan Streetman <ddstreet@ieee.org> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
52 lines
1.4 KiB
C
52 lines
1.4 KiB
C
|
|
#ifndef __842_DEBUGFS_H__
|
|
#define __842_DEBUGFS_H__
|
|
|
|
#include <linux/debugfs.h>
|
|
|
|
static bool sw842_template_counts;
|
|
module_param_named(template_counts, sw842_template_counts, bool, 0444);
|
|
|
|
static atomic_t template_count[OPS_MAX], template_repeat_count,
|
|
template_zeros_count, template_short_data_count, template_end_count;
|
|
|
|
static struct dentry *sw842_debugfs_root;
|
|
|
|
static int __init sw842_debugfs_create(void)
|
|
{
|
|
umode_t m = S_IRUGO | S_IWUSR;
|
|
int i;
|
|
|
|
if (!debugfs_initialized())
|
|
return -ENODEV;
|
|
|
|
sw842_debugfs_root = debugfs_create_dir(MODULE_NAME, NULL);
|
|
if (IS_ERR(sw842_debugfs_root))
|
|
return PTR_ERR(sw842_debugfs_root);
|
|
|
|
for (i = 0; i < ARRAY_SIZE(template_count); i++) {
|
|
char name[32];
|
|
|
|
snprintf(name, 32, "template_%02x", i);
|
|
debugfs_create_atomic_t(name, m, sw842_debugfs_root,
|
|
&template_count[i]);
|
|
}
|
|
debugfs_create_atomic_t("template_repeat", m, sw842_debugfs_root,
|
|
&template_repeat_count);
|
|
debugfs_create_atomic_t("template_zeros", m, sw842_debugfs_root,
|
|
&template_zeros_count);
|
|
debugfs_create_atomic_t("template_short_data", m, sw842_debugfs_root,
|
|
&template_short_data_count);
|
|
debugfs_create_atomic_t("template_end", m, sw842_debugfs_root,
|
|
&template_end_count);
|
|
|
|
return 0;
|
|
}
|
|
|
|
static void __exit sw842_debugfs_remove(void)
|
|
{
|
|
if (sw842_debugfs_root && !IS_ERR(sw842_debugfs_root))
|
|
debugfs_remove_recursive(sw842_debugfs_root);
|
|
}
|
|
|
|
#endif
|