--- open_source/osl/lin/linux_osl.c 2008-02-07 17:23:36.000000000 +0000 +++ open_source/osl/lin/linux_osl.c 2008-04-10 14:13:10.000000000 +0000 @@ -66,7 +66,7 @@ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) - module_param(dbglvl_g, uint, DRIVER_DBG_LEVEL); + module_param(dbglvl_g, uint, 0); #else #ifdef MODULE MODULE_PARM (dbglvl_g, "i"); @@ -90,7 +90,7 @@ #endif /* Function Prototypes */ -static LSI_RAID_IRQRETURN_T lsraid_isr(int irq, void *devp, struct pt_regs *regs); +static LSI_RAID_IRQRETURN_T lsraid_isr(int irq, void *devp); /* helper functions */ static int __devinit lsraid_probe_one(struct pci_dev*, @@ -556,9 +556,10 @@ * This is a tasklet, Linux guarantees, we are not running on more than one CPU at the * same time. **/ -static void megasr_linux_build_io(void *devp) + +static void megasr_linux_build_io(struct work_struct *work) { - linux_adp_t *linux_adp = (linux_adp_t *) devp; + linux_adp_t *linux_adp = container_of(work, linux_adp_t, work_build_io_in); rcl_packet_public_t *rclp; rcl_packet_public_t *rclp_tmp; struct scsi_cmnd *scp; @@ -634,9 +635,9 @@ * counterpart for the "sleepy" build IO routine. We complete the scsi commands to the mid-layer * These commands are those for which virtual mapping, using kmap(), was obtained. **/ -static void megasr_linux_dpc_complete_cmd(void *devp) +static void megasr_linux_dpc_complete_cmd(struct work_struct *work) { - linux_adp_t *linux_adp = (linux_adp_t *)devp; + linux_adp_t *linux_adp = container_of(work, linux_adp_t, work_build_io_out); rcl_packet_public_t *rclp; rcl_packet_public_t *rclp_tmp; struct scsi_cmnd *scp; @@ -961,8 +962,7 @@ *@remarks * This is a driver entry function */ -static LSI_RAID_IRQRETURN_T lsraid_isr(int irq, void* os_cxt, - struct pt_regs* regs) +static LSI_RAID_IRQRETURN_T lsraid_isr(int irq, void* os_cxt) { int ret_val = LSI_FALSE; unsigned long flags; @@ -1073,9 +1073,8 @@ // setup work queues for DPC megasr_clist_setup(&lxadp->build_io_list_in); megasr_clist_setup(&lxadp->build_io_list_out); - INIT_WORK(&lxadp->work_build_io_in, megasr_linux_build_io, lxadp); - INIT_WORK(&lxadp->work_build_io_out, megasr_linux_dpc_complete_cmd, - lxadp); + INIT_WORK(&lxadp->work_build_io_in, megasr_linux_build_io); + INIT_WORK(&lxadp->work_build_io_out, megasr_linux_dpc_complete_cmd); #endif #ifdef __LP64__ --- open_source/osl/lin/linux_osl.h 2008-02-07 17:23:36.000000000 +0000 +++ open_source/osl/lin/linux_osl.h 2008-04-10 12:47:36.000000000 +0000 @@ -111,7 +111,8 @@ #define LSI_RAID_SCP2_LUN(scp) (scp)->device->lun /* LUN */ #define LSI_RAID_IRQRETURN_T irqreturn_t -#define LSI_RAID_HOST_SET_LOCK(host, lock) scsi_assign_lock(host, lock) +//#define LSI_RAID_HOST_SET_LOCK(host, lock) scsi_assign_lock(host, lock) +#define LSI_RAID_HOST_SET_LOCK(host, lock) host->host_lock = lock; #define LSI_RAID_CURRENT_TIME_IN_SEC (CURRENT_TIME.tv_sec) #else Alleen in test/open_source/osl/lin: linux_osl.o Alleen in test/open_source/osl/lin: .linux_osl.o.cmd Alleen in test/open_source/osl/lin: osl_char.o Alleen in test/open_source/osl/lin: .osl_char.o.cmd Alleen in test/open_source/oss/lin: lin_oss.o Alleen in test/open_source/oss/lin: .lin_oss.o.cmd