cs53l30           922 sound/soc/codecs/cs53l30.c 	struct cs53l30_private *cs53l30;
cs53l30           928 sound/soc/codecs/cs53l30.c 	cs53l30 = devm_kzalloc(dev, sizeof(*cs53l30), GFP_KERNEL);
cs53l30           929 sound/soc/codecs/cs53l30.c 	if (!cs53l30)
cs53l30           932 sound/soc/codecs/cs53l30.c 	for (i = 0; i < ARRAY_SIZE(cs53l30->supplies); i++)
cs53l30           933 sound/soc/codecs/cs53l30.c 		cs53l30->supplies[i].supply = cs53l30_supply_names[i];
cs53l30           935 sound/soc/codecs/cs53l30.c 	ret = devm_regulator_bulk_get(dev, ARRAY_SIZE(cs53l30->supplies),
cs53l30           936 sound/soc/codecs/cs53l30.c 				      cs53l30->supplies);
cs53l30           942 sound/soc/codecs/cs53l30.c 	ret = regulator_bulk_enable(ARRAY_SIZE(cs53l30->supplies),
cs53l30           943 sound/soc/codecs/cs53l30.c 				    cs53l30->supplies);
cs53l30           950 sound/soc/codecs/cs53l30.c 	cs53l30->reset_gpio = devm_gpiod_get_optional(dev, "reset",
cs53l30           952 sound/soc/codecs/cs53l30.c 	if (IS_ERR(cs53l30->reset_gpio)) {
cs53l30           953 sound/soc/codecs/cs53l30.c 		ret = PTR_ERR(cs53l30->reset_gpio);
cs53l30           957 sound/soc/codecs/cs53l30.c 	gpiod_set_value_cansleep(cs53l30->reset_gpio, 1);
cs53l30           959 sound/soc/codecs/cs53l30.c 	i2c_set_clientdata(client, cs53l30);
cs53l30           961 sound/soc/codecs/cs53l30.c 	cs53l30->mclk_rate = 0;
cs53l30           963 sound/soc/codecs/cs53l30.c 	cs53l30->regmap = devm_regmap_init_i2c(client, &cs53l30_regmap);
cs53l30           964 sound/soc/codecs/cs53l30.c 	if (IS_ERR(cs53l30->regmap)) {
cs53l30           965 sound/soc/codecs/cs53l30.c 		ret = PTR_ERR(cs53l30->regmap);
cs53l30           971 sound/soc/codecs/cs53l30.c 	ret = regmap_read(cs53l30->regmap, CS53L30_DEVID_AB, &reg);
cs53l30           974 sound/soc/codecs/cs53l30.c 	ret = regmap_read(cs53l30->regmap, CS53L30_DEVID_CD, &reg);
cs53l30           977 sound/soc/codecs/cs53l30.c 	ret = regmap_read(cs53l30->regmap, CS53L30_DEVID_E, &reg);
cs53l30           987 sound/soc/codecs/cs53l30.c 	ret = regmap_read(cs53l30->regmap, CS53L30_REVID, &reg);
cs53l30           994 sound/soc/codecs/cs53l30.c 	cs53l30->mclk = devm_clk_get(dev, "mclk");
cs53l30           995 sound/soc/codecs/cs53l30.c 	if (IS_ERR(cs53l30->mclk)) {
cs53l30           996 sound/soc/codecs/cs53l30.c 		if (PTR_ERR(cs53l30->mclk) != -ENOENT) {
cs53l30           997 sound/soc/codecs/cs53l30.c 			ret = PTR_ERR(cs53l30->mclk);
cs53l30          1001 sound/soc/codecs/cs53l30.c 		cs53l30->mclk = NULL;
cs53l30          1005 sound/soc/codecs/cs53l30.c 	cs53l30->mute_gpio = devm_gpiod_get_optional(dev, "mute",
cs53l30          1007 sound/soc/codecs/cs53l30.c 	if (IS_ERR(cs53l30->mute_gpio)) {
cs53l30          1008 sound/soc/codecs/cs53l30.c 		ret = PTR_ERR(cs53l30->mute_gpio);
cs53l30          1012 sound/soc/codecs/cs53l30.c 	if (cs53l30->mute_gpio) {
cs53l30          1014 sound/soc/codecs/cs53l30.c 		regmap_write(cs53l30->regmap, CS53L30_MUTEP_CTL1,
cs53l30          1017 sound/soc/codecs/cs53l30.c 		if (gpiod_is_active_low(cs53l30->mute_gpio))
cs53l30          1018 sound/soc/codecs/cs53l30.c 			regmap_update_bits(cs53l30->regmap, CS53L30_MUTEP_CTL2,
cs53l30          1023 sound/soc/codecs/cs53l30.c 		regmap_update_bits(cs53l30->regmap, CS53L30_MICBIAS_CTL,
cs53l30          1027 sound/soc/codecs/cs53l30.c 		cs53l30->use_sdout2 = true;
cs53l30          1040 sound/soc/codecs/cs53l30.c 	regulator_bulk_disable(ARRAY_SIZE(cs53l30->supplies),
cs53l30          1041 sound/soc/codecs/cs53l30.c 			       cs53l30->supplies);
cs53l30          1047 sound/soc/codecs/cs53l30.c 	struct cs53l30_private *cs53l30 = i2c_get_clientdata(client);
cs53l30          1050 sound/soc/codecs/cs53l30.c 	gpiod_set_value_cansleep(cs53l30->reset_gpio, 0);
cs53l30          1052 sound/soc/codecs/cs53l30.c 	regulator_bulk_disable(ARRAY_SIZE(cs53l30->supplies),
cs53l30          1053 sound/soc/codecs/cs53l30.c 			       cs53l30->supplies);
cs53l30          1061 sound/soc/codecs/cs53l30.c 	struct cs53l30_private *cs53l30 = dev_get_drvdata(dev);
cs53l30          1063 sound/soc/codecs/cs53l30.c 	regcache_cache_only(cs53l30->regmap, true);
cs53l30          1066 sound/soc/codecs/cs53l30.c 	gpiod_set_value_cansleep(cs53l30->reset_gpio, 0);
cs53l30          1068 sound/soc/codecs/cs53l30.c 	regulator_bulk_disable(ARRAY_SIZE(cs53l30->supplies),
cs53l30          1069 sound/soc/codecs/cs53l30.c 			       cs53l30->supplies);
cs53l30          1076 sound/soc/codecs/cs53l30.c 	struct cs53l30_private *cs53l30 = dev_get_drvdata(dev);
cs53l30          1079 sound/soc/codecs/cs53l30.c 	ret = regulator_bulk_enable(ARRAY_SIZE(cs53l30->supplies),
cs53l30          1080 sound/soc/codecs/cs53l30.c 				    cs53l30->supplies);
cs53l30          1086 sound/soc/codecs/cs53l30.c 	gpiod_set_value_cansleep(cs53l30->reset_gpio, 1);
cs53l30          1088 sound/soc/codecs/cs53l30.c 	regcache_cache_only(cs53l30->regmap, false);
cs53l30          1089 sound/soc/codecs/cs53l30.c 	ret = regcache_sync(cs53l30->regmap);