mfd: sec: Enable wakeup from suspend via devicetree property
authorKrzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Wed, 26 May 2021 12:47:10 +0000 (08:47 -0400)
committerLee Jones <lee.jones@linaro.org>
Wed, 2 Jun 2021 09:51:18 +0000 (10:51 +0100)
Set device wakeup capability from devicetree property (done by drivers
core), instead of always setting it to 0 (because value in platform data
is not assigned).

This should not have visible effect on actual resuming from suspend
because the child device - S5M RTC driver - is responsible for waking
up and sets device wakeup unconditionally.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/sec-core.c
include/linux/mfd/samsung/core.h

index a9d4fbc..1fb29c4 100644 (file)
@@ -298,12 +298,6 @@ sec_pmic_i2c_parse_dt_pdata(struct device *dev)
        if (!pd)
                return ERR_PTR(-ENOMEM);
 
-       /*
-        * ToDo: the 'wakeup' member in the platform data is more of a linux
-        * specfic information. Hence, there is no binding for that yet and
-        * not parsed here.
-        */
-
        pd->manual_poweroff = of_property_read_bool(dev->of_node,
                                                "samsung,s2mps11-acokb-ground");
        pd->disable_wrstbi = of_property_read_bool(dev->of_node,
@@ -337,7 +331,6 @@ static int sec_pmic_probe(struct i2c_client *i2c,
        }
 
        sec_pmic->device_type = (unsigned long)of_device_get_match_data(sec_pmic->dev);
-       sec_pmic->wakeup = pdata->wakeup;
        sec_pmic->pdata = pdata;
 
        switch (sec_pmic->device_type) {
@@ -429,7 +422,6 @@ static int sec_pmic_probe(struct i2c_client *i2c,
        if (ret)
                return ret;
 
-       device_init_wakeup(sec_pmic->dev, sec_pmic->wakeup);
        sec_pmic_configure(sec_pmic);
        sec_pmic_dump_rev(sec_pmic);
 
index 9864f13..b0d049a 100644 (file)
@@ -69,8 +69,6 @@ struct sec_pmic_dev {
        unsigned long device_type;
        int irq;
        struct regmap_irq_chip_data *irq_data;
-
-       bool wakeup;
 };
 
 int sec_irq_init(struct sec_pmic_dev *sec_pmic);
@@ -82,7 +80,6 @@ struct sec_platform_data {
        struct sec_opmode_data          *opmode;
        int                             num_regulators;
 
-       bool                            wakeup;
        bool                            buck_voltage_lock;
 
        int                             buck_gpios[3];