mirror of
https://github.com/opnsense/src.git
synced 2026-06-06 15:22:34 -04:00
This provides better semantics as a standalone DEVMETHOD for device_attach as bus drivers should remove child devices they created as part of detach cleanup. The implementation calls bus_detach_children() first to permit child devices an opportunity to veto the detach operation. If that succeeds, device_delete_children() is used to delete the child devices. This requires fixing various drivers that were deleting devices explicitly (via a device_t pointer cached in the softc) after calling bus_generic_detach to stop doing that and just rely on bus_generic_detach to remove child devices. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D47959 |
||
|---|---|---|
| .. | ||
| ow.c | ||
| ow.h | ||
| ow_temp.c | ||
| owc_gpiobus.c | ||
| owll.h | ||
| owll_if.m | ||
| own.h | ||
| own_if.m | ||
| 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).