On Fri,  6 Jun 2025 09:06:10 +0000
Wencheng Li <liwench...@phytium.com.cn> wrote:

> +static int macb_get_speed_info(struct rte_eth_dev *dev, char *speed_info)
> +{
> +     char filename[PATH_MAX];
> +     char *s;
> +     struct macb_priv *priv = dev->data->dev_private;
> +
> +     if (!speed_info) {
> +             MACB_LOG(ERR, "speed info is NULL.");
> +             return -ENOMEM;
> +     }
> +
> +     snprintf(filename, PATH_MAX, "%s/%s/speed_info", MACB_PDEV_PATH, 
> priv->name);
> +     FILE *file = fopen(filename, "r");
> +     if (!file) {
> +             MACB_LOG(ERR, "There is no speed_info file!");
> +             return -ENFILE;
> +     }
> +
> +     s = fgets(speed_info, SPEED_INFO_LEN, file);
> +     if (!s) {
> +             fclose(file);
> +             MACB_LOG(ERR, "get speed info error!");
> +             return -EINVAL;
> +     }
> +
> +     fclose(file);
> +     return 0;
> +}

Looking at this API I see a potential review conflict.
Although sysfs is a text based API, and any string can be returned;
the convention used is one value per file.

Writing UIO drivers is hard, and getting it upstream you will find lots of 
issues;
ask Long about hyper-v uio. I wonder if there is a better way to do this.

Reply via email to