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?
1. GPU driver gets initialized, detects a GPU with audio co-processor (ACP) 2. 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 3. Platform_data in the MFD cell contains audio driver-specific data, function pointers, etc. for the audio driver to use 4. 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