summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/net/can/spi/mcp25xxfd/Makefile2
-rw-r--r--drivers/net/can/spi/mcp25xxfd/mcp25xxfd_gpio.c14
-rw-r--r--drivers/net/can/spi/mcp25xxfd/mcp25xxfd_gpio.h15
3 files changed, 16 insertions, 15 deletions
diff --git a/drivers/net/can/spi/mcp25xxfd/Makefile b/drivers/net/can/spi/mcp25xxfd/Makefile
index 76a7596ddd4b..5b3c6819d716 100644
--- a/drivers/net/can/spi/mcp25xxfd/Makefile
+++ b/drivers/net/can/spi/mcp25xxfd/Makefile
@@ -12,8 +12,8 @@ mcp25xxfd-objs += mcp25xxfd_clock.o
mcp25xxfd-objs += mcp25xxfd_cmd.o
mcp25xxfd-objs += mcp25xxfd_crc.o
mcp25xxfd-objs += mcp25xxfd_ecc.o
-mcp25xxfd-objs += mcp25xxfd_gpio.o
mcp25xxfd-objs += mcp25xxfd_int.o
mcp25xxfd-$(CONFIG_CAN_MCP25XXFD_DEBUG_FS) += mcp25xxfd_can_debugfs.o
mcp25xxfd-$(CONFIG_CAN_MCP25XXFD_DEBUG_FS) += mcp25xxfd_debugfs.o
+mcp25xxfd-$(CONFIG_GPIOLIB) += mcp25xxfd_gpio.o
diff --git a/drivers/net/can/spi/mcp25xxfd/mcp25xxfd_gpio.c b/drivers/net/can/spi/mcp25xxfd/mcp25xxfd_gpio.c
index 8ee71fbe4b53..3b228a9033e0 100644
--- a/drivers/net/can/spi/mcp25xxfd/mcp25xxfd_gpio.c
+++ b/drivers/net/can/spi/mcp25xxfd/mcp25xxfd_gpio.c
@@ -18,9 +18,6 @@
#include "mcp25xxfd_gpio.h"
#include "mcp25xxfd_priv.h"
-/* GPIO component */
-#ifdef CONFIG_GPIOLIB
-
static int mcp25xxfd_gpio_request(struct gpio_chip *chip,
unsigned int offset)
{
@@ -236,14 +233,3 @@ void mcp25xxfd_gpio_remove(struct mcp25xxfd_priv *priv)
{
gpiochip_remove(&priv->gpio);
}
-
-#else
-int mcp25xxfd_gpio_setup(struct mcp25xxfd_priv *priv)
-{
- return 0;
-}
-
-void mcp25xxfd_gpio_remove(struct mcp25xxfd_priv *priv)
-{
-}
-#endif
diff --git a/drivers/net/can/spi/mcp25xxfd/mcp25xxfd_gpio.h b/drivers/net/can/spi/mcp25xxfd/mcp25xxfd_gpio.h
index 46740e8abc45..cd4f0aa5e032 100644
--- a/drivers/net/can/spi/mcp25xxfd/mcp25xxfd_gpio.h
+++ b/drivers/net/can/spi/mcp25xxfd/mcp25xxfd_gpio.h
@@ -9,8 +9,23 @@
#include "mcp25xxfd_priv.h"
+#ifdef CONFIG_GPIOLIB
+
/* gpiolib support */
int mcp25xxfd_gpio_setup(struct mcp25xxfd_priv *priv);
void mcp25xxfd_gpio_remove(struct mcp25xxfd_priv *priv);
+#else
+
+static inline int mcp25xxfd_gpio_setup(struct mcp25xxfd_priv *priv)
+{
+ return 0;
+}
+
+static inline void mcp25xxfd_gpio_remove(struct mcp25xxfd_priv *priv)
+{
+}
+
+#endif
+
#endif /* __MCP25XXFD_GPIO_H */