lkml.org 
[lkml]   [2015]   [May]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
SubjectRe: [PATCH] [RESEND] SCSI: ips: remove pointless #warning
From
Date
On Tue, 2015-05-19 at 15:56 +0200, Arnd Bergmann wrote:
> On Tuesday 19 May 2015 06:52:52 James Bottomley wrote:
> > On Tue, 2015-05-19 at 15:33 +0200, Arnd Bergmann wrote:
> > > The ips driver contains
> > >
> > > #warning "This driver has only been tested on the x86/ia64/x86_64 platforms"
> > >
> > > which gets printed by the compiler every time this driver gets
> > > build for something other than those three architectures. The same
> > > is true for most other drivers, but none of them prints a warning like
> > > this.
> > >
> > > Let's remove the warning now to reduce the amount of clutter.
> > >
> > > FWIW, I've reviewed the driver and found a few oddities, but nothing
> > > that needs to be fixed or that would be architecture specific.
> >
> > In principle I don't disagree. However this warning was a specific
> > request of the driver writers. Since the driver is pretty much dead,
> > I'm not sure anyone is going to check or fix it for non-intel any time
> > soon.
>
> My main interest here is to get a clean build of ARM 'allmodconfig'.
>
> If you prefer another approach, we could also add 'depends on X86 || IA64'
> into Kconfig, which would also avoid that warning.

Actually, no, that would cause problems if anyone is actually using this
driver on non-intel. What about this? It captures the intent of the
original but gets rid of the warning.

James

---

diff --git a/drivers/scsi/ips.c b/drivers/scsi/ips.c
index 7542f11..6242872 100644
--- a/drivers/scsi/ips.c
+++ b/drivers/scsi/ips.c
@@ -206,10 +206,6 @@ module_param(ips, charp, 0);
#define IPS_VERSION_HIGH IPS_VER_MAJOR_STRING "." IPS_VER_MINOR_STRING
#define IPS_VERSION_LOW "." IPS_VER_BUILD_STRING " "

-#if !defined(__i386__) && !defined(__ia64__) && !defined(__x86_64__)
-#warning "This driver has only been tested on the x86/ia64/x86_64 platforms"
-#endif
-
#define IPS_DMA_DIR(scb) ((!scb->scsi_cmd || ips_is_passthru(scb->scsi_cmd) || \
DMA_NONE == scb->scsi_cmd->sc_data_direction) ? \
PCI_DMA_BIDIRECTIONAL : \
@@ -6788,6 +6784,11 @@ ips_remove_device(struct pci_dev *pci_dev)
static int __init
ips_module_init(void)
{
+#if !defined(__i386__) && !defined(__ia64__) && !defined(__x86_64__)
+ printk(KERN_ERR, "ips: This driver has only been tested on the x86/ia64/x86_64 platforms\n");
+ add_taint(TAINT_CPU_OUT_OF_SPEC, LOCKDEP_STILL_OK);
+#endif
+
if (pci_register_driver(&ips_pci_driver) < 0)
return -ENODEV;
ips_driver_template.module = THIS_MODULE;



\
 
 \ /
  Last update: 2015-05-19 21:21    [W:0.061 / U:1.028 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site