From 47de4477a8e6bfd202640567ce4bf17cc1de60be Mon Sep 17 00:00:00 2001
From: Randy Dunlap <rdunlap@infradead.org>
Date: Tue, 20 Apr 2021 19:20:41 -0700
Subject: [PATCH] microblaze: add 'fallthrough' to memcpy/memset/memmove

Fix "fallthrough" warnings in microblaze memcpy/memset/memmove
library functions.

  CC      arch/microblaze/lib/memcpy.o
../arch/microblaze/lib/memcpy.c: In function 'memcpy':
../arch/microblaze/lib/memcpy.c:70:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
   70 |    --c;
../arch/microblaze/lib/memcpy.c:71:3: note: here
   71 |   case 2:
../arch/microblaze/lib/memcpy.c:73:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
   73 |    --c;
../arch/microblaze/lib/memcpy.c:74:3: note: here
   74 |   case 3:
../arch/microblaze/lib/memcpy.c:178:10: warning: this statement may fall through [-Wimplicit-fallthrough=]
  178 |   *dst++ = *src++;
../arch/microblaze/lib/memcpy.c:179:2: note: here
  179 |  case 2:
../arch/microblaze/lib/memcpy.c:180:10: warning: this statement may fall through [-Wimplicit-fallthrough=]
  180 |   *dst++ = *src++;
../arch/microblaze/lib/memcpy.c:181:2: note: here
  181 |  case 1:
  CC      arch/microblaze/lib/memset.o
../arch/microblaze/lib/memset.c: In function 'memset':
../arch/microblaze/lib/memset.c:71:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
   71 |    --n;
../arch/microblaze/lib/memset.c:72:3: note: here
   72 |   case 2:
../arch/microblaze/lib/memset.c:74:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
   74 |    --n;
../arch/microblaze/lib/memset.c:75:3: note: here
   75 |   case 3:
  CC      arch/microblaze/lib/memmove.o
../arch/microblaze/lib/memmove.c: In function 'memmove':
../arch/microblaze/lib/memmove.c:92:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
   92 |    --c;
../arch/microblaze/lib/memmove.c:93:3: note: here
   93 |   case 2:
../arch/microblaze/lib/memmove.c:95:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
   95 |    --c;
../arch/microblaze/lib/memmove.c:96:3: note: here
   96 |   case 1:
../arch/microblaze/lib/memmove.c:203:10: warning: this statement may fall through [-Wimplicit-fallthrough=]
  203 |   *--dst = *--src;
../arch/microblaze/lib/memmove.c:204:2: note: here
  204 |  case 3:
../arch/microblaze/lib/memmove.c:205:10: warning: this statement may fall through [-Wimplicit-fallthrough=]
  205 |   *--dst = *--src;
../arch/microblaze/lib/memmove.c:206:2: note: here
  206 |  case 2:
../arch/microblaze/lib/memmove.c:207:10: warning: this statement may fall through [-Wimplicit-fallthrough=]
  207 |   *--dst = *--src;
../arch/microblaze/lib/memmove.c:208:2: note: here
  208 |  case 1:

Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Cc: Michal Simek <monstr@monstr.eu>
Link: https://lore.kernel.org/r/20210421022041.10689-1-rdunlap@infradead.org
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
---
 arch/microblaze/lib/memcpy.c  | 4 ++++
 arch/microblaze/lib/memmove.c | 5 +++++
 arch/microblaze/lib/memset.c  | 2 ++
 3 files changed, 11 insertions(+)

diff --git a/arch/microblaze/lib/memcpy.c b/arch/microblaze/lib/memcpy.c
index f536e81b81685..63041fdf916d7 100644
--- a/arch/microblaze/lib/memcpy.c
+++ b/arch/microblaze/lib/memcpy.c
@@ -68,9 +68,11 @@ void *memcpy(void *v_dst, const void *v_src, __kernel_size_t c)
 		case 1:
 			*dst++ = *src++;
 			--c;
+			fallthrough;
 		case 2:
 			*dst++ = *src++;
 			--c;
+			fallthrough;
 		case 3:
 			*dst++ = *src++;
 			--c;
@@ -176,8 +178,10 @@ void *memcpy(void *v_dst, const void *v_src, __kernel_size_t c)
 	switch (c) {
 	case 3:
 		*dst++ = *src++;
+		fallthrough;
 	case 2:
 		*dst++ = *src++;
+		fallthrough;
 	case 1:
 		*dst++ = *src++;
 	}
diff --git a/arch/microblaze/lib/memmove.c b/arch/microblaze/lib/memmove.c
index 3611ce70415bf..9862f6b1e59d2 100644
--- a/arch/microblaze/lib/memmove.c
+++ b/arch/microblaze/lib/memmove.c
@@ -90,9 +90,11 @@ void *memmove(void *v_dst, const void *v_src, __kernel_size_t c)
 		case 3:
 			*--dst = *--src;
 			--c;
+			fallthrough;
 		case 2:
 			*--dst = *--src;
 			--c;
+			fallthrough;
 		case 1:
 			*--dst = *--src;
 			--c;
@@ -201,10 +203,13 @@ void *memmove(void *v_dst, const void *v_src, __kernel_size_t c)
 	switch (c) {
 	case 4:
 		*--dst = *--src;
+		fallthrough;
 	case 3:
 		*--dst = *--src;
+		fallthrough;
 	case 2:
 		*--dst = *--src;
+		fallthrough;
 	case 1:
 		*--dst = *--src;
 	}
diff --git a/arch/microblaze/lib/memset.c b/arch/microblaze/lib/memset.c
index 04ea72c8a81dd..eb6c8988af027 100644
--- a/arch/microblaze/lib/memset.c
+++ b/arch/microblaze/lib/memset.c
@@ -69,9 +69,11 @@ void *memset(void *v_src, int c, __kernel_size_t n)
 		case 1:
 			*src++ = c;
 			--n;
+			fallthrough;
 		case 2:
 			*src++ = c;
 			--n;
+			fallthrough;
 		case 3:
 			*src++ = c;
 			--n;
-- 
GitLab