]> git.dujemihanovic.xyz Git - linux.git/commitdiff
Input: mt6779-keypad - use devm_clk_get_enabled()
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Tue, 27 Aug 2024 18:00:56 +0000 (11:00 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Wed, 28 Aug 2024 18:10:05 +0000 (11:10 -0700)
Switch to using devm_clk_get_enable() helper instead of acquiring the
clock with devm_clk_get(), enabling it, and defining and installing
a custom devm action to call clk_disable().

Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Link: https://lore.kernel.org/r/Zs4UWGKt3hLjNmoP@google.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/keyboard/mt6779-keypad.c

index 6d2557a9b9f5cd417e6c9b6ef4e4c7380d601d38..e5eb025c5e9937e02623e2e61c8dd012cbb97250 100644 (file)
@@ -92,11 +92,6 @@ static irqreturn_t mt6779_keypad_irq_handler(int irq, void *dev_id)
        return IRQ_HANDLED;
 }
 
-static void mt6779_keypad_clk_disable(void *data)
-{
-       clk_disable_unprepare(data);
-}
-
 static void mt6779_keypad_calc_row_col_single(unsigned int key,
                                              unsigned int *row,
                                              unsigned int *col)
@@ -213,21 +208,10 @@ static int mt6779_keypad_pdrv_probe(struct platform_device *pdev)
        regmap_update_bits(keypad->regmap, MTK_KPD_SEL, MTK_KPD_SEL_COL,
                           MTK_KPD_SEL_COLMASK(keypad->n_cols));
 
-       keypad->clk = devm_clk_get(&pdev->dev, "kpd");
+       keypad->clk = devm_clk_get_enabled(&pdev->dev, "kpd");
        if (IS_ERR(keypad->clk))
                return PTR_ERR(keypad->clk);
 
-       error = clk_prepare_enable(keypad->clk);
-       if (error) {
-               dev_err(&pdev->dev, "cannot prepare/enable keypad clock\n");
-               return error;
-       }
-
-       error = devm_add_action_or_reset(&pdev->dev, mt6779_keypad_clk_disable,
-                                        keypad->clk);
-       if (error)
-               return error;
-
        irq = platform_get_irq(pdev, 0);
        if (irq < 0)
                return irq;