OSDN Git Service

Input: remove dev_err() usage after platform_get_irq()
authorStephen Boyd <swboyd@chromium.org>
Wed, 14 Aug 2019 17:46:38 +0000 (10:46 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Wed, 14 Aug 2019 17:49:01 +0000 (10:49 -0700)
We don't need dev_err() messages when platform_get_irq() fails now that
platform_get_irq() prints an error message itself when something goes
wrong. Let's remove these prints with a simple semantic patch.

// <smpl>
@@
expression ret;
struct platform_device *E;
@@

ret =
(
platform_get_irq(E, ...)
|
platform_get_irq_byname(E, ...)
);

if ( \( ret < 0 \| ret <= 0 \) )
{
(
-if (ret != -EPROBE_DEFER)
-{ ...
-dev_err(...);
-... }
|
...
-dev_err(...);
)
...
}
// </smpl>

While we're here, remove braces on if statements that only have one
statement (manually).

Signed-off-by: Stephen Boyd <swboyd@chromium.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
37 files changed:
drivers/input/keyboard/bcm-keypad.c
drivers/input/keyboard/davinci_keyscan.c
drivers/input/keyboard/imx_keypad.c
drivers/input/keyboard/lpc32xx-keys.c
drivers/input/keyboard/nomadik-ske-keypad.c
drivers/input/keyboard/nspire-keypad.c
drivers/input/keyboard/opencores-kbd.c
drivers/input/keyboard/pmic8xxx-keypad.c
drivers/input/keyboard/pxa27x_keypad.c
drivers/input/keyboard/pxa930_rotary.c
drivers/input/keyboard/sh_keysc.c
drivers/input/keyboard/snvs_pwrkey.c
drivers/input/keyboard/spear-keyboard.c
drivers/input/keyboard/st-keyscan.c
drivers/input/keyboard/tegra-kbc.c
drivers/input/misc/88pm80x_onkey.c
drivers/input/misc/88pm860x_onkey.c
drivers/input/misc/ab8500-ponkey.c
drivers/input/misc/axp20x-pek.c
drivers/input/misc/da9055_onkey.c
drivers/input/misc/da9063_onkey.c
drivers/input/misc/e3x0-button.c
drivers/input/misc/hisi_powerkey.c
drivers/input/misc/max8925_onkey.c
drivers/input/misc/pm8941-pwrkey.c
drivers/input/misc/rk805-pwrkey.c
drivers/input/misc/stpmic1_onkey.c
drivers/input/misc/tps65218-pwrbutton.c
drivers/input/misc/twl6040-vibra.c
drivers/input/mouse/pxa930_trkball.c
drivers/input/serio/arc_ps2.c
drivers/input/serio/ps2-gpio.c
drivers/input/touchscreen/88pm860x-ts.c
drivers/input/touchscreen/bcm_iproc_tsc.c
drivers/input/touchscreen/fsl-imx25-tcq.c
drivers/input/touchscreen/imx6ul_tsc.c
drivers/input/touchscreen/lpc32xx_ts.c

index e1cf63e..2b771c3 100644 (file)
@@ -413,10 +413,8 @@ static int bcm_kp_probe(struct platform_device *pdev)
        bcm_kp_stop(kp);
 
        kp->irq = platform_get_irq(pdev, 0);
-       if (kp->irq < 0) {
-               dev_err(&pdev->dev, "no IRQ specified\n");
+       if (kp->irq < 0)
                return -EINVAL;
-       }
 
        error = devm_request_threaded_irq(&pdev->dev, kp->irq,
                                          NULL, bcm_kp_isr_thread,
index 1d94928..f489cd5 100644 (file)
@@ -192,7 +192,6 @@ static int __init davinci_ks_probe(struct platform_device *pdev)
 
        davinci_ks->irq = platform_get_irq(pdev, 0);
        if (davinci_ks->irq < 0) {
-               dev_err(dev, "no key scan irq\n");
                error = davinci_ks->irq;
                goto fail2;
        }
index 97500a2..5a46d11 100644 (file)
@@ -430,10 +430,8 @@ static int imx_keypad_probe(struct platform_device *pdev)
        }
 
        irq = platform_get_irq(pdev, 0);
-       if (irq < 0) {
-               dev_err(&pdev->dev, "no irq defined in platform data\n");
+       if (irq < 0)
                return irq;
-       }
 
        input_dev = devm_input_allocate_device(&pdev->dev);
        if (!input_dev) {
index a34e327..348af2a 100644 (file)
@@ -172,10 +172,8 @@ static int lpc32xx_kscan_probe(struct platform_device *pdev)
        }
 
        irq = platform_get_irq(pdev, 0);
-       if (irq < 0) {
-               dev_err(&pdev->dev, "failed to get platform irq\n");
+       if (irq < 0)
                return -EINVAL;
-       }
 
        kscandat = devm_kzalloc(&pdev->dev, sizeof(*kscandat),
                                GFP_KERNEL);
index fa265fd..608446e 100644 (file)
@@ -235,10 +235,8 @@ static int __init ske_keypad_probe(struct platform_device *pdev)
        }
 
        irq = platform_get_irq(pdev, 0);
-       if (irq < 0) {
-               dev_err(&pdev->dev, "failed to get keypad irq\n");
+       if (irq < 0)
                return -EINVAL;
-       }
 
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        if (!res) {
index 57eac91..63d5e48 100644 (file)
@@ -165,10 +165,8 @@ static int nspire_keypad_probe(struct platform_device *pdev)
        int error;
 
        irq = platform_get_irq(pdev, 0);
-       if (irq < 0) {
-               dev_err(&pdev->dev, "failed to get keypad irq\n");
+       if (irq < 0)
                return -EINVAL;
-       }
 
        keypad = devm_kzalloc(&pdev->dev, sizeof(struct nspire_keypad),
                              GFP_KERNEL);
index 159346c..b0ea387 100644 (file)
@@ -49,10 +49,8 @@ static int opencores_kbd_probe(struct platform_device *pdev)
        }
 
        irq = platform_get_irq(pdev, 0);
-       if (irq < 0) {
-               dev_err(&pdev->dev, "missing board IRQ resource\n");
+       if (irq < 0)
                return -EINVAL;
-       }
 
        opencores_kbd = devm_kzalloc(&pdev->dev, sizeof(*opencores_kbd),
                                     GFP_KERNEL);
index d529768..91d5811 100644 (file)
@@ -544,16 +544,12 @@ static int pmic8xxx_kp_probe(struct platform_device *pdev)
        }
 
        kp->key_sense_irq = platform_get_irq(pdev, 0);
-       if (kp->key_sense_irq < 0) {
-               dev_err(&pdev->dev, "unable to get keypad sense irq\n");
+       if (kp->key_sense_irq < 0)
                return kp->key_sense_irq;
-       }
 
        kp->key_stuck_irq = platform_get_irq(pdev, 1);
-       if (kp->key_stuck_irq < 0) {
-               dev_err(&pdev->dev, "unable to get keypad stuck irq\n");
+       if (kp->key_stuck_irq < 0)
                return kp->key_stuck_irq;
-       }
 
        kp->input->name = "PMIC8XXX keypad";
        kp->input->phys = "pmic8xxx_keypad/input0";
index 3902366..7e65708 100644 (file)
@@ -727,10 +727,8 @@ static int pxa27x_keypad_probe(struct platform_device *pdev)
                return -EINVAL;
 
        irq = platform_get_irq(pdev, 0);
-       if (irq < 0) {
-               dev_err(&pdev->dev, "failed to get keypad irq\n");
+       if (irq < 0)
                return -ENXIO;
-       }
 
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        if (res == NULL) {
index 585e776..f741409 100644 (file)
@@ -89,10 +89,8 @@ static int pxa930_rotary_probe(struct platform_device *pdev)
        int err;
 
        irq = platform_get_irq(pdev, 0);
-       if (irq < 0) {
-               dev_err(&pdev->dev, "no irq for rotary controller\n");
+       if (irq < 0)
                return -ENXIO;
-       }
 
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        if (!res) {
index 08ba41a..27ad73f 100644 (file)
@@ -181,10 +181,8 @@ static int sh_keysc_probe(struct platform_device *pdev)
        }
 
        irq = platform_get_irq(pdev, 0);
-       if (irq < 0) {
-               dev_err(&pdev->dev, "failed to get irq\n");
+       if (irq < 0)
                goto err0;
-       }
 
        priv = kzalloc(sizeof(*priv), GFP_KERNEL);
        if (priv == NULL) {
index 5342d8d..e76b7a4 100644 (file)
@@ -118,10 +118,8 @@ static int imx_snvs_pwrkey_probe(struct platform_device *pdev)
        pdata->wakeup = of_property_read_bool(np, "wakeup-source");
 
        pdata->irq = platform_get_irq(pdev, 0);
-       if (pdata->irq < 0) {
-               dev_err(&pdev->dev, "no irq defined in platform data\n");
+       if (pdata->irq < 0)
                return -EINVAL;
-       }
 
        regmap_update_bits(pdata->snvs, SNVS_LPCR_REG, SNVS_LPCR_DEP_EN, SNVS_LPCR_DEP_EN);
 
index 7d25fa3..9b8d78f 100644 (file)
@@ -191,10 +191,8 @@ static int spear_kbd_probe(struct platform_device *pdev)
        int error;
 
        irq = platform_get_irq(pdev, 0);
-       if (irq < 0) {
-               dev_err(&pdev->dev, "not able to get irq for the device\n");
+       if (irq < 0)
                return irq;
-       }
 
        kbd = devm_kzalloc(&pdev->dev, sizeof(*kbd), GFP_KERNEL);
        if (!kbd) {
index f097128..27562cd 100644 (file)
@@ -187,10 +187,8 @@ static int keyscan_probe(struct platform_device *pdev)
        keyscan_stop(keypad_data);
 
        keypad_data->irq = platform_get_irq(pdev, 0);
-       if (keypad_data->irq < 0) {
-               dev_err(&pdev->dev, "no IRQ specified\n");
+       if (keypad_data->irq < 0)
                return -EINVAL;
-       }
 
        error = devm_request_irq(&pdev->dev, keypad_data->irq, keyscan_isr, 0,
                                 pdev->name, keypad_data);
index a37a7a9..d34d694 100644 (file)
@@ -631,10 +631,8 @@ static int tegra_kbc_probe(struct platform_device *pdev)
                return -EINVAL;
 
        kbc->irq = platform_get_irq(pdev, 0);
-       if (kbc->irq < 0) {
-               dev_err(&pdev->dev, "failed to get keyboard IRQ\n");
+       if (kbc->irq < 0)
                return -ENXIO;
-       }
 
        kbc->idev = devm_input_allocate_device(&pdev->dev);
        if (!kbc->idev) {
index 45a0949..51c8a32 100644 (file)
@@ -77,7 +77,6 @@ static int pm80x_onkey_probe(struct platform_device *pdev)
 
        info->irq = platform_get_irq(pdev, 0);
        if (info->irq < 0) {
-               dev_err(&pdev->dev, "No IRQ resource!\n");
                err = -EINVAL;
                goto out;
        }
index cc87443..685995c 100644 (file)
@@ -64,10 +64,8 @@ static int pm860x_onkey_probe(struct platform_device *pdev)
        int irq, ret;
 
        irq = platform_get_irq(pdev, 0);
-       if (irq < 0) {
-               dev_err(&pdev->dev, "No IRQ resource!\n");
+       if (irq < 0)
                return -EINVAL;
-       }
 
        info = devm_kzalloc(&pdev->dev, sizeof(struct pm860x_onkey_info),
                            GFP_KERNEL);
index 12b18a8..ea3b829 100644 (file)
@@ -55,16 +55,12 @@ static int ab8500_ponkey_probe(struct platform_device *pdev)
        int error;
 
        irq_dbf = platform_get_irq_byname(pdev, "ONKEY_DBF");
-       if (irq_dbf < 0) {
-               dev_err(&pdev->dev, "No IRQ for ONKEY_DBF, error=%d\n", irq_dbf);
+       if (irq_dbf < 0)
                return irq_dbf;
-       }
 
        irq_dbr = platform_get_irq_byname(pdev, "ONKEY_DBR");
-       if (irq_dbr < 0) {
-               dev_err(&pdev->dev, "No IRQ for ONKEY_DBR, error=%d\n", irq_dbr);
+       if (irq_dbr < 0)
                return irq_dbr;
-       }
 
        ponkey = devm_kzalloc(&pdev->dev, sizeof(struct ab8500_ponkey),
                              GFP_KERNEL);
index 235925b..17c1cca 100644 (file)
@@ -229,20 +229,14 @@ static int axp20x_pek_probe_input_device(struct axp20x_pek *axp20x_pek,
        int error;
 
        axp20x_pek->irq_dbr = platform_get_irq_byname(pdev, "PEK_DBR");
-       if (axp20x_pek->irq_dbr < 0) {
-               dev_err(&pdev->dev, "No IRQ for PEK_DBR, error=%d\n",
-                               axp20x_pek->irq_dbr);
+       if (axp20x_pek->irq_dbr < 0)
                return axp20x_pek->irq_dbr;
-       }
        axp20x_pek->irq_dbr = regmap_irq_get_virq(axp20x->regmap_irqc,
                                                  axp20x_pek->irq_dbr);
 
        axp20x_pek->irq_dbf = platform_get_irq_byname(pdev, "PEK_DBF");
-       if (axp20x_pek->irq_dbf < 0) {
-               dev_err(&pdev->dev, "No IRQ for PEK_DBF, error=%d\n",
-                               axp20x_pek->irq_dbf);
+       if (axp20x_pek->irq_dbf < 0)
                return axp20x_pek->irq_dbf;
-       }
        axp20x_pek->irq_dbf = regmap_irq_get_virq(axp20x->regmap_irqc,
                                                  axp20x_pek->irq_dbf);
 
index a4ff478..7a0d3a1 100644 (file)
@@ -76,11 +76,8 @@ static int da9055_onkey_probe(struct platform_device *pdev)
        int irq, err;
 
        irq = platform_get_irq_byname(pdev, "ONKEY");
-       if (irq < 0) {
-               dev_err(&pdev->dev,
-                       "Failed to get an IRQ for input device, %d\n", irq);
+       if (irq < 0)
                return -EINVAL;
-       }
 
        onkey = devm_kzalloc(&pdev->dev, sizeof(*onkey), GFP_KERNEL);
        if (!onkey) {
index fd355cf..dace857 100644 (file)
@@ -248,11 +248,8 @@ static int da9063_onkey_probe(struct platform_device *pdev)
        }
 
        irq = platform_get_irq_byname(pdev, "ONKEY");
-       if (irq < 0) {
-               error = irq;
-               dev_err(&pdev->dev, "Failed to get platform IRQ: %d\n", error);
-               return error;
-       }
+       if (irq < 0)
+               return irq;
 
        error = devm_request_threaded_irq(&pdev->dev, irq,
                                          NULL, da9063_onkey_irq_handler,
index 4d7217f..e2fde6e 100644 (file)
@@ -65,18 +65,12 @@ static int e3x0_button_probe(struct platform_device *pdev)
        int error;
 
        irq_press = platform_get_irq_byname(pdev, "press");
-       if (irq_press < 0) {
-               dev_err(&pdev->dev, "No IRQ for 'press', error=%d\n",
-                       irq_press);
+       if (irq_press < 0)
                return irq_press;
-       }
 
        irq_release = platform_get_irq_byname(pdev, "release");
-       if (irq_release < 0) {
-               dev_err(&pdev->dev, "No IRQ for 'release', error=%d\n",
-                       irq_release);
+       if (irq_release < 0)
                return irq_release;
-       }
 
        input = devm_input_allocate_device(&pdev->dev);
        if (!input)
index dee6245..d3c293a 100644 (file)
@@ -90,12 +90,8 @@ static int hi65xx_powerkey_probe(struct platform_device *pdev)
        for (i = 0; i < ARRAY_SIZE(hi65xx_irq_info); i++) {
 
                irq = platform_get_irq_byname(pdev, hi65xx_irq_info[i].name);
-               if (irq < 0) {
-                       error = irq;
-                       dev_err(dev, "couldn't get irq %s: %d\n",
-                               hi65xx_irq_info[i].name, error);
-                       return error;
-               }
+               if (irq < 0)
+                       return irq;
 
                error = devm_request_any_context_irq(dev, irq,
                                                     hi65xx_irq_info[i].handler,
index 7c49b8d..ffab4a4 100644 (file)
@@ -71,16 +71,12 @@ static int max8925_onkey_probe(struct platform_device *pdev)
        int irq[2], error;
 
        irq[0] = platform_get_irq(pdev, 0);
-       if (irq[0] < 0) {
-               dev_err(&pdev->dev, "No IRQ resource!\n");
+       if (irq[0] < 0)
                return -EINVAL;
-       }
 
        irq[1] = platform_get_irq(pdev, 1);
-       if (irq[1] < 0) {
-               dev_err(&pdev->dev, "No IRQ resource!\n");
+       if (irq[1] < 0)
                return -EINVAL;
-       }
 
        info = devm_kzalloc(&pdev->dev, sizeof(struct max8925_onkey_info),
                            GFP_KERNEL);
index 017f81a..cf81044 100644 (file)
@@ -205,10 +205,8 @@ static int pm8941_pwrkey_probe(struct platform_device *pdev)
                return error;
 
        pwrkey->irq = platform_get_irq(pdev, 0);
-       if (pwrkey->irq < 0) {
-               dev_err(&pdev->dev, "failed to get irq\n");
+       if (pwrkey->irq < 0)
                return pwrkey->irq;
-       }
 
        error = regmap_read(pwrkey->regmap, pwrkey->baseaddr + PON_REV2,
                            &pwrkey->revision);
index 4a6d4a5..3fb64db 100644 (file)
@@ -53,16 +53,12 @@ static int rk805_pwrkey_probe(struct platform_device *pdev)
        input_set_capability(pwr, EV_KEY, KEY_POWER);
 
        fall_irq = platform_get_irq(pdev, 0);
-       if (fall_irq < 0) {
-               dev_err(&pdev->dev, "Can't get fall irq: %d\n", fall_irq);
+       if (fall_irq < 0)
                return fall_irq;
-       }
 
        rise_irq = platform_get_irq(pdev, 1);
-       if (rise_irq < 0) {
-               dev_err(&pdev->dev, "Can't get rise irq: %d\n", rise_irq);
+       if (rise_irq < 0)
                return rise_irq;
-       }
 
        err = devm_request_any_context_irq(&pwr->dev, fall_irq,
                                           pwrkey_fall_irq,
index 7b49c99..d8dc2f2 100644 (file)
@@ -61,18 +61,12 @@ static int stpmic1_onkey_probe(struct platform_device *pdev)
                return -ENOMEM;
 
        onkey->irq_falling = platform_get_irq_byname(pdev, "onkey-falling");
-       if (onkey->irq_falling < 0) {
-               dev_err(dev, "failed: request IRQ onkey-falling %d\n",
-                       onkey->irq_falling);
+       if (onkey->irq_falling < 0)
                return onkey->irq_falling;
-       }
 
        onkey->irq_rising = platform_get_irq_byname(pdev, "onkey-rising");
-       if (onkey->irq_rising < 0) {
-               dev_err(dev, "failed: request IRQ onkey-rising %d\n",
-                       onkey->irq_rising);
+       if (onkey->irq_rising < 0)
                return onkey->irq_rising;
-       }
 
        if (!device_property_read_u32(dev, "power-off-time-sec", &val)) {
                if (val > 0 && val <= 16) {
index a4455bb..f011447 100644 (file)
@@ -124,10 +124,8 @@ static int tps6521x_pb_probe(struct platform_device *pdev)
        device_init_wakeup(dev, true);
 
        irq = platform_get_irq(pdev, 0);
-       if (irq < 0) {
-               dev_err(dev, "No IRQ resource!\n");
+       if (irq < 0)
                return -EINVAL;
-       }
 
        error = devm_request_threaded_irq(dev, irq, NULL, tps6521x_pb_irq,
                                          IRQF_TRIGGER_RISING |
index 93235a0..bf66449 100644 (file)
@@ -272,10 +272,8 @@ static int twl6040_vibra_probe(struct platform_device *pdev)
        }
 
        info->irq = platform_get_irq(pdev, 0);
-       if (info->irq < 0) {
-               dev_err(info->dev, "invalid irq\n");
+       if (info->irq < 0)
                return -EINVAL;
-       }
 
        error = devm_request_threaded_irq(&pdev->dev, info->irq, NULL,
                                          twl6040_vib_irq_handler,
index 87bac8c..41acde6 100644 (file)
@@ -147,10 +147,8 @@ static int pxa930_trkball_probe(struct platform_device *pdev)
        int irq, error;
 
        irq = platform_get_irq(pdev, 0);
-       if (irq < 0) {
-               dev_err(&pdev->dev, "failed to get trkball irq\n");
+       if (irq < 0)
                return -ENXIO;
-       }
 
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        if (!res) {
index 443194a..0af9fba 100644 (file)
@@ -187,10 +187,8 @@ static int arc_ps2_probe(struct platform_device *pdev)
        int error, id, i;
 
        irq = platform_get_irq_byname(pdev, "arc_ps2_irq");
-       if (irq < 0) {
-               dev_err(&pdev->dev, "no IRQ defined\n");
+       if (irq < 0)
                return -EINVAL;
-       }
 
        arc_ps2 = devm_kzalloc(&pdev->dev, sizeof(struct arc_ps2_data),
                                GFP_KERNEL);
index e0f1846..8970b49 100644 (file)
@@ -369,8 +369,6 @@ static int ps2_gpio_probe(struct platform_device *pdev)
 
        drvdata->irq = platform_get_irq(pdev, 0);
        if (drvdata->irq < 0) {
-               dev_err(dev, "failed to get irq from platform resource: %d\n",
-                       drvdata->irq);
                error = drvdata->irq;
                goto err_free_serio;
        }
index 1d1bbc8..81a3ea4 100644 (file)
@@ -185,10 +185,8 @@ static int pm860x_touch_probe(struct platform_device *pdev)
        int irq, ret, res_x = 0, data = 0;
 
        irq = platform_get_irq(pdev, 0);
-       if (irq < 0) {
-               dev_err(&pdev->dev, "No IRQ resource!\n");
+       if (irq < 0)
                return -EINVAL;
-       }
 
        if (pm860x_touch_dt_init(pdev, chip, &res_x)) {
                if (pdata) {
index 4d11b27..7de1fd2 100644 (file)
@@ -489,10 +489,8 @@ static int iproc_ts_probe(struct platform_device *pdev)
 
        /* get interrupt */
        irq = platform_get_irq(pdev, 0);
-       if (irq < 0) {
-               dev_err(&pdev->dev, "platform_get_irq failed: %d\n", irq);
+       if (irq < 0)
                return irq;
-       }
 
        error = devm_request_irq(&pdev->dev, irq,
                                 iproc_touchscreen_interrupt,
index b66df8a..60a7246 100644 (file)
@@ -526,10 +526,8 @@ static int mx25_tcq_probe(struct platform_device *pdev)
        }
 
        priv->irq = platform_get_irq(pdev, 0);
-       if (priv->irq <= 0) {
-               dev_err(dev, "Failed to get IRQ\n");
+       if (priv->irq <= 0)
                return priv->irq;
-       }
 
        idev = devm_input_allocate_device(dev);
        if (!idev) {
index e04eecd..9ed2588 100644 (file)
@@ -430,16 +430,12 @@ static int imx6ul_tsc_probe(struct platform_device *pdev)
        }
 
        tsc_irq = platform_get_irq(pdev, 0);
-       if (tsc_irq < 0) {
-               dev_err(&pdev->dev, "no tsc irq resource?\n");
+       if (tsc_irq < 0)
                return tsc_irq;
-       }
 
        adc_irq = platform_get_irq(pdev, 1);
-       if (adc_irq < 0) {
-               dev_err(&pdev->dev, "no adc irq resource?\n");
+       if (adc_irq < 0)
                return adc_irq;
-       }
 
        err = devm_request_threaded_irq(tsc->dev, tsc_irq,
                                        NULL, tsc_irq_fn, IRQF_ONESHOT,
index 567ed64..b2cd947 100644 (file)
@@ -212,10 +212,8 @@ static int lpc32xx_ts_probe(struct platform_device *pdev)
        }
 
        irq = platform_get_irq(pdev, 0);
-       if (irq < 0) {
-               dev_err(&pdev->dev, "Can't get interrupt resource\n");
+       if (irq < 0)
                return irq;
-       }
 
        tsc = kzalloc(sizeof(*tsc), GFP_KERNEL);
        input = input_allocate_device();