serial: mctrl_gpio: Remove unused mctrl_gpio_free
Subsystems (3)
PATCH 1/1 serial: mctrl_gpio: Remove unused mctrl_gpio_free
From: "Dr. David Alan Gilbert" <[email protected]>
mctrl_gpio_free() was added in 2014 by
commit 84130aace839 ("tty/serial: Add GPIOLIB helpers for controlling modem lines")
It does have a comment saying:
'- * Normally, this function will not be called, as the GPIOs will
- * be disposed of by the resource management code.'
indeed, it doesn't seem to have been used since it was added.
Remove it.
--- Documentation/driver-api/serial/driver.rst | 2 +- drivers/tty/serial/serial_mctrl_gpio.c | 28 +--------------------- drivers/tty/serial/serial_mctrl_gpio.h | 16 ++----------- 3 files changed, 4 insertions(+), 42 deletions(-)
Documentation/driver-api/serial/driver.rst +1 -1
@@ -101,6 +101,6 @@ Modem control lines via GPIO Some helpers are provided in order to set/get modem control lines via GPIO. .. kernel-doc:: drivers/tty/serial/serial_mctrl_gpio.c - :identifiers: mctrl_gpio_init mctrl_gpio_free mctrl_gpio_to_gpiod + :identifiers: mctrl_gpio_init mctrl_gpio_to_gpiod mctrl_gpio_set mctrl_gpio_get mctrl_gpio_enable_ms mctrl_gpio_disable_ms
drivers/tty/serial/serial_mctrl_gpio.c +1 -27
@@ -217,7 +217,7 @@ static irqreturn_t mctrl_gpio_irq_handle(int irq, void *context)* * This will get the {cts,rts,...}-gpios from device tree if they are present * and request them, set direction etc, and return an allocated structure. -* `devm_*` functions are used, so there's no need to call mctrl_gpio_free(). +* `devm_*` functions are used, so there's no need to explicitly free. * As this sets up the irq handling, make sure to not handle changes to the * gpio input lines in your driver, too. */
@@ -267,32 +267,6 @@ struct mctrl_gpios *mctrl_gpio_init(struct uart_port *port, unsigned int idx) }EXPORT_SYMBOL_GPL (mctrl_gpio_init); -/** -* mctrl_gpio_free - explicitly free uart gpios -* @dev: uart port's device -* @gpios: gpios structure to be freed -* -* This will free the requested gpios in mctrl_gpio_init(). As `devm_*` -* functions are used, there's generally no need to call this function. -*/ -void mctrl_gpio_free (struct device *dev,struct mctrl_gpios *gpios) -{ -enum mctrl_gpio_idx i; - -if (gpios ==NULL ) -return ; - -for (i =0 ; i <UART_GPIO_MAX ; i++) { -if (gpios->irq[i]) -devm_free_irq (gpios->port->dev, gpios->irq[i], gpios); - -if (gpios->gpio[i]) -devm_gpiod_put (dev, gpios->gpio[i]); - } -devm_kfree (dev, gpios); -} -EXPORT_SYMBOL_GPL (mctrl_gpio_free); -/** * mctrl_gpio_enable_ms - enable irqs and handling of changes to the ms lines * @gpios: gpios to enable
drivers/tty/serial/serial_mctrl_gpio.h +2 -14
@@ -59,7 +59,7 @@ struct gpio_desc *mctrl_gpio_to_gpiod(struct mctrl_gpios *gpios,/* * Request and set direction of modem control line GPIOs and set up irq * handling. -* devm_* functions are used, so there's no need to call mctrl_gpio_free(). +* devm_* functions are used, so there's no need to explicitly free. * Returns a pointer to the allocated mctrl structure if ok, -ENOMEM on * allocation error. */
@@ -67,20 +67,13 @@ struct mctrl_gpios *mctrl_gpio_init(struct uart_port *port, unsigned int idx);/* * Request and set direction of modem control line GPIOs. -* devm_* functions are used, so there's no need to call mctrl_gpio_free(). +* devm_* functions are used, so there's no need to explicitly free. * Returns a pointer to the allocated mctrl structure if ok, -ENOMEM on * allocation error. */ struct mctrl_gpios *mctrl_gpio_init_noauto (struct device *dev,unsigned int idx); -/* -* Free the mctrl_gpios structure. -* Normally, this function will not be called, as the GPIOs will -* be disposed of by the resource management code. -*/ -void mctrl_gpio_free (struct device *dev,struct mctrl_gpios *gpios); -/* * Enable gpio interrupts to report status line changes. */
@@ -139,11 +132,6 @@ struct mctrl_gpios *mctrl_gpio_init_noauto(struct device *dev, unsigned int idx)return NULL ; } -static inline -void mctrl_gpio_free (struct device *dev,struct mctrl_gpios *gpios) -{ -} -static inline void mctrl_gpio_enable_ms (struct mctrl_gpios *gpios) { }
Signature · 1 line
2.48.1
Quoted 10 lines · On Wed, Jan 29, 2025 at 3:00 AM <[email protected]> wrote:
From: "Dr. David Alan Gilbert" <[email protected]>
mctrl_gpio_free()was added in 2014 by
commit84130aace839("tty/serial: Add GPIOLIB helpers for controlling modem lines")It does have a comment saying:
'- * Normally, this function will not be called, as the GPIOs will
- * be disposed of by the resource management code.'
Quoted 5 lines
indeed, it doesn't seem to have been used since it was added.
Remove it.
Signed-off-by Dr. David Alan Gilbert <[email protected]>
Looks correct.
Yours,
Linus Walleij