Skip to content

Commit e38f841

Browse files
ekigwanadNechita
authored andcommitted
treewide: update move to libiio 1.0i API
Signed-off-by: Edward Kigwana <ekigwana@gmail.com>
1 parent 4589ea7 commit e38f841

File tree

5 files changed

+293
-76
lines changed

5 files changed

+293
-76
lines changed

ad9361_baseband_auto_rate.c

Lines changed: 49 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -53,24 +53,34 @@ static int16_t fir_64_2[] = {
5353

5454
int ad9361_set_trx_fir_enable(struct iio_device *dev, int enable)
5555
{
56-
int ret = iio_device_attr_write_bool(dev,
57-
"in_out_voltage_filter_fir_en", !!enable);
58-
if (ret < 0)
59-
ret = iio_channel_attr_write_bool(iio_device_find_channel(dev, "out", false),
60-
"voltage_filter_fir_en", !!enable);
56+
int ret;
57+
58+
const struct iio_attr *attr = iio_device_find_attr(dev, "in_out_voltage_filter_fir_en");
59+
if (!attr) {
60+
attr = iio_channel_find_attr(iio_device_find_channel(dev, "out", false),
61+
"voltage_filter_fir_en");
62+
if (!attr)
63+
return -ENOENT;
64+
}
65+
66+
ret = iio_attr_write_bool(attr, !!enable);
6167
return ret;
6268
}
6369

6470
int ad9361_get_trx_fir_enable(struct iio_device *dev, int *enable)
6571
{
72+
int ret;
6673
bool value;
6774

68-
int ret = iio_device_attr_read_bool(dev, "in_out_voltage_filter_fir_en", &value);
69-
70-
if (ret < 0)
71-
ret = iio_channel_attr_read_bool(iio_device_find_channel(dev, "out", false),
72-
"voltage_filter_fir_en", &value);
75+
const struct iio_attr *attr = iio_device_find_attr(dev, "in_out_voltage_filter_fir_en");
76+
if (!attr) {
77+
attr = iio_channel_find_attr(iio_device_find_channel(dev, "out", false),
78+
"voltage_filter_fir_en");
79+
if (!attr)
80+
return -ENOENT;
81+
}
7382

83+
ret = iio_attr_read_bool(attr, &value);
7484
if (!ret)
7585
*enable = value;
7686

@@ -80,6 +90,7 @@ int ad9361_get_trx_fir_enable(struct iio_device *dev, int *enable)
8090
int ad9361_set_bb_rate(struct iio_device *dev, unsigned long rate)
8191
{
8292
struct iio_channel *chan;
93+
const struct iio_attr *attr;
8394
long long current_rate;
8495
int dec, taps, ret, i, enable, len = 0;
8596
int16_t *fir;
@@ -107,7 +118,11 @@ int ad9361_set_bb_rate(struct iio_device *dev, unsigned long rate)
107118
if (chan == NULL)
108119
return -ENODEV;
109120

110-
ret = iio_channel_attr_read_longlong(chan, "sampling_frequency", &current_rate);
121+
attr = iio_channel_find_attr(chan, "sampling_frequency");
122+
if (!attr)
123+
return -ENOENT;
124+
125+
ret = iio_attr_read_longlong(attr, &current_rate);
111126
if (ret < 0)
112127
return ret;
113128

@@ -117,7 +132,7 @@ int ad9361_set_bb_rate(struct iio_device *dev, unsigned long rate)
117132

118133
if (enable) {
119134
if (current_rate <= (25000000 / 12))
120-
iio_channel_attr_write_longlong(chan, "sampling_frequency", 3000000);
135+
iio_attr_write_longlong(attr, 3000000);
121136

122137
ret = ad9361_set_trx_fir_enable(dev, false);
123138
if (ret < 0)
@@ -136,7 +151,11 @@ int ad9361_set_bb_rate(struct iio_device *dev, unsigned long rate)
136151

137152
len += snprintf(buf + len, FIR_BUF_SIZE - len, "\n");
138153

139-
ret = iio_device_attr_write_raw(dev, "filter_fir_config", buf, len);
154+
attr = iio_device_find_attr(dev, "filter_fir_config");
155+
if (!attr)
156+
return -ENOENT;
157+
158+
ret = iio_attr_write_raw(attr, buf, len);
140159
free (buf);
141160

142161
if (ret < 0)
@@ -146,7 +165,11 @@ int ad9361_set_bb_rate(struct iio_device *dev, unsigned long rate)
146165
int dacrate, txrate, max;
147166
char readbuf[100];
148167

149-
ret = iio_device_attr_read_raw(dev, "tx_path_rates", readbuf, sizeof(readbuf));
168+
attr = iio_device_find_attr(dev, "tx_path_rates");
169+
if (!attr)
170+
return -ENOENT;
171+
172+
ret = iio_attr_read_raw(attr, readbuf, sizeof(readbuf));
150173
if (ret < 0)
151174
return ret;
152175
ret = sscanf(readbuf, "BBPLL:%*d DAC:%d T2:%*d T1:%*d TF:%*d TXSAMP:%d", &dacrate, &txrate);
@@ -156,18 +179,27 @@ int ad9361_set_bb_rate(struct iio_device *dev, unsigned long rate)
156179
if (txrate == 0)
157180
return -EINVAL;
158181

182+
attr = iio_channel_find_attr(chan, "sampling_frequency");
183+
if (!attr)
184+
return -ENOENT;
185+
159186
max = (dacrate / txrate) * 16;
160187
if (max < taps)
161-
iio_channel_attr_write_longlong(chan, "sampling_frequency", 3000000);
188+
iio_attr_write_longlong(attr, 3000000);
162189

163190
ret = ad9361_set_trx_fir_enable(dev, true);
164191
if (ret < 0)
165192
return ret;
166-
ret = iio_channel_attr_write_longlong(chan, "sampling_frequency", rate);
193+
194+
ret = iio_attr_write_longlong(attr, rate);
167195
if (ret < 0)
168196
return ret;
169197
} else {
170-
ret = iio_channel_attr_write_longlong(chan, "sampling_frequency", rate);
198+
attr = iio_channel_find_attr(chan, "sampling_frequency");
199+
if (!attr)
200+
return -ENOENT;
201+
202+
ret = iio_attr_write_longlong(attr, rate);
171203
if (ret < 0)
172204
return ret;
173205
ret = ad9361_set_trx_fir_enable(dev, true);

ad9361_design_taps.c

Lines changed: 44 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,7 @@ int apply_custom_filter(struct iio_device *dev, unsigned dec_tx,
210210
unsigned long wnom_tx, unsigned long wnom_rx)
211211
{
212212
struct iio_channel *chanTX, *chanRX;
213+
const struct iio_attr *attr;
213214
long long current_rate;
214215
int ret, i, enable, len = 0;
215216
char *buf;
@@ -218,7 +219,11 @@ int apply_custom_filter(struct iio_device *dev, unsigned dec_tx,
218219
if (chanTX == NULL)
219220
return -ENODEV;
220221

221-
ret = iio_channel_attr_read_longlong(chanTX, "sampling_frequency", &current_rate);
222+
attr = iio_channel_find_attr(chanTX, "sampling_frequency");
223+
if (!attr)
224+
return -ENOENT;
225+
226+
ret = iio_attr_read_longlong(attr, &current_rate);
222227
if (ret < 0)
223228
return ret;
224229

@@ -228,7 +233,7 @@ int apply_custom_filter(struct iio_device *dev, unsigned dec_tx,
228233

229234
if (enable) {
230235
if (current_rate <= (25000000 / 12))
231-
iio_channel_attr_write_longlong(chanTX, "sampling_frequency", 3000000);
236+
iio_attr_write_longlong(attr, 3000000);
232237

233238
ret = ad9361_set_trx_fir_enable(dev, false);
234239
if (ret < 0)
@@ -250,38 +255,56 @@ int apply_custom_filter(struct iio_device *dev, unsigned dec_tx,
250255

251256
len += snprintf(buf + len, FIR_BUF_SIZE - len, "\n");
252257

253-
ret = iio_device_attr_write_raw(dev, "filter_fir_config", buf, len);
258+
attr = iio_device_find_attr(dev, "filter_fir_config");
259+
if (!attr)
260+
return -ENOENT;
261+
262+
ret = iio_attr_write_raw(attr, buf, len);
254263
free (buf);
255264

256265
if (ret < 0)
257266
return ret;
258267

259268
if (rate <= (25000000 / 12)) {
260-
261269
int dacrate, txrate, max;
262270
char readbuf[100];
263-
ret = iio_device_attr_read_raw(dev, "tx_path_rates", readbuf, sizeof(readbuf));
271+
272+
attr = iio_device_find_attr(dev, "tx_path_rates");
273+
if (!attr)
274+
return -ENOENT;
275+
276+
ret = iio_attr_read_raw(attr, readbuf, sizeof(readbuf));
264277
if (ret < 0)
265278
return ret;
279+
266280
ret = sscanf(readbuf, "BBPLL:%*d DAC:%d T2:%*d T1:%*d TF:%*d TXSAMP:%d",
267281
&dacrate, &txrate);
268282
if (ret != 2)
269283
return -EFAULT;
284+
270285
if (txrate == 0)
271286
return -EINVAL;
287+
288+
attr = iio_channel_find_attr(chanTX, "sampling_frequency");
289+
if (!attr)
290+
return -ENOENT;
291+
272292
max = (dacrate / txrate) * 16;
273293
if (max < taps)
274-
iio_channel_attr_write_longlong(chanTX, "sampling_frequency", 3000000);
275-
294+
iio_attr_write_longlong(attr, 3000000);
276295

277296
ret = ad9361_set_trx_fir_enable(dev, true);
278297
if (ret < 0)
279298
return ret;
280-
ret = iio_channel_attr_write_longlong(chanTX, "sampling_frequency", rate);
299+
ret = iio_attr_write_longlong(attr, rate);
281300
if (ret < 0)
282301
return ret;
283302
} else {
284-
ret = iio_channel_attr_write_longlong(chanTX, "sampling_frequency", rate);
303+
attr = iio_channel_find_attr(chanTX, "sampling_frequency");
304+
if (!attr)
305+
return -ENOENT;
306+
307+
ret = iio_attr_write_longlong(attr, rate);
285308
if (ret < 0)
286309
return ret;
287310
ret = ad9361_set_trx_fir_enable(dev, true);
@@ -292,10 +315,20 @@ int apply_custom_filter(struct iio_device *dev, unsigned dec_tx,
292315
chanRX = iio_device_find_channel(dev, "voltage0", false);
293316
if (chanRX == NULL)
294317
return -ENODEV;
295-
ret = iio_channel_attr_write_longlong(chanTX, "rf_bandwidth", wnom_tx);
318+
319+
attr = iio_channel_find_attr(chanTX, "rf_bandwidth");
320+
if (!attr)
321+
return -ENOENT;
322+
323+
ret = iio_attr_write_longlong(attr, wnom_tx);
296324
if (ret < 0)
297325
return ret;
298-
ret = iio_channel_attr_write_longlong(chanRX, "rf_bandwidth", wnom_rx);
326+
327+
attr = iio_channel_find_attr(chanRX, "rf_bandwidth");
328+
if (!attr)
329+
return -ENOENT;
330+
331+
ret = iio_attr_write_longlong(attr, wnom_rx);
299332
if (ret < 0)
300333
return ret;
301334

0 commit comments

Comments
 (0)