[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <50683aac-b186-c6ae-de1f-5b8e4806913c@wanadoo.fr>
Date: Sat, 26 Aug 2023 20:29:52 +0200
From: Christophe JAILLET <christophe.jaillet@...adoo.fr>
To: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
linux-input@...r.kernel.org, linux-kernel@...r.kernel.org
Cc: Jiri Kosina <jikos@...nel.org>,
Benjamin Tissoires <benjamin.tissoires@...hat.com>,
Andy Shevchenko <andy@...nel.org>
Subject: Re: [PATCH v1 06/12] HID: cp2112: Remove dead code
Le 03/07/2023 à 20:52, Andy Shevchenko a écrit :
> Remove cp2112_allocate_irq() and counterparts that seems to be
> a dead code from day 1. In case somebody needs it, it can be
> retrieved from Git index.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
Hi,
for the records, just in case it still makesense to keep this code:
https://lore.kernel.org/all/CAO-hwJJfncQ3jgtS=HO0atbzrTNOT_rzU66oG2yRTWTSY-L8KA@mail.gmail.com/
CJ
> ---
> drivers/hid/hid-cp2112.c | 54 ----------------------------------------
> 1 file changed, 54 deletions(-)
>
> diff --git a/drivers/hid/hid-cp2112.c b/drivers/hid/hid-cp2112.c
> index 15b626359281..45cd0d2fd3fd 100644
> --- a/drivers/hid/hid-cp2112.c
> +++ b/drivers/hid/hid-cp2112.c
> @@ -17,8 +17,6 @@
> */
>
> #include <linux/bitops.h>
> -#include <linux/gpio/consumer.h>
> -#include <linux/gpio/machine.h>
> #include <linux/gpio/driver.h>
> #include <linux/hid.h>
> #include <linux/hidraw.h>
> @@ -168,7 +166,6 @@ struct cp2112_device {
> u8 *in_out_buffer;
> struct mutex lock;
>
> - struct gpio_desc *desc[8];
> bool gpio_poll;
> struct delayed_work gpio_poll_worker;
> unsigned long irq_mask;
> @@ -1181,51 +1178,6 @@ static int cp2112_gpio_irq_type(struct irq_data *d, unsigned int type)
> return 0;
> }
>
> -static int __maybe_unused cp2112_allocate_irq(struct cp2112_device *dev,
> - int pin)
> -{
> - int ret;
> -
> - if (dev->desc[pin])
> - return -EINVAL;
> -
> - dev->desc[pin] = gpiochip_request_own_desc(&dev->gc, pin,
> - "HID/I2C:Event",
> - GPIO_ACTIVE_HIGH,
> - GPIOD_IN);
> - if (IS_ERR(dev->desc[pin])) {
> - dev_err(dev->gc.parent, "Failed to request GPIO\n");
> - return PTR_ERR(dev->desc[pin]);
> - }
> -
> - ret = cp2112_gpio_direction_input(&dev->gc, pin);
> - if (ret < 0) {
> - dev_err(dev->gc.parent, "Failed to set GPIO to input dir\n");
> - goto err_desc;
> - }
> -
> - ret = gpiochip_lock_as_irq(&dev->gc, pin);
> - if (ret) {
> - dev_err(dev->gc.parent, "Failed to lock GPIO as interrupt\n");
> - goto err_desc;
> - }
> -
> - ret = gpiod_to_irq(dev->desc[pin]);
> - if (ret < 0) {
> - dev_err(dev->gc.parent, "Failed to translate GPIO to IRQ\n");
> - goto err_lock;
> - }
> -
> - return ret;
> -
> -err_lock:
> - gpiochip_unlock_as_irq(&dev->gc, pin);
> -err_desc:
> - gpiochip_free_own_desc(dev->desc[pin]);
> - dev->desc[pin] = NULL;
> - return ret;
> -}
> -
> static const struct irq_chip cp2112_gpio_irqchip = {
> .name = "cp2112-gpio",
> .irq_startup = cp2112_gpio_irq_startup,
> @@ -1390,7 +1342,6 @@ static int cp2112_probe(struct hid_device *hdev, const struct hid_device_id *id)
> static void cp2112_remove(struct hid_device *hdev)
> {
> struct cp2112_device *dev = hid_get_drvdata(hdev);
> - int i;
>
> sysfs_remove_group(&hdev->dev.kobj, &cp2112_attr_group);
> i2c_del_adapter(&dev->adap);
> @@ -1400,11 +1351,6 @@ static void cp2112_remove(struct hid_device *hdev)
> cancel_delayed_work_sync(&dev->gpio_poll_worker);
> }
>
> - for (i = 0; i < ARRAY_SIZE(dev->desc); i++) {
> - gpiochip_unlock_as_irq(&dev->gc, i);
> - gpiochip_free_own_desc(dev->desc[i]);
> - }
> -
> gpiochip_remove(&dev->gc);
> /* i2c_del_adapter has finished removing all i2c devices from our
> * adapter. Well behaved devices should no longer call our cp2112_xfer
Powered by blists - more mailing lists