Re: [PATCH v2] iio: adc: ad7944: simplify adi,spi-mode property parsing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Mar 19, 2024 at 4:28 PM David Lechner <dlechner@xxxxxxxxxxxx> wrote:
>
> This simplifies the adi,spi-mode property parsing by using
> device_property_match_property_string() instead of two separate
> functions. Also, the error return value is now more informative
> in cases where there was problem parsing the property.

a problem

...

> +       ret = device_property_match_property_string(dev, "adi,spi-mode",
> +                                                   ad7944_spi_modes,
> +                                                   ARRAY_SIZE(ad7944_spi_modes));
> +       if (ret < 0) {
> +               if (ret != -EINVAL)
> +                       return dev_err_probe(dev, ret,
> +                                            "getting adi,spi-mode property failed\n");

> -               adc->spi_mode = ret;
> -       } else {

Actually we may even leave these unchanged

>                 /* absence of adi,spi-mode property means default mode */
>                 adc->spi_mode = AD7944_SPI_MODE_DEFAULT;
> +       } else {
> +               adc->spi_mode = ret;
>         }

       ret = device_property_match_property_string(dev, "adi,spi-mode",
                                                   ad7944_spi_modes,

ARRAY_SIZE(ad7944_spi_modes));
       if (ret >= 0) {
               adc->spi_mode = ret;
       } else if (ret != -EINVAL) {
                       return dev_err_probe(dev, ret,
                                            "getting adi,spi-mode
property failed\n");
       } else {
               /* absence of adi,spi-mode property means default mode */
               adc->spi_mode = AD7944_SPI_MODE_DEFAULT;
       }

But I can admit this is not an often used approach.

-- 
With Best Regards,
Andy Shevchenko





[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux