kernel release 3.14
Rewrite interrupt service routine relate function to fix command timeout on controller very heavy loading.

Signed-off-by: Ching<ching2048@areca.com.tw>
Adding code for supporting MSI-X interrupt.

Signed-off-by: Ching<ching2048@areca.com.tw>
Adding code to support system hibernation.

Signed-off-by: Ching<ching2048@areca.com.tw>
Have a limitation of max number of SCSI command request to prevent command overflow.

Signed-off-by: Ching<ching2048@areca.com.tw>
Fix a bug of return status from calling arcmsr_polling_ccbdone.
The original code may return a FAILED if abort command is SUCCESS.

Signed-off-by: Ching<ching2048@areca.com.tw>
Rewriteing the arcmsr_define_adapter_type function to precisely check adapter ID.
This can prevent an unknown adapter be used as a default adapter type by driver.

Signed-off-by: Ching<ching2048@areca.com.tw>
Revise message_isr_bh_fn to remove the duplicate code for each adapter type.

Signed-off-by: Ching<ching2048@areca.com.tw>
Removing call arcmsr_hbb_enable_driver_mode by in-line code.

Signed-off-by: Ching<ching2048@areca.com.tw>
Revise printing model name and firmware version order.

Signed-off-by: Ching<ching2048@areca.com.tw>
Clearing outbound doorbell buffer completely for adapter type C.
This is to prevent getting garbage data input from IOP before ioctl command beginning.

Signed-off-by: Ching<ching2048@areca.com.tw>
Rename some variable and function name for readability and consistency.

Signed-off-by: Ching<ching2048@areca.com.tw>
This modification is for consistency with up-coming adapter type D.
They have similar H/W and S/W structure.
Also, it makes code easier reading.

Signed-off-by: Ching<ching2048@areca.com.tw>
Rewrite IOCTL entry and its relate functions.
This patch fix ioctl data read/write error for adapter type C.
Change data I/O from byte access to dword access.

Signed-off-by: Ching<ching2048@areca.com.tw>
Fix sparse utility checking errors.

Signed-off-by: Ching<ching2048@areca.com.tw>
Revise comment and some character strings.

Signed-off-by: Ching<ching2048@areca.com.tw>
Adding code for support Areca new Raid adapter ARC12x4 series.

Signed-off-by: Ching<ching2048@areca.com.tw>
This is a new patch after patch v1.1 series.

Fixed calling scsi_scan_host until all initialization are done.
And fixed error path free allocated resource.

Signed-off-by: Ching<ching2048@areca.com.tw>
This is a new patch v1.2 18/16 after patch v1.2 17/16.
To prevent flushing entire workqueue, replace flush_scheduled_work by flush_work.

Signed-off-by: Ching<ching2048@areca.com.tw>
Makefile for building outside kernel tree