blob: 9a26c83a2c9e98cdb6d70f74856f22b58db518b5 [file] [log] [blame]
Saeed Bisharaf351b2d2008-02-01 18:08:03 -05001#ifndef __LINUX_ATA_PLATFORM_H
2#define __LINUX_ATA_PLATFORM_H
Paul Mundta20c9e82006-10-27 19:08:48 -07003
4struct pata_platform_info {
5 /*
6 * I/O port shift, for platforms with ports that are
7 * constantly spaced and need larger than the 1-byte
8 * spacing used by ata_std_ports().
9 */
10 unsigned int ioport_shift;
Sonic Zhang5f45bc52007-06-15 17:45:49 +080011 /*
12 * Indicate platform specific irq types and initial
13 * IRQ flags when call request_irq()
14 */
15 unsigned int irq_flags;
Paul Mundta20c9e82006-10-27 19:08:48 -070016};
17
Anton Vorontsovcf036132008-01-09 22:10:22 +030018extern int __devinit __pata_platform_probe(struct device *dev,
19 struct resource *io_res,
20 struct resource *ctl_res,
21 struct resource *irq_res,
22 unsigned int ioport_shift,
23 int __pio_mask);
24
25extern int __devexit __pata_platform_remove(struct device *dev);
26
Saeed Bisharaf351b2d2008-02-01 18:08:03 -050027/*
28 * Marvell SATA private data
29 */
Lennert Buytenhek15a32632008-03-27 14:51:39 -040030struct mbus_dram_target_info;
31
Saeed Bisharaf351b2d2008-02-01 18:08:03 -050032struct mv_sata_platform_data {
Lennert Buytenhek15a32632008-03-27 14:51:39 -040033 struct mbus_dram_target_info *dram;
Saeed Bisharaf351b2d2008-02-01 18:08:03 -050034 int n_ports; /* number of sata ports */
35};
36
37#endif /* __LINUX_ATA_PLATFORM_H */