Merge "ASoC: wcd-mbhc: Disable moisture_en when duty cycle is enabled"

This commit is contained in:
Linux Build Service Account
2019-02-27 01:15:28 -08:00
committed by Gerrit - the friendly Code Review server

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
/* Copyright (c) 2015-2019, The Linux Foundation. All rights reserved.
*/
#include <linux/module.h>
#include <linux/init.h>
@@ -850,7 +850,7 @@ static bool wcd_mbhc_moisture_detect(struct wcd_mbhc *mbhc, bool detection_type)
{
bool ret = false;
if (!mbhc->mbhc_cfg->moisture_en ||
if (!mbhc->mbhc_cfg->moisture_en &&
!mbhc->mbhc_cfg->moisture_duty_cycle_en)
return ret;
@@ -1342,9 +1342,15 @@ static int wcd_mbhc_initialise(struct wcd_mbhc *mbhc)
else
WCD_MBHC_REG_UPDATE_BITS(WCD_MBHC_HS_L_DET_PULL_UP_CTRL, 3);
/* Configure for moisture detection when duty cycle is not enabled.
* Otherwise disable moisture detection.
*/
if (mbhc->mbhc_cfg->moisture_en && mbhc->mbhc_cb->mbhc_moisture_config
&& !mbhc->mbhc_cfg->moisture_duty_cycle_en)
mbhc->mbhc_cb->mbhc_moisture_config(mbhc);
else if (mbhc->mbhc_cfg->moisture_duty_cycle_en &&
mbhc->mbhc_cb->mbhc_moisture_detect_en)
mbhc->mbhc_cb->mbhc_moisture_detect_en(mbhc, false);
/*
* For USB analog we need to override the switch configuration.