From nobody Mon Oct 6 01:23:41 2025 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D27731F0E55 for ; Sun, 27 Jul 2025 08:31:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753605119; cv=none; b=MSFJxStdu75UVpdXrTvLHoDFwBEUQ2OZwfPrsDBnsgWbPwPkIoTQfBPOCvWJDZRxfaw+zyh2DgIY9o6yq7hbZzvmch+V6ZVfp079b9LVUy29iwGIDtwlGyTuhBGRevCUPGSu3zcYk51KMmYEYcK2OJSyuyUQhZ1ew7yB5W0Vl7Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753605119; c=relaxed/simple; bh=NM5eUwufs9EQvxyH72fi6ouw9HbAH6xIggTFFBsajLc=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=qPrgJwbFr6na+ObX90P8wBZWQ+GVwmZgGMZSAUsKVw3loRCGobtkzIglS4UtxEi/h28eQibRKDPTeiBUhlW1r+8LtzHEsmgCDif8lUGF0aWuAkhFeKdh1bYR6AuTf0rXTFVyABP2OMeGfLX4xStgDJOigE5ANgdbcDooY+O8cjw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=I13M0/0y; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="I13M0/0y" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 56R5t03l004030 for ; Sun, 27 Jul 2025 08:31:51 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=AcwNi5jqAVS vH8zvGbAgdOcfk3Kkt+F28Tzsi0VVD74=; b=I13M0/0yu7CcEcdijMsbuKAb+Io liLBfBX8mE9pIsxnm7cA0XPlRLmEtJKgEud1LHxD6v62CMdmIsjel1VMYlC+raJ/ HhhM016Kns3opK9CfDrb+QcmdV9R/IdwmzAYiZ8rAE/dUEEwawZ9EZ+FpJK5bwLl Xkl1kFuG0sw6Bx0BZV94EmRRaDPdCbcvm2w1kU1NqcKIYUs7vkGyra0MdfouG4lL U5eXLuCM0LMZ3oX1x2isFDRP0yPvDF8x3325aCC0XBpUL3tg31ABHORIsid4nXtF C8imaHfccmHNLePZLJBvFLWLimbARJQMF6fngCwlzHQXh+/QGYrfnQkPxsg== Received: from mail-pl1-f198.google.com (mail-pl1-f198.google.com [209.85.214.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 484q3xhubb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sun, 27 Jul 2025 08:31:51 +0000 (GMT) Received: by mail-pl1-f198.google.com with SMTP id d9443c01a7336-234f1acc707so31444435ad.3 for ; Sun, 27 Jul 2025 01:31:51 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753605110; x=1754209910; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=AcwNi5jqAVSvH8zvGbAgdOcfk3Kkt+F28Tzsi0VVD74=; b=HSvoSdEtoi8pjTBeVahTZvMU/gzsvV5feUQMWNih4nH4sc1xHpttGox2ktbOPSaiPy Ybem+/9Y5tT0LncOnfMfTwvybX6lBiqrYS91bjSRdTJCvp+h52soj8k4zlvQUvcebIkn Kfosp+ULEZHoIgiQ5g24eg3b0L40zlA3n3er3d7snaDRhYaeED5m8vd49VQZOhRnVb7J VMhCn3vJ09qrYCnIab4zhcjMTGhfk9cTVfAqJuu9ywglz4snmk76JG5QlGWr2otr4WW+ uQ6wqkA24aFZwomLP5Zar5pCfj/y9TsgwNVGRMrIWGur26+RfhEvDj7Ur1EORfxOWrEV c2Qw== X-Forwarded-Encrypted: i=1; AJvYcCUnmylo06WewFufAQwlVR2vxmyhZZ5nWyGEeOzIUeSxsUs85+4/LQnlTAw5Jg5x2kLZNEZJDuMJkVhf2i0=@vger.kernel.org X-Gm-Message-State: AOJu0YwQtxgYDSukm/Oy85z6lycIreNbBOsTnFgEx1d02SnYvIm+bx56 hmtFbm+DG7mJC0SL4ZgS3iXq7Nylkxvydvmv9svwXNwGunZGYx4SfAwj+3SB3DP31HNzcGPPW+A 3GBrUAqW7BdHmcPo55BobqCt3c27ejWp3C2VqGe8hvgi5uAZ/JeEzSWPfvF3Ky4w6Pvs= X-Gm-Gg: ASbGncv3ZoK+WE1QoxBKUujCHMIg1yKmR45mgFLdMufuzkwM2uP9kIzeALvZkTWMsva SSkYPXJJqXq9/w51PnSAaOP3uutark5km4u69Xlp0wfWY1/6ijXES7xbUUsRmK1IMUxp2xRG48X lvmVDHNjBWF0fOdJc0oPjjTE0Ga0Lz3pi+B29uM194gTIWjk7VdZ4cSKzADFAm6ySqVYpvbFgI3 BQW7/EhwxFpRcDbuYxNe7uo1vM34z6dutE8dEnfBn37S4m/tpPINGxlIsgJQgWKBgQeCEo7osz1 A8iWbfpPDWGhsQBhcxr0yj5qITZXUCKPpc5Itl5eTihpaAGf9rEI/5nyFHul2woQawWtoG5Ugwb 5 X-Received: by 2002:a17:902:c9c4:b0:240:9ff:d546 with SMTP id d9443c01a7336-24009ffd7f9mr10052515ad.6.1753605110185; Sun, 27 Jul 2025 01:31:50 -0700 (PDT) X-Google-Smtp-Source: AGHT+IERPCA3gFX6YamqhgdGjO1m2DVjgSysrzz5AvHQkC6e/zWEA9GvZU/sr+aJlTkVRUIhwXmMMg== X-Received: by 2002:a17:902:c9c4:b0:240:9ff:d546 with SMTP id d9443c01a7336-24009ffd7f9mr10052185ad.6.1753605109738; Sun, 27 Jul 2025 01:31:49 -0700 (PDT) Received: from hu-mohs-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2401866c2c3sm2848645ad.30.2025.07.27.01.31.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Jul 2025 01:31:49 -0700 (PDT) From: Mohammad Rafi Shaik To: Srinivas Kandagatla , Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jaroslav Kysela , Takashi Iwai , Philipp Zabel , Linus Walleij , Bartosz Golaszewski Cc: linux-arm-msm@vger.kernel.org, linux-sound@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, quic_pkumpatl@quicinc.com, kernel@oss.qualcomm.com, Krzysztof Kozlowski Subject: [PATCH v3 1/3] ASoC: dt-bindings: qcom,wsa8830: Add reset-gpios for shared line Date: Sun, 27 Jul 2025 14:01:15 +0530 Message-Id: <20250727083117.2415725-2-mohammad.rafi.shaik@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250727083117.2415725-1-mohammad.rafi.shaik@oss.qualcomm.com> References: <20250727083117.2415725-1-mohammad.rafi.shaik@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Authority-Analysis: v=2.4 cv=JovxrN4C c=1 sm=1 tr=0 ts=6885e3f7 cx=c_pps a=MTSHoo12Qbhz2p7MsH1ifg==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=Wb1JkmetP80A:10 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=Jjn-4_SfM33dySwp1_gA:9 a=GvdueXVYPmCkWapjIL-Q:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: MpOF4ILxfXcrzKm34nU_omfuxQdykwMw X-Proofpoint-GUID: MpOF4ILxfXcrzKm34nU_omfuxQdykwMw X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzI3MDA3MyBTYWx0ZWRfXwTNxJwxVvntV 7tjjSLF+wHDfQiCeiX11p3ocIKoFXHk/GNVl5m9OSrZclneC9DQT5Klxn/WPJTizaiLfj2bLnhi ObBR653/ya6+h9aA2ovUXsPgA3oOf/rAx1DhL48xeU3VJbrEOjfVPPssoYEqzh0NaUdg+ujMRXN EGMnL8g5jesG9Era6zasl7CcTohh/51iS5zmXbCIp59rX8cqcK/xiVZLmW/vO9qaG4Mzc3GryZs O/vzh13p6QEobO/Mh8zR9wNWPBjR7PjrrwQmKtiOqiJodqPJB9LQxH3YMnZFdfV0Yh6sdIfzqkG Jwx6OKJQMbcbQVz00d8Di3VjzO/9Pe58OHsBsuhR0YQv0LeWM/O5jxwOdAI+EKVN1A8u0OJFxa1 m2vIQtLJ7jMirDRfLf0m/HAD6BNNMOy9hxTiuth8bW8nPmb5iR0q+xHBRS9nanchembdCcgS X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-07-27_03,2025-07-24_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 clxscore=1015 priorityscore=1501 bulkscore=0 impostorscore=0 lowpriorityscore=0 phishscore=0 suspectscore=0 spamscore=0 mlxlogscore=999 mlxscore=0 adultscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2507270073 Content-Type: text/plain; charset="utf-8" On Qualcomm platforms such as QCS6490-RB3Gen2, the WSA883x speaker amplifiers share the SD_N GPIO line between two speakers, thus requires coordinated control when asserting the GPIO. Linux supports shared GPIO handling via the "reset-gpios" property, which can be used to specify either the powerdown or reset GPIOs. Reviewed-by: Krzysztof Kozlowski Signed-off-by: Mohammad Rafi Shaik --- .../devicetree/bindings/sound/qcom,wsa883x.yaml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/sound/qcom,wsa883x.yaml b/Do= cumentation/devicetree/bindings/sound/qcom,wsa883x.yaml index 14d312f9c345..098f1df62c8c 100644 --- a/Documentation/devicetree/bindings/sound/qcom,wsa883x.yaml +++ b/Documentation/devicetree/bindings/sound/qcom,wsa883x.yaml @@ -29,6 +29,10 @@ properties: description: GPIO spec for Powerdown/Shutdown line to use (pin SD_N) maxItems: 1 =20 + reset-gpios: + description: Powerdown/Shutdown line to use (pin SD_N) + maxItems: 1 + vdd-supply: description: VDD Supply for the Codec =20 @@ -50,10 +54,15 @@ required: - compatible - reg - vdd-supply - - powerdown-gpios - "#thermal-sensor-cells" - "#sound-dai-cells" =20 +oneOf: + - required: + - powerdown-gpios + - required: + - reset-gpios + unevaluatedProperties: false =20 examples: --=20 2.34.1 From nobody Mon Oct 6 01:23:41 2025 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D90231F03C7 for ; Sun, 27 Jul 2025 08:31:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753605118; cv=none; b=hpKrCNIaXKIwTGqCRfxBxzHsVJGgzHu7q3CRMNrNvD3tub7X/fj0flyzLKoKgr5cPytvUMCGA25WT2SkcXPazvzpkVe+bMFhNQV2SHqQHmsEEBY+jF9mu7mYZcIf79E1YncndxXPT8IyapSF4mgqLfUVpKJuzXN4bKAxK9yiBcc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753605118; c=relaxed/simple; bh=KS66tluy4UNZlmHCFuA1cw30RD0JWLP8MtnyXo+u9GA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=pJxmRomLy3e9HPAFKiHP5srjzemg62I/PDwnHmOqeTIoC0lB9Yws5EnB6iEl2X1ZNlO+P1M2LCMFxU5FX4kQYEj/B7NrKJlpjGJ7viYa0UY9Dt2RKAaeRxVKQy3nF7KI9NcE/+mkxAB2Cpkv2OW0NDG++OmTd4DW6o5HOv2pvcw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=R9yhgxtj; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="R9yhgxtj" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 56R2uQ4X027602 for ; Sun, 27 Jul 2025 08:31:56 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=cMKigYxoZi3 tizeIAUWIbs/u9lcIMeC06tjZsjaEh/w=; b=R9yhgxtj8p2SJHFnhQziYYWVcu5 Tg1pBXHiHwN+ScVb4Gt85ZZzCx0WU+ujkY9l31oWNucuo5htmwIzDLBKaM7H26Rm lmsKKxLmpvp/161Ug5RQ+ONdqi1PncV+fhwKQMTLoBp2gaKH3LTMEZ2fmU2WrnOt +BOVXn/F9f3yhGfNLiloE++IRbcXdPPnh7Za5XrnABtSst6CEYoJ/BtNRPWA3/t/ I/CVBlkID9fJSR60wKqcdKkzjsMGId8cqiWXEOIF9AVXZHmuxa+r+d5LlRdIaQJk m9Hcd+m2TjnnOhzHRuI/rj2LXavl2eblxcYXy3/VJnMsISdxiKSeFPvaEMA== Received: from mail-pg1-f198.google.com (mail-pg1-f198.google.com [209.85.215.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 484r6qhs9v-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sun, 27 Jul 2025 08:31:56 +0000 (GMT) Received: by mail-pg1-f198.google.com with SMTP id 41be03b00d2f7-b38d8ee46a5so3130512a12.1 for ; Sun, 27 Jul 2025 01:31:55 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753605115; x=1754209915; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=cMKigYxoZi3tizeIAUWIbs/u9lcIMeC06tjZsjaEh/w=; b=HvftJf/Fuf833c9Elkpc9rjOLokRcl2CLWxVlK7jQaEqpsQ/shJBL2IaUx0F51qNp7 7leGe5E+Y0Y6Z0RG7a/DlbmGvmQg2S3LZ+1fVRmQX7hfIDcqeEiyUKmoy1MHiIL1qTR7 zdyyYPkwCEOQ2kgq8eY5g0sBGdF+Tf/u782o2WaALdPVQc9g5R05d6iBiB/AYJUmz/vf YCOaTJbD5RBjAK2/dYaJfB7jnzlOBPO8aaEHytHY4rQz855l+kWFiUeBE8Q0fHif0OYE nyMl/HqjTEAsRHmjBvxRQsYt0QK3a/TUyo9zhN4sy9ml35CS5ZK2Z/XASV4DQHBCVQV8 giVg== X-Forwarded-Encrypted: i=1; AJvYcCVlb71Bq4Uy8W8ObjYUc2e3iJcsIbSfCMgFcelL4xn5Q0yUIrdEC6BQXmRYVccFPuLePcFWPP3DQfSLoO0=@vger.kernel.org X-Gm-Message-State: AOJu0YwoIyYPZJiz/ttuQUyw+S7nHLVl88ah4J3VIXvORAUYwEGF4b5G NtFvfizowX0lEVOsbTE6xBT8hoqNzlrn/+G53TFg70l4GcgnvUHeP4DFOhpMuY8mDX4KeNb/Zq0 aD0gA6FCKOOWYzrdT1JrjxLdI7LNuwl51KsXyd1G3WJckJjfOzH/XS5jVdTHH0PfZ0z0= X-Gm-Gg: ASbGncv5aQM85pj9Nzwyae0qnKVBzijEFTKUylVwoIvDy4dXfdeTPxwmWMc4OhfGV1b HkqZ1vzERLjqWaRy+S+DDL/14pyxRc7Wz3hHaAJE2C4cl6UbuuaN2ICWKr935OoojV4mcWO0Ex2 v8TiyrlPj7dXdzFOaY2Sw+89jxI2aYBSXiP/ey8egMg2jGziPfRBn7Ck6pZCAPUaTKDNpkmJTf1 rkBRrq82PTV69ikmnt6Q8J/f1EMN/lmWc7VYj2D1xaTwoiPyRybBckbF+u1hiyZ1GQIPNNdUrn+ Iviu0F6oOw+pTYB8L8fJyAQZlKPJbf0GR2V9fJrEDXu8JcqztsQtKyTjyAqjUPazwbNqEcZExwO f X-Received: by 2002:a17:903:1cb:b0:231:9817:6ec1 with SMTP id d9443c01a7336-23fb2b9994dmr119238155ad.17.1753605115059; Sun, 27 Jul 2025 01:31:55 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHQLeWWGe0S+6T/div3h9wg1voIC4vD+r6Hk3Ex4qK4VN/YEmTNOdFlLef3X4nDqrDugTV+ZA== X-Received: by 2002:a17:903:1cb:b0:231:9817:6ec1 with SMTP id d9443c01a7336-23fb2b9994dmr119237915ad.17.1753605114619; Sun, 27 Jul 2025 01:31:54 -0700 (PDT) Received: from hu-mohs-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2401866c2c3sm2848645ad.30.2025.07.27.01.31.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Jul 2025 01:31:54 -0700 (PDT) From: Mohammad Rafi Shaik To: Srinivas Kandagatla , Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jaroslav Kysela , Takashi Iwai , Philipp Zabel , Linus Walleij , Bartosz Golaszewski Cc: linux-arm-msm@vger.kernel.org, linux-sound@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, quic_pkumpatl@quicinc.com, kernel@oss.qualcomm.com Subject: [PATCH v3 2/3] ASoC: codecs: wsa883x: Add devm action to safely disable regulator on device removal Date: Sun, 27 Jul 2025 14:01:16 +0530 Message-Id: <20250727083117.2415725-3-mohammad.rafi.shaik@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250727083117.2415725-1-mohammad.rafi.shaik@oss.qualcomm.com> References: <20250727083117.2415725-1-mohammad.rafi.shaik@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzI3MDA3MCBTYWx0ZWRfX7dU+THT9UCMs p561oJAJgzBxOkrPaO8heAxiLU5rJ3doMHy8uGj8Zp2lWosvD6QSNF5vMjz3L7ghXKOb11sU9og 3h6lmOOAB0NNHL1L1qLBkRPKPjPEPHu8L6eM1BppBCYo8beQ3pjar163XzjKco7T3JByw/LQ4Pb 5Eot92crLy4m1ILgUj8CnicMQ9Bntah6omdAJq+AB4OOg82qOTUKalYHg9cscKRQSbL3VHDgXH7 sFLw/mZNzfellQHI6ogjLkofPVEWf7LHMKV83FFpuD7u0nAVL/pyL51Un98m5vdK3qbtHklwOi4 P1uShi4OTUIjaKZd1VEHl0T4K1KJpDwuxMhy3+M+LQiniGIQbRpE2SUlwbcsemBXyEnkmIFlvJX GQNZ+p5Ge65r9uo0/X3VxoN6VeUBqhjOsspB0ZmgMdIRSDQdtXE55rLo3aJTIZiojQNBxj/6 X-Proofpoint-ORIG-GUID: fSVJk_n5SYBzrWom8ZesUqJE8H5aRmEg X-Authority-Analysis: v=2.4 cv=ea89f6EH c=1 sm=1 tr=0 ts=6885e3fc cx=c_pps a=Qgeoaf8Lrialg5Z894R3/Q==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=Wb1JkmetP80A:10 a=EUspDBNiAAAA:8 a=Jm80cirAj_4qYY6Vn38A:9 a=x9snwWr2DeNwDh03kgHS:22 X-Proofpoint-GUID: fSVJk_n5SYBzrWom8ZesUqJE8H5aRmEg X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-07-27_03,2025-07-24_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 priorityscore=1501 impostorscore=0 lowpriorityscore=0 phishscore=0 malwarescore=0 suspectscore=0 bulkscore=0 adultscore=0 clxscore=1015 spamscore=0 mlxlogscore=999 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2507270070 Content-Type: text/plain; charset="utf-8" To prevent potential warnings from _regulator_put() during device removal, register a devm-managed cleanup action using devm_add_action_or_reset() to safely disable the regulator associated with the WSA883x codec, ensuring that the regulator is properly disabled when the device is removed, even if the probe fails or the driver is unloaded unexpectedly. Signed-off-by: Mohammad Rafi Shaik --- sound/soc/codecs/wsa883x.c | 44 ++++++++++++++++++++++---------------- 1 file changed, 25 insertions(+), 19 deletions(-) diff --git a/sound/soc/codecs/wsa883x.c b/sound/soc/codecs/wsa883x.c index 188363b03b93..d5bc71b28a3a 100644 --- a/sound/soc/codecs/wsa883x.c +++ b/sound/soc/codecs/wsa883x.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -1546,6 +1547,13 @@ static const struct hwmon_chip_info wsa883x_hwmon_ch= ip_info =3D { .info =3D wsa883x_hwmon_info, }; =20 +static void wsa883x_regulator_disable(void *data) +{ + struct wsa883x_priv *wsa883x =3D data; + + regulator_disable(wsa883x->vdd); +} + static int wsa883x_probe(struct sdw_slave *pdev, const struct sdw_device_id *id) { @@ -1566,13 +1574,20 @@ static int wsa883x_probe(struct sdw_slave *pdev, if (ret) return dev_err_probe(dev, ret, "Failed to enable vdd regulator\n"); =20 + /* + * Register devm action to safely disable the regulator on device removal. + * This prevents a potential release warning from _regulator_put(). + */ + ret =3D devm_add_action_or_reset(dev, wsa883x_regulator_disable, + wsa883x); + if (ret) + return ret; + wsa883x->sd_n =3D devm_gpiod_get_optional(dev, "powerdown", GPIOD_FLAGS_BIT_NONEXCLUSIVE | GPIOD_OUT_HIGH); - if (IS_ERR(wsa883x->sd_n)) { - ret =3D dev_err_probe(dev, PTR_ERR(wsa883x->sd_n), - "Shutdown Control GPIO not found\n"); - goto err; - } + if (IS_ERR(wsa883x->sd_n)) + return dev_err_probe(dev, PTR_ERR(wsa883x->sd_n), + "Shutdown Control GPIO not found\n"); =20 dev_set_drvdata(dev, wsa883x); wsa883x->slave =3D pdev; @@ -1598,12 +1613,9 @@ static int wsa883x_probe(struct sdw_slave *pdev, gpiod_direction_output(wsa883x->sd_n, 0); =20 wsa883x->regmap =3D devm_regmap_init_sdw(pdev, &wsa883x_regmap_config); - if (IS_ERR(wsa883x->regmap)) { - gpiod_direction_output(wsa883x->sd_n, 1); - ret =3D dev_err_probe(dev, PTR_ERR(wsa883x->regmap), - "regmap_init failed\n"); - goto err; - } + if (IS_ERR(wsa883x->regmap)) + return dev_err_probe(dev, PTR_ERR(wsa883x->regmap), + "regmap_init failed\n"); =20 if (IS_REACHABLE(CONFIG_HWMON)) { struct device *hwmon; @@ -1623,16 +1635,10 @@ static int wsa883x_probe(struct sdw_slave *pdev, pm_runtime_set_active(dev); pm_runtime_enable(dev); =20 - ret =3D devm_snd_soc_register_component(dev, - &wsa883x_component_drv, + return devm_snd_soc_register_component(dev, + &wsa883x_component_drv, wsa883x_dais, ARRAY_SIZE(wsa883x_dais)); -err: - if (ret) - regulator_disable(wsa883x->vdd); - - return ret; - } =20 static int wsa883x_runtime_suspend(struct device *dev) --=20 2.34.1 From nobody Mon Oct 6 01:23:41 2025 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A764E1FC0E2 for ; Sun, 27 Jul 2025 08:32:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753605123; cv=none; b=c+pUXRAiQqoimrZ4cnsH5OtWOLQQl+UQYHt4vL0igf8uKV4Tk6Lp6b4K8NXHlMVsOtSNKClEQLukLh2MBiTUaEB11ELcg6LVST+wh0pT0ghlc51sV4nXfhrMguIQZvSobiOyE/b+TA9+uddLKb+Cy7Gr9e60hDwGSKfltioYKrk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753605123; c=relaxed/simple; bh=+9bKbsOHOv6HUfFTojTu52PpIyeGZIM2BjFmGx8IJRQ=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Ti5SSnRWy2Q4CTB8m8efZbg/u2IglvvAVAfK8h8+1JYGn2BqyAKx/l4ft/srG+9FcPcd1isx8Yb/9euulwd9gzt696mv88o7vmZ/Nu2jSPDCAHaQoUEyLnUYyhbflLwFfcyaiEgk02RkdEUr1g6/yKmN/lJq8+1LH/sV8w82WMc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=HPefPEc/; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="HPefPEc/" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 56R5jiYU013201 for ; Sun, 27 Jul 2025 08:32:01 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=RZd0XO7FU/P /QgQIeS4PXIVz6WnhkQsNSg2RESxcNiY=; b=HPefPEc/95TVL6F6Rrg5jVJV650 g1MwDGN3Sm/N+vLf0WpA4ttQrZfQ5trD8GZpqnLCsIqidja9jq/oB9bJ4K/SiD7x tCxeUwKep3XEZ/tkF9+Mm0tX/KULxpo6xWUkTE4OJucVhJh6HF54arRLkhVSE0V9 O0fZfGOO4iYv8uTUMFUby1ImZ+XFXYAnSYbeTo1HQxOZN9G4P125guG7YLebzZCz 0pi7JCfCilCXUI0rHbISq6Rq0A0+7d1iavroPvRYwhlNnNCqQf38roprCUTqdcQP 4ElAr6B+6BttW2hhAe1OlgDjQ9cojkSiW4yyGetX9FiXVR5GNSq63vMyB4Q== Received: from mail-pg1-f198.google.com (mail-pg1-f198.google.com [209.85.215.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 484qsk1t1p-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sun, 27 Jul 2025 08:32:00 +0000 (GMT) Received: by mail-pg1-f198.google.com with SMTP id 41be03b00d2f7-b2c37558eccso2270891a12.1 for ; Sun, 27 Jul 2025 01:32:00 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753605120; x=1754209920; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=RZd0XO7FU/P/QgQIeS4PXIVz6WnhkQsNSg2RESxcNiY=; b=v7SB/B/ZVWm8bRbtmqIg92QbHjkWkLKmAUNLe+KypCLslGaGFk/c4aww63V1yXU7HG ct3xr6IzUZvu3ywcMNdi47xAxxBs68kIpl00OHRnZ+pfE4Em3hiW5tAnYSfv6+N28rDn sZXTj+vtXj+LrYiTE5f0CSTG8oORtQsueOK9fWSvffKmGPMdrAYeziW2apF0HfHaWYDi Of11LcdVihByx5R823DbaFS7TgEairwJUNHgtR1qZS6GOrGEp6Efij4xn6VlimDXuNEP t9J+4HUXPPsyn/GkHDdje1sQlKJk8LsfEjWNVljxDiGsCr3cr7qk060JJDFtPGauuB91 Qimg== X-Forwarded-Encrypted: i=1; AJvYcCVDNN7OL6hPUQ0FeY2mGlkyY42MArjvjhu7BMAfm8bgQYoZ5g0R8He1F/sR4XF7A5sG3f12UoUr74mclEM=@vger.kernel.org X-Gm-Message-State: AOJu0YzWkEHX0gDZVxwz6sjmglPO9F7CSx7t41MKTwoUpwADmcpbXPpy obNve4XYk0YmqwOjlm4fa9HGLYfxxGhKvC697u95ldyRnYyBZ+MdrvRFqN02Du61Hr+IeXAMcAa guHrdLoYS+njGceg1c+VMxkRswLKZhpj+lG7BnqdOvCkKR7/w0+hWMVlVeczUh3wIyhE= X-Gm-Gg: ASbGncv0MrXkXAcsoJMdoDhQmtAz3HRaNQQcqhTQdSlqBzYYZyS1IhdseBoETRj+88t 7dKcluTRAsbigKsTfobkJv4oq7t7K93cqsWypb1pBUlMvVs6umuqMaSlBf29UnBQfzoACjnFjSc gKQG1cDsm5ogWNp/i4M2TS74LNWjgtJ//Qm7hEuhyCZCOe4g4zFG2DRgQNQ7T4oRxPwX2cPUhDN v5V1EvieqSQYpGZwTloRQYVLMKH8HqBcr4CZUD7g1qcBJC3hXPOa6+m6Wx5K/B+HU7CzQdhOE+B EmUrk6bvV6CPxxQTlRfSawNv3iHUu8dovQrcbrzBpH+3zH1umx6cANxSqDNwXkh0gG7lHJyFtg/ 2 X-Received: by 2002:a17:902:fc8d:b0:23f:fa7c:7129 with SMTP id d9443c01a7336-23ffa7c7345mr26119135ad.25.1753605119921; Sun, 27 Jul 2025 01:31:59 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGYL40jaLo95RgGHJ+Xssx0AAZaURi7P8YVF5vPE2C+sA20mi+8Arqz6EQswYNjlnFFzFdgKg== X-Received: by 2002:a17:902:fc8d:b0:23f:fa7c:7129 with SMTP id d9443c01a7336-23ffa7c7345mr26118815ad.25.1753605119458; Sun, 27 Jul 2025 01:31:59 -0700 (PDT) Received: from hu-mohs-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2401866c2c3sm2848645ad.30.2025.07.27.01.31.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Jul 2025 01:31:59 -0700 (PDT) From: Mohammad Rafi Shaik To: Srinivas Kandagatla , Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jaroslav Kysela , Takashi Iwai , Philipp Zabel , Linus Walleij , Bartosz Golaszewski Cc: linux-arm-msm@vger.kernel.org, linux-sound@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, quic_pkumpatl@quicinc.com, kernel@oss.qualcomm.com Subject: [PATCH v3 3/3] ASoC: codecs: wsa883x: Handle shared reset GPIO for WSA883x speakers Date: Sun, 27 Jul 2025 14:01:17 +0530 Message-Id: <20250727083117.2415725-4-mohammad.rafi.shaik@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250727083117.2415725-1-mohammad.rafi.shaik@oss.qualcomm.com> References: <20250727083117.2415725-1-mohammad.rafi.shaik@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Authority-Analysis: v=2.4 cv=KdDSsRYD c=1 sm=1 tr=0 ts=6885e400 cx=c_pps a=Qgeoaf8Lrialg5Z894R3/Q==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=Wb1JkmetP80A:10 a=EUspDBNiAAAA:8 a=pGReym1pqKqKmaA-xlUA:9 a=x9snwWr2DeNwDh03kgHS:22 X-Proofpoint-GUID: 2JdVz4M53MwcCN_qht2BTYR-wdjouY1E X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzI3MDA3MyBTYWx0ZWRfXxXDSYzBDFwdQ uuF5M+UZC3lppC05/87n1DPjBoJGIjOaEL0NF6++VN7KqlcvLTBJuvrJpoUKbIzL/s4EoCLCPNu p6XlDSA3EBTM0CirO4kLphv0WI4rSBL+lyACgAdvqgmSNjORS3lIg7EWns8tQxSpP7a1BAe+nhC hbDVaCPWZdTT1A0+LXiRqmbXnlC78b2+9xo7+nmnHQAGSeekYuGnlDcdy1M9XvLmzMamYbwN3Nd 8wCLnwCnnKsuL2bSSlvBC1M7hNswPielZzAXOtQCY+hPBKXsflIDKMKD6OYqG03wmo2Hj6zVlxD HkGQwslSlnIRbFgNqedu+KCdNAHidQAGX8zZl3K8+oQcbq0BV+740BkmdsSMTvwOt+qOQ0nsNtP q7lzn06G+dcNssWCHmVcn8G3VuRAFZ5TwtISsHJaRCGH8EqWuxt7BBoeVSIVQclpcSI6BWjT X-Proofpoint-ORIG-GUID: 2JdVz4M53MwcCN_qht2BTYR-wdjouY1E X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-07-27_03,2025-07-24_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 impostorscore=0 mlxscore=0 spamscore=0 bulkscore=0 adultscore=0 priorityscore=1501 malwarescore=0 mlxlogscore=999 lowpriorityscore=0 phishscore=0 clxscore=1015 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2507270073 Content-Type: text/plain; charset="utf-8" On some Qualcomm platforms such as QCS6490-RB3Gen2, the multiple WSA8830/WSA8835 speakers share a common reset (shutdown) GPIO. To handle such cases, use the reset controller framework along with the "reset-gpio" driver. Signed-off-by: Mohammad Rafi Shaik --- sound/soc/codecs/wsa883x.c | 55 +++++++++++++++++++++++++++++++++----- 1 file changed, 49 insertions(+), 6 deletions(-) diff --git a/sound/soc/codecs/wsa883x.c b/sound/soc/codecs/wsa883x.c index d5bc71b28a3a..0acf111f9583 100644 --- a/sound/soc/codecs/wsa883x.c +++ b/sound/soc/codecs/wsa883x.c @@ -469,6 +469,7 @@ struct wsa883x_priv { struct sdw_stream_runtime *sruntime; struct sdw_port_config port_config[WSA883X_MAX_SWR_PORTS]; struct gpio_desc *sd_n; + struct reset_control *sd_reset; bool port_prepared[WSA883X_MAX_SWR_PORTS]; bool port_enable[WSA883X_MAX_SWR_PORTS]; int active_ports; @@ -1547,6 +1548,24 @@ static const struct hwmon_chip_info wsa883x_hwmon_ch= ip_info =3D { .info =3D wsa883x_hwmon_info, }; =20 +static void wsa883x_reset_assert(void *data) +{ + struct wsa883x_priv *wsa883x =3D data; + + if (wsa883x->sd_reset) + reset_control_assert(wsa883x->sd_reset); + else + gpiod_direction_output(wsa883x->sd_n, 1); +} + +static void wsa883x_reset_deassert(struct wsa883x_priv *wsa883x) +{ + if (wsa883x->sd_reset) + reset_control_deassert(wsa883x->sd_reset); + else + gpiod_direction_output(wsa883x->sd_n, 0); +} + static void wsa883x_regulator_disable(void *data) { struct wsa883x_priv *wsa883x =3D data; @@ -1554,6 +1573,28 @@ static void wsa883x_regulator_disable(void *data) regulator_disable(wsa883x->vdd); } =20 +static int wsa883x_get_reset(struct device *dev, struct wsa883x_priv *wsa8= 83x) +{ + wsa883x->sd_reset =3D devm_reset_control_get_optional_shared_deasserted(d= ev, NULL); + if (IS_ERR(wsa883x->sd_reset)) + return dev_err_probe(dev, PTR_ERR(wsa883x->sd_reset), + "Failed to get reset\n"); + /* + * if sd_reset: NULL, so use the backwards compatible way for powerdown-g= pios, + * which does not handle sharing GPIO properly. + */ + if (!wsa883x->sd_reset) { + wsa883x->sd_n =3D devm_gpiod_get_optional(dev, "powerdown", + GPIOD_FLAGS_BIT_NONEXCLUSIVE | + GPIOD_OUT_HIGH); + if (IS_ERR(wsa883x->sd_n)) + return dev_err_probe(dev, PTR_ERR(wsa883x->sd_n), + "Shutdown Control GPIO not found\n"); + } + + return 0; +} + static int wsa883x_probe(struct sdw_slave *pdev, const struct sdw_device_id *id) { @@ -1583,11 +1624,9 @@ static int wsa883x_probe(struct sdw_slave *pdev, if (ret) return ret; =20 - wsa883x->sd_n =3D devm_gpiod_get_optional(dev, "powerdown", - GPIOD_FLAGS_BIT_NONEXCLUSIVE | GPIOD_OUT_HIGH); - if (IS_ERR(wsa883x->sd_n)) - return dev_err_probe(dev, PTR_ERR(wsa883x->sd_n), - "Shutdown Control GPIO not found\n"); + ret =3D wsa883x_get_reset(dev, wsa883x); + if (ret) + return ret; =20 dev_set_drvdata(dev, wsa883x); wsa883x->slave =3D pdev; @@ -1610,7 +1649,11 @@ static int wsa883x_probe(struct sdw_slave *pdev, pdev->prop.simple_clk_stop_capable =3D true; pdev->prop.sink_dpn_prop =3D wsa_sink_dpn_prop; pdev->prop.scp_int1_mask =3D SDW_SCP_INT1_BUS_CLASH | SDW_SCP_INT1_PARITY; - gpiod_direction_output(wsa883x->sd_n, 0); + + wsa883x_reset_deassert(wsa883x); + ret =3D devm_add_action_or_reset(dev, wsa883x_reset_assert, wsa883x); + if (ret) + return ret; =20 wsa883x->regmap =3D devm_regmap_init_sdw(pdev, &wsa883x_regmap_config); if (IS_ERR(wsa883x->regmap)) --=20 2.34.1