Commit 823667d1 authored by Andrew Morton's avatar Andrew Morton Committed by Dave Jones

[PATCH] qla2xxx gcc-3.5 fixes

From: Adrian Bunk <bunk@fs.tum.de>

  CC      drivers/scsi/qla2xxx/qla_os.o
drivers/scsi/qla2xxx/qla_os.c: In function `qla2x00_queuecommand':
drivers/scsi/qla2xxx/qla_os.c:315: sorry, unimplemented: inlining failed
in call to 'qla2x00_callback': function not considered for inlining
drivers/scsi/qla2xxx/qla_os.c:269: sorry, unimplemented: called from here
drivers/scsi/qla2xxx/qla_os.c:315: sorry, unimplemented: inlining failed
in call to 'qla2x00_callback': function not considered for inlining
drivers/scsi/qla2xxx/qla_os.c:269: sorry, unimplemented: called from here
make[3]: *** [drivers/scsi/qla2xxx/qla_os.o] Error 1
...
  CC      drivers/scsi/qla2xxx/qla_rscn.o
drivers/scsi/qla2xxx/qla_rscn.c: In function `qla2x00_cancel_io_descriptors':
drivers/scsi/qla2xxx/qla_rscn.c:320: sorry, unimplemented: inlining
failed in call to 'qla2x00_remove_iodesc_timer': function not considered for inlining
drivers/scsi/qla2xxx/qla_rscn.c:257: sorry, unimplemented: called from here
make[3]: *** [drivers/scsi/qla2xxx/qla_rscn.o] Error 1
Signed-off-by: default avatarAdrian Bunk <bunk@fs.tum.de>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
parent dda8c33a
......@@ -235,67 +235,6 @@ static __inline__ void sp_get(struct scsi_qla_host * ha, srb_t *sp);
static __inline__ void
qla2x00_delete_from_done_queue(scsi_qla_host_t *, srb_t *);
/**************************************************************************
* sp_put
*
* Description:
* Decrement reference count and call the callback if we're the last
* owner of the specified sp. Will get the host_lock before calling
* the callback.
*
* Input:
* ha - pointer to the scsi_qla_host_t where the callback is to occur.
* sp - pointer to srb_t structure to use.
*
* Returns:
*
**************************************************************************/
static inline void
sp_put(struct scsi_qla_host * ha, srb_t *sp)
{
if (atomic_read(&sp->ref_count) == 0) {
qla_printk(KERN_INFO, ha,
"%s(): **** SP->ref_count not zero\n",
__func__);
DEBUG2(BUG();)
return;
}
if (!atomic_dec_and_test(&sp->ref_count)) {
return;
}
qla2x00_callback(ha, sp->cmd);
}
/**************************************************************************
* sp_get
*
* Description:
* Increment reference count of the specified sp.
*
* Input:
* sp - pointer to srb_t structure to use.
*
* Returns:
*
**************************************************************************/
static inline void
sp_get(struct scsi_qla_host * ha, srb_t *sp)
{
atomic_inc(&sp->ref_count);
if (atomic_read(&sp->ref_count) > 2) {
qla_printk(KERN_INFO, ha,
"%s(): **** SP->ref_count greater than two\n",
__func__);
DEBUG2(BUG();)
return;
}
}
/*
* qla2x00_callback
* Returns the completed SCSI command to LINUX.
......@@ -366,6 +305,67 @@ qla2x00_callback(scsi_qla_host_t *ha, struct scsi_cmnd *cmd)
(*(cmd)->scsi_done)(cmd);
}
/**************************************************************************
* sp_put
*
* Description:
* Decrement reference count and call the callback if we're the last
* owner of the specified sp. Will get the host_lock before calling
* the callback.
*
* Input:
* ha - pointer to the scsi_qla_host_t where the callback is to occur.
* sp - pointer to srb_t structure to use.
*
* Returns:
*
**************************************************************************/
static inline void
sp_put(struct scsi_qla_host * ha, srb_t *sp)
{
if (atomic_read(&sp->ref_count) == 0) {
qla_printk(KERN_INFO, ha,
"%s(): **** SP->ref_count not zero\n",
__func__);
DEBUG2(BUG();)
return;
}
if (!atomic_dec_and_test(&sp->ref_count)) {
return;
}
qla2x00_callback(ha, sp->cmd);
}
/**************************************************************************
* sp_get
*
* Description:
* Increment reference count of the specified sp.
*
* Input:
* sp - pointer to srb_t structure to use.
*
* Returns:
*
**************************************************************************/
static inline void
sp_get(struct scsi_qla_host * ha, srb_t *sp)
{
atomic_inc(&sp->ref_count);
if (atomic_read(&sp->ref_count) > 2) {
qla_printk(KERN_INFO, ha,
"%s(): **** SP->ref_count greater than two\n",
__func__);
DEBUG2(BUG();)
return;
}
}
static inline void
qla2x00_delete_from_done_queue(scsi_qla_host_t *dest_ha, srb_t *sp)
{
......
......@@ -241,6 +241,20 @@ qla2x00_free_iodesc(struct io_descriptor *iodesc)
iodesc->signature = 0;
}
/**
* qla2x00_remove_iodesc_timer() - Remove an active timer from an IO descriptor.
* @iodesc: io descriptor
*/
static inline void
qla2x00_remove_iodesc_timer(struct io_descriptor *iodesc)
{
if (iodesc->timer.function != NULL) {
del_timer_sync(&iodesc->timer);
iodesc->timer.data = (unsigned long) NULL;
iodesc->timer.function = NULL;
}
}
/**
* qla2x00_init_io_descriptors() - Initialize the pool of IO descriptors.
* @ha: HA context
......@@ -311,20 +325,6 @@ qla2x00_add_iodesc_timer(struct io_descriptor *iodesc)
add_timer(&iodesc->timer);
}
/**
* qla2x00_remove_iodesc_timer() - Remove an active timer from an IO descriptor.
* @iodesc: io descriptor
*/
static inline void
qla2x00_remove_iodesc_timer(struct io_descriptor *iodesc)
{
if (iodesc->timer.function != NULL) {
del_timer_sync(&iodesc->timer);
iodesc->timer.data = (unsigned long) NULL;
iodesc->timer.function = NULL;
}
}
/**
* IO descriptor support routines.
**/
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment