From patchwork Thu Mar 9 22:50:31 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sebastian Reichel X-Patchwork-Id: 67152 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp563038wrd; Thu, 9 Mar 2023 14:52:47 -0800 (PST) X-Google-Smtp-Source: AK7set+OTQ0HeRXa9Wn5R5TRI/ElEr0e3ar2R/UzCWp/K+P1IC5/WxGmJF5v8QAxZ50xnlBAZcnZ X-Received: by 2002:a17:90a:1c3:b0:237:b702:4990 with SMTP id 3-20020a17090a01c300b00237b7024990mr23647189pjd.26.1678402366985; Thu, 09 Mar 2023 14:52:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1678402366; cv=none; d=google.com; s=arc-20160816; b=T3TFiEF5+z5qOmj6r6dfMXyn/bbzJZAzldrW3bzXgJ3Si7pAL9Y30BNU3vnIx56pyA Efa6QFhwVMYWNPnxbT9wlfcCDNI9z0q1B35ymIKv7q7D4WdOllKMbii80mY+w9UYQ0Rh udo32cPfdbdo1stzVsn5yXkMs4qsaL2xVEbF3ntJBtbhLQWay98tGOUE6xCpbVGfODoX UBydQ1vVEcAwD0cxdQNvlOuSQ0jg8A85A2dtZyNmCxggHX/ZSDV5ID+1PuBgMrKcWsvK o0bChrx/cyhYFW01g+3MSOGqTjxwq45G+bbGrFvLZUaE+NegqerOtQNKUCjrusQg75l3 cXkA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=MQVA9oi5O4R9PLCHbxf4k2U8vXGN9ZtOElo1ImFpIwY=; b=xJT5nVLhFCQ+pwXUSfKTRTuDt2e7/83hL8xt0ilFFiHvzvqKLPoZbzYxf3LTT2txyU XostmHmLSgN2wbauwliCScEshbUfx5kpAX52dLBbktNlTpFZBDd5rajtWEGF4/2q75n6 gOMJF6ZSaBTBttOWPx/Wmvcfbs19L+lRuDA+uQsDmZaKJNnqZk1xWto2wJsYp9nsiSJa YUNnRMVcBcAf30x83H6RjUlBhGTRLFccapzQcZowfw8869Y1+ZXqzkVSJYmA161TN2+G zYy0y8JPQ/31gM+yctwdUMKLk7H6RbBNAcpwxajSy4E/ThJv+mu3yB3U6x3fUQKZVNrq 66wA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=gb6Gm1T2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id p8-20020a17090a74c800b00237c54c1643si257096pjl.139.2023.03.09.14.52.34; Thu, 09 Mar 2023 14:52:46 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=gb6Gm1T2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231410AbjCIWu5 (ORCPT + 99 others); Thu, 9 Mar 2023 17:50:57 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56288 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230093AbjCIWux (ORCPT ); Thu, 9 Mar 2023 17:50:53 -0500 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5684BE841B; Thu, 9 Mar 2023 14:50:47 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id D4A7B61D0E; Thu, 9 Mar 2023 22:50:46 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 00744C4339B; Thu, 9 Mar 2023 22:50:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1678402246; bh=T2m9FARCQakjOu5gGr8+fVrNfdOmvCfKaWsccO+YD5k=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=gb6Gm1T2ILsdxCDVZETBEkU1XPniS+tw2i2tNvRHqWSHCtpDASlciuF7JlasIYztt KvMj1iQqzSILJeO2NLlftJyev3Z5qJsYTw07/Ioe6l+SYLP9+g333TZs9cnQkZn7xu IXPeRG0FM/ROcBW2+kKjJuBL+qXNPtXzCHMlo7+QMD+GySgKM4uO5ReEOCbE0cPSh5 OHSO38dbRsxYWThikticoYf6zSAxZO8sU116XvsOHayXMfwhz1RkNGC2cG1MgsOjie lzqpGaz/Cuo5sayivfXpNa7GOuSm9mXqq34nbmtPrLVx6Y2XozqJ/IMr4uKdcG7xtx 0RffqHMV4Rm0Q== Received: by mercury (Postfix, from userid 1000) id 6151C106069D; Thu, 9 Mar 2023 23:50:43 +0100 (CET) From: Sebastian Reichel To: Sebastian Reichel Cc: Linus Walleij , Matti Vaittinen , Rob Herring , Krzysztof Kozlowski , linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, devicetree@vger.kernel.org Subject: [PATCHv1 01/11] dt-bindings: power: supply: adc-battery: add binding Date: Thu, 9 Mar 2023 23:50:31 +0100 Message-Id: <20230309225041.477440-2-sre@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230309225041.477440-1-sre@kernel.org> References: <20230309225041.477440-1-sre@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1759932440058287709?= X-GMAIL-MSGID: =?utf-8?q?1759932440058287709?= Add binding for a battery that is only monitored via ADC channels and simple status GPIOs. Signed-off-by: Sebastian Reichel --- .../bindings/power/supply/adc-battery.yaml | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 Documentation/devicetree/bindings/power/supply/adc-battery.yaml diff --git a/Documentation/devicetree/bindings/power/supply/adc-battery.yaml b/Documentation/devicetree/bindings/power/supply/adc-battery.yaml new file mode 100644 index 000000000000..9d478bf9d2ee --- /dev/null +++ b/Documentation/devicetree/bindings/power/supply/adc-battery.yaml @@ -0,0 +1,67 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/power/supply/adc-battery.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: ADC battery + +maintainers: + - Sebastian Reichel + +description: | + Basic Battery, which only reports (in circuit) voltage and optionally + current via an ADC channel. + +allOf: + - $ref: power-supply.yaml# + +properties: + compatible: + const: adc-battery + + charged-gpios: + description: + GPIO which signals that the battery is fully charged. + maxItems: 1 + + io-channels: + minItems: 1 + maxItems: 3 + + io-channel-names: + oneOf: + - const: voltage + - items: + - const: voltage + - enum: + - current + - power + - items: + - const: voltage + - const: current + - const: power + + monitored-battery: true + +required: + - compatible + - io-channels + - io-channel-names + - monitored-battery + +unevaluatedProperties: false + +examples: + - | + #include + + fuel-gauge { + compatible = "adc-battery"; + charged-gpios = <&gpio 42 GPIO_ACTIVE_HIGH>; + io-channels = <&adc 13>, <&adc 37>; + io-channel-names = "voltage", "current"; + + power-supplies = <&charger>; + monitored-battery = <&battery>; + }; From patchwork Thu Mar 9 22:50:32 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sebastian Reichel X-Patchwork-Id: 67156 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp563523wrd; Thu, 9 Mar 2023 14:54:11 -0800 (PST) X-Google-Smtp-Source: AK7set9TNfG3aGG/aIESELI73MB5aJ4SxZ7ccAPblq9hWyV8O4+s3uCinNze2T3B7H96TZcDEFGN X-Received: by 2002:a17:903:2282:b0:19a:a9d8:e47f with SMTP id b2-20020a170903228200b0019aa9d8e47fmr29332876plh.36.1678402451569; Thu, 09 Mar 2023 14:54:11 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1678402451; cv=none; d=google.com; s=arc-20160816; b=vYyGb9Bf+39mbdDdQQewlOBzdLAq8NAUMQL1R/9e/5ho6f07bJOlnK113epEVdEOhA DxNVqAakIqUcWrxss63mJzRmMK2ZmoDYPrBsJQlo9U/awQO9PsDoie0VYSUs0+6GLLq7 i0VnFZOcy8HYNzZ65Vwjji33Nf+xyYQ9Zddh0s/o07C3t6k4+XkjeovYFxyk7SL1HgHk fhiMD/1Xgb0s8WaH/C2OznzbFRiDZR2vLFMaMLKkj5xR3hSh60kqBrNlk3mUEStmy7cX KG8dNBPh9vnElYZSHNISpw3/E8ebK83Mj6s/0dfNEg0+o2Uw2w0hGn4iXVWTB1ma+OOT 0udw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=uyszamKBqVTNYltbQIMmK/fWMof/ogV6r33M0hiYYWs=; b=mF9+o6vzMCFrjYOLSBySAcy0xC6+RG9fyI8/0bTEdmoxWdmwfs9bTBNrobCkcbPmK6 tCh5XWNyAVUfskBPz6p4EuWeROkTGoB5toD0NdOmmVhZi8Fh+m6fpVrJavNTynVkwD9P Ifv/TgHbvQoB73WPxrq0aPt9G7tM3p5SwmXRya5H7z/7+RJLpPBvmfhMrNn0+OgY3pC3 1/oHYJLrU8S0A6hzUIzX3MSLQaUzDAPBavSL1BeyDYjnULhNcG/hnH+C2iysXGnpK38k ZdCveFwxzQ7EDFlovOoSoVwVflZClTgxMDErbklauyya90NhL2dCuCST5+4yLiILZOcM FNNw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=ggD2TpUN; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id lf14-20020a170902fb4e00b0019caa175f94si410965plb.414.2023.03.09.14.53.59; Thu, 09 Mar 2023 14:54:11 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=ggD2TpUN; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231452AbjCIWvC (ORCPT + 99 others); Thu, 9 Mar 2023 17:51:02 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56294 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230395AbjCIWuy (ORCPT ); Thu, 9 Mar 2023 17:50:54 -0500 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 56B42F7EDF; Thu, 9 Mar 2023 14:50:47 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id D504761D1B; Thu, 9 Mar 2023 22:50:46 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 08484C433A0; Thu, 9 Mar 2023 22:50:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1678402246; bh=SSBVCBpnRcjlaOW5Jpyryn0OebgyhMRXGKYdYC08d4g=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ggD2TpUNdKuqny1/UKbyn+8N0vRnG+9UDxQHS8Ikarfk/iN06DFQx/jDhdaKAgQ81 UBIHMhfhW9HGWAZuepg+zsNxjOkjQ/3p4cDiaO9AUZGHIeOkRCFy3qTZuETy0epfvJ gLFhKxhXCtsI44Z3nabAVUZ28b66nqO55CtuSjp6wbZ9A7bRemlKn6utU7XtnilKpO /sfhL91OLUUPchdaXkS7zeeqKclNtfcLahOJgUir3S2/MkW1h23saBw2D+HYG83eFy k3R+SKNPzKJFgt+cNH2aeuwGROJiAe37hBNKdtD/Mlmei/raN9KEOUv+tQQo3dcDpC ufadyE/JK5jmg== Received: by mercury (Postfix, from userid 1000) id 61E1310608B3; Thu, 9 Mar 2023 23:50:43 +0100 (CET) From: Sebastian Reichel To: Sebastian Reichel Cc: Linus Walleij , Matti Vaittinen , Rob Herring , Krzysztof Kozlowski , linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, devicetree@vger.kernel.org Subject: [PATCHv1 02/11] power: supply: core: auto-exposure of simple-battery data Date: Thu, 9 Mar 2023 23:50:32 +0100 Message-Id: <20230309225041.477440-3-sre@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230309225041.477440-1-sre@kernel.org> References: <20230309225041.477440-1-sre@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1759932529339798656?= X-GMAIL-MSGID: =?utf-8?q?1759932529339798656?= Add support for automatically exposing data from the simple-battery firmware node with a single configuration option in the power-supply device. Signed-off-by: Sebastian Reichel Reviewed-by: Linus Walleij Reviewed-by: Matti Vaittinen --- drivers/power/supply/power_supply_core.c | 153 +++++++++++++++++++--- drivers/power/supply/power_supply_sysfs.c | 16 +++ include/linux/power_supply.h | 31 +++++ 3 files changed, 181 insertions(+), 19 deletions(-) diff --git a/drivers/power/supply/power_supply_core.c b/drivers/power/supply/power_supply_core.c index f3d7c1da299f..c3684ec46b3f 100644 --- a/drivers/power/supply/power_supply_core.c +++ b/drivers/power/supply/power_supply_core.c @@ -388,7 +388,7 @@ static int __power_supply_get_supplier_property(struct device *dev, void *_data) struct psy_get_supplier_prop_data *data = _data; if (__power_supply_is_supplied_by(epsy, data->psy)) - if (!epsy->desc->get_property(epsy, data->psp, data->val)) + if (!power_supply_get_property(epsy, data->psp, data->val)) return 1; /* Success */ return 0; /* Continue iterating */ @@ -832,6 +832,111 @@ void power_supply_put_battery_info(struct power_supply *psy, } EXPORT_SYMBOL_GPL(power_supply_put_battery_info); +bool power_supply_battery_info_has_prop(struct power_supply_battery_info *info, + enum power_supply_property psp) +{ + if (!info) + return false; + + switch (psp) { + case POWER_SUPPLY_PROP_TECHNOLOGY: + return info->technology != POWER_SUPPLY_TECHNOLOGY_UNKNOWN; + case POWER_SUPPLY_PROP_ENERGY_FULL_DESIGN: + return info->energy_full_design_uwh >= 0; + case POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN: + return info->charge_full_design_uah >= 0; + case POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN: + return info->voltage_min_design_uv >= 0; + case POWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN: + return info->voltage_max_design_uv >= 0; + case POWER_SUPPLY_PROP_PRECHARGE_CURRENT: + return info->precharge_current_ua >= 0; + case POWER_SUPPLY_PROP_CHARGE_TERM_CURRENT: + return info->charge_term_current_ua >= 0; + case POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT_MAX: + return info->constant_charge_current_max_ua >= 0; + case POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE_MAX: + return info->constant_charge_voltage_max_uv >= 0; + case POWER_SUPPLY_PROP_TEMP_AMBIENT_ALERT_MIN: + return info->temp_ambient_alert_min > INT_MIN; + case POWER_SUPPLY_PROP_TEMP_AMBIENT_ALERT_MAX: + return info->temp_ambient_alert_max < INT_MAX; + case POWER_SUPPLY_PROP_TEMP_ALERT_MIN: + return info->temp_alert_min > INT_MIN; + case POWER_SUPPLY_PROP_TEMP_ALERT_MAX: + return info->temp_alert_max < INT_MAX; + case POWER_SUPPLY_PROP_TEMP_MIN: + return info->temp_min > INT_MIN; + case POWER_SUPPLY_PROP_TEMP_MAX: + return info->temp_max < INT_MAX; + default: + return false; + } +} +EXPORT_SYMBOL_GPL(power_supply_battery_info_has_prop); + +int power_supply_battery_info_get_prop(struct power_supply_battery_info *info, + enum power_supply_property psp, + union power_supply_propval *val) +{ + if (!info) + return -EINVAL; + + if (!power_supply_battery_info_has_prop(info, psp)) + return -EINVAL; + + switch (psp) { + case POWER_SUPPLY_PROP_TECHNOLOGY: + val->intval = info->technology; + return 0; + case POWER_SUPPLY_PROP_ENERGY_FULL_DESIGN: + val->intval = info->energy_full_design_uwh; + return 0; + case POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN: + val->intval = info->charge_full_design_uah; + return 0; + case POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN: + val->intval = info->voltage_min_design_uv; + return 0; + case POWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN: + val->intval = info->voltage_max_design_uv; + return 0; + case POWER_SUPPLY_PROP_PRECHARGE_CURRENT: + val->intval = info->precharge_current_ua; + return 0; + case POWER_SUPPLY_PROP_CHARGE_TERM_CURRENT: + val->intval = info->charge_term_current_ua; + return 0; + case POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT_MAX: + val->intval = info->constant_charge_current_max_ua; + return 0; + case POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE_MAX: + val->intval = info->constant_charge_voltage_max_uv; + return 0; + case POWER_SUPPLY_PROP_TEMP_AMBIENT_ALERT_MIN: + val->intval = info->temp_ambient_alert_min; + return 0; + case POWER_SUPPLY_PROP_TEMP_AMBIENT_ALERT_MAX: + val->intval = info->temp_ambient_alert_max; + return 0; + case POWER_SUPPLY_PROP_TEMP_ALERT_MIN: + val->intval = info->temp_alert_min; + return 0; + case POWER_SUPPLY_PROP_TEMP_ALERT_MAX: + val->intval = info->temp_alert_max; + return 0; + case POWER_SUPPLY_PROP_TEMP_MIN: + val->intval = info->temp_min; + return 0; + case POWER_SUPPLY_PROP_TEMP_MAX: + val->intval = info->temp_max; + return 0; + default: + return -EINVAL; + } +} +EXPORT_SYMBOL_GPL(power_supply_battery_info_get_prop); + /** * power_supply_temp2resist_simple() - find the battery internal resistance * percent from temperature @@ -1046,6 +1151,22 @@ bool power_supply_battery_bti_in_range(struct power_supply_battery_info *info, } EXPORT_SYMBOL_GPL(power_supply_battery_bti_in_range); +static bool psy_has_property(const struct power_supply_desc *psy_desc, + enum power_supply_property psp) +{ + bool found = false; + int i; + + for (i = 0; i < psy_desc->num_properties; i++) { + if (psy_desc->properties[i] == psp) { + found = true; + break; + } + } + + return found; +} + int power_supply_get_property(struct power_supply *psy, enum power_supply_property psp, union power_supply_propval *val) @@ -1056,9 +1177,13 @@ int power_supply_get_property(struct power_supply *psy, return -ENODEV; } - return psy->desc->get_property(psy, psp, val); + if (psy_has_property(psy->desc, psp)) + return psy->desc->get_property(psy, psp, val); + else if(psy->desc->expose_battery_info) + return power_supply_battery_info_get_prop(psy->battery_info, psp, val); + else + return -EINVAL; } -EXPORT_SYMBOL_GPL(power_supply_get_property); int power_supply_set_property(struct power_supply *psy, enum power_supply_property psp, @@ -1117,22 +1242,6 @@ void power_supply_unreg_notifier(struct notifier_block *nb) } EXPORT_SYMBOL_GPL(power_supply_unreg_notifier); -static bool psy_has_property(const struct power_supply_desc *psy_desc, - enum power_supply_property psp) -{ - bool found = false; - int i; - - for (i = 0; i < psy_desc->num_properties; i++) { - if (psy_desc->properties[i] == psp) { - found = true; - break; - } - } - - return found; -} - #ifdef CONFIG_THERMAL static int power_supply_read_temp(struct thermal_zone_device *tzd, int *temp) @@ -1255,6 +1364,12 @@ __power_supply_register(struct device *parent, goto check_supplies_failed; } + if (psy->desc->expose_battery_info) { + rc = power_supply_get_battery_info(psy, &psy->battery_info); + if (rc) + goto check_supplies_failed; + } + spin_lock_init(&psy->changed_lock); rc = device_add(dev); if (rc) diff --git a/drivers/power/supply/power_supply_sysfs.c b/drivers/power/supply/power_supply_sysfs.c index c228205e0953..8822a17f9589 100644 --- a/drivers/power/supply/power_supply_sysfs.c +++ b/drivers/power/supply/power_supply_sysfs.c @@ -380,6 +380,11 @@ static umode_t power_supply_attr_is_visible(struct kobject *kobj, } } + if (psy->desc->expose_battery_info) { + if (power_supply_battery_info_has_prop(psy->battery_info, attrno)) + return mode; + } + return 0; } @@ -488,6 +493,17 @@ int power_supply_uevent(const struct device *dev, struct kobj_uevent_env *env) goto out; } + if (psy->desc->expose_battery_info) { + for (j = 0; j < ARRAY_SIZE(power_supply_battery_info_properties); j++) { + if (!power_supply_battery_info_has_prop(psy->battery_info, power_supply_battery_info_properties[j])) + continue; + ret = add_prop_uevent(dev, env, power_supply_battery_info_properties[j], + prop_buf); + if (ret) + goto out; + } + } + out: free_page((unsigned long)prop_buf); diff --git a/include/linux/power_supply.h b/include/linux/power_supply.h index aa2c4a7c4826..de0ea8320f3d 100644 --- a/include/linux/power_supply.h +++ b/include/linux/power_supply.h @@ -275,6 +275,13 @@ struct power_supply_desc { * sensors or other supplies. */ bool no_thermal; + /* + * Set if constant battery information from firmware should be + * exposed automatically. No driver specific code is required + * in that case. If the driver also handles a property provided + * by constant firmware data, the driver's handler is preferred. + */ + bool expose_battery_info; /* For APM emulation, think legacy userspace. */ int use_for_apm; }; @@ -301,6 +308,7 @@ struct power_supply { bool initialized; bool removing; atomic_t use_cnt; + struct power_supply_battery_info *battery_info; #ifdef CONFIG_THERMAL struct thermal_zone_device *tzd; struct thermal_cooling_device *tcd; @@ -766,6 +774,24 @@ struct power_supply_battery_info { int bti_resistance_tolerance; }; +static const enum power_supply_property power_supply_battery_info_properties[] = { + POWER_SUPPLY_PROP_TECHNOLOGY, + POWER_SUPPLY_PROP_ENERGY_FULL_DESIGN, + POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN, + POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN, + POWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN, + POWER_SUPPLY_PROP_PRECHARGE_CURRENT, + POWER_SUPPLY_PROP_CHARGE_TERM_CURRENT, + POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT_MAX, + POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE_MAX, + POWER_SUPPLY_PROP_TEMP_AMBIENT_ALERT_MIN, + POWER_SUPPLY_PROP_TEMP_AMBIENT_ALERT_MAX, + POWER_SUPPLY_PROP_TEMP_ALERT_MIN, + POWER_SUPPLY_PROP_TEMP_ALERT_MAX, + POWER_SUPPLY_PROP_TEMP_MIN, + POWER_SUPPLY_PROP_TEMP_MAX, +}; + extern struct atomic_notifier_head power_supply_notifier; extern int power_supply_reg_notifier(struct notifier_block *nb); extern void power_supply_unreg_notifier(struct notifier_block *nb); @@ -795,6 +821,11 @@ extern int power_supply_get_battery_info(struct power_supply *psy, struct power_supply_battery_info **info_out); extern void power_supply_put_battery_info(struct power_supply *psy, struct power_supply_battery_info *info); +extern bool power_supply_battery_info_has_prop(struct power_supply_battery_info *info, + enum power_supply_property psp); +extern int power_supply_battery_info_get_prop(struct power_supply_battery_info *info, + enum power_supply_property psp, + union power_supply_propval *val); extern int power_supply_ocv2cap_simple(struct power_supply_battery_ocv_table *table, int table_len, int ocv); extern struct power_supply_battery_ocv_table * From patchwork Thu Mar 9 22:50:33 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sebastian Reichel X-Patchwork-Id: 67155 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp563436wrd; Thu, 9 Mar 2023 14:53:58 -0800 (PST) X-Google-Smtp-Source: AK7set9GKzZyZ91bp62ixmS+d2FouOTzO/IZBOSuuIyQ/S5rXkk5uHdOHTF9HK3JkktPRHgwVS7N X-Received: by 2002:a17:90b:1e01:b0:237:39b1:7cb1 with SMTP id pg1-20020a17090b1e0100b0023739b17cb1mr24571397pjb.19.1678402437964; Thu, 09 Mar 2023 14:53:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1678402437; cv=none; d=google.com; s=arc-20160816; b=m3j1U6vrlKzyeksUqPyQNq2exqJ3vJJG1r7hETUAgmaMvvpeVCWpbzJngk1ZX5A5hn CeciwUscueE/IerKQfXBscKxrVuNeodvH28fYAL0drC2BpT32vG6ZCcas5mtjEn66a+o Xwixc7Dna4JjAkRiS9xb4AWJm604y2OAhG6xvSdk21q6RxGsuHFXMmNZP2ynWPu+8lZd bbUIj8bszAPtnb/nHIWzrPp9GYVUrGhSxXpOa09ozMCDOtyCQXLKbTQ4GWOK4Y5kHCY+ 7BPrqC14IbTIcPVAGN2/ZAlh74r+8Cti5OgccfQ+MaRrlqn9ICTyjJoQDFqGQPHiBUZD I7WA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=2TT15sQkQT7VJYlPcBkTylc1zC3YiEa7JsCHL+R4YJE=; b=UkdOXpjrJEOg7SMyTPF50iDvbEKDVlygx7mb6lENFRb956vP0/hf3RXEkLKz7KiYR7 6Qm1Kxwly9cbkyvIxXTOVXMmhyMgN36ZfyiH8oELBWOHsxOfYEgCQ060CW4urmm0oto8 M4KYz7wOe3gYMq9fIjbd2L9qw5/tYFmAuBuqzGZ6Oh+DEcoxbthYzjaQ84wuaGawenZu QGnlx7iMv8+Txc2g0lxOFI2P7/JXCTmwzzRae2cY9bf9z2O2N5tTiNjSbLHPELoBMLYK 7E8bhV6DXQe2ipWMHPWJVHpQcLVxn/2xhotoCf9T4geso9QARuMhuK47InBRQGdS4j/z qV/Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=r2+vqizY; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ha7-20020a17090af3c700b00233ce098f21si245545pjb.135.2023.03.09.14.53.45; Thu, 09 Mar 2023 14:53:57 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=r2+vqizY; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230409AbjCIWvA (ORCPT + 99 others); Thu, 9 Mar 2023 17:51:00 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56286 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229983AbjCIWux (ORCPT ); Thu, 9 Mar 2023 17:50:53 -0500 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 31C01F4B6C; Thu, 9 Mar 2023 14:50:47 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id C4F8161D13; Thu, 9 Mar 2023 22:50:46 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 02A2CC4339C; Thu, 9 Mar 2023 22:50:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1678402246; bh=a3VYe+fYM8Slw651PTtj6eTDFBaG7Vg0KmpeutoQk4s=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=r2+vqizYR3y4nyC33J1olLG191fKPuABLSbgzE/Wh6fi9yqP/EVbG2AJfTTQh8Zsq /IzyRgHiwvkw37k6IPhvY/mveLaP5Ga8RHGbR4354R4vpQfqxW5Kd8mzk4EdH4oTT5 ylplyifqXrqMg7E3CkLvSQVzUkgqGF9eG+F6R6kWcCeGE6gl+2qAmMVIz1Qa5OydzF /OXcFCHoPtL9laMK9xRzq8KmzjJXEM92awTSsspUgqTeToiJkW8yd6g/VsXA50KmsI jyTEZcQgtlNXHlh+0almiuzPj+bd07cmarHyT6I+hnGauXmWJcExl/nEXIkNLERa6Z OF+lF88AxckIA== Received: by mercury (Postfix, from userid 1000) id 628041060998; Thu, 9 Mar 2023 23:50:43 +0100 (CET) From: Sebastian Reichel To: Sebastian Reichel Cc: Linus Walleij , Matti Vaittinen , Rob Herring , Krzysztof Kozlowski , linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, devicetree@vger.kernel.org Subject: [PATCHv1 03/11] power: supply: generic-adc-battery: convert to managed resources Date: Thu, 9 Mar 2023 23:50:33 +0100 Message-Id: <20230309225041.477440-4-sre@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230309225041.477440-1-sre@kernel.org> References: <20230309225041.477440-1-sre@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1759932514515097905?= X-GMAIL-MSGID: =?utf-8?q?1759932514515097905?= Convert driver to use managed resources to simplify driver code. Signed-off-by: Sebastian Reichel Reviewed-by: Linus Walleij Reviewed-by: Matti Vaittinen --- drivers/power/supply/generic-adc-battery.c | 81 ++++++---------------- 1 file changed, 23 insertions(+), 58 deletions(-) diff --git a/drivers/power/supply/generic-adc-battery.c b/drivers/power/supply/generic-adc-battery.c index 66039c665dd1..917bd2a6cc52 100644 --- a/drivers/power/supply/generic-adc-battery.c +++ b/drivers/power/supply/generic-adc-battery.c @@ -23,6 +23,7 @@ #include #include #include +#include #define JITTER_DEFAULT 10 /* hope 10ms is enough */ @@ -266,14 +267,13 @@ static int gab_probe(struct platform_device *pdev) * copying the static properties and allocating extra memory for holding * the extra configurable properties received from platform data. */ - properties = kcalloc(ARRAY_SIZE(gab_props) + - ARRAY_SIZE(gab_chan_name), - sizeof(*properties), - GFP_KERNEL); - if (!properties) { - ret = -ENOMEM; - goto first_mem_fail; - } + properties = devm_kcalloc(&pdev->dev, + ARRAY_SIZE(gab_props) + + ARRAY_SIZE(gab_chan_name), + sizeof(*properties), + GFP_KERNEL); + if (!properties) + return -ENOMEM; memcpy(properties, gab_props, sizeof(gab_props)); @@ -282,12 +282,13 @@ static int gab_probe(struct platform_device *pdev) * based on the channel supported by consumer device. */ for (chan = 0; chan < ARRAY_SIZE(gab_chan_name); chan++) { - adc_bat->channel[chan] = iio_channel_get(&pdev->dev, - gab_chan_name[chan]); + adc_bat->channel[chan] = devm_iio_channel_get(&pdev->dev, gab_chan_name[chan]); if (IS_ERR(adc_bat->channel[chan])) { ret = PTR_ERR(adc_bat->channel[chan]); + if (ret != -ENODEV) + return dev_err_probe(&pdev->dev, ret, "Failed to get ADC channel %s\n", gab_chan_name[chan]); adc_bat->channel[chan] = NULL; - } else { + } else if (adc_bat->channel[chan]) { /* copying properties for supported channels only */ int index2; @@ -302,10 +303,8 @@ static int gab_probe(struct platform_device *pdev) } /* none of the channels are supported so let's bail out */ - if (!any) { - ret = -ENODEV; - goto second_mem_fail; - } + if (!any) + return dev_err_probe(&pdev->dev, -ENODEV, "Failed to get any ADC channel\n"); /* * Total number of properties is equal to static properties @@ -316,25 +315,24 @@ static int gab_probe(struct platform_device *pdev) psy_desc->properties = properties; psy_desc->num_properties = index; - adc_bat->psy = power_supply_register(&pdev->dev, psy_desc, &psy_cfg); - if (IS_ERR(adc_bat->psy)) { - ret = PTR_ERR(adc_bat->psy); - goto err_reg_fail; - } + adc_bat->psy = devm_power_supply_register(&pdev->dev, psy_desc, &psy_cfg); + if (IS_ERR(adc_bat->psy)) + return dev_err_probe(&pdev->dev, PTR_ERR(adc_bat->psy), "Failed to register power-supply device\n"); - INIT_DELAYED_WORK(&adc_bat->bat_work, gab_work); + ret = devm_delayed_work_autocancel(&pdev->dev, &adc_bat->bat_work, gab_work); + if (ret) + return dev_err_probe(&pdev->dev, ret, "Failed to register delayed work\n"); - adc_bat->charge_finished = devm_gpiod_get_optional(&pdev->dev, - "charged", GPIOD_IN); + adc_bat->charge_finished = devm_gpiod_get_optional(&pdev->dev, "charged", GPIOD_IN); if (adc_bat->charge_finished) { int irq; irq = gpiod_to_irq(adc_bat->charge_finished); - ret = request_any_context_irq(irq, gab_charged, + ret = devm_request_any_context_irq(&pdev->dev, irq, gab_charged, IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING, "battery charged", adc_bat); if (ret < 0) - goto gpio_req_fail; + return dev_err_probe(&pdev->dev, ret, "Failed to register irq\n"); } platform_set_drvdata(pdev, adc_bat); @@ -343,38 +341,6 @@ static int gab_probe(struct platform_device *pdev) schedule_delayed_work(&adc_bat->bat_work, msecs_to_jiffies(0)); return 0; - -gpio_req_fail: - power_supply_unregister(adc_bat->psy); -err_reg_fail: - for (chan = 0; chan < ARRAY_SIZE(gab_chan_name); chan++) { - if (adc_bat->channel[chan]) - iio_channel_release(adc_bat->channel[chan]); - } -second_mem_fail: - kfree(properties); -first_mem_fail: - return ret; -} - -static int gab_remove(struct platform_device *pdev) -{ - int chan; - struct gab *adc_bat = platform_get_drvdata(pdev); - - power_supply_unregister(adc_bat->psy); - - if (adc_bat->charge_finished) - free_irq(gpiod_to_irq(adc_bat->charge_finished), adc_bat); - - for (chan = 0; chan < ARRAY_SIZE(gab_chan_name); chan++) { - if (adc_bat->channel[chan]) - iio_channel_release(adc_bat->channel[chan]); - } - - kfree(adc_bat->psy_desc.properties); - cancel_delayed_work_sync(&adc_bat->bat_work); - return 0; } static int __maybe_unused gab_suspend(struct device *dev) @@ -408,7 +374,6 @@ static struct platform_driver gab_driver = { .pm = &gab_pm_ops, }, .probe = gab_probe, - .remove = gab_remove, }; module_platform_driver(gab_driver); From patchwork Thu Mar 9 22:50:34 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Sebastian Reichel X-Patchwork-Id: 67151 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp563037wrd; Thu, 9 Mar 2023 14:52:47 -0800 (PST) X-Google-Smtp-Source: AK7set8D7oaVzK60vgPL/+1T4PjRKW20GmGeo0dNoyuStHC/jlY08T31VQB3WcQVoqAxU7IiDHKa X-Received: by 2002:a17:90b:1c88:b0:233:f98a:8513 with SMTP id oo8-20020a17090b1c8800b00233f98a8513mr26030568pjb.8.1678402366791; Thu, 09 Mar 2023 14:52:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1678402366; cv=none; d=google.com; s=arc-20160816; b=fxT1YPQL6IIHcruf9U83eekBPp2FlSZszAnikSzGtOlBdNYbjyqL06IfqgiV2YKLHj Z5+Bvu+tZz45ohDgf8JAyvEvBouZrEuAf49HLtBKj+mzvj/rrT1zDx6hUMFLkY5CZIna oTA7uNlfGckYCJPEJmgzZgXfLqVVLo3ROJEkXoWS5OrDe4UOio3QFtmLPaXUC2BtnMyQ CmZjjPC5mcHRBW9ZFO4p+pHl2hYCF2YKKco4WTro1USy5XnyZm7BS3B//YOD2+nBZOGm e/CML7shiEB7e9WhrlJkp/mO6OEnRA5Gs3LNNhLG5Rqbb7Qh0zQzuLB8P6VdDX+vripN bWmQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=ghQoAni8XG196IVQWxi26xCflKTdNVDf/huCK8Yys/o=; b=KbJP/xPwURTaaZ4wn549fD5Iwc5nHZSt53buDS5k1Nbk2IOc6OyTvyGveELLiLdAEg HJxDPhsTRuRAS6Xsgo5PV+x0317FxWP0HLHumIDcDUtM74olYglmWsu+5PxQA+06eDee PvMQraL957gxXMivYqJIbBMXU5ybpcRpWkPwCBbgdvWaCyjCePb93OE96ovRgid2xWeA lEWqeA5T86SB0+Mwsfkgh0Wvww6cM4ZhCZgPkOxfxZpdhY2CCdIT8qCXq8EBWYTXwWbO j78hCLmqES7NdJeNj5XXi6/0c5A39ChnYKNxsU77M/hx2CFPSKHkwLeWDbgkCgnuSDpT S7AA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=Wx0vjHLp; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id f16-20020a63f110000000b00507681d47bcsi272246pgi.567.2023.03.09.14.52.34; Thu, 09 Mar 2023 14:52:46 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=Wx0vjHLp; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231379AbjCIWuy (ORCPT + 99 others); Thu, 9 Mar 2023 17:50:54 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56262 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230509AbjCIWuw (ORCPT ); Thu, 9 Mar 2023 17:50:52 -0500 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 31741F209C; Thu, 9 Mar 2023 14:50:47 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id C294C61D12; Thu, 9 Mar 2023 22:50:46 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id F2380C433EF; Thu, 9 Mar 2023 22:50:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1678402246; bh=YniPoXTs7rUu0i27ecAmQDdt91YnlzI00Xc0ywnf1UY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Wx0vjHLpV930/MkCtPtQ2SgZ7mFaMJppT5NIg6aH0RuEd/E2/6rmJi2gRAft8DmGo 52cTBqBf6v3q90PuhM5u07rX0hebzZVuv0Xr6v+MLAcPDyGVN475y0sOkbMXih1Q/e H4JUTiCXgum/1E8cYKIP/DN0roctGIy5eY33yjdEfi+nqTzJPrM3V3C+3BBOcv4SE2 bGagRoMkMru3aIP97E1f0Rf6E7l6QMe8lqtaRy0RgdYZgDQXEpFxaiubJ6UolFU3WK NTnFnlerv6tknt2kdfdqclW81rsiyuqOYOI/QXzAXeREtgDn8yh8g0ojei3LKRJ99/ j+jBXWJTjm8pQ== Received: by mercury (Postfix, from userid 1000) id 631D710609CD; Thu, 9 Mar 2023 23:50:43 +0100 (CET) From: Sebastian Reichel To: Sebastian Reichel Cc: Linus Walleij , Matti Vaittinen , Rob Herring , Krzysztof Kozlowski , linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, devicetree@vger.kernel.org Subject: [PATCHv1 04/11] power: supply: generic-adc-battery: fix unit scaling Date: Thu, 9 Mar 2023 23:50:34 +0100 Message-Id: <20230309225041.477440-5-sre@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230309225041.477440-1-sre@kernel.org> References: <20230309225041.477440-1-sre@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1759932439863605753?= X-GMAIL-MSGID: =?utf-8?q?1759932439863605753?= power-supply properties are reported in µV, µA and µW. The IIO API provides mV, mA, mW, so the values need to be multiplied by 1000. Signed-off-by: Sebastian Reichel Reviewed-by: Linus Walleij Reviewed-by: Matti Vaittinen --- drivers/power/supply/generic-adc-battery.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/power/supply/generic-adc-battery.c b/drivers/power/supply/generic-adc-battery.c index 917bd2a6cc52..535972a332b3 100644 --- a/drivers/power/supply/generic-adc-battery.c +++ b/drivers/power/supply/generic-adc-battery.c @@ -136,6 +136,9 @@ static int read_channel(struct gab *adc_bat, enum power_supply_property psp, result); if (ret < 0) pr_err("read channel error\n"); + else + *result *= 1000; + return ret; } From patchwork Thu Mar 9 22:50:35 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sebastian Reichel X-Patchwork-Id: 67158 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp563689wrd; Thu, 9 Mar 2023 14:54:40 -0800 (PST) X-Google-Smtp-Source: AK7set8C7yusbI6U5GjsJNd1OzmAWX633pDA3hjUxTXEladygKK6/79HHMCl2QuRTz3Jw8/2qAsX X-Received: by 2002:a05:6a20:394c:b0:d0:61ff:8530 with SMTP id r12-20020a056a20394c00b000d061ff8530mr11022669pzg.16.1678402479731; Thu, 09 Mar 2023 14:54:39 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1678402479; cv=none; d=google.com; s=arc-20160816; b=QZMxyq8uYBqmFdt0QPr9VzQEtqtXB2rwyPyJ2NM726XHfjdqVG0P8mWZg4GLKYzJvV p6n+Pn8e6ZfwPAkwmEEIXmhKXFhqqpXA3FpZT/1yGmk0ig5dLmRItqZ3i46d3Bf3wJ+z ifJObdVo4ti0rAfFF/zOCxLK1+SV0qu5bhzCnJfcUw7Pi5xBP3TgRDJFq94KyxaQ6qBj bOg/U9GT9F0CA+buS9Rl20v+KEuzLNhaylE05SWLgFlNsDTjPNvsCoAFv+0Pnpqesv0k 8junLCf7mGcGia6PmIhicGa5ldNuVp5bkb+1yM1gsIyffcNl9nmHwe07aqGQ57s+2/cU z6mg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=C0yzf3izCERwRqlYjcVZPpiig6HXP/N05sW/D6NcP+s=; b=CG3PTT6OdygHgLqPQvzrZnI8sJsvl0+GKW70EBVCw52+zWSoGmdq4JcXf2L9RJkTfl 0QkbwpZ9FEaIlFudIGkvr5NpRRK94zWlRmTVJCbclN8We3cF2rLFmIq9aLiho8O4N2Ro JZ7+JL1gAjzGfs4Ph12UezvNBujCN7EE3NUXmC5v3KbAGJlbpOPTHMWx3rYWqT/kvY/8 RqsXt8tQf8mfVO+rTDuGyEkwFwstjOOELr9o5mc4eocdhBWiQnjEfa+PicSN6sy39/xv kEuIO4VvaYlwb6uRIKaYMVbEN4rYqRWgBxzs+giIy50gnXXnX3T3EDLkIzJ1T5f5IlG3 vSAQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=icDVNSzD; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id n127-20020a632785000000b004ff6f91fa75si323835pgn.445.2023.03.09.14.54.27; Thu, 09 Mar 2023 14:54:39 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=icDVNSzD; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231488AbjCIWvP (ORCPT + 99 others); Thu, 9 Mar 2023 17:51:15 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56500 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231435AbjCIWu6 (ORCPT ); Thu, 9 Mar 2023 17:50:58 -0500 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5D985F73AD; Thu, 9 Mar 2023 14:50:51 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 0D494B820E1; Thu, 9 Mar 2023 22:50:50 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 80958C4339E; Thu, 9 Mar 2023 22:50:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1678402248; bh=wvOJ8rQ6bnzbunmB5UwoBejQRHk8rSnA78s83MjDCC0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=icDVNSzDQyZrsEydVf10tIyhdVrFrl3j0Su/1/DUBMa0hMowj9yF5Yyv6qTR0jMXZ i/UvAs1Z6/WbEzRDUYzK0/GpgCBxHuXomhebAh8x8ZzqG05q1YUXza8++cGfa6wWNv bCbHCHL+8RQKz014Q9DuSLWPFuMO0I4DUOFiljk1hAK8hWutDjyW2lA7FajmGXBOUJ B6uru2D+9duOoW20Wme02IkMoGA8FSzn+2kajPq1lpHF5jx9Lv4U/HMK6mk+rfhbp1 nkHCwwoSlbY/2J2AHRc1Jg6CXJMDCo7syePatDMxeV4wPbyBgYO98shQYZdC8eVTZm t5VzOJ9DuXq0w== Received: by mercury (Postfix, from userid 1000) id 6399B10609DA; Thu, 9 Mar 2023 23:50:43 +0100 (CET) From: Sebastian Reichel To: Sebastian Reichel Cc: Linus Walleij , Matti Vaittinen , Rob Herring , Krzysztof Kozlowski , linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, devicetree@vger.kernel.org Subject: [PATCHv1 05/11] power: supply: generic-adc-battery: drop jitter delay support Date: Thu, 9 Mar 2023 23:50:35 +0100 Message-Id: <20230309225041.477440-6-sre@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230309225041.477440-1-sre@kernel.org> References: <20230309225041.477440-1-sre@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1759932558997883433?= X-GMAIL-MSGID: =?utf-8?q?1759932558997883433?= Drop support for configuring IRQ jitter delay by using big enough fixed value. Signed-off-by: Sebastian Reichel Reviewed-by: Linus Walleij --- drivers/power/supply/generic-adc-battery.c | 13 ++++--------- include/linux/power/generic-adc-battery.h | 3 --- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/drivers/power/supply/generic-adc-battery.c b/drivers/power/supply/generic-adc-battery.c index 535972a332b3..e20894460d7f 100644 --- a/drivers/power/supply/generic-adc-battery.c +++ b/drivers/power/supply/generic-adc-battery.c @@ -227,12 +227,10 @@ static void gab_work(struct work_struct *work) static irqreturn_t gab_charged(int irq, void *dev_id) { struct gab *adc_bat = dev_id; - struct gab_platform_data *pdata = adc_bat->pdata; - int delay; - delay = pdata->jitter_delay ? pdata->jitter_delay : JITTER_DEFAULT; schedule_delayed_work(&adc_bat->bat_work, - msecs_to_jiffies(delay)); + msecs_to_jiffies(JITTER_DEFAULT)); + return IRQ_HANDLED; } @@ -358,14 +356,11 @@ static int __maybe_unused gab_suspend(struct device *dev) static int __maybe_unused gab_resume(struct device *dev) { struct gab *adc_bat = dev_get_drvdata(dev); - struct gab_platform_data *pdata = adc_bat->pdata; - int delay; - - delay = pdata->jitter_delay ? pdata->jitter_delay : JITTER_DEFAULT; /* Schedule timer to check current status */ schedule_delayed_work(&adc_bat->bat_work, - msecs_to_jiffies(delay)); + msecs_to_jiffies(JITTER_DEFAULT)); + return 0; } diff --git a/include/linux/power/generic-adc-battery.h b/include/linux/power/generic-adc-battery.h index c68cbf34cd34..50eb4bf28286 100644 --- a/include/linux/power/generic-adc-battery.h +++ b/include/linux/power/generic-adc-battery.h @@ -11,13 +11,10 @@ * @battery_info: recommended structure to specify static power supply * parameters * @cal_charge: calculate charge level. - * @jitter_delay: delay required after the interrupt to check battery - * status.Default set is 10ms. */ struct gab_platform_data { struct power_supply_info battery_info; int (*cal_charge)(long value); - int jitter_delay; }; #endif /* GENERIC_ADC_BATTERY_H */ From patchwork Thu Mar 9 22:50:36 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sebastian Reichel X-Patchwork-Id: 67154 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp563285wrd; Thu, 9 Mar 2023 14:53:29 -0800 (PST) X-Google-Smtp-Source: AK7set9IfRqmSOKHz9moPGe/XMRXbGLiDbvl2uSpqZwiNv9UZAXk63wXI4oE+xt+xVRuq2VFYNPD X-Received: by 2002:a05:6a20:a021:b0:d0:212d:ead0 with SMTP id p33-20020a056a20a02100b000d0212dead0mr220722pzj.26.1678402409147; Thu, 09 Mar 2023 14:53:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1678402409; cv=none; d=google.com; s=arc-20160816; b=LzCfMloZ9EeDu8FqlOBN0qOx+xFK+hPcFu258sJHGEZdZlkwcKLDAqRpSkb3a4P7X1 g4DYFGz8eYLT25NjZ6iswZ0O1mmBQC7YAP32zmAIdlTW83tLD990VsVBW9KuW9ihZAUG Y2T21r6FChgd6AS9baB/ad//emxm80BoRUXWKXdWvBX0dUBfULtvsQM3kZgoQqfS470/ bcpL8ApOM7chH37d1z9V1a+DplIdkf+BNtkXa+M1XTQjovkG+9JxHCxrHSAyDOem49i1 0oxICRu1XkDHy51rj36oiQLTx4ZTKNuZQN4lcoWOy/sgsxk5NHDpL/6aurttyrLEAIqS 4aeg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=iX7EwJJ7LoBzRRsuIX9XQYbTCxp0aXrFSgIJx0U0jXw=; b=ckj6N5AeL7h8e1SGSFevQk+xUa13uJPTIVqr7Euc724vw5uyq0x0+UNEaJVEPe1wTn hYr2QqGn9eSV1be6yoigg+YoFpJSe8mGschxuZ8JD40DGudlTibx1gzvfSD8UyKP9bvF LrYwVz5Jg5wKkW7JLdDMz0kG3MJ4WkbdHAPx1TaoagpQ6pFwxmIw+ZcX0OzuDYdtJOo3 +xnn1mkS+5Zbt6XisAyu85QCJoUOZkPcA1SvUmndCYR/Ky0d9Ektj9E4XXWTvHRov6d6 YO4Aed7ONXytQRmdpsdRwDb2xtE+aZ5CnApxB7lMOCTnqZ31SQLGMPF41yi7BdiETkcL 1doA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=ucfeeQqP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id h131-20020a636c89000000b004ce5301ee14si246724pgc.763.2023.03.09.14.53.16; Thu, 09 Mar 2023 14:53:29 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=ucfeeQqP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231480AbjCIWvM (ORCPT + 99 others); Thu, 9 Mar 2023 17:51:12 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56462 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231421AbjCIWu6 (ORCPT ); Thu, 9 Mar 2023 17:50:58 -0500 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5A166F6C77; Thu, 9 Mar 2023 14:50:51 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id DE38DB82126; Thu, 9 Mar 2023 22:50:49 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6FDB8C433D2; Thu, 9 Mar 2023 22:50:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1678402248; bh=VYhOuoj42MSKuPzveR1C3Vzmh0B87Z6hDNN0FMDUz74=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ucfeeQqPLZumezdSghzWNrUjjSoAAZF5VcHqdt8g76AiQpbiPNA4POsIMgoefstfe jt57JVa8G3qQz/eIByDSazevLjqsdXaCx7pdsJtv7ezYgMiQClq1zpYI8Kz1eCeeoF tfFeiH70xcyaLyrpoH2Ss1dBF42zD3Yl2SCdAN6BdxDMlyKnuxURUyePPEyQ4lsUlh 5Icekw7R414kyFM7PeQqeXChlscIk2QxprgKHXZpTX8SIqYAuXj3D4uGzC+p63G7O4 rjghZ1ydcBXBWM+whEpfE8E8z/Yr9W8AyLQ22LcbyqPinUnHcsaoA2ywPvGFP8yfGV XuC2TAOpQD0AQ== Received: by mercury (Postfix, from userid 1000) id 6412710609DB; Thu, 9 Mar 2023 23:50:43 +0100 (CET) From: Sebastian Reichel To: Sebastian Reichel Cc: Linus Walleij , Matti Vaittinen , Rob Herring , Krzysztof Kozlowski , linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, devicetree@vger.kernel.org Subject: [PATCHv1 06/11] power: supply: generic-adc-battery: drop charge now support Date: Thu, 9 Mar 2023 23:50:36 +0100 Message-Id: <20230309225041.477440-7-sre@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230309225041.477440-1-sre@kernel.org> References: <20230309225041.477440-1-sre@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1759932484734969939?= X-GMAIL-MSGID: =?utf-8?q?1759932484734969939?= Drop CHARGE_NOW support, which requires a platform specific calculation method. Signed-off-by: Sebastian Reichel Reviewed-by: Linus Walleij Reviewed-by: Matti Vaittinen --- drivers/power/supply/generic-adc-battery.c | 4 ---- include/linux/power/generic-adc-battery.h | 2 -- 2 files changed, 6 deletions(-) diff --git a/drivers/power/supply/generic-adc-battery.c b/drivers/power/supply/generic-adc-battery.c index e20894460d7f..d07eeb7d46d3 100644 --- a/drivers/power/supply/generic-adc-battery.c +++ b/drivers/power/supply/generic-adc-battery.c @@ -72,7 +72,6 @@ static const enum power_supply_property gab_props[] = { POWER_SUPPLY_PROP_STATUS, POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN, POWER_SUPPLY_PROP_CHARGE_EMPTY_DESIGN, - POWER_SUPPLY_PROP_CHARGE_NOW, POWER_SUPPLY_PROP_VOLTAGE_NOW, POWER_SUPPLY_PROP_CURRENT_NOW, POWER_SUPPLY_PROP_TECHNOLOGY, @@ -166,9 +165,6 @@ static int gab_get_property(struct power_supply *psy, case POWER_SUPPLY_PROP_CHARGE_EMPTY_DESIGN: val->intval = 0; break; - case POWER_SUPPLY_PROP_CHARGE_NOW: - val->intval = pdata->cal_charge(result); - break; case POWER_SUPPLY_PROP_VOLTAGE_NOW: case POWER_SUPPLY_PROP_CURRENT_NOW: case POWER_SUPPLY_PROP_POWER_NOW: diff --git a/include/linux/power/generic-adc-battery.h b/include/linux/power/generic-adc-battery.h index 50eb4bf28286..54434e4304d3 100644 --- a/include/linux/power/generic-adc-battery.h +++ b/include/linux/power/generic-adc-battery.h @@ -10,11 +10,9 @@ * struct gab_platform_data - platform_data for generic adc iio battery driver. * @battery_info: recommended structure to specify static power supply * parameters - * @cal_charge: calculate charge level. */ struct gab_platform_data { struct power_supply_info battery_info; - int (*cal_charge)(long value); }; #endif /* GENERIC_ADC_BATTERY_H */ From patchwork Thu Mar 9 22:50:37 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sebastian Reichel X-Patchwork-Id: 67159 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp563702wrd; Thu, 9 Mar 2023 14:54:43 -0800 (PST) X-Google-Smtp-Source: AK7set8K8nOmdK3LGVzWkhGkr/N2kPsdWfgR7jOcKDD+jZw0aad9OdtKA0+HbGucJlM/x12JzoSJ X-Received: by 2002:a62:18c8:0:b0:5e0:316a:20a4 with SMTP id 191-20020a6218c8000000b005e0316a20a4mr17961224pfy.25.1678402483392; Thu, 09 Mar 2023 14:54:43 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1678402483; cv=none; d=google.com; s=arc-20160816; b=KPa6e0EiRpF0knDm+lE6dJ8Wfxnq/CjnVaYblIUWgJFeVSFVUEGeB36ChnJIJHCamB eQK1Uhn8jkA5Lmt9tEHRUgoeYMHvTDJhBU7MDxUv0Lzz9x3BmFfUuIHfDMdmYnFUYdSU GEMuZ8Vy9DsoGScvHSbXu0zu2eTL2N6WNpznNmurzZTHOJl2dfpDJollTRoCjB16AsqE ypPInMO7vLTgqRUC6yQEj3146///Qi/9NHYbHsoi0JefrG4SBQSUux4NhK9gnNR264Ll 4GgI1mcEF/mAGlnt8moC/u7RU+FshNStZg1OoBtCxvbOCWU/Oxs+BKe0Pkt4U0c13NZ0 f1cA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=vH4FDoBN1dR0KH2Quk6TGmX/hhL0llIWN0SyPFrjj04=; b=ObsFsOORSDFegaBb2qe4SB9Uul4Vi91oRPPyN8s+9T3ltMwfza9ZvaK+jQ3K8z2ZAY 4JuSNn8+LDFF2Rbv/pK8Gafpg25sLb5XXFnSkbE3c8EDoeFNVPVmk+lmDaxNI1kZWd4y nYvb+kWA7x3b7oGRY1cEFEPmONHDLvI+SWs6sxF46nZaVfJlyEr2gHq0xV+KfJU+yOaZ TVwYxKUfsr6B44vgcpvofbF7ralPK9U/E9iJ20jtsEmEHbrUW0ymArojVo3SSX6RcYqF PPAXbmNiQyV/d/fAa5s6oDm3jevK9lEI+23lPC5nP8VG1KyCRvEBK28RBxSTTwtfQE62 kwew== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=GsH0euTe; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id t186-20020a6381c3000000b004e48198c1b0si287951pgd.654.2023.03.09.14.54.30; Thu, 09 Mar 2023 14:54:43 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=GsH0euTe; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230044AbjCIWv1 (ORCPT + 99 others); Thu, 9 Mar 2023 17:51:27 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56574 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231446AbjCIWvA (ORCPT ); Thu, 9 Mar 2023 17:51:00 -0500 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 35C2DE6804; Thu, 9 Mar 2023 14:50:53 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 3EC1E61D1E; Thu, 9 Mar 2023 22:50:49 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 75B4AC4339B; Thu, 9 Mar 2023 22:50:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1678402248; bh=pgooTjpmkH0T4+938WzlRJ0u+gHeFjR0k59+b8+puVU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=GsH0euTea8XbVDNJPjcjtoGVLcP+H6/i0ezskqym3D/VJOpYF99vba96il72ceyE7 Z8f/89TntYNQpJtZfJT1QiQjQRLeJHJfCjC5vuHPK5DI2mBEFnvzMy/+llBBGuD0TJ qV74i74QGJpEgi31xRKY6+92kkCmrMf6onKOQZ9D44wzaA2ApmBCzzCzybXjVNCu4V XVGqKiRhM/0IH+7PbRqCoAQRLS5oNR9ZuFsCtP/WGSp8A+NOssZJzbmm6DSwl/2XPc pP/00G06EIo7gmR9lQjkg7k6U8LO8BURT91RDEKknFhDK3WEAxZXlrr5JtzHQXtL5K VA3ihawG6VHqQ== Received: by mercury (Postfix, from userid 1000) id 6536310609DE; Thu, 9 Mar 2023 23:50:43 +0100 (CET) From: Sebastian Reichel To: Sebastian Reichel Cc: Linus Walleij , Matti Vaittinen , Rob Herring , Krzysztof Kozlowski , linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, devicetree@vger.kernel.org Subject: [PATCHv1 07/11] power: supply: generic-adc-battery: drop memory alloc error message Date: Thu, 9 Mar 2023 23:50:37 +0100 Message-Id: <20230309225041.477440-8-sre@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230309225041.477440-1-sre@kernel.org> References: <20230309225041.477440-1-sre@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1759932562750314245?= X-GMAIL-MSGID: =?utf-8?q?1759932562750314245?= Error printing happens automatically for memory allocation problems. Signed-off-by: Sebastian Reichel Reviewed-by: Linus Walleij Reviewed-by: Matti Vaittinen --- drivers/power/supply/generic-adc-battery.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/power/supply/generic-adc-battery.c b/drivers/power/supply/generic-adc-battery.c index d07eeb7d46d3..771e5cfc49c3 100644 --- a/drivers/power/supply/generic-adc-battery.c +++ b/drivers/power/supply/generic-adc-battery.c @@ -243,10 +243,8 @@ static int gab_probe(struct platform_device *pdev) bool any = false; adc_bat = devm_kzalloc(&pdev->dev, sizeof(*adc_bat), GFP_KERNEL); - if (!adc_bat) { - dev_err(&pdev->dev, "failed to allocate memory\n"); + if (!adc_bat) return -ENOMEM; - } psy_cfg.drv_data = adc_bat; psy_desc = &adc_bat->psy_desc; From patchwork Thu Mar 9 22:50:38 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sebastian Reichel X-Patchwork-Id: 67153 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp563264wrd; Thu, 9 Mar 2023 14:53:27 -0800 (PST) X-Google-Smtp-Source: AK7set8KKCGRHlRFAYSkY+KrdCX6sUINe5yF9sQgGBqGoTHE4sFbJJmtve/nom89WxNlaG2HucBI X-Received: by 2002:a17:902:d544:b0:19d:387:6602 with SMTP id z4-20020a170902d54400b0019d03876602mr23936765plf.58.1678402407008; Thu, 09 Mar 2023 14:53:27 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1678402406; cv=none; d=google.com; s=arc-20160816; b=g92AQU/gZp9swnc0uVm/7DjhV9KR81bMwB7KQQ08n6J3gfsGySAIw/SSvZL9k2HWlS BYW/FHVV75JhFP2JFdQLyY3CKX6l9szWJSkmtMeXGp/jupZDYwtcCxp7oa5WRrMe5zTe A4FFgL/IFZxwx5X1Zb4l5ZU57Dm7NllkeY7LkX2lE2Zn+ee5YoSDnAJPxdAEK/vT4ULS zl/p3Th5yQYtW1KR9sh8Wtin1Ku9tHaxydbfAxHRIkluPLxzvDKa+MJLudZn4Ok2g4AI h5tqgWFvErcPYjGhO2fGiHtSAySqLtGzQM3Go/KCC1JUq3ucnCM3PKgJAmIq5fkcTS81 UATg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=C3XxrPJayFF/fscME26RUEz6Wr+Y+xodUDL/S+lZX3I=; b=KGBYqXWw1bJXB8Y56K3Acfs2qg6O9tA/YI+ZEms/LNvL7jboQU3vO9KyuLRMbn+VKE xm/Nj3y320AXpDCOCST0077hX4z2FB46fC/hWVyehuxG/Xq2OS5M1w9tckY+q+kFsN2r SaFYxJc2os79vIJ3WE5/RmgCdcYDWaUFtr75aCdueBHMivfUvHoaOJ37pT5z3UupNnoJ bLxSX090+DbKUo8y12oP3GA1nCPqLrREn61gIW87LW/ONnd8o1oZzJjQPEMfXz5ZgB7/ QYe5F6bAE2W6r0rD4geYWTx+16CkohhsAy26ToEOhVHzIt9aGINLU+m8bWYK7qqUnuaV TrjA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=eoBnYatn; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id k19-20020a170902ba9300b0019a6ca56219si407281pls.313.2023.03.09.14.53.13; Thu, 09 Mar 2023 14:53:26 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=eoBnYatn; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231285AbjCIWvI (ORCPT + 99 others); Thu, 9 Mar 2023 17:51:08 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56338 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231400AbjCIWuz (ORCPT ); Thu, 9 Mar 2023 17:50:55 -0500 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AA1A1F9EDD; Thu, 9 Mar 2023 14:50:49 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 366FC61D26; Thu, 9 Mar 2023 22:50:49 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6ADE2C433EF; Thu, 9 Mar 2023 22:50:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1678402248; bh=/6k04eEl52blbA5RWXlAMS3FZFJp/si00AtoB5jWUi0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=eoBnYatnn5omFjQzLW9OGHv8JuoYUBtbp/nksrFQM4h/ClufLKJcrRvbBFqOcnOP8 22fgDOC6LVSyyihld9PCVelLNjaZoIA8eTO8z9+2nGovJFZeOjc6AYMtd1HEs66GdH COUruQqMVqCsIJAN/azo8ssJia6QfTY7BYaWBq58gajB6gEevzCt7CLJhuJSDDo+fP YuiWc3f6uhJ4Nw+HU358IfqsM/cNzYQqR1gsv0splCHYqXNuf/d9EziGEY/iH14Wt7 kx0sBzftwmPwdgn4DvN6sz+jd7J0lgAmNPW1cQelZk/d9gsMcInxe95jeIeFRSmQbP n6bNyT9WVwHsQ== Received: by mercury (Postfix, from userid 1000) id 678F71060FAB; Thu, 9 Mar 2023 23:50:43 +0100 (CET) From: Sebastian Reichel To: Sebastian Reichel Cc: Linus Walleij , Matti Vaittinen , Rob Herring , Krzysztof Kozlowski , linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, devicetree@vger.kernel.org Subject: [PATCHv1 08/11] power: supply: generic-adc-battery: use simple-battery API Date: Thu, 9 Mar 2023 23:50:38 +0100 Message-Id: <20230309225041.477440-9-sre@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230309225041.477440-1-sre@kernel.org> References: <20230309225041.477440-1-sre@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1759932482529010452?= X-GMAIL-MSGID: =?utf-8?q?1759932482529010452?= Use standard simple-battery API for constant battery information like min and max voltage. This simplifies the driver a lot and brings automatic support for DT. Signed-off-by: Sebastian Reichel Reviewed-by: Linus Walleij --- drivers/power/supply/generic-adc-battery.c | 65 ++-------------------- include/linux/power/generic-adc-battery.h | 18 ------ 2 files changed, 5 insertions(+), 78 deletions(-) delete mode 100644 include/linux/power/generic-adc-battery.h diff --git a/drivers/power/supply/generic-adc-battery.c b/drivers/power/supply/generic-adc-battery.c index 771e5cfc49c3..fc6fcfda1ef2 100644 --- a/drivers/power/supply/generic-adc-battery.c +++ b/drivers/power/supply/generic-adc-battery.c @@ -22,7 +22,6 @@ #include #include #include -#include #include #define JITTER_DEFAULT 10 /* hope 10ms is enough */ @@ -48,9 +47,7 @@ struct gab { struct power_supply *psy; struct power_supply_desc psy_desc; struct iio_channel *channel[GAB_MAX_CHAN_TYPE]; - struct gab_platform_data *pdata; struct delayed_work bat_work; - int level; int status; bool cable_plugged; struct gpio_desc *charge_finished; @@ -70,14 +67,6 @@ static void gab_ext_power_changed(struct power_supply *psy) static const enum power_supply_property gab_props[] = { POWER_SUPPLY_PROP_STATUS, - POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN, - POWER_SUPPLY_PROP_CHARGE_EMPTY_DESIGN, - POWER_SUPPLY_PROP_VOLTAGE_NOW, - POWER_SUPPLY_PROP_CURRENT_NOW, - POWER_SUPPLY_PROP_TECHNOLOGY, - POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN, - POWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN, - POWER_SUPPLY_PROP_MODEL_NAME, }; /* @@ -97,17 +86,6 @@ static bool gab_charge_finished(struct gab *adc_bat) return gpiod_get_value(adc_bat->charge_finished); } -static int gab_get_status(struct gab *adc_bat) -{ - struct gab_platform_data *pdata = adc_bat->pdata; - struct power_supply_info *bat_info; - - bat_info = &pdata->battery_info; - if (adc_bat->level == bat_info->charge_full_design) - return POWER_SUPPLY_STATUS_FULL; - return adc_bat->status; -} - static enum gab_chan_type gab_prop_to_chan(enum power_supply_property psp) { switch (psp) { @@ -144,27 +122,12 @@ static int read_channel(struct gab *adc_bat, enum power_supply_property psp, static int gab_get_property(struct power_supply *psy, enum power_supply_property psp, union power_supply_propval *val) { - struct gab *adc_bat; - struct gab_platform_data *pdata; - struct power_supply_info *bat_info; - int result = 0; - int ret = 0; - - adc_bat = to_generic_bat(psy); - if (!adc_bat) { - dev_err(&psy->dev, "no battery infos ?!\n"); - return -EINVAL; - } - pdata = adc_bat->pdata; - bat_info = &pdata->battery_info; + struct gab *adc_bat = to_generic_bat(psy); switch (psp) { case POWER_SUPPLY_PROP_STATUS: - val->intval = gab_get_status(adc_bat); - break; - case POWER_SUPPLY_PROP_CHARGE_EMPTY_DESIGN: - val->intval = 0; - break; + val->intval = adc_bat->status; + return 0; case POWER_SUPPLY_PROP_VOLTAGE_NOW: case POWER_SUPPLY_PROP_CURRENT_NOW: case POWER_SUPPLY_PROP_POWER_NOW: @@ -173,26 +136,9 @@ static int gab_get_property(struct power_supply *psy, goto err; val->intval = result; break; - case POWER_SUPPLY_PROP_TECHNOLOGY: - val->intval = bat_info->technology; - break; - case POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN: - val->intval = bat_info->voltage_min_design; - break; - case POWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN: - val->intval = bat_info->voltage_max_design; - break; - case POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN: - val->intval = bat_info->charge_full_design; - break; - case POWER_SUPPLY_PROP_MODEL_NAME: - val->strval = bat_info->name; - break; default: return -EINVAL; } -err: - return ret; } static void gab_work(struct work_struct *work) @@ -235,7 +181,6 @@ static int gab_probe(struct platform_device *pdev) struct gab *adc_bat; struct power_supply_desc *psy_desc; struct power_supply_config psy_cfg = {}; - struct gab_platform_data *pdata = pdev->dev.platform_data; enum power_supply_property *properties; int ret = 0; int chan; @@ -248,7 +193,7 @@ static int gab_probe(struct platform_device *pdev) psy_cfg.drv_data = adc_bat; psy_desc = &adc_bat->psy_desc; - psy_desc->name = pdata->battery_info.name; + psy_desc->name = dev_name(&pdev->dev); /* bootup default values for the battery */ adc_bat->cable_plugged = false; @@ -256,7 +201,6 @@ static int gab_probe(struct platform_device *pdev) psy_desc->type = POWER_SUPPLY_TYPE_BATTERY; psy_desc->get_property = gab_get_property; psy_desc->external_power_changed = gab_ext_power_changed; - adc_bat->pdata = pdata; /* * copying the static properties and allocating extra memory for holding @@ -309,6 +253,7 @@ static int gab_probe(struct platform_device *pdev) */ psy_desc->properties = properties; psy_desc->num_properties = index; + psy_desc->expose_battery_info = true; adc_bat->psy = devm_power_supply_register(&pdev->dev, psy_desc, &psy_cfg); if (IS_ERR(adc_bat->psy)) diff --git a/include/linux/power/generic-adc-battery.h b/include/linux/power/generic-adc-battery.h deleted file mode 100644 index 54434e4304d3..000000000000 --- a/include/linux/power/generic-adc-battery.h +++ /dev/null @@ -1,18 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-only */ -/* - * Copyright (C) 2012, Anish Kumar - */ - -#ifndef GENERIC_ADC_BATTERY_H -#define GENERIC_ADC_BATTERY_H - -/** - * struct gab_platform_data - platform_data for generic adc iio battery driver. - * @battery_info: recommended structure to specify static power supply - * parameters - */ -struct gab_platform_data { - struct power_supply_info battery_info; -}; - -#endif /* GENERIC_ADC_BATTERY_H */ From patchwork Thu Mar 9 22:50:39 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sebastian Reichel X-Patchwork-Id: 67162 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp570545wrd; Thu, 9 Mar 2023 15:05:00 -0800 (PST) X-Google-Smtp-Source: AK7set9CkeHhOVL9IEc+RRhovQizS3QPQBZ5oMgpM+QtWYYhaePGqNuJtvnQ7+S0TXG5WFpZnaX6 X-Received: by 2002:a05:6a20:8ba7:b0:d0:76e3:16e6 with SMTP id m39-20020a056a208ba700b000d076e316e6mr7681890pzh.12.1678403100519; Thu, 09 Mar 2023 15:05:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1678403100; cv=none; d=google.com; s=arc-20160816; b=NHjDFSJaqeeSqBEOiBRnKUQvl7NZSYO1iCNE3iHDaf8xH1CJWD0SZChJkVs7x73Yqc HbrPXp0jRFIvtQQ+n4vl4bZdzKzWhURINWhF6gDkXdUGof+PemBfElsMVe8UYLG5IR8j 9E2RbugfgfK9QcnikDxmY1k7KGb5ehIEcpG+WDnxn04cP3Zelc6q92o04eYzp7XcvdJX BGu1uf7P0cXNcRG8Zr6Y4Zr0hvnIpkvQPyf843QR3HuVvdyvPWoCKm9jwcNuLp9pGIU8 yv5pB8CTuCaoWNP7b+tTv8tM5WF8zZ+f7iiRkpKaPxgMzWFSoFfvL/Jlnu0pa2KXEazw rAPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=W+CYzU+21OdQjiFoHw5wA7bg0ln4u4gzm6qlLNPxLv8=; b=o9cusoJtrxi7Tev94gt3+vmrC/AP2PCRCfP2aLvEvdDnvus49ZRgo185nDRe0Tehvz u0rfWTNH+DWdaiadXJPVRNuzXEZuxuVGRR0q32LrCSYu8HOMuvrVS9PBJqna4i/HyNPL D+ORY6AN+EFJ6QAEVzxgUu0gApi3sJzajP/dtKUq0J4clnfHaFnnFSQAe+aasKXQ+I/H 181Xt8fUay0MM3NhkAFyMHDAX+nzX9KOTj98w5so7P3PPeXDgO4g4qQKcqpe+x6rW4dw hFwlgaOAEZOH2FxgFtOiUiDRNOzyv7QP3cR1gK/eEPk+sPEq/yLDp/zv80aZk1UyEXQa Z8CQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=Pww8Y39u; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id h3-20020a056a00000300b005a8ac3b6192si308136pfk.144.2023.03.09.15.04.45; Thu, 09 Mar 2023 15:05:00 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=Pww8Y39u; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231555AbjCIWvV (ORCPT + 99 others); Thu, 9 Mar 2023 17:51:21 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56564 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231443AbjCIWvA (ORCPT ); Thu, 9 Mar 2023 17:51:00 -0500 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 35123E4D8B; Thu, 9 Mar 2023 14:50:53 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 59F8561D1D; Thu, 9 Mar 2023 22:50:49 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9BF22C433A1; Thu, 9 Mar 2023 22:50:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1678402248; bh=VNPfceYdTa2oGjCGoB+LsPxhV3yGArTJZyG+RrFRufQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Pww8Y39uuXBt+nherJ04UzfjKkKoVoX1ftmIk/DTOku89PYtHhehnztGiUaJdFiue mN9XUYw/YmbE+2LPTh8IKLn5FMLiXuGL8zLMAJHIykb7D5Hlpj8xhwv3X56mYURFLz DEXSBlIEKZEWFsVB+fBLj9FVdGwMRPsznvcIuZksLt5qMFcByLqeZssDV+y36Gg6Mq sngvaV2MTRjzORzTOY3Uc/K70TnkrVBC5JQy4gc+6Dq/VW1OOnHcE0ceZtrigeOy1J dEFgLsYPpVtT0TSnxgKYJqDRGGEUDWhel8aicUaZ7eshHJzgdFFh5fHXoHki/y7Tid E6sw2GCm5gFhw== Received: by mercury (Postfix, from userid 1000) id 69F821060FD4; Thu, 9 Mar 2023 23:50:43 +0100 (CET) From: Sebastian Reichel To: Sebastian Reichel Cc: Linus Walleij , Matti Vaittinen , Rob Herring , Krzysztof Kozlowski , linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, devicetree@vger.kernel.org Subject: [PATCHv1 09/11] power: supply: generic-adc-battery: simplify read_channel logic Date: Thu, 9 Mar 2023 23:50:39 +0100 Message-Id: <20230309225041.477440-10-sre@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230309225041.477440-1-sre@kernel.org> References: <20230309225041.477440-1-sre@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1759933209329578375?= X-GMAIL-MSGID: =?utf-8?q?1759933209329578375?= Drop mostly useless gab_prop_to_chan() function by directly supplying the correct enum value to read_channel(). Signed-off-by: Sebastian Reichel Reviewed-by: Linus Walleij Reviewed-by: Matti Vaittinen --- drivers/power/supply/generic-adc-battery.c | 31 ++++------------------ 1 file changed, 5 insertions(+), 26 deletions(-) diff --git a/drivers/power/supply/generic-adc-battery.c b/drivers/power/supply/generic-adc-battery.c index fc6fcfda1ef2..7bc54566664f 100644 --- a/drivers/power/supply/generic-adc-battery.c +++ b/drivers/power/supply/generic-adc-battery.c @@ -86,31 +86,12 @@ static bool gab_charge_finished(struct gab *adc_bat) return gpiod_get_value(adc_bat->charge_finished); } -static enum gab_chan_type gab_prop_to_chan(enum power_supply_property psp) -{ - switch (psp) { - case POWER_SUPPLY_PROP_POWER_NOW: - return GAB_POWER; - case POWER_SUPPLY_PROP_VOLTAGE_NOW: - return GAB_VOLTAGE; - case POWER_SUPPLY_PROP_CURRENT_NOW: - return GAB_CURRENT; - default: - WARN_ON(1); - break; - } - return GAB_POWER; -} - -static int read_channel(struct gab *adc_bat, enum power_supply_property psp, +static int read_channel(struct gab *adc_bat, enum gab_chan_type channel, int *result) { int ret; - int chan_index; - chan_index = gab_prop_to_chan(psp); - ret = iio_read_channel_processed(adc_bat->channel[chan_index], - result); + ret = iio_read_channel_processed(adc_bat->channel[channel], result); if (ret < 0) pr_err("read channel error\n"); else @@ -129,13 +110,11 @@ static int gab_get_property(struct power_supply *psy, val->intval = adc_bat->status; return 0; case POWER_SUPPLY_PROP_VOLTAGE_NOW: + return read_channel(adc_bat, GAB_VOLTAGE, &val->intval); case POWER_SUPPLY_PROP_CURRENT_NOW: + return read_channel(adc_bat, GAB_CURRENT, &val->intval); case POWER_SUPPLY_PROP_POWER_NOW: - ret = read_channel(adc_bat, psp, &result); - if (ret < 0) - goto err; - val->intval = result; - break; + return read_channel(adc_bat, GAB_POWER, &val->intval); default: return -EINVAL; } From patchwork Thu Mar 9 22:50:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sebastian Reichel X-Patchwork-Id: 67160 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp563733wrd; Thu, 9 Mar 2023 14:54:52 -0800 (PST) X-Google-Smtp-Source: AK7set9l6D+Ek/Ym/P2t0Jqxdnx+BhcW126Ma2ZmS5DapUUKcGqx20hYPREe2D3b/LDszX2faMqn X-Received: by 2002:a17:902:f54f:b0:19d:164e:5565 with SMTP id h15-20020a170902f54f00b0019d164e5565mr23211047plf.56.1678402491735; Thu, 09 Mar 2023 14:54:51 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1678402491; cv=none; d=google.com; s=arc-20160816; b=WZeWUxfsw5hexOt3hO2TUL/YogFE3x26Z6PvUvHC59lU7QKmKMwqwdhJ4FbC5soxOW bs6azwu5/sASqpbQUIPs3cVm/UP9jmGIZVf9fjFoDHYAFptUH2CYk85/PW+CsdH6yD82 D+r+58t8I6Tt0H2Isrs6PfUnPIIiVYvevIPTALnmQBPStRuLkUUDVpU+Lpb1cl49Ud0D AXba1H/FRkVEPxRJrakALJKZ/9Kz7H8c8HnKD3i0Mu/RSBvTRxgz5vrJFEiZCfibZu1X vkNgHeN308gVapg0JGYjbp2RdrsYV0w/urG/RYNgoyRAoSZA42En74qkSVXDyi14zFQh GguQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=0J2CBwizis+0v3FTB5LkMlTjPxWsrBEyZ38coXc8BUs=; b=PDYvZSgib8MfD2CgafwatuSyuTgH430brXF9mjyPVOkLGOcRYi/XEJBdUEUbD8t8cm SPTn9MxfkgzcnvzYQ2bz6LGfBF4sW3xxgHNzsZmEXsIRYLLVjkc9W9bYJQAD4Yz1s5RO COdHEa4zKgzH/JRa2Rd7TlockOfivjPt9K9AedRDMnG1d1yXgqLBG+K0RRVFbAAjGsor 17SCfq97aielpfMDmWAPNk1FS7jgqZgAvuHrReh9JFefkPYNWrHGmMoq68gr/TBGte0K CLibOdYex8zKZV+lha8ou0Giv9Kuf2tQMmbseMJNMEmnYrZ/7k+KY3QM9PcJhXk4tSce fduA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="B/huSY6T"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id lf14-20020a170902fb4e00b0019caa175f94si410965plb.414.2023.03.09.14.54.38; Thu, 09 Mar 2023 14:54:51 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="B/huSY6T"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231533AbjCIWva (ORCPT + 99 others); Thu, 9 Mar 2023 17:51:30 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56582 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231315AbjCIWvA (ORCPT ); Thu, 9 Mar 2023 17:51:00 -0500 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EBEBFE4C5E; Thu, 9 Mar 2023 14:50:53 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id C3A476144D; Thu, 9 Mar 2023 22:50:49 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id A6891C4339C; Thu, 9 Mar 2023 22:50:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1678402248; bh=z3LXcJW+sEBhmEZPY8ualsCbQ2lqWkL1B6hI4RYGoAU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=B/huSY6Tk3xFD3nSML276xY1+bAdQsv1uAJXa4YOLzLXQrq6LLzMdzLyu8+L1+6mI rSt2/P3uwGrYYQEhM2XN8XviPow5lY3kopYU0EIT7RXINO8c6rXHY54IjVQsSOam4y W/kCYw1DJtvdYvB0euDGSc31kRBmh7ZxGILjL6pkd/6zZS2YVDVvKEHu/geofzWHFt TSDJhqYUnihK7KzVRCshCTGR5zDeDH9pUigE4lJW2W6LM29i6VoyV4EPhF9KI7YQHI p75OBuTDkgi2hVY2WaAfepOsM+WI48QgOO+98qMc0Jc7sJOUcreJBL31/GiINr55gO Gb0Da6njfhlUQ== Received: by mercury (Postfix, from userid 1000) id 6C08D1061BBD; Thu, 9 Mar 2023 23:50:43 +0100 (CET) From: Sebastian Reichel To: Sebastian Reichel Cc: Linus Walleij , Matti Vaittinen , Rob Herring , Krzysztof Kozlowski , linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, devicetree@vger.kernel.org Subject: [PATCHv1 10/11] power: supply: generic-adc-battery: add DT support Date: Thu, 9 Mar 2023 23:50:40 +0100 Message-Id: <20230309225041.477440-11-sre@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230309225041.477440-1-sre@kernel.org> References: <20230309225041.477440-1-sre@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1759932571159548869?= X-GMAIL-MSGID: =?utf-8?q?1759932571159548869?= This adds full DT support to the driver. Because of the previous changes just adding a compatible value is enough. Signed-off-by: Sebastian Reichel Reviewed-by: Linus Walleij Reviewed-by: Matti Vaittinen --- drivers/power/supply/generic-adc-battery.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/power/supply/generic-adc-battery.c b/drivers/power/supply/generic-adc-battery.c index 7bc54566664f..436e75d226ed 100644 --- a/drivers/power/supply/generic-adc-battery.c +++ b/drivers/power/supply/generic-adc-battery.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #define JITTER_DEFAULT 10 /* hope 10ms is enough */ @@ -170,6 +171,7 @@ static int gab_probe(struct platform_device *pdev) if (!adc_bat) return -ENOMEM; + psy_cfg.of_node = pdev->dev.of_node; psy_cfg.drv_data = adc_bat; psy_desc = &adc_bat->psy_desc; psy_desc->name = dev_name(&pdev->dev); @@ -284,10 +286,17 @@ static int __maybe_unused gab_resume(struct device *dev) static SIMPLE_DEV_PM_OPS(gab_pm_ops, gab_suspend, gab_resume); +static const struct of_device_id gab_match[] = { + { .compatible = "adc-battery" }, + { } +}; +MODULE_DEVICE_TABLE(of, gab_match); + static struct platform_driver gab_driver = { .driver = { .name = "generic-adc-battery", .pm = &gab_pm_ops, + .of_match_table = gab_match, }, .probe = gab_probe, }; From patchwork Thu Mar 9 22:50:41 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sebastian Reichel X-Patchwork-Id: 67157 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp563622wrd; Thu, 9 Mar 2023 14:54:30 -0800 (PST) X-Google-Smtp-Source: AK7set92T+ywwlPC04pxw+xO2y9Wh+IAwlSzgp3elq/embOuIcgHRILEDXR2xc54RtVuQienJFp7 X-Received: by 2002:a05:6a20:7d86:b0:cd:6f68:98d6 with SMTP id v6-20020a056a207d8600b000cd6f6898d6mr29146717pzj.0.1678402470661; Thu, 09 Mar 2023 14:54:30 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1678402470; cv=none; d=google.com; s=arc-20160816; b=Pxyhsz8fJrgZUoHVig6tp96ZEibob2p5fgKUTOVbGBu9DPCapYN6HvlkkmPKfEB15A T3EYOvM312AGFmIhV1jWIXOQghNYYvaLqhaNH3quuXanqGBPAxdtOgoDbs7EunsMiAns l3hlmBOFegnMkLxKZtILGD/T5ldfsJNamD/DRju8bIoCYdgFLG7x3H5uKZoaFAXLDzrI waleaIeC+3mBO3SKxxkB1Z+ExkWonTLQHd/JblplY5hQiBQ0u3kJMfrWczQwGszHxqCj C3Q0srvDqt9CFA6wQMlTLraf+3aZQtWSrKZ99cD9qrgvDGy/RnEHl3BxPqLOhPhnd8gQ SSjA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=ICZxKZwFRHgag9IvW1GHXXPiCeM0Tvsvk6fSmzzY9Yg=; b=KhlTpBMYsQ9UFSvfXBj3X501bupGVHRwhQov5lG3W1Xdj5Mk+yV+9pEGTeJoFi77u6 O9SoJKvUI9w4vMRrI5JDBM/QqVmegeug/KaTCZgLiV6gGGMsiOOGiQGk5Z+XOKsUA+6A CJExsy8VWspZIHHICBZPmDZNn943wKLsiRM4lDJbHlBFENMml/QsVcNCAERr4y2CLe/5 L3X9j63/T9sQd08FEtNE863qdd0Wq9ooItp+jBqd6NAH8bcK7Vr6bdHiwhdkg0GP181Y wHoprq33IBdEkRFw5safwhbcnyO35qJZZFG1VJdo39PZfWmjTicZKmwuQ+4CG3lfDnvT dfTQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="K/POFntf"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id h131-20020a636c89000000b004ce5301ee14si246724pgc.763.2023.03.09.14.54.17; Thu, 09 Mar 2023 14:54:30 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="K/POFntf"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231443AbjCIWvY (ORCPT + 99 others); Thu, 9 Mar 2023 17:51:24 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56572 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231445AbjCIWvA (ORCPT ); Thu, 9 Mar 2023 17:51:00 -0500 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EB9993C791; Thu, 9 Mar 2023 14:50:53 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id C824C61D20; Thu, 9 Mar 2023 22:50:49 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id A8FFDC433A7; Thu, 9 Mar 2023 22:50:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1678402248; bh=B2rIHqE7234kAZRPUOTS1Nsn1bhxYVZgs/rCANZZIM4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=K/POFntf5lpb9LQj2VkYsSIlG8RQ3Q/A+qI5ewAi6EX3N1+cz5v5PSseS20Hef/6b k3vhzADdubr1dVbWfpsp+HRZTpuHY5uVtHPIq++0J3FN/jA3X0aOyjmPaoIe2EhLj2 vDlO8Mmgo86jiUgDa/5Sw4JZH5Ks91rZrRI6c8/d02Z8jeVanxTWoll8d/QQE//rl+ Kyn7+epqDLDNsYCmyTxnBowOpSxTqeuKne/RR7JmjNO6k66oshlh8D2nUcadV121cB Lnn+JToPmWnzZhF67rDlXpg5xc3+lBmYe2LCBTSPQ8Unq29Jk5bZ3BQw0q/mLmg0LK DVsIncTovlZyw== Received: by mercury (Postfix, from userid 1000) id 6DFA51061BBE; Thu, 9 Mar 2023 23:50:43 +0100 (CET) From: Sebastian Reichel To: Sebastian Reichel Cc: Linus Walleij , Matti Vaittinen , Rob Herring , Krzysztof Kozlowski , linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, devicetree@vger.kernel.org Subject: [PATCHv1 11/11] power: supply: generic-adc-battery: update copyright info Date: Thu, 9 Mar 2023 23:50:41 +0100 Message-Id: <20230309225041.477440-12-sre@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230309225041.477440-1-sre@kernel.org> References: <20230309225041.477440-1-sre@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1759932548814765299?= X-GMAIL-MSGID: =?utf-8?q?1759932548814765299?= jz4740-battery.c and s3c_adc_battery.c have been removed from the tree and after all of my restructuring the driver is basically no longer based on them. Thus update the copyright information and switch to SPDX license identifier while being at it. Signed-off-by: Sebastian Reichel Reviewed-by: Linus Walleij Reviewed-by: Matti Vaittinen --- drivers/power/supply/generic-adc-battery.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/drivers/power/supply/generic-adc-battery.c b/drivers/power/supply/generic-adc-battery.c index 436e75d226ed..ac72140dc136 100644 --- a/drivers/power/supply/generic-adc-battery.c +++ b/drivers/power/supply/generic-adc-battery.c @@ -1,13 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0 /* - * Generic battery driver code using IIO + * Generic battery driver using IIO * Copyright (C) 2012, Anish Kumar - * based on jz4740-battery.c - * based on s3c_adc_battery.c - * - * This file is subject to the terms and conditions of the GNU General Public - * License. See the file COPYING in the main directory of this archive for - * more details. - * + * Copyright (c) 2023, Sebastian Reichel */ #include #include