On 9/9/2017 12:21 PM, Shreyansh Jain wrote:
> From: Hemant Agrawal <[email protected]>
>
> Signed-off-by: Hemant Agrawal <[email protected]>
<...>
> +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;
> +}
<...>