• Matthew Wilcox's avatar
    [SCSI] advansys: Sort out irq number mess · d361db48
    Matthew Wilcox authored
    The interrupt number was being stored in 4-5 different places, each with
    its own type, rules and usage.  Fix this by keeping an unsigned int in
    the struct asc_board, and filling it in from the bus probe functions
    (since it's different for each of the four bus types).  In order to do
    this, we have to allocate the Scsi_Host in the bus probe functions too.
    Then we can return an error from advansys_board_found, which requires
    a little rearranging of code (and removing of the err_code variable).
    Move the Wide Board flag setting into the PCI bus probe function.
    
    Split the AscGetChipIRQ function into three functions (one for each bus
    type that needs it) and add some commentary to explain what's going on.
    Also get rid of the AscSetChipIRQ function as we only ever set the
    interrupt number to the same value it already had.
    Signed-off-by: default avatarMatthew Wilcox <willy@linux.intel.com>
    Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
    d361db48
advansys.c 498 KB