This ABI is deprecated. If you want to use GPIO from userspace,
          use the character device /dev/gpiochipN with the appropriate
-         ioctl() operations instead. The character device is always
-         available.
+         ioctl() operations instead.
+
+config GPIO_CDEV
+       bool
+       prompt "Character device (/dev/gpiochipN) support" if EXPERT
+       default y
+       help
+         Say Y here to add the character device /dev/gpiochipN interface
+         for GPIOs. The character device allows userspace to control GPIOs
+         using ioctl() operations.
+
+         Only say N if you are sure that the GPIO character device is not
+         required.
+
+         If unsure, say Y.
 
 config GPIO_GENERIC
        depends on HAS_IOMEM # Only for IOMEM drivers
 
 obj-$(CONFIG_GPIOLIB)          += gpiolib.o
 obj-$(CONFIG_GPIOLIB)          += gpiolib-devres.o
 obj-$(CONFIG_GPIOLIB)          += gpiolib-legacy.o
-obj-$(CONFIG_GPIOLIB)          += gpiolib-cdev.o
 obj-$(CONFIG_OF_GPIO)          += gpiolib-of.o
+obj-$(CONFIG_GPIO_CDEV)                += gpiolib-cdev.o
 obj-$(CONFIG_GPIO_SYSFS)       += gpiolib-sysfs.o
 obj-$(CONFIG_GPIO_ACPI)                += gpiolib-acpi.o
 
 
 
 #include <linux/device.h>
 
+#ifdef CONFIG_GPIO_CDEV
+
 int gpiolib_cdev_register(struct gpio_device *gdev, dev_t devt);
 void gpiolib_cdev_unregister(struct gpio_device *gdev);
 
+#else
+
+static inline int gpiolib_cdev_register(struct gpio_device *gdev, dev_t devt)
+{
+       return 0;
+}
+
+static inline void gpiolib_cdev_unregister(struct gpio_device *gdev)
+{
+}
+
+#endif /* CONFIG_GPIO_CDEV */
+
 #endif /* GPIOLIB_CDEV_H */