History log of /haiku/headers/private/kernel/kdevice_manager.h
Revision Date Author Comments
# 0450e7b8 31-May-2023 Augustin Cavalier <waddlesplash@gmail.com>

USB: Acquire the device manager lock before Explore.

We must do this to prevent lock order inversion: when busses are
initialized, they are started by the (locked) device manager, and
then acquire the explore lock. We must do the same in Explore itself,
for when called by the explore thread, we would otherwise first acquire
the explore lock, then (when publishing new nodes) acquire the device lock.

Should fix #18421 and #18393.


# 368167ed 26-May-2008 Axel Dörfler <axeld@pinc-software.de>

* Integration of the new driver architecture.
* Moved devfs from fs/ to device_manager/, and separated the legacy driver
support from it.
* Removed fast_log module.
* There are a couple of (temporary) regressions, though:
- legacy SATA and ISA IDE support is disabled, the drivers haven't been
ported yet.
- The not yet used ATA bus manager hasn't been ported yet, either.
- AHCI changes have not been tested.
- the listdev command has been removed from the build (as it currently
doesn't work anymore).
- device manager generated IDs currently are not freed anymore when a device
node is removed.
- generic drivers can't yet use the new driver architecture.
- simple busses that do not support device types won't work yet.
- legacy driver publishing/unpublishing (ie. what USB needs) has not been
tested, and may be broken.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25662 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c20e9eef 29-Nov-2006 Jérôme Duval <korli@users.berlios.de>

added a jam rule AddDriverRegistrationToHaikuImage to add device mappings on the image
commented the insertion of the attribute name in patterns in the case of a string attribute
notify_probe_by_file chooses a module based on a bus specific suffix
dm_register_child_device has a parameter to optionally check the support for the node
added scanning of bus devices after the boot filesystem is mounted
fixed dm_rescan, locking was misbehaving
fixed SYSTEM_DRIVER_REGISTRATION definition
added B_DRIVER_MAPPING attributes for PCI and ACPI devices:
%vendor%_%device% for PCI, hid_%hid% and type_%type% for ACPI
moved acpi_device_module_info definition to public ACPI.h


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19394 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bef4e1fc 12-Nov-2006 Jérôme Duval <korli@users.berlios.de>

* each device manager node has now an autogenerated identifier
* added a generic syscall for device_manager
it enables to iterate the device manager tree from userland
* the listdev tool is now using it: it's still incomplete as it only dumps nodes and attributes


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19260 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6094d89f 11-May-2005 Axel Dörfler <axeld@pinc-software.de>

Merged branches/developer/axeld/driver_recognition changed r12307:12637 into trunk.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12638 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 321231a0 18-Jan-2005 Axel Dörfler <axeld@pinc-software.de>

Added prototype for probe_for_device_type().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10832 a95241bf-73f2-0310-859d-f6bbb57e9c96


# aedf4f43 11-Jan-2005 Axel Dörfler <axeld@pinc-software.de>

Changes because of renaming various data structures (pnp_node -> device_node, ...).
Also renamed children_next|prev to siblings_next|prev as I was confused by the former.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10671 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 77ca5763 04-Sep-2004 Axel Dörfler <axeld@pinc-software.de>

The pnp_node_info structure is now a bit more public and accessible
within the kernel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8845 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5ed66da0 08-May-2004 Axel Dörfler <axeld@pinc-software.de>

Made the header C++ safe.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7460 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6e5cac2d 06-May-2004 Axel Dörfler <axeld@pinc-software.de>

Private exported kernel functions of the device manager.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7439 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 368167ede8118f72da8c9ac5bb98ce9b46a8a639 26-May-2008 Axel Dörfler <axeld@pinc-software.de>

* Integration of the new driver architecture.
* Moved devfs from fs/ to device_manager/, and separated the legacy driver
support from it.
* Removed fast_log module.
* There are a couple of (temporary) regressions, though:
- legacy SATA and ISA IDE support is disabled, the drivers haven't been
ported yet.
- The not yet used ATA bus manager hasn't been ported yet, either.
- AHCI changes have not been tested.
- the listdev command has been removed from the build (as it currently
doesn't work anymore).
- device manager generated IDs currently are not freed anymore when a device
node is removed.
- generic drivers can't yet use the new driver architecture.
- simple busses that do not support device types won't work yet.
- legacy driver publishing/unpublishing (ie. what USB needs) has not been
tested, and may be broken.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25662 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c20e9eefcd5728962fb0d03777574b6734c9cb37 29-Nov-2006 Jérôme Duval <korli@users.berlios.de>

added a jam rule AddDriverRegistrationToHaikuImage to add device mappings on the image
commented the insertion of the attribute name in patterns in the case of a string attribute
notify_probe_by_file chooses a module based on a bus specific suffix
dm_register_child_device has a parameter to optionally check the support for the node
added scanning of bus devices after the boot filesystem is mounted
fixed dm_rescan, locking was misbehaving
fixed SYSTEM_DRIVER_REGISTRATION definition
added B_DRIVER_MAPPING attributes for PCI and ACPI devices:
%vendor%_%device% for PCI, hid_%hid% and type_%type% for ACPI
moved acpi_device_module_info definition to public ACPI.h


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19394 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bef4e1fc776e6282d04556fc6f5ca592b3cfe75a 12-Nov-2006 Jérôme Duval <korli@users.berlios.de>

* each device manager node has now an autogenerated identifier
* added a generic syscall for device_manager
it enables to iterate the device manager tree from userland
* the listdev tool is now using it: it's still incomplete as it only dumps nodes and attributes


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19260 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6094d89f2f0db00588b30428810e3cddc6b22731 11-May-2005 Axel Dörfler <axeld@pinc-software.de>

Merged branches/developer/axeld/driver_recognition changed r12307:12637 into trunk.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12638 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 321231a0567090112abf839f5013e82884e436b8 18-Jan-2005 Axel Dörfler <axeld@pinc-software.de>

Added prototype for probe_for_device_type().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10832 a95241bf-73f2-0310-859d-f6bbb57e9c96


# aedf4f4358a1ed73fafa0e230ca2c4fde9ad903e 11-Jan-2005 Axel Dörfler <axeld@pinc-software.de>

Changes because of renaming various data structures (pnp_node -> device_node, ...).
Also renamed children_next|prev to siblings_next|prev as I was confused by the former.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10671 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 77ca57637e9d5455885fce900fa2824321264eae 04-Sep-2004 Axel Dörfler <axeld@pinc-software.de>

The pnp_node_info structure is now a bit more public and accessible
within the kernel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8845 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5ed66da0802f82dadedf484bd2ec2840e1f8eca7 08-May-2004 Axel Dörfler <axeld@pinc-software.de>

Made the header C++ safe.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7460 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6e5cac2da6bce0c54a2d31080864112dd47ce27b 06-May-2004 Axel Dörfler <axeld@pinc-software.de>

Private exported kernel functions of the device manager.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7439 a95241bf-73f2-0310-859d-f6bbb57e9c96