drivers/staging/ccree/ssi_hash.c: fix build with gcc-4.4.4
authorAndrew Morton <akpm@linux-foundation.org>
Mon, 8 May 2017 23:00:22 +0000 (16:00 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 9 May 2017 00:15:16 +0000 (17:15 -0700)
  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: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/staging/ccree/ssi_hash.c

index 8ff5d4ec9e5c00d25a81e5a3f2ec47a20b1c5804..f99d4219b01eaf1894b6ccc8a1892971b2e96fc1 100644 (file)
@@ -1987,22 +1987,24 @@ static struct ssi_hash_template driver_hash[] = {
                .hmac_driver_name = "hmac-sha1-dx",
                .blocksize = SHA1_BLOCK_SIZE,
                .synchronize = false,
-               .template_ahash = {
-                       .init = ssi_ahash_init,
-                       .update = ssi_ahash_update,
-                       .final = ssi_ahash_final,
-                       .finup = ssi_ahash_finup,
-                       .digest = ssi_ahash_digest,
+               {
+                       .template_ahash = {
+                               .init = ssi_ahash_init,
+                               .update = ssi_ahash_update,
+                               .final = ssi_ahash_final,
+                               .finup = ssi_ahash_finup,
+                               .digest = ssi_ahash_digest,
 #ifdef EXPORT_FIXED
-                       .export = ssi_ahash_export,
-                       .import = ssi_ahash_import,
+                               .export = ssi_ahash_export,
+                               .import = ssi_ahash_import,
 #endif
-                       .setkey = ssi_ahash_setkey,
-                       .halg = {
-                               .digestsize = SHA1_DIGEST_SIZE,
-                               .statesize = sizeof(struct sha1_state),
+                               .setkey = ssi_ahash_setkey,
+                               .halg = {
+                                       .digestsize = SHA1_DIGEST_SIZE,
+                                       .statesize = sizeof(struct sha1_state),
+                                       },
                                },
-                       },
+               },
                .hash_mode = DRV_HASH_SHA1,
                .hw_mode = DRV_HASH_HW_SHA1,
                .inter_digestsize = SHA1_DIGEST_SIZE,
@@ -2014,22 +2016,24 @@ static struct ssi_hash_template driver_hash[] = {
                .hmac_driver_name = "hmac-sha256-dx",
                .blocksize = SHA256_BLOCK_SIZE,
                .synchronize = false,
-               .template_ahash = {
-                       .init = ssi_ahash_init,
-                       .update = ssi_ahash_update,
-                       .final = ssi_ahash_final,
-                       .finup = ssi_ahash_finup,
-                       .digest = ssi_ahash_digest,
+               {
+                       .template_ahash = {
+                               .init = ssi_ahash_init,
+                               .update = ssi_ahash_update,
+                               .final = ssi_ahash_final,
+                               .finup = ssi_ahash_finup,
+                               .digest = ssi_ahash_digest,
 #ifdef EXPORT_FIXED
-                       .export = ssi_ahash_export,
-                       .import = ssi_ahash_import,
+                               .export = ssi_ahash_export,
+                               .import = ssi_ahash_import,
 #endif
-                       .setkey = ssi_ahash_setkey,
-                       .halg = {
-                               .digestsize = SHA256_DIGEST_SIZE,
-                               .statesize = sizeof(struct sha256_state),
+                               .setkey = ssi_ahash_setkey,
+                               .halg = {
+                                       .digestsize = SHA256_DIGEST_SIZE,
+                                       .statesize = sizeof(struct sha256_state),
+                                       },
                                },
-                       },
+               },
                .hash_mode = DRV_HASH_SHA256,
                .hw_mode = DRV_HASH_HW_SHA256,
                .inter_digestsize = SHA256_DIGEST_SIZE,
@@ -2041,22 +2045,24 @@ static struct ssi_hash_template driver_hash[] = {
                .hmac_driver_name = "hmac-sha224-dx",
                .blocksize = SHA224_BLOCK_SIZE,
                .synchronize = false,
-               .template_ahash = {
-                       .init = ssi_ahash_init,
-                       .update = ssi_ahash_update,
-                       .final = ssi_ahash_final,
-                       .finup = ssi_ahash_finup,
-                       .digest = ssi_ahash_digest,
+               {
+                       .template_ahash = {
+                               .init = ssi_ahash_init,
+                               .update = ssi_ahash_update,
+                               .final = ssi_ahash_final,
+                               .finup = ssi_ahash_finup,
+                               .digest = ssi_ahash_digest,
 #ifdef EXPORT_FIXED
-                       .export = ssi_ahash_export,
-                       .import = ssi_ahash_import,
+                               .export = ssi_ahash_export,
+                               .import = ssi_ahash_import,
 #endif
-                       .setkey = ssi_ahash_setkey,
-                       .halg = {
-                               .digestsize = SHA224_DIGEST_SIZE,
-                               .statesize = sizeof(struct sha256_state),
+                               .setkey = ssi_ahash_setkey,
+                               .halg = {
+                                       .digestsize = SHA224_DIGEST_SIZE,
+                                       .statesize = sizeof(struct sha256_state),
+                                       },
                                },
-                       },
+               },
                .hash_mode = DRV_HASH_SHA224,
                .hw_mode = DRV_HASH_HW_SHA256,
                .inter_digestsize = SHA256_DIGEST_SIZE,
@@ -2069,22 +2075,24 @@ static struct ssi_hash_template driver_hash[] = {
                .hmac_driver_name = "hmac-sha384-dx",
                .blocksize = SHA384_BLOCK_SIZE,
                .synchronize = false,
-               .template_ahash = {
-                       .init = ssi_ahash_init,
-                       .update = ssi_ahash_update,
-                       .final = ssi_ahash_final,
-                       .finup = ssi_ahash_finup,
-                       .digest = ssi_ahash_digest,
+               {
+                       .template_ahash = {
+                               .init = ssi_ahash_init,
+                               .update = ssi_ahash_update,
+                               .final = ssi_ahash_final,
+                               .finup = ssi_ahash_finup,
+                               .digest = ssi_ahash_digest,
 #ifdef EXPORT_FIXED
-                       .export = ssi_ahash_export,
-                       .import = ssi_ahash_import,
+                               .export = ssi_ahash_export,
+                               .import = ssi_ahash_import,
 #endif
-                       .setkey = ssi_ahash_setkey,
-                       .halg = {
-                               .digestsize = SHA384_DIGEST_SIZE,
-                               .statesize = sizeof(struct sha512_state),
+                               .setkey = ssi_ahash_setkey,
+                               .halg = {
+                                       .digestsize = SHA384_DIGEST_SIZE,
+                                       .statesize = sizeof(struct sha512_state),
+                                       },
                                },
-                       },
+               },
                .hash_mode = DRV_HASH_SHA384,
                .hw_mode = DRV_HASH_HW_SHA512,
                .inter_digestsize = SHA512_DIGEST_SIZE,
@@ -2096,22 +2104,24 @@ static struct ssi_hash_template driver_hash[] = {
                .hmac_driver_name = "hmac-sha512-dx",
                .blocksize = SHA512_BLOCK_SIZE,
                .synchronize = false,
-               .template_ahash = {
-                       .init = ssi_ahash_init,
-                       .update = ssi_ahash_update,
-                       .final = ssi_ahash_final,
-                       .finup = ssi_ahash_finup,
-                       .digest = ssi_ahash_digest,
+               {
+                       .template_ahash = {
+                               .init = ssi_ahash_init,
+                               .update = ssi_ahash_update,
+                               .final = ssi_ahash_final,
+                               .finup = ssi_ahash_finup,
+                               .digest = ssi_ahash_digest,
 #ifdef EXPORT_FIXED
-                       .export = ssi_ahash_export,
-                       .import = ssi_ahash_import,
+                               .export = ssi_ahash_export,
+                               .import = ssi_ahash_import,
 #endif
-                       .setkey = ssi_ahash_setkey,
-                       .halg = {
-                               .digestsize = SHA512_DIGEST_SIZE,
-                               .statesize = sizeof(struct sha512_state),
+                               .setkey = ssi_ahash_setkey,
+                               .halg = {
+                                       .digestsize = SHA512_DIGEST_SIZE,
+                                       .statesize = sizeof(struct sha512_state),
+                                       },
                                },
-                       },
+               },
                .hash_mode = DRV_HASH_SHA512,
                .hw_mode = DRV_HASH_HW_SHA512,
                .inter_digestsize = SHA512_DIGEST_SIZE,
@@ -2124,22 +2134,24 @@ static struct ssi_hash_template driver_hash[] = {
                .hmac_driver_name = "hmac-md5-dx",
                .blocksize = MD5_HMAC_BLOCK_SIZE,
                .synchronize = false,
-               .template_ahash = {
-                       .init = ssi_ahash_init,
-                       .update = ssi_ahash_update,
-                       .final = ssi_ahash_final,
-                       .finup = ssi_ahash_finup,
-                       .digest = ssi_ahash_digest,
+               {
+                       .template_ahash = {
+                               .init = ssi_ahash_init,
+                               .update = ssi_ahash_update,
+                               .final = ssi_ahash_final,
+                               .finup = ssi_ahash_finup,
+                               .digest = ssi_ahash_digest,
 #ifdef EXPORT_FIXED
-                       .export = ssi_ahash_export,
-                       .import = ssi_ahash_import,
+                               .export = ssi_ahash_export,
+                               .import = ssi_ahash_import,
 #endif
-                       .setkey = ssi_ahash_setkey,
-                       .halg = {
-                               .digestsize = MD5_DIGEST_SIZE,
-                               .statesize = sizeof(struct md5_state),
+                               .setkey = ssi_ahash_setkey,
+                               .halg = {
+                                       .digestsize = MD5_DIGEST_SIZE,
+                                       .statesize = sizeof(struct md5_state),
+                                       },
                                },
-                       },
+               },
                .hash_mode = DRV_HASH_MD5,
                .hw_mode = DRV_HASH_HW_MD5,
                .inter_digestsize = MD5_DIGEST_SIZE,
@@ -2149,52 +2161,56 @@ static struct ssi_hash_template driver_hash[] = {
                .driver_name = "xcbc-aes-dx",
                .blocksize = AES_BLOCK_SIZE,
                .synchronize = false,
-               .template_ahash = {
-                       .init = ssi_ahash_init,
-                       .update = ssi_mac_update,
-                       .final = ssi_mac_final,
-                       .finup = ssi_mac_finup,
-                       .digest = ssi_mac_digest,
-                       .setkey = ssi_xcbc_setkey,
+               {
+                       .template_ahash = {
+                               .init = ssi_ahash_init,
+                               .update = ssi_mac_update,
+                               .final = ssi_mac_final,
+                               .finup = ssi_mac_finup,
+                               .digest = ssi_mac_digest,
+                               .setkey = ssi_xcbc_setkey,
 #ifdef EXPORT_FIXED
-                       .export = ssi_ahash_export,
-                       .import = ssi_ahash_import,
+                               .export = ssi_ahash_export,
+                               .import = ssi_ahash_import,
 #endif
-                       .halg = {
-                               .digestsize = AES_BLOCK_SIZE,
-                               .statesize = sizeof(struct aeshash_state),
+                               .halg = {
+                                       .digestsize = AES_BLOCK_SIZE,
+                                       .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
        {
                .name = "cmac(aes)",
                .driver_name = "cmac-aes-dx",
                .blocksize = AES_BLOCK_SIZE,
                .synchronize = false,
-               .template_ahash = {
-                       .init = ssi_ahash_init,
-                       .update = ssi_mac_update,
-                       .final = ssi_mac_final,
-                       .finup = ssi_mac_finup,
-                       .digest = ssi_mac_digest,
-                       .setkey = ssi_cmac_setkey,
+               {
+                       .template_ahash = {
+                               .init = ssi_ahash_init,
+                               .update = ssi_mac_update,
+                               .final = ssi_mac_final,
+                               .finup = ssi_mac_finup,
+                               .digest = ssi_mac_digest,
+                               .setkey = ssi_cmac_setkey,
 #ifdef EXPORT_FIXED
-                       .export = ssi_ahash_export,
-                       .import = ssi_ahash_import,
+                               .export = ssi_ahash_export,
+                               .import = ssi_ahash_import,
 #endif
-                       .halg = {
-                               .digestsize = AES_BLOCK_SIZE,
-                               .statesize = sizeof(struct aeshash_state),
+                               .halg = {
+                                       .digestsize = AES_BLOCK_SIZE,
+                                       .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
        
 };