aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/linux/ahci_platform.h
diff options
context:
space:
mode:
authorGregory CLEMENT <gregory.clement@free-electrons.com>2015-01-15 15:09:37 +0100
committerTejun Heo <tj@kernel.org>2015-01-19 09:53:26 -0500
commitc7d7ddee7e24eedde6149eefbcfbfbc7125b9ff0 (patch)
treea2b9b1404322dc69e75752f4da8a8aece5b73ac3 /include/linux/ahci_platform.h
parentDocumentation: bindings: Add the regulator property to the sub-nodes AHCI bindings (diff)
downloadwireguard-linux-c7d7ddee7e24eedde6149eefbcfbfbc7125b9ff0.tar.xz
wireguard-linux-c7d7ddee7e24eedde6149eefbcfbfbc7125b9ff0.zip
ata: libahci: Allow using multiple regulators
The current implementation of the libahci allows using multiple PHYs but not multiple regulators. This patch adds the support of multiple regulators. Until now it was mandatory to have a PHY under a subnode, now a port subnode can contain either a regulator or a PHY (or both). In order to be able to asociate a port with a regulator the port are now a platform device in the device tree case. There was only one driver which used directly the regulator field of the ahci_host_priv structure. To preserve the bisectability the change in the ahci_imx driver was done in the same patch. Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com> Acked-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'include/linux/ahci_platform.h')
-rw-r--r--include/linux/ahci_platform.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/ahci_platform.h b/include/linux/ahci_platform.h
index 642d6ae4030c..f65b33809170 100644
--- a/include/linux/ahci_platform.h
+++ b/include/linux/ahci_platform.h
@@ -24,6 +24,8 @@ struct platform_device;
int ahci_platform_enable_clks(struct ahci_host_priv *hpriv);
void ahci_platform_disable_clks(struct ahci_host_priv *hpriv);
+int ahci_platform_enable_regulators(struct ahci_host_priv *hpriv);
+void ahci_platform_disable_regulators(struct ahci_host_priv *hpriv);
int ahci_platform_enable_resources(struct ahci_host_priv *hpriv);
void ahci_platform_disable_resources(struct ahci_host_priv *hpriv);
struct ahci_host_priv *ahci_platform_get_resources(