From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-dl1-f52.google.com (mail-dl1-f52.google.com [74.125.82.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0AD2B3264D3 for ; Wed, 4 Mar 2026 05:01:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.52 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772600480; cv=none; b=UM5gVrByC4FMgGqkgmmaws64wW+tI7/dko5cyrZzSH2hyV/0CiWALMob2xbxLkG7sgxEjJgpoztg2uHGIR56Cvp5DFJ1ywdloex7q+cj/QZFlh5GsW/Ome0+sti3SWFuA/eyeqr3FT7P+VaYttYfeMiwMa8350sIdC9FHA6oYp4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772600480; c=relaxed/simple; bh=q900SxARa7WkotcVHjlQh+90jJwX7uIhDq9gH9l/QfU=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=G+7vyjhp5mf8x61WW5ykE4B5Awf7/ItFNJG2rMH3zbk4PfDol4A5bqOSjBlraycXVR5YWw8cNtVitOUvEZUGXibILwoHu+Rx5vGAM744rDeUhzJqUoGx7Erv8Ck06obyjXDhUHXEgZDXTiul23w51WAwQJLBb8iC5AUM90CIYuo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=noVzN0gY; arc=none smtp.client-ip=74.125.82.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="noVzN0gY" Received: by mail-dl1-f52.google.com with SMTP id a92af1059eb24-12758ce1e8dso940020c88.0 for ; Tue, 03 Mar 2026 21:01:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772600478; x=1773205278; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=l/nYbvJ2Ie/7AoV2hxQbNjt9CPBgI0NZpDJT+MhOo98=; b=noVzN0gY6eDOmqdIDzhqW7qhaHHSELHcvJObBWE3FYMEO/OLSyyhqgXb+Pu2XWdyAq LI7wT165K39bYeBeQxZE9Udgs5sijUrIh+t+s6aF2TyoYRsLi6pV3tbNoyerqGwIFUSo Qr4cym0LaZmn0aKkCdXz99pW7FlPrWk4pv4yLTG1S8MgOVtAW7GQeQ61nlIgc+HjDGCV pMmoZBG9RO5WHCegH5cDgy5EipYHDY43UJUwMTOSYbZYOqHCaNtPz5Gv3Dz13GmNCPeT rZCHThWX18UcDrkdEHrsnI94B48y60CtvMDdKHvIgEKvDn/gDGuALJmgOqFGk47pHqvw b0Xw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772600478; x=1773205278; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=l/nYbvJ2Ie/7AoV2hxQbNjt9CPBgI0NZpDJT+MhOo98=; b=QJ78IJnABLKMoBNkq7HLL7lNGwvsmuK3W/XQpYCxKJOF1XQSMJgCf+Q0aJDf3fjeBY eN3SzdBAv8WKmuuwctY+Zadc2qiSBLU1PFzk8zE5DoYvEdFs7tOR9I473V3yGYLNpDk/ v2QIObnXo56Nx6sfuiteD5ANwY/FIrUWgwCtdA7aIaMupyxCrjgmLu5ltXoyzNRMePjB CqnIVbNRZc4+w00isM9mtB+rPWAczqRjFOMitUVEkh1OkICxjH/pbdDXaDtzUYiE639W H6opSuhiNoCFECXs7KqqqhLRP4NtDUpubZsPhEnO/IpW1Md9bRz0da/s+SNhhoXyxbZH qWzw== X-Forwarded-Encrypted: i=1; AJvYcCVy77fvTVJHVUYY2h0dBBTmPYgbtaPTStoUOXM89kL6i+KpKDiBzBvTu31pUN1ljLvrrCC3IC25i4yAlEI=@vger.kernel.org X-Gm-Message-State: AOJu0Ywz22m6uV0ciUbAsBzhzgM9XGFZQY30V+XVVP6iaxMOvMq07MLM o2YBaj3Yh4LBXubCe4OFd3hSHxj+O6yShq4qyLCUTwaR0PhaZJ6nsmet X-Gm-Gg: ATEYQzx/V8y01sJ7xG2nXoY4FOy0NPEhFK8qKW084FS+uqY7Bo6lTh5xH1E2HtM1pE1 TrA6WiA/4IdukXEmZPfqFjMT/hswXpmN4YpV5sbYamhKAqlyprdNrcwS4LG2TlbcJzSZzNP8ztL aOAw5G63iVmj9IShjX5r2uMgQ7KvBbY81cmoT5xf4clq05n7ya2EFdi7AQUS0a2a0mNqzVgR20j yqzMmBdBnsl34nEzn6Yj4iiioRHPVZtBZfy3rZURpX+RGn97GcOe908iE8Vsx2GJf6p9ECsQ38i W/huUoKGMrfzwDYOuiuxdZMpAKQd8dcfQJb1EhSWgBJKsIARg1dBqWN5n6aEJAmpnKoQ9fv/q/r 1azZap2D8MPy7HOJM4RJwQiRMOpMsJzJ/2tb6kN3PJ7+ZXKZlDyL9hnI0sOVMRo3ZNUwVYXIrk7 IZlOLueoQOMSUDVb7W3V21p0ED2i5hpvRxnCZZ8m2DIPKdbPirNv7rh7XC1qJzMm3a X-Received: by 2002:a05:7022:24aa:b0:119:e569:fbb2 with SMTP id a92af1059eb24-128b70df522mr302307c88.33.1772600477988; Tue, 03 Mar 2026 21:01:17 -0800 (PST) Received: from google.com ([2a00:79e0:2ebe:8:a048:d9ec:d217:7d59]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-127899dfc47sm21528620c88.6.2026.03.03.21.01.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Mar 2026 21:01:17 -0800 (PST) Date: Tue, 3 Mar 2026 21:01:14 -0800 From: Dmitry Torokhov To: david@ixit.cz Cc: Maxime Coquelin , Alexandre Torgue , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Henrik Rydberg , Bjorn Andersson , Konrad Dybcio , Petr Hodina , linux-input@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Krzysztof Kozlowski , devicetree@vger.kernel.org, linux-arm-msm@vger.kernel.org, phone-devel@vger.kernel.org Subject: Re: [PATCH 04/10] Input: stmfts - disable regulators when power on fails Message-ID: References: <20260301-stmfts5-v1-0-22c458b9ac68@ixit.cz> <20260301-stmfts5-v1-4-22c458b9ac68@ixit.cz> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20260301-stmfts5-v1-4-22c458b9ac68@ixit.cz> On Sun, Mar 01, 2026 at 06:51:18PM +0100, David Heidelberg via B4 Relay wrote: > From: David Heidelberg > > We must power off regulators after failing at power on phase. > > Signed-off-by: David Heidelberg > --- > drivers/input/touchscreen/stmfts.c | 13 +++++++++---- > 1 file changed, 9 insertions(+), 4 deletions(-) > > diff --git a/drivers/input/touchscreen/stmfts.c b/drivers/input/touchscreen/stmfts.c > index db2dd0bb59fcc..f4e5f1b3ce796 100644 > --- a/drivers/input/touchscreen/stmfts.c > +++ b/drivers/input/touchscreen/stmfts.c > @@ -558,7 +558,7 @@ static int stmfts_power_on(struct stmfts_data *sdata) > > err = stmfts_read_system_info(sdata); > if (err) > - return err; > + goto power_off; > > enable_irq(sdata->client->irq); > > @@ -566,11 +566,11 @@ static int stmfts_power_on(struct stmfts_data *sdata) > > err = stmfts_command(sdata, STMFTS_SYSTEM_RESET); > if (err) > - return err; > + goto power_off; > > err = stmfts_command(sdata, STMFTS_SLEEP_OUT); > if (err) > - return err; > + goto power_off; > > /* optional tuning */ > err = stmfts_command(sdata, STMFTS_MS_CX_TUNING); > @@ -586,7 +586,7 @@ static int stmfts_power_on(struct stmfts_data *sdata) > > err = stmfts_command(sdata, STMFTS_FULL_FORCE_CALIBRATION); > if (err) > - return err; > + goto power_off; > > /* > * At this point no one is using the touchscreen > @@ -595,6 +595,11 @@ static int stmfts_power_on(struct stmfts_data *sdata) > (void) i2c_smbus_write_byte(sdata->client, STMFTS_SLEEP_IN); > > return 0; > + > +power_off: > + regulator_bulk_disable(ARRAY_SIZE(stmfts_supplies), > + sdata->supplies); > + return err; Maybe wrap everything below enabling the supplies into stmfts_configute() or something to avoid bunch of gotos to power off on error? Thanks. -- Dmitry