@@ -103,50 +103,53 @@ struct max14001_state {
103
103
104
104
static int max14001_spi_read (struct max14001_state * st , u16 reg , int * val )
105
105
{
106
- u16 rx , reversed ;
107
- u16 tx = 0 ;
106
+ u16 rx , tx = 0 ;
108
107
int ret ;
109
108
110
- dev_info (& st -> spi -> dev , "%s: reg: %x, val: %x\n" , __func__ , reg , * val );
111
-
112
109
tx |= FIELD_PREP (MAX14001_MASK_ADDR , reg );
113
110
tx |= FIELD_PREP (MAX14001_MASK_WR , MAX14001_REG_READ );
114
- reversed = bitrev16 (tx );
115
-
116
- ret = spi_write_then_read (st -> spi , & reversed , 2 , & rx , 2 );
117
- if (ret < 0 )
118
- return ret ;
119
-
120
- /* TODO: Validate this line in the hw, could be le16_to_cpu */
121
- reversed = bitrev16 (be16_to_cpu (rx ));
122
- * val = FIELD_GET (MAX14001_MASK_DATA , reversed );
111
+ tx = bitrev16 (tx );
112
+
113
+ struct spi_transfer xfer [] = {
114
+ {
115
+ .tx_buf = & tx ,
116
+ .len = sizeof (tx ),
117
+ .bits_per_word = 16 ,
118
+ .cs_change = 1 ,
119
+ },
120
+ {
121
+ .rx_buf = & rx ,
122
+ .len = sizeof (rx ),
123
+ .bits_per_word = 16 ,
124
+ },
125
+ };
126
+ ret = spi_sync_transfer (st -> spi , xfer , ARRAY_SIZE (xfer ));
127
+
128
+ rx = bitrev16 (rx );
129
+ * val = FIELD_GET (MAX14001_MASK_DATA , rx );
123
130
124
131
return ret ;
125
132
}
126
133
127
134
static int max14001_spi_write (struct max14001_state * st , u16 reg , u16 val )
128
135
{
129
- struct spi_transfer xfer ;
136
+ u16 tx = 0 ;
130
137
int ret ;
131
- u16 tx , reversed ;
132
- u16 msg = 0 ;
133
-
134
- dev_info (& st -> spi -> dev , "%s: reg: %x, val: %x\n" , __func__ , reg , val );
135
-
136
- msg |= FIELD_PREP (MAX14001_MASK_ADDR , reg );
137
- msg |= FIELD_PREP (MAX14001_MASK_WR , MAX14001_REG_WRITE );
138
- msg |= FIELD_PREP (MAX14001_MASK_DATA , val );
139
138
140
- reversed = bitrev16 (msg );
141
- /* TODO: Validate this line in the hw, could be put_unaligned_le16 */
142
- put_unaligned_be16 (reversed , & tx );
143
-
144
- xfer .tx_buf = & tx ;
145
- xfer .len = sizeof (tx );
146
-
147
- dev_info (& st -> spi -> dev , "%s: msg: %x, tx: %x\n" , __func__ , msg , tx );
148
-
149
- ret = spi_sync_transfer (st -> spi , & xfer , 1 );
139
+ tx |= FIELD_PREP (MAX14001_MASK_ADDR , reg );
140
+ tx |= FIELD_PREP (MAX14001_MASK_WR , MAX14001_REG_WRITE );
141
+ tx |= FIELD_PREP (MAX14001_MASK_DATA , val );
142
+ tx = bitrev16 (tx );
143
+
144
+ struct spi_transfer xfer [] = {
145
+ {
146
+ .tx_buf = & tx ,
147
+ .len = sizeof (tx ),
148
+ .bits_per_word = 16 ,
149
+ },
150
+ };
151
+
152
+ ret = spi_sync_transfer (st -> spi , xfer , ARRAY_SIZE (xfer ));
150
153
if (ret < 0 )
151
154
return ret ;
152
155
@@ -222,22 +225,19 @@ static int max14001_read_raw(struct iio_dev *indio_dev,
222
225
switch (mask ) {
223
226
case IIO_CHAN_INFO_RAW :
224
227
ret = max14001_spi_read (st , MAX14001_REG_ADC , val );
225
- dev_info (& st -> spi -> dev , "%s: IIO_CHAN_INFO_RAW: channel: %d, val: %d\n" , __func__ , chan -> channel , * val );
226
228
if (ret < 0 )
227
229
return ret ;
228
230
229
231
return IIO_VAL_INT ;
230
232
case IIO_CHAN_INFO_AVERAGE_RAW :
231
233
ret = max14001_spi_read (st , MAX14001_REG_FADC , val );
232
- dev_info (& st -> spi -> dev , "%s: IIO_CHAN_INFO_AVERAGE_RAW: channel: %d, val: %d\n" , __func__ , chan -> channel , * val );
233
234
if (ret < 0 )
234
235
return ret ;
235
236
236
237
return IIO_VAL_INT ;
237
238
case IIO_CHAN_INFO_SCALE :
238
239
* val = st -> vref_mv ;
239
240
* val2 = 10 ;
240
- dev_info (& st -> spi -> dev , "%s: IIO_CHAN_INFO_SCALE: val: %d, val2: %d\n" , __func__ , * val , * val2 );
241
241
242
242
return IIO_VAL_FRACTIONAL_LOG2 ;
243
243
}
@@ -277,8 +277,8 @@ static int max14001_probe(struct spi_device *spi)
277
277
struct device * dev = & spi -> dev ;
278
278
struct max14001_state * st ;
279
279
struct iio_dev * indio_dev ;
280
- bool current_channel = false;
281
280
int ret ;
281
+ bool current_channel = false;
282
282
283
283
info = spi_get_device_match_data (spi );
284
284
if (!dev )
@@ -307,18 +307,11 @@ static int max14001_probe(struct spi_device *spi)
307
307
ret = devm_regulator_get_enable_read_voltage (dev , "vrefin" );
308
308
if (ret < 0 ) {
309
309
st -> vref_mv = 1250000 / 1000 ;
310
- dev_info (& st -> spi -> dev , "%s: vrefin not found. vref_mv %d\n" , __func__ , st -> vref_mv );
311
310
} else {
312
311
st -> vref_mv = ret / 1000 ;
313
- dev_info (& st -> spi -> dev , "%s: vrefin found. vref_mv %d\n" , __func__ , st -> vref_mv );
314
- }
315
-
316
- for_each_available_child_of_node_scoped (spi -> dev .of_node , child ) {
317
- current_channel = of_property_read_bool (child , "current-channel" );
318
- if (current_channel )
319
- break ;
320
312
}
321
313
314
+ current_channel = device_property_read_bool (dev , "current-channel" );
322
315
if (current_channel ) {
323
316
indio_dev -> channels = max14001_channel_current ;
324
317
indio_dev -> num_channels = ARRAY_SIZE (max14001_channel_current );
@@ -327,8 +320,6 @@ static int max14001_probe(struct spi_device *spi)
327
320
indio_dev -> num_channels = ARRAY_SIZE (max14001_channel_voltage );
328
321
}
329
322
330
- dev_info (& st -> spi -> dev , "%s: probe\n" , __func__ );
331
-
332
323
/* Write the appropriate verification registers values to clear the
333
324
* failed memory validation (MV Fault)
334
325
*/
0 commit comments