[PATCH 00/14] w1: async netlink, search, fixes, and improvements

From: David Fries
Date: Sun Dec 29 2013 - 01:57:01 EST

This patch series aims to extend and improve the netlink interface to
the one wire system. Netlink is exposed as a socket interface which
is normally assumed to be asynchronous which only blocks waiting on
incoming packets or a fulls end buffer, but were executed on the
calling thread. A bus device search can be a lengthy operation and
temperature conversion can take 750 ms. With this patch series those
lengthy operations are now processed on the thread originally created
to do automatic searching, which gives it a reason to exist when
automatic search is disabled. Some other improvements for netlink is
additional commands to add, remove, and list the known slaves, and
send replies only to the requester. They were previously multicast to
everyone listening on the group, this required an additional argument
to cn_netlink_send.

Search improvements include returning all devices found, as the first
that wouldn't fit in a packet would be lost. I marked only this patch
for the stable tree, though you would have to have a lot of devices on
one bus to hit it. I had a fix to support aborting from netlink
rather than just avoiding the oops as the previous patch did.
The search can now pick up where it left off, along with setting the
maximum number of slaves to search for at a time, a large network
could split up the search operation into multiple passes. ds2490 USB
dongle now gains support for hardware search and along with not
undoing the interface selection operation takes the search for my
network from 23.16 seconds to .307346 seconds.

The largest single change is to change the comment style for DocBook
to process in addition to comment some additional functions and
data structures.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/