lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 14 Apr 2022 17:32:53 -0700
From:   Stephen Boyd <swboyd@...omium.org>
To:     Benson Leung <bleung@...omium.org>
Cc:     linux-kernel@...r.kernel.org, patches@...ts.linux.dev,
        Lee Jones <lee.jones@...aro.org>,
        Daisuke Nojiri <dnojiri@...omium.org>,
        Guenter Roeck <groeck@...omium.org>,
        chrome-platform@...ts.linux.dev
Subject: [PATCH 3/3] power: supply: PCHG: Use cros_ec_pchg_port_count()

Use the common function cros_ec_pchg_port_count() now that we only
register this device when there are a non-zero number of peripheral
charger ports.

Cc: Lee Jones <lee.jones@...aro.org>
Cc: Daisuke Nojiri <dnojiri@...omium.org>
Cc: Benson Leung <bleung@...omium.org>
Cc: Guenter Roeck <groeck@...omium.org>
Cc: <chrome-platform@...ts.linux.dev>
Signed-off-by: Stephen Boyd <swboyd@...omium.org>
---
 .../power/supply/cros_peripheral_charger.c    | 29 +------------------
 1 file changed, 1 insertion(+), 28 deletions(-)

diff --git a/drivers/power/supply/cros_peripheral_charger.c b/drivers/power/supply/cros_peripheral_charger.c
index 9fe6d826148d..98cae6580eed 100644
--- a/drivers/power/supply/cros_peripheral_charger.c
+++ b/drivers/power/supply/cros_peripheral_charger.c
@@ -104,22 +104,6 @@ static bool cros_pchg_cmd_ver_check(const struct charger_data *charger)
 	return !!(rsp.version_mask & BIT(pchg_cmd_version));
 }
 
-static int cros_pchg_port_count(const struct charger_data *charger)
-{
-	struct ec_response_pchg_count rsp;
-	int ret;
-
-	ret = cros_pchg_ec_command(charger, 0, EC_CMD_PCHG_COUNT,
-				   NULL, 0, &rsp, sizeof(rsp));
-	if (ret < 0) {
-		dev_warn(charger->dev,
-			 "Unable to get number or ports (err:%d)\n", ret);
-		return ret;
-	}
-
-	return rsp.port_count;
-}
-
 static int cros_pchg_get_status(struct port_data *port)
 {
 	struct charger_data *charger = port->charger;
@@ -281,24 +265,13 @@ static int cros_pchg_probe(struct platform_device *pdev)
 	charger->ec_dev = ec_dev;
 	charger->ec_device = ec_device;
 
-	ret = cros_pchg_port_count(charger);
-	if (ret <= 0) {
-		/*
-		 * This feature is enabled by the EC and the kernel driver is
-		 * included by default for CrOS devices. Don't need to be loud
-		 * since this error can be normal.
-		 */
-		dev_info(dev, "No peripheral charge ports (err:%d)\n", ret);
-		return -ENODEV;
-	}
-
 	if (!cros_pchg_cmd_ver_check(charger)) {
 		dev_err(dev, "EC_CMD_PCHG version %d isn't available.\n",
 			pchg_cmd_version);
 		return -EOPNOTSUPP;
 	}
 
-	num_ports = ret;
+	num_ports = cros_ec_pchg_port_count(ec_dev);
 	if (num_ports > EC_PCHG_MAX_PORTS) {
 		dev_err(dev, "Too many peripheral charge ports (%d)\n",
 			num_ports);
-- 
https://chromeos.dev

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ