diff options
Diffstat (limited to 'drivers/ata/ahci_platform.c')
-rw-r--r-- | drivers/ata/ahci_platform.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/ata/ahci_platform.c b/drivers/ata/ahci_platform.c index ef67e79944f9..ebe505c17763 100644 --- a/drivers/ata/ahci_platform.c +++ b/drivers/ata/ahci_platform.c | |||
@@ -16,6 +16,7 @@ | |||
16 | #include <linux/module.h> | 16 | #include <linux/module.h> |
17 | #include <linux/pm.h> | 17 | #include <linux/pm.h> |
18 | #include <linux/device.h> | 18 | #include <linux/device.h> |
19 | #include <linux/of_device.h> | ||
19 | #include <linux/platform_device.h> | 20 | #include <linux/platform_device.h> |
20 | #include <linux/libata.h> | 21 | #include <linux/libata.h> |
21 | #include <linux/ahci_platform.h> | 22 | #include <linux/ahci_platform.h> |
@@ -33,6 +34,7 @@ static int ahci_probe(struct platform_device *pdev) | |||
33 | struct device *dev = &pdev->dev; | 34 | struct device *dev = &pdev->dev; |
34 | struct ahci_platform_data *pdata = dev_get_platdata(dev); | 35 | struct ahci_platform_data *pdata = dev_get_platdata(dev); |
35 | struct ahci_host_priv *hpriv; | 36 | struct ahci_host_priv *hpriv; |
37 | unsigned long hflags = 0; | ||
36 | int rc; | 38 | int rc; |
37 | 39 | ||
38 | hpriv = ahci_platform_get_resources(pdev); | 40 | hpriv = ahci_platform_get_resources(pdev); |
@@ -55,7 +57,11 @@ static int ahci_probe(struct platform_device *pdev) | |||
55 | goto disable_resources; | 57 | goto disable_resources; |
56 | } | 58 | } |
57 | 59 | ||
58 | rc = ahci_platform_init_host(pdev, hpriv, &ahci_port_info, 0, 0); | 60 | if (of_device_is_compatible(dev->of_node, "hisilicon,hisi-ahci")) |
61 | hflags |= AHCI_HFLAG_NO_FBS; | ||
62 | |||
63 | rc = ahci_platform_init_host(pdev, hpriv, &ahci_port_info, | ||
64 | hflags, 0, 0); | ||
59 | if (rc) | 65 | if (rc) |
60 | goto pdata_exit; | 66 | goto pdata_exit; |
61 | 67 | ||
@@ -76,6 +82,7 @@ static const struct of_device_id ahci_of_match[] = { | |||
76 | { .compatible = "snps,exynos5440-ahci", }, | 82 | { .compatible = "snps,exynos5440-ahci", }, |
77 | { .compatible = "ibm,476gtr-ahci", }, | 83 | { .compatible = "ibm,476gtr-ahci", }, |
78 | { .compatible = "snps,dwc-ahci", }, | 84 | { .compatible = "snps,dwc-ahci", }, |
85 | { .compatible = "hisilicon,hisi-ahci", }, | ||
79 | {}, | 86 | {}, |
80 | }; | 87 | }; |
81 | MODULE_DEVICE_TABLE(of, ahci_of_match); | 88 | MODULE_DEVICE_TABLE(of, ahci_of_match); |