diff options
Diffstat (limited to 'sound/soc/codecs/cs35l35.c')
| -rw-r--r-- | sound/soc/codecs/cs35l35.c | 11 | 
1 files changed, 11 insertions, 0 deletions
diff --git a/sound/soc/codecs/cs35l35.c b/sound/soc/codecs/cs35l35.c index 9f4a59871cee..c71696146c5e 100644 --- a/sound/soc/codecs/cs35l35.c +++ b/sound/soc/codecs/cs35l35.c @@ -1635,6 +1635,16 @@ err:  	return ret;  } +static int cs35l35_i2c_remove(struct i2c_client *i2c_client) +{ +	struct cs35l35_private *cs35l35 = i2c_get_clientdata(i2c_client); + +	regulator_bulk_disable(cs35l35->num_supplies, cs35l35->supplies); +	gpiod_set_value_cansleep(cs35l35->reset_gpio, 0); + +	return 0; +} +  static const struct of_device_id cs35l35_of_match[] = {  	{.compatible = "cirrus,cs35l35"},  	{}, @@ -1655,6 +1665,7 @@ static struct i2c_driver cs35l35_i2c_driver = {  	},  	.id_table = cs35l35_id,  	.probe = cs35l35_i2c_probe, +	.remove = cs35l35_i2c_remove,  };  module_i2c_driver(cs35l35_i2c_driver);  |