diff options
author | Li Yang <leoli@freescale.com> | 2007-10-31 07:27:55 -0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-11-03 08:46:27 -0400 |
commit | 79b3edc97e31d7016c957af653cd3d459917dea0 (patch) | |
tree | 9554966977b3f9d9106274c8fc6fd84f849dd238 | |
parent | 27c96eaabaf6e3cf386a69640d134b34ce51ff13 (diff) |
ata/sata_fsl: save irq in private data for irq unmapping
Powerpc uses virtual irq which has to be unmapped.
Signed-off-by: Li Yang <leoli@freescale.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
-rw-r--r-- | drivers/ata/sata_fsl.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/ata/sata_fsl.c b/drivers/ata/sata_fsl.c index 4c8c8201665d..f8d8614a514b 100644 --- a/drivers/ata/sata_fsl.c +++ b/drivers/ata/sata_fsl.c | |||
@@ -265,6 +265,7 @@ struct sata_fsl_host_priv { | |||
265 | void __iomem *hcr_base; | 265 | void __iomem *hcr_base; |
266 | void __iomem *ssr_base; | 266 | void __iomem *ssr_base; |
267 | void __iomem *csr_base; | 267 | void __iomem *csr_base; |
268 | int irq; | ||
268 | }; | 269 | }; |
269 | 270 | ||
270 | static inline unsigned int sata_fsl_tag(unsigned int tag, | 271 | static inline unsigned int sata_fsl_tag(unsigned int tag, |
@@ -1399,6 +1400,7 @@ static int sata_fsl_probe(struct of_device *ofdev, | |||
1399 | dev_printk(KERN_ERR, &ofdev->dev, "invalid irq from platform\n"); | 1400 | dev_printk(KERN_ERR, &ofdev->dev, "invalid irq from platform\n"); |
1400 | goto error_exit_with_cleanup; | 1401 | goto error_exit_with_cleanup; |
1401 | } | 1402 | } |
1403 | host_priv->irq = irq; | ||
1402 | 1404 | ||
1403 | /* allocate host structure */ | 1405 | /* allocate host structure */ |
1404 | host = ata_host_alloc_pinfo(&ofdev->dev, ppi, SATA_FSL_MAX_PORTS); | 1406 | host = ata_host_alloc_pinfo(&ofdev->dev, ppi, SATA_FSL_MAX_PORTS); |
@@ -1445,7 +1447,7 @@ static int sata_fsl_remove(struct of_device *ofdev) | |||
1445 | 1447 | ||
1446 | dev_set_drvdata(&ofdev->dev, NULL); | 1448 | dev_set_drvdata(&ofdev->dev, NULL); |
1447 | 1449 | ||
1448 | irq_dispose_mapping(host->irq); | 1450 | irq_dispose_mapping(host_priv->irq); |
1449 | iounmap(host_priv->hcr_base); | 1451 | iounmap(host_priv->hcr_base); |
1450 | kfree(host_priv); | 1452 | kfree(host_priv); |
1451 | 1453 | ||