freebsd-dev/sys/dev/ow
Mark Johnston aa37baf3d7 Define PNP info after defining driver modules
PNP info definitions currently have an unfortunate requirement in that
they must follow the associated module definition in the module metadata
linker set.  Otherwise devmatch can segfault while processing the linker
hints file since kldxref maintains the order in the linker set.

A number of drivers violate this requirement.  In some cases this can
cause devmatch(8) to segfault when processing the linker hints file.
Work around the problem for now simply by adjusting the drivers.

Reviewed by:	imp
MFC after:	1 week
Sponsored by:	Rubicon Communications, LLC ("Netgate")
Differential Revision:	https://reviews.freebsd.org/D28260
2021-01-21 14:30:18 -05:00
..
ow_temp.c ow: clean up empty lines in .c and .h files 2020-09-01 22:01:32 +00:00
ow.c kernel: provide panicky version of __unreachable 2020-05-13 18:07:37 +00:00
ow.h ow: clean up empty lines in .c and .h files 2020-09-01 22:01:32 +00:00
owc_gpiobus.c Define PNP info after defining driver modules 2021-01-21 14:30:18 -05:00
owll_if.m Regularize my copyright notice 2019-12-04 16:56:11 +00:00
owll.h Regularize my copyright notice 2019-12-04 16:56:11 +00:00
own_if.m Regularize my copyright notice 2019-12-04 16:56:11 +00:00
own.h ow: clean up empty lines in .c and .h files 2020-09-01 22:01:32 +00:00
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$