On 15-08-07 02:24 PM, Mark Brown wrote:
Like I say this just sounds like exactly the sort of thing we
handle
with an MFD, it's a very common pattern.
OK, the MFD documentation in Documentation/devicetree/bindings/mfd/
seemed to imply a dependency on a devicetree. It took me a moment to
realize that's just the most common scenario.
In our case we don't have a devicetree, we're talking about a PC
platform. The GPU (GNB) is a PCIe device. Does the following sound
like proper use of the MFD framework for our case?
- GPU driver gets initialized, detects a GPU with audio
co-processor (ACP)
- GPU driver registers mfd_cell for the ACP device using
mfd_add_hotplug_devices
- It's not really hot-plug, but the mem_base, irq_base,
irq_domain parameters don't make sense for us
- Platform_data in the MFD cell contains audio driver-specific
data, function pointers, etc. for the audio driver to use
- Audio driver binds to platform device created by
mfd_add_hotplug_devices based on driver name
Or do we have to convert our GPU device to be an MFD cell itself, a
peer of the ACP cell?
Thanks,
Felix
--
F e l i x K u e h l i n g
SMTS Software Development Engineer | Vertical Workstation/Compute
1 Commerce Valley Dr. East, Markham, ON L3T 7X6 Canada
(O) +1(289)695-1597
_ _ _ _____ _____
/ \ | \ / | | _ \ \ _ |
/ A \ | \M/ | | |D) ) /|_| |
/_/ \_\ |_| |_| |_____/ |__/ \| facebook.com/AMD | amd.com