Re: [PATCH v4 22/23] mac_scsi: Fix pseudo DMA implementation

From: Finn Thain
Date: Thu May 19 2016 - 08:03:51 EST



On Thu, 19 May 2016, Geert Uytterhoeven wrote:

>
> In file included from drivers/scsi/mac_scsi.c:335:
> drivers/scsi/NCR5380.h:295: warning: `NCR5380_poll_politely' declared inline after being called
> drivers/scsi/NCR5380.h:295: warning: previous declaration of `NCR5380_poll_politely' was here

Thanks for letting me know. My compiler (v4.4.6) doesn't warn about this.
What GCC version are you using? Does this (untested) patch help?

Index: linux/drivers/scsi/NCR5380.c
===================================================================
--- linux.orig/drivers/scsi/NCR5380.c 2016-05-19 21:31:05.000000000 +1000
+++ linux/drivers/scsi/NCR5380.c 2016-05-19 21:39:08.000000000 +1000
@@ -230,13 +230,6 @@ static int NCR5380_poll_politely2(struct
return -ETIMEDOUT;
}

-static inline int NCR5380_poll_politely(struct Scsi_Host *instance,
- int reg, int bit, int val, int wait)
-{
- return NCR5380_poll_politely2(instance, reg, bit, val,
- reg, bit, val, wait);
-}
-
#if NDEBUG
static struct {
unsigned char mask;
Index: linux/drivers/scsi/NCR5380.h
===================================================================
--- linux.orig/drivers/scsi/NCR5380.h 2016-05-19 19:47:06.000000000 +1000
+++ linux/drivers/scsi/NCR5380.h 2016-05-19 21:40:15.000000000 +1000
@@ -292,8 +292,10 @@ static void NCR5380_reselect(struct Scsi
static struct scsi_cmnd *NCR5380_select(struct Scsi_Host *, struct scsi_cmnd *);
static int NCR5380_transfer_dma(struct Scsi_Host *instance, unsigned char *phase, int *count, unsigned char **data);
static int NCR5380_transfer_pio(struct Scsi_Host *instance, unsigned char *phase, int *count, unsigned char **data);
-static int NCR5380_poll_politely(struct Scsi_Host *, int, int, int, int);
static int NCR5380_poll_politely2(struct Scsi_Host *, int, int, int, int, int, int, int);

+#define NCR5380_poll_politely(instance, reg, bit, val, wait) \
+ NCR5380_poll_politely2(instance, reg, bit, val, reg, bit, val, wait)
+
#endif /* __KERNEL__ */
#endif /* NCR5380_H */

--