Re: [PATCH v1 3/3] gpiolib: legacy: Remove unused gpio_request_array() and gpio_free_array()

Yanteng Si
2024-03-08T01:14:25Z

在 2024/3/7 21:49, Andy Shevchenko 写道:
> No more users.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
> Documentation/driver-api/gpio/legacy.rst | 16 --------
> .../zh_CN/driver-api/gpio/legacy.rst | 16 --------

For Chinese:

Reviewed-by: Yanteng Si <siyanteng@loongson.cn>

Thanks,

Yanteng

> Documentation/translations/zh_TW/gpio.txt | 17 --------
> drivers/gpio/gpiolib-legacy.c | 39 -------------------
> include/linux/gpio.h | 15 -------
> 5 files changed, 103 deletions(-)
>
> diff --git a/Documentation/driver-api/gpio/legacy.rst b/Documentation/driver-api/gpio/legacy.rst
> index b6505914791c..534dfe95d128 100644
> --- a/Documentation/driver-api/gpio/legacy.rst
> +++ b/Documentation/driver-api/gpio/legacy.rst
> @@ -225,8 +225,6 @@ setup or driver probe/teardown code, so this is an easy constraint.)::
> gpio_request()
>
> ## gpio_request_one()
> - ## gpio_request_array()
> - ## gpio_free_array()
>
> gpio_free()
>
> @@ -295,14 +293,6 @@ are claimed, three additional calls are defined::
> */
> int gpio_request_one(unsigned gpio, unsigned long flags, const char *label);
>
> - /* request multiple GPIOs in a single call
> - */
> - int gpio_request_array(struct gpio *array, size_t num);
> -
> - /* release multiple GPIOs in a single call
> - */
> - void gpio_free_array(struct gpio *array, size_t num);
> -
> where 'flags' is currently defined to specify the following properties:
>
> * GPIOF_DIR_IN - to configure direction as input
> @@ -341,12 +331,6 @@ A typical example of usage::
> if (err)
> ...
>
> - err = gpio_request_array(leds_gpios, ARRAY_SIZE(leds_gpios));
> - if (err)
> - ...
> -
> - gpio_free_array(leds_gpios, ARRAY_SIZE(leds_gpios));
> -
>
> GPIOs mapped to IRQs
> --------------------
> diff --git a/Documentation/translations/zh_CN/driver-api/gpio/legacy.rst b/Documentation/translations/zh_CN/driver-api/gpio/legacy.rst
> index aeccff777170..0faf042001d2 100644
> --- a/Documentation/translations/zh_CN/driver-api/gpio/legacy.rst
> +++ b/Documentation/translations/zh_CN/driver-api/gpio/legacy.rst
> @@ -208,8 +208,6 @@ GPIO 值的命令需要等待其信息排到队首才发送命令，再获得其
> gpio_request()
>
> ## gpio_request_one()
> - ## gpio_request_array()
> - ## gpio_free_array()
>
> gpio_free()
>
> @@ -272,14 +270,6 @@ gpio_request()前将这类细节配置好，例如使用引脚控制子系统的
> */
> int gpio_request_one(unsigned gpio, unsigned long flags, const char *label);
>
> - /* 在单个函数中申请多个 GPIO
> - */
> - int gpio_request_array(struct gpio *array, size_t num);
> -
> - /* 在单个函数中释放多个 GPIO
> - */
> - void gpio_free_array(struct gpio *array, size_t num);
> -
> 这里 'flags' 当前定义可指定以下属性:
>
> * GPIOF_DIR_IN - 配置方向为输入
> @@ -317,12 +307,6 @@ gpio_request()前将这类细节配置好，例如使用引脚控制子系统的
> if (err)
> ...
>
> - err = gpio_request_array(leds_gpios, ARRAY_SIZE(leds_gpios));
> - if (err)
> - ...
> -
> - gpio_free_array(leds_gpios, ARRAY_SIZE(leds_gpios));
> -
>
> GPIO 映射到 IRQ
> ----------------
> diff --git a/Documentation/translations/zh_TW/gpio.txt b/Documentation/translations/zh_TW/gpio.txt
> index b9b48012c62e..77d69d381316 100644
> --- a/Documentation/translations/zh_TW/gpio.txt
> +++ b/Documentation/translations/zh_TW/gpio.txt
> @@ -215,13 +215,10 @@ GPIO 值的命令需要等待其信息排到隊首才發送命令，再獲得其
> gpio_request()
>
> ## gpio_request_one()
> -## gpio_request_array()
> -## gpio_free_array()
>
> gpio_free()
>
>
> -
> 聲明和釋放 GPIO
> ----------------------------
> 爲了有助於捕獲系統配置錯誤,定義了兩個函數。
> @@ -278,14 +275,6 @@ gpio_request()前將這類細節配置好，例如使用 pinctrl 子系統的映
> */
> int gpio_request_one(unsigned gpio, unsigned long flags, const char *label);
>
> - /* 在單個函數中申請多個 GPIO
> - */
> - int gpio_request_array(struct gpio *array, size_t num);
> -
> - /* 在單個函數中釋放多個 GPIO
> - */
> - void gpio_free_array(struct gpio *array, size_t num);
> -
> 這裡 'flags' 當前定義可指定以下屬性:
>
> * GPIOF_DIR_IN - 配置方向爲輸入
> @@ -323,12 +312,6 @@ gpio_request()前將這類細節配置好，例如使用 pinctrl 子系統的映
> if (err)
> ...
>
> - err = gpio_request_array(leds_gpios, ARRAY_SIZE(leds_gpios));
> - if (err)
> - ...
> -
> - gpio_free_array(leds_gpios, ARRAY_SIZE(leds_gpios));
> -
>
> GPIO 映射到 IRQ
> --------------------
> diff --git a/drivers/gpio/gpiolib-legacy.c b/drivers/gpio/gpiolib-legacy.c
> index 3392e758d36f..5a9911ae9125 100644
> --- a/drivers/gpio/gpiolib-legacy.c
> +++ b/drivers/gpio/gpiolib-legacy.c
> @@ -72,42 +72,3 @@ int gpio_request(unsigned gpio, const char *label)
> return gpiod_request(desc, label);
> }
> EXPORT_SYMBOL_GPL(gpio_request);
> -
> -/**
> - * gpio_request_array - request multiple GPIOs in a single call
> - * @array: array of the 'struct gpio'
> - * @num: how many GPIOs in the array
> - *
> - * **DEPRECATED** This function is deprecated and must not be used in new code.
> - */
> -int gpio_request_array(const struct gpio *array, size_t num)
> -{
> - int i, err;
> -
> - for (i = 0; i < num; i++, array++) {
> - err = gpio_request_one(array->gpio, array->flags, array->label);
> - if (err)
> - goto err_free;
> - }
> - return 0;
> -
> -err_free:
> - while (i--)
> - gpio_free((--array)->gpio);
> - return err;
> -}
> -EXPORT_SYMBOL_GPL(gpio_request_array);
> -
> -/**
> - * gpio_free_array - release multiple GPIOs in a single call
> - * @array: array of the 'struct gpio'
> - * @num: how many GPIOs in the array
> - *
> - * **DEPRECATED** This function is deprecated and must not be used in new code.
> - */
> -void gpio_free_array(const struct gpio *array, size_t num)
> -{
> - while (num--)
> - gpio_free((array++)->gpio);
> -}
> -EXPORT_SYMBOL_GPL(gpio_free_array);
> diff --git a/include/linux/gpio.h b/include/linux/gpio.h
> index f4e5406554bb..56ac7e7a2889 100644
> --- a/include/linux/gpio.h
> +++ b/include/linux/gpio.h
> @@ -120,8 +120,6 @@ static inline int gpio_to_irq(unsigned gpio)
> }
>
> int gpio_request_one(unsigned gpio, unsigned long flags, const char *label);
> -int gpio_request_array(const struct gpio *array, size_t num);
> -void gpio_free_array(const struct gpio *array, size_t num);
>
> /* CONFIG_GPIOLIB: bindings for managed devices that want to request gpios */
>
> @@ -152,11 +150,6 @@ static inline int gpio_request_one(unsigned gpio,
> return -ENOSYS;
> }
>
> -static inline int gpio_request_array(const struct gpio *array, size_t num)
> -{
> - return -ENOSYS;
> -}
> -
> static inline void gpio_free(unsigned gpio)
> {
> might_sleep();
> @@ -165,14 +158,6 @@ static inline void gpio_free(unsigned gpio)
> WARN_ON(1);
> }
>
> -static inline void gpio_free_array(const struct gpio *array, size_t num)
> -{
> - might_sleep();
> -
> - /* GPIO can never have been requested */
> - WARN_ON(1);
> -}
> -
> static inline int gpio_direction_input(unsigned gpio)
> {
> return -ENOSYS;