lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 29 Jun 2020 16:25:22 +0200 From: Bartosz Golaszewski <bgolaszewski@...libre.com> To: Kent Gibson <warthog618@...il.com> Cc: LKML <linux-kernel@...r.kernel.org>, linux-gpio <linux-gpio@...r.kernel.org>, Linus Walleij <linus.walleij@...aro.org> Subject: Re: [PATCH 14/22] gpiolib: make cdev a build option On Tue, Jun 23, 2020 at 6:02 AM Kent Gibson <warthog618@...il.com> wrote: > > Make the gpiolib-cdev module a build option. This allows the CDEV > interface to be removed from the kernel to reduce kernel size in > applications where is it not required, and provides the parent for > other other CDEV interface specific build options to follow. > > Suggested-by: Bartosz Golaszewski <bgolaszewski@...libre.com> > Signed-off-by: Kent Gibson <warthog618@...il.com> > > --- > drivers/gpio/Kconfig | 16 ++++++++++++++-- > drivers/gpio/Makefile | 2 +- > drivers/gpio/gpiolib-cdev.h | 15 +++++++++++++++ > 3 files changed, 30 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig > index c6b5c65c8405..affc1524bc2c 100644 > --- a/drivers/gpio/Kconfig > +++ b/drivers/gpio/Kconfig > @@ -66,8 +66,20 @@ config GPIO_SYSFS > > 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 "/dev/gpiochipN (character device interface)" > + 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 is 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 > diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile > index ef666cfef9d0..45eb09808d12 100644 > --- a/drivers/gpio/Makefile > +++ b/drivers/gpio/Makefile > @@ -7,8 +7,8 @@ obj-$(CONFIG_GPIOLIB) += gpiolib.o > obj-$(CONFIG_GPIOLIB) += gpiolib-devres.o > obj-$(CONFIG_GPIOLIB) += gpiolib-legacy.o > obj-$(CONFIG_GPIOLIB) += gpiolib-devprop.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 > > diff --git a/drivers/gpio/gpiolib-cdev.h b/drivers/gpio/gpiolib-cdev.h > index 973578e7ad10..19a4e3d57120 100644 > --- a/drivers/gpio/gpiolib-cdev.h > +++ b/drivers/gpio/gpiolib-cdev.h > @@ -5,7 +5,22 @@ > > #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 */ > -- > 2.27.0 > I know Linus doesn't like this, but I'm personally in favor of adding this as long as it's enabled by default. Reviewed-by: Bartosz Golaszewski <bgolaszewski@...libre.com>
Powered by blists - more mailing lists