diff options
author | Peter Griffin <peter.griffin@linaro.org> | 2015-04-20 15:41:05 +0200 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2015-04-20 19:36:38 +0200 |
commit | e0e2674b92056c24c69940d5f405ea4aef5e4010 (patch) | |
tree | ab0213bd4d1259819f640373d15ea430f11b5e31 /drivers/ata/libata-core.c | |
parent | Remove celleb-only SCC PATA drivers (diff) | |
download | linux-e0e2674b92056c24c69940d5f405ea4aef5e4010.tar.xz linux-e0e2674b92056c24c69940d5f405ea4aef5e4010.zip |
ata: ahci_st: fixup layering violations / drvdata errors
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: Peter Griffin <peter.griffin@linaro.org>
Suggested-by: Brian 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: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'drivers/ata/libata-core.c')
0 files changed, 0 insertions, 0 deletions