opnsense-src/sys/dev/bhnd/nvram
Landon J. Fuller 8e35bf8319 bhnd: Implement bhnd(4) platform device registration.
Add bhnd(4) API for explicitly registering BHND platform devices (ChipCommon,
PMU, NVRAM, etc) with the bus, rather than walking the newbus hierarchy to
discover platform devices. These devices are now also refcounted; attempting
to deregister an actively used platform device will return EBUSY.

This resolves a lock ordering incompatibility with bwn(4)'s firmware loading
threads; previously it was necessary to acquire Giant to protect newbus access
when locating and querying the NVRAM device.

Approved by:	adrian (mentor)
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D12392
2017-09-27 19:44:23 +00:00
..
bhnd_nvram.h bhnd(4): Add support for three new NVRAM value types; booleans, 2016-12-19 20:23:19 +00:00
bhnd_nvram_data.c [mips/broadcom]: Early boot NVRAM support 2017-03-23 19:29:12 +00:00
bhnd_nvram_data.h [mips/broadcom]: Early boot NVRAM support 2017-03-23 19:29:12 +00:00
bhnd_nvram_data_bcm.c [mips/broadcom]: Early boot NVRAM support 2017-03-23 19:29:12 +00:00
bhnd_nvram_data_bcmraw.c [mips/broadcom]: Early boot NVRAM support 2017-03-23 19:29:12 +00:00
bhnd_nvram_data_bcmreg.h bhnd(4): NVRAM serialization support. 2016-12-19 20:34:05 +00:00
bhnd_nvram_data_bcmvar.h [mips/broadcom]: Early boot NVRAM support 2017-03-23 19:29:12 +00:00
bhnd_nvram_data_btxt.c [mips/broadcom]: Early boot NVRAM support 2017-03-23 19:29:12 +00:00
bhnd_nvram_data_sprom.c bhnd(4): Fix a SPROM identification regression introduced in r315866 2017-05-23 22:30:15 +00:00
bhnd_nvram_data_sprom_subr.c [mips/broadcom]: Early boot NVRAM support 2017-03-23 19:29:12 +00:00
bhnd_nvram_data_spromvar.h [mips/broadcom]: Early boot NVRAM support 2017-03-23 19:29:12 +00:00
bhnd_nvram_data_tlv.c [mips/broadcom]: Early boot NVRAM support 2017-03-23 19:29:12 +00:00
bhnd_nvram_data_tlvreg.h bhnd(4): Unify NVRAM/SPROM parsing, implement compact SPROM layout encoding. 2016-11-26 23:22:32 +00:00
bhnd_nvram_datavar.h [mips/broadcom]: Early boot NVRAM support 2017-03-23 19:29:12 +00:00
bhnd_nvram_if.m bhnd(4): Implement NVRAM support required for PMU bring-up. 2016-08-16 21:32:05 +00:00
bhnd_nvram_io.c bhnd(4): Unify NVRAM/SPROM parsing, implement compact SPROM layout encoding. 2016-11-26 23:22:32 +00:00
bhnd_nvram_io.h bhnd(4): add support for wrapping arbitrary pointers in an NVRAM I/O 2016-12-19 20:26:10 +00:00
bhnd_nvram_iobuf.c bhnd(4): Unify NVRAM/SPROM parsing, implement compact SPROM layout encoding. 2016-11-26 23:22:32 +00:00
bhnd_nvram_ioptr.c bhnd(4): add support for wrapping arbitrary pointers in an NVRAM I/O 2016-12-19 20:26:10 +00:00
bhnd_nvram_iores.c bhnd(4): Unify NVRAM/SPROM parsing, implement compact SPROM layout encoding. 2016-11-26 23:22:32 +00:00
bhnd_nvram_iovar.h bhnd(4): Unify NVRAM/SPROM parsing, implement compact SPROM layout encoding. 2016-11-26 23:22:32 +00:00
bhnd_nvram_plist.c bhnd(4): Add support for three new NVRAM value types; booleans, 2016-12-19 20:23:19 +00:00
bhnd_nvram_plist.h bhnd(4): Add support for three new NVRAM value types; booleans, 2016-12-19 20:23:19 +00:00
bhnd_nvram_plistvar.h bhnd(4): Implement a new bhnd_nvram_plist and bhnd_nvram_prop API for 2016-12-19 20:11:48 +00:00
bhnd_nvram_private.h bhnd(4): NVRAM serialization support. 2016-12-19 20:34:05 +00:00
bhnd_nvram_store.c bhnd(4): NVRAM serialization support. 2016-12-19 20:34:05 +00:00
bhnd_nvram_store.h bhnd(4): NVRAM serialization support. 2016-12-19 20:34:05 +00:00
bhnd_nvram_store_subr.c bhnd(4): Add support for exporting all (or a subtree) of NVRAM 2016-12-19 20:31:27 +00:00
bhnd_nvram_storevar.h bhnd(4): Add support for exporting all (or a subtree) of NVRAM 2016-12-19 20:31:27 +00:00
bhnd_nvram_subr.c bhnd(4): NVRAM device path support. 2016-12-19 20:28:27 +00:00
bhnd_nvram_value.c bhnd(4): Add support for three new NVRAM value types; booleans, 2016-12-19 20:23:19 +00:00
bhnd_nvram_value.h bhnd(4): Add support for three new NVRAM value types; booleans, 2016-12-19 20:23:19 +00:00
bhnd_nvram_value_fmts.c bhnd(4): Add support for three new NVRAM value types; booleans, 2016-12-19 20:23:19 +00:00
bhnd_nvram_value_prf.c bhnd(4): support direct conversion of bhnd_nvram_val 2016-12-19 20:20:33 +00:00
bhnd_nvram_value_subr.c bhnd(4): Add support for three new NVRAM value types; booleans, 2016-12-19 20:23:19 +00:00
bhnd_nvram_valuevar.h bhnd(4): support direct conversion of bhnd_nvram_val 2016-12-19 20:20:33 +00:00
bhnd_sprom.c bhnd: Implement bhnd(4) platform device registration. 2017-09-27 19:44:23 +00:00
bhnd_spromvar.h bhnd(4): Unify NVRAM/SPROM parsing, implement compact SPROM layout encoding. 2016-11-26 23:22:32 +00:00
nvram_map bhnd(4): Unify NVRAM/SPROM parsing, implement compact SPROM layout encoding. 2016-11-26 23:22:32 +00:00