IIO: move out of staging plan.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

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.

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.

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!

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 ;)

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.

Thanks,

Jonathan
--
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


[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux