mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	power: supply: bq25890_charger: Add debugging output of failed initialization
To ease adding a new part variant some debugging is handy. Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org> Signed-off-by: Angus Ainslie (Purism) <angus@akkea.ca> Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
This commit is contained in:
		
							parent
							
								
									7b38ebdf74
								
							
						
					
					
						commit
						9d9ae3414d
					
				
					 1 changed files with 18 additions and 5 deletions
				
			
		| 
						 | 
				
			
			@ -608,30 +608,40 @@ static int bq25890_hw_init(struct bq25890_device *bq)
 | 
			
		|||
	};
 | 
			
		||||
 | 
			
		||||
	ret = bq25890_chip_reset(bq);
 | 
			
		||||
	if (ret < 0)
 | 
			
		||||
	if (ret < 0) {
 | 
			
		||||
		dev_dbg(bq->dev, "Reset failed %d\n", ret);
 | 
			
		||||
		return ret;
 | 
			
		||||
	};
 | 
			
		||||
 | 
			
		||||
	/* disable watchdog */
 | 
			
		||||
	ret = bq25890_field_write(bq, F_WD, 0);
 | 
			
		||||
	if (ret < 0)
 | 
			
		||||
	if (ret < 0) {
 | 
			
		||||
		dev_dbg(bq->dev, "Disabling watchdog failed %d\n", ret);
 | 
			
		||||
		return ret;
 | 
			
		||||
	};
 | 
			
		||||
 | 
			
		||||
	/* initialize currents/voltages and other parameters */
 | 
			
		||||
	for (i = 0; i < ARRAY_SIZE(init_data); i++) {
 | 
			
		||||
		ret = bq25890_field_write(bq, init_data[i].id,
 | 
			
		||||
					  init_data[i].value);
 | 
			
		||||
		if (ret < 0)
 | 
			
		||||
		if (ret < 0) {
 | 
			
		||||
			dev_dbg(bq->dev, "Writing init data failed %d\n", ret);
 | 
			
		||||
			return ret;
 | 
			
		||||
		};
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* Configure ADC for continuous conversions. This does not enable it. */
 | 
			
		||||
	ret = bq25890_field_write(bq, F_CONV_RATE, 1);
 | 
			
		||||
	if (ret < 0)
 | 
			
		||||
	if (ret < 0) {
 | 
			
		||||
		dev_dbg(bq->dev, "Config ADC failed %d\n", ret);
 | 
			
		||||
		return ret;
 | 
			
		||||
	};
 | 
			
		||||
 | 
			
		||||
	ret = bq25890_get_chip_state(bq, &state);
 | 
			
		||||
	if (ret < 0)
 | 
			
		||||
	if (ret < 0) {
 | 
			
		||||
		dev_dbg(bq->dev, "Get state failed %d\n", ret);
 | 
			
		||||
		return ret;
 | 
			
		||||
	};
 | 
			
		||||
 | 
			
		||||
	mutex_lock(&bq->lock);
 | 
			
		||||
	bq->state = state;
 | 
			
		||||
| 
						 | 
				
			
			@ -767,6 +777,9 @@ static int bq25890_fw_read_u32_props(struct bq25890_device *bq)
 | 
			
		|||
			if (props[i].optional)
 | 
			
		||||
				continue;
 | 
			
		||||
 | 
			
		||||
			dev_err(bq->dev, "Unable to read property %d %s\n", ret,
 | 
			
		||||
				props[i].name);
 | 
			
		||||
 | 
			
		||||
			return ret;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue