mirror of
https://github.com/fail0verflow/switch-coreboot.git
synced 2025-05-04 01:39:18 -04:00
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@aheymans.xyz> Reviewed-on: https://review.coreboot.org/21234 Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
6af8aab539
commit
0315b6740a
1 changed files with 74 additions and 72 deletions
|
@ -144,83 +144,85 @@ static void sb700_lpc_enable_childrens_resources(device_t dev)
|
||||||
device_t child;
|
device_t child;
|
||||||
for (child = link->children; child;
|
for (child = link->children; child;
|
||||||
child = child->sibling) {
|
child = child->sibling) {
|
||||||
if (child->enabled
|
if (!(child->enabled
|
||||||
&& (child->path.type == DEVICE_PATH_PNP)) {
|
&& (child->path.type == DEVICE_PATH_PNP)))
|
||||||
struct resource *res;
|
continue;
|
||||||
for (res = child->resource_list; res; res = res->next) {
|
|
||||||
u32 base, end; /* don't need long long */
|
struct resource *res;
|
||||||
if (!(res->flags & IORESOURCE_IO))
|
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:
|
||||||
|
/* only 3 var ; compact them ? */
|
||||||
|
if (var_num >= 3)
|
||||||
continue;
|
continue;
|
||||||
base = res->base;
|
switch (var_num) {
|
||||||
end = resource_end(res);
|
case 0:
|
||||||
printk(BIOS_DEBUG, "sb700 lpc decode:%s, base=0x%08x, end=0x%08x\n",
|
reg_x |= (1 << 2);
|
||||||
dev_path(child), base, end);
|
if ((end - base) < 16)
|
||||||
switch (base) {
|
wiosize |= (1 << 0);
|
||||||
case 0x60: /* KB */
|
|
||||||
case 0x64: /* MS */
|
|
||||||
reg |= (1 << 29);
|
|
||||||
break;
|
break;
|
||||||
case 0x3f8: /* COM1 */
|
case 1:
|
||||||
reg |= (1 << 6);
|
reg_x |= (1 << 24);
|
||||||
|
if ((end - base) < 16)
|
||||||
|
wiosize |= (1 << 2);
|
||||||
break;
|
break;
|
||||||
case 0x2f8: /* COM2 */
|
case 2:
|
||||||
reg |= (1 << 7);
|
reg_x |= (1 << 25);
|
||||||
|
reg_x |= (1 << 24);
|
||||||
|
if ((end - base) < 16)
|
||||||
|
wiosize |= (1 << 3);
|
||||||
break;
|
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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue