aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/ide-disk.h
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-10-17 12:09:14 -0400
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-10-17 12:09:14 -0400
commit806f80a6fc203ad0bde84e5a9e94572617d2ae45 (patch)
tree20c684323e6e9f24af96df84008f06425a67ec6a /drivers/ide/ide-disk.h
parent79cb380397c834a35952d8497651d93b543ef968 (diff)
ide: add generic ATA/ATAPI disk driver
* Add struct ide_disk_ops containing protocol specific methods. * Add 'struct ide_disk_ops *' to ide_drive_t. * Convert ide-{disk,floppy} drivers to use struct ide_disk_ops. * Merge ide-{disk,floppy} drivers into generic ide-gd driver. While at it: - ide_disk_init_capacity() -> ide_disk_get_capacity() Acked-by: Borislav Petkov <petkovbb@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/ide-disk.h')
-rw-r--r--drivers/ide/ide-disk.h24
1 files changed, 9 insertions, 15 deletions
diff --git a/drivers/ide/ide-disk.h b/drivers/ide/ide-disk.h
index 104ad71288a5..b234b0feaf7b 100644
--- a/drivers/ide/ide-disk.h
+++ b/drivers/ide/ide-disk.h
@@ -1,22 +1,11 @@
1#ifndef __IDE_DISK_H 1#ifndef __IDE_DISK_H
2#define __IDE_DISK_H 2#define __IDE_DISK_H
3 3
4struct ide_disk_obj { 4#include "ide-gd.h"
5 ide_drive_t *drive;
6 ide_driver_t *driver;
7 struct gendisk *disk;
8 struct kref kref;
9 unsigned int openers; /* protected by BKL for now */
10};
11
12sector_t ide_gd_capacity(ide_drive_t *);
13 5
6#ifdef CONFIG_IDE_GD_ATA
14/* ide-disk.c */ 7/* ide-disk.c */
15void ide_disk_init_capacity(ide_drive_t *); 8extern const struct ide_disk_ops ide_ata_disk_ops;
16void ide_disk_setup(ide_drive_t *);
17void ide_disk_flush(ide_drive_t *);
18int ide_disk_set_doorlock(ide_drive_t *, int);
19ide_startstop_t ide_do_rw_disk(ide_drive_t *, struct request *, sector_t);
20ide_decl_devset(address); 9ide_decl_devset(address);
21ide_decl_devset(multcount); 10ide_decl_devset(multcount);
22ide_decl_devset(nowerr); 11ide_decl_devset(nowerr);
@@ -24,12 +13,17 @@ ide_decl_devset(wcache);
24ide_decl_devset(acoustic); 13ide_decl_devset(acoustic);
25 14
26/* ide-disk_ioctl.c */ 15/* ide-disk_ioctl.c */
27int ide_disk_ioctl(struct inode *, struct file *, unsigned int, unsigned long); 16int ide_disk_ioctl(ide_drive_t *, struct inode *, struct file *, unsigned int,
17 unsigned long);
28 18
29#ifdef CONFIG_IDE_PROC_FS 19#ifdef CONFIG_IDE_PROC_FS
30/* ide-disk_proc.c */ 20/* ide-disk_proc.c */
31extern ide_proc_entry_t ide_disk_proc[]; 21extern ide_proc_entry_t ide_disk_proc[];
32extern const struct ide_proc_devset ide_disk_settings[]; 22extern const struct ide_proc_devset ide_disk_settings[];
33#endif 23#endif
24#else
25#define ide_disk_proc NULL
26#define ide_disk_settings NULL
27#endif
34 28
35#endif /* __IDE_DISK_H */ 29#endif /* __IDE_DISK_H */