- 15 Oct, 2002 13 commits
-
-
Alexander Viro authored
Finally. We use disk->dev.refcount as a gendisk refcount. New helper - get_disk(): atomic_inc on refcount. get_gendisk() does it on return, callers of get_gendisk() do put_disk() when they are done.
-
Alexander Viro authored
* disk->disk_dev is initialized in alloc_disk(), device_add()'d in add_disk(), device_del()'d in unregister_disk() and device_put() in put_disk(). * devices of partitions are made its children. * attributes of disk one: dev (dev_t of the thing), range (number of minors) and size (in sectors). * attributes of partition ones: dev (ditto), start (in sectors) and size (in sectors). * disk devices are put on a new bus - "block" * if caller of add_disk() had set disk->driverfs_dev, we set symlinks: "device" from disk to underlying device and "block" from underlying device to disk. * ->release() of disk_dev frees disk and disk->part. At that point we have sane driverfs subtree for each gendisk and refcount of its root (disk->disk_dev) can act as gendisk refcount.
-
Alexander Viro authored
* update_partition() split into add_partition() and delete_partition(). * all updating of ->part[] is switched to these two (including initial filling/final cleaning). * per-partition devices are allocated on-demand and never reused. We allocate struct device in add_partition() and put reference to it into hd_struct. ->release() for that struct device frees it. delete_partition() removes reference from hd_struct and does put_device() on it. Basically, we get rid of problems with reused struct device by never reusing them... At that point devices for partitions are nice and sane.
-
Alexander Viro authored
guts of blkpg.c and blkdev_ioctl() sanitized up and moved into a new file - drivers/block/ioctl.c. blkpg.c is gone.
-
Alexander Viro authored
new driverfs helpers - device_initialize/device_add and device_del. The latter is device_unregister() sans the final put_device(). The former is splitup of device_register() into initialization and insertion into tree.
-
Alexander Viro authored
new field - disk->minors (1 << disk->minor_shift). Almost all uses of ->minor_shift had that form and thus had been replaced.
-
Alexander Viro authored
allocation of ->part[] moved to alloc_disk(); alloc_disk() got an argument (number of minors expected). Freeing is in put_disk().
-
bk://linux-bt.bkbits.net/bt-2.5Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Linus Torvalds authored
-
Linus Torvalds authored
-
Linus Torvalds authored
the native "struct request" fields instead. Simplify and clean up sense data handling. This makes IDE CD-RW burning possible without ide-scsi.c
-
Linus Torvalds authored
-
Linus Torvalds authored
Rename old "block_ioctl()" function: it's "scsi_cmd_ioctl()", as that is what the function does. Rename the whole file "scsi_ioctl.c"
-
- 14 Oct, 2002 2 commits
-
-
Maksim Krasnyanskiy authored
-
Maksim Krasnyanskiy authored
-
- 13 Oct, 2002 25 commits
-
-
Maksim Krasnyanskiy authored
Some of them were named like BT_XXX and bt_xxx others BLUEZ_XXX and bluez_xxx. From now on use BT_XXX and bt_xxx throughout Bluetooth code, including CONFIG_ defines. Clean up small typos and misspelling along the way.
-
Maksim Krasnyanskiy authored
we can rename bluez.o to what it should have been from the begging bluetoth.o
-
bk://linuxusb.bkbits.net/linus-2.5Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Andrew Morton authored
This patch from Christoph Hellwig removes the kiobuf/kiovec infrastructure. This affects three subsystems: video-buf.c: This patch includes an earlier diff from Gerd which converts video-buf.c to use get_user_pages() directly. Gerd has acked this patch. LVM1: Is now even more broken. drivers/mtd/devices/blkmtd.c: blkmtd is broken by this change. I contacted Simon Evans, who said "I had done a rewrite of blkmtd anyway and just need to convert it to BIO. Feel free to break it in the 2.5 tree, it will force me to finish my code." Neither EVMS nor LVM2 use kiobufs. The only remaining breakage of which I am aware is a proprietary MPEG2 streaming module. It could use get_user_pages().
-
Andrew Morton authored
From Anton Blanchard. This fixes a couple of Linux Test Project failures. - Returns EBUSY if the caller is trying to invalidate memory which is covered by a locked vma. The open group say: [EBUSY] Some or all of the addresses in the range starting at addr and continuing for len bytes are locked, and MS_INVALIDATE is specified. - Returns EINVAL if the caller specified both MS_SYNC and MS_ASYNC [EINVAL] The value of flags is invalid. and: "Either MS_ASYNC or MS_SYNC is specified, but not both."
-
Andrew Morton authored
CONFIG_LBD was initially hardwired to "on" for testing. That seems to have gone OK, so now make it configurable.
-
Andrew Morton authored
From Bill Irwin: ensure that the data structures which hold the node's zone structures is all zeroed before we start using it.
-
Andrew Morton authored
If you're peforming 512-byte sized IOs. With, say, dd of=/dev/raw/raw1 bs=512 then the `pgpgin' and `pgpgout' accounting just sits on zero. This is because it counts in kbytes, and 512/1024 is zero. So change it to count sectors, and divide that by two when we report it to userspace.
-
Andrew Morton authored
From Ed Tomlinson, then mauled by yours truly. The current shrinking of the dentry, inode and dquot caches seems to work OK, but it is slightly CPU-inefficient: we call the shrinking functions many times, for tiny numbers of objects. So here, we just batch that up - shrinking happens at the same rate but we perform it in larger units of work. To do this, we need a way of knowing how many objects are currently in use by individual caches. slab does not actually track this information, but the existing shrinkable caches do have this on hand. So rather than adding the counters to slab, we require that the shrinker callback functions keep their own count - we query that via the callback. We add a simple registration API which is exported to modules. A subsystem may register its own callback function via set_shrinker(). set_shrinker() simply takes a function pointer. The function is called with int (*shrinker)(int nr_to_shrink, unsigned int gfp_mask); The shrinker callback must scan `nr_to_scan' objects and free all freeable scanned objects. Note: it doesn't have to *free* `nr_to_scan' objects. It need only scan that many. Which is a fairly pedantic detail, really. The shrinker callback must return the number of objects which are in its cache at the end of the scanning attempt. It will be called with nr_to_scan == 0 when we're just querying the cache size. The set_shrinker() registration API is passed a hint as to how many disk seeks a single cache object is worth. Everything uses "2" at present. I saw no need to add the traditional `here is my void *data' to the registration/callback. Because there is a one-to-one relationship between caches and their shrinkers. Various cleanups became possible: - shrink_icache_memory() is no longer exported to modules. - shrink_icache_memory() is now static to fs/inode.c - prune_icache() is now static to fs/inode.c, and made inline (single caller) - shrink_dcache_memory() is made static to fs/dcache.c - prune_dcache() is no longer exported to modules - prune_dcache() is made static to fs/dcache.c - shrink_dqcache_memory() is made static to fs/dquot.c - All the quota init code has been moved from fs/dcache.c into fs/dquot.c - All modifications to inodes_stat.nr_inodes are now inside inode_lock - the dispose_list one was racy.
-
Greg Kroah-Hartman authored
into kroah.com:/home/linux/linux/BK/gregkh-2.5
-
David Brownell authored
Cleaning out my queue of most minor patches: - Provides some kerneldoc for 'struct usb_interface' now that the API is highlighting it. - Fixes usb_set_interface() so it doesn't affect other interfaces. This provides the right place for an eventual HCD call to clean out now-invalid records of endpoint state, and also gets rid of a potential SMP issue where drivers on different interfaces calling concurrently could clobber each other. (Per-interface data doesn't need locking except against config changes.) - It's OK to pass URB_NO_INTERRUPT hints if you're queueing a bunch of interrupt transfers. The set_interface call should eventually take the interface as a parameter, it's one of the few left using the "device plus magic number" identifier. I have a partial patch for that, but it doesn't handle the (newish) ALSA usb audio driver or a few other callers.
-
Greg Kroah-Hartman authored
Thanks to David Brownell for pointing this out to me.
-
Romain Liévin authored
Here is patch which adds parallel link cable support for Texas Instruments graphing calculators.
-
-
Russell King authored
Keep the partition information around for the lifetime of the module.
-
Russell King authored
This updates AFS mtd partition parsing to the current CVS version: - Don't recognise the AFS SIB as a partition - Ensure initialisation of afs mtdpart structures.
-
Russell King authored
-
Russell King authored
-
Russell King authored
-
Russell King authored
We removed asm/mach-types.h from asm/hardware.h. This means we must now include asm/mach-types.h where its used. We also fix h3600 pcmcia initialisation/cleanup.
-
Russell King authored
-
Russell King authored
Traditionally, the Assabet reverses its mapping of UART1 and UART3 when the Neponset board is connected. This can be (a) confusing and (b) annoying when the boot loader uses UART1. We therefore have a fixed mapping between the ttySA names and the physical UARTs on this platform.
-
Russell King authored
The patches convert drivers/pcmcia to use C99 named initializers, and all the patches are against 2.5.42. There are 25 patches in total, and the "cat"ing them together they're more that 20K, so I'm sending the patches as a compressed attachment. The patches were CC'd to Linus in the first mail that bounced.
-
Russell King authored
Here's a small set of patches that switch the code to use C99 desiginated initializers. Patches are against 2.5.42.
-
Russell King authored
-