Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v6.19 61 lines 1.3 kB view raw
1// SPDX-License-Identifier: GPL-2.0-or-later 2 3#include <linux/kernel.h> 4#include <linux/slab.h> 5#include <linux/sw842.h> 6#include <linux/vmalloc.h> 7 8#include "backend_842.h" 9 10static void release_params_842(struct zcomp_params *params) 11{ 12} 13 14static int setup_params_842(struct zcomp_params *params) 15{ 16 return 0; 17} 18 19static void destroy_842(struct zcomp_ctx *ctx) 20{ 21 kfree(ctx->context); 22} 23 24static int create_842(struct zcomp_params *params, struct zcomp_ctx *ctx) 25{ 26 ctx->context = kmalloc(SW842_MEM_COMPRESS, GFP_KERNEL); 27 if (!ctx->context) 28 return -ENOMEM; 29 return 0; 30} 31 32static int compress_842(struct zcomp_params *params, struct zcomp_ctx *ctx, 33 struct zcomp_req *req) 34{ 35 unsigned int dlen = req->dst_len; 36 int ret; 37 38 ret = sw842_compress(req->src, req->src_len, req->dst, &dlen, 39 ctx->context); 40 if (ret == 0) 41 req->dst_len = dlen; 42 return ret; 43} 44 45static int decompress_842(struct zcomp_params *params, struct zcomp_ctx *ctx, 46 struct zcomp_req *req) 47{ 48 unsigned int dlen = req->dst_len; 49 50 return sw842_decompress(req->src, req->src_len, req->dst, &dlen); 51} 52 53const struct zcomp_ops backend_842 = { 54 .compress = compress_842, 55 .decompress = decompress_842, 56 .create_ctx = create_842, 57 .destroy_ctx = destroy_842, 58 .setup_params = setup_params_842, 59 .release_params = release_params_842, 60 .name = "842", 61};