On 1/29/21 9:56 AM, Parav Pandit wrote:
> @@ -1383,6 +1389,37 @@ static int reload_limit_get(struct dl *dl, const char 
> *limitstr,
>       return 0;
>  }
>  
> +static int port_flavour_parse(const char *flavour, uint16_t *value)
> +{
> +     if (!flavour)
> +             return -EINVAL;
> +
> +     if (strcmp(flavour, "physical") == 0) {
> +             *value = DEVLINK_PORT_FLAVOUR_PHYSICAL;
> +             return 0;
> +     } else if (strcmp(flavour, "cpu") == 0) {
> +             *value = DEVLINK_PORT_FLAVOUR_CPU;
> +             return 0;
> +     } else if (strcmp(flavour, "dsa") == 0) {
> +             *value = DEVLINK_PORT_FLAVOUR_DSA;
> +             return 0;
> +     } else if (strcmp(flavour, "pcipf") == 0) {
> +             *value = DEVLINK_PORT_FLAVOUR_PCI_PF;
> +             return 0;
> +     } else if (strcmp(flavour, "pcivf") == 0) {
> +             *value = DEVLINK_PORT_FLAVOUR_PCI_VF;
> +             return 0;
> +     } else if (strcmp(flavour, "pcisf") == 0) {
> +             *value = DEVLINK_PORT_FLAVOUR_PCI_SF;
> +             return 0;
> +     } else if (strcmp(flavour, "virtual") == 0) {
> +             *value = DEVLINK_PORT_FLAVOUR_VIRTUAL;
> +             return 0;
> +     } else {
> +             return -EINVAL;
> +     }
> +}
use a struct for the string - value conversions; that should have been
done for port_flavour_name so it can be refactored to use that kind of
relationship. This function is just the inverse of it.

Reply via email to