Skip to content

Document DeviceToDriverMapper - Value 4 #89

@LSantha

Description

@LSantha

DeviceToDriverMapper

Document the DeviceToDriverMapper JNode concept in the wiki.

Value: 4

Concept Summary

Strategy pattern for mapping devices to appropriate drivers during discovery. DeviceToDriverMapper provides a flexible mechanism for matching discovered devices withSuitable drivers, enabling extensible device support.

Key Files

  • core/src/driver/org/jnode/driver/DeviceToDriverMapper.java
  • core/src/driver/org/jnode/driver/bus/pci/PCIDeviceToDriverMapper.java

Occurrences

~60 references in driver framework

Wiki Status

NOT documented

Bridges

Device manager, Bus drivers, Plugin system

Instructions

Skill to Use

Use the [[update-wiki|update-wiki skill]] (load with skill({ name: "update-wiki" })) for understanding JNode internals.

Context Research

Review DeviceToDriverMapper.java and PCIDeviceToDriverMapper.java to understand the strategy pattern. Study how device-to-driver mapping works, how drivers register their capabilities, and how devices are matched with drivers. Research how the mapping system integrates with the device discovery process.

Update index.md

  • Pages table: Add entry for DeviceToDriverMapper.md
  • Concepts → Pages table: Add "DeviceToDriverMapper" mapping to [[DeviceToDriverMapper]]
  • Source Path → Pages table: Add mappings for core/src/driver/org/jnode/driver/
  • Task Routing table: Add relevant task route(s)

Wiki Page Structure

# DeviceToDriverMapper

> Strategy pattern for mapping devices to appropriate drivers during discovery.

## Overview
2-3 paragraph explanation of DeviceToDriverMapper, its role in device discovery, and how it enables extensible driver support.

## Key Components
| Class / File | Role |
|---|---|
| `core/src/driver/org/jnode/driver/DeviceToDriverMapper.java` | Base mapper interface |
| `core/src/driver/org/jnode/driver/bus/pci/PCIDeviceToDriverMapper.java` | PCI-specific mapper |

## How It Works
Explanation of how DeviceToDriverMapper works, how devices are matched with drivers, how drivers register their capabilities, and how the strategy pattern enables extensibility.

## Gotchas & Non-Obvious Behavior
- Mapping must be atomic to prevent race conditions
- Multiple drivers may claim the same device (priority must be resolved)
- Mapping must handle hot-plug devices

## Related Pages
- [[DeviceManager]]
- [[Driver-Framework]]
- [[Device-Discovery]]

Related Concepts: Device manager, Driver binding, Strategy pattern, Device discovery, Plugin system

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions