summaryrefslogtreecommitdiff
path: root/drivers/ide/ide-floppy.c
AgeCommit message (Collapse)AuthorFilesLines
2008-04-29ide: merge ->atapi_*put_bytes and ->ata_*put_data methodsBartlomiej Zolnierkiewicz1-7/+11
* Merge ->atapi_{in,out}put_bytes and ->ata_{in,out}put_data methods into new ->{in,out}put_data methods which take number of bytes to transfer as an argument and always do padding. While at it: * Use 'hwif' or 'drive->hwif' instead of 'HWIF(drive)'. There should be no functional changes caused by this patch (all users of ->ata_{in,out}put_data methods were using multiply-of-4 word counts). Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-04-27ide: add struct ide_io_ports (take 3)Bartlomiej Zolnierkiewicz1-6/+6
* Add struct ide_io_ports and use it instead of `unsigned long io_ports[]` in ide_hwif_t. * Rename io_ports[] in hw_regs_t to io_ports_array[]. * Use un-named union for 'unsigned long io_ports_array[]' and 'struct ide_io_ports io_ports' in hw_regs_t. * Remove IDE_*_OFFSET defines. v2: * scc_pata.c build fix from Stephen Rothwell. v3: * Fix ctl_adrr typo in Sparc-specific part of ns87415.c. (Noticed by Andrew Morton) Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-04-27ide: add struct ide_dma_ops (take 3)Bartlomiej Zolnierkiewicz1-3/+3
Add struct ide_dma_ops and convert core code + drivers to use it. While at it: * Drop "ide_" prefix from ->ide_dma_end and ->ide_dma_test_irq methods. * Drop "ide_" "infixes" from DMA methods. * au1xxx-ide.c: - use auide_dma_{test_irq,end}() directly in auide_dma_timeout() * pdc202xx_old.c: - drop "old_" "infixes" from DMA methods * siimage.c: - add siimage_dma_test_irq() helper - print SATA warning in siimage_init_one() * Remove no longer needed ->init_hwif implementations. v2: * Changes based on review from Sergei: - s/siimage_ide_dma_test_irq/siimage_dma_test_irq/ - s/drive->hwif/hwif/ in idefloppy_pc_intr(). - fix patch description w.r.t. au1xxx-ide changes - fix au1xxx-ide build - fix naming for cmd64*_dma_ops - drop "ide_" and "old_" infixes - s/hpt3xxx_dma_ops/hpt37x_dma_ops/ - s/hpt370x_dma_ops/hpt370_dma_ops/ - use correct DMA ops for HPT302/N, HPT371/N and HPT374 - s/it821x_smart_dma_ops/it821x_pass_through_dma_ops/ v3: * Two bugs slipped in v2 (noticed by Sergei): - use correct DMA ops for HPT374 (for real this time) - handle HPT370/HPT370A properly Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-04-26IDE: Coding Style fixes to drivers/ide/ide-floppy.cPaolo Ciarrocchi1-8/+8
File is now error free. Compile tested. [bart: minor fixes, md5sum checked] Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-04-18ide: use generic ATAPI packet command flags in ide-{floppy,tape}Borislav Petkov1-14/+0
Signed-off-by: Borislav Petkov <petkovbb@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-04-18ide-floppy: rename end_request handler properlyBorislav Petkov1-11/+11
mv idefloppy_do_end_request -> idefloppy_end_request as is the case with ide-cd Signed-off-by: Borislav Petkov <petkovbb@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-04-18ide-floppy: convert driver to using generic ide_atapi_pcBorislav Petkov1-112/+93
Signed-off-by: Borislav Petkov <petkovbb@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-04-18ide: remove IDE_*_REG macrosBartlomiej Zolnierkiewicz1-6/+8
* Add IDE_{ALTSTATUS,IREASON,BCOUNTL,BCOUNTH}_OFFSET defines. * Remove IDE_*_REG macros - this results in more readable and slightly smaller code. There should be no functional changes caused by this patch. Cc: Borislav Petkov <petkovbb@gmail.com> Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-04-18ide: add ide_atapi_{discard_data,write_zeros} inline helpersBartlomiej Zolnierkiewicz1-21/+3
Add ide_atapi_{discard_data,write_zeros} inline helpers to <linux/ide.h> and use them instead of home-brewn helpers in ide-{floppy,tape,scsi}. There should be no functional changes caused by this patch. Cc: Borislav Petkov <petkovbb@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-04-18ide-floppy: remove struct idefloppy_id_gcwBorislav Petkov1-43/+24
Bart: - minor fixups Signed-off-by: Borislav Petkov <petkovbb@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-02-06ide: add ide_read_error() inline helperBartlomiej Zolnierkiewicz1-1/+1
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-02-06ide: add ide_read_[alt]status() inline helpersBartlomiej Zolnierkiewicz1-2/+2
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-02-02ide-floppy: bump driver version numberBorislav Petkov1-4/+1
Acknowledge major ide-floppy code refactoring and cleanup by bumping the driver version number. Also, remove a wrong comment. Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-02-02ide-floppy: fix most of the remaining checkpatch.pl issuesBorislav Petkov1-195/+160
such as ERROR: switch and case should be at the same indent ERROR: need spaces around that '=' (ctx:VxV) ERROR: trailing statements should be on next line WARNING: no space between function name and open parenthesis '(' WARNING: printk() should include KERN_ facility level ERROR: That open brace { should be on the previous line ERROR: use tabs not spaces ERROR: do not use assignment in if condition WARNING: braces {} are not necessary for single statement blocks ERROR: need space after that ',' (ctx:VxV) WARNING: line over 80 characters ERROR: do not use assignment in if condition ... and so on. Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-02-02ide-floppy: remove atomic test_*bit macrosBorislav Petkov1-56/+69
..and replace them with flag enums. Bart: - fix idefloppy_media_changed() return value Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-02-02ide-floppy: remove unused flag PC_ABORTBorislav Petkov1-13/+6
This flag was never being set in the code so remove it. By the way, the code in the second patch was being executed unconditionally, i.e. in case pc->retries > IDEFLOPPY_MAX_PC_RETRIES is true (actually that is the only case when the outer if-test passed), !test_bit(PC_ABORT, &pc->flags) was always true so the comment is now incorrect and has to go. Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-02-02ide-floppy: remove IDEFLOPPY_DEBUG_INFOBorislav Petkov1-50/+13
This info is already available through ioctl() and /proc Bart: - dump 'gcw.packet_size' for unsupported packet sizes Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-02-02ide-floppy: remove unused IDEFLOPPY_USE_READ12Borislav Petkov1-11/+7
This flag is not being set anywhere in the driver so it can go. Bart: - minor CodingStyle fixup Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-02-02ide-floppy: merge idefloppy_{input,output}_buffersBorislav Petkov1-46/+19
We merge idefloppy_{input,output}_buffers() into idefloppy_io_buffers() by introducing a 4th arg. called direction. According to its value we atapi_input_bytes() or atapi_output_bytes(). Also, this simplifies the interrupt handler logic a bit. Finally, rename idefloppy_io_buffers() to ide_floppy_io_buffers(). Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-02-02ide-floppy: use an xfer_func_t and io_buf_t typedefs in order to unify rwBorislav Petkov1-17/+16
Also, move xfer_func_t typedef to the ide.h since it is used by two drivers now (more coming). Bart: - use __func__ while at it Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-02-02ide-floppy: remove IDEFLOPPY_DEBUG_BUGS macroBorislav Petkov1-6/+1
Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-02-02ide-floppy: mv idefloppy_{should_,}report_errorBorislav Petkov1-24/+14
In addition to shortening the function name, move the printk-call into the function thereby saving some code lines. Also, make the function out_of_line since it is not on a performance critical path. Finally, rename the reworked function to ide_floppy..(). Bart: - minor CodingStyle fixup Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-02-02ide-floppy: report DMA handling in idefloppy_pc_intr() properlyBorislav Petkov1-1/+5
Bart: - use 'hwif' instead of 'HWIF(drive)' - minor CodingStyle fixup Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-02-02ide-floppy: factor out ioctl handlers from idefloppy_ioctl()Borislav Petkov1-75/+78
By passing idefloppy_floppy_t *floppy to the factored out functions, we get rid of (almost) all local vars so stack usage should be at minimum here. Also, we merge idefloppy_begin_format() into idefloppy_format_start() since it is its only user. Also, rename idefloppy_format_start() to idefloppy_format_unit(). Finally, rename the reworked functions to ide_floppy..(). Bart - minor CodingStyle fixup Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-02-02ide-floppy: remove struct idefloppy_capacity_descriptorBorislav Petkov1-100/+76
Also, - remove the accompanying 4 byte idefloppy_capacity_header. - rename functions from idefloppy_... to ide_floppy_... after cleanup. - simplify loop in ide_floppy_get_capacity() by reversing if-test condition logically. - finally, fix white space and checkpatch.pl issues Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-02-02ide-floppy: remove struct idefloppy_flexible_disk_pageBorislav Petkov1-54/+36
Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-02-02ide-floppy: remove struct idefloppy_mode_parameter_headerBorislav Petkov1-23/+3
Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-02-02ide-floppy: remove struct idefloppy_request_sense_resultBorislav Petkov1-58/+24
While at it, collapse idefloppy_analyze_error() into idefloppy_request_sense_callback() since the latter was its only user. Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-02-02ide-floppy: remove struct idefloppy_inquiry_resultBorislav Petkov1-41/+0
Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-02-02ide-floppy: remove struct idefloppy_capabilities_pageBorislav Petkov1-49/+6
This change is rather temporary and is in preparation of using generic commands as is the case with ide-cd and the uniform cdrom layer (i.e. init_cdrom_command()) However, before this happens, we'll have to remove all typedefs and teach idefloppy_create_mode_sense_cmd() to work directly on u8 buffers. Also, since idefloppy_get_capability_page() was used to read only the sfrp bit, rename the latter so that the name reflects what it does. Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-02-02ide-floppy: cleanup and unify debugging macro callsBorislav Petkov1-37/+31
* some debug_log() calls were not using "ide-floppy: " prefix * a few used printk levels different than KERN_INFO (KERN_NOTICE and KERN_ERR, which is the default one if no level is given) Bart: - fix build issues for IDEFLOPPY_DEBUG_LOG set to 1 while at it - s/__FUNCTION__/__func__/ Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-02-02ide-floppy: include the proper headersBorislav Petkov1-3/+3
Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-02-02ide-floppy: disambiguate function namesBorislav Petkov1-3/+3
There were two almost identical function names in ide-floppy.c, which makes their distinction almost impossible. While ide_floppy_release() cleans up the object after the last reference to it has been dropped, idefloppy_release() is the blkdev .release method from struct block_device_operations which releases that last reference. Rename ide_floppy_release() to idefloppy_cleanup_obj() in order to make its purpose more clear. There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-02-02ide-floppy: remove unnecessary ->handler != NULL checkBorislav Petkov1-4/+3
This BUG_ON is unneeded since the ->handler != NULL check is performed in ide_set_handler(). Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-02-02ide-floppy: replace ntoh{s,l} and hton{s,l} calls with the generic byteorderBorislav Petkov1-14/+14
Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-02-02ide-floppy: convert to generic packet commandsBorislav Petkov1-32/+12
Replace the ide-floppy packet commands opcode defines with the generic ones. Add a missing GPCMD_WRITE_12 (opcode 0xaa) to the generic ones in cdrom.h. The last one can be found in the current version of INF-8090, p.905. [ Bart: Tejun's libata patch also adding GPCMD_WRITE_12 got merged first ] Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de> Cc: Jens Axboe <axboe@kernel.dk> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-02-02ide-floppy: cleanup headerBorislav Petkov1-63/+4
Move ide-floppy historical changelog to Documentation/ide/ChangeLog.ide-floppy.1996-2002 Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-02-02ide: update/add my CopyrightsBartlomiej Zolnierkiewicz1-2/+3
The last years stuff and a trip down memory lane... Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-02-02ide: delete filenames/versions from commentsBartlomiej Zolnierkiewicz1-2/+0
Delete filenames/versions from comments. I'm leaving decisions about adding DRV_VERSION defines and MODULE_VERSION()-s to maintainers of the respective drivers. While at it: * Remove unused VERSION define from ide.c. * Remove unused/stale DRV_VERSION define from au1xxx-ide.c. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-02-02ide-{floppy,tape}: remove debug code for dumping identify dataBartlomiej Zolnierkiewicz1-50/+0
IDE core supports dumping raw identify data in hdparm friendly format now so verbose identify dumping in ide-{floppy,tape}.c device drivers (done iff IDE{FLOPPY,TAPE}_DEBUG_INFO is defined to '1' and it is '0' by default) is no longer nedeed. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-01-26ide: add ide_pktcmd_tf_load() helperBartlomiej Zolnierkiewicz1-7/+2
Add ide_pktcmd_tf_load() helper and convert ATAPI device drivers to use it. There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-01-26ide-{floppy,tape,scsi}: fix register loading order when issuing packet commandBartlomiej Zolnierkiewicz1-1/+1
Load IDE_BCOUNTL_REG before IDE_BCOUNTH_REG when issuing packet command. It shouldn't affect anything (just a usual paranoia to separate changes which change the way in which hardware is accessed from code cleanups). Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-01-26ide: remove atapi_ireason_t (take 3)Bartlomiej Zolnierkiewicz1-13/+12
Remove atapi_ireason_t. While at it: * replace 'HWIF(drive)' by 'drive->hwif' (or just 'hwif' where possible) v2: * v1 had CD and IO bits reversed in many places. * Use CD and IO defines from <linux/hdreg.h>. v3: * Fix incorrect "(ireason & IO) == test_bit()". (Noticed by Sergei) Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-01-26ide: remove ata_nsector_t, ata_data_t and atapi_bcount_tBartlomiej Zolnierkiewicz1-19/+18
Remove ata_nsector_t, ata_data_t (unused) and atapi_bcount_t. While at it: * replace 'HWIF(drive)' by 'hwif' Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-01-26ide: remove atapi_feature_tBartlomiej Zolnierkiewicz1-5/+5
Remove atapi_feature_t. While at it: * replace 'HWIF(drive)' by 'hwif' Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-01-26ide: remove atapi_error_t (take 2)Bartlomiej Zolnierkiewicz1-2/+1
Remove atapi_error_t. While at it: * replace 'HWIF(drive)' by 'drive->hwif' v2: * Add {ILI,EOM,LFS}_ERR defines to <linux/hdreg.h>. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-01-26ide: remove ata_status_t and atapi_status_tBartlomiej Zolnierkiewicz1-7/+7
Remove ata_status_t (unused) and atapi_status_t. While at it: * replace 'HWIF(drive)' by 'drive->hwif' (or just 'hwif' where possible) Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-01-26ide-floppy: remove dead codeBartlomiej Zolnierkiewicz1-33/+0
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2007-10-10Fixup rq_for_each_segment() indentationJens Axboe1-18/+18
Remove one level of nesting where appropriate. Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2007-10-10Introduce rq_for_each_segment replacing rq_for_each_bioNeilBrown1-10/+6
Every usage of rq_for_each_bio wraps a usage of bio_for_each_segment, so these can be combined into rq_for_each_segment. We define "struct req_iterator" to hold the 'bio' and 'index' that are needed for the double iteration. Signed-off-by: Neil Brown <neilb@suse.de> Various compile fixes by me... Signed-off-by: Jens Axboe <jens.axboe@oracle.com>