summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVinod Koul <vkoul@kernel.org>2018-06-04 10:41:25 +0530
committerAmit Pundir <amit.pundir@linaro.org>2018-07-11 12:29:29 +0530
commit0121d2db4d1d9a54052e6c424d1cf3b80c941f4a (patch)
treea62be04c479aba5504db8f4136532b2c7ee42ac9
parentd18b2f650d4fc12023ada9254306a648ac8003a4 (diff)
squashme: pwrkey: remove pon_child
we can check pon child if regmap query fails and we cna lookup parent then, thus avoiding pon_child Signed-off-by: Vinod Koul <vkoul@kernel.org>
-rw-r--r--drivers/input/misc/pm8941-pwrkey.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/drivers/input/misc/pm8941-pwrkey.c b/drivers/input/misc/pm8941-pwrkey.c
index 36c431709355..389921e86c62 100644
--- a/drivers/input/misc/pm8941-pwrkey.c
+++ b/drivers/input/misc/pm8941-pwrkey.c
@@ -223,7 +223,7 @@ static void pm8941_resin_setup(struct platform_device *pdev,
static int pm8941_pwrkey_probe(struct platform_device *pdev)
{
struct pm8941_pwrkey *pwrkey;
- bool pull_up, pon_child;
+ bool pull_up;
struct device *parent;
u32 req_delay;
int error;
@@ -245,16 +245,18 @@ static int pm8941_pwrkey_probe(struct platform_device *pdev)
pwrkey->dev = &pdev->dev;
pwrkey->pull_up_offset = (unsigned long)of_device_get_match_data(&pdev->dev);
- pon_child = of_property_read_bool(pdev->dev.of_node, "pon_child");
- if (pon_child)
- parent = pdev->dev.parent->parent;
- else
- parent = pdev->dev.parent;
-
+ 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
+ * parent->parent has it (device would be child of pon)
+ */
+ pwrkey->regmap = dev_get_regmap(parent->parent, NULL);
+ if (!pwrkey->regmap) {
+ dev_err(&pdev->dev, "failed to locate regmap\n");
+ return -ENODEV;
+ }
}
pwrkey->irq = platform_get_irq(pdev, 0);