[PATCH] driver core: make pinctrl_bind_pins() private
From: Bartosz Golaszewski
Date: Thu Jan 08 2026 - 08:08:13 EST
pinctrl_bind_pins() is only used by driver core (as it should). Move it
out of the public header into base.h.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxxxxxxxx>
---
drivers/base/base.h | 9 +++++++++
drivers/base/pinctrl.c | 2 ++
include/linux/pinctrl/devinfo.h | 6 ------
3 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/drivers/base/base.h b/drivers/base/base.h
index 430cbefbc97f..aafc0adbe77d 100644
--- a/drivers/base/base.h
+++ b/drivers/base/base.h
@@ -289,3 +289,12 @@ static inline int devtmpfs_delete_node(struct device *dev) { return 0; }
void software_node_notify(struct device *dev);
void software_node_notify_remove(struct device *dev);
+
+#ifdef CONFIG_PINCTRL
+int pinctrl_bind_pins(struct device *dev);
+#else
+static inline int pinctrl_bind_pins(struct device *dev)
+{
+ return 0;
+}
+#endif /* CONFIG_PINCTRL */
diff --git a/drivers/base/pinctrl.c b/drivers/base/pinctrl.c
index c22864458511..6e250272c843 100644
--- a/drivers/base/pinctrl.c
+++ b/drivers/base/pinctrl.c
@@ -14,6 +14,8 @@
#include <linux/pinctrl/consumer.h>
#include <linux/slab.h>
+#include "base.h"
+
/**
* pinctrl_bind_pins() - called by the device core before probe
* @dev: the device that is just about to probe
diff --git a/include/linux/pinctrl/devinfo.h b/include/linux/pinctrl/devinfo.h
index bb6653af4f92..de4228eea90a 100644
--- a/include/linux/pinctrl/devinfo.h
+++ b/include/linux/pinctrl/devinfo.h
@@ -43,7 +43,6 @@ struct dev_pin_info {
#endif
};
-extern int pinctrl_bind_pins(struct device *dev);
extern int pinctrl_init_done(struct device *dev);
static inline struct pinctrl *dev_pinctrl(struct device *dev)
@@ -58,11 +57,6 @@ static inline struct pinctrl *dev_pinctrl(struct device *dev)
/* Stubs if we're not using pinctrl */
-static inline int pinctrl_bind_pins(struct device *dev)
-{
- return 0;
-}
-
static inline int pinctrl_init_done(struct device *dev)
{
return 0;
--
2.47.3