Patchwork ata: ahci_platform: fix DT probing

login
register
mail settings
Submitter Rob Herring
Date Nov. 16, 2011, 3 a.m.
Message ID <1321412456-31107-1-git-send-email-robherring2@gmail.com>
Download mbox | patch
Permalink /patch/125917/
State Not Applicable
Delegated to: David Miller
Headers show

Comments

Rob Herring - Nov. 16, 2011, 3 a.m.
From: Rob Herring <rob.herring@calxeda.com>

The change in commit 904c04feaf13ed "ahci_platform: Add the board_ids..."
doesn't work for the DT probing case as platform_get_device_id returns
NULL. Pick the default ahci_port_info in this case.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Richard Zhu <richard.zhu@linaro.org>
Cc: Anton Vorontsov <avorontsov@mvista.com>
Cc: Jeff Garzik <jgarzik@pobox.com>
Cc: linux-ide@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
---
 drivers/ata/ahci_platform.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
Anton Vorontsov - Nov. 16, 2011, 11:54 a.m.
On Tue, Nov 15, 2011 at 09:00:56PM -0600, Rob Herring wrote:
> From: Rob Herring <rob.herring@calxeda.com>
> 
> The change in commit 904c04feaf13ed "ahci_platform: Add the board_ids..."
> doesn't work for the DT probing case as platform_get_device_id returns
> NULL. Pick the default ahci_port_info in this case.
> 
> Signed-off-by: Rob Herring <rob.herring@calxeda.com>
> Cc: Richard Zhu <richard.zhu@linaro.org>
> Cc: Anton Vorontsov <avorontsov@mvista.com>
> Cc: Jeff Garzik <jgarzik@pobox.com>
> Cc: linux-ide@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> ---

Acked-by: Anton Vorontsov <cbouatmailru@gmail.com>

Thanks!

Patch

diff --git a/drivers/ata/ahci_platform.c b/drivers/ata/ahci_platform.c
index ec55595..43b8758 100644
--- a/drivers/ata/ahci_platform.c
+++ b/drivers/ata/ahci_platform.c
@@ -67,7 +67,7 @@  static int __init ahci_probe(struct platform_device *pdev)
 	struct device *dev = &pdev->dev;
 	struct ahci_platform_data *pdata = dev_get_platdata(dev);
 	const struct platform_device_id *id = platform_get_device_id(pdev);
-	struct ata_port_info pi = ahci_port_info[id->driver_data];
+	struct ata_port_info pi = ahci_port_info[id ? id->driver_data : 0];
 	const struct ata_port_info *ppi[] = { &pi, NULL };
 	struct ahci_host_priv *hpriv;
 	struct ata_host *host;