Input: use input_device_enabled()
authorAndrzej Pietrasiewicz <andrzej.p@collabora.com>
Mon, 5 Oct 2020 04:16:07 +0000 (21:16 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Thu, 3 Dec 2020 06:10:33 +0000 (22:10 -0800)
Use the newly added helper in relevant input drivers.

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
Link: https://lore.kernel.org/r/20200608112211.12125-3-andrzej.p@collabora.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
41 files changed:
drivers/input/input-poller.c
drivers/input/joystick/xpad.c
drivers/input/keyboard/ep93xx_keypad.c
drivers/input/keyboard/gpio_keys.c
drivers/input/keyboard/imx_keypad.c
drivers/input/keyboard/ipaq-micro-keys.c
drivers/input/keyboard/lpc32xx-keys.c
drivers/input/keyboard/pmic8xxx-keypad.c
drivers/input/keyboard/pxa27x_keypad.c
drivers/input/keyboard/samsung-keypad.c
drivers/input/keyboard/spear-keyboard.c
drivers/input/keyboard/st-keyscan.c
drivers/input/keyboard/tegra-kbc.c
drivers/input/misc/drv260x.c
drivers/input/misc/drv2665.c
drivers/input/misc/drv2667.c
drivers/input/misc/kxtj9.c
drivers/input/misc/sirfsoc-onkey.c
drivers/input/mouse/cyapa.c
drivers/input/mouse/cyapa_gen3.c
drivers/input/mouse/cyapa_gen5.c
drivers/input/mouse/navpoint.c
drivers/input/touchscreen/ad7879.c
drivers/input/touchscreen/atmel_mxt_ts.c
drivers/input/touchscreen/auo-pixcir-ts.c
drivers/input/touchscreen/bu21029_ts.c
drivers/input/touchscreen/chipone_icn8318.c
drivers/input/touchscreen/cyttsp_core.c
drivers/input/touchscreen/eeti_ts.c
drivers/input/touchscreen/ektf2127.c
drivers/input/touchscreen/imx6ul_tsc.c
drivers/input/touchscreen/ipaq-micro-ts.c
drivers/input/touchscreen/iqs5xx.c
drivers/input/touchscreen/lpc32xx_ts.c
drivers/input/touchscreen/melfas_mip4.c
drivers/input/touchscreen/mms114.c
drivers/input/touchscreen/pixcir_i2c_ts.c
drivers/input/touchscreen/ucb1400_ts.c
drivers/input/touchscreen/wm97xx-core.c
drivers/input/touchscreen/zforce_ts.c
drivers/input/touchscreen/zinitix.c

index 7d6b4e8..688e3cb 100644 (file)
@@ -166,7 +166,7 @@ static ssize_t input_dev_set_poll_interval(struct device *dev,
 
        poller->poll_interval = interval;
 
-       if (input->users) {
+       if (input_device_enabled(input)) {
                cancel_delayed_work_sync(&poller->work);
                if (poller->poll_interval > 0)
                        input_dev_poller_queue_work(poller);
index 2cd4296..e64c76c 100644 (file)
@@ -1902,7 +1902,7 @@ static int xpad_suspend(struct usb_interface *intf, pm_message_t message)
                        xpad360w_poweroff_controller(xpad);
        } else {
                mutex_lock(&input->mutex);
-               if (input->users)
+               if (input_device_enabled(input))
                        xpad_stop_input(xpad);
                mutex_unlock(&input->mutex);
        }
@@ -1922,7 +1922,7 @@ static int xpad_resume(struct usb_interface *intf)
                retval = xpad360w_start_input(xpad);
        } else {
                mutex_lock(&input->mutex);
-               if (input->users) {
+               if (input_device_enabled(input)) {
                        retval = xpad_start_input(xpad);
                } else if (xpad->xtype == XTYPE_XBOXONE) {
                        /*
index f831f01..c819433 100644 (file)
@@ -208,7 +208,7 @@ static int ep93xx_keypad_resume(struct device *dev)
 
        mutex_lock(&input_dev->mutex);
 
-       if (input_dev->users) {
+       if (input_device_enabled(input_dev)) {
                if (!keypad->enabled) {
                        ep93xx_keypad_config(keypad);
                        clk_enable(keypad->clk);
index a079504..77bac4d 100644 (file)
@@ -965,7 +965,7 @@ static int __maybe_unused gpio_keys_suspend(struct device *dev)
                        return error;
        } else {
                mutex_lock(&input->mutex);
-               if (input->users)
+               if (input_device_enabled(input))
                        gpio_keys_close(input);
                mutex_unlock(&input->mutex);
        }
@@ -983,7 +983,7 @@ static int __maybe_unused gpio_keys_resume(struct device *dev)
                gpio_keys_disable_wakeup(ddata);
        } else {
                mutex_lock(&input->mutex);
-               if (input->users)
+               if (input_device_enabled(input))
                        error = gpio_keys_open(input);
                mutex_unlock(&input->mutex);
        }
index 5a46d11..1f5c9ea 100644 (file)
@@ -532,7 +532,7 @@ static int __maybe_unused imx_kbd_noirq_suspend(struct device *dev)
        /* imx kbd can wake up system even clock is disabled */
        mutex_lock(&input_dev->mutex);
 
-       if (input_dev->users)
+       if (input_device_enabled(input_dev))
                clk_disable_unprepare(kbd->clk);
 
        mutex_unlock(&input_dev->mutex);
@@ -562,7 +562,7 @@ static int __maybe_unused imx_kbd_noirq_resume(struct device *dev)
 
        mutex_lock(&input_dev->mutex);
 
-       if (input_dev->users) {
+       if (input_device_enabled(input_dev)) {
                ret = clk_prepare_enable(kbd->clk);
                if (ret)
                        goto err_clk;
index e3f9e44..13a66a8 100644 (file)
@@ -140,7 +140,7 @@ static int __maybe_unused micro_key_resume(struct device *dev)
 
        mutex_lock(&input->mutex);
 
-       if (input->users)
+       if (input_device_enabled(input))
                micro_key_start(keys);
 
        mutex_unlock(&input->mutex);
index 348af2a..943aeeb 100644 (file)
@@ -273,7 +273,7 @@ static int lpc32xx_kscan_suspend(struct device *dev)
 
        mutex_lock(&input->mutex);
 
-       if (input->users) {
+       if (input_device_enabled(input)) {
                /* Clear IRQ and disable clock */
                writel(1, LPC32XX_KS_IRQ(kscandat->kscan_base));
                clk_disable_unprepare(kscandat->clk);
@@ -292,7 +292,7 @@ static int lpc32xx_kscan_resume(struct device *dev)
 
        mutex_lock(&input->mutex);
 
-       if (input->users) {
+       if (input_device_enabled(input)) {
                /* Enable clock and clear IRQ */
                retval = clk_prepare_enable(kscandat->clk);
                if (retval == 0)
index 36bee6f..4766c50 100644 (file)
@@ -633,7 +633,7 @@ static int pmic8xxx_kp_suspend(struct device *dev)
        } else {
                mutex_lock(&input_dev->mutex);
 
-               if (input_dev->users)
+               if (input_device_enabled(input_dev))
                        pmic8xxx_kp_disable(kp);
 
                mutex_unlock(&input_dev->mutex);
@@ -653,7 +653,7 @@ static int pmic8xxx_kp_resume(struct device *dev)
        } else {
                mutex_lock(&input_dev->mutex);
 
-               if (input_dev->users)
+               if (input_device_enabled(input_dev))
                        pmic8xxx_kp_enable(kp);
 
                mutex_unlock(&input_dev->mutex);
index 7e65708..a7f8257 100644 (file)
@@ -694,7 +694,7 @@ static int pxa27x_keypad_resume(struct device *dev)
        } else {
                mutex_lock(&input_dev->mutex);
 
-               if (input_dev->users) {
+               if (input_device_enabled(input_dev)) {
                        /* Enable unit clock */
                        ret = clk_prepare_enable(keypad->clk);
                        if (!ret)
index 1ed939d..df0258d 100644 (file)
@@ -536,7 +536,7 @@ static int samsung_keypad_suspend(struct device *dev)
 
        mutex_lock(&input_dev->mutex);
 
-       if (input_dev->users)
+       if (input_device_enabled(input_dev))
                samsung_keypad_stop(keypad);
 
        samsung_keypad_toggle_wakeup(keypad, true);
@@ -556,7 +556,7 @@ static int samsung_keypad_resume(struct device *dev)
 
        samsung_keypad_toggle_wakeup(keypad, false);
 
-       if (input_dev->users)
+       if (input_device_enabled(input_dev))
                samsung_keypad_start(keypad);
 
        mutex_unlock(&input_dev->mutex);
index 9b8d78f..9838c79 100644 (file)
@@ -318,7 +318,7 @@ static int __maybe_unused spear_kbd_suspend(struct device *dev)
                writel_relaxed(val, kbd->io_base + MODE_CTL_REG);
 
        } else {
-               if (input_dev->users) {
+               if (input_device_enabled(input_dev)) {
                        writel_relaxed(mode_ctl_reg & ~MODE_CTL_START_SCAN,
                                        kbd->io_base + MODE_CTL_REG);
                        clk_disable(kbd->clk);
@@ -326,7 +326,7 @@ static int __maybe_unused spear_kbd_suspend(struct device *dev)
        }
 
        /* store current configuration */
-       if (input_dev->users)
+       if (input_device_enabled(input_dev))
                kbd->mode_ctl_reg = mode_ctl_reg;
 
        /* restore previous clk state */
@@ -351,12 +351,12 @@ static int __maybe_unused spear_kbd_resume(struct device *dev)
                        disable_irq_wake(kbd->irq);
                }
        } else {
-               if (input_dev->users)
+               if (input_device_enabled(input_dev))
                        clk_enable(kbd->clk);
        }
 
        /* restore current configuration */
-       if (input_dev->users)
+       if (input_device_enabled(input_dev))
                writel_relaxed(kbd->mode_ctl_reg, kbd->io_base + MODE_CTL_REG);
 
        mutex_unlock(&input_dev->mutex);
index 27562cd..a045d61 100644 (file)
@@ -221,7 +221,7 @@ static int keyscan_suspend(struct device *dev)
 
        if (device_may_wakeup(dev))
                enable_irq_wake(keypad->irq);
-       else if (input->users)
+       else if (input_device_enabled(input))
                keyscan_stop(keypad);
 
        mutex_unlock(&input->mutex);
@@ -239,7 +239,7 @@ static int keyscan_resume(struct device *dev)
 
        if (device_may_wakeup(dev))
                disable_irq_wake(keypad->irq);
-       else if (input->users)
+       else if (input_device_enabled(input))
                retval = keyscan_start(keypad);
 
        mutex_unlock(&input->mutex);
index d34d694..9671842 100644 (file)
@@ -756,7 +756,7 @@ static int tegra_kbc_suspend(struct device *dev)
                enable_irq(kbc->irq);
                enable_irq_wake(kbc->irq);
        } else {
-               if (kbc->idev->users)
+               if (input_device_enabled(kbc->idev))
                        tegra_kbc_stop(kbc);
        }
        mutex_unlock(&kbc->idev->mutex);
@@ -796,7 +796,7 @@ static int tegra_kbc_resume(struct device *dev)
                        input_sync(kbc->idev);
                }
        } else {
-               if (kbc->idev->users)
+               if (input_device_enabled(kbc->idev))
                        err = tegra_kbc_start(kbc);
        }
        mutex_unlock(&kbc->idev->mutex);
index cc51de7..0efe56f 100644 (file)
@@ -580,7 +580,7 @@ static int __maybe_unused drv260x_suspend(struct device *dev)
 
        mutex_lock(&haptics->input_dev->mutex);
 
-       if (haptics->input_dev->users) {
+       if (input_device_enabled(haptics->input_dev)) {
                ret = regmap_update_bits(haptics->regmap,
                                         DRV260X_MODE,
                                         DRV260X_STANDBY_MASK,
@@ -612,7 +612,7 @@ static int __maybe_unused drv260x_resume(struct device *dev)
 
        mutex_lock(&haptics->input_dev->mutex);
 
-       if (haptics->input_dev->users) {
+       if (input_device_enabled(haptics->input_dev)) {
                ret = regulator_enable(haptics->regulator);
                if (ret) {
                        dev_err(dev, "Failed to enable regulator\n");
index 0e65ab1..21913e8 100644 (file)
@@ -230,7 +230,7 @@ static int __maybe_unused drv2665_suspend(struct device *dev)
 
        mutex_lock(&haptics->input_dev->mutex);
 
-       if (haptics->input_dev->users) {
+       if (input_device_enabled(haptics->input_dev)) {
                ret = regmap_update_bits(haptics->regmap, DRV2665_CTRL_2,
                                         DRV2665_STANDBY, DRV2665_STANDBY);
                if (ret) {
@@ -259,7 +259,7 @@ static int __maybe_unused drv2665_resume(struct device *dev)
 
        mutex_lock(&haptics->input_dev->mutex);
 
-       if (haptics->input_dev->users) {
+       if (input_device_enabled(haptics->input_dev)) {
                ret = regulator_enable(haptics->regulator);
                if (ret) {
                        dev_err(dev, "Failed to enable regulator\n");
index dc19eb6..3f67b9b 100644 (file)
@@ -407,7 +407,7 @@ static int __maybe_unused drv2667_suspend(struct device *dev)
 
        mutex_lock(&haptics->input_dev->mutex);
 
-       if (haptics->input_dev->users) {
+       if (input_device_enabled(haptics->input_dev)) {
                ret = regmap_update_bits(haptics->regmap, DRV2667_CTRL_2,
                                         DRV2667_STANDBY, DRV2667_STANDBY);
                if (ret) {
@@ -436,7 +436,7 @@ static int __maybe_unused drv2667_resume(struct device *dev)
 
        mutex_lock(&haptics->input_dev->mutex);
 
-       if (haptics->input_dev->users) {
+       if (input_device_enabled(haptics->input_dev)) {
                ret = regulator_enable(haptics->regulator);
                if (ret) {
                        dev_err(dev, "Failed to enable regulator\n");
index 52313c6..bbb8161 100644 (file)
@@ -503,7 +503,7 @@ static int __maybe_unused kxtj9_suspend(struct device *dev)
 
        mutex_lock(&input_dev->mutex);
 
-       if (input_dev->users)
+       if (input_device_enabled(input_dev))
                kxtj9_disable(tj9);
 
        mutex_unlock(&input_dev->mutex);
@@ -518,7 +518,7 @@ static int __maybe_unused kxtj9_resume(struct device *dev)
 
        mutex_lock(&input_dev->mutex);
 
-       if (input_dev->users)
+       if (input_device_enabled(input_dev))
                kxtj9_enable(tj9);
 
        mutex_unlock(&input_dev->mutex);
index 60e1f31..7982bf8 100644 (file)
@@ -181,7 +181,7 @@ static int __maybe_unused sirfsoc_pwrc_resume(struct device *dev)
         * if users touch X_ONKEY_B, see arch/arm/mach-prima2/pm.c
         */
        mutex_lock(&input->mutex);
-       if (input->users)
+       if (input_device_enabled(input))
                sirfsoc_pwrc_toggle_interrupts(pwrcdrv, true);
        mutex_unlock(&input->mutex);
 
index dacf7c0..3f40695 100644 (file)
@@ -526,7 +526,7 @@ static void cyapa_enable_irq_for_cmd(struct cyapa *cyapa)
 {
        struct input_dev *input = cyapa->input;
 
-       if (!input || !input->users) {
+       if (!input || !input_device_enabled(input)) {
                /*
                 * When input is NULL, TP must be in deep sleep mode.
                 * In this mode, later non-power I2C command will always failed
@@ -546,7 +546,7 @@ static void cyapa_disable_irq_for_cmd(struct cyapa *cyapa)
 {
        struct input_dev *input = cyapa->input;
 
-       if (!input || !input->users) {
+       if (!input || !input_device_enabled(input)) {
                if (cyapa->gen >= CYAPA_GEN5)
                        disable_irq(cyapa->client->irq);
                if (!input || cyapa->operational)
@@ -652,7 +652,7 @@ static int cyapa_reinitialize(struct cyapa *cyapa)
        }
 
 out:
-       if (!input || !input->users) {
+       if (!input || !input_device_enabled(input)) {
                /* Reset to power OFF state to save power when no user open. */
                if (cyapa->operational)
                        cyapa->ops->set_power_mode(cyapa,
index a0361f9..a97f4ac 100644 (file)
@@ -952,7 +952,8 @@ static int cyapa_gen3_set_power_mode(struct cyapa *cyapa, u8 power_mode,
         * doing so before issuing the next command may result in errors
         * depending on the command's content.
         */
-       if (cyapa->operational && input && input->users &&
+       if (cyapa->operational &&
+           input && input_device_enabled(input) &&
            (pm_stage == CYAPA_PM_RUNTIME_SUSPEND ||
             pm_stage == CYAPA_PM_RUNTIME_RESUME)) {
                /* Try to polling in 120Hz, read may fail, just ignore it. */
index 5c37af9..abf42f7 100644 (file)
@@ -518,7 +518,8 @@ int cyapa_empty_pip_output_data(struct cyapa *cyapa,
                        *len = length;
                        /* Response found, success. */
                        return 0;
-               } else if (cyapa->operational && input && input->users &&
+               } else if (cyapa->operational &&
+                          input && input_device_enabled(input) &&
                           (pm_stage == CYAPA_PM_RUNTIME_RESUME ||
                            pm_stage == CYAPA_PM_RUNTIME_SUSPEND)) {
                        /* Parse the data and report it if it's valid. */
index c112980..4d67575 100644 (file)
@@ -322,7 +322,7 @@ static int __maybe_unused navpoint_suspend(struct device *dev)
        struct input_dev *input = navpoint->input;
 
        mutex_lock(&input->mutex);
-       if (input->users)
+       if (input_device_enabled(input))
                navpoint_down(navpoint);
        mutex_unlock(&input->mutex);
 
@@ -336,7 +336,7 @@ static int __maybe_unused navpoint_resume(struct device *dev)
        struct input_dev *input = navpoint->input;
 
        mutex_lock(&input->mutex);
-       if (input->users)
+       if (input_device_enabled(input))
                navpoint_up(navpoint);
        mutex_unlock(&input->mutex);
 
index 556a2af..e850853 100644 (file)
@@ -306,7 +306,7 @@ static int __maybe_unused ad7879_suspend(struct device *dev)
 
        mutex_lock(&ts->input->mutex);
 
-       if (!ts->suspended && !ts->disabled && ts->input->users)
+       if (!ts->suspended && !ts->disabled && input_device_enabled(ts->input))
                __ad7879_disable(ts);
 
        ts->suspended = true;
@@ -322,7 +322,7 @@ static int __maybe_unused ad7879_resume(struct device *dev)
 
        mutex_lock(&ts->input->mutex);
 
-       if (ts->suspended && !ts->disabled && ts->input->users)
+       if (ts->suspended && !ts->disabled && input_device_enabled(ts->input))
                __ad7879_enable(ts);
 
        ts->suspended = false;
@@ -339,7 +339,7 @@ static void ad7879_toggle(struct ad7879 *ts, bool disable)
 {
        mutex_lock(&ts->input->mutex);
 
-       if (!ts->suspended && ts->input->users != 0) {
+       if (!ts->suspended && input_device_enabled(ts->input)) {
 
                if (disable) {
                        if (ts->disabled)
index e349843..dde364d 100644 (file)
@@ -3237,7 +3237,7 @@ static int __maybe_unused mxt_suspend(struct device *dev)
 
        mutex_lock(&input_dev->mutex);
 
-       if (input_dev->users)
+       if (input_device_enabled(input_dev))
                mxt_stop(data);
 
        mutex_unlock(&input_dev->mutex);
@@ -3260,7 +3260,7 @@ static int __maybe_unused mxt_resume(struct device *dev)
 
        mutex_lock(&input_dev->mutex);
 
-       if (input_dev->users)
+       if (input_device_enabled(input_dev))
                mxt_start(data);
 
        mutex_unlock(&input_dev->mutex);
index 8e9f3b7..c33e63c 100644 (file)
@@ -414,7 +414,7 @@ static int __maybe_unused auo_pixcir_suspend(struct device *dev)
         */
        if (device_may_wakeup(&client->dev)) {
                /* need to start device if not open, to be wakeup source */
-               if (!input->users) {
+               if (!input_device_enabled(input)) {
                        ret = auo_pixcir_start(ts);
                        if (ret)
                                goto unlock;
@@ -422,7 +422,7 @@ static int __maybe_unused auo_pixcir_suspend(struct device *dev)
 
                enable_irq_wake(client->irq);
                ret = auo_pixcir_power_mode(ts, AUO_PIXCIR_POWER_SLEEP);
-       } else if (input->users) {
+       } else if (input_device_enabled(input)) {
                ret = auo_pixcir_stop(ts);
        }
 
@@ -445,14 +445,14 @@ static int __maybe_unused auo_pixcir_resume(struct device *dev)
                disable_irq_wake(client->irq);
 
                /* need to stop device if it was not open on suspend */
-               if (!input->users) {
+               if (!input_device_enabled(input)) {
                        ret = auo_pixcir_stop(ts);
                        if (ret)
                                goto unlock;
                }
 
                /* device wakes automatically from SLEEP */
-       } else if (input->users) {
+       } else if (input_device_enabled(input)) {
                ret = auo_pixcir_start(ts);
        }
 
index 49a8d4b..341925e 100644 (file)
@@ -430,7 +430,7 @@ static int __maybe_unused bu21029_suspend(struct device *dev)
 
        if (!device_may_wakeup(dev)) {
                mutex_lock(&bu21029->in_dev->mutex);
-               if (bu21029->in_dev->users)
+               if (input_device_enabled(bu21029->in_dev))
                        bu21029_stop_chip(bu21029->in_dev);
                mutex_unlock(&bu21029->in_dev->mutex);
        }
@@ -445,7 +445,7 @@ static int __maybe_unused bu21029_resume(struct device *dev)
 
        if (!device_may_wakeup(dev)) {
                mutex_lock(&bu21029->in_dev->mutex);
-               if (bu21029->in_dev->users)
+               if (input_device_enabled(bu21029->in_dev))
                        bu21029_start_chip(bu21029->in_dev);
                mutex_unlock(&bu21029->in_dev->mutex);
        }
index d91d2fd..f2fb41f 100644 (file)
@@ -154,7 +154,7 @@ static int icn8318_suspend(struct device *dev)
        struct icn8318_data *data = i2c_get_clientdata(to_i2c_client(dev));
 
        mutex_lock(&data->input->mutex);
-       if (data->input->users)
+       if (input_device_enabled(data->input))
                icn8318_stop(data->input);
        mutex_unlock(&data->input->mutex);
 
@@ -166,7 +166,7 @@ static int icn8318_resume(struct device *dev)
        struct icn8318_data *data = i2c_get_clientdata(to_i2c_client(dev));
 
        mutex_lock(&data->input->mutex);
-       if (data->input->users)
+       if (input_device_enabled(data->input))
                icn8318_start(data->input);
        mutex_unlock(&data->input->mutex);
 
index 697aa2c..73c854f 100644 (file)
@@ -479,7 +479,7 @@ static int __maybe_unused cyttsp_suspend(struct device *dev)
 
        mutex_lock(&ts->input->mutex);
 
-       if (ts->input->users) {
+       if (input_device_enabled(ts->input)) {
                retval = cyttsp_disable(ts);
                if (retval == 0)
                        ts->suspended = true;
@@ -496,7 +496,7 @@ static int __maybe_unused cyttsp_resume(struct device *dev)
 
        mutex_lock(&ts->input->mutex);
 
-       if (ts->input->users)
+       if (input_device_enabled(ts->input))
                cyttsp_enable(ts);
 
        ts->suspended = false;
index 2e1404c..a639ba7 100644 (file)
@@ -241,7 +241,7 @@ static int __maybe_unused eeti_ts_suspend(struct device *dev)
 
        mutex_lock(&input_dev->mutex);
 
-       if (input_dev->users)
+       if (input_device_enabled(input_dev))
                eeti_ts_stop(eeti);
 
        mutex_unlock(&input_dev->mutex);
@@ -263,7 +263,7 @@ static int __maybe_unused eeti_ts_resume(struct device *dev)
 
        mutex_lock(&input_dev->mutex);
 
-       if (input_dev->users)
+       if (input_device_enabled(input_dev))
                eeti_ts_start(eeti);
 
        mutex_unlock(&input_dev->mutex);
index 491de67..2d01a8c 100644 (file)
@@ -182,7 +182,7 @@ static int __maybe_unused ektf2127_suspend(struct device *dev)
        struct ektf2127_ts *ts = i2c_get_clientdata(to_i2c_client(dev));
 
        mutex_lock(&ts->input->mutex);
-       if (ts->input->users)
+       if (input_device_enabled(ts->input))
                ektf2127_stop(ts->input);
        mutex_unlock(&ts->input->mutex);
 
@@ -194,7 +194,7 @@ static int __maybe_unused ektf2127_resume(struct device *dev)
        struct ektf2127_ts *ts = i2c_get_clientdata(to_i2c_client(dev));
 
        mutex_lock(&ts->input->mutex);
-       if (ts->input->users)
+       if (input_device_enabled(ts->input))
                ektf2127_start(ts->input);
        mutex_unlock(&ts->input->mutex);
 
index e1852f7..2d4facf 100644 (file)
@@ -520,7 +520,7 @@ static int __maybe_unused imx6ul_tsc_suspend(struct device *dev)
 
        mutex_lock(&input_dev->mutex);
 
-       if (input_dev->users)
+       if (input_device_enabled(input_dev))
                imx6ul_tsc_stop(tsc);
 
        mutex_unlock(&input_dev->mutex);
@@ -537,7 +537,7 @@ static int __maybe_unused imx6ul_tsc_resume(struct device *dev)
 
        mutex_lock(&input_dev->mutex);
 
-       if (input_dev->users)
+       if (input_device_enabled(input_dev))
                retval = imx6ul_tsc_start(tsc);
 
        mutex_unlock(&input_dev->mutex);
index 5c3977e..0eb5689 100644 (file)
@@ -135,7 +135,7 @@ static int __maybe_unused micro_ts_resume(struct device *dev)
 
        mutex_lock(&input->mutex);
 
-       if (input->users)
+       if (input_device_enabled(input))
                micro_ts_toggle_receive(ts, true);
 
        mutex_unlock(&input->mutex);
index 3162b68..4fd21bc 100644 (file)
@@ -1017,7 +1017,7 @@ static int __maybe_unused iqs5xx_suspend(struct device *dev)
 
        mutex_lock(&input->mutex);
 
-       if (input->users)
+       if (input_device_enabled(input))
                error = iqs5xx_set_state(iqs5xx->client, IQS5XX_SUSPEND);
 
        mutex_unlock(&input->mutex);
@@ -1036,7 +1036,7 @@ static int __maybe_unused iqs5xx_resume(struct device *dev)
 
        mutex_lock(&input->mutex);
 
-       if (input->users)
+       if (input_device_enabled(input))
                error = iqs5xx_set_state(iqs5xx->client, IQS5XX_RESUME);
 
        mutex_unlock(&input->mutex);
index b2cd947..b51450b 100644 (file)
@@ -334,7 +334,7 @@ static int lpc32xx_ts_suspend(struct device *dev)
         */
        mutex_lock(&input->mutex);
 
-       if (input->users) {
+       if (input_device_enabled(input)) {
                if (device_may_wakeup(dev))
                        enable_irq_wake(tsc->irq);
                else
@@ -353,7 +353,7 @@ static int lpc32xx_ts_resume(struct device *dev)
 
        mutex_lock(&input->mutex);
 
-       if (input->users) {
+       if (input_device_enabled(input)) {
                if (device_may_wakeup(dev))
                        disable_irq_wake(tsc->irq);
                else
index f67efdd..c005004 100644 (file)
@@ -1256,7 +1256,7 @@ static int mip4_execute_fw_update(struct mip4_ts *ts, const struct firmware *fw)
        if (error)
                return error;
 
-       if (ts->input->users) {
+       if (input_device_enabled(ts->input)) {
                disable_irq(ts->client->irq);
        } else {
                error = mip4_power_on(ts);
@@ -1276,7 +1276,7 @@ static int mip4_execute_fw_update(struct mip4_ts *ts, const struct firmware *fw)
                        "Failed to flash firmware: %d\n", error);
 
        /* Enable IRQ */
-       if (ts->input->users)
+       if (input_device_enabled(ts->input))
                enable_irq(ts->client->irq);
        else
                mip4_power_off(ts);
@@ -1539,7 +1539,7 @@ static int __maybe_unused mip4_suspend(struct device *dev)
 
        if (device_may_wakeup(dev))
                ts->wake_irq_enabled = enable_irq_wake(client->irq) == 0;
-       else if (input->users)
+       else if (input_device_enabled(input))
                mip4_disable(ts);
 
        mutex_unlock(&input->mutex);
@@ -1557,7 +1557,7 @@ static int __maybe_unused mip4_resume(struct device *dev)
 
        if (ts->wake_irq_enabled)
                disable_irq_wake(client->irq);
-       else if (input->users)
+       else if (input_device_enabled(input))
                mip4_enable(ts);
 
        mutex_unlock(&input->mutex);
index 1f96657..16557f5 100644 (file)
@@ -199,7 +199,7 @@ static irqreturn_t mms114_interrupt(int irq, void *dev_id)
        int error;
 
        mutex_lock(&input_dev->mutex);
-       if (!input_dev->users) {
+       if (!input_device_enabled(input_dev)) {
                mutex_unlock(&input_dev->mutex);
                goto out;
        }
@@ -564,7 +564,7 @@ static int __maybe_unused mms114_suspend(struct device *dev)
        input_sync(input_dev);
 
        mutex_lock(&input_dev->mutex);
-       if (input_dev->users)
+       if (input_device_enabled(input_dev))
                mms114_stop(data);
        mutex_unlock(&input_dev->mutex);
 
@@ -579,7 +579,7 @@ static int __maybe_unused mms114_resume(struct device *dev)
        int error;
 
        mutex_lock(&input_dev->mutex);
-       if (input_dev->users) {
+       if (input_device_enabled(input_dev)) {
                error = mms114_start(data);
                if (error < 0) {
                        mutex_unlock(&input_dev->mutex);
index 9aa0985..dc148b4 100644 (file)
@@ -415,14 +415,14 @@ static int __maybe_unused pixcir_i2c_ts_suspend(struct device *dev)
        mutex_lock(&input->mutex);
 
        if (device_may_wakeup(&client->dev)) {
-               if (!input->users) {
+               if (!input_device_enabled(input)) {
                        ret = pixcir_start(ts);
                        if (ret) {
                                dev_err(dev, "Failed to start\n");
                                goto unlock;
                        }
                }
-       } else if (input->users) {
+       } else if (input_device_enabled(input)) {
                ret = pixcir_stop(ts);
        }
 
@@ -442,14 +442,14 @@ static int __maybe_unused pixcir_i2c_ts_resume(struct device *dev)
        mutex_lock(&input->mutex);
 
        if (device_may_wakeup(&client->dev)) {
-               if (!input->users) {
+               if (!input_device_enabled(input)) {
                        ret = pixcir_stop(ts);
                        if (ret) {
                                dev_err(dev, "Failed to stop\n");
                                goto unlock;
                        }
                }
-       } else if (input->users) {
+       } else if (input_device_enabled(input)) {
                ret = pixcir_start(ts);
        }
 
index 807d39e..e3f2c94 100644 (file)
@@ -410,7 +410,7 @@ static int __maybe_unused ucb1400_ts_suspend(struct device *dev)
 
        mutex_lock(&idev->mutex);
 
-       if (idev->users)
+       if (input_device_enabled(idev))
                ucb1400_ts_stop(ucb);
 
        mutex_unlock(&idev->mutex);
@@ -424,7 +424,7 @@ static int __maybe_unused ucb1400_ts_resume(struct device *dev)
 
        mutex_lock(&idev->mutex);
 
-       if (idev->users)
+       if (input_device_enabled(idev))
                ucb1400_ts_start(ucb);
 
        mutex_unlock(&idev->mutex);
index 45ce894..78d2ee9 100644 (file)
@@ -806,23 +806,25 @@ static int __maybe_unused wm97xx_suspend(struct device *dev)
        else
                suspend_mode = 0;
 
-       if (wm->input_dev->users)
+       mutex_lock(&wm->input_dev->mutex);
+       if (input_device_enabled(wm->input_dev))
                cancel_delayed_work_sync(&wm->ts_reader);
 
        /* Power down the digitiser (bypassing the cache for resume) */
        reg = wm97xx_reg_read(wm, AC97_WM97XX_DIGITISER2);
        reg &= ~WM97XX_PRP_DET_DIG;
-       if (wm->input_dev->users)
+       if (input_device_enabled(wm->input_dev))
                reg |= suspend_mode;
        wm->ac97->bus->ops->write(wm->ac97, AC97_WM97XX_DIGITISER2, reg);
 
        /* WM9713 has an additional power bit - turn it off if there
         * are no users or if suspend mode is zero. */
        if (wm->id == WM9713_ID2 &&
-           (!wm->input_dev->users || !suspend_mode)) {
+           (!input_device_enabled(wm->input_dev) || !suspend_mode)) {
                reg = wm97xx_reg_read(wm, AC97_EXTENDED_MID) | 0x8000;
                wm97xx_reg_write(wm, AC97_EXTENDED_MID, reg);
        }
+       mutex_unlock(&wm->input_dev->mutex);
 
        return 0;
 }
@@ -831,11 +833,12 @@ static int __maybe_unused wm97xx_resume(struct device *dev)
 {
        struct wm97xx *wm = dev_get_drvdata(dev);
 
+       mutex_lock(&wm->input_dev->mutex);
        /* restore digitiser and gpios */
        if (wm->id == WM9713_ID2) {
                wm97xx_reg_write(wm, AC97_WM9713_DIG1, wm->dig[0]);
                wm97xx_reg_write(wm, 0x5a, wm->misc);
-               if (wm->input_dev->users) {
+               if (input_device_enabled(wm->input_dev)) {
                        u16 reg;
                        reg = wm97xx_reg_read(wm, AC97_EXTENDED_MID) & 0x7fff;
                        wm97xx_reg_write(wm, AC97_EXTENDED_MID, reg);
@@ -852,11 +855,12 @@ static int __maybe_unused wm97xx_resume(struct device *dev)
        wm97xx_reg_write(wm, AC97_GPIO_STATUS, wm->gpio[4]);
        wm97xx_reg_write(wm, AC97_MISC_AFE, wm->gpio[5]);
 
-       if (wm->input_dev->users && !wm->pen_irq) {
+       if (input_device_enabled(wm->input_dev) && !wm->pen_irq) {
                wm->ts_reader_interval = wm->ts_reader_min_interval;
                queue_delayed_work(wm->ts_workq, &wm->ts_reader,
                                   wm->ts_reader_interval);
        }
+       mutex_unlock(&wm->input_dev->mutex);
 
        return 0;
 }
index 5230519..4956296 100644 (file)
@@ -626,14 +626,14 @@ static int __maybe_unused zforce_suspend(struct device *dev)
                dev_dbg(&client->dev, "suspend while being a wakeup source\n");
 
                /* Need to start device, if not open, to be a wakeup source. */
-               if (!input->users) {
+               if (!input_device_enabled(input)) {
                        ret = zforce_start(ts);
                        if (ret)
                                goto unlock;
                }
 
                enable_irq_wake(client->irq);
-       } else if (input->users) {
+       } else if (input_device_enabled(input)) {
                dev_dbg(&client->dev,
                        "suspend without being a wakeup source\n");
 
@@ -670,12 +670,12 @@ static int __maybe_unused zforce_resume(struct device *dev)
                disable_irq_wake(client->irq);
 
                /* need to stop device if it was not open on suspend */
-               if (!input->users) {
+               if (!input_device_enabled(input)) {
                        ret = zforce_stop(ts);
                        if (ret)
                                goto unlock;
                }
-       } else if (input->users) {
+       } else if (input_device_enabled(input)) {
                dev_dbg(&client->dev, "resume without being a wakeup source\n");
 
                enable_irq(client->irq);
index 1acc2eb..a3e3adb 100644 (file)
@@ -532,7 +532,7 @@ static int __maybe_unused zinitix_suspend(struct device *dev)
 
        mutex_lock(&bt541->input_dev->mutex);
 
-       if (bt541->input_dev->users)
+       if (input_device_enabled(bt541->input_dev))
                zinitix_stop(bt541);
 
        mutex_unlock(&bt541->input_dev->mutex);
@@ -548,7 +548,7 @@ static int __maybe_unused zinitix_resume(struct device *dev)
 
        mutex_lock(&bt541->input_dev->mutex);
 
-       if (bt541->input_dev->users)
+       if (input_device_enabled(bt541->input_dev))
                ret = zinitix_start(bt541);
 
        mutex_unlock(&bt541->input_dev->mutex);