On Thu, Apr 19, 2012 at 02:50:29PM +0100, Jonathan Cameron wrote: > Hi All, > > A recent discussion led to Greg saying he was happy to move IIO out > of staging. I observed that there were some pieces where this would > make sense, but a number of drivers have substantial userspace interface > issues so a wholesale move was not going to be a good idea. There > are even a few bits of out of date documentation. > > I finished by saying I'd start another thread to discuss what to move. > > Now there are quite a few patches under review at the moment, but if > we wait for everything to be quiet the move will never happen! So > sorry if your patch requires some adjustment as it crossed with Greg > moving things. I have a few of my own in this state so I share your pain! > > Anyhow, breaking things up into bite sized parts. > > 1) Move the core headers > 2) Move the core code. > 3) Move core and abi documentation. > 4) Move some drivers. > > 5) Long term move rest of drivers. > > > 1. Is simple enough. There are probably cleaner ways of doing it > but the following script does the job... > > headers='iio.h types.h buffer.h events.h sysfs.h trigger.h > trigger_consumer.h machine.h driver.h consumer.h kfifo_buf.h' > > for str in $headers > do > echo updating references to $str > find drivers/staging/iio -type f -exec sed -i > 's#"'$str'"#<linux/iio/'$str'>#' {} \; > echo updating references to ../$str > find drivers/staging/iio -type f -exec sed -i > 's#"../'$str'"#<linux/iio/'$str'>#' {} \; > done > > mkdir include/linux/iio > for str in $headers > do > echo moving $str > git mv drivers/staging/iio/$str include/linux/iio/ > done Do you want me to do this? Or do you want to send me a patch that does it? > 2) Is just a case of moving some of the contents of the base > staging/iio/ directory and pulling the relevant bits from the Kconfig. > (I'm happy to do a patch for this if it helps...) > > I'd propose moving... > > iio_core.h > iio_core_trigger.h > industrialio-buffer.c > industrialio-core.c > industrialio-event.c > industrialio-trigger.c > inkern.c > kfifo_buf.c > > Which gives us the whole core + the simplest (and least controversial) > buffer implementation. Sounds good, send me a patch :) > 3) move sysfs-bus-iio to experimental abi directory. The other abi docs > at least need a close read through before the move. They typically cover > individual drivers or the more esoteric driver classes. Also looks sane. > 4) Drivers. This mainly comes down to working out what to move. Quite > a few will need minor changes to headers to pull out the bits (usually > highlighted by documenation) that are platform data related and hence > need to go into include/linux/iio rather than being local to the driver > directory. The other nasty is that a lot of drivers depend on sw_ring. > So the question is whether we move them wholesale over to kfifo_buf or > pull sw_ring out of staging with the view that we'll replace it with > something better at a later date? My dislike for this ring > implemenation is well documented! I'll leave that decision to you, but I would suggest just picking one ring implementation if at all possible. kfifo would be the recommended one, why would you not use it? > 5) There lots of hideous drivers that will need work. Hopefully the > sheer embarasement of being left in staging and hence labeled bad > will motivate people to clean them up ;) That should happen over time, otherwise I can always threaten to delete them, which should cause people to wake up :) > To my mind, the priority is moving the headers, core and main documentation. > > What do people think? Mostly how we do this comes down to what > process works well for Greg. Sending me a patch for the first 3, or if you don't want to, I can do it as well, which ever is easier for you is fine with me. thanks, greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html