18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci#ifndef __IDE_FLOPPY_H
38c2ecf20Sopenharmony_ci#define __IDE_FLOPPY_H
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ci#include "ide-gd.h"
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ci#ifdef CONFIG_IDE_GD_ATAPI
88c2ecf20Sopenharmony_ci/*
98c2ecf20Sopenharmony_ci * Pages of the SELECT SENSE / MODE SENSE packet commands.
108c2ecf20Sopenharmony_ci * See SFF-8070i spec.
118c2ecf20Sopenharmony_ci */
128c2ecf20Sopenharmony_ci#define	IDEFLOPPY_CAPABILITIES_PAGE	0x1b
138c2ecf20Sopenharmony_ci#define IDEFLOPPY_FLEXIBLE_DISK_PAGE	0x05
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ci/* IOCTLs used in low-level formatting. */
168c2ecf20Sopenharmony_ci#define	IDEFLOPPY_IOCTL_FORMAT_SUPPORTED	0x4600
178c2ecf20Sopenharmony_ci#define	IDEFLOPPY_IOCTL_FORMAT_GET_CAPACITY	0x4601
188c2ecf20Sopenharmony_ci#define	IDEFLOPPY_IOCTL_FORMAT_START		0x4602
198c2ecf20Sopenharmony_ci#define IDEFLOPPY_IOCTL_FORMAT_GET_PROGRESS	0x4603
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ci/* ide-floppy.c */
228c2ecf20Sopenharmony_ciextern const struct ide_disk_ops ide_atapi_disk_ops;
238c2ecf20Sopenharmony_civoid ide_floppy_create_mode_sense_cmd(struct ide_atapi_pc *, u8);
248c2ecf20Sopenharmony_civoid ide_floppy_create_read_capacity_cmd(struct ide_atapi_pc *);
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ci/* ide-floppy_ioctl.c */
278c2ecf20Sopenharmony_ciint ide_floppy_ioctl(ide_drive_t *, struct block_device *, fmode_t,
288c2ecf20Sopenharmony_ci		     unsigned int, unsigned long);
298c2ecf20Sopenharmony_ciint ide_floppy_compat_ioctl(ide_drive_t *, struct block_device *, fmode_t,
308c2ecf20Sopenharmony_ci			    unsigned int, unsigned long);
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ci#ifdef CONFIG_IDE_PROC_FS
338c2ecf20Sopenharmony_ci/* ide-floppy_proc.c */
348c2ecf20Sopenharmony_ciextern ide_proc_entry_t ide_floppy_proc[];
358c2ecf20Sopenharmony_ciextern const struct ide_proc_devset ide_floppy_settings[];
368c2ecf20Sopenharmony_ci#endif
378c2ecf20Sopenharmony_ci#else
388c2ecf20Sopenharmony_ci#define ide_floppy_proc		NULL
398c2ecf20Sopenharmony_ci#define ide_floppy_settings	NULL
408c2ecf20Sopenharmony_ci#endif
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_ci#endif /*__IDE_FLOPPY_H */
43