11 #include <linux/types.h>
13 #include <linux/device.h>
15 #include <linux/slab.h>
17 #include <linux/module.h>
22 #define DRV_NAME "ad9951"
28 #define OSKEN (1 << 1)
29 #define LOAD_ARR (1 << 2)
31 #define AUTO_SYNC (1 << 7)
34 #define SDIO_IPT (1 << 1)
35 #define CLR_PHA (1 << 2)
36 #define SINE_OPT (1 << 4)
37 #define ACLR_PHA (1 << 5)
39 #define VCO_RANGE (1 << 2)
41 #define CRS_OPT (1 << 1)
42 #define HMANU_SYNC (1 << 2)
43 #define HSPD_SYNC (1 << 3)
74 spi_message_init(&msg);
75 spi_message_add_tail(&xfer, &msg);
83 spi_message_init(&msg);
84 spi_message_add_tail(&xfer, &msg);
92 spi_message_init(&msg);
93 spi_message_add_tail(&xfer, &msg);
101 spi_message_init(&msg);
102 spi_message_add_tail(&xfer, &msg);
109 return ret ? ret : len;
132 spi_message_init(&
msg);
133 spi_message_add_tail(&xfer, &
msg);
146 spi_message_init(&
msg);
147 spi_message_add_tail(&xfer, &
msg);
159 static struct attribute *ad9951_attributes[] = {
160 &iio_dev_attr_dds.dev_attr.attr,
165 .attrs = ad9951_attributes,
168 static const struct iio_info ad9951_info = {
169 .attrs = &ad9951_attribute_group,
184 spi_set_drvdata(spi, idev);
189 idev->
dev.parent = &spi->
dev;
191 idev->
info = &ad9951_info;
224 .probe = ad9951_probe,