.. | .. |
---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-only |
---|
1 | 2 | /* |
---|
2 | 3 | * ADAU1977/ADAU1978/ADAU1979 driver |
---|
3 | 4 | * |
---|
4 | 5 | * Copyright 2014 Analog Devices Inc. |
---|
5 | 6 | * Author: Lars-Peter Clausen <lars@metafoo.de> |
---|
6 | | - * |
---|
7 | | - * Licensed under the GPL-2. |
---|
8 | 7 | */ |
---|
9 | 8 | |
---|
10 | 9 | #include <linux/delay.h> |
---|
.. | .. |
---|
885 | 884 | struct adau1977_platform_data *pdata = adau1977->dev->platform_data; |
---|
886 | 885 | unsigned int micbias; |
---|
887 | 886 | |
---|
888 | | - if (pdata) { |
---|
| 887 | + if (pdata) |
---|
889 | 888 | micbias = pdata->micbias; |
---|
890 | | - if (micbias > ADAU1977_MICBIAS_9V0) |
---|
891 | | - return -EINVAL; |
---|
892 | | - |
---|
893 | | - } else { |
---|
| 889 | + else if (device_property_read_u32(adau1977->dev, "adi,micbias", |
---|
| 890 | + &micbias)) |
---|
894 | 891 | micbias = ADAU1977_MICBIAS_8V5; |
---|
| 892 | + |
---|
| 893 | + if (micbias > ADAU1977_MICBIAS_9V0) { |
---|
| 894 | + dev_err(adau1977->dev, "Invalid value for 'adi,micbias'\n"); |
---|
| 895 | + return -EINVAL; |
---|
895 | 896 | } |
---|
896 | 897 | |
---|
897 | 898 | return regmap_update_bits(adau1977->regmap, ADAU1977_REG_MICBIAS, |
---|