1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __IDE_FLOPPY_H
3 #define __IDE_FLOPPY_H
4 
5 #include "ide-gd.h"
6 
7 #ifdef CONFIG_IDE_GD_ATAPI
8 /*
9  * Pages of the SELECT SENSE / MODE SENSE packet commands.
10  * See SFF-8070i spec.
11  */
12 #define	IDEFLOPPY_CAPABILITIES_PAGE	0x1b
13 #define IDEFLOPPY_FLEXIBLE_DISK_PAGE	0x05
14 
15 /* IOCTLs used in low-level formatting. */
16 #define	IDEFLOPPY_IOCTL_FORMAT_SUPPORTED	0x4600
17 #define	IDEFLOPPY_IOCTL_FORMAT_GET_CAPACITY	0x4601
18 #define	IDEFLOPPY_IOCTL_FORMAT_START		0x4602
19 #define IDEFLOPPY_IOCTL_FORMAT_GET_PROGRESS	0x4603
20 
21 /* ide-floppy.c */
22 extern const struct ide_disk_ops ide_atapi_disk_ops;
23 void ide_floppy_create_mode_sense_cmd(struct ide_atapi_pc *, u8);
24 void ide_floppy_create_read_capacity_cmd(struct ide_atapi_pc *);
25 
26 /* ide-floppy_ioctl.c */
27 int ide_floppy_ioctl(ide_drive_t *, struct block_device *, fmode_t,
28 		     unsigned int, unsigned long);
29 int ide_floppy_compat_ioctl(ide_drive_t *, struct block_device *, fmode_t,
30 			    unsigned int, unsigned long);
31 
32 #ifdef CONFIG_IDE_PROC_FS
33 /* ide-floppy_proc.c */
34 extern ide_proc_entry_t ide_floppy_proc[];
35 extern const struct ide_proc_devset ide_floppy_settings[];
36 #endif
37 #else
38 #define ide_floppy_proc		NULL
39 #define ide_floppy_settings	NULL
40 #endif
41 
42 #endif /*__IDE_FLOPPY_H */
43