[coreboot-gerrit] Change in coreboot[master]: sb/amd/sb700/lpc.c: Optimize code flow for less indentation

Arthur Heymans (Code Review) gerrit at coreboot.org
Mon Aug 28 13:04:34 CEST 2017


Arthur Heymans has uploaded this change for review. ( https://review.coreboot.org/21234


Change subject: sb/amd/sb700/lpc.c: Optimize code flow for less indentation
......................................................................

sb/amd/sb700/lpc.c: Optimize code flow for less indentation

This changes the code flow so less indentation has to be used.

This also changes some lines to limit their length.

Change-Id: I50ca99a759a276e9d49327c6ae6c69eeab2a8c90
Signed-off-by: Arthur Heymans <arthur at aheymans.xyz>
---
M src/southbridge/amd/sb700/lpc.c
1 file changed, 74 insertions(+), 72 deletions(-)



  git pull ssh://review.coreboot.org:29418/coreboot refs/changes/34/21234/1

diff --git a/src/southbridge/amd/sb700/lpc.c b/src/southbridge/amd/sb700/lpc.c
index 8ee0395..281e247 100644
--- a/src/southbridge/amd/sb700/lpc.c
+++ b/src/southbridge/amd/sb700/lpc.c
@@ -163,83 +163,85 @@
 		device_t child;
 		for (child = link->children; child;
 		     child = child->sibling) {
-			if (child->enabled
-			    && (child->path.type == DEVICE_PATH_PNP)) {
-				struct resource *res;
-				for (res = child->resource_list; res; res = res->next) {
-					u32 base, end;	/*  don't need long long */
-					if (!(res->flags & IORESOURCE_IO))
+			if (!(child->enabled
+				&& (child->path.type == DEVICE_PATH_PNP)))
+				continue;
+
+			struct resource *res;
+			for (res = child->resource_list; res; res = res->next) {
+				u32 base, end;	/*  don't need long long */
+				if (!(res->flags & IORESOURCE_IO))
+					continue;
+				base = res->base;
+				end = resource_end(res);
+				printk(BIOS_DEBUG, "sb700 lpc decode:%s,"
+					" base=0x%08x, end=0x%08x\n",
+					dev_path(child), base, end);
+				switch (base) {
+				case 0x60:	/*  KB */
+				case 0x64:	/*  MS */
+					reg |= (1 << 29);
+					break;
+				case 0x3f8:	/*  COM1 */
+					reg |= (1 << 6);
+					break;
+				case 0x2f8:	/*  COM2 */
+					reg |= (1 << 7);
+					break;
+				case 0x378:	/*  Parallel 1 */
+					reg |= (1 << 0);
+					reg |= (1 << 1); /* + 0x778 for ECP */
+					break;
+				case 0x3f0:	/*  FD0 */
+					reg |= (1 << 26);
+					break;
+				case 0x220:	/*  Audio 0 */
+					reg |= (1 << 8);
+					break;
+				case 0x300:	/*  Midi 0 */
+					reg |= (1 << 18);
+					break;
+				case 0x400:
+					reg_x |= (1 << 16);
+					break;
+				case 0x480:
+					reg_x |= (1 << 17);
+					break;
+				case 0x500:
+					reg_x |= (1 << 18);
+					break;
+				case 0x580:
+					reg_x |= (1 << 19);
+					break;
+				case 0x4700:
+					reg_x |= (1 << 22);
+					break;
+				case 0xfd60:
+					reg_x |= (1 << 23);
+					break;
+				default:
+					if (var_num >= 3)
+						/* only 3 var ; compact them ? */
 						continue;
-					base = res->base;
-					end = resource_end(res);
-					printk(BIOS_DEBUG, "sb700 lpc decode:%s, base=0x%08x, end=0x%08x\n",
-					     dev_path(child), base, end);
-					switch (base) {
-					case 0x60:	/*  KB */
-					case 0x64:	/*  MS */
-						reg |= (1 << 29);
+					switch (var_num) {
+					case 0:
+						reg_x |= (1 << 2);
+						if ((end - base) < 16)
+							wiosize |= (1 << 0);
 						break;
-					case 0x3f8:	/*  COM1 */
-						reg |= (1 << 6);
+					case 1:
+						reg_x |= (1 << 24);
+						if ((end - base) < 16)
+							wiosize |= (1 << 2);
 						break;
-					case 0x2f8:	/*  COM2 */
-						reg |= (1 << 7);
+					case 2:
+						reg_x |= (1 << 25);
+						reg_x |= (1 << 24);
+						if ((end - base) < 16)
+							wiosize |= (1 << 3);
 						break;
-					case 0x378:	/*  Parallel 1 */
-						reg |= (1 << 0);
-						reg |= (1 << 1); /* + 0x778 for ECP */
-						break;
-					case 0x3f0:	/*  FD0 */
-						reg |= (1 << 26);
-						break;
-					case 0x220:	/*  Audio 0 */
-						reg |= (1 << 8);
-						break;
-					case 0x300:	/*  Midi 0 */
-						reg |= (1 << 18);
-						break;
-					case 0x400:
-						reg_x |= (1 << 16);
-						break;
-					case 0x480:
-						reg_x |= (1 << 17);
-						break;
-					case 0x500:
-						reg_x |= (1 << 18);
-						break;
-					case 0x580:
-						reg_x |= (1 << 19);
-						break;
-					case 0x4700:
-						reg_x |= (1 << 22);
-						break;
-					case 0xfd60:
-						reg_x |= (1 << 23);
-						break;
-					default:
-						if (var_num >= 3)
-							continue;	/* only 3 var ; compact them ? */
-						switch (var_num) {
-						case 0:
-							reg_x |= (1 << 2);
-							if ((end - base) < 16)
-								wiosize |= (1 << 0);
-							break;
-						case 1:
-							reg_x |= (1 << 24);
-							if ((end - base) < 16)
-								wiosize |= (1 << 2);
-							break;
-						case 2:
-							reg_x |= (1 << 25);
-							reg_x |= (1 << 24);
-							if ((end - base) < 16)
-								wiosize |= (1 << 3);
-							break;
-						}
-						reg_var[var_num++] =
-						    base & 0xffff;
 					}
+					reg_var[var_num++] = base & 0xffff;
 				}
 			}
 		}

-- 
To view, visit https://review.coreboot.org/21234
To unsubscribe, visit https://review.coreboot.org/settings

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I50ca99a759a276e9d49327c6ae6c69eeab2a8c90
Gerrit-Change-Number: 21234
Gerrit-PatchSet: 1
Gerrit-Owner: Arthur Heymans <arthur at aheymans.xyz>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/coreboot-gerrit/attachments/20170828/c9bd1a34/attachment-0001.html>


More information about the coreboot-gerrit mailing list