10 Commits

Author SHA1 Message Date
Augustin Cavalier
0450e7b802 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.
2023-05-31 16:49:41 -04:00
Axel Dörfler
368167ede8 * 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
2008-05-26 16:52:27 +00:00
Jérôme Duval
c20e9eefcd 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
2006-11-29 19:09:45 +00:00
Jérôme Duval
bef4e1fc77 * 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
2006-11-12 15:28:09 +00:00
Axel Dörfler
6094d89f2f 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
2005-05-12 03:27:44 +00:00
Axel Dörfler
321231a056 Added prototype for probe_for_device_type().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10832 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-18 16:13:27 +00:00
Axel Dörfler
aedf4f4358 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
2005-01-11 23:23:20 +00:00
Axel Dörfler
77ca57637e 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
2004-09-04 17:19:41 +00:00
Axel Dörfler
5ed66da080 Made the header C++ safe.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7460 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-08 18:35:30 +00:00
Axel Dörfler
6e5cac2da6 Private exported kernel functions of the device manager.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7439 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-07 00:36:44 +00:00