mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-16 00:51:51 -04:00
gpio: remove of_get_named_gpio() and <linux/of_gpio.h>
All in-tree consumers have been converted to the descriptor-based API. Remove the deprecated of_get_named_gpio() helper, delete the <linux/of_gpio.h> header, and drop the corresponding entry from MAINTAINERS. Also remove the completed TODO item for this cleanup. Signed-off-by: Jialu Xu <xujialu@vimux.org> Reviewed-by: Linus Walleij <linusw@kernel.org> Link: https://patch.msgid.link/02ABDA1F9E3FAF1F+20260307030623.3495092-6-xujialu@vimux.org Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
This commit is contained in:
committed by
Bartosz Golaszewski
parent
253350dbf3
commit
b6420bd5aa
@@ -10959,7 +10959,6 @@ F: drivers/gpio/
|
||||
F: include/dt-bindings/gpio/
|
||||
F: include/linux/gpio.h
|
||||
F: include/linux/gpio/
|
||||
F: include/linux/of_gpio.h
|
||||
K: (devm_)?gpio_(request|free|direction|get|set)
|
||||
K: GPIOD_FLAGS_BIT_NONEXCLUSIVE
|
||||
K: devm_gpiod_unhinge
|
||||
|
||||
@@ -58,34 +58,6 @@ Work items:
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Get rid of <linux/of_gpio.h>
|
||||
|
||||
This header and helpers appeared at one point when there was no proper
|
||||
driver infrastructure for doing simpler MMIO GPIO devices and there was
|
||||
no core support for parsing device tree GPIOs from the core library with
|
||||
the [devm_]gpiod_get() calls we have today that will implicitly go into
|
||||
the device tree back-end. It is legacy and should not be used in new code.
|
||||
|
||||
Work items:
|
||||
|
||||
- Change all consumer drivers that #include <linux/of_gpio.h> to
|
||||
#include <linux/gpio/consumer.h> and stop doing custom parsing of the
|
||||
GPIO lines from the device tree. This can be tricky and often involves
|
||||
changing board files, etc.
|
||||
|
||||
- Pull semantics for legacy device tree (OF) GPIO lookups into
|
||||
gpiolib-of.c: in some cases subsystems are doing custom flags and
|
||||
lookups for polarity inversion, open drain and what not. As we now
|
||||
handle this with generic OF bindings, pull all legacy handling into
|
||||
gpiolib so the library API becomes narrow and deep and handle all
|
||||
legacy bindings internally. (See e.g. commits 6953c57ab172,
|
||||
6a537d48461d etc)
|
||||
|
||||
- Delete <linux/of_gpio.h> when all the above is complete and everything
|
||||
uses <linux/gpio/consumer.h> or <linux/gpio/driver.h> instead.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Collect drivers
|
||||
|
||||
Collect GPIO drivers from arch/* and other places that should be placed
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/of.h>
|
||||
#include <linux/of_address.h>
|
||||
#include <linux/of_gpio.h>
|
||||
#include <linux/pinctrl/pinctrl.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/string.h>
|
||||
@@ -446,32 +445,6 @@ static struct gpio_desc *of_get_named_gpiod_flags(const struct device_node *np,
|
||||
return desc;
|
||||
}
|
||||
|
||||
/**
|
||||
* of_get_named_gpio() - Get a GPIO number to use with GPIO API
|
||||
* @np: device node to get GPIO from
|
||||
* @propname: Name of property containing gpio specifier(s)
|
||||
* @index: index of the GPIO
|
||||
*
|
||||
* **DEPRECATED** This function is deprecated and must not be used in new code.
|
||||
*
|
||||
* Returns:
|
||||
* GPIO number to use with Linux generic GPIO API, or one of the errno
|
||||
* value on the error condition.
|
||||
*/
|
||||
int of_get_named_gpio(const struct device_node *np, const char *propname,
|
||||
int index)
|
||||
{
|
||||
struct gpio_desc *desc;
|
||||
|
||||
desc = of_get_named_gpiod_flags(np, propname, index, NULL);
|
||||
|
||||
if (IS_ERR(desc))
|
||||
return PTR_ERR(desc);
|
||||
else
|
||||
return desc_to_gpio(desc);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(of_get_named_gpio);
|
||||
|
||||
/* Converts gpio_lookup_flags into bitmask of GPIO_* values */
|
||||
static unsigned long of_convert_gpio_flags(enum of_gpio_flags flags)
|
||||
{
|
||||
|
||||
@@ -1,38 +0,0 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0+ */
|
||||
/*
|
||||
* OF helpers for the GPIO API
|
||||
*
|
||||
* Copyright (c) 2007-2008 MontaVista Software, Inc.
|
||||
*
|
||||
* Author: Anton Vorontsov <avorontsov@ru.mvista.com>
|
||||
*/
|
||||
|
||||
#ifndef __LINUX_OF_GPIO_H
|
||||
#define __LINUX_OF_GPIO_H
|
||||
|
||||
#include <linux/compiler.h>
|
||||
#include <linux/gpio/driver.h>
|
||||
#include <linux/gpio.h> /* FIXME: Shouldn't be here */
|
||||
#include <linux/of.h>
|
||||
|
||||
struct device_node;
|
||||
|
||||
#ifdef CONFIG_OF_GPIO
|
||||
|
||||
extern int of_get_named_gpio(const struct device_node *np,
|
||||
const char *list_name, int index);
|
||||
|
||||
#else /* CONFIG_OF_GPIO */
|
||||
|
||||
#include <linux/errno.h>
|
||||
|
||||
/* Drivers may not strictly depend on the GPIO support, so let them link. */
|
||||
static inline int of_get_named_gpio(const struct device_node *np,
|
||||
const char *propname, int index)
|
||||
{
|
||||
return -ENOSYS;
|
||||
}
|
||||
|
||||
#endif /* CONFIG_OF_GPIO */
|
||||
|
||||
#endif /* __LINUX_OF_GPIO_H */
|
||||
Reference in New Issue
Block a user