Lines Matching +full:ide +full:- +full:port
1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Platform IDE driver
13 #include <linux/ide.h>
25 unsigned long port = (unsigned long)base; in plat_ide_setup_ports() local
28 hw->io_ports.data_addr = port; in plat_ide_setup_ports()
30 port += (1 << pdata->ioport_shift); in plat_ide_setup_ports()
32 i++, port += (1 << pdata->ioport_shift)) in plat_ide_setup_ports()
33 hw->io_ports_array[i] = port; in plat_ide_setup_ports()
35 hw->io_ports.ctl_addr = (unsigned long)ctrl; in plat_ide_setup_ports()
37 hw->irq = irq; in plat_ide_setup_ports()
55 pdata = dev_get_platdata(&pdev->dev); in plat_ide_probe()
65 ret = -ENOMEM; in plat_ide_probe()
73 ret = -EINVAL; in plat_ide_probe()
78 base = devm_ioremap(&pdev->dev, in plat_ide_probe()
79 res_base->start, resource_size(res_base)); in plat_ide_probe()
80 alt_base = devm_ioremap(&pdev->dev, in plat_ide_probe()
81 res_alt->start, resource_size(res_alt)); in plat_ide_probe()
83 base = devm_ioport_map(&pdev->dev, in plat_ide_probe()
84 res_base->start, resource_size(res_base)); in plat_ide_probe()
85 alt_base = devm_ioport_map(&pdev->dev, in plat_ide_probe()
86 res_alt->start, resource_size(res_alt)); in plat_ide_probe()
90 plat_ide_setup_ports(&hw, base, alt_base, pdata, res_irq->start); in plat_ide_probe()
91 hw.dev = &pdev->dev; in plat_ide_probe()
93 d.irq_flags = res_irq->flags & IRQF_TRIGGER_MASK; in plat_ide_probe()
94 if (res_irq->flags & IORESOURCE_IRQ_SHAREABLE) in plat_ide_probe()
114 struct ide_host *host = dev_get_drvdata(&pdev->dev); in plat_ide_remove()
131 MODULE_DESCRIPTION("Platform IDE driver");