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 
30 #ifdef CONFIG_IDE_PROC_FS
31 /* ide-floppy_proc.c */
32 extern ide_proc_entry_t ide_floppy_proc[];
33 extern const struct ide_proc_devset ide_floppy_settings[];
34 #endif
35 #else
36 #define ide_floppy_proc		NULL
37 #define ide_floppy_settings	NULL
38 #endif
39 
40 #endif /*__IDE_FLOPPY_H */
41