within an ACPI environment. It allows a driver that was originally written for Device Tree—using "compatible" strings—to bind to a device described in ACPI without requiring a specific ACPI ID. Feature Overview: ACPI "Device Properties" Enumeration
Before the I²C subsystem patch (commit e3cb82c ), PRP0001 devices were not enumerated correctly when the driver lacked an explicit ACPI ID table. The commit's description states:
: In the Linux ecosystem, hardware is mapped using Device Trees via a property called compatible . The ACPI standard introduced PRP0001 as a universal hardware ID. It tells the OS kernel: "Read the Device Specification Data ( _DSD ) block to figure out what driver this device actually needs." acpi prp0001 0
Adding a new, non-standard device requires updating the BIOS or writing complex ACPI Machine Language (AML) code. 2. Device Tree (DT)
Recent patches have focused on making PRP0001 fully functional for Rust‑written device drivers, eliminating the match data issue. within an ACPI environment
In Linux systems, I²C devices defined with PRP0001 appear with generic names like i2c-PRP0001:04 instead of the actual part name. A user observed: "sound/soc/soc-core.c generates an i2c codec name i2c-TDA7802:00 . It is useful to identify that device by part name, rather than some indexed generic PRP device i2c-PRP0001:04 ".
The ACPI ID is a special "generic" identifier used primarily in Linux to allow the operating system to use Device Tree (DT) style device drivers even when the system firmware (BIOS/UEFI) uses ACPI. What it Means The commit's description states: : In the Linux
The identifier ACPI\PRP0001\0 is a special hardware ID used by operating systems, primarily Linux, to bridge the gap between (Advanced Configuration and Power Interface) and Device Tree
The hardware identifier (often formatted as ACPI\VEN_PRP&DEV_0001 or PRP0001 ) is a unique system tag that points to an unknown device in Windows Device Manager, most commonly appearing when users install Windows on custom hardware like the Steam Deck, Google Chromebooks, or specialized x86 embedded boards .