<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    On 15-08-07 02:24 PM, Mark Brown wrote:<br>
    <blockquote cite="mid:20150807182401.GK10301@sirena.org.uk"
      type="cite">
      Like I say this just sounds like exactly the sort of thing we
      handle
      with an MFD, it's a very common pattern.
    </blockquote>
    <br>
    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.<br>
    <br>
    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?<br>
    <ol>
      <li>GPU driver gets initialized, detects a GPU with audio
        co-processor (ACP)<br>
      </li>
      <li>GPU driver registers mfd_cell for the ACP device using
        mfd_add_hotplug_devices</li>
      <ul>
        <li>It's not really hot-plug, but the mem_base, irq_base,
          irq_domain parameters don't make sense for us<br>
        </li>
      </ul>
      <li>Platform_data in the MFD cell contains audio driver-specific
        data, function pointers, etc. for the audio driver to use</li>
      <li>Audio driver binds to platform device created by
        mfd_add_hotplug_devices based on driver name<br>
      </li>
    </ol>
    Or do we have to convert our GPU device to be an MFD cell itself, a
    peer of the ACP cell?<br>
    <br>
    Thanks,<br>
      Felix<br>
    <pre class="moz-signature" cols="72">-- 
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</pre>
  </body>
</html>