18 #include <linux/kernel.h>
19 #include <linux/module.h>
20 #include <linux/pci.h>
27 #define DRV_NAME "pata_piccolo"
28 #define DRV_VERSION "0.0.1"
34 static const u16 pio[6] = {
35 0x0566, 0x0433, 0x0311, 0x0201, 0x0200, 0x0100
39 pci_read_config_word(pdev, 0x50, &conf);
42 pci_write_config_word(pdev, 0x50, conf);
49 pci_read_config_dword(pdev, 0x5C, &conf);
54 conf |= (udma + 2) << 28;
55 conf |= (2 - udma) * 0x111;
57 static const u32 mwdma[4] = {
58 0x0655, 0x0200, 0x0200, 0x0100
62 pci_write_config_dword(pdev, 0x5C, conf);
71 .inherits = &ata_bmdma_port_ops,
73 .set_piomode = tosh_set_piomode,
74 .set_dmamode = tosh_set_dmamode
94 .port_ops = &tosh_port_ops
98 return ata_pci_bmdma_init_one(dev, ppi, &tosh_sht,
NULL, 0);
109 static struct pci_driver ata_tosh_pci_driver = {
111 .id_table = ata_tosh,
112 .probe = ata_tosh_init_one,
113 .remove = ata_pci_remove_one,
115 .suspend = ata_pci_device_suspend,
116 .resume = ata_pci_device_resume,