summaryrefslogtreecommitdiff
path: root/include/linux/hdreg.h
AgeCommit message (Collapse)Author
2009-04-01remove <linux/ata.h> include from <linux/hdreg.h>Bartlomiej Zolnierkiewicz
All <linux/hdreg.h> users that need <linux/ata.h> have been fixed to include it directly. Cc: Christoph Hellwig <hch@infradead.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2009-04-01include/linux/hdreg.h: remove unused definesBartlomiej Zolnierkiewicz
* Move HD_IRQ define to drivers/block/hd.c (only user). * Remove unused *_STAT, *_ERR, HD_*, CD, IO, REL and TAG_MASK defines. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2009-04-01include/linux/hdreg.h: cover WIN_* and friends with #ifndef/#endif __KERNEL__Bartlomiej Zolnierkiewicz
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2009-04-01include/linux/hdreg.h: cover struct hd_driveid with #ifndef/#endif __KERNEL__Bartlomiej Zolnierkiewicz
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2009-03-05remove stale comment from <linux/hdreg.h>Bartlomiej Zolnierkiewicz
HDIO_GET_IDENTITY returns 256 words currently. Noticed by Norman Diamond. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-04-18ide: remove broken/dangerous HDIO_[UNREGISTER,SCAN]_HWIF ioctls (take 3)Bartlomiej Zolnierkiewicz
hdparm explicitely marks HDIO_[UNREGISTER,SCAN]_HWIF ioctls as DANGEROUS and given the number of bugs we can assume that there are no real users: * DMA has no chance of working because DMA resources are released by ide_unregister() and they are never allocated again. * Since ide_init_hwif_ports() is used for ->io_ports[] setup the ioctls don't work for almost all hosts with "non-standard" (== non ISA-like) layout of IDE taskfile registers (there is a lot of such host drivers). * ide_port_init_devices() is not called when probing IDE devices so: - drive->autotune is never set and IDE host/devices are not programmed for the correct PIO/DMA transfer modes (=> possible data corruption) - host specific I/O 32-bit and IRQ unmasking settings are not applied (=> possible data corruption) - host specific ->port_init_devs method is not called (=> no luck with ht6560b, qd65xx and opti621 host drivers) * ->rw_disk method is not preserved (=> no HPT3xxN chipsets support). * ->serialized flag is not preserved (=> possible data corruption when using icside, aec62xx (ATP850UF chipset), cmd640, cs5530, hpt366 (HPT3xxN chipsets), rz1000, sc1200, dtc2278 and ht6560b host drivers). * ->ack_intr method is not preserved (=> needed by ide-cris, buddha, gayle and macide host drivers). * ->sata_scr[] and sata_misc[] is cleared by ide_unregister() and it isn't initialized again (SiI3112 support needs them). * To issue an ioctl() there need to be at least one IDE device present in the system. * ->cable_detect method is not preserved + it is not called when probing IDE devices so cable detection is broken (however since DMA support is also broken it doesn't really matter ;-). * Some objects which may have already been freed in ide_unregister() are restored by ide_hwif_restore() (i.e. ->hwgroup). * ide_register_hw() may unregister unrelated IDE ports if free ide_hwifs[] slot cannot be found. * When IDE host drivers are modular unregistered port may be re-used by different host driver that owned it first causing subtle bugs. Since we now have a proper warm-plug support remove these ioctls, then remove no longer needed: - ide_register_hw() and ide_hwif_restore() functions - 'init_default' and 'restore' arguments of ide_unregister() - zeroeing of hwif->{dma,extra}_* fields in ide_unregister() As an added bonus IDE core code size shrinks by ~3kB (x86-32). v2: * fix ide_unregister() arguments in cleanup_module() (Andrew Morton). v3: * fix ide_unregister() arguments in palm_bk3710.c. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-02-03Spelling fixes: lenght->lengthPaulius Zaleckas
Signed-off-by: Paulius Zaleckas <pauliusz@yahoo.com> Signed-off-by: Adrian Bunk <bunk@kernel.org>
2008-02-02ide: remove ->nice0 and ->nice2 fields from ide_drive_tBartlomiej Zolnierkiewicz
* ->nice0 and ->nice2 ide_drive_t fields are always zero so remove them. * IDE_NICE_0 and IDE_NICE_2 defines from <linux/hdreg.h> are no longer used by any kernel code so cover them with #ifndef/#endif __KERNEL__. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-01-25ide: remove 'command_type' field from ide_task_tBartlomiej Zolnierkiewicz
* Add 'data_buf' and 'nsect' variables in ide_taskfile_ioctl() to cache data buffer pointer and number of sectors to transfer (this allows us to have only one ide_diag_taskfile() call). * Add IDE_TFLAG_WRITE taskfile flag and use it to check whether the REQ_RW request flag should be set. * Move ->command_type handling from ide_diag_taskfile() to ide_taskfile_ioctl() and use ->req_cmd instead of ->command_type. * Add 'nsect' parameter to ide_raw_taskfile(). * Merge ide_diag_taskfile() into ide_raw_taskfile(). * Initialize ->data_phase explicitly in idedisk_prepare_flush(), ide_start_power_step() and ide_disk_special(). * Remove no longer needed 'command_type' field from ide_task_t. * Add #ifndef/#endif __KERNEL__ to <linux/hdreg.h> around no longer used by kernel IDE_DRIVE_TASK_* and TASKFILE_* defines. 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-25ide: remove atapi_error_t (take 2)Bartlomiej Zolnierkiewicz
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-25ide: add struct ide_taskfile (take 2)Bartlomiej Zolnierkiewicz
* Don't set write-only ide_task_t.hobRegister[6] and ide_task_t.hobRegister[7] in idedisk_set_max_address_ext(). * Add struct ide_taskfile and use it in ide_task_t instead of tfRegister[] and hobRegister[]. * Remove no longer needed IDE_CONTROL_OFFSET_HOB define. * Add #ifndef/#endif __KERNEL__ around definitions of {task,hob}_struct_t. While at it: * Use ATA_LBA define for LBA bit (0x40) as suggested by Tejun Heo. v2: * Add missing newlines. (Noticed by Sergei) * Use ~ATA_LBA instead of 0xBF. (Noticed by Sergei) * Use unnamed unions for error/feature and status/command. (Suggested by Sergei). There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Cc: Tejun Heo <htejun@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-01-25ide: remove task_ioreg_t typedef (take 2)Bartlomiej Zolnierkiewicz
Remove task_ioreg_t typedef from the kernel code (but leave it in <linux/hdreg.h> for #ifndef/#endif __KERNEL__ case). While at it also move sata_ioreg_t typedef under #ifndef/#endif __KERNEL__. v2: Remove name of the second parameter from ide_execute_command() declaration. (Noticed by Sergei). Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2007-01-30[PATCH] use __u8 rather than u8 in userspace SIZE defines in hdreg.hMike Frysinger
Use __u8 rather than u8 in SIZE defines exported to userspace. Signed-off-by: Mike Frysinger <vapier@gentoo.org> Cc: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2005-11-19[PATCH] ide: remove dead code from flagged_taskfile()Bartlomiej Zolnierkiewicz
flagged_taskfile() is called from execute_drive_cmd() (the only user) only if args->tf_out_flags.all != 0. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2004-12-12[PATCH] Add missing __KERNEL__ (or other) protectionsTom Rini
As of 2.6.10-rc3, the following is needed to allow various userland packages (sysvinit, dhcp, ppp, libcap, libpcap, lilo) to compile as parts that userland needs (e.g. for ioctls) is in files with stuff userland isn't allowed to see. This adds __KERNEL__ around <linux/ata.h> and some defines (<linux/ata.h> isn't needed by userland, and is unhappy right now). sysvinit and some other packages need <linux/hdreg.h> for HDIO_DRIVE_CMD and other IOCTL things. In <linux/types.h> we were unsafely typedef'ing __le64/__be64 as __u64 only exists when __GNUC__ && !__STRICT_ANSI__ (causing libcap to fail, for example). Finally, <asm/atomic.h> provides routines userland simply cannot use on all arches, but <linux/filter.h> is needed by iputils for example. While not all arches put __KERNEL__ around their header, on MIPS including this header currently blows up the build. Signed-off-by: Tom Rini <trini@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2004-11-06[ide] (partially) unify hdreg.h & ata.hBartlomiej Zolnierkiewicz
Signed-off-by: Chris Wedgwood <cw@f00f.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2004-08-27[PATCH] ide: remove /proc/ide/hd?/settings:ide-scsi & HDIO_SET_IDE_SCSI ioctlBartlomiej Zolnierkiewicz
As noticed by Alan Cox: "It doesn't work now so it clearly isnt being used 8). We hold the lock because its a proc function and we then replace the proc functions in the attach method -> deadlock. It is also incredibly hard to fix without a major rewrite." The same is true for HDIO_SET_IDE_SCSI ioctl. Both were broken 18 months ago in 2.5.63 as a side-effect of locking fixes. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2003-08-13[PATCH] kill HDIO_GETGEO_BIG_RAW ioctlBartlomiej Zolnierkiewicz
HDIO_GETGEO_BIG_RAW is an ide specific hack introduced in 2.3.99-pre3. There are no known programs using this ioctl. Its aim was to provide current CHS translation to the user-space, but very often it provides what driver thinks is a current translation (drive with LBA have to support only one physical translation, also drive may not support chosen translation and there is no return value check). hdparm -I can be used instead, it provides correct information (and bogus data is still accessible through /proc/ide/hdX/geometry).
2003-04-07[PATCH] hdreg.h typo fixAlan Cox
2002-10-27[PATCH] IDE - Andre can't count 8)Alan Cox
2002-10-07[PATCH] compile fixesAlexander Viro
cpqarray uses disk_alloc instead of alloc_disk. Same typo is in cciss, rd.c sets ->first_minor to 0 for all units and HD_IRQ definition is needed if CONFIG_BLK_DEV_HD is defined.
2002-09-09[PATCH] hdreg command updates etcJens Axboe
Update hdreg to match 2.4 levels. o Use consistent SRV_STAT instead of SERVICE_STAT o Add sector count status bits for tcq o Add various missing commands o hd_driveid update
2002-08-16Add back in the missing 2.4-ide bits from hdreg.h These also wants aJens Axboe
bit of cleaning later.
2002-07-30[PATCH] 2.5.29 IDE 108Martin Dalecki
- typedef unsigned char byte; is finally gone. Everything using it should be just ported to u8 if I missed some place where it still gets used. - Next round of parameter parsing cleanups by Gerald Champagne. Adjusted a bit to harmonize with hd.c. - Move IDE register bitfields declarations over from hdparm.h to ide.h. - Declare constants needed by hd.c directly there. Those are standard values not subject to change and we prefer a bit of code duplication in favour of making the two drivers independant from each other. - Move everything not ioctl related away from hdreg.h to ide.h. This header is in effect not private to the ATA code and should therefore not contain stuff only usefull there.
2002-07-26[PATCH] IDE 104Martin Dalecki
- Make the bit-sliced data types in hdreg.h use the bit-slice data types instead of the generic ones. This makes clear that those are supposed to be register masks.
2002-06-02[PATCH] 2.5.19 IDE 80Martin Dalecki
- Sanitize the handling of the ioctl's and fix a bug on the way in dealing with the WIN_SMART command where arguments where exchanged. - Finally sanitize ioctl further until it turned out that we could get rid of the special request type REQ_DRIVE_CMD entierly. We are now using consistently REQ_DRIVE_ACB. One hidden code path less again! - Realize the ide_end_drive_cmd can be on the REQ_DRIVE_ACB only for ioctl() to a disk. Eliminate it's usage from device type driver modules. - Remove command member from struct hd_drive_task_hdr and place it in strcut ata_taskfile. It is not common between the normal register file and HOB. We will have to introduce some helper functions for particular command types.
2002-06-02[PATCH] [PATCH} 2.5.19 IDE 79Martin Dalecki
- Fix typo in sparc_v9 code, in ns87415, just introduced. - Eliminate unnecessary struct hd_drive_hob_hdr those are in reality precisely the same registers as usual. - Eliminate control_t, nowhere used type. - Unfold ide_init_drive_cmd() at the places where it's used. This makes obvious that REQ_DRIVE_CMD gets only used on the ioctl command path.
2002-05-28[PATCH] 2.5.18 IDE 73Martin Dalecki
- Merge ide-probe.c and ide-features.c in to one single file. They are mutually doing basically the same and in esp. in case of the device ID retrieval there *is* quite a lot of code duplication between them. ide-geometry.c fits there as well. - Remove ide_xfer_verbose - it wasn't really used. - Don't allow check_partition to be more clever then the writer of a driver. It was interfering with drivers which check partitions as they go and finally if we want to spew something about it - we can do it ourself. - Eliminate ide_geninit(). We scan for partitions now inside the recently introduced attach method. register_disk() is broken by the way and 90% of places where it's used it is doing literally nothing. Either some one didn't finish some code or the code is basically just junk from the past. Anyway we grok the partitions now one by one as we detect the channels. - ide_driveid_update is gone. We don't report the drive id through /proc/ide and we don't have to update it any longer on the fly. Still someone out there complaining that it went away!? - Use the global driver spin-lock to protect data structure access in the ide_register_subdriver() function instead of blatantly disabling all interrupts.
2002-05-09[PATCH] 2.5.14 IDE 59Martin Dalecki
Basically PCI driver handling reorganization. This is one step further ahead toward the goal of fully modularized host chip drivers. - Adjust ide-scsi to the new error handling. Just don't try any device resets there. - Add unmasking of IRQ per default to the PMac PCI code. - Split up the crap table from ide-pci. Let the corresponding drivers do registration of the functions they provide. This small change makes this patch rather big. - Hard-code the number of ports requested for DMA engines. They are always precisely 8 on PCs. If you hove something different to deal with, well then please just provide your own init_dma method. - Remove the HDIO_GETGEO_BIG ioctl. Patch by Andries Brouwer. Applies unmodified. - Make ON_BOARD be equal 0, so we can spare ourself some typing in structure initialization. - Normalize the terminology in the host chip drivers. It will make spotting the tons of common code found there later easier.
2002-05-05[PATCH] 2.5.14 IDE 55Martin Dalecki
- Update HPT374 driver carried over from 2.4.xx series by Andrew Morton. Resync it with the recent host chip driver changes, or better the introduction of an API at all. - Consolidate the handling of device ID byte order in one place. This was spotted and patched by Bartomiej onierkiewicz. - Eliminate CONFIG_BLK_DEV_IDEPCI - it's duplicating the functionality of the already present and fine CONFIG_PCI flag and if we are a PCI host, we are indeed very likely to need host chip support anyway. - Remove some redundant info about the model and channel number from /proc/ide. Remove the binary entries not helpful to the user, and not used by any program and redundant to corresponding ioctls. - Properly return udma_read and udma_write values in taskfile. - Only initialize XXX_udma to the default handlers if it has not been initialized by the host chip initialization. I have enabled spin lock debugging and can see that on device flush the spin locks get wrong counts... no problems elsewher ethus far. I will re check them next time around.
2002-04-29[PATCH] 2.5.11 IDE 48Martin Dalecki
Tue Apr 30 13:23:13 CEST 2002 ide-clean-48 This fixes the "performance" degradation partially, becouse we don't miss that many jiffies in choose_urgent_device() anymore. However choose_urgent_device has to be fixed for the off by one error to don't loop for a whole 1/100 second before submitting the next request. - Include small declaration bits for Jens. (WIN_NOP fix in esp.) - Fix ide-pmac to conform to the recent API changes. - Prepare and improve the handling of the request queue. It sucks now as many request as possible. This is improving the performance.
2002-04-25[PATCH] 2.5.10 IDE 42Martin Dalecki
- Streamline the usage of sector_t over the strategy routines in question a bit. Streamline the do_request code in ide-disk.c. - Improve the readability of start_request in ide.c. - Remove obsolete/nowhere used stuff from hdreg.h. - Splitup special_t into classical flag field. - Use only a single field to determine the capacity of a drive. Make this field and the code paths it follows as far as possible use the sector_t instead of a hard coded integer types. This increases the chances that at some distant point in time we will indeed be able to use 64 bit wide sector_t entities. (Disks are getting huge those times now...)
2002-04-24[PATCH] 2.5.10 IDE 41Martin Dalecki
- Revoke the TCQ stuff. Well having it for some time showed just nicely what has to be done before it can be included cleanly. But it's just not ready yet. For more explanations please simply track the usage of the special field of struct request - *both* in the generic request handling code and in overall driver code.
2002-04-17[PATCH] 2.5.8 IDE 38Martin Dalecki
- Fix typo in ide_cmd_ioctl(). - Fix typo in cris driver. - Don't retry operations on medium errors. (pointed out by Eric Andersen). - Attach the no_io_32bit, io_32bit, no_unmask, unmask and slow fields to the ata_channel instead of the ata_device structure. They are a property of the channel and not just the devices attached to it. This allowed us to fix the set_io_32bit function by removing the CONFIG_BLK_DEV_DTC2278 conditional. In fact initialization shows that this is fixing many other host chipsets as well since all of them did expect sometimes particular values for those parameters in paralell on both drives attached to a channel but we where allowed to apply different values on a per drive basis. - The keep_settings flag is now unconditional and we don't mess with any channel parameters before drive reset. Some chipsets really really expect unconditionally that the tweaks they apply are always present and this wasn't honoured thus far! We are expecting the user to have good reasons for manually tweaking the settings. - Don't reset io_32bit in ata_pre_reset() unconditionally. There are chipsets out there which expect io_32bit to be *allways* enabled! - Remove many obsolete and nawadays just confusing documentation from ide.txt
2002-04-09[PATCH] 2.5.8-pre3 IDE 31Martin Dalecki
- Integrate the TCQ stuff from Jens Axboe. Deal with the conflicts, apply some cosmetic changes. We are still not at a stage where we could immediately integrate ata_request and ata_taskfile but we are no longer far away. - Clean up the data transfer function in ide-disk to use ata_request structures directly. - Kill useless leading version information in ide-disk.c - Replace the ATA_AR_INIT macro with inline ata_ar_init() function. - Replace IDE_CLEAR_TAG with ata_clear_tag(). - Replace IDE_SET_TAG with ata_set_tag(). - Kill georgeous ide_dmafunc_verbose(). - Fix typo in ide_enable_queued() (ide-tcq.c!) Apparently there still problems with a TCQ enabled device and a not enabled device on the same channel, but let's first synchronize up with Jens.
2002-04-01[PATCH] 2.5.7 IDE 27Martin Dalecki
- Make for less terse error messages in ide-tape.c. - Replaced all timecomparisions done by hand with all the proper timer_after() commands. - Remove the drive niec1 mechanisms alltogether. There are several reasons for this: 1. The code implementing it is nonintelliglible and therefore propably broken. 2. If we have to invent somethig about sceduling drive IO, it should be done on the BIO level. 3. We may in fact interleave with the IO sceduling on the upper layers and the results of two overlapping signal filters overlapped with each other can be disasterous to the overall throughput. (In fact they *are* most of the time.) 4. It was not working if you had intermixed modes on different drives DMA versus PIO. 5. Our goal is to have a driver which is able to share the badwidth properly and shouldn't needing this kind of "tuning". - Remove unused nice2 from disk struct. - Rename channel member of ata_channel to unit and device to dev to just prevent wrong interpretations. This prevents constructs like channel->channel...
2002-04-01[PATCH] 2.5.7 IDE 25Martin Dalecki
- Replace the task_io_reg_t with the simple u8. There is no need to obfuscate the code more then necessary. - kill some unnecessary type definitions out from hdreg.h. - Add proper attributes to register files in hdreg.h. - Don't use raw arrays for tfRegister and hobRegister in ide_task_s. Use out nice global structures describing the fields in them. This allows to kill the following defines: IDE_DATA_OFFSET IDE_FEATURE_OFFSET IDE_NSECTOR_OFFSET IDE_SECTOR_OFFSET IDE_LCYL_OFFSET IDE_HCYL_OFFSET IDE_SELECT_OFFSET IDE_COMMAND_OFFSET and many many others. - Please have a look at the following in pdc4030.c. It couldn't have worked! This has been fixed in one go with the above change: memcpy(args.hobRegister, NULL, sizeof(struct hd_drive_hob_hdr)); - Kill the redundant *_REG_HOB definitions. They don't help readability in any way.
2002-03-12[PATCH] IDE 21Martin Dalecki
If I was to give this patch a name it would be: "Vojtech Pavlik unleashed from the chains". So credit where credit is due :-). Anyway here follows the change log: Mon Mar 11 23:48:28 CET 2002 ide-clean-21 - Swallow rewritten amd74xx host chip setup code from Vojtech Pavlik. We can revert it easly if it turns out to be a bad thing. However the code looks quite sane to me. In esp. it doesn't containg that many magic numbers. - Clean stale white spaces in ide-timing.h tirvial fix. - Make ide_release_dma return void. It's value is never used anyway. - Swallow more timing setup code cleanup by Vojtech Pavlik. Apply some cosmetics to it. Port opti621 to the new setup code. - Kill abuse of ide_do_reset() on error return paths for atapi floppy tape and cd-rom devices. Just stop them. This gives better changes that defect removable media will not cause suddenly broken timings on hard discs containing system data! Even then comments in ide_do_reset() admit, that resetting the whole channel can have adverse effects on the second interface on this channel. And I have too frequently observed linux struggling on defect cd-rom for a far too long time to wish it to continue. Oh did I forget to say that the corresponding "how can I break my system fast and reliable" ioctl is gone as well? Removing it recovered the fact that the CONFIG_BLK_DEV_IDEDMA_TIMEOUT is completely bogous. I have removed this option therefore as well, because it's playing the same wrack havoc on the devices if enabled. This cat has been in an unfinished and *unfunctional* state anyway. - Actually add physical suspend code to the power handling code. Still the resume code isn't finished just jet. This is all subject to change at the point in time when we get to proper command queueing. I think however that Pavel will be interrested in tidding this bit up... - Resync with 2.5.7-pre1.
2002-03-10[PATCH] 2.5.6 IDE 18Martin Dalecki
No fixes for new problems which occured since today, just syncup. - Remove help text about suitable compiler versions, which is obsoleted by the overall kernel reality. - Remove traces of not progressing work in progress code for the CONFIG_BLK_DEV_ADMA option as well as the empty ide-adma.c file as well as CONFIG_BLK_DEV_IDEDMA_TCQ. - Remove redundant CONFIG_BLK_DEV_IDE != n check in ide/Config.in. Hugh, this is a tricky one... - Add EXPORT_SYMBOL(ide_fops) again, since it's used in ide-cd.c add a note there that this is actually possibly adding the same device twice to the devfs stuff. - Finally change the MAINTAINER entry. Just too many persons bogged me about it and it doesn't take me too much time apparently. - Apply sis.patch.20020304_1. - Don't call ide_release_dma twice in cleanup_ata, since ide_unregister is already calling it for us. Change prototype of ide_unregister to take a hwif as parameter and disable an ioctl for removing/scanning hwif from the list of handled interfaces. I see no reasons for having it and doing it is the fastest DOS attack on my home system I know about it. Contrary to the comments found here and there, hdparm doesn't use it. There are better hot plugging interfaces coming to the kernel right now anyway. - Wrap invalidate_drives in ide_unregister under the ide_lock instead of disabling and enabling interrupts during this operation. There are plenty of other places where the IDE drivers are enabling and disabling interrupts just to protect some data structures. - Don't call destroy_proc_ide_drives(hwif) for every single drive out there.This routine takes a hwif as a parameter. - Resync with the instable 2.5.6...
2002-03-06[PATCH] IDE 17 (not just cleanup)Martin Dalecki
This is actually an attempt to remove some stall code from this driver. However if some *real* users complain (Not just the usuall: "Hey - if someone!" but the "Hey I'm using this!") I'm all open to reenable it. Since I prepared this patch yerstoday it doesn't contain the ide_module.h fixup. This will follow later. - Don't use the convoluted byte type in ide-pci.c. Just use the proper u8instead. - Move ide_get_or_set_dma_base to the only place where it's used and reorganize the code there by killing the unnecessary CONFIG_BLK_DEV_IDEDMA_FORCED configuration option. - Remove unfunctional CONFIG_PKT_TASK_IOCTL code. - Kill unused ALTSTAT_SCREW_UP code. - Tons of dead code removed from ide-taskfile.c (#if 0 #endif and friends) - Remove unused IDE_DEBUG macro as well as lots of other name space pollution from ide.h. - Start using the ide_lock spin-lock for protecting access to data structures instead of the excessive interrupt disabling games. - Shorten the proc ouput of the piix initialization module. - Remove special /proc tape "name" output from ide-tape.c. This was redundant data which should only show up on syslog anyway. - Kill the REALLY_FAST_IO undef from the ide.h. This was a mistake present since far too many years in this driver. The proper way to deal with broken systems is to define REALLY_SLOW_IO in system dependent headers or particular driver files. We can always reintroduce it easy if real users will complain, since OUT_BYTE() and similar can be used as hooks. But I don't expect anybody reporting about this. Even on the most broken IDE chip in the world (cmd640 at VLB) undefining this *always* worked for me. Nearly all the code pieces in the ide driver code *reverted* it's effects explicitly anyway. - Remove the obsolete CONFIG_BLK_DEV_4DRIVES support. This was supposed to support 4 drivers attached at one channel on some older chipsets, in esp. Tekram 690CD, in the last century. They where all supposed to work at a register set starting at the base address 0x1f0. Before complaining that this is removing functionality, please note that this must have been broken for already quite a long time, since the ide driver didn't contain the special device selection methods implicated by this any longer. It didn't scan this port too if PCI host chip support was enabled (as it is in all those distributions around there). On the other hand this is the most prominent case of incoherent use of the mate member in the struct hwif_s. And please think about how big the probability is, that there are systems out there, where there are actually 4 drivers on such a channel? - Streamline module initialization code by removing one shoot functions. - Make the WAIT_READY value used in case of CONFIG_APM or CONFIG_APM_MODULE the default, since this is what really reflects the behavior of modern drives. It won't hurt any other case and finally removing it is reducing the necessary coverage for overall driver code testing/analysis. - Move the IDE_LARGE_SEEK macro to the only place where it's actually used. Replace the IDE_MIN() and IDE_MAX() drivers with the obvious. Remove unused SPLIT_WORD and MAKE WORD from the local header. - Remove CMD640_DUMP_REGS from global scope, since there is no development done on this any longer. Finally, the way the host chip initialization routines are called changed in the time between allows this to remain fully local to the host chip driver in question. - Some spell checking of comments in the code. (Yeep I have extended my Vim to do this the "Word" way with nice undercurl lines... mozilla remains to be fixed...)
2002-02-05v2.5.2 -> v2.5.2.1Linus Torvalds
- Al Viro: fix up silly problem in swapfile filp cleanups in 2.5.2 - Tachino Nobuhiro: fix another error return for swapfile filp code - Robert Love: merge some of Ingo's scheduler fixes - David Miller: networking, sparc and some scsi driver fixes - Tim Waugh: parport update - OGAWA Hirofumi: fatfs cleanups and bugfixes - Roland Dreier: fix vsscanf buglets. - Ben LaHaise: include file cleanup - Andre Hedrick: IDE taskfile update
2002-02-04v2.4.6 -> v2.4.6.1Linus Torvalds
- merge with Alan (irda, s390, mips64, chris, sk98lin, mips/mm) - rth: fix alpha RTC calibration - Paul Mackerras: fix PPC typo
2002-02-04Import changesetLinus Torvalds