Re: [PATCH v6 1/2] iio: frequency: adrf6780: add support for ADRF6780

From: Andy Shevchenko
Date: Fri Jul 16 2021 - 10:54:04 EST


On Fri, Jul 16, 2021 at 2:43 PM Antoniu Miclaus
<antoniu.miclaus@xxxxxxxxxx> wrote:
>
> The ADRF6780 is a silicon germanium (SiGe) design, wideband,
> microwave upconverter optimized for point to point microwave
> radio designs operating in the 5.9 GHz to 23.6 GHz frequency
> range.

> Datasheet:
> https://www.analog.com/media/en/technical-documentation/data-sheets/ADRF6780.pdf

Is it one line? If not, please put on one line and drop below the
blank line so it will go as a tag.

>
> Signed-off-by: Antoniu Miclaus <antoniu.miclaus@xxxxxxxxxx>

First question is why not to use the regmap API (I have heard it has
gained support of 17 bit)?

...

> + depends on COMMON_CLK

Is it mandatory for any function inside the device?

...

> +static int adrf6780_spi_read(struct adrf6780_dev *dev, unsigned int reg,
> + unsigned int *val)
> +{
> + int ret;
> + struct spi_transfer t = {0};

> + dev->data[0] = 0x80 | (reg << 1);

This 0x80 I guess is pretty much standard and regmap SPI supports it.

> + dev->data[1] = 0x0;
> + dev->data[2] = 0x0;
> +
> + t.rx_buf = &dev->data[0];
> + t.tx_buf = &dev->data[0];
> + t.len = 3;
> +
> + ret = spi_sync_transfer(dev->spi, &t, 1);
> + if (ret)
> + return ret;
> +
> + *val = (get_unaligned_be24(&dev->data[0]) >> 1) & GENMASK(15, 0);
> +
> + return ret;
> +}

...

> + usleep_range(200, 250);

Needs a comment.

--
With Best Regards,
Andy Shevchenko