mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-07-22 02:17:36 -04:00
ata: sata_dwc_460ex: use platform_get_irq()
Replace irq_of_parse_and_map() with platform_get_irq() in both
sata_dwc_dma_init_old() and sata_dwc_probe(). This is the preferred
way to obtain IRQs for platform devices and provides better error
reporting. Remove the now-unnecessary #include <linux/of_irq.h>.
irq_of_parse_and_map() requires irq_dispose_mapping(), which is missing.
Also fix unused variable when CONFIG_SATA_DWC_OLD_DMA is disabled.
Fixes: 62936009f3 ("[libata] Add 460EX on-chip SATA driver, sata_dwc_460ex")
Assisted-by: opencode:big-pickle
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Signed-off-by: Damien Le Moal <dlemoal@kernel.org>
This commit is contained in:
committed by
Damien Le Moal
parent
4bbc16a353
commit
a4af122106
@@ -19,7 +19,6 @@
|
||||
#include <linux/device.h>
|
||||
#include <linux/dmaengine.h>
|
||||
#include <linux/of.h>
|
||||
#include <linux/of_irq.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/phy/phy.h>
|
||||
#include <linux/libata.h>
|
||||
@@ -226,7 +225,6 @@ static int sata_dwc_dma_init_old(struct platform_device *pdev,
|
||||
struct sata_dwc_device *hsdev)
|
||||
{
|
||||
struct device *dev = &pdev->dev;
|
||||
struct device_node *np = dev->of_node;
|
||||
|
||||
hsdev->dma = devm_kzalloc(dev, sizeof(*hsdev->dma), GFP_KERNEL);
|
||||
if (!hsdev->dma)
|
||||
@@ -236,11 +234,9 @@ static int sata_dwc_dma_init_old(struct platform_device *pdev,
|
||||
hsdev->dma->id = pdev->id;
|
||||
|
||||
/* Get SATA DMA interrupt number */
|
||||
hsdev->dma->irq = irq_of_parse_and_map(np, 1);
|
||||
if (!hsdev->dma->irq) {
|
||||
dev_err(dev, "no SATA DMA irq\n");
|
||||
return -ENODEV;
|
||||
}
|
||||
hsdev->dma->irq = platform_get_irq(pdev, 1);
|
||||
if (hsdev->dma->irq < 0)
|
||||
return hsdev->dma->irq;
|
||||
|
||||
/* Get physical SATA DMA register base address */
|
||||
hsdev->dma->regs = devm_platform_ioremap_resource(pdev, 1);
|
||||
@@ -1126,7 +1122,6 @@ static const struct ata_port_info sata_dwc_port_info[] = {
|
||||
static int sata_dwc_probe(struct platform_device *ofdev)
|
||||
{
|
||||
struct device *dev = &ofdev->dev;
|
||||
struct device_node *np = dev->of_node;
|
||||
struct sata_dwc_device *hsdev;
|
||||
u32 idr, versionr;
|
||||
char *ver = (char *)&versionr;
|
||||
@@ -1170,14 +1165,12 @@ static int sata_dwc_probe(struct platform_device *ofdev)
|
||||
hsdev->dev = dev;
|
||||
|
||||
/* Get SATA interrupt number */
|
||||
irq = irq_of_parse_and_map(np, 0);
|
||||
if (!irq) {
|
||||
dev_err(dev, "no SATA DMA irq\n");
|
||||
return -ENODEV;
|
||||
}
|
||||
irq = platform_get_irq(ofdev, 0);
|
||||
if (irq < 0)
|
||||
return irq;
|
||||
|
||||
#ifdef CONFIG_SATA_DWC_OLD_DMA
|
||||
if (!of_property_present(np, "dmas")) {
|
||||
if (!of_property_present(dev->of_node, "dmas")) {
|
||||
err = sata_dwc_dma_init_old(ofdev, hsdev);
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
Reference in New Issue
Block a user