@@ -103,50 +103,53 @@ struct max14001_state {
103103
104104static  int  max14001_spi_read (struct  max14001_state  * st , u16  reg , int  * val )
105105{
106- 	u16  rx , reversed ;
107- 	u16  tx  =  0 ;
106+ 	u16  rx , tx  =  0 ;
108107	int  ret ;
109108
110- 	dev_info (& st -> spi -> dev , "%s: reg: %x, val: %x\n" , __func__ , reg , * val );
111- 
112109	tx  |= FIELD_PREP (MAX14001_MASK_ADDR , reg );
113110	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 );
123130
124131	return  ret ;
125132}
126133
127134static  int  max14001_spi_write (struct  max14001_state  * st , u16  reg , u16  val )
128135{
129- 	struct   spi_transfer   xfer ;
136+ 	u16   tx   =   0 ;
130137	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 );
139138
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 ));
150153	if  (ret  <  0 )
151154		return  ret ;
152155
@@ -222,22 +225,19 @@ static int max14001_read_raw(struct iio_dev *indio_dev,
222225	switch  (mask ) {
223226	case  IIO_CHAN_INFO_RAW :
224227		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 );
226228		if  (ret  <  0 )
227229			return  ret ;
228230
229231		return  IIO_VAL_INT ;
230232	case  IIO_CHAN_INFO_AVERAGE_RAW :
231233		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 );
233234		if  (ret  <  0 )
234235			return  ret ;
235236
236237		return  IIO_VAL_INT ;
237238	case  IIO_CHAN_INFO_SCALE :
238239		* val  =  st -> vref_mv ;
239240		* val2  =  10 ;
240- 		dev_info (& st -> spi -> dev , "%s: IIO_CHAN_INFO_SCALE: val: %d, val2: %d\n" , __func__ , * val , * val2 );
241241
242242		return  IIO_VAL_FRACTIONAL_LOG2 ;
243243	}
@@ -277,8 +277,8 @@ static int max14001_probe(struct spi_device *spi)
277277	struct  device  * dev  =  & spi -> dev ;
278278	struct  max14001_state  * st ;
279279	struct  iio_dev  * indio_dev ;
280- 	bool  current_channel  =  false;
281280	int  ret ;
281+ 	bool  current_channel  =  false;
282282
283283	info  =  spi_get_device_match_data (spi );
284284	if  (!dev )
@@ -307,18 +307,11 @@ static int max14001_probe(struct spi_device *spi)
307307	ret  =  devm_regulator_get_enable_read_voltage (dev , "vrefin" );
308308	if  (ret  <  0 ) {
309309		st -> vref_mv  =  1250000  / 1000 ;
310- 		dev_info (& st -> spi -> dev , "%s: vrefin not found. vref_mv %d\n" , __func__ , st -> vref_mv );
311310	} else  {
312311		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 ;
320312	}
321313
314+ 	current_channel  =  device_property_read_bool (dev , "current-channel" );
322315	if  (current_channel ) {
323316		indio_dev -> channels  =  max14001_channel_current ;
324317		indio_dev -> num_channels  =  ARRAY_SIZE (max14001_channel_current );
@@ -327,8 +320,6 @@ static int max14001_probe(struct spi_device *spi)
327320		indio_dev -> num_channels  =  ARRAY_SIZE (max14001_channel_voltage );
328321	}
329322
330- 	dev_info (& st -> spi -> dev , "%s: probe\n" , __func__ );
331- 
332323	/* Write the appropriate verification registers values to clear the 
333324	 * failed memory validation (MV Fault) 
334325	 */ 
0 commit comments