Hi ACPI devs, I want to take a stab at adding fw_devlink support for ACPI. fw_devlink adds device links between consumer and supplier devices. It finds the supplier-consumer dependencies by looking at the firmware nodes of devices as they are added to driver core. Main benefits of fw_devlink (because it creates device links): * Removes a lot of deferred probes or probe failures (due to poor error handling). * Makes module load order less important for things to probe successfully. * Makes suspend/resume a bit more robust. For DT (devicetree), I know how to interpret the common properties (Eg: clocks, -gpios, etc) to figure out what devices supply resources for a given device. In general, I'm familiar with DT and there's also Documentation/devicetree/bindings/ that I can grep for if I need to know what a property means. So, I've been able to implement fw_devlink for DT. Now, I want to add support for ACPI to get the ball rolling. However, I'm fairly clueless with it comes to ACPI. So, if I can get some pointers, that'd be great! Things I need help with: 1) I don't even know how to view the ACPI data on my PC. For example, in DT, /sys/firmware/devicetree/ has the entire DT represented as a tree of folders and files. How do I read ACPI info that lists all the devices, their properties, etc? 2) Is there documentation to look up what each of those device properties mean? 3) How are some of the common device dependencies listed in ACPI? For example, if a device depends on power, clock, GPIO, interrupt, etc how does ACPI list the supplier devices for each of those resources? 4) Assuming there are a few common properties that list the device dependencies, how do I look up a firmware node that a property points to? If this is not how it works, how does it work? In general, any pointers to docs that'll answer the above questions would also be appreciated. Thanks, Saravana