Commit 7c193b27 authored by Adrian Bunk's avatar Adrian Bunk Committed by Christoph Hellwig

[PATCH] SCSI ips: remove inlines

Trying to compile drivers/scsi/ips.c with gcc 3.4 and
  # define inline         __inline__ __attribute__((always_inline))
results in the following error:

<--  snip  -->

...
  CC      drivers/scsi/ips.o
drivers/scsi/ips.c: In function `ips_eh_abort':
drivers/scsi/ips.c:490: sorry, unimplemented: inlining failed in call to
'ips_removeq_copp': function body not available
drivers/scsi/ips.c:843: sorry, unimplemented: called from here
drivers/scsi/ips.c:488: sorry, unimplemented: inlining failed in call to
'ips_removeq_wait': function body not available
drivers/scsi/ips.c:847: sorry, unimplemented: called from here
make[2]: *** [drivers/scsi/ips.o] Error 1

<--  snip  -->


The patch below removes all inlines from ips.c. As a side effect, this
showed that 3 formerly inlined functions are completely unused which are
also removed in the patch.

An alternative approach to removing the inlines would be to keep all
inlines that are _really_ required and reorder the functions in the file
accordingly.


diffstat output:
 drivers/scsi/ips.c |  130 ++++++---------------------------------------
 1 files changed, 19 insertions(+), 111 deletions(-)
Signed-off-by: default avatarAdrian Bunk <bunk@fs.tum.de>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
parent d54aa901
...@@ -474,21 +474,17 @@ static uint32_t ips_statupd_copperhead(ips_ha_t *); ...@@ -474,21 +474,17 @@ static uint32_t ips_statupd_copperhead(ips_ha_t *);
static uint32_t ips_statupd_copperhead_memio(ips_ha_t *); static uint32_t ips_statupd_copperhead_memio(ips_ha_t *);
static uint32_t ips_statupd_morpheus(ips_ha_t *); static uint32_t ips_statupd_morpheus(ips_ha_t *);
static ips_scb_t *ips_getscb(ips_ha_t *); static ips_scb_t *ips_getscb(ips_ha_t *);
static inline void ips_putq_scb_head(ips_scb_queue_t *, ips_scb_t *); static void ips_putq_scb_head(ips_scb_queue_t *, ips_scb_t *);
static inline void ips_putq_scb_tail(ips_scb_queue_t *, ips_scb_t *); static void ips_putq_wait_tail(ips_wait_queue_t *, Scsi_Cmnd *);
static inline void ips_putq_wait_head(ips_wait_queue_t *, Scsi_Cmnd *); static void ips_putq_copp_tail(ips_copp_queue_t *,
static inline void ips_putq_wait_tail(ips_wait_queue_t *, Scsi_Cmnd *);
static inline void ips_putq_copp_head(ips_copp_queue_t *,
ips_copp_wait_item_t *); ips_copp_wait_item_t *);
static inline void ips_putq_copp_tail(ips_copp_queue_t *, static ips_scb_t *ips_removeq_scb_head(ips_scb_queue_t *);
static ips_scb_t *ips_removeq_scb(ips_scb_queue_t *, ips_scb_t *);
static Scsi_Cmnd *ips_removeq_wait_head(ips_wait_queue_t *);
static Scsi_Cmnd *ips_removeq_wait(ips_wait_queue_t *, Scsi_Cmnd *);
static ips_copp_wait_item_t *ips_removeq_copp(ips_copp_queue_t *,
ips_copp_wait_item_t *); ips_copp_wait_item_t *);
static inline ips_scb_t *ips_removeq_scb_head(ips_scb_queue_t *); static ips_copp_wait_item_t *ips_removeq_copp_head(ips_copp_queue_t *);
static inline ips_scb_t *ips_removeq_scb(ips_scb_queue_t *, ips_scb_t *);
static inline Scsi_Cmnd *ips_removeq_wait_head(ips_wait_queue_t *);
static inline Scsi_Cmnd *ips_removeq_wait(ips_wait_queue_t *, Scsi_Cmnd *);
static inline ips_copp_wait_item_t *ips_removeq_copp(ips_copp_queue_t *,
ips_copp_wait_item_t *);
static inline ips_copp_wait_item_t *ips_removeq_copp_head(ips_copp_queue_t *);
static int ips_is_passthru(Scsi_Cmnd *); static int ips_is_passthru(Scsi_Cmnd *);
static int ips_make_passthru(ips_ha_t *, Scsi_Cmnd *, ips_scb_t *, int); static int ips_make_passthru(ips_ha_t *, Scsi_Cmnd *, ips_scb_t *, int);
...@@ -1885,7 +1881,7 @@ ips_flash_bios(ips_ha_t * ha, ips_passthru_t * pt, ips_scb_t * scb) ...@@ -1885,7 +1881,7 @@ ips_flash_bios(ips_ha_t * ha, ips_passthru_t * pt, ips_scb_t * scb)
/* Fill in a single scb sg_list element from an address */ /* Fill in a single scb sg_list element from an address */
/* return a -1 if a breakup occurred */ /* return a -1 if a breakup occurred */
/****************************************************************************/ /****************************************************************************/
static inline int static int
ips_fill_scb_sg_single(ips_ha_t * ha, dma_addr_t busaddr, ips_fill_scb_sg_single(ips_ha_t * ha, dma_addr_t busaddr,
ips_scb_t * scb, int indx, unsigned int e_len) ips_scb_t * scb, int indx, unsigned int e_len)
{ {
...@@ -2950,7 +2946,7 @@ ips_next(ips_ha_t * ha, int intr) ...@@ -2950,7 +2946,7 @@ ips_next(ips_ha_t * ha, int intr)
/* ASSUMED to be called from within the HA lock */ /* ASSUMED to be called from within the HA lock */
/* */ /* */
/****************************************************************************/ /****************************************************************************/
static inline void static void
ips_putq_scb_head(ips_scb_queue_t * queue, ips_scb_t * item) ips_putq_scb_head(ips_scb_queue_t * queue, ips_scb_t * item)
{ {
METHOD_TRACE("ips_putq_scb_head", 1); METHOD_TRACE("ips_putq_scb_head", 1);
...@@ -2967,38 +2963,6 @@ ips_putq_scb_head(ips_scb_queue_t * queue, ips_scb_t * item) ...@@ -2967,38 +2963,6 @@ ips_putq_scb_head(ips_scb_queue_t * queue, ips_scb_t * item)
queue->count++; queue->count++;
} }
/****************************************************************************/
/* */
/* Routine Name: ips_putq_scb_tail */
/* */
/* Routine Description: */
/* */
/* Add an item to the tail of the queue */
/* */
/* ASSUMED to be called from within the HA lock */
/* */
/****************************************************************************/
static inline void
ips_putq_scb_tail(ips_scb_queue_t * queue, ips_scb_t * item)
{
METHOD_TRACE("ips_putq_scb_tail", 1);
if (!item)
return;
item->q_next = NULL;
if (queue->tail)
queue->tail->q_next = item;
queue->tail = item;
if (!queue->head)
queue->head = item;
queue->count++;
}
/****************************************************************************/ /****************************************************************************/
/* */ /* */
/* Routine Name: ips_removeq_scb_head */ /* Routine Name: ips_removeq_scb_head */
...@@ -3010,7 +2974,7 @@ ips_putq_scb_tail(ips_scb_queue_t * queue, ips_scb_t * item) ...@@ -3010,7 +2974,7 @@ ips_putq_scb_tail(ips_scb_queue_t * queue, ips_scb_t * item)
/* ASSUMED to be called from within the HA lock */ /* ASSUMED to be called from within the HA lock */
/* */ /* */
/****************************************************************************/ /****************************************************************************/
static inline ips_scb_t * static ips_scb_t *
ips_removeq_scb_head(ips_scb_queue_t * queue) ips_removeq_scb_head(ips_scb_queue_t * queue)
{ {
ips_scb_t *item; ips_scb_t *item;
...@@ -3045,7 +3009,7 @@ ips_removeq_scb_head(ips_scb_queue_t * queue) ...@@ -3045,7 +3009,7 @@ ips_removeq_scb_head(ips_scb_queue_t * queue)
/* ASSUMED to be called from within the HA lock */ /* ASSUMED to be called from within the HA lock */
/* */ /* */
/****************************************************************************/ /****************************************************************************/
static inline ips_scb_t * static ips_scb_t *
ips_removeq_scb(ips_scb_queue_t * queue, ips_scb_t * item) ips_removeq_scb(ips_scb_queue_t * queue, ips_scb_t * item)
{ {
ips_scb_t *p; ips_scb_t *p;
...@@ -3080,34 +3044,6 @@ ips_removeq_scb(ips_scb_queue_t * queue, ips_scb_t * item) ...@@ -3080,34 +3044,6 @@ ips_removeq_scb(ips_scb_queue_t * queue, ips_scb_t * item)
return (NULL); return (NULL);
} }
/****************************************************************************/
/* */
/* Routine Name: ips_putq_wait_head */
/* */
/* Routine Description: */
/* */
/* Add an item to the head of the queue */
/* */
/* ASSUMED to be called from within the HA lock */
/* */
/****************************************************************************/
static inline void
ips_putq_wait_head(ips_wait_queue_t * queue, Scsi_Cmnd * item)
{
METHOD_TRACE("ips_putq_wait_head", 1);
if (!item)
return;
item->host_scribble = (char *) queue->head;
queue->head = item;
if (!queue->tail)
queue->tail = item;
queue->count++;
}
/****************************************************************************/ /****************************************************************************/
/* */ /* */
/* Routine Name: ips_putq_wait_tail */ /* Routine Name: ips_putq_wait_tail */
...@@ -3119,7 +3055,7 @@ ips_putq_wait_head(ips_wait_queue_t * queue, Scsi_Cmnd * item) ...@@ -3119,7 +3055,7 @@ ips_putq_wait_head(ips_wait_queue_t * queue, Scsi_Cmnd * item)
/* ASSUMED to be called from within the HA lock */ /* ASSUMED to be called from within the HA lock */
/* */ /* */
/****************************************************************************/ /****************************************************************************/
static inline void static void
ips_putq_wait_tail(ips_wait_queue_t * queue, Scsi_Cmnd * item) ips_putq_wait_tail(ips_wait_queue_t * queue, Scsi_Cmnd * item)
{ {
METHOD_TRACE("ips_putq_wait_tail", 1); METHOD_TRACE("ips_putq_wait_tail", 1);
...@@ -3151,7 +3087,7 @@ ips_putq_wait_tail(ips_wait_queue_t * queue, Scsi_Cmnd * item) ...@@ -3151,7 +3087,7 @@ ips_putq_wait_tail(ips_wait_queue_t * queue, Scsi_Cmnd * item)
/* ASSUMED to be called from within the HA lock */ /* ASSUMED to be called from within the HA lock */
/* */ /* */
/****************************************************************************/ /****************************************************************************/
static inline Scsi_Cmnd * static Scsi_Cmnd *
ips_removeq_wait_head(ips_wait_queue_t * queue) ips_removeq_wait_head(ips_wait_queue_t * queue)
{ {
Scsi_Cmnd *item; Scsi_Cmnd *item;
...@@ -3186,7 +3122,7 @@ ips_removeq_wait_head(ips_wait_queue_t * queue) ...@@ -3186,7 +3122,7 @@ ips_removeq_wait_head(ips_wait_queue_t * queue)
/* ASSUMED to be called from within the HA lock */ /* ASSUMED to be called from within the HA lock */
/* */ /* */
/****************************************************************************/ /****************************************************************************/
static inline Scsi_Cmnd * static Scsi_Cmnd *
ips_removeq_wait(ips_wait_queue_t * queue, Scsi_Cmnd * item) ips_removeq_wait(ips_wait_queue_t * queue, Scsi_Cmnd * item)
{ {
Scsi_Cmnd *p; Scsi_Cmnd *p;
...@@ -3221,34 +3157,6 @@ ips_removeq_wait(ips_wait_queue_t * queue, Scsi_Cmnd * item) ...@@ -3221,34 +3157,6 @@ ips_removeq_wait(ips_wait_queue_t * queue, Scsi_Cmnd * item)
return (NULL); return (NULL);
} }
/****************************************************************************/
/* */
/* Routine Name: ips_putq_copp_head */
/* */
/* Routine Description: */
/* */
/* Add an item to the head of the queue */
/* */
/* ASSUMED to be called from within the HA lock */
/* */
/****************************************************************************/
static inline void
ips_putq_copp_head(ips_copp_queue_t * queue, ips_copp_wait_item_t * item)
{
METHOD_TRACE("ips_putq_copp_head", 1);
if (!item)
return;
item->next = queue->head;
queue->head = item;
if (!queue->tail)
queue->tail = item;
queue->count++;
}
/****************************************************************************/ /****************************************************************************/
/* */ /* */
/* Routine Name: ips_putq_copp_tail */ /* Routine Name: ips_putq_copp_tail */
...@@ -3260,7 +3168,7 @@ ips_putq_copp_head(ips_copp_queue_t * queue, ips_copp_wait_item_t * item) ...@@ -3260,7 +3168,7 @@ ips_putq_copp_head(ips_copp_queue_t * queue, ips_copp_wait_item_t * item)
/* ASSUMED to be called from within the HA lock */ /* ASSUMED to be called from within the HA lock */
/* */ /* */
/****************************************************************************/ /****************************************************************************/
static inline void static void
ips_putq_copp_tail(ips_copp_queue_t * queue, ips_copp_wait_item_t * item) ips_putq_copp_tail(ips_copp_queue_t * queue, ips_copp_wait_item_t * item)
{ {
METHOD_TRACE("ips_putq_copp_tail", 1); METHOD_TRACE("ips_putq_copp_tail", 1);
...@@ -3292,7 +3200,7 @@ ips_putq_copp_tail(ips_copp_queue_t * queue, ips_copp_wait_item_t * item) ...@@ -3292,7 +3200,7 @@ ips_putq_copp_tail(ips_copp_queue_t * queue, ips_copp_wait_item_t * item)
/* ASSUMED to be called from within the HA lock */ /* ASSUMED to be called from within the HA lock */
/* */ /* */
/****************************************************************************/ /****************************************************************************/
static inline ips_copp_wait_item_t * static ips_copp_wait_item_t *
ips_removeq_copp_head(ips_copp_queue_t * queue) ips_removeq_copp_head(ips_copp_queue_t * queue)
{ {
ips_copp_wait_item_t *item; ips_copp_wait_item_t *item;
...@@ -3327,7 +3235,7 @@ ips_removeq_copp_head(ips_copp_queue_t * queue) ...@@ -3327,7 +3235,7 @@ ips_removeq_copp_head(ips_copp_queue_t * queue)
/* ASSUMED to be called from within the HA lock */ /* ASSUMED to be called from within the HA lock */
/* */ /* */
/****************************************************************************/ /****************************************************************************/
static inline ips_copp_wait_item_t * static ips_copp_wait_item_t *
ips_removeq_copp(ips_copp_queue_t * queue, ips_copp_wait_item_t * item) ips_removeq_copp(ips_copp_queue_t * queue, ips_copp_wait_item_t * item)
{ {
ips_copp_wait_item_t *p; ips_copp_wait_item_t *p;
......
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