summaryrefslogtreecommitdiffstats
path: root/drivers/ide/ide-cd.c
Commit message (Collapse)AuthorAgeFilesLines
* ide-cd: move the remaining cdrom.c ioctl handling code to ide-cd_ioctl.cBorislav Petkov2008-02-011-216/+1
| | | | | | | There should be no functional changes from this. Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: update driver version, comments and copyrightsBartlomiej Zolnierkiewicz2008-02-011-13/+4
| | | | | | | | | | | * Bump driver version. * Remove filename and stale TODO from comments. * Add my copyrights. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: unify request end exit path in cdrom_decode_status()Bartlomiej Zolnierkiewicz2008-02-011-26/+24
| | | | | | There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: merge cdrom_write_check_ireason() and cdrom_read_check_ireason()Bartlomiej Zolnierkiewicz2008-02-011-49/+15
| | | | | | | | | | Add 'rw' parameter to cdrom_read_check_ireason(), make it handle both read and write checking, rename it to ide_cd_check_ireason(), finally remove no longer needed cdrom_write_check_ireason(). There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: merge cdrom_rw_intr() and cdrom_newpc_intr()Bartlomiej Zolnierkiewicz2008-02-011-178/+94
| | | | | | | | | Add handling of fs read/write requests to cdrom_nepwc_intr() and remove no longer needed cdrom_rw_intr(). There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: call blk_dump_rq_flags() on "missing data" in cdrom_rw_intr()Bartlomiej Zolnierkiewicz2008-02-011-1/+3
| | | | | Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: prepare cdrom_rw_intr() and cdrom_newpc_intr() to be mergedBartlomiej Zolnierkiewicz2008-02-011-21/+26
| | | | | | | | | | | | | | | | | | In cdrom_newpc_intr(): * cleanup variables in the 'transfer data' loop In cdrom_rw_intr(): * rename 'sectors_to_transfer' to 'thislen' * rename 'this_transfer' to 'blen' * keep number of bytes (instead of sectors) in 'thislen' and 'blen' * call 'xferfunc' only once for 'blen' * cache 'rq->buffer' in 'ptr' variable * check for 'rq->bio' before setting 'ptr' and 'blen' * check for 'ptr' instead of 'rq->current_nr_sectors' There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: unify moving to the next buffer in cdrom_rw_intr()Bartlomiej Zolnierkiewicz2008-02-011-8/+1
| | | | | | | | | Use the fact that for the first loop rq->current_nr_sectors is always set and unify moving to the next buffer for read/write requests. There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: merge cdrom_start_read() and cdrom_start_write()Bartlomiej Zolnierkiewicz2008-02-011-61/+40
| | | | | | | | | Add handling of read requests to cdrom_start_write(), rename it to cdrom_start_rw() and remove no longer needed cdrom_start_read(). There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: merge cdrom_start_read_continuation() and cdrom_start_rw_cont()Bartlomiej Zolnierkiewicz2008-02-011-39/+35
| | | | | | | | | | | | * Add handling of write requests to cdrom_start_read_continuation(), rename it to cdrom_start_rw_cont() and remove no longer needed cdrom_start_write_cont(). * Remove redundant '(rq->sector & (sectors_per_frame - 1)' check. There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: merge cdrom_read_intr() and cdrom_write_intr()Bartlomiej Zolnierkiewicz2008-02-011-138/+69
| | | | | | | | | Add handling of read requests to cdrom_write_intr(), rename it to cdrom_rw_intr() and remove no longer needed cdrom_read_intr(). There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: factor out transfer size checking from cdrom_read_intr()Bartlomiej Zolnierkiewicz2008-02-011-12/+26
| | | | | | This is a preparation for cdrom_read_intr() and cdrom_write_intr() merge. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: add ide_cd_drain_data() helperBartlomiej Zolnierkiewicz2008-02-011-13/+15
| | | | | | | | | Add ide_cd_drain_data() and use it in cdrom_{buffer_sectors,read_intr}() (as a nice side-effect this cuts 0.5kB of code from ide-cd.o). There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: merge cdrom_do_packet_command() and cdrom_do_block_pc()Bartlomiej Zolnierkiewicz2008-02-011-20/+5
| | | | | | | | | Add REQ_TYPE_{SENSE,ATA_PC} requests handling to cdrom_do_block_pc() and remove cdrom_do_packet_command(). There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: remove cdrom_do_pc_continuation()Bartlomiej Zolnierkiewicz2008-02-011-13/+2
| | | | | | | cdrom_do_pc_continuation() is now identical to cdrom_do_newpc_cont() so just always use the latter function. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: merge cdrom_pc_intr() and cdrom_newpc_intr()Bartlomiej Zolnierkiewicz2008-02-011-113/+58
| | | | | | | | | | Add handling of REQ_TYPE_{SENSE,ATA_PC} requests to cdrom_newpc_intr() (please note that these requests never have 'bio' attached to them and they never use DMA), then remove no longer needed cdrom_pc_intr(). There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: unify request end exit path in cdrom_pc_intr()Bartlomiej Zolnierkiewicz2008-02-011-12/+11
| | | | | | This is a preparation for cdrom_pc_intr() and cdrom_newpc_intr() merge. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: factor out request sense fixup from cdrom_pc_intr()Bartlomiej Zolnierkiewicz2008-02-011-10/+15
| | | | | | This is a preparation for cdrom_pc_intr() and cdrom_newpc_intr() merge. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: call blk_dump_rq_flags() on "missing data" in cdrom_newpc_intr()Bartlomiej Zolnierkiewicz2008-02-011-1/+5
| | | | | Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: remove BUG_ON() from cdrom_newpc_intr()Bartlomiej Zolnierkiewicz2008-02-011-2/+0
| | | | | | | There is no need for it anylonger and ide_set_handler() complains if ->handler is not NULL anyway. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: move code handling cdrom.c IOCTLs to ide-cd_ioctl.cBartlomiej Zolnierkiewicz2008-02-011-264/+7
| | | | | | There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: rename cdrom_* functions to ide_cd_*Bartlomiej Zolnierkiewicz2008-02-011-39/+44
| | | | | | | | | | | | * cdrom_prepare_request() -> ide_cd_init_rq() * cdrom_queue_packet_command() -> ide_cd_queue_pc() * cdrom_lockdoor() -> ide_cd_lockdoor() * cdrom_read_toc() -> ide_cd_read_toc() * cdrom_get_toc_entry() -> ide_cd_get_toc_entry() This is a preparation to move code handling cdrom.c IOCTLs out of ide-cd.c. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: coding style fixes for cdrom_get_toc_entry()Bartlomiej Zolnierkiewicz2008-02-011-3/+5
| | | | | | | This is a preparation to move code handling cdrom.c IOCTLs out of ide-cd.c. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: move lba_to_msf() and msf_to_lba() to <linux/cdrom.h>Bartlomiej Zolnierkiewicz2008-02-011-18/+0
| | | | | | | | | | * Move lba_to_msf() and msf_to_lba() to <linux/cdrom.h> (use 'u8' type instead of 'byte' while at it). * Remove msf_to_lba() copy from drivers/cdrom/cdrom.c. Acked-by: Jens Axboe <jens.axboe@oracle.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: merge cdrom_select_speed() into ide_cdrom_select_speed()Bartlomiej Zolnierkiewicz2008-02-011-37/+29
| | | | Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: merge cdrom_read_subchannel() into ide_cdrom_get_mcn()Bartlomiej Zolnierkiewicz2008-02-011-32/+21
| | | | Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: merge cdrom_play_audio() into ide_cd_fake_play_trkind()Bartlomiej Zolnierkiewicz2008-02-011-16/+10
| | | | Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: factor out ioctl handlers from ide_cdrom_audio_ioctl()Bartlomiej Zolnierkiewicz2008-02-011-67/+75
| | | | Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: move VERBOSE_IDE_CD_ERRORS code to ide-cd_verbose.cBartlomiej Zolnierkiewicz2008-02-011-122/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Rename ide-cd kernel module to ide-cd_mod in preparation to moving code out from ide-cd.[c,h]. Add MODULE_ALIAS("ide-cd") to preserve compatibility. * Move VERBOSE_IDE_CD_ERRORS code from ide-cd.[c,h] to ide-cd_verbose.c. ide-cd_verbose.c is IDE subsystem independent and may be easily converted into generic library usable by other drivers (i.e. libata) if needed. * Add CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS config option to drivers/ide/Kconfig replacing VERBOSE_IDE_CD_ERRORS define. Make this config option enabled by default and visible only if CONFIG_EMBEDDED is defined. before the patch: text data bss dec hex filename 22841 360 1056 24257 5ec1 drivers/ide/ide-cd.o after the patch w/ CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y: text data bss dec hex filename 22857 360 1056 24273 5ed1 drivers/ide/ide-cd_mod.o after the patch w/ CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=n: text data bss dec hex filename 15091 360 1056 16507 407b drivers/ide/ide-cd_mod.o Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: coding style fixes for VERBOSE_IDE_CD_ERRORS codeBartlomiej Zolnierkiewicz2008-02-011-32/+33
| | | | | | | | | | * Coding style fixes for VERBOSE_IDE_CD_ERRORS code. * Add KERN_{ERR,CONT} printk() levels where needed. This is a preparation for moving this code out of ide-cd.[c,h]. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: re-organize handling of quirky devicesBartlomiej Zolnierkiewicz2008-02-011-63/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Re-organize handling of quirky devices: * Add struct cd_list_entry, ide_cd_quirks_list[] and ide_cd_flags() helper. * Set flags returned by ide_cd_flags() in ide_cdrom_setup(). * Add IDE_CD_FLAG_VERTOS_{300_SDD,600_ESD} and IDE_CD_FLAG_SANYO_3CD flags. * Move device quirks from ide_cdrom_setup() to ide_cd_quirks_list[]. * Rename IDE_CD_FLAG_NEC260 to IDE_CD_FLAG_PRE_ATAPI12 and handle quirky Stingray 8X CD-ROM using ide_cd_quirks_list[]. * Add IDE_CD_FLAG_FULL_CAPS_PAGE flag and handle quirky ACER 50X CD-ROM / WPI 32X CD-ROM using ide_cd_quirk_list[]. * Add IDE_CD_FLAG_PLAY_AUDIO_OK flag and handle quirky MATSHITA DVD-ROMs using ide_cd_quirks_list[]. * Add IDE_CD_FLAG_LE_SPEED_FIELDS flag and handle quirky ACER/AOpen 24X CD-ROM using ide_cd_quirk_list[]. * Fix some comments about quirky devices while at it. There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: use BCD2BIN()/BIN2BCD() macros from <linux/bcd.h>Bartlomiej Zolnierkiewicz2008-02-011-23/+11
| | | | | | | Use BCD2BIN()/BIN2BCD() macros from <linux/bcd.h> and remove the local bcd2bin()/bin2bcd() inlines. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: remove STANDARD_ATAPI defineBartlomiej Zolnierkiewicz2008-02-011-33/+10
| | | | | | Remove STANDARD_ATAPI define + drive-by coding style fixes. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: remove NO_DOOR_LOCKING defineBartlomiej Zolnierkiewicz2008-02-011-3/+0
| | | | | Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: remove struct ide_cd_{config,state}_flagsBartlomiej Zolnierkiewicz2008-02-011-51/+55
| | | | | | | | | | | | | | | | | * Remove unused ->{writing,reserved} fields from struct ide_cd_config_flags. * Move ->max_speed from struct ide_cd_config_flags to struct cdrom_info. * Move ->current_speed from struct ide_cd_state_flags to struct cdrom_info. * Add defines for config and state flags. * Add 'unsigned int cd_flags' to struct cdrom_info and use ->cd_flags instead of ->{config,state}_flags. * Remove no longer needed struct ide_cd_{config,state}_flags. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: remove struct atapi_capabilities_page (take 2)Bartlomiej Zolnierkiewicz2008-02-011-29/+33
| | | | | | | | | | | | | * Remove struct atapi_capabilities_page. * Add ATAPI_CAPABILITIES_PAGE[_PAD]_SIZE define. v2: * The buf[] array access indexes were swapped between 'curspeed'/'maxspeed'. (Noticed by Borislav Petkov). Cc: Borislav Petkov <bbpetkov@yahoo.de> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: kill CDROM_STATE_FLAGS() macroBartlomiej Zolnierkiewicz2008-02-011-20/+24
| | | | | | While at it rename 'info' variable to 'cd' in cdrom_saw_media_change(). Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: kill CDROM_CONFIG_FLAGS() macroBartlomiej Zolnierkiewicz2008-02-011-46/+50
| | | | | | | While at it rename 'info' variable to 'cd' in ide_cdrom_probe_capabilities() and ide_cdrom_setup(). Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: remove redundant config flagsBartlomiej Zolnierkiewicz2008-02-011-60/+38
| | | | | | | | | * Use CDC_* flags directly and remove redundant flags from ->config_flags. While at it: * Add KERN_CONT to printk()-s in ide_cdrom_probe_capabilities(). Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: add IDE_CD_CAPABILITIES defineBartlomiej Zolnierkiewicz2008-02-011-12/+7
| | | | | | While at it remove stale/incorrect comment. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: cleanup ide_cdrom_update_speed()Bartlomiej Zolnierkiewicz2008-02-011-8/+9
| | | | | Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: remove struct atapi_{mechstat_header,changer_info,slot}Bartlomiej Zolnierkiewicz2008-02-011-1/+0
| | | | | | | | | * Remove ->changer_info from struct cdrom_info (it is never allocated). * Remove unused struct atapi_{mechstat_header,changer_info,slot}. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: remove unused and write-only struct ide_cd_config_flags fieldsBartlomiej Zolnierkiewicz2008-02-011-16/+2
| | | | | | | | | | | | | | | unused fields: * ->writing * ->reserved write-only fields: * ->playmsf_as_bcd * ->subchan_as_bcd * ->test_write * ->supp_disc_present Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: remove needless zeroing of 'info' fields from ide_cdrom_setup()Bartlomiej Zolnierkiewicz2008-02-011-37/+7
| | | | | | | | | | | ide_cd_probe() zeroes 'info' prior to calling ide_cdrom_setup() so there is no need to explicitly zero 'info' fields in the latter function. Ditto for fields of CDROM_STATE_FLAGS(), CDROM_CONFIG_FLAGS() and 'cdi' (all are embedded in 'info'). Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: remove dead code from cdrom_pc_intr()Bartlomiej Zolnierkiewicz2008-02-011-7/+0
| | | | | Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: remove stale cdrom_transfer_packet_command() commentBartlomiej Zolnierkiewicz2008-02-011-4/+0
| | | | | Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: move historical changelog to ↵Bartlomiej Zolnierkiewicz2008-02-011-270/+4
| | | | | | Documentation/ide/ChangeLog.ide-cd.1994-2004 Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: fix trailing whitespaces in changelogBartlomiej Zolnierkiewicz2008-02-011-12/+11
| | | | | Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: fix DMA error handling in cdrom_newpc_intr()Bartlomiej Zolnierkiewicz2008-02-011-4/+6
| | | | | | | | | | | | Make cdrom_newpc_intr() match cdrom_{read,write}_intr() w.r.t. handling DMA errors: * disable DMA before cdrom_decode_status() call * log the device name and the type of the request (read/write) Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: fix "missing data" handling in cdrom_pc_intr()Bartlomiej Zolnierkiewicz2008-02-011-3/+4
| | | | | | | | If drive still wants to transfer the data we need to pad the transfer instead of just finishing the request. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
OpenPOWER on IntegriCloud