staging: iio: frequency: ad9833: Get frequency value statically
authorBeniamin Bia <biabeniamin@gmail.com>
Fri, 1 Feb 2019 15:01:37 +0000 (17:01 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sat, 2 Feb 2019 16:01:36 +0000 (16:01 +0000)
The values from platform data were replaced by statically values.
This was just a intermediate step of taking this driver out of staging and
load data from device tree.

Signed-off-by: Beniamin Bia <beniamin.bia@analog.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/staging/iio/frequency/ad9834.c
drivers/staging/iio/frequency/ad9834.h

index 1e97701..5093c7f 100644 (file)
@@ -389,16 +389,11 @@ static const struct iio_info ad9833_info = {
 
 static int ad9834_probe(struct spi_device *spi)
 {
-       struct ad9834_platform_data *pdata = dev_get_platdata(&spi->dev);
        struct ad9834_state *st;
        struct iio_dev *indio_dev;
        struct regulator *reg;
        int ret;
 
-       if (!pdata) {
-               dev_dbg(&spi->dev, "no platform data?\n");
-               return -ENODEV;
-       }
 
        reg = devm_regulator_get(&spi->dev, "avdd");
        if (IS_ERR(reg))
@@ -418,7 +413,7 @@ static int ad9834_probe(struct spi_device *spi)
        spi_set_drvdata(spi, indio_dev);
        st = iio_priv(indio_dev);
        mutex_init(&st->lock);
-       st->mclk = pdata->mclk;
+       st->mclk = 25000000;
        st->spi = spi;
        st->devid = spi_get_device_id(spi)->driver_data;
        st->reg = reg;
@@ -454,11 +449,9 @@ static int ad9834_probe(struct spi_device *spi)
        spi_message_add_tail(&st->freq_xfer[1], &st->freq_msg);
 
        st->control = AD9834_B28 | AD9834_RESET;
+       st->control |= AD9834_DIV2;
 
-       if (!pdata->en_div2)
-               st->control |= AD9834_DIV2;
-
-       if (!pdata->en_signbit_msb_out && (st->devid == ID_AD9834))
+       if (st->devid == ID_AD9834)
                st->control |= AD9834_SIGN_PIB;
 
        st->data = cpu_to_be16(AD9834_REG_CMD | st->control);
@@ -468,19 +461,19 @@ static int ad9834_probe(struct spi_device *spi)
                goto error_disable_reg;
        }
 
-       ret = ad9834_write_frequency(st, AD9834_REG_FREQ0, pdata->freq0);
+       ret = ad9834_write_frequency(st, AD9834_REG_FREQ0, 1000000);
        if (ret)
                goto error_disable_reg;
 
-       ret = ad9834_write_frequency(st, AD9834_REG_FREQ1, pdata->freq1);
+       ret = ad9834_write_frequency(st, AD9834_REG_FREQ1, 5000000);
        if (ret)
                goto error_disable_reg;
 
-       ret = ad9834_write_phase(st, AD9834_REG_PHASE0, pdata->phase0);
+       ret = ad9834_write_phase(st, AD9834_REG_PHASE0, 512);
        if (ret)
                goto error_disable_reg;
 
-       ret = ad9834_write_phase(st, AD9834_REG_PHASE1, pdata->phase1);
+       ret = ad9834_write_phase(st, AD9834_REG_PHASE1, 1024);
        if (ret)
                goto error_disable_reg;
 
index ae620f3..da7e83c 100644 (file)
@@ -8,32 +8,4 @@
 #ifndef IIO_DDS_AD9834_H_
 #define IIO_DDS_AD9834_H_
 
-/*
- * TODO: struct ad7887_platform_data needs to go into include/linux/iio
- */
-
-/**
- * struct ad9834_platform_data - platform specific information
- * @mclk:              master clock in Hz
- * @freq0:             power up freq0 tuning word in Hz
- * @freq1:             power up freq1 tuning word in Hz
- * @phase0:            power up phase0 value [0..4095] correlates with 0..2PI
- * @phase1:            power up phase1 value [0..4095] correlates with 0..2PI
- * @en_div2:           digital output/2 is passed to the SIGN BIT OUT pin
- * @en_signbit_msb_out:        the MSB (or MSB/2) of the DAC data is connected to the
- *                     SIGN BIT OUT pin. en_div2 controls whether it is the MSB
- *                     or MSB/2 that is output. if en_signbit_msb_out=false,
- *                     the on-board comparator is connected to SIGN BIT OUT
- */
-
-struct ad9834_platform_data {
-       unsigned int            mclk;
-       unsigned int            freq0;
-       unsigned int            freq1;
-       unsigned short          phase0;
-       unsigned short          phase1;
-       bool                    en_div2;
-       bool                    en_signbit_msb_out;
-};
-
 #endif /* IIO_DDS_AD9834_H_ */