max98390.c (122cef68f1035e704ff7fe778c07d596bf5a1fa2) | max98390.c (397ff024960634962af93e9e2775fc0e4fe7de92) |
---|---|
1// SPDX-License-Identifier: GPL-2.0-or-later 2/* 3 * max98390.c -- MAX98390 ALSA Soc Audio driver 4 * 5 * Copyright (C) 2020 Maxim Integrated Products 6 * 7 */ 8 --- 1007 unchanged lines hidden (view full) --- 1016 1017static int max98390_i2c_probe(struct i2c_client *i2c) 1018{ 1019 int ret = 0; 1020 int reg = 0; 1021 1022 struct max98390_priv *max98390 = NULL; 1023 struct i2c_adapter *adapter = i2c->adapter; | 1// SPDX-License-Identifier: GPL-2.0-or-later 2/* 3 * max98390.c -- MAX98390 ALSA Soc Audio driver 4 * 5 * Copyright (C) 2020 Maxim Integrated Products 6 * 7 */ 8 --- 1007 unchanged lines hidden (view full) --- 1016 1017static int max98390_i2c_probe(struct i2c_client *i2c) 1018{ 1019 int ret = 0; 1020 int reg = 0; 1021 1022 struct max98390_priv *max98390 = NULL; 1023 struct i2c_adapter *adapter = i2c->adapter; |
1024 struct gpio_desc *reset_gpio; |
|
1024 1025 ret = i2c_check_functionality(adapter, 1026 I2C_FUNC_SMBUS_BYTE 1027 | I2C_FUNC_SMBUS_BYTE_DATA); 1028 if (!ret) { 1029 dev_err(&i2c->dev, "I2C check functionality failed\n"); 1030 return -ENXIO; 1031 } --- 35 unchanged lines hidden (view full) --- 1067 max98390->regmap = devm_regmap_init_i2c(i2c, &max98390_regmap); 1068 if (IS_ERR(max98390->regmap)) { 1069 ret = PTR_ERR(max98390->regmap); 1070 dev_err(&i2c->dev, 1071 "Failed to allocate regmap: %d\n", ret); 1072 return ret; 1073 } 1074 | 1025 1026 ret = i2c_check_functionality(adapter, 1027 I2C_FUNC_SMBUS_BYTE 1028 | I2C_FUNC_SMBUS_BYTE_DATA); 1029 if (!ret) { 1030 dev_err(&i2c->dev, "I2C check functionality failed\n"); 1031 return -ENXIO; 1032 } --- 35 unchanged lines hidden (view full) --- 1068 max98390->regmap = devm_regmap_init_i2c(i2c, &max98390_regmap); 1069 if (IS_ERR(max98390->regmap)) { 1070 ret = PTR_ERR(max98390->regmap); 1071 dev_err(&i2c->dev, 1072 "Failed to allocate regmap: %d\n", ret); 1073 return ret; 1074 } 1075 |
1076 reset_gpio = devm_gpiod_get_optional(&i2c->dev, 1077 "reset", GPIOD_OUT_HIGH); 1078 1079 /* Power on device */ 1080 if (reset_gpio) { 1081 usleep_range(1000, 2000); 1082 /* bring out of reset */ 1083 gpiod_set_value_cansleep(reset_gpio, 0); 1084 usleep_range(1000, 2000); 1085 } 1086 |
|
1075 /* Check Revision ID */ 1076 ret = regmap_read(max98390->regmap, 1077 MAX98390_R24FF_REV_ID, ®); 1078 if (ret) { 1079 dev_err(&i2c->dev, 1080 "ret=%d, Failed to read: 0x%02X\n", 1081 ret, MAX98390_R24FF_REV_ID); 1082 return ret; --- 49 unchanged lines hidden --- | 1087 /* Check Revision ID */ 1088 ret = regmap_read(max98390->regmap, 1089 MAX98390_R24FF_REV_ID, ®); 1090 if (ret) { 1091 dev_err(&i2c->dev, 1092 "ret=%d, Failed to read: 0x%02X\n", 1093 ret, MAX98390_R24FF_REV_ID); 1094 return ret; --- 49 unchanged lines hidden --- |