Commit 4d2b5bca authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

drivers/staging/ccree/ssi_hash.c: fix build with gcc-4.4.4

  drivers/staging/ccree/ssi_hash.c:1990: error: unknown field 'template_ahash' specified in initializer
  drivers/staging/ccree/ssi_hash.c:1991: error: unknown field 'init' specified in initializer
  drivers/staging/ccree/ssi_hash.c:1991: warning: missing braces around initializer
  drivers/staging/ccree/ssi_hash.c:1991: warning: (near initialization for 'driver_hash[0].<anonymous>.template_ahash')
  drivers/staging/ccree/ssi_hash.c:1992: error: unknown field 'update' specified in initializer
  drivers/staging/ccree/ssi_hash.c:1992: warning: excess elements in union initializer
  drivers/staging/ccree/ssi_hash.c:1992: warning: (near initialization for 'driver_hash[0].<anonymous>')
  drivers/staging/ccree/ssi_hash.c:1993: error: unknown field 'final' specified in initializer
  drivers/staging/ccree/ssi_hash.c:1993: warning: excess elements in union initializer
  drivers/staging/ccree/ssi_hash.c:1993: warning: (near initialization for 'driver_hash[0].<anonymous>')
  ...

gcc-4.4.4 has issues with anon union initializers.  Work around this.

Cc: Gilad Ben-Yossef <gilad@benyossef.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 4e5ce33c
...@@ -1987,22 +1987,24 @@ static struct ssi_hash_template driver_hash[] = { ...@@ -1987,22 +1987,24 @@ static struct ssi_hash_template driver_hash[] = {
.hmac_driver_name = "hmac-sha1-dx", .hmac_driver_name = "hmac-sha1-dx",
.blocksize = SHA1_BLOCK_SIZE, .blocksize = SHA1_BLOCK_SIZE,
.synchronize = false, .synchronize = false,
.template_ahash = { {
.init = ssi_ahash_init, .template_ahash = {
.update = ssi_ahash_update, .init = ssi_ahash_init,
.final = ssi_ahash_final, .update = ssi_ahash_update,
.finup = ssi_ahash_finup, .final = ssi_ahash_final,
.digest = ssi_ahash_digest, .finup = ssi_ahash_finup,
.digest = ssi_ahash_digest,
#ifdef EXPORT_FIXED #ifdef EXPORT_FIXED
.export = ssi_ahash_export, .export = ssi_ahash_export,
.import = ssi_ahash_import, .import = ssi_ahash_import,
#endif #endif
.setkey = ssi_ahash_setkey, .setkey = ssi_ahash_setkey,
.halg = { .halg = {
.digestsize = SHA1_DIGEST_SIZE, .digestsize = SHA1_DIGEST_SIZE,
.statesize = sizeof(struct sha1_state), .statesize = sizeof(struct sha1_state),
},
}, },
}, },
.hash_mode = DRV_HASH_SHA1, .hash_mode = DRV_HASH_SHA1,
.hw_mode = DRV_HASH_HW_SHA1, .hw_mode = DRV_HASH_HW_SHA1,
.inter_digestsize = SHA1_DIGEST_SIZE, .inter_digestsize = SHA1_DIGEST_SIZE,
...@@ -2014,22 +2016,24 @@ static struct ssi_hash_template driver_hash[] = { ...@@ -2014,22 +2016,24 @@ static struct ssi_hash_template driver_hash[] = {
.hmac_driver_name = "hmac-sha256-dx", .hmac_driver_name = "hmac-sha256-dx",
.blocksize = SHA256_BLOCK_SIZE, .blocksize = SHA256_BLOCK_SIZE,
.synchronize = false, .synchronize = false,
.template_ahash = { {
.init = ssi_ahash_init, .template_ahash = {
.update = ssi_ahash_update, .init = ssi_ahash_init,
.final = ssi_ahash_final, .update = ssi_ahash_update,
.finup = ssi_ahash_finup, .final = ssi_ahash_final,
.digest = ssi_ahash_digest, .finup = ssi_ahash_finup,
.digest = ssi_ahash_digest,
#ifdef EXPORT_FIXED #ifdef EXPORT_FIXED
.export = ssi_ahash_export, .export = ssi_ahash_export,
.import = ssi_ahash_import, .import = ssi_ahash_import,
#endif #endif
.setkey = ssi_ahash_setkey, .setkey = ssi_ahash_setkey,
.halg = { .halg = {
.digestsize = SHA256_DIGEST_SIZE, .digestsize = SHA256_DIGEST_SIZE,
.statesize = sizeof(struct sha256_state), .statesize = sizeof(struct sha256_state),
},
}, },
}, },
.hash_mode = DRV_HASH_SHA256, .hash_mode = DRV_HASH_SHA256,
.hw_mode = DRV_HASH_HW_SHA256, .hw_mode = DRV_HASH_HW_SHA256,
.inter_digestsize = SHA256_DIGEST_SIZE, .inter_digestsize = SHA256_DIGEST_SIZE,
...@@ -2041,22 +2045,24 @@ static struct ssi_hash_template driver_hash[] = { ...@@ -2041,22 +2045,24 @@ static struct ssi_hash_template driver_hash[] = {
.hmac_driver_name = "hmac-sha224-dx", .hmac_driver_name = "hmac-sha224-dx",
.blocksize = SHA224_BLOCK_SIZE, .blocksize = SHA224_BLOCK_SIZE,
.synchronize = false, .synchronize = false,
.template_ahash = { {
.init = ssi_ahash_init, .template_ahash = {
.update = ssi_ahash_update, .init = ssi_ahash_init,
.final = ssi_ahash_final, .update = ssi_ahash_update,
.finup = ssi_ahash_finup, .final = ssi_ahash_final,
.digest = ssi_ahash_digest, .finup = ssi_ahash_finup,
.digest = ssi_ahash_digest,
#ifdef EXPORT_FIXED #ifdef EXPORT_FIXED
.export = ssi_ahash_export, .export = ssi_ahash_export,
.import = ssi_ahash_import, .import = ssi_ahash_import,
#endif #endif
.setkey = ssi_ahash_setkey, .setkey = ssi_ahash_setkey,
.halg = { .halg = {
.digestsize = SHA224_DIGEST_SIZE, .digestsize = SHA224_DIGEST_SIZE,
.statesize = sizeof(struct sha256_state), .statesize = sizeof(struct sha256_state),
},
}, },
}, },
.hash_mode = DRV_HASH_SHA224, .hash_mode = DRV_HASH_SHA224,
.hw_mode = DRV_HASH_HW_SHA256, .hw_mode = DRV_HASH_HW_SHA256,
.inter_digestsize = SHA256_DIGEST_SIZE, .inter_digestsize = SHA256_DIGEST_SIZE,
...@@ -2069,22 +2075,24 @@ static struct ssi_hash_template driver_hash[] = { ...@@ -2069,22 +2075,24 @@ static struct ssi_hash_template driver_hash[] = {
.hmac_driver_name = "hmac-sha384-dx", .hmac_driver_name = "hmac-sha384-dx",
.blocksize = SHA384_BLOCK_SIZE, .blocksize = SHA384_BLOCK_SIZE,
.synchronize = false, .synchronize = false,
.template_ahash = { {
.init = ssi_ahash_init, .template_ahash = {
.update = ssi_ahash_update, .init = ssi_ahash_init,
.final = ssi_ahash_final, .update = ssi_ahash_update,
.finup = ssi_ahash_finup, .final = ssi_ahash_final,
.digest = ssi_ahash_digest, .finup = ssi_ahash_finup,
.digest = ssi_ahash_digest,
#ifdef EXPORT_FIXED #ifdef EXPORT_FIXED
.export = ssi_ahash_export, .export = ssi_ahash_export,
.import = ssi_ahash_import, .import = ssi_ahash_import,
#endif #endif
.setkey = ssi_ahash_setkey, .setkey = ssi_ahash_setkey,
.halg = { .halg = {
.digestsize = SHA384_DIGEST_SIZE, .digestsize = SHA384_DIGEST_SIZE,
.statesize = sizeof(struct sha512_state), .statesize = sizeof(struct sha512_state),
},
}, },
}, },
.hash_mode = DRV_HASH_SHA384, .hash_mode = DRV_HASH_SHA384,
.hw_mode = DRV_HASH_HW_SHA512, .hw_mode = DRV_HASH_HW_SHA512,
.inter_digestsize = SHA512_DIGEST_SIZE, .inter_digestsize = SHA512_DIGEST_SIZE,
...@@ -2096,22 +2104,24 @@ static struct ssi_hash_template driver_hash[] = { ...@@ -2096,22 +2104,24 @@ static struct ssi_hash_template driver_hash[] = {
.hmac_driver_name = "hmac-sha512-dx", .hmac_driver_name = "hmac-sha512-dx",
.blocksize = SHA512_BLOCK_SIZE, .blocksize = SHA512_BLOCK_SIZE,
.synchronize = false, .synchronize = false,
.template_ahash = { {
.init = ssi_ahash_init, .template_ahash = {
.update = ssi_ahash_update, .init = ssi_ahash_init,
.final = ssi_ahash_final, .update = ssi_ahash_update,
.finup = ssi_ahash_finup, .final = ssi_ahash_final,
.digest = ssi_ahash_digest, .finup = ssi_ahash_finup,
.digest = ssi_ahash_digest,
#ifdef EXPORT_FIXED #ifdef EXPORT_FIXED
.export = ssi_ahash_export, .export = ssi_ahash_export,
.import = ssi_ahash_import, .import = ssi_ahash_import,
#endif #endif
.setkey = ssi_ahash_setkey, .setkey = ssi_ahash_setkey,
.halg = { .halg = {
.digestsize = SHA512_DIGEST_SIZE, .digestsize = SHA512_DIGEST_SIZE,
.statesize = sizeof(struct sha512_state), .statesize = sizeof(struct sha512_state),
},
}, },
}, },
.hash_mode = DRV_HASH_SHA512, .hash_mode = DRV_HASH_SHA512,
.hw_mode = DRV_HASH_HW_SHA512, .hw_mode = DRV_HASH_HW_SHA512,
.inter_digestsize = SHA512_DIGEST_SIZE, .inter_digestsize = SHA512_DIGEST_SIZE,
...@@ -2124,22 +2134,24 @@ static struct ssi_hash_template driver_hash[] = { ...@@ -2124,22 +2134,24 @@ static struct ssi_hash_template driver_hash[] = {
.hmac_driver_name = "hmac-md5-dx", .hmac_driver_name = "hmac-md5-dx",
.blocksize = MD5_HMAC_BLOCK_SIZE, .blocksize = MD5_HMAC_BLOCK_SIZE,
.synchronize = false, .synchronize = false,
.template_ahash = { {
.init = ssi_ahash_init, .template_ahash = {
.update = ssi_ahash_update, .init = ssi_ahash_init,
.final = ssi_ahash_final, .update = ssi_ahash_update,
.finup = ssi_ahash_finup, .final = ssi_ahash_final,
.digest = ssi_ahash_digest, .finup = ssi_ahash_finup,
.digest = ssi_ahash_digest,
#ifdef EXPORT_FIXED #ifdef EXPORT_FIXED
.export = ssi_ahash_export, .export = ssi_ahash_export,
.import = ssi_ahash_import, .import = ssi_ahash_import,
#endif #endif
.setkey = ssi_ahash_setkey, .setkey = ssi_ahash_setkey,
.halg = { .halg = {
.digestsize = MD5_DIGEST_SIZE, .digestsize = MD5_DIGEST_SIZE,
.statesize = sizeof(struct md5_state), .statesize = sizeof(struct md5_state),
},
}, },
}, },
.hash_mode = DRV_HASH_MD5, .hash_mode = DRV_HASH_MD5,
.hw_mode = DRV_HASH_HW_MD5, .hw_mode = DRV_HASH_HW_MD5,
.inter_digestsize = MD5_DIGEST_SIZE, .inter_digestsize = MD5_DIGEST_SIZE,
...@@ -2149,52 +2161,56 @@ static struct ssi_hash_template driver_hash[] = { ...@@ -2149,52 +2161,56 @@ static struct ssi_hash_template driver_hash[] = {
.driver_name = "xcbc-aes-dx", .driver_name = "xcbc-aes-dx",
.blocksize = AES_BLOCK_SIZE, .blocksize = AES_BLOCK_SIZE,
.synchronize = false, .synchronize = false,
.template_ahash = { {
.init = ssi_ahash_init, .template_ahash = {
.update = ssi_mac_update, .init = ssi_ahash_init,
.final = ssi_mac_final, .update = ssi_mac_update,
.finup = ssi_mac_finup, .final = ssi_mac_final,
.digest = ssi_mac_digest, .finup = ssi_mac_finup,
.setkey = ssi_xcbc_setkey, .digest = ssi_mac_digest,
.setkey = ssi_xcbc_setkey,
#ifdef EXPORT_FIXED #ifdef EXPORT_FIXED
.export = ssi_ahash_export, .export = ssi_ahash_export,
.import = ssi_ahash_import, .import = ssi_ahash_import,
#endif #endif
.halg = { .halg = {
.digestsize = AES_BLOCK_SIZE, .digestsize = AES_BLOCK_SIZE,
.statesize = sizeof(struct aeshash_state), .statesize = sizeof(struct aeshash_state),
},
}, },
},
.hash_mode = DRV_HASH_NULL,
.hw_mode = DRV_CIPHER_XCBC_MAC,
.inter_digestsize = AES_BLOCK_SIZE,
}, },
.hash_mode = DRV_HASH_NULL,
.hw_mode = DRV_CIPHER_XCBC_MAC,
.inter_digestsize = AES_BLOCK_SIZE,
},
#if SSI_CC_HAS_CMAC #if SSI_CC_HAS_CMAC
{ {
.name = "cmac(aes)", .name = "cmac(aes)",
.driver_name = "cmac-aes-dx", .driver_name = "cmac-aes-dx",
.blocksize = AES_BLOCK_SIZE, .blocksize = AES_BLOCK_SIZE,
.synchronize = false, .synchronize = false,
.template_ahash = { {
.init = ssi_ahash_init, .template_ahash = {
.update = ssi_mac_update, .init = ssi_ahash_init,
.final = ssi_mac_final, .update = ssi_mac_update,
.finup = ssi_mac_finup, .final = ssi_mac_final,
.digest = ssi_mac_digest, .finup = ssi_mac_finup,
.setkey = ssi_cmac_setkey, .digest = ssi_mac_digest,
.setkey = ssi_cmac_setkey,
#ifdef EXPORT_FIXED #ifdef EXPORT_FIXED
.export = ssi_ahash_export, .export = ssi_ahash_export,
.import = ssi_ahash_import, .import = ssi_ahash_import,
#endif #endif
.halg = { .halg = {
.digestsize = AES_BLOCK_SIZE, .digestsize = AES_BLOCK_SIZE,
.statesize = sizeof(struct aeshash_state), .statesize = sizeof(struct aeshash_state),
},
}, },
},
.hash_mode = DRV_HASH_NULL,
.hw_mode = DRV_CIPHER_CMAC,
.inter_digestsize = AES_BLOCK_SIZE,
}, },
.hash_mode = DRV_HASH_NULL,
.hw_mode = DRV_CIPHER_CMAC,
.inter_digestsize = AES_BLOCK_SIZE,
},
#endif #endif
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment