On Wed, Dec 9, 2020 at 5:37 PM Andy Shevchenko <andy.shevchenko@xxxxxxxxx> wrote: > > On Thu, Dec 3, 2020 at 11:55 AM Alexandru Ardelean > <alexandru.ardelean@xxxxxxxxxx> wrote: > > > > We only need a chardev if we need to support buffers and/or events. > > > > With this change, a chardev will be created only if an IIO buffer is > > attached OR an event_interface is configured. > > > > Otherwise, no chardev will be created, and the IIO device will get > > registered with the 'device_add()' call. > > > > Quite a lot of IIO devices don't really need a chardev, so this is a minor > > improvement to the IIO core, as the IIO device will take up (slightly) > > fewer resources. > > > > In order to not create a chardev, we mostly just need to not initialize the > > indio_dev->dev.devt field. If that is un-initialized, cdev_device_add() > > un-initialized -> uninitialized > > > behaves like device_add(). > > Are you sure there is no user space application that doesn't rely on > character device to be always present? Nope. I'm not sure. I'm also not completely sure how Jonathan feels about this patch being added now [so late]. Though, technically if the chardev was already there, without all the control in place [to enable IIO buffers and other stuff through the chardev] then it's technically just a "marker" file. Which arguably is a lot to have (i.e. chardev that should be unusable). If it is usable with no control in place for buffers or other stuff (i.e. I missed something), then I also don't know. So, this patch on it's own can still be interpreted as an RFC. See: https://lore.kernel.org/linux-iio/20201121180246.772ad299@archlinux/ > > -- > With Best Regards, > Andy Shevchenko