9 #include <linux/kernel.h>
10 #include <linux/module.h>
19 #define DRV_NAME "pata_isapnp"
20 #define DRV_VERSION "0.2.5"
51 void __iomem *cmd_addr, *ctl_addr;
55 if (pnp_port_valid(idev, 0) == 0)
58 if (pnp_irq_valid(idev, 0)) {
69 cmd_addr = devm_ioport_map(&idev->
dev, pnp_port_start(idev, 0), 8);
75 ap->
ops = &isapnp_noalt_port_ops;
79 ap->ioaddr.cmd_addr = cmd_addr;
81 if (pnp_port_valid(idev, 1) == 0) {
82 ctl_addr = devm_ioport_map(&idev->
dev,
83 pnp_port_start(idev, 1), 1);
84 ap->ioaddr.altstatus_addr = ctl_addr;
85 ap->ioaddr.ctl_addr = ctl_addr;
86 ap->
ops = &isapnp_port_ops;
92 (
unsigned long long)pnp_port_start(idev, 0),
93 (
unsigned long long)pnp_port_start(idev, 1));
108 static void isapnp_remove_one(
struct pnp_dev *idev)
118 {.id =
"PNP0600", .driver_data = 0},
126 .id_table = isapnp_devices,
127 .probe = isapnp_init_one,
128 .remove = isapnp_remove_one,
131 static int __init isapnp_init(
void)
136 static void __exit isapnp_exit(
void)