On 9/9/2017 12:21 PM, Shreyansh Jain wrote:
> From: Hemant Agrawal <hemant.agra...@nxp.com>
> 
> Signed-off-by: Hemant Agrawal <hemant.agra...@nxp.com>

<...>

> +static int
> +dpaa_fw_version_get(struct rte_eth_dev *dev __rte_unused,
> +                  char *fw_version,
> +                  size_t fw_size)
> +{
> +     int ret;
> +     FILE *svr_file = NULL;
> +     unsigned int svr_ver = 0;
> +
> +     PMD_INIT_FUNC_TRACE();
> +
> +     svr_file = fopen("/sys/devices/soc0/soc_id", "r");

Is this sysfs file fixed, can it be enumerated as soc1 etc.. in some
systems?

> +     if (!svr_file) {
> +             DPAA_PMD_ERR("Unable to open SoC device");
> +             return -ENOTSUP; /* Not supported on this infra */
> +     }
> +
> +     ret = fscanf(svr_file, "svr:%x", &svr_ver);
> +     if (ret <= 0) {
> +             DPAA_PMD_ERR("Unable to read SoC device");
> +             return -ENOTSUP; /* Not supported on this infra */
> +     }
> +
> +     ret = snprintf(fw_version, fw_size,
> +                    "svr:%x-fman-v%x",
> +                    svr_ver,
> +                    fman_ip_rev);
> +
> +     ret += 1; /* add the size of '\0' */
> +     if (fw_size < (uint32_t)ret)
> +             return ret;
> +     else
> +             return 0;
> +}

<...>

Reply via email to