Commit fb8004d3 authored by Al Viro's avatar Al Viro

silicom: unobfuscate get_{status,master}_port_fn()

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 7e1be8a5
...@@ -1728,62 +1728,33 @@ int gpio6_clear_fn(bpctl_dev_t *pbpctl_dev) ...@@ -1728,62 +1728,33 @@ int gpio6_clear_fn(bpctl_dev_t *pbpctl_dev)
} }
#endif /*BYPASS_DEBUG */ #endif /*BYPASS_DEBUG */
static bpctl_dev_t *get_status_port_fn(bpctl_dev_t *pbpctl_dev) static bpctl_dev_t *lookup_port(bpctl_dev_t *dev)
{ {
int idx_dev = 0; bpctl_dev_t *p;
int n;
if (pbpctl_dev == NULL) for (n = 0, p = bpctl_dev_arr; n < device_num && p->pdev; n++) {
return NULL; if (p->bus == dev->bus
&& p->slot == dev->slot
if ((pbpctl_dev->func == 0) || (pbpctl_dev->func == 2)) { && p->func == (dev->func ^ 1))
for (idx_dev = 0; return p;
((bpctl_dev_arr[idx_dev].pdev != NULL)
&& (idx_dev < device_num)); idx_dev++) {
if ((bpctl_dev_arr[idx_dev].bus == pbpctl_dev->bus)
&& (bpctl_dev_arr[idx_dev].slot == pbpctl_dev->slot)
&& ((bpctl_dev_arr[idx_dev].func == 1)
&& (pbpctl_dev->func == 0))) {
return &(bpctl_dev_arr[idx_dev]);
} }
if ((bpctl_dev_arr[idx_dev].bus == pbpctl_dev->bus) && return NULL;
(bpctl_dev_arr[idx_dev].slot == pbpctl_dev->slot) && }
((bpctl_dev_arr[idx_dev].func == 3)
&& (pbpctl_dev->func == 2))) {
return &(bpctl_dev_arr[idx_dev]); static bpctl_dev_t *get_status_port_fn(bpctl_dev_t *pbpctl_dev)
} {
} if (pbpctl_dev) {
if (pbpctl_dev->func == 0 || pbpctl_dev->func == 2)
return lookup_port(pbpctl_dev);
} }
return NULL; return NULL;
} }
static bpctl_dev_t *get_master_port_fn(bpctl_dev_t *pbpctl_dev) static bpctl_dev_t *get_master_port_fn(bpctl_dev_t *pbpctl_dev)
{ {
int idx_dev = 0; if (pbpctl_dev) {
if (pbpctl_dev->func == 1 || pbpctl_dev->func == 3)
if (pbpctl_dev == NULL) return lookup_port(pbpctl_dev);
return NULL;
if ((pbpctl_dev->func == 1) || (pbpctl_dev->func == 3)) {
for (idx_dev = 0;
((bpctl_dev_arr[idx_dev].pdev != NULL)
&& (idx_dev < device_num)); idx_dev++) {
if ((bpctl_dev_arr[idx_dev].bus == pbpctl_dev->bus)
&& (bpctl_dev_arr[idx_dev].slot == pbpctl_dev->slot)
&& ((bpctl_dev_arr[idx_dev].func == 0)
&& (pbpctl_dev->func == 1))) {
return &(bpctl_dev_arr[idx_dev]);
}
if ((bpctl_dev_arr[idx_dev].bus == pbpctl_dev->bus) &&
(bpctl_dev_arr[idx_dev].slot == pbpctl_dev->slot) &&
((bpctl_dev_arr[idx_dev].func == 2)
&& (pbpctl_dev->func == 3))) {
return &(bpctl_dev_arr[idx_dev]);
}
}
} }
return NULL; return NULL;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment