silicom: get_bypass_slave_pfs() open-codes lookup_port()
authorAl Viro <viro@zeniv.linux.org.uk>
Sat, 30 Mar 2013 20:44:11 +0000 (16:44 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Tue, 9 Apr 2013 18:13:11 +0000 (14:13 -0400)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
drivers/staging/silicom/bp_mod.c

index 5392df316fb9656aa6b241dc9475be24675d58ea..2c7334162c46d808a4e44cdca7940cf905e142ee 100644 (file)
@@ -7436,33 +7436,10 @@ get_bypass_slave_pfs(char *page, char **start, off_t off, int count,
        bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data;
 
        int len = 0;
-       bpctl_dev_t *pbp_device_block_slave = NULL;
-       int idx_dev = 0;
+       bpctl_dev_t *pbp_device_block_slave = get_status_port_fn(pbp_device_block);
        struct net_device *net_slave_dev = NULL;
 
-       if ((pbp_device_block->func == 0) || (pbp_device_block->func == 2)) {
-               for (idx_dev = 0;
-                    ((bpctl_dev_arr[idx_dev].pdev != NULL)
-                     && (idx_dev < device_num)); idx_dev++) {
-                       if ((bpctl_dev_arr[idx_dev].bus ==
-                            pbp_device_block->bus)
-                           && (bpctl_dev_arr[idx_dev].slot ==
-                               pbp_device_block->slot)) {
-                               if ((pbp_device_block->func == 0)
-                                   && (bpctl_dev_arr[idx_dev].func == 1)) {
-                                       pbp_device_block_slave =
-                                           &bpctl_dev_arr[idx_dev];
-                                       break;
-                               }
-                               if ((pbp_device_block->func == 2) &&
-                                   (bpctl_dev_arr[idx_dev].func == 3)) {
-                                       pbp_device_block_slave =
-                                           &bpctl_dev_arr[idx_dev];
-                                       break;
-                               }
-                       }
-               }
-       } else
+       if (!pbp_device_block_slave)
                pbp_device_block_slave = pbp_device_block;
        if (!pbp_device_block_slave) {
                len = sprintf(page, "fail\n");