On Thu, 5 Mar 2020 00:41:40 +0530 Nishant Malpani <nish.malpani25@xxxxxxxxx> wrote: > Hello, IIO! > > This is Nishant Malpani, a fourth-year integrated Master's student, > majoring in Electronics and Communications (ECE) engineering, at > International Institute of Information Technology, Bangalore, India > (IIIT-B). Hi Nishant and welcome to IIO. > > Driven by my thirst to gain knowledge about the Linux kernel and its > various subsystems, I would like to be a part of the IIO community and > receive some insights on how to commence contributing. > > Formally, I've done a course on 'Linux Device Driver Development' at my > institute wherein I learnt about the various subsystems in the Linux > kernel of which IIO was one of them. I learnt extensively about IIO > Channels, Triggers, Buffers, Events etc. and further concluded by taking > up MCP3008 ADC as a case-study. I'm familiar with the development > process and initiated my contribution by submitting a naive patch [1] > (although it does need an update). I've also invested some time > completing IIO-related tasks listed on what seems like an outdated page > [2]. I'm aware of the previous conversations undertaken in this mailing > list [3] but I wasn't sure if somebody is already working on it. I'd be > delighted to contribute to any of the open tasks! In some ways it's great that we don't have quite so much low hanging fruit for newbies in IIO as we had a few years back, but in others it's annoying that we can't readily point at useful tasks when people ask like you and Rohit have done. One additional on going activity you could contribute to is yaml binding conversions. The effort that is ongoing to cleanup device tree bindings and make them 'testable' is a huge task so additional help is welcome. However, this puts a review burden on both the original authors of the relevant binding (if still around) and DT maintainers so we should do this slowly. If you wanted to look at this, one to start with would be. Documentation/devicetree/bindings/iio/light/tsl2563.txt There is documentation in the kernel tree and examples of what it should look like. Another option would be to look for drivers with dt bindings in the driver that have no binding documents at all and fix that by adding one. Note that for simple devices it may just be a case of an entry in the trivial-device.yaml file. Another project that has been on the todo list for a very long time would be to look at doing some test development for IIO along the lines of what Guenter has for i2c devices in hwmon. https://github.com/groeck/module-tests They would be fairly basic but might form the basis of regression tests. If you really get interested in that sort of testing, there are options like emulating a device in qemu that could be explored, but that isn't a small project and would only be useful if we then started doing regular regression testing. Otherwise the best way to get familiar with IIO is to get some hardware and start messing around. Good luck. Jonathan > > Thank you all for your time. > > With regards, > Nishant Malpani > > [1] https://marc.info/?l=linux-driver-devel&m=158326078122615&w=2 > [2] https://kernelnewbies.org/IIO_tasks > [3] https://marc.info/?l=linux-iio&m=158257639113000&w=2