• Peter Griffin's avatar
    ata: ahci_st: fixup layering violations / drvdata errors · e0e2674b
    Peter Griffin authored
    Brian noticed while working on another SATA driver that uses libahci_platform,
    an error in this driver; it tries to the the driver data for its
    device, while libata also thinks it can set the driver data. See:
    
      ahci_platform_init_host()
      -> ata_host_alloc_pinfo()
         -> ata_host_alloc()
            -> dev_set_drvdata()
    
    So instead of sticking the IP-specific platform data into drvdata, let's
    use the plat_data variable that is reserved for this use.
    
    Addtionally plat_data isn't set until ahci_platform_init_host() has been
    called further down in probe(). So re-work the st_ahci_probe_resets and
    st_ahci_deassert_resets functions to take ahci_host_priv *hpriv as a
    parameter.
    Signed-off-by: default avatarPeter Griffin <peter.griffin@linaro.org>
    Suggested-by: default avatarBrian Norris <computersforpeace@gmail.com>
    Cc: Srinivas Kandagatla <srinivas.kandagatla@gmail.com>
    Cc: Maxime Coquelin <maxime.coquelin@st.com>
    Cc: Patrice Chotard <patrice.chotard@st.com>
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    e0e2674b
ahci_st.c 5.86 KB