Messages in this thread | | | Date | Tue, 30 Apr 2002 10:09:29 +0200 | From | Martin Dalecki <> | Subject | [PATCH] 2.5.11 IDE 46 |
| |
- Remove the specific CONFIG_IDEDMA_PCI_WIP in favor of using the generic CONFIG_EXPERIMENTAL tag. (Pointed out by Vojtech Pavlik).
- Change the signature of the IRQ handler to take the request directly as a parameter. This doesn't blow the code up but makes it much more obvious and finally it's reducing the number of side effects of the hwgroup->rq field.
- A second sharp look after the above change allowed us to remove the wrq field from the hwgroup struct. It's just not used at all.
- Change the signature of the end_request member of struct ata_operations to take the request as a second argument. Similar for __ide_end_request() and ide_end_request().
- Remove BUG_ON() items just before ide_set_handler(). The check in ide_set_handler is clever enough now.
- Remove the rq subfield from ide-scsi packet structure. We have now the request context always in place. Same for floppy.
- Let the timer expiry function take the request as a direct argument.
Yes I know those changes are extensive. But they are a necessary step in between for the following purposes:
- Consolidate the whole ATA/ATAPI stuff on passing a single unified request handling object. Because after eliminating those side effects it's far easier to see what's passed where.
- Minimizing the amount of side effects in the overall code. That's a good thing anyway and it *doesn't* cost us neither performance nor space, since the stack depths are small anyway here.
- Minimizing the usage of hwgroup - which should go away if possible.
I apologize for the size of this patch, but those changes belong logically mostly all together. [unhandled content-type:application/x-gzip]
| |