diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2009-04-01 15:42:21 -0400 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2009-04-01 15:42:21 -0400 |
commit | 73855e13b2bce2bb5cd2a62c270fb07f49353e02 (patch) | |
tree | 0af006a591ad75d0450c651b558694b96bf1d6ea /arch/um | |
parent | d8881cdab5e1810b0a03b480ed16c1e761e68257 (diff) |
ubd_kern: make it 'struct hd_driveid'-free
* Change ubd_id in ubd_ioctl() from 'struct hd_driveid *id'
to 'u16 *id' and update driver accordingly.
* Include <linux/ata.h> directly instead of through <linux/hdreg.h>.
There should be no functional changes caused by this patch.
Cc: Jeff Dike <jdike@linux.intel.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'arch/um')
-rw-r--r-- | arch/um/drivers/ubd_kern.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/arch/um/drivers/ubd_kern.c b/arch/um/drivers/ubd_kern.c index d42f826a8ab9..f934225fd8ef 100644 --- a/arch/um/drivers/ubd_kern.c +++ b/arch/um/drivers/ubd_kern.c | |||
@@ -22,6 +22,7 @@ | |||
22 | #include "linux/kernel.h" | 22 | #include "linux/kernel.h" |
23 | #include "linux/module.h" | 23 | #include "linux/module.h" |
24 | #include "linux/blkdev.h" | 24 | #include "linux/blkdev.h" |
25 | #include "linux/ata.h" | ||
25 | #include "linux/hdreg.h" | 26 | #include "linux/hdreg.h" |
26 | #include "linux/init.h" | 27 | #include "linux/init.h" |
27 | #include "linux/cdrom.h" | 28 | #include "linux/cdrom.h" |
@@ -1308,16 +1309,15 @@ static int ubd_ioctl(struct block_device *bdev, fmode_t mode, | |||
1308 | unsigned int cmd, unsigned long arg) | 1309 | unsigned int cmd, unsigned long arg) |
1309 | { | 1310 | { |
1310 | struct ubd *ubd_dev = bdev->bd_disk->private_data; | 1311 | struct ubd *ubd_dev = bdev->bd_disk->private_data; |
1311 | struct hd_driveid ubd_id = { | 1312 | u16 ubd_id[ATA_ID_WORDS]; |
1312 | .cyls = 0, | ||
1313 | .heads = 128, | ||
1314 | .sectors = 32, | ||
1315 | }; | ||
1316 | 1313 | ||
1317 | switch (cmd) { | 1314 | switch (cmd) { |
1318 | struct cdrom_volctrl volume; | 1315 | struct cdrom_volctrl volume; |
1319 | case HDIO_GET_IDENTITY: | 1316 | case HDIO_GET_IDENTITY: |
1320 | ubd_id.cyls = ubd_dev->size / (128 * 32 * 512); | 1317 | memset(&ubd_id, 0, ATA_ID_WORDS * 2); |
1318 | ubd_id[ATA_ID_CYLS] = ubd_dev->size / (128 * 32 * 512); | ||
1319 | ubd_id[ATA_ID_HEADS] = 128; | ||
1320 | ubd_id[ATA_ID_SECTORS] = 32; | ||
1321 | if(copy_to_user((char __user *) arg, (char *) &ubd_id, | 1321 | if(copy_to_user((char __user *) arg, (char *) &ubd_id, |
1322 | sizeof(ubd_id))) | 1322 | sizeof(ubd_id))) |
1323 | return -EFAULT; | 1323 | return -EFAULT; |