freebsd-skq/sys/dev/bhnd
landonf 2e486532df 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
..
bcma Add support for dumping bcma/siba EROM tables to the console via a new 2017-04-24 18:35:25 +00:00
bhndb bhnd: Implement bhnd(4) platform device registration. 2017-09-27 19:44:23 +00:00
cores bhnd: Implement bhnd(4) platform device registration. 2017-09-27 19:44:23 +00:00
nvram bhnd: Implement bhnd(4) platform device registration. 2017-09-27 19:44:23 +00:00
siba bhnd: Implement bhnd(4) platform device registration. 2017-09-27 19:44:23 +00:00
tools bhnd: remove srand() to ensure deterministic output 2016-12-21 15:45:23 +00:00
bhnd_bus_if.m bhnd: Implement bhnd(4) platform device registration. 2017-09-27 19:44:23 +00:00
bhnd_debug.h - Fix make in sys/modules/bhnd 2016-11-01 03:49:31 +00:00
bhnd_erom_if.m Add support for dumping bcma/siba EROM tables to the console via a new 2017-04-24 18:35:25 +00:00
bhnd_erom_types.h Implement a generic bhnd(4) device enumeration table API. 2016-09-03 23:57:17 +00:00
bhnd_erom.c Migrate bhndb(4) to the new bhnd_erom API. 2016-09-04 00:58:19 +00:00
bhnd_erom.h Add support for dumping bcma/siba EROM tables to the console via a new 2017-04-24 18:35:25 +00:00
bhnd_ids.h bhnd(4): Initial PMU/PWRCTL power and clock management support. 2016-08-27 00:03:02 +00:00
bhnd_match.h Migrate bhndb(4) to the new bhnd_erom API. 2016-09-04 00:58:19 +00:00
bhnd_private.h bhnd: Implement bhnd(4) platform device registration. 2017-09-27 19:44:23 +00:00
bhnd_subr.c bhnd: Implement bhnd(4) platform device registration. 2017-09-27 19:44:23 +00:00
bhnd_types.h bhnd: Implement bhnd(4) platform device registration. 2017-09-27 19:44:23 +00:00
bhnd.c bhnd: Implement bhnd(4) platform device registration. 2017-09-27 19:44:23 +00:00
bhnd.h bhnd: Implement bhnd(4) platform device registration. 2017-09-27 19:44:23 +00:00
bhndreg.h
bhndvar.h bhnd: Implement bhnd(4) platform device registration. 2017-09-27 19:44:23 +00:00