ddfc9c4c59
Now that the upper layers all go through a layer to tie into these information functions that translates an sbuf into char * and len. The current interface suffers issues of what to do in cases of truncation, etc. Instead, migrate all these functions to using struct sbuf and these issues go away. The caller is also in charge of any memory allocation and/or expansion that's needed during this process. Create a bus_generic_child_{pnpinfo,location} and make it default. It just returns success. This is for those busses that have no information for these items. Migrate the now-empty routines to using this as appropriate. Document these new interfaces with man pages, and oversight from before. Reviewed by: jhb, bcr Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D29937 |
||
---|---|---|
.. | ||
ow_temp.c | ||
ow.c | ||
ow.h | ||
owc_gpiobus.c | ||
owll_if.m | ||
owll.h | ||
own_if.m | ||
own.h | ||
README.txt |
Quick Design Document for 1-wire bus In new bus terms, 1-wire devices are attached to 1-wire buses (ow) which are attached to a one wire bridge (owc). The implementation follows the terminology used in the Maxim AN927 Application note which defines the 1-wire bus as implemented for the iButton product. This is considered to be the canonical definition of the 1-wire bus. This means that the 1-wire bridge will implement the owll(9) interface. ow is one wire. ll is for Link Level to mirror the ISO stack terminology used by AN927. The 1-wire bus is implemented in the ow(4) device, which implements the own(9) interface (n for network, the layer described in the AN927). The presentation layer and above is the responsibility of the client device drivers to implement. Client drivers may only call the own(9) interface. The ow(4) driver calls the owll(9) interface and implements the own(9). $FreeBSD$