Message ID | 20240307135109.3778316-4-andriy.shevchenko@linux.intel.com |
---|---|
State | New |
Headers | show |
Series | gpiolib: Get rid of gpio_free_array()/gpio_request_array() | expand |
在 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;
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;
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 -------- Documentation/translations/zh_TW/gpio.txt | 17 -------- drivers/gpio/gpiolib-legacy.c | 39 ------------------- include/linux/gpio.h | 15 ------- 5 files changed, 103 deletions(-)