From patchwork Wed Jun 27 11:52:56 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vinod Koul X-Patchwork-Id: 141532 Delivered-To: patch@linaro.org Received: by 2002:a2e:9754:0:0:0:0:0 with SMTP id f20-v6csp765420ljj; Wed, 27 Jun 2018 04:53:45 -0700 (PDT) X-Google-Smtp-Source: ADUXVKJXqnVFxrM9GDfZja9CW0ZewEcvGOmE3nDtKCA1tL+KvfnoofePxK6kJickVyq2f7SRcbMc X-Received: by 2002:a63:7e45:: with SMTP id o5-v6mr4746973pgn.400.1530100425686; Wed, 27 Jun 2018 04:53:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1530100425; cv=none; d=google.com; s=arc-20160816; b=xCmr6LdK03FO5ECAn8E+VvD/VrMlDhOiuHWgx9G7kySXhybgYqzN5ccK5pZsN7fj3X 30LVOWAw0TD2grGvOLgdygeXQg0N4gAPYflaoJ+cwNymha5uTVcn09jnLfbrnUTtAmve 6vG1wCzoJzQLcaXmeqn3Rdmo+EuDIwihuKruk7sEjdJlx6fiBSMdXSn1FNujjuwiS4ZY x9MGQrQi4/IqZytKjt8jo9gOvDc5yYaLXtpFcj4GeIn7q3sNoKqxIzTtSCDMsgXtOmXd CXa2nu5mhWByUTphdWS/KgshmZf08zPf3x9Ae2vdKOz3ndXk40m7AoquIOsHDGmnOL/m kENQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=eYFirzok9wdLHh1djHqQ1y6UwPByMEHRaS2p2dYmF8k=; b=JG+TnPY2zZ4hDqCK61FNw2nG5qHUM5J9iaIIV9Np2Uqpkg5/ZAxf9nBxAfomHPEN8h B35B1hW54umE+IRRpRiBkeDBmtItd4njuACwRNNGXzPOiE9JusKEEzDzo+iG6BU+64Oe F5lx67fQUE4bTD59/m1k/9pw+Knelz/9E2+NFliTfrIC+4bV/93BxDIYHNWAPAnzv8l1 1jR9dtW82HinMjKyTNSMPl7cgxRp4HJegOJpzocazgFqC62NL3ukUpmGidNmpS6uOieG nXMP0/Cx2oPv5zAJEq/uLrvNCSN8hNsmufIbKefJ2ji8rrHZXYmPdFpB0LbNwtYlvPBU U7Dw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@kernel.org header.s=default header.b=vSAUwnmv; spf=pass (google.com: best guess record for domain of linux-arm-msm-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-arm-msm-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t21-v6si3384540pgb.553.2018.06.27.04.53.45; Wed, 27 Jun 2018 04:53:45 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-arm-msm-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@kernel.org header.s=default header.b=vSAUwnmv; spf=pass (google.com: best guess record for domain of linux-arm-msm-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-arm-msm-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753124AbeF0Lxo (ORCPT + 13 others); Wed, 27 Jun 2018 07:53:44 -0400 Received: from mail.kernel.org ([198.145.29.99]:35074 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933821AbeF0Lxm (ORCPT ); Wed, 27 Jun 2018 07:53:42 -0400 Received: from localhost.localdomain (unknown [106.201.61.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id EEE8521725; Wed, 27 Jun 2018 11:53:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1530100422; bh=egAjrg1yzTNg5UFnxaVx03jxSSSK+Q1OP8Eb4q4cOXw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=vSAUwnmv/f4zv0ZBv3Ce8NTX45g1plSHRjTdeufPut/B8UJpJqFpSXeY8L7H5WPFb eg66pvv2jNT1sV1nbs8AA0vmZ8jrqwEEXANgI1vQ33bNTkk5hiVb82ET6RZEwdL2uN s8v/H0RnA4Dm6gly2AV4ZRHeYQImJ0sG7eDC70kc= From: Vinod Koul To: linux-input@vger.kernel.org, linux-pm@vger.kernel.org Cc: Bjorn Andersson , Dmitry Torokhov , Rob Herring , Sebastian Reichel , devicetree@vger.kernel.org, linux-arm-msm@vger.kernel.org, Vinod Koul Subject: [PATCH v4 1/6] dt-bindings: power: reset: Add qcom pon binding Date: Wed, 27 Jun 2018 17:22:56 +0530 Message-Id: <20180627115301.21330-2-vkoul@kernel.org> X-Mailer: git-send-email 2.14.4 In-Reply-To: <20180627115301.21330-1-vkoul@kernel.org> References: <20180627115301.21330-1-vkoul@kernel.org> Sender: linux-arm-msm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org The Power On device for Qcom PM 8xxx is a MFD supporting pwrkey and resin along with the Android reboot-mode. Add the binding describing this. Suggested-by: Bjorn Andersson Reviewed-by: Bjorn Andersson Signed-off-by: Vinod Koul --- .../devicetree/bindings/power/reset/qcom,pon.txt | 35 ++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 Documentation/devicetree/bindings/power/reset/qcom,pon.txt -- 2.14.4 -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/Documentation/devicetree/bindings/power/reset/qcom,pon.txt b/Documentation/devicetree/bindings/power/reset/qcom,pon.txt new file mode 100644 index 000000000000..f32cdd358267 --- /dev/null +++ b/Documentation/devicetree/bindings/power/reset/qcom,pon.txt @@ -0,0 +1,35 @@ +Qualcomm PON Device + +The Power On device for Qualcomm PM8xxx is MFD supporting pwrkey +along with the Android reboot-mode. + +This DT node has pwrkey as sub node. + +Required Properties: +-compatible: "qcom,pm8916-pon" +-reg: Specifies the physical address of the pon register + +Optional subnode: +-pwrkey: Specifies the subnode pwrkey and should follow the + qcom,pm8941-pwrkey.txt description. + +The rest of the properties should follow the generic reboot-mode description +found in reboot-mode.txt + +Example: + + pon@800 { + compatible = "qcom,pm8916-pon"; + + reg = <0x800>; + mode-bootloader = <0x2>; + mode-recovery = <0x1>; + + pwrkey { + compatible = "qcom,pm8941-pwrkey"; + interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>; + debounce = <15625>; + bias-pull-up; + linux,code = ; + }; + }; From patchwork Wed Jun 27 11:52:59 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vinod Koul X-Patchwork-Id: 141577 Delivered-To: patch@linaro.org Received: by 2002:a2e:9754:0:0:0:0:0 with SMTP id f20-v6csp765948ljj; Wed, 27 Jun 2018 04:54:20 -0700 (PDT) X-Google-Smtp-Source: AAOMgpfx81vFKhX4LMZaYVY7Nzrpbhn7dt4xaFjvK4Uzwz+02UxS2NCQyXH8wRmkMtiVh6ZZnjeG X-Received: by 2002:aa7:81d3:: with SMTP id c19-v6mr5564396pfn.224.1530100460336; Wed, 27 Jun 2018 04:54:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1530100460; cv=none; d=google.com; s=arc-20160816; b=K3Jo8W/QqSz8KtrGmtRnUPrVnooIaSuHvbV0RpYq3t7Si3WjlhE+wTsdxJaYMpkFVT HaKr6D0WIU8Wb1XyTHY/4JjZcZJhfYyZ8yOXy+esqqI/H8zAYnYM9rjPuoC8qsE0RNNt 9ANyRcEp3I4p/q/ScztbFE9bfUROSw4dfF/6yYXuhgX/KToWYGzaObBvx6HXMf0RsD31 rt8DjTdckO9MqkjLs+O5ViO/moMJjKW5GHF5Hf30klQa6efc9PjaYG/qb6LZCINv80Tj IMg65WMhwPj4iF/VCzYeE2E1iT0pjZ5pE83hizqHqYwTbMx7c6qgQRSAY6XtdpWDz8SB exjw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=/6xDysycZGbzmHkViUHKYF9Zt28vSPuboyZvljrKBpE=; b=NLYnUmMC2ALnFtPrS2d57Qji7J3hD9zkqLQoxiTgzgBNHxarerTvcy/1SoKK64RTLr 8reUoLCl7ptI8WKuWMfAHGX2Xmtz598vLAahUeK5ROhQtdKVRqWiDEGMOLkZoEGHwWG7 XaGETIl4vkNukU+Mjkt9vSS2W0KJpe9CjxhOzeUqpzPRACb5E7K1d56LYk8CkNsx4o/l MEzlih991iwnxSIu1465PthEWSncehs8df+98xWaAlr4eaBvVTxP1Gy6y11bqHAPt/8k NVIk8MrfYueCfSGCGRx+KoQJyrduo6KdSk5U199y8Ua7dyIJEE6w6LZ0t3HX1+9dYcHM 2jaA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@kernel.org header.s=default header.b=QrUXDYuG; spf=pass (google.com: best guess record for domain of linux-arm-msm-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-arm-msm-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h6-v6si3198827pgq.612.2018.06.27.04.54.20; Wed, 27 Jun 2018 04:54:20 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-arm-msm-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@kernel.org header.s=default header.b=QrUXDYuG; spf=pass (google.com: best guess record for domain of linux-arm-msm-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-arm-msm-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S964926AbeF0LyS (ORCPT + 13 others); Wed, 27 Jun 2018 07:54:18 -0400 Received: from mail.kernel.org ([198.145.29.99]:36566 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933830AbeF0Lxv (ORCPT ); Wed, 27 Jun 2018 07:53:51 -0400 Received: from localhost.localdomain (unknown [106.201.61.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 7BB7524EEB; Wed, 27 Jun 2018 11:53:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1530100430; bh=REHIuA6Z1012OXNqOE+CKt6KOowxQYKTrI3QpL4HArk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=QrUXDYuGaTi5wVtfm741ph6vyEF/S98rd2MFNLF12VIkhf8Ok63mx8tLY0ZdGo3jH VUAD6JP1FgS8EXzfBFZye/Q4T5r+pPgb4QGjGCh1M1ek8eyZFfiI8YX/vJiMWrR50B W7n5Di2dkNi5Y/DFcKaM3O26HdXPArp4jWo45nHA= From: Vinod Koul To: linux-input@vger.kernel.org, linux-pm@vger.kernel.org Cc: Bjorn Andersson , Dmitry Torokhov , Rob Herring , Sebastian Reichel , devicetree@vger.kernel.org, linux-arm-msm@vger.kernel.org, Vinod Koul Subject: [PATCH v4 4/6] input: pm8941-pwrkey: Abstract register offsets and event code Date: Wed, 27 Jun 2018 17:22:59 +0530 Message-Id: <20180627115301.21330-5-vkoul@kernel.org> X-Mailer: git-send-email 2.14.4 In-Reply-To: <20180627115301.21330-1-vkoul@kernel.org> References: <20180627115301.21330-1-vkoul@kernel.org> Sender: linux-arm-msm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org In order to support resin thru the pwrkey driver (they are very similar in nature) we need to abstract the handling in this driver. First we abstract pull_up_bit and status_bit along in driver data. The event code sent for key events is quiried from DT. Since the device can be child of pon lookup regmap and reg from parent if lookup fails (we are child). Reviewed-by: Bjorn Andersson Signed-off-by: Vinod Koul --- drivers/input/misc/pm8941-pwrkey.c | 61 ++++++++++++++++++++++++++++++-------- 1 file changed, 48 insertions(+), 13 deletions(-) -- 2.14.4 -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/drivers/input/misc/pm8941-pwrkey.c b/drivers/input/misc/pm8941-pwrkey.c index 18ad956454f1..2047e34c0982 100644 --- a/drivers/input/misc/pm8941-pwrkey.c +++ b/drivers/input/misc/pm8941-pwrkey.c @@ -20,6 +20,7 @@ #include #include #include +#include #include #include #include @@ -42,6 +43,10 @@ #define PON_DBC_CTL 0x71 #define PON_DBC_DELAY_MASK 0x7 +struct pm8941_data { + unsigned int pull_up_bit; + unsigned int status_bit; +}; struct pm8941_pwrkey { struct device *dev; @@ -52,6 +57,9 @@ struct pm8941_pwrkey { unsigned int revision; struct notifier_block reboot_notifier; + + u32 code; + const struct pm8941_data *data; }; static int pm8941_reboot_notify(struct notifier_block *nb, @@ -124,7 +132,8 @@ static irqreturn_t pm8941_pwrkey_irq(int irq, void *_data) if (error) return IRQ_HANDLED; - input_report_key(pwrkey->input, KEY_POWER, !!(sts & PON_KPDPWR_N_SET)); + input_report_key(pwrkey->input, pwrkey->code, + sts & pwrkey->data->status_bit); input_sync(pwrkey->input); return IRQ_HANDLED; @@ -157,6 +166,7 @@ static int pm8941_pwrkey_probe(struct platform_device *pdev) { struct pm8941_pwrkey *pwrkey; bool pull_up; + struct device *parent; u32 req_delay; int error; @@ -175,12 +185,30 @@ static int pm8941_pwrkey_probe(struct platform_device *pdev) return -ENOMEM; pwrkey->dev = &pdev->dev; + pwrkey->data = of_device_get_match_data(&pdev->dev); - pwrkey->regmap = dev_get_regmap(pdev->dev.parent, NULL); + parent = pdev->dev.parent; + pwrkey->regmap = dev_get_regmap(parent, NULL); if (!pwrkey->regmap) { - dev_err(&pdev->dev, "failed to locate regmap\n"); - return -ENODEV; + /* + * we failed to get regmap for parent + * Check if we are child on pon and read regmap and reg from + * parent + */ + pwrkey->regmap = dev_get_regmap(parent->parent, NULL); + if (!pwrkey->regmap) { + dev_err(&pdev->dev, "failed to locate regmap\n"); + return -ENODEV; + } + + error = of_property_read_u32(parent->of_node, + "reg", &pwrkey->baseaddr); + } else { + error = of_property_read_u32(pdev->dev.of_node, "reg", + &pwrkey->baseaddr); } + if (error) + return error; pwrkey->irq = platform_get_irq(pdev, 0); if (pwrkey->irq < 0) { @@ -188,11 +216,6 @@ static int pm8941_pwrkey_probe(struct platform_device *pdev) return pwrkey->irq; } - error = of_property_read_u32(pdev->dev.of_node, "reg", - &pwrkey->baseaddr); - if (error) - return error; - error = regmap_read(pwrkey->regmap, pwrkey->baseaddr + PON_REV2, &pwrkey->revision); if (error) { @@ -200,13 +223,20 @@ static int pm8941_pwrkey_probe(struct platform_device *pdev) return error; } + error = of_property_read_u32(pdev->dev.of_node, "linux,code", + &pwrkey->code); + if (error) { + dev_info(&pdev->dev, "no linux,code assuming power%d\n", error); + pwrkey->code = KEY_POWER; + } + pwrkey->input = devm_input_allocate_device(&pdev->dev); if (!pwrkey->input) { dev_dbg(&pdev->dev, "unable to allocate input device\n"); return -ENOMEM; } - input_set_capability(pwrkey->input, EV_KEY, KEY_POWER); + input_set_capability(pwrkey->input, EV_KEY, pwrkey->code); pwrkey->input->name = "pm8941_pwrkey"; pwrkey->input->phys = "pm8941_pwrkey/input0"; @@ -225,8 +255,8 @@ static int pm8941_pwrkey_probe(struct platform_device *pdev) error = regmap_update_bits(pwrkey->regmap, pwrkey->baseaddr + PON_PULL_CTL, - PON_KPDPWR_PULL_UP, - pull_up ? PON_KPDPWR_PULL_UP : 0); + pwrkey->data->pull_up_bit, + pull_up ? pwrkey->data->pull_up_bit : 0); if (error) { dev_err(&pdev->dev, "failed to set pull: %d\n", error); return error; @@ -271,8 +301,13 @@ static int pm8941_pwrkey_remove(struct platform_device *pdev) return 0; } +static const struct pm8941_data pwrkey_data = { + .pull_up_bit = PON_KPDPWR_PULL_UP, + .status_bit = PON_KPDPWR_N_SET, +}; + static const struct of_device_id pm8941_pwr_key_id_table[] = { - { .compatible = "qcom,pm8941-pwrkey" }, + { .compatible = "qcom,pm8941-pwrkey", .data = &pwrkey_data }, { } }; MODULE_DEVICE_TABLE(of, pm8941_pwr_key_id_table); From patchwork Wed Jun 27 11:53:01 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vinod Koul X-Patchwork-Id: 141578 Delivered-To: patch@linaro.org Received: by 2002:a2e:9754:0:0:0:0:0 with SMTP id f20-v6csp765649ljj; Wed, 27 Jun 2018 04:54:01 -0700 (PDT) X-Google-Smtp-Source: ADUXVKKHjVZva8LTtPRwklAJ2qhrDedkUIjxhC8xbXMrqUClLZqxS60f7Y1M5r7O/XxY27tKaZVG X-Received: by 2002:a17:902:8341:: with SMTP id z1-v6mr5872606pln.40.1530100441537; Wed, 27 Jun 2018 04:54:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1530100441; cv=none; d=google.com; s=arc-20160816; b=cNQ75p0fGAEvDZZlR6w/3zDcwNoDh4Nfow7HWa5yzHfAPXPgKG/4uu7bCw1R+BA1Yd GRwBPAH9FPJ2DkGltiuE5/e6GEXJjIQtg4br7wjHC1qYTZ7oML0ZKRi3VrC4Ll1wJUVJ OerO5aguY2AXxKK09K1moGUpEtIExHL/Usn0cU4YmhOuEN3LS02NleIkTYOaedZVXrxH F1XsbPWWSmX7Wc0JlZA1H7xeJnGKdOen2/ZTlTqIqeaJhgdinJ2ODiy8yNJNk87l4Xsk brMvy/p+k1bHs2kBEfSPH1K4LDLF/ufioeqYibfT9K6avg1RgEMB/EA88n8OKZgufWJf Wk+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=dtW/QGGhsQ78SP962h82NKLTP+DAzSErEpAB92a2/Nc=; b=E52+0o5hO7kHi2upL2gexKSChC9UKEJLnMeilCBBR4aNCSxuUDEmVuBVJD9oE8JP8g df1nKVvYrAW167JTOOYxXv+BYq/Aw7bqYGM77DDqAoRMjaGVY2y2a3ot1ipiMUvuWUV4 f8uTxe7jPF0MPP+d8JD9DEiuq4jUPqE2E8m571WhvTDmHZN4xaPQ09S3dgn7gRJfVRlj vqAW46UXpjvO6yrIkP/1Tx30ew3RcmzuIbdQmV5p//lbAQrv6ZVKQUqTgp0SS2T6Sg3n bQ0xFjMel3CNk0KQhekEI9yd23ubCra9tsxewbn83b31+ZReO9ME+Bp25As1ggulM76U rohw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@kernel.org header.s=default header.b="1/PdYcc6"; spf=pass (google.com: best guess record for domain of linux-arm-msm-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-arm-msm-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l61-v6si3814836plb.507.2018.06.27.04.54.01; Wed, 27 Jun 2018 04:54:01 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-arm-msm-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@kernel.org header.s=default header.b="1/PdYcc6"; spf=pass (google.com: best guess record for domain of linux-arm-msm-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-arm-msm-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934205AbeF0Lx7 (ORCPT + 13 others); Wed, 27 Jun 2018 07:53:59 -0400 Received: from mail.kernel.org ([198.145.29.99]:37092 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753473AbeF0Lx5 (ORCPT ); Wed, 27 Jun 2018 07:53:57 -0400 Received: from localhost.localdomain (unknown [106.201.61.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 2E74822BE8; Wed, 27 Jun 2018 11:53:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1530100436; bh=18zSlxLW6hAhdBXWIFXD/MmFR9Mxa1xrsMWvFj3m/Bk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=1/PdYcc6ym7aB0lwF6lnkPIfCw6qVraLLZldTYC3vCTSpmEDZJl6247BkYPm527WX PTTmyKK0OwydR6T73r8eY//FMIxWKOVjOa0vERsjwRHwhflVGdDlzwp9hd6lnbz3qG WZ3ABh43UMu81XJ6z+VuyStWzMa3P71J5+r4tVws= From: Vinod Koul To: linux-input@vger.kernel.org, linux-pm@vger.kernel.org Cc: Bjorn Andersson , Dmitry Torokhov , Rob Herring , Sebastian Reichel , devicetree@vger.kernel.org, linux-arm-msm@vger.kernel.org, Vinod Koul Subject: [PATCH v4 6/6] input: pm8941-pwrkey: Add resin entry Date: Wed, 27 Jun 2018 17:23:01 +0530 Message-Id: <20180627115301.21330-7-vkoul@kernel.org> X-Mailer: git-send-email 2.14.4 In-Reply-To: <20180627115301.21330-1-vkoul@kernel.org> References: <20180627115301.21330-1-vkoul@kernel.org> Sender: linux-arm-msm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org Since handling is abstracted in this driver, we need to add resin entry in id table along with pwrkey_data. Reviewed-by: Bjorn Andersson Signed-off-by: Vinod Koul --- drivers/input/misc/pm8941-pwrkey.c | 8 ++++++++ 1 file changed, 8 insertions(+) -- 2.14.4 -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/drivers/input/misc/pm8941-pwrkey.c b/drivers/input/misc/pm8941-pwrkey.c index 2047e34c0982..6547a57f5222 100644 --- a/drivers/input/misc/pm8941-pwrkey.c +++ b/drivers/input/misc/pm8941-pwrkey.c @@ -29,6 +29,7 @@ #define PON_RT_STS 0x10 #define PON_KPDPWR_N_SET BIT(0) +#define PON_RESIN_N_SET BIT(1) #define PON_PS_HOLD_RST_CTL 0x5a #define PON_PS_HOLD_RST_CTL2 0x5b @@ -39,6 +40,7 @@ #define PON_PULL_CTL 0x70 #define PON_KPDPWR_PULL_UP BIT(1) +#define PON_RESIN_PULL_UP BIT(0) #define PON_DBC_CTL 0x71 #define PON_DBC_DELAY_MASK 0x7 @@ -306,8 +308,14 @@ static const struct pm8941_data pwrkey_data = { .status_bit = PON_KPDPWR_N_SET, }; +static const struct pm8941_data resin_data = { + .pull_up_bit = PON_RESIN_PULL_UP, + .status_bit = PON_RESIN_N_SET, +}; + static const struct of_device_id pm8941_pwr_key_id_table[] = { { .compatible = "qcom,pm8941-pwrkey", .data = &pwrkey_data }, + { .compatible = "qcom,pm8941-resin", .data = &resin_data }, { } }; MODULE_DEVICE_TABLE(of, pm8941_pwr_key_id_table);