diff options
Diffstat (limited to 'drivers/nfc/trf7970a.c')
-rw-r--r-- | drivers/nfc/trf7970a.c | 10 |
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 | ||
1254 | static 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 | |||
1254 | static int trf7970a_probe(struct spi_device *spi) | 1260 | static 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; |