diff options
author | Søren Schmidt <sos@FreeBSD.org> | 2005-05-16 13:07:27 +0000 |
---|---|---|
committer | Søren Schmidt <sos@FreeBSD.org> | 2005-05-16 13:07:27 +0000 |
commit | 6667b30d15254872b686d582b2430e2e9098aacd (patch) | |
tree | 6f0fc5c74cd330db252bdb9572d9fd9b43828619 /sys/dev/ata/ata-disk.c | |
parent | b0c77ed9fb4ec679fdeed5ac29dc7fd33a9934b2 (diff) | |
download | src-6667b30d15254872b686d582b2430e2e9098aacd.tar.gz src-6667b30d15254872b686d582b2430e2e9098aacd.zip |
Change the way ioctls are issue to ATA.
The most prominent part is that its now possible to issue ata_requests
directly to say acd0, instead of going through the cumbersome /dev/ata
device.
Notes
Notes:
svn path=/head/; revision=146266
Diffstat (limited to 'sys/dev/ata/ata-disk.c')
-rw-r--r-- | sys/dev/ata/ata-disk.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/dev/ata/ata-disk.c b/sys/dev/ata/ata-disk.c index 64ba57904462..64a41726aeba 100644 --- a/sys/dev/ata/ata-disk.c +++ b/sys/dev/ata/ata-disk.c @@ -61,6 +61,7 @@ static void ad_done(struct ata_request *); static void ad_describe(device_t dev); static int ad_version(u_int16_t); static disk_strategy_t ad_strategy; +static disk_ioctl_t ad_ioctl; static dumper_t ad_dump; /* local vars */ @@ -137,6 +138,7 @@ ad_attach(device_t dev) /* create the disk device */ adp->disk = disk_alloc(); adp->disk->d_strategy = ad_strategy; + adp->disk->d_ioctl = ad_ioctl; adp->disk->d_dump = ad_dump; adp->disk->d_name = "ad"; adp->disk->d_drv1 = dev; @@ -283,6 +285,12 @@ ad_done(struct ata_request *request) } static int +ad_ioctl(struct disk *disk, u_long cmd, void *data, int flag, struct thread *td) +{ + return ata_device_ioctl(disk->d_drv1, cmd, data); +} + +static int ad_dump(void *arg, void *virtual, vm_offset_t physical, off_t offset, size_t length) { |