opnsense-src/sys/dev/ow
Enji Cooper 6b41d9082e chore: replace {0, 0} with {DEV,KOBJ}METHOD_END
Both of the aforementioned macros have been present in FreeBSD
for well over a decade: 2009 for `KOBJMETHOD_END`; 2011 for
`DEVMETHOD_END`.

Adapt all hardcoded references of `{0, 0}` with `DEVMETHOD_END`
and `KOBJMETHOD_END` as appropriate. This helps ensure that
future adaptations to drivers following patterns documented
in driver(9) can be made more easily/without issue.

MFC after:	1 week
Differential Revision:	 https://reviews.freebsd.org/D55414

MFC notes:
	All conflicts were dropped as they didn't apply to code in branch.

Conflicts:
	sys/dev/flash/w25n.c
	sys/dev/nvd/nvd.c
	sys/dev/nvme/nvme_sim.c
	sys/dev/sound/pci/hdsp-pcm.c
	sys/dev/sound/pci/hdsp.c
	sys/dev/ufshci/ufshci_pci.c

(cherry picked from commit 0fc6c3f731a2cca3120798806c330a3081c9424b)
2026-04-30 07:39:21 +02:00
..
ow.c chore: replace {0, 0} with {DEV,KOBJ}METHOD_END 2026-04-30 07:39:21 +02:00
ow.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
ow_temp.c chore: replace {0, 0} with {DEV,KOBJ}METHOD_END 2026-04-30 07:39:21 +02:00
owc_gpiobus.c chore: replace {0, 0} with {DEV,KOBJ}METHOD_END 2026-04-30 07:39:21 +02:00
owll.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
owll_if.m sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00
own.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
own_if.m sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00
README.txt sys: Remove $FreeBSD$: one-line bare tag 2023-08-16 11:55:17 -06:00

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