summaryrefslogtreecommitdiff
path: root/drivers/block/zram/backend_deflate.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/block/zram/backend_deflate.c')
-rw-r--r--drivers/block/zram/backend_deflate.c26
1 files changed, 11 insertions, 15 deletions
diff --git a/drivers/block/zram/backend_deflate.c b/drivers/block/zram/backend_deflate.c
index ec662ce46897..117852d45aa4 100644
--- a/drivers/block/zram/backend_deflate.c
+++ b/drivers/block/zram/backend_deflate.c
@@ -74,9 +74,7 @@ error:
return NULL;
}
-static int deflate_compress(void *ctx, const unsigned char *src,
- size_t src_len, unsigned char *dst,
- size_t *dst_len)
+static int deflate_compress(void *ctx, struct zcomp_req *req)
{
struct deflate_ctx *zctx = ctx;
struct z_stream_s *deflate;
@@ -87,22 +85,20 @@ static int deflate_compress(void *ctx, const unsigned char *src,
if (ret != Z_OK)
return -EINVAL;
- deflate->next_in = (u8 *)src;
- deflate->avail_in = src_len;
- deflate->next_out = (u8 *)dst;
- deflate->avail_out = *dst_len;
+ deflate->next_in = (u8 *)req->src;
+ deflate->avail_in = req->src_len;
+ deflate->next_out = (u8 *)req->dst;
+ deflate->avail_out = req->dst_len;
ret = zlib_deflate(deflate, Z_FINISH);
if (ret != Z_STREAM_END)
return -EINVAL;
- *dst_len = deflate->total_out;
+ req->dst_len = deflate->total_out;
return 0;
}
-static int deflate_decompress(void *ctx, const unsigned char *src,
- size_t src_len, unsigned char *dst,
- size_t dst_len)
+static int deflate_decompress(void *ctx, struct zcomp_req *req)
{
struct deflate_ctx *zctx = ctx;
struct z_stream_s *inflate;
@@ -114,10 +110,10 @@ static int deflate_decompress(void *ctx, const unsigned char *src,
if (ret != Z_OK)
return -EINVAL;
- inflate->next_in = (u8 *)src;
- inflate->avail_in = src_len;
- inflate->next_out = (u8 *)dst;
- inflate->avail_out = dst_len;
+ inflate->next_in = (u8 *)req->src;
+ inflate->avail_in = req->src_len;
+ inflate->next_out = (u8 *)req->dst;
+ inflate->avail_out = req->dst_len;
ret = zlib_inflate(inflate, Z_SYNC_FLUSH);
if (ret != Z_STREAM_END)