diff options
author | John Hsu <supercraig0719@gmail.com> | 2017-06-21 22:41:51 -0400 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2017-06-23 08:02:10 -0400 |
commit | 403d2fef06104275dd4909d2684c86aabe25c917 (patch) | |
tree | 0a5ffd3ab6c5257d1d7db5b427323ead0f8ddfcb | |
parent | 2ea659a9ef488125eb46da6eb571de5eae5c43f6 (diff) |
ASoC: nau8825: default value for property
Assign default value for codec private data when property not given.
If without those default value and property, the codec will work
abnormally.
Signed-off-by: John Hsu <KCHSU0@nuvoton.com>
Signed-off-by: John Hsu <supercraig0719@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r-- | sound/soc/codecs/nau8825.c | 53 |
1 files changed, 41 insertions, 12 deletions
diff --git a/sound/soc/codecs/nau8825.c b/sound/soc/codecs/nau8825.c index 97fbeba9498f..c00b86dd80dc 100644 --- a/sound/soc/codecs/nau8825.c +++ b/sound/soc/codecs/nau8825.c | |||
@@ -2429,6 +2429,7 @@ static void nau8825_print_device_properties(struct nau8825 *nau8825) | |||
2429 | 2429 | ||
2430 | static int nau8825_read_device_properties(struct device *dev, | 2430 | static int nau8825_read_device_properties(struct device *dev, |
2431 | struct nau8825 *nau8825) { | 2431 | struct nau8825 *nau8825) { |
2432 | int ret; | ||
2432 | 2433 | ||
2433 | nau8825->jkdet_enable = device_property_read_bool(dev, | 2434 | nau8825->jkdet_enable = device_property_read_bool(dev, |
2434 | "nuvoton,jkdet-enable"); | 2435 | "nuvoton,jkdet-enable"); |
@@ -2436,30 +2437,58 @@ static int nau8825_read_device_properties(struct device *dev, | |||
2436 | "nuvoton,jkdet-pull-enable"); | 2437 | "nuvoton,jkdet-pull-enable"); |
2437 | nau8825->jkdet_pull_up = device_property_read_bool(dev, | 2438 | nau8825->jkdet_pull_up = device_property_read_bool(dev, |
2438 | "nuvoton,jkdet-pull-up"); | 2439 | "nuvoton,jkdet-pull-up"); |
2439 | device_property_read_u32(dev, "nuvoton,jkdet-polarity", | 2440 | ret = device_property_read_u32(dev, "nuvoton,jkdet-polarity", |
2440 | &nau8825->jkdet_polarity); | 2441 | &nau8825->jkdet_polarity); |
2441 | device_property_read_u32(dev, "nuvoton,micbias-voltage", | 2442 | if (ret) |
2443 | nau8825->jkdet_polarity = 1; | ||
2444 | ret = device_property_read_u32(dev, "nuvoton,micbias-voltage", | ||
2442 | &nau8825->micbias_voltage); | 2445 | &nau8825->micbias_voltage); |
2443 | device_property_read_u32(dev, "nuvoton,vref-impedance", | 2446 | if (ret) |
2447 | nau8825->micbias_voltage = 6; | ||
2448 | ret = device_property_read_u32(dev, "nuvoton,vref-impedance", | ||
2444 | &nau8825->vref_impedance); | 2449 | &nau8825->vref_impedance); |
2445 | device_property_read_u32(dev, "nuvoton,sar-threshold-num", | 2450 | if (ret) |
2451 | nau8825->vref_impedance = 2; | ||
2452 | ret = device_property_read_u32(dev, "nuvoton,sar-threshold-num", | ||
2446 | &nau8825->sar_threshold_num); | 2453 | &nau8825->sar_threshold_num); |
2447 | device_property_read_u32_array(dev, "nuvoton,sar-threshold", | 2454 | if (ret) |
2455 | nau8825->sar_threshold_num = 4; | ||
2456 | ret = device_property_read_u32_array(dev, "nuvoton,sar-threshold", | ||
2448 | nau8825->sar_threshold, nau8825->sar_threshold_num); | 2457 | nau8825->sar_threshold, nau8825->sar_threshold_num); |
2449 | device_property_read_u32(dev, "nuvoton,sar-hysteresis", | 2458 | if (ret) { |
2459 | nau8825->sar_threshold[0] = 0x08; | ||
2460 | nau8825->sar_threshold[1] = 0x12; | ||
2461 | nau8825->sar_threshold[2] = 0x26; | ||
2462 | nau8825->sar_threshold[3] = 0x73; | ||
2463 | } | ||
2464 | ret = device_property_read_u32(dev, "nuvoton,sar-hysteresis", | ||
2450 | &nau8825->sar_hysteresis); | 2465 | &nau8825->sar_hysteresis); |
2451 | device_property_read_u32(dev, "nuvoton,sar-voltage", | 2466 | if (ret) |
2467 | nau8825->sar_hysteresis = 0; | ||
2468 | ret = device_property_read_u32(dev, "nuvoton,sar-voltage", | ||
2452 | &nau8825->sar_voltage); | 2469 | &nau8825->sar_voltage); |
2453 | device_property_read_u32(dev, "nuvoton,sar-compare-time", | 2470 | if (ret) |
2471 | nau8825->sar_voltage = 6; | ||
2472 | ret = device_property_read_u32(dev, "nuvoton,sar-compare-time", | ||
2454 | &nau8825->sar_compare_time); | 2473 | &nau8825->sar_compare_time); |
2455 | device_property_read_u32(dev, "nuvoton,sar-sampling-time", | 2474 | if (ret) |
2475 | nau8825->sar_compare_time = 1; | ||
2476 | ret = device_property_read_u32(dev, "nuvoton,sar-sampling-time", | ||
2456 | &nau8825->sar_sampling_time); | 2477 | &nau8825->sar_sampling_time); |
2457 | device_property_read_u32(dev, "nuvoton,short-key-debounce", | 2478 | if (ret) |
2479 | nau8825->sar_sampling_time = 1; | ||
2480 | ret = device_property_read_u32(dev, "nuvoton,short-key-debounce", | ||
2458 | &nau8825->key_debounce); | 2481 | &nau8825->key_debounce); |
2459 | device_property_read_u32(dev, "nuvoton,jack-insert-debounce", | 2482 | if (ret) |
2483 | nau8825->key_debounce = 3; | ||
2484 | ret = device_property_read_u32(dev, "nuvoton,jack-insert-debounce", | ||
2460 | &nau8825->jack_insert_debounce); | 2485 | &nau8825->jack_insert_debounce); |
2461 | device_property_read_u32(dev, "nuvoton,jack-eject-debounce", | 2486 | if (ret) |
2487 | nau8825->jack_insert_debounce = 7; | ||
2488 | ret = device_property_read_u32(dev, "nuvoton,jack-eject-debounce", | ||
2462 | &nau8825->jack_eject_debounce); | 2489 | &nau8825->jack_eject_debounce); |
2490 | if (ret) | ||
2491 | nau8825->jack_eject_debounce = 0; | ||
2463 | 2492 | ||
2464 | nau8825->mclk = devm_clk_get(dev, "mclk"); | 2493 | nau8825->mclk = devm_clk_get(dev, "mclk"); |
2465 | if (PTR_ERR(nau8825->mclk) == -EPROBE_DEFER) { | 2494 | if (PTR_ERR(nau8825->mclk) == -EPROBE_DEFER) { |