crypto: zip - add a cast for printing atomic64_t values
authorArnd Bergmann <arnd@arndb.de>
Mon, 20 Mar 2017 12:39:16 +0000 (13:39 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 24 Mar 2017 14:03:01 +0000 (22:03 +0800)
kernelci.org reports a build-time regression on linux-next, with a harmless
warning in x86 allmodconfig:

drivers/crypto/cavium/zip/zip_main.c:489:18: warning: format '%ld' expects argument of type 'long int', but argument 7 has type 'long long int' [-Wformat=]
drivers/crypto/cavium/zip/zip_main.c:489:18: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'long long int' [-Wformat=]
drivers/crypto/cavium/zip/zip_main.c:489:18: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'long long int' [-Wformat=]

The return type for atomic64_read() unfortunately differs between
architectures, with some defining it as atomic_long_read() and others
returning a 64-bit type explicitly. Fixing this in general would be nice,
but also require changing other users of these functions, so the simpler
workaround is to add a cast here that avoids the warnings on the default
build.

Fixes: 09ae5d37e093 ("crypto: zip - Add Compression/Decompression statistics")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/cavium/zip/zip_main.c

index 6ff13d80d82ea04ff0770b8acf8e528f84eed979..1cd8aa48818580995dd60b3a683b7ab0db6d859d 100644 (file)
@@ -488,32 +488,32 @@ static int zip_show_stats(struct seq_file *s, void *unused)
                                  atomic64_read(&st->comp_out_bytes));
                        seq_printf(s, "        ZIP Device %d Stats\n"
                                      "-----------------------------------\n"
-                                     "Comp Req Submitted        : \t%ld\n"
-                                     "Comp Req Completed        : \t%ld\n"
-                                     "Compress In Bytes         : \t%ld\n"
-                                     "Compressed Out Bytes      : \t%ld\n"
+                                     "Comp Req Submitted        : \t%lld\n"
+                                     "Comp Req Completed        : \t%lld\n"
+                                     "Compress In Bytes         : \t%lld\n"
+                                     "Compressed Out Bytes      : \t%lld\n"
                                      "Average Chunk size        : \t%llu\n"
                                      "Average Compression ratio : \t%llu\n"
-                                     "Decomp Req Submitted      : \t%ld\n"
-                                     "Decomp Req Completed      : \t%ld\n"
-                                     "Decompress In Bytes       : \t%ld\n"
-                                     "Decompressed Out Bytes    : \t%ld\n"
-                                     "Decompress Bad requests   : \t%ld\n"
-                                     "Pending Req               : \t%ld\n"
+                                     "Decomp Req Submitted      : \t%lld\n"
+                                     "Decomp Req Completed      : \t%lld\n"
+                                     "Decompress In Bytes       : \t%lld\n"
+                                     "Decompressed Out Bytes    : \t%lld\n"
+                                     "Decompress Bad requests   : \t%lld\n"
+                                     "Pending Req               : \t%lld\n"
                                        "---------------------------------\n",
                                       index,
-                                      atomic64_read(&st->comp_req_submit),
-                                      atomic64_read(&st->comp_req_complete),
-                                      atomic64_read(&st->comp_in_bytes),
-                                      atomic64_read(&st->comp_out_bytes),
+                                      (u64)atomic64_read(&st->comp_req_submit),
+                                      (u64)atomic64_read(&st->comp_req_complete),
+                                      (u64)atomic64_read(&st->comp_in_bytes),
+                                      (u64)atomic64_read(&st->comp_out_bytes),
                                       avg_chunk,
                                       avg_cr,
-                                      atomic64_read(&st->decomp_req_submit),
-                                      atomic64_read(&st->decomp_req_complete),
-                                      atomic64_read(&st->decomp_in_bytes),
-                                      atomic64_read(&st->decomp_out_bytes),
-                                      atomic64_read(&st->decomp_bad_reqs),
-                                      atomic64_read(&st->pending_req));
+                                      (u64)atomic64_read(&st->decomp_req_submit),
+                                      (u64)atomic64_read(&st->decomp_req_complete),
+                                      (u64)atomic64_read(&st->decomp_in_bytes),
+                                      (u64)atomic64_read(&st->decomp_out_bytes),
+                                      (u64)atomic64_read(&st->decomp_bad_reqs),
+                                      (u64)atomic64_read(&st->pending_req));
 
                        /* Reset pending requests  count */
                        atomic64_set(&st->pending_req, 0);