| Age | Commit message (Collapse) | Author | Lines |
|
This patch contains the following cleanups:
- make cpqarray_pci_device_id static
- merge cpqarray_init_step2 into cpqarray_init and make it static
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Acked-by: Mike Miller <mike.miller@hp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
Rusty Russell <rusty@rustcorp.com.au>
MODULE_PARM conversions for x86 `allyesconfig'.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
Correct mailing list address in cpqarray source code.
Signed-off-by: James Nelson <james4765@gmail.com>
Acked-by: Mike Miller <mike.miller@hp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
into kroah.com:/home/greg/linux/BK/pci-2.6
|
|
remove unused #include <linux/version.h>
Old ifdefs were removed that used it's definition.
Signed-off-by: Maximilian Attems <janitor@sternwelten.at>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
No, pci_register_driver() does not return the number of pci devices found, sorry.
No, if pci_register_driver() fails, you do not need to call pci_unregister_driver().
Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
|
|
Signed-off-by: Al Viro <viro@parcelfarce.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
|
|
From: George France <france@handhelds.org>
Teach cpqarray.c to do the add_disk_randomness() thing.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
From: <mikem@beardog.cca.cpqcorp.net>
This patch fixes 2 minor issues that break our Array Configuration utility.
my_io was changed to a pointer so the & had to removed when using it with
copy_to_user().
Sometime in 2.5 SG_MAX got changed to 31. Maybe to copy cciss? Now I'm
changing it back to 32 so our app can work.
|
|
This cleans up a larger amount of superfluos ";;" statements in current
Linux kernel sources by converting them to the regular single ";"
statments.
It seems to be a common problem that at the end of a line the semicolon
key is producing an echo.
|
|
From: <mikem@beardog.cca.cpqcorp.net>
* Examines rc of pci_register_driver and returns
|
|
From: <mikem@beardog.cca.cpqcorp.net>
- Change to use pci APIs (change from 2.4.18 to 2.4.19)
This also includes eisa detection fix during initialization which was
missing from 2.4.19 but fixed in 2.4.25
|
|
From: <mikem@beardog.cca.cpqcorp.net>
* cpqarray in kernel 2.6.1 seems to be based from 2.4.18 kernel with
specific 2.6.x stuff added.
* Defines io_mem_addr and io_mem_length to replace ioaddr (change from
2.4.18 to 2.4.19)
|
|
From: <mikem@beardog.cca.cpqcorp.net>
* Fix for segmentation fault when calling rmmod
|
|
From: <mikem@beardog.cca.cpqcorp.net>
The following patch bumps the driver version to 2.6.0. Please apply in
order.
|
|
From: Luiz Capitulino <lcapitulino@prefeitura.sp.gov.br>
Fix cpqarray.c warnings: `proc_array' and `ida_proc_get_info' defined
but not used
ida_proc_get_info() is only called when CONFIG_PROC_FS=y.
|
|
new helper - iminor(inode); defined as minor(inode->i_rdev); lots and
lots of places in drivers had been switched to it.
|
|
To be able to properly be able to keep references to block queues,
we make blk_init_queue() return the queue that it initialized, and
let it be independently allocated and then cleaned up on the last
reference.
I have grepped high and low, and there really shouldn't be any broken
uses of blk_init_queue() in the kernel drivers left. The added bonus
being blk_init_queue() error checking is explicit now, most of the
drivers were broken in this regard (even IDE/SCSI).
No drivers have embedded request queue structures. Drivers that don't
use blk_init_queue() but blk_queue_make_request(), should allocate the
queue with blk_alloc_queue(gfp_mask). I've converted all of them to do
that, too. They can call blk_cleanup_queue() now too, using the define
blk_put_queue() is probably cleaner though.
|
|
This causes blk.h to print a warning and removes all uses of blk.h.
I've tested the compilation in 2.6.0-test1 with a .config that tries to
compile as many drivers as possible.
|
|
From: Jorn Engel <joern@wohnheim.fh-wedel.de>
Reduce stack usage in the cpqarray ioctl byt several hundred bytes.
|
|
This restores the special-case behaviour of open() on the minor 0;
cpqarray allows to open that guy for ioctls even if nothing is
configured. That got broken when gendisk patches went in. Patch
restores the old behaviour by keeping gendisk for the first disk on
controller always registered; instead of unregistering it we set size to
0.
|
|
update drivers/block for new IRQ API.
|
|
Always pass around the pathnames for the devfs entries / directories
instead of the devfs_handle_ts. Cleanes up the code massivly.
|
|
This finally kills of blk_queue_empty(). This is similar to the patch I
recently sent to fix the SCSI logic as well. A lot of drivers are doing
this in our core, mainly because that is the way they always did it:
start_queue:
if (blk_queue_empty(q))
return;
rq = elv_next_request(q);
if (!rq)
return;
Patch simply removes the blk_queue_empty() check, and adds a check for
!rq return from elv_next_request() if the driver didn't already do that.
Additionally, the AS io scheduler can return NULL from
elv_next_request() if it thinks this is best. This way we are also
prepared for that to work well.
Patch was done by Nick Piggin.
|
|
All arguments except the name are unused - remove them and make the
name printf-like to avoid a few snprintf in the surrounding code.
(also fixes compilation to due a superflous endif in dvb core)
|
|
Patch from Andries.Brouwer@cwi.nl
The following patch does the following:
- static const char *blkdevs[MAX_BLKDEV]; disappears
- get_blkdev_list, (un)register_blkdev, __bdevname
are moved from block_dev.c to genhd.c
- the third "fops" parameter of register_blkdev was unused;
now removed everywhere
- zillions of places had printk("cannot get major") upon
error return from register_blkdev; removed all of these
and inserted a single printk in register_blkdev.
Of course the reason for the patch is that one fixed size
array is eliminated.
|
|
This patch replaces its (possessive of it) with it's (it is)
in the following cases where "it is" is meant.
its a -> it's a
its an -> it's an
its not -> it's not
except for the files
arch/cris/boot/rescue/head.S
arch/cris/kernel/kgdb.c
where the substitution is "its not" -> "it is not"
to avoid possible problems with single quotes in assembly comments.
|
|
OK, here is the diff against 2.5.59-bk2, now up to 880 lines due to an
additional misspelling which crept in the -bk2 snapshot.
Fixes 'seperate' -> 'separate' and 'definate' -> 'definite'.
Kernal codrs cna't spel.
|
|
In <= 2.4 some of the mess in blk.h needed it defined, but that's
long gone now.
|
|
switched to explicit devfs_remove()
|
|
All callers of devfs_find_and_unregister() pass 0 in 6th argument. All
uses of that function either pass 0 in 3rd and 4th argument (in which
case the 5th is ignored) or pass the existing pathname in the 2nd (in
which case 3rd, 4th and 5th are ignored). In all cases the first
argument can be trivially made NULL.
devfs_find_and_unregister() is left as-is. All existing callers
converted to new helper - devfs_remove(pathname). Said beast does
equivalent of devfs_find_and_unregister(NULL, pathname, 0, 0, 0, 0);
|
|
<linux/interrupt.h>
request_irq/free_irq are now in linux/interrupt.h
|
|
|
|
* switched to private queues
* set ->queue and ->private_data
* switched to new methods
|
|
This fixes a recent dyslexicism in cpqarray.
|
|
allocation of ->part[] moved to alloc_disk(); alloc_disk() got an
argument (number of minors expected). Freeing is in put_disk().
|
|
This fixes some critical bugs in cpqarray in 2.5. One of the fixes
essentially backs out the block queue stop/start behavior that was added
recently. This code as it stands is buggy and locks up under even light
SMP workloads. Certainly we want the performance benefits of proper
block queue plugging, but the driver needs some work before it will fit
nicely.
Some of these fixes do theoretically hurt performance, but when you
consider that the driver is unusable under SMP as-is, I think it is
right to get correctness first.
Specifically, this patch does the following:
* Adds locking to proc queue-walking code for debugging use. Note that
the proc registration is still broken and I've left it that way since
this stuff should probably migrate to driverfs anyway.
* Moves interrupt enabling so queue lock is initialized before
interrupts are enabled. Otherwise if we get a quick interrupt we oops
the machine.
* Removes unconditional IRQ enabling in do_ida_request(). The block
layer takes the spinlock with irq_save so if we're going to play this
trick then we need to irq_restore. For now, just eliminate the
unlocked region.
* Remove block queue stop/start logic since it can leave the queue
stopped with no outstanding completions to start it again. Plugging
logic can come back but it should go hand-in-hand with a cleanup of
the driver's request handling algorithm. If nobody screams about this
patch I'll go ahead and start making those improvments.
|
|
|
|
|
|
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.
|
|
In addition to usual switch and cleanup, switched the damn thing
to use of module_init/module_exit (and removed call from device_init()).
|
|
char *major_name replaced with char disk_name[16]; All uses of ->major_name
replaced with those of ->disk_name and (obviously) simplified big way. Bunch
of arrays, kmallocs, etc. is gone.
|
|
Almost all callers of add_gendisk() were immediately followed by
register_disk(disk, mk_kdev(disk->major,disk->first_minor),
1<<disk->minor_shift, disk->fops, something);
The only exception (DAC960.c) massaged to that form.
New helper (add_disk(disk)) introduced and aforementioned sequence
replaced with
set_capacity(disk, something);
add_disk(disk);
|
|
Make bio->bi_end_io() take bytes_done and actual error as argument. This
enables partial completion of bio's, which is important for latency
reasons (bio can be huge, for slow media we want page-by-page
completions).
I think I got most of the bi_end_io() functions out there, but I might
have missed a few. For the record, if you don't care about partial
completions and just want to be notified when the entire bio completes,
add a
if (bio->bi_size)
return 1;
to the top of your bi_end_io(). It should return 0 on completion.
bio_endio() will decrement bio->bi_size appropriately, it's recommended
for people to go through that. Otherwise they will have to control
BIO_UPTODATE and bi_size decrement themselves, there's really no reason
to do that. I've deliberately avoided doing any functional changes to
any of the end_io functions, as I think that would only make the patch
more complex. It's simple right now, but this being i/o paths I prefer
(as usual) to be careful and take small steps. The mpage_end_io_read()
do-vecs-at-the-time change can come right after this, for instance.
|
|
* we remove the paritition 0 from ->part[] and put the old
contents of ->part[0] into gendisk itself; indexes are shifted, obviously.
* ->part is allocated at add_gendisk() time and freed at del_gendisk()
according to value of ->minor_shift; static arrays of hd_struct are gone
from drivers, ditto for manual allocations a-la ide. As the matter of fact,
none of the drivers know about struct hd_struct now.
|
|
new helpers - get_capacity(gendisk)/set_capacity(gendisk, sectors).
Drivers switched to these; that eliminates most of the accesses to
disk->part[]... in the drivers (and makes code more readable, while
we are at it). That had caught several bugs when minor had been
used in place of minor>>minor_shift (acsi.c is especially nasty in
that respect; I don't know if it had ever been used with multiple
devices...)
|
|
similar to ->flags and ->driverfs_dev_arr, ->de_arr[] got replaced
with its (single) element + flag.
|
|
Since ->nr_real is always 1 now, we can remove that field completely.
Removed the last remnants of switch in disk_name() (it could be killed
a long time ago, I just forgot to remove the last two cases when md and i2o
got converted). Collapsed several instances of
disk->part[minor - disk->first_minor] - in cases when we know that we deal
with disk->part[0].
|
|
wipe_partitions() and driverfs_register_partitions(..., 1) (i.e.
unregistering them) pulled into del_gendisk() and removed from callers.
grok_partitions() merged with register_disk(). devfs_register_partitions(),
grok_partitions() and wipe_partitions() not exported anymore.
|