From 86c64761ef6e78b498a87c08efa1fd85db88d8df Mon Sep 17 00:00:00 2001 From: shengfei Xu Date: Sat, 13 Nov 2021 03:01:21 +0000 Subject: [PATCH] Input: powerkey: rk8xx: check the powerkey is available Signed-off-by: shengfei Xu Change-Id: I24162089c4ada3defd0a4cb066a632316934327b --- drivers/input/misc/rk805-pwrkey.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/input/misc/rk805-pwrkey.c b/drivers/input/misc/rk805-pwrkey.c index 3fb64dbda1a2..02e7b6e29429 100644 --- a/drivers/input/misc/rk805-pwrkey.c +++ b/drivers/input/misc/rk805-pwrkey.c @@ -13,6 +13,7 @@ #include #include #include +#include #include static irqreturn_t pwrkey_fall_irq(int irq, void *_pwr) @@ -39,8 +40,15 @@ static int rk805_pwrkey_probe(struct platform_device *pdev) { struct input_dev *pwr; int fall_irq, rise_irq; + struct device_node *np; int err; + np = of_get_child_by_name(pdev->dev.parent->of_node, "pwrkey"); + if (np && !of_device_is_available(np)) { + dev_info(&pdev->dev, "device is disabled\n"); + return -EINVAL; + } + pwr = devm_input_allocate_device(&pdev->dev); if (!pwr) { dev_err(&pdev->dev, "Can't allocate power button\n");