The table below summarizes the three main use cases for PRP0001:
PRP0001 is not a physical hardware device, but a special "Compatible Device ID" defined in the ACPI specification. When this HID appears in the ACPI namespace of a device, it tells the Linux kernel to act differently.
Newer kernels contain more compatible strings.
If you see ACPI\VEN_PRP&DEV_0001 as an unknown device, it usually means you are missing a specialized driver (common on handheld PCs like the Steam Deck or GPD devices). How to Fix: acpi prp0001 0
It loads the standard Linux Device Tree driver for that specific sensor. 🚀 Why This Matters
A more philosophical debate surrounds the use of PRP0001 . Some kernel maintainers view it as a "workaround" that should only be a last resort. The preferred approach for standard hardware is to use proper ACPI IDs to maintain a clean, idiomatic ACPI description that is compatible with other operating systems. As one kernel developer noted, using PRP0001 is "not idiomatic ACPI" and other OSs actively reject the idea of binding to devices described this way. However, proponents argue that it's a pragmatic solution that enables significant code reuse without breaking anything.
Since it relies on the unified device property API, it is generally very stable, provided the kernel/OS supports the underlying hardware. ⚠️ Common Issues & Troubleshooting The table below summarizes the three main use
; MODULE_DEVICE_TABLE(of, bmp280_of_match);
Ensure the driver you are trying to bind actually has an of_device_id table that matches the "compatible" string specified in your _DSD .
For decades, a schism has existed in the world of system firmware. On one side stands (Advanced Configuration and Power Interface), the dominant standard for x86/x86_64 platforms (servers, desktops, laptops). On the other side stands the Device Tree (DT) , the preferred method for describing hardware on ARM, RISC-V, and PowerPC embedded systems. If you see ACPI\VEN_PRP&DEV_0001 as an unknown device,
DefinitionBlock ("ssdt.aml", "SSDT", 2, "HACK", "PRP0001", 0x00000001)
: Ensure your OS is up-to-date, as newer versions may have better support for ACPI devices.