Merge tag 'asahi-soc-maintainers-5.17' of https://github.com/AsahiLinux/linux into...
[platform/kernel/linux-starfive.git] / include / crypto / pcrypt.h
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * pcrypt - Parallel crypto engine.
4  *
5  * Copyright (C) 2009 secunet Security Networks AG
6  * Copyright (C) 2009 Steffen Klassert <steffen.klassert@secunet.com>
7  */
8
9 #ifndef _CRYPTO_PCRYPT_H
10 #define _CRYPTO_PCRYPT_H
11
12 #include <linux/container_of.h>
13 #include <linux/crypto.h>
14 #include <linux/padata.h>
15
16 struct pcrypt_request {
17         struct padata_priv      padata;
18         void                    *data;
19         void                    *__ctx[] CRYPTO_MINALIGN_ATTR;
20 };
21
22 static inline void *pcrypt_request_ctx(struct pcrypt_request *req)
23 {
24         return req->__ctx;
25 }
26
27 static inline
28 struct padata_priv *pcrypt_request_padata(struct pcrypt_request *req)
29 {
30         return &req->padata;
31 }
32
33 static inline
34 struct pcrypt_request *pcrypt_padata_request(struct padata_priv *padata)
35 {
36         return container_of(padata, struct pcrypt_request, padata);
37 }
38
39 #endif