Commit | Line | Data |
---|---|---|
0127854d BZ |
1 | #ifndef __IDE_FLOPPY_H |
2 | #define __IDE_FLOPPY_H | |
3 | ||
4 | /* | |
5 | * Most of our global data which we need to save even as we leave the driver | |
6 | * due to an interrupt or a timer event is stored in a variable of type | |
7 | * idefloppy_floppy_t, defined below. | |
8 | */ | |
9 | typedef struct ide_floppy_obj { | |
10 | ide_drive_t *drive; | |
11 | ide_driver_t *driver; | |
12 | struct gendisk *disk; | |
13 | struct kref kref; | |
14 | unsigned int openers; /* protected by BKL for now */ | |
15 | ||
0127854d BZ |
16 | /* Last failed packet command */ |
17 | struct ide_atapi_pc *failed_pc; | |
18 | /* used for blk_{fs,pc}_request() requests */ | |
19 | struct ide_atapi_pc queued_pc; | |
20 | ||
0127854d BZ |
21 | /* Last error information */ |
22 | u8 sense_key, asc, ascq; | |
baf08f0b | 23 | |
0127854d BZ |
24 | int progress_indication; |
25 | ||
26 | /* Device information */ | |
27 | /* Current format */ | |
28 | int blocks, block_size, bs_factor; | |
29 | /* Last format capacity descriptor */ | |
30 | u8 cap_desc[8]; | |
31 | /* Copy of the flexible disk page */ | |
32 | u8 flexible_disk_page[32]; | |
33 | } idefloppy_floppy_t; | |
34 | ||
35 | /* | |
36 | * Pages of the SELECT SENSE / MODE SENSE packet commands. | |
37 | * See SFF-8070i spec. | |
38 | */ | |
39 | #define IDEFLOPPY_CAPABILITIES_PAGE 0x1b | |
40 | #define IDEFLOPPY_FLEXIBLE_DISK_PAGE 0x05 | |
41 | ||
42 | /* IOCTLs used in low-level formatting. */ | |
43 | #define IDEFLOPPY_IOCTL_FORMAT_SUPPORTED 0x4600 | |
44 | #define IDEFLOPPY_IOCTL_FORMAT_GET_CAPACITY 0x4601 | |
45 | #define IDEFLOPPY_IOCTL_FORMAT_START 0x4602 | |
46 | #define IDEFLOPPY_IOCTL_FORMAT_GET_PROGRESS 0x4603 | |
47 | ||
48 | /* ide-floppy.c */ | |
49 | void ide_floppy_create_mode_sense_cmd(struct ide_atapi_pc *, u8); | |
50 | void ide_floppy_create_read_capacity_cmd(struct ide_atapi_pc *); | |
b9103da4 | 51 | sector_t ide_floppy_capacity(ide_drive_t *); |
0127854d BZ |
52 | |
53 | /* ide-floppy_ioctl.c */ | |
5bb1536a | 54 | int ide_floppy_ioctl(struct inode *, struct file *, unsigned, unsigned long); |
0127854d | 55 | |
b9103da4 BZ |
56 | #ifdef CONFIG_IDE_PROC_FS |
57 | /* ide-floppy_proc.c */ | |
58 | extern ide_proc_entry_t ide_floppy_proc[]; | |
59 | extern const struct ide_proc_devset ide_floppy_settings[]; | |
60 | #endif | |
61 | ||
0127854d | 62 | #endif /*__IDE_FLOPPY_H */ |