• Martin Dalecki's avatar
    [PATCH] 2.5.11 IDE 46 · 4a58bd1a
    Martin Dalecki authored
    - 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.
    4a58bd1a
cs5530.c 11.3 KB