diff options
author | Michael Heimpold <mhei@heimpold.de> | 2017-05-11 23:07:06 +0200 |
---|---|---|
committer | Hauke Mehrtens <hauke@hauke-m.de> | 2017-06-27 23:22:25 +0200 |
commit | 9eb68f020b8e63b1dd5e830cbbb44f049dbbba1d (patch) | |
tree | 6102082c26348c85effd9cd0ce1fa67f03b6287e /target/linux/mxs/patches-4.9 | |
parent | 8794954d10aef5ac8a343a651b631ce5a700d975 (diff) | |
download | upstream-9eb68f020b8e63b1dd5e830cbbb44f049dbbba1d.tar.gz upstream-9eb68f020b8e63b1dd5e830cbbb44f049dbbba1d.tar.bz2 upstream-9eb68f020b8e63b1dd5e830cbbb44f049dbbba1d.zip |
mxs: add support for 4.9 and switch over
I did not port the regulator and power patches from Stefan Wahren
because I talked to him and he told me that work on this is currently
stalled. And since AFAIK nothing depends on these patches, leaving them
out seems reasonable.
I build minimum default configurations and run-tested them on both
I2SE Duckbill devices and Olimex Olinuxino Maxi boards successfully [1].
[1] Tested:
- debug uart is working
- boot without any obvious kernel problem
- network is coming up and data transfer is possible
- Olinuxino: USB detects a plugged-in pen drive
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
[refreshed config and patches]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Diffstat (limited to 'target/linux/mxs/patches-4.9')
-rw-r--r-- | target/linux/mxs/patches-4.9/110-crypto-mxsdcp-provide-importexport.patch | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/target/linux/mxs/patches-4.9/110-crypto-mxsdcp-provide-importexport.patch b/target/linux/mxs/patches-4.9/110-crypto-mxsdcp-provide-importexport.patch new file mode 100644 index 0000000000..e8d8852b03 --- /dev/null +++ b/target/linux/mxs/patches-4.9/110-crypto-mxsdcp-provide-importexport.patch @@ -0,0 +1,51 @@ +--- a/drivers/crypto/mxs-dcp.c ++++ b/drivers/crypto/mxs-dcp.c +@@ -770,6 +770,24 @@ static void dcp_sha_cra_exit(struct cryp + { + } + ++static int dcp_sha_export(struct ahash_request *req, void *out) ++{ ++ struct dcp_sha_req_ctx *rctx = ahash_request_ctx(req); ++ ++ memcpy(out, rctx, sizeof(struct dcp_sha_req_ctx)); ++ ++ return 0; ++} ++ ++static int dcp_sha_import(struct ahash_request *req, const void *in) ++{ ++ struct dcp_sha_req_ctx *rctx = ahash_request_ctx(req); ++ ++ memcpy(rctx, in, sizeof(struct dcp_sha_req_ctx)); ++ ++ return 0; ++} ++ + /* AES 128 ECB and AES 128 CBC */ + static struct crypto_alg dcp_aes_algs[] = { + { +@@ -829,8 +847,11 @@ static struct ahash_alg dcp_sha1_alg = { + .final = dcp_sha_final, + .finup = dcp_sha_finup, + .digest = dcp_sha_digest, ++ .import = dcp_sha_import, ++ .export = dcp_sha_export, + .halg = { + .digestsize = SHA1_DIGEST_SIZE, ++ .statesize = sizeof(struct dcp_sha_req_ctx), + .base = { + .cra_name = "sha1", + .cra_driver_name = "sha1-dcp", +@@ -853,8 +874,11 @@ static struct ahash_alg dcp_sha256_alg = + .final = dcp_sha_final, + .finup = dcp_sha_finup, + .digest = dcp_sha_digest, ++ .import = dcp_sha_import, ++ .export = dcp_sha_export, + .halg = { + .digestsize = SHA256_DIGEST_SIZE, ++ .statesize = sizeof(struct dcp_sha_req_ctx), + .base = { + .cra_name = "sha256", + .cra_driver_name = "sha256-dcp", |