^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) #ifndef __IDE_GD_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) #define __IDE_GD_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) #define DRV_NAME "ide-gd"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) #define PFX DRV_NAME ": "
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) /* define to see debug info */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) #define IDE_GD_DEBUG_LOG 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) #if IDE_GD_DEBUG_LOG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) #define ide_debug_log(lvl, fmt, args...) __ide_debug_log(lvl, fmt, ## args)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) #else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) #define ide_debug_log(lvl, fmt, args...) do {} while (0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) struct ide_disk_obj {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) ide_drive_t *drive;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) struct ide_driver *driver;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) struct gendisk *disk;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) struct device dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) unsigned int openers; /* protected by BKL for now */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) /* used for blk_{fs,pc}_request() requests */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) struct ide_atapi_pc queued_pc;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) /* Last error information */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) u8 sense_key, asc, ascq;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) int progress_indication;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) /* Device information */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) /* Current format */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) int blocks, block_size, bs_factor;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) /* Last format capacity descriptor */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) u8 cap_desc[8];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) /* Copy of the flexible disk page */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) u8 flexible_disk_page[32];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) sector_t ide_gd_capacity(ide_drive_t *);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) #endif /* __IDE_GD_H */