aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Hsu <supercraig0719@gmail.com>2017-06-21 22:41:51 -0400
committerMark Brown <broonie@kernel.org>2017-06-23 08:02:10 -0400
commit403d2fef06104275dd4909d2684c86aabe25c917 (patch)
tree0a5ffd3ab6c5257d1d7db5b427323ead0f8ddfcb
parent2ea659a9ef488125eb46da6eb571de5eae5c43f6 (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.c53
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
2430static int nau8825_read_device_properties(struct device *dev, 2430static 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) {