1
linux/drivers/scsi
Christoph Hellwig a885c8c431 [PATCH] Add block_device_operations.getgeo block device method
HDIO_GETGEO is implemented in most block drivers, and all of them have to
duplicate the code to copy the structure to userspace, as well as getting
the start sector.  This patch moves that to common code [1] and adds a
->getgeo method to fill out the raw kernel hd_geometry structure.  For many
drivers this means ->ioctl can go away now.

[1] the s390 block drivers are odd in this respect.  xpram sets ->start
    to 4 always which seems more than odd, and the dasd driver shifts
    the start offset around, probably because of it's non-standard
    sector size.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Cc: Jens Axboe <axboe@suse.de>
Cc: <mike.miller@hp.com>
Cc: Jeff Dike <jdike@addtoit.com>
Cc: Paolo Giarrusso <blaisorblade@yahoo.it>
Cc: Bartlomiej Zolnierkiewicz <B.Zolnierkiewicz@elka.pw.edu.pl>
Cc: Neil Brown <neilb@cse.unsw.edu.au>
Cc: Markus Lidel <Markus.Lidel@shadowconnect.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: James Bottomley <James.Bottomley@steeleye.com>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-08 20:13:54 -08:00
..
aacraid [SCSI] aacraid: Check scsi_bios_ptabe return code 2005-12-01 15:59:44 -06:00
aic7xxx Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild 2006-01-04 16:36:52 -08:00
aic7xxx_old
arm [SCSI] Rename scsi_print_msg to spi_print_msg 2005-12-15 18:41:27 -08:00
dpt
ibmvscsi [SCSI] ibmvscsi kexec fix 2005-12-07 09:30:01 -05:00
lpfc [SCSI] lpfc 8.1.1 : Change version number to 8.1.1 2005-12-13 18:36:15 -07:00
megaraid [SCSI] megaraid_{mbox,mm} : remove PCI Id overlaping between megaraid_legacy and megaraid_{mbox,mm} 2005-12-13 18:10:56 -07:00
pcmcia [PATCH] pcmcia: unify attach, EVENT_CARD_INSERTION handlers into one probe callback 2006-01-06 00:03:24 +01:00
qla2xxx Merge by hand (conflicts in scsi_lib.c) 2005-12-15 17:35:24 -06:00
sym53c8xx_2 [SCSI] Rename scsi_print_msg to spi_print_msg 2005-12-15 18:41:27 -08:00
.gitignore gitignore: misc files 2006-01-01 22:21:50 +01:00
3w-9xxx.c [PATCH] kfree cleanup: drivers/scsi 2005-11-07 07:54:01 -08:00
3w-9xxx.h
3w-xxxx.c
3w-xxxx.h [PATCH] changing CONFIG_LOCALVERSION rebuilds too much, for no good reason 2005-11-09 07:55:57 -08:00
53c7xx_d.h_shipped
53c7xx_u.h_shipped
53c7xx.c [SCSI] Rename scsi_print_msg to spi_print_msg 2005-12-15 18:41:27 -08:00
53c7xx.h [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
53c7xx.scr
53c700_d.h_shipped
53c700.c [SCSI] Rename scsi_print_msg to spi_print_msg 2005-12-15 18:41:27 -08:00
53c700.h [SCSI] 53c700: update endian processing macros 2005-12-16 09:51:01 -08:00
53c700.scr
a100u2w.c [SCSI] use scmd_id(), scmd_channel() throughout code 2005-10-28 21:10:16 -05:00
a100u2w.h
a2091.c Merge by hand (whitespace conflicts in libata.h) 2005-11-10 08:29:07 -06:00
a2091.h [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
a3000.c [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
a3000.h [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
advansys.c [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
advansys.h [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
aha152x.c [SCSI] Rename scsi_print_msg to spi_print_msg 2005-12-15 18:41:27 -08:00
aha152x.h
aha1542.c [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
aha1542.h [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
aha1740.c [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
aha1740.h
ahci.c [BLOCK] update libata to use new blk_ordered for barriers 2006-01-06 09:55:00 +01:00
aic7xxx_old.c [SCSI] remove Scsi_Device typedef 2005-11-09 15:48:20 -05:00
amiga7xx.c Merge by hand (whitespace conflicts in libata.h) 2005-11-10 08:29:07 -06:00
amiga7xx.h [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
ata_piix.c Merge branch 'post-2.6.15' of git://brick.kernel.dk/data/git/linux-2.6-block 2006-01-06 09:01:25 -08:00
atari_dma_emul.c [PATCH] fix remaining missing includes 2005-11-07 07:53:41 -08:00
atari_NCR5380.c [SCSI] Rename scsi_print_msg to spi_print_msg 2005-12-15 18:41:27 -08:00
atari_scsi.c [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
atari_scsi.h [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
atp870u.c [SCSI] use scmd_id(), scmd_channel() throughout code 2005-10-28 21:10:16 -05:00
atp870u.h
blz1230.c [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
blz2060.c [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
BusLogic.c
BusLogic.h
bvme6000.c Merge by hand (whitespace conflicts in libata.h) 2005-11-10 08:29:07 -06:00
bvme6000.h [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
ch.c [SCSI] Mark some core scsi data structures const 2005-12-13 18:11:01 -07:00
constants.c [SCSI] Move scsi_print_msg to SPI class 2005-12-15 18:41:13 -08:00
cyberstorm.c [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
cyberstormII.c [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
dc395x.c [PATCH] kfree cleanup: drivers/scsi 2005-11-07 07:54:01 -08:00
dc395x.h
dec_esp.c [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
dmx3191d.c
dpt_i2o.c [PATCH] dpt_i2o fix for deadlock condition 2005-12-18 11:19:44 -08:00
dpti.h [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
dtc.c [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
dtc.h [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
eata_generic.h
eata_pio.c
eata_pio.h
eata.c [PATCH] kfree cleanup: drivers/scsi 2005-11-07 07:54:01 -08:00
esp.c
esp.h
fastlane.c [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
fcal.c [SCSI] remove Scsi_Device typedef 2005-11-09 15:48:20 -05:00
fcal.h [SCSI] remove Scsi_Device typedef 2005-11-09 15:48:20 -05:00
fd_mcs.c [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
fdomain.c [SCSI] use scmd_id(), scmd_channel() throughout code 2005-10-28 21:10:16 -05:00
fdomain.h
FlashPoint.c
g_NCR5380_mmio.c
g_NCR5380.c [SCSI] remove Scsi_Device typedef 2005-11-09 15:48:20 -05:00
g_NCR5380.h [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
gdth_ioctl.h
gdth_kcompat.h
gdth_proc.c [SCSI] remove Scsi_Device typedef 2005-11-09 15:48:20 -05:00
gdth_proc.h
gdth.c [SCSI] remove Scsi_Device typedef 2005-11-09 15:48:20 -05:00
gdth.h [SCSI] remove Scsi_Device typedef 2005-11-09 15:48:20 -05:00
gvp11.c Merge by hand (whitespace conflicts in libata.h) 2005-11-10 08:29:07 -06:00
gvp11.h [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
hosts.c [BLOCK] update SCSI to use new blk_ordered for barriers 2006-01-06 09:52:55 +01:00
hosts.h
ibmmca.c Merge by hand (whitespace conflicts in libata.h) 2005-11-10 08:29:07 -06:00
ibmmca.h [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
ide-scsi.c [BLOCK] add @uptodate to end_that_request_last() and @error to rq_end_io_fn() 2006-01-06 09:49:03 +01:00
imm.c [SCSI] use scmd_id(), scmd_channel() throughout code 2005-10-28 21:10:16 -05:00
imm.h
in2000.c [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
in2000.h [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
initio.c
initio.h
ipr.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6 2006-01-04 18:44:12 -08:00
ipr.h [SCSI] ipr: Driver initialization fix for kexec/kdump 2005-12-13 18:10:58 -07:00
ips.c [SCSI] remove Scsi_Device typedef 2005-11-09 15:48:20 -05:00
ips.h Merge by hand (whitespace conflicts in libata.h) 2005-11-10 08:29:07 -06:00
iscsi_tcp.c Merge by hand (conflicts in scsi_lib.c) 2005-12-15 17:35:24 -06:00
iscsi_tcp.h [SCSI] iscsi: lower queue depth 2005-12-13 18:12:00 -07:00
jazz_esp.c [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
Kconfig [PATCH] parport: Kconfig dependency fixes 2006-01-06 08:33:57 -08:00
lasi700.c
libata-core.c Merge branch 'post-2.6.15' of git://brick.kernel.dk/data/git/linux-2.6-block 2006-01-06 09:01:25 -08:00
libata-scsi.c Merge branch 'post-2.6.15' of git://brick.kernel.dk/data/git/linux-2.6-block 2006-01-06 09:01:25 -08:00
libata.h [BLOCK] add FUA support to libata 2006-01-06 09:56:18 +01:00
mac53c94.c
mac53c94.h
mac_esp.c [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
mac_scsi.c [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
mac_scsi.h
Makefile [SCSI] remove the obsolete SCSI qlogicisp driver 2005-11-06 12:57:05 -06:00
mca_53c9x.c [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
megaraid.c Merge by hand (conflicts in scsi_lib.c) 2005-12-15 17:35:24 -06:00
megaraid.h [SCSI] megaraid (legacy): remove scsi_assign_lock usage 2005-11-06 12:51:48 -06:00
mesh.c [PATCH] Typo fix: explictly -> explicitly 2005-10-30 17:37:20 -08:00
mesh.h
mvme16x.c Merge by hand (whitespace conflicts in libata.h) 2005-11-10 08:29:07 -06:00
mvme16x.h [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
mvme147.c Merge by hand (whitespace conflicts in libata.h) 2005-11-10 08:29:07 -06:00
mvme147.h [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
ncr53c8xx.c [SCSI] Merge sym53c8xx_comm.h and sym53c8xx_defs.h into ncr driver 2005-12-16 10:53:47 -08:00
ncr53c8xx.h [SCSI] Merge sym53c8xx_comm.h and sym53c8xx_defs.h into ncr driver 2005-12-16 10:53:47 -08:00
NCR53c406a.c [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
NCR53C9x.c [SCSI] remove Scsi_Device typedef 2005-11-09 15:48:20 -05:00
NCR53C9x.h [SCSI] remove Scsi_Device typedef 2005-11-09 15:48:20 -05:00
NCR5380.c [SCSI] Rename scsi_print_msg to spi_print_msg 2005-12-15 18:41:27 -08:00
NCR5380.h
NCR_D700.c
NCR_D700.h
NCR_Q720.c
NCR_Q720.h
nsp32_debug.c
nsp32_io.h
nsp32.c [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
nsp32.h [PATCH] changing CONFIG_LOCALVERSION rebuilds too much, for no good reason 2005-11-09 07:55:57 -08:00
oktagon_esp.c [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
oktagon_io.S
osst_detect.h
osst_options.h
osst.c [PATCH] drivers/scsi: fix-up schedule_timeout() usage 2005-11-07 07:53:59 -08:00
osst.h
pas16.c [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
pas16.h [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
pci2000.h Merge by hand (whitespace conflicts in libata.h) 2005-11-10 08:29:07 -06:00
pdc_adma.c [PATCH] libata: move err_mask to ata_queued_cmd 2005-12-06 04:49:22 -05:00
pluto.c [SCSI] remove Scsi_Device typedef 2005-11-09 15:48:20 -05:00
pluto.h [SCSI] remove Scsi_Device typedef 2005-11-09 15:48:20 -05:00
ppa.c [SCSI] use scmd_id(), scmd_channel() throughout code 2005-10-28 21:10:16 -05:00
ppa.h
psi240i.c [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
psi240i.h
psi_chip.h
ql1040_fw.h
ql1280_fw.h
ql12160_fw.h
qla1280.c [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
qla1280.h
qlogicfas408.c [SCSI] use scmd_id(), scmd_channel() throughout code 2005-10-28 21:10:16 -05:00
qlogicfas408.h
qlogicfas.c [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
qlogicfc_asm.c
qlogicfc.c [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
qlogicpti_asm.c
qlogicpti.c
qlogicpti.h
raid_class.c [SCSI] Mark some core scsi data structures const 2005-12-13 18:11:01 -07:00
sata_mv.c [BLOCK] update libata to use new blk_ordered for barriers 2006-01-06 09:55:00 +01:00
sata_nv.c [BLOCK] update libata to use new blk_ordered for barriers 2006-01-06 09:55:00 +01:00
sata_promise.c [BLOCK] update libata to use new blk_ordered for barriers 2006-01-06 09:55:00 +01:00
sata_promise.h
sata_qstor.c [PATCH] libata: move err_mask to ata_queued_cmd 2005-12-06 04:49:22 -05:00
sata_sil24.c [BLOCK] update libata to use new blk_ordered for barriers 2006-01-06 09:55:00 +01:00
sata_sil.c [BLOCK] update libata to use new blk_ordered for barriers 2006-01-06 09:55:00 +01:00
sata_sis.c [BLOCK] update libata to use new blk_ordered for barriers 2006-01-06 09:55:00 +01:00
sata_svw.c [BLOCK] update libata to use new blk_ordered for barriers 2006-01-06 09:55:00 +01:00
sata_sx4.c [BLOCK] update libata to use new blk_ordered for barriers 2006-01-06 09:55:00 +01:00
sata_uli.c [BLOCK] update libata to use new blk_ordered for barriers 2006-01-06 09:55:00 +01:00
sata_via.c [BLOCK] update libata to use new blk_ordered for barriers 2006-01-06 09:55:00 +01:00
sata_vsc.c [BLOCK] update libata to use new blk_ordered for barriers 2006-01-06 09:55:00 +01:00
script_asm.pl
scsi_debug.c Merge by hand (whitespace conflicts in libata.h) 2005-11-10 08:29:07 -06:00
scsi_debug.h
scsi_devinfo.c [SCSI] correct some dropped const compiler warnings 2005-12-13 18:12:05 -07:00
scsi_error.c Merge by hand (conflicts in scsi_lib.c) 2005-12-15 17:35:24 -06:00
scsi_ioctl.c
scsi_lib.c [SCSI] scsi_end_async() needs to take an uptodate parameter 2006-01-06 12:38:30 +01:00
scsi_logging.h
scsi_module.c
scsi_priv.h [SCSI] Convert SCSI mid-layer to scsi_execute_async 2005-12-14 19:03:35 -08:00
scsi_proc.c
scsi_scan.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2006-01-04 16:30:12 -08:00
scsi_sysctl.c
scsi_sysfs.c [PATCH] Suspend support for libata 2006-01-06 08:36:09 -08:00
scsi_transport_fc.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2006-01-04 16:30:12 -08:00
scsi_transport_iscsi.c [PATCH] iscsi gfp_t annotations 2005-12-15 10:04:29 -08:00
scsi_transport_sas.c [PATCH] fix remaining missing includes 2005-11-07 07:53:41 -08:00
scsi_transport_spi.c [SCSI] Add PPR support to spi_print_msg 2005-12-15 18:42:39 -08:00
scsi_typedefs.h [SCSI] remove Scsi_Device typedef 2005-11-09 15:48:20 -05:00
scsi.c [PATCH] Fix a bug in scsi_get_command 2005-11-22 09:13:44 -08:00
scsi.h
scsicam.c
sd.c [PATCH] Add block_device_operations.getgeo block device method 2006-01-08 20:13:54 -08:00
seagate.c [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
seagate.h [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
sg.c [SCSI] convert sg to scsi_execute_async 2005-12-14 19:15:45 -08:00
sgiwd93.c Merge by hand (whitespace conflicts in libata.h) 2005-11-10 08:29:07 -06:00
sim710.c
sr_ioctl.c
sr_vendor.c [SCSI] Missing const in sr_vendor 2005-12-17 10:50:23 -06:00
sr.c Fix up SCSI mismerge 2005-12-15 20:17:02 -06:00
sr.h
st_options.h
st.c Fix up SCSI mismerge 2005-12-15 20:17:02 -06:00
st.h [SCSI] convert st to use scsi_execute_async 2005-12-14 19:16:31 -08:00
sun3_NCR5380.c [SCSI] Rename scsi_print_msg to spi_print_msg 2005-12-15 18:41:27 -08:00
sun3_scsi_vme.c [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
sun3_scsi.c [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
sun3_scsi.h [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
sun3x_esp.c [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
sym53c416.c [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
sym53c416.h [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
t128.c [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
t128.h [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
tmscsim.c
tmscsim.h
u14-34f.c [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
ultrastor.c [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
ultrastor.h [SCSI] remove Scsi_Host_Template typedef 2005-11-09 15:44:09 -05:00
wd33c93.c [PATCH] changing CONFIG_LOCALVERSION rebuilds too much, for no good reason 2005-11-09 07:55:57 -08:00
wd33c93.h
wd7000.c
zalon.c