Lines Matching refs:sdev

59 fs_parse_device(struct sub_device *sdev, char *args)  in fs_parse_device()  argument
64 d = &sdev->devargs; in fs_parse_device()
71 sdev->bus = d->bus; in fs_parse_device()
72 sdev->state = DEV_PARSED; in fs_parse_device()
87 fs_execute_cmd(struct sub_device *sdev, char *cmdline) in fs_execute_cmd() argument
95 RTE_ASSERT(cmdline != NULL || sdev->cmdline != NULL); in fs_execute_cmd()
96 if (sdev->cmdline == NULL) { in fs_execute_cmd()
100 sdev->cmdline = calloc(1, len); in fs_execute_cmd()
101 if (sdev->cmdline == NULL) { in fs_execute_cmd()
105 strlcpy(sdev->cmdline, cmdline, len); in fs_execute_cmd()
108 if (sdev->cmdline[i] == ',') in fs_execute_cmd()
109 sdev->cmdline[i] = ' '; in fs_execute_cmd()
111 DEBUG("'%s'", sdev->cmdline); in fs_execute_cmd()
112 fp = popen(sdev->cmdline, "r"); in fs_execute_cmd()
129 ret = fs_parse_device(sdev, output); in fs_execute_cmd()
139 fs_read_fd(struct sub_device *sdev, char *fd_str) in fs_read_fd() argument
149 RTE_ASSERT(fd_str != NULL || sdev->fd_str != NULL); in fs_read_fd()
150 if (sdev->fd_str == NULL) { in fs_read_fd()
151 sdev->fd_str = strdup(fd_str); in fs_read_fd()
152 if (sdev->fd_str == NULL) { in fs_read_fd()
188 err = fs_parse_device(sdev, output); in fs_read_fd()
204 struct sub_device *sdev; in fs_parse_device_param() local
228 sdev = &priv->subs[head]; in fs_parse_device_param()
230 ret = fs_parse_device(sdev, args); in fs_parse_device_param()
234 ret = fs_execute_cmd(sdev, args); in fs_parse_device_param()
242 ret = fs_read_fd(sdev, args); in fs_parse_device_param()
446 struct sub_device *sdev; in failsafe_args_free() local
449 FOREACH_SUBDEV(sdev, i, dev) { in failsafe_args_free()
450 free(sdev->cmdline); in failsafe_args_free()
451 sdev->cmdline = NULL; in failsafe_args_free()
452 free(sdev->fd_str); in failsafe_args_free()
453 sdev->fd_str = NULL; in failsafe_args_free()
454 free(sdev->devargs.args); in failsafe_args_free()
455 sdev->devargs.args = NULL; in failsafe_args_free()
487 fs_parse_sub_device(struct sub_device *sdev) in fs_parse_sub_device() argument
492 da = &sdev->devargs; in fs_parse_sub_device()
494 return fs_parse_device(sdev, devstr); in fs_parse_sub_device()
500 struct sub_device *sdev; in failsafe_args_parse_subs() local
504 FOREACH_SUBDEV(sdev, i, dev) { in failsafe_args_parse_subs()
505 if (sdev->state >= DEV_PARSED) in failsafe_args_parse_subs()
507 if (sdev->cmdline) in failsafe_args_parse_subs()
508 ret = fs_execute_cmd(sdev, sdev->cmdline); in failsafe_args_parse_subs()
509 else if (sdev->fd_str) in failsafe_args_parse_subs()
510 ret = fs_read_fd(sdev, sdev->fd_str); in failsafe_args_parse_subs()
512 ret = fs_parse_sub_device(sdev); in failsafe_args_parse_subs()
514 sdev->state = DEV_PARSED; in failsafe_args_parse_subs()