An error occurred fetching the project authors.
- 19 Sep, 2002 1 commit
-
-
David S. Miller authored
-
- 11 Sep, 2002 1 commit
-
-
Jens Axboe authored
o remove low level driver ifdef mess o allow "host" to register into proc list instead
-
- 28 Aug, 2002 1 commit
-
-
Alexander Viro authored
instead of messing with ide_module_t, we put ide_driver_t themselves on a (cyclic) list - said list being the only use of ide_module_t for high-level drivers. ide_register_module()/ide_unregister_module() takes ide_driver_t now (renamed to ide_register_driver()). /proc/ide/drivers switched to use of that cyclic list and uses seq_file instead of old home-grown code.
-
- 16 Aug, 2002 1 commit
-
-
Jens Axboe authored
-
- 07 May, 2002 1 commit
-
-
Martin Dalecki authored
Nuke /proc/ide. For explanations why, please see the frustrated comments in the previous change log. If one still don't see why it wasn't a good thing, well please just take a look at the following: Kernel size before: text data bss dec hex filename 1716049 403968 470252 2590269 27863d vmlinux Kernel size after: text data bss dec hex filename 1680993 403488 470124 2554605 26faed vmlinux 2% of overall size! And this is not exactly an minimalistic setup.
-
- 06 May, 2002 1 commit
-
-
Martin Dalecki authored
- 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.
-
- 26 Apr, 2002 1 commit
-
-
Martin Dalecki authored
- 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...)
-
- 16 Apr, 2002 1 commit
-
-
Martin Dalecki authored
- Consolidate ide_choose_drive() and choose_drive() in to one function. - Remove sector data byteswpapping support. Byte-swapping the data is supported on the file-system level where applicable. Byte-swapped interfaces are supported on a lower level anyway. And finally it was used inconsistently. - Eliminate taskfile_input_data() and taskfile_output_data(). This allowed us to split up ideproc and eliminate the ugly action switch as well as the corresponding defines. - Remove tons of unnecessary typedefs from ide.h - Prepate the PIO read write code for soon overhaul. - Misc small bits here and there :-).
-
- 12 Apr, 2002 1 commit
-
-
Martin Dalecki authored
- Don't provide symbolic links in /proc/ide - they are redundant data. - Try to use a more reasonable default capacity value in ata_capacity(). - Fix ata_put() ata_get() usage in ide_check_media_change(). - Small readability fixes to the option parsing code. - Apply Vojtech Pavliks /proc PIIX output fix. - Replace all occurrences of ide_wait_taskfile() with ide_raw_taskfile(). One duplicated code path fewer.
-
- 09 Apr, 2002 1 commit
-
-
Martin Dalecki authored
- Eliminate the mate member of the ata_channel structure. The information provided by it is already present. This patch may have undesirable effects on the ns87415.c and trm290.c host chip drivers, but it's worth for structural reasons to have it. - Kill unused code, which was "fixing" interrupt routing from ide-pci.c Don't pass any "mate" between the functions there. - Don't define SUPPORT_VLB_SYNC unconditionally in ide-taskfile.c - Apply Vojtech Pavliks fix for piix host-chip driver crashes. - Add linux/types.h to ide-pnp.c. - Apply latest sis5513 host chip driver patch from by Lionel Bouton by hand. - Apply patch by Paul Macerras for power-mac. - Try to make the ns87415 driver a bit more reentrant.
-
- 02 Apr, 2002 2 commits
-
-
Martin Dalecki authored
- 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...
-
Martin Dalecki authored
- Mark all members of structures, which get jiffies assigned or involved in ugly timeout calculations with the prefix PADAM_ for easy spotting. This is Polish for "I'm falling down" or "This brings me to the knees" or slag comment for "What a sh..". Please be assured that it doesn't sound vulgar. Please grep for it to see immediately why this nomenclature is justified. - Rename hwifs_s to ata_channel and eliminate ide_hwifs_t as well as the HWIF macro. OK this step makes this patch rather big.
-
- 18 Mar, 2002 1 commit
-
-
Martin Dalecki authored
- Apply more patches from Vojtech Pavlik for the handling of host chip setup. Hopefully they are settled now. - Kill unused CONFIG_BLK_DEV_MODES - Push register addressing down in to task_vlb_sync. - Make the taskfile parsing stuff actually readable. This is compressing the code by an incredible amount. We use just one function doing the whole scanning right now. This should make sure that the IRQ handler used by a particular command is always right. I didn't introduce typos hopefully here. - Don't call ide_handler_parser as argument for do_taskfile() any longer. We have killed this function by coalescing it's functionality with ide_cmd_type_parser() anyway. - Kill unused SLC90E66 code, which Vojtech apparently missed in his patch. - sync up with 2.5.7-pre2 Once again the actual patch is rather big mostly due to the removal of some default configuration variables which are not used anylonger. So time for the next patch stage.
-
- 06 Mar, 2002 1 commit
-
-
Martin Dalecki authored
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...)
-
- 05 Mar, 2002 1 commit
-
-
Martin Dalecki authored
There is no such a thing like a ide-clean-15. Never was. But here comes what has been done in ide-clean-16: - Apply a patch for the initialization of the second PIIX channel. Found by Daniel Quinlan <quinlan@transmeta.com> - Apply a patch for the DMA initialization of the serverworks chip. Ken Brownfield <brownfld@irridia.com> - Make the ata_operations methods immune against device type drivers, which donot provide them by separating the access to them out. Audit them all. - Resynchronize with 2.5.6-pre1. - Remove unused IDE_DRIVE_CMD, IDE_DRIVE_TASK, IDE_DRIVE_TASK_MASK, IDE_DRIVE_TASKFILE macros. - Disable configuration of the task file stuff. It is going to go away and will be replaced by a truly abstract interface based on functionality and *not* direct mess-up of hardware. - Resync with 2.5.6-pre2. - Add HPT entries to the fall-back list, since otherwise the driver won'trecognize the drives. We will have to make this the default behavior for allnot recognized host chip types. - Fix compilation with no PCI host chip support enabled. - Apply the overflow fixes for HPT366 by Vojtech Pavlik. - Kill the one-shoot functions ide_wait_cmd_taks() ide_wait_cmd() by moving them to the places where they are actually used. Fix a potential buffer overflow on the way. - Fix usage of ide.c as module. Thanks to Adam J. Richter for figuring out what was wrong. - Various cleanups all along as well as removal of TONS of unfinished/dead code. I think it's sometimes better to remove stuff, which isn't there, instead of hoping for a "magical day" where it will be finished.
-
- 28 Feb, 2002 3 commits
-
-
Martin Dalecki authored
Most importantly this patch is making ide.c use the new automagic for module initialization lists and further preparing the rest of the code in question here for proper module separation. Despite this the CMOS probe has been removed as well... *Iff*, which I don't expect, this breaks anything it can be reintroduced easely. During this effort an actual bug in the initialization of the main module has been uncovered as well. a quite serious BUG has been tagged in ide-scsi.c as well, but as far as now I just didn't get along to actually fixing it. (The patch is big enough as it is). Details follow: - Kill *unused* ide_media_verbose() funciton. - Remove the unnecessary media and supports_dma fields from ide_driver_t. - Remove the global name field from ide_driver_t struct by pushing it down to the places where it's actually used. - Remove the unused hwif_data field from ide_hwif_t. - Push the supports_dsc_overlap condition up to the level where it belongs: disk type as well. - Make the initialization of ide main ide.c work with the new module initialization auto-magic instead of calling it explicitly in ll_rw_block.c This prevents the ide_init() from being called twice. We have BTW. renamed it to ata_module_init(), since ata is more adequate then ide and xxx_module_init corresponds better to the naming conventions used elsewhere throughout the kernel. This BUG was there before any ide-clean. It was worked around by a magic variable preventing the second call to succeed. We have removed this variable in one of the previous patches and thus uncovered it. - Kill proc_ide_read_driver() and proc_ide_write_driver(). The drivers already report on syslog which drives they have taken care of. (Or at least they should). In esp. the proc_ide_write_driver() was just too offending for me. Beleve it or not the purpose of it was to *request a particular* driver for a device, by echoing some magic values to a magic file... More importantly this "back door" was getting in the way of a properly done modularization of the IDE stuff. - Made some not externally used functions static or not EXPORT-ed. - Provide the start of a proper modularization between the main module and drivers for particular device types. Changing the name-space polluting DRIVER() macro to ata_ops() showed how inconsistently the busy (read: module busy!) field from ide_driver_t is currently used across the different device type modules. This has to be fixed soon. - Make the ide code use the similar device type ID numbers as the SCSI code :-). This is just tedious, but it will help in a distant feature. It helps reading the code anyway. - Mark repettitive code with /* ATA-PATTERN */ comments for later consolidation at places where we did came across it. - Various comments and notes added where some explanations was missing.
-
Martin Dalecki authored
1. Add some notes to Documentation/driver-model.txt about how and and where to mount the driverfs. 2. Reorganize and prepare the PCI scanning code for proper device dependant splitup. Basically tedious cleanup of macro games. 3. Use struct pci_dev name field as the name of PCI host dapaters instead of invention ambigious IDE special names. This makes the kernel bootup messages look a bit shifted, since those names are bit longer, but makes up for consistance and should allow one later to rearage things to fit into the generic PCI device initialization mechanisms provided by the kernel. 4. Set 3. Allowed us to make the host chip specific pci_init_xxx class functions have the proper signature of module initializers. This will make it possible to make true modules out of them later. 5. Make some functions in cmd64x.c static which where not used elsewhere. 6. rename ide_special_settings to trust_pci_irq - this is reflecting it's functionality better. And make it match the pci device vendor as well as the device ID. It was a BUG to match only the device id!. 7. Make the chanell setup more tollerant for BIOS-es which don't report IO and MEM bases properly. The code found previously there tryed but was inconsistant. 8. Start to use proper terminology in ide-pci.c: host chip, channel, drive instead of hwif, port, drive... 9. Enlarge the name field from ide_hwif_t to 64 bytes. It was only 6 previously and there where custom names there which where exceeding this!!! But since we use the proper pci devce name there now instead, we had to extend the size of this field anyway. 10. Add some explanatory comments and fix misguiding comments here and there. 11. Kill the proc_ide_write_config and proc_ide_read_config brain damage! Those where backdoors to the pci configuration registers on PCI devices and IO registers on directly connected ISA ATA controllers. They didn't discrement between them! Access to both of them *simply* doesn't belong into an operating system, which is supposed to abstract out the access to hardware! Did I mention that access to both can be done from user land without an IDE special interface! Any program which was using them (I hardly beleve there is one) just deserves to loose. The programmer responsible for it deserves to be fired immediately. 12. Move ide_map_xx and ide_unmap_xx tinny bio level wrappers away from the "global" ide.h to where those are actually used and kill trivial wrappers for otherwise generic bio_ routines. Just fighting code obfuscation. The "rq->bio is used or is not there" brain damage in ide-taskfile.c has to be fixed later. Possibly by killing ide-taskfile.c alltogether, becouse this should be a driver for users and not a driver for ATA disk disaster recovery companys... 13. Kill hwif->pci_devid and hwif->pci_venid. Just use the already present hwif->pci_dev field instead. 14. Kill unused big switch ide_reinit_drive function. This silly functon was switching upon every possible device driver cathegory and calling the correspondng reinit function directly. This idiocy was fortunately not used. That's all... Most will be clear if one starts looking at the changes in ide.h of course... In contrast to the previous patches this one is actually fixing two serious bugs. The next direct step will be to kill the sigle place global PCI device type recognition list from ide-pci.c by pushing the entries to where they belong -> the host chips setup modules.
-
Martin Dalecki authored
This is finishing the cleanup parts already started in ide-clean-9. It kills the ide_register_module() and ide_unregister_module() as well as associated idiosyncracies alltogether. It turns out that this patch is actually fixing a bug which was present in the driver before: the sub-module initialization functions where called at least twice - which is an abundance. Tough there is a bit of global namespace pollution caused by this patch - but I'm aware of it and will fix it just a bit later. (The terminology used inside the IDE code is anyway nothing common else in the linux universum...) The next targets will be: 1. Code obfuscation by "wrappers" around generic BIO level functions. 2. ide_hwgroup_t - which is only used to serialize multiple discs on the same interrupt and similar. This is however a tough one. 3. There is a plenty of code waste in the chipset drivers, where there is baroque informative code for the proc file system for static stuff, which in fact belongs just to syslog(). In fact the default RedHat distribution kernel is killing this gratitious abuse of the /proc concept since a long long time... I'm still awaiting the day of /proc/GPL, where GPL contains the full text of it...
-
- 19 Feb, 2002 1 commit
-
-
Martin Dalecki authored
1. Kill the ide-probe-mod by merging it with ide-mod. There is *really* no reaons for having this stuff split up into two different modules unless you wan't to create artificial module dependancies and waste space of page boundaries during memmory allocation for the modules 2. Kill the ide_module_t - which is unnecessary and presents a "reimplementation" of module handling inside the ide driver. This is achieved by attaching the initialization routine ot the ide_driver_t, which will be gone next time, since there is no sane reason apparently, which this couldn't be done during the module-generic initialization of the corresponding driver module. 3. Kill unnecessary tagging of "subdriver" with IDE_SUBDRIVER_VERSION - we have plenty of other mechanisms for module consistency checking. And anyway the ide code didn't any consistence checks on this value at all. NOTE: The ide_(un)register_module() functions will be killed in next round.
-
- 18 Feb, 2002 1 commit
-
-
Martin Dalecki authored
The end_request() function familiy (not the global one, but the IDE specific ones), did bear a permuted parameter ordering. After fixing this it turned out that at all places the huk parameter wasn't the hwgroup, but just the drive in question itself. I have changed this to be more sane, which allowed to remove many unneccessary code duplication, or rather obfuscation, in between the __ide_end_request() and ide_end_request() functions. This simplification is actually the "spreading" part of the game.
-
- 11 Feb, 2002 1 commit
-
-
Jens Axboe authored
-
- 05 Feb, 2002 6 commits
-
-
David S. Miller authored
The usual "u64 is long long only on some platforms" problem.
-
Linus Torvalds authored
- 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
-
Linus Torvalds authored
- Greg KH: USB update - Richard Gooch: refcounting for devfs - Jens Axboe: start of new block IO layer
-
Linus Torvalds authored
- Merge with Alan - Trond Myklebust: NFS fixes - kmap and root inode special case - Al Viro: more superblock cleanups, inode leak in rd.c, minix directories in page cache - Paul Mackerras: clean up rubbish from sl82c105.c - Neil Brown: md/raid cleanups, NFS filehandles - Johannes Erdfelt: USB update (usb-2.0 support, visor fix, Clie fix, pl2303 driver update) - David Miller: sparc and net update - Eric Biederman: simplify and correct bootdata allocation - don't overwrite ramdisks - Tim Waugh: support multiple SuperIO devices, parport doc updates
-
Linus Torvalds authored
- Patrick Mochel: fix PCI:PCI bridge 64-bit memory type detection - me: more forgotten nfsd off_t -> loff_t - Alan Cox: ide driver merge - Eric Lammerts, Rik van Riel: when oom, kill all threads. - Ben LaHaise: use down_read, not down_write() in map_user_kiobuf. We don't change the mappings, we just read them. - Kai Germaschewski: ISDN updates - Roland Fehrenbacher: sparse lun check - Tim Waugh: handle awkward Titan parallel/serial port cards - Stephen Rothwell: APM updates - Anton Altaparmakov: NTFS updates
-
Linus Torvalds authored
-