aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/nfc/trf7970a.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/nfc/trf7970a.c')
-rw-r--r--drivers/nfc/trf7970a.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/nfc/trf7970a.c b/drivers/nfc/trf7970a.c
index 3b78b031e617..5355d0e4c045 100644
--- a/drivers/nfc/trf7970a.c
+++ b/drivers/nfc/trf7970a.c
@@ -1251,6 +1251,12 @@ static int trf7970a_get_autosuspend_delay(struct device_node *np)
1251 return autosuspend_delay; 1251 return autosuspend_delay;
1252} 1252}
1253 1253
1254static int trf7970a_get_vin_voltage_override(struct device_node *np,
1255 u32 *vin_uvolts)
1256{
1257 return of_property_read_u32(np, "vin-voltage-override", vin_uvolts);
1258}
1259
1254static int trf7970a_probe(struct spi_device *spi) 1260static int trf7970a_probe(struct spi_device *spi)
1255{ 1261{
1256 struct device_node *np = spi->dev.of_node; 1262 struct device_node *np = spi->dev.of_node;
@@ -1326,7 +1332,9 @@ static int trf7970a_probe(struct spi_device *spi)
1326 goto err_destroy_lock; 1332 goto err_destroy_lock;
1327 } 1333 }
1328 1334
1329 uvolts = regulator_get_voltage(trf->regulator); 1335 ret = trf7970a_get_vin_voltage_override(np, &uvolts);
1336 if (ret)
1337 uvolts = regulator_get_voltage(trf->regulator);
1330 1338
1331 if (uvolts > 4000000) 1339 if (uvolts > 4000000)
1332 trf->chip_status_ctrl = TRF7970A_CHIP_STATUS_VRS5_3; 1340 trf->chip_status_ctrl = TRF7970A_CHIP_STATUS_VRS5_3;