- 28 Feb, 2002 6 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
This is finally moving the ide-pci.c file into a shape where the host chip detection lists can finally be moved to where they belong - into the particular chipset specific files. This is accomplished, by a rather obivous removal of macro magic, which was just making entries to the global device type list nonfunctional, instead of making them conditional on the corresponding CONFIG_BLHA options. The second thing was to add a flag field to the device recognition list, which made it possible to compress many of the multi || chip id conditionals go away. The only other file affected is ide.h - here is the change in the size of the name field, which apparently slipped through ide-clean-12...
-
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
1. Start of driver tree usage upon suggestion from Pavel Machek. This still will needs a lot of further work in the future, but the current code doesn't hurt anything and allowa Pavel to work further from the base line. In esp. natively implemented suspend to file requires this - which I would love to see comming in,since I'm quite frequently using a notebook myself. 2. Kill the _IDE_C macro, which was playing games on entierly unnecessary declarations inside of header files in esp ide_modes.h 3. Replace the functionally totally equal system_bus_block() and ide_system_bus_speed() functions with one simple global variable: system_bus_speed. This saves quite a significatn amount of code. Unfortunately this is the part, which is makeing this patch to appear bigger then it really is... 4. Use ide_devalidate_drive() directly instead of idedisk_revalidate(). 5. Kill conditional CONFIG_KMOD as well as some other minor tweaks. Well this isn't that much in terms of functionality, but it took me quite q bit of time to catch up on the patch-2.5.5.gz ;-)
-
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...
-
Linus Torvalds authored
go ahead and free the inodes too, don't try to age them any more (the aging has been done on a dentry level).
-
- 27 Feb, 2002 25 commits
-
-
bk://linuxusb.bkbits.net/linus-2.5Linus Torvalds authored
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
-
http://gkernel.bkbits.net/net-drivers-2.5Linus Torvalds authored
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
-
Bakonyi Ferenc authored
-
Steven Cole authored
CONFIG_SERIAL_TX3912_CONSOLE, CONFIG_AU1000_SERIAL_CONSOLE, CONFIG_AU1000_UART, CONFIG_EUROTECH_WDT to drivers/char/Config.help.
-
Steven Cole authored
-
Christopher Leech authored
-
Christopher Leech authored
from e1000 net driver.
-
Jeff Garzik authored
that accidentally crept back into driver.
-
Jeff Garzik authored
into mandrakesoft.com:/spare/repo/net-drivers-2.5
-
Jeff Garzik authored
into mandrakesoft.com:/spare/repo/misc-2.5
-
Jeff Garzik authored
hardware limits) to the 8139cp net driver.
-
Jeff Garzik authored
-
Greg Kroah-Hartman authored
- removed all usage of port->sem as the usb serial core now does this.
-
Greg Kroah-Hartman authored
- reworked urb handling, getting rid of lots of code now that we have proper urb reference counting. - removed port locks as the usb-serial core now does this. - added support for the Palm m515 thanks to SilaS
-
Greg Kroah-Hartman authored
- cleaned up some whitespace issues - changed MOD_INC logic for the generic driver - the port->sem lock is now taken by the serial core, not the individual usb-serial drivers. This is to reduce races.
-
Ganesh Varadarajan authored
Added support for the HP Jornada.
-
Johannes Erdfelt authored
Basically, the patch turns switching off FSBR into a lazy operation with the assumption there will be another transfer shortly afterwards. This works wonders for usb-storage for instance.
-
David Brownell authored
- Moves 8 functions from usb.[hc] to hcd.[hc] - Also moves some data structures and types - Now usbdevfs and "old" HCDs #include "hcd.h" - Minor tweaks to the "hcd" layer (one less FIXME) - Minor kernel doc and comment cleanups Basically this continues moving the HCD-only functionality out of the way of normal USB device drivers. Converging "usb_bus" and "usb_hcd" (later!) will be a bit easier too. I did basic sanity tests, there's little to break ... :) There are still a few functions in usb.c that aren't for general driver use. They're mostly for enumeration, in areas where the hub driver and HCD root hubs need to do various kinds of magic. It wasn't clear how to decouple those, they can certainly wait.
-
David Brownell authored
This fixes a bug in the audio driver which came from an incorrect conversion from static to dynamic URB allocation. It's against 2.5.5 I noticed this while trying to see exactly how ISO transfers get used. The bug is that while originally the driver statically allocated several structures {urb + N * iso packet descriptors}, the update forgot to allocate the ISO descriptors. Likely not many folk noticed this on 32 bit machines, where sizeof urb == 92, because kmalloc rounds that up to 128, adding 36 bytes of external padding. The ISO descriptors took up 32 bytes of that, which "just happened" to already have been allocated but unused.
-
David Brownell authored
This is minor cleanup; pulls #includes out of files that aren't intended to compile by themselves. ehci bandwidth recording Here's a minor update to the EHCI interrupt scheduler, recording the bandwidth used by an URB for usbfs.
-
David Brownell authored
This restores a line someone deleted, which affects hotplugging. Basically this restores correct/previous behavior: the HID driver only matches HID devices, not every device that ever connects.
-
Greg Kroah-Hartman authored
- changed the minor number the auerswald driver was using, as it was found out that this number was already in use by another USB driver!
-
Greg Kroah-Hartman authored
Written by Irene Zubarev, Tong Yu, Jyoti Shah, Chuck Cole, and me.
-
Greg Kroah-Hartman authored
- changed proc entry creation to use the proper parent directory variable.
-
Greg Kroah-Hartman authored
- pcihpfs cleanup, removing unneeded file operations. - Added facility to have the files change their timestamps if the data within the file changes.
-
- 26 Feb, 2002 9 commits
-
-
bk://bk.arm.linux.org.ukLinus Torvalds authored
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
-
Brett Pemberton authored
This patch allows my qlogic pcmcia scsi card to compile again, as broken by the recent scsi layer changes. Despite davem's apparent suggestion that it'd be better to rewrite the driver, i'd rather not _just_ right now :) / Brett Pemberton
-
Dave Jones authored
Numerous bugfixes brought forward from 2.4. I added some quick bio fixes to mtdblock.c, which seemed to work for me whilst testing JFFS2 changes.
-
Dave Jones authored
Forward ports from 2.4, Various janitor bits, and some fixes by me to make the thing work again in 2.5. I munged the MTDRAM driver to work also (seperate patch to follow), and it seems to work. David Woodhouse gave this the once over, and approved the changes. Complete changelog below: o Don't create two slabcaches with the same name. o Don't corrupt eraseblock lists on mount o Don't mark nodes obsolete during mount o __attribute__((packed)) on the node definitions. o Fix up() without down() in jffs2_readdir(). o Fix duplicate version number usage - s/highest_version++/++highest_version/ o Fix (i.e. implement) mtime/ctime on directories. maybe too busy with the bk stuff o Don't allow hardlinks of directories. o s/(mode&S_IFMT)==S_IFLNK/S_ISLNK(mode)/ et al to keep Al happy. o Fix for garbage-collection of holes, where we used to write nodes out with csize/dsize swapped. Workarounds for existing such brokenness. o Improve wear levelling by rotating node lists on mount, to avoid starting at one end of the flash every time. o Remember to get internal inode-semaphore on symlink operations.
-
Linus Torvalds authored
-
Neil Brown authored
Enable NFS over TCP via config option
-
Neil Brown authored
Limit number of active tcp connections to an RPC service If a connection comes in and that results in number of connections being more than 5 times the number of threads, then we close a connection. We randomly drop with the oldest or the newest connection. Thus if we are flooded with connection requests, some will get in and hopefully stay long enough to service at least one request.
-
Neil Brown authored
Declare response sizes for nfs/lockd requests This allows sndbuf reservation to be more accurate. For lockd we just say "0" for now, meaning assume the max. This could be improved, but it isn't critical.
-
Neil Brown authored
Make sure there is alway adequate sndbuf space for replies. We keep track of how much space might be needed for replies and never dequeue a request unless there is adequate space for a maximal reply. We assume each request will generate a maximal sized reply until the request is partly decoded. Each RPC program/procedure can specify the maximum size of a reply to the precedure (though they don't yet). The wspace callback is used to enqueue sockets that may be waiting for sndbuf space to become available. As there should always be enough buffer space to the full reply, the only reason that sock_sendmsg could block is due to a kmalloc delay. As this is likely to be fairly quick (and if it isn't the server is clagged anyway) we remove the MSG_DONTWAIT flag, but set a 30 second timeout on waiting. If the wait ever times out, we close the connection. If it doesn't we can be sure that we did a complete write. When a request completes, we make sure that the space used for the reply does not exceed the space reserved. This is an internal consistancy check. This patchs sets the sndbuf and rcvbuf sizes for all sockets used for rpc service. This size if dependant on the servers bufsize (S) and partially on the number of threads (N). For UDP sndbuf == 5*S rcvbuf == (N+2)*S for TCP sndbuf == N*S rcvbuf == 3*S see code for rationale (in comments).
-