Re: [PATCH] staging: comedi: ni_mio_common.c: local functions should be static

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2012-06-06 17:22, H Hartley Sweeten wrote:
On Wednesday, June 06, 2012 3:17 AM, Ian Abbott wrote:
On 2012-06-05 19:20, H Hartley Sweeten wrote:
Local functions should be marked static to prevent them from
being exposed globally.

This quiets the following sparse warnings:

warning: symbol 'ni_release_gpct_mite_channel' was not declared. Should it be static?
warning: symbol 'ni_prime_channelgain_list' was not declared. Should it be static?

Signed-off-by: H Hartley Sweeten<hsweeten@xxxxxxxxxxxxxxxxxxx>
Cc: Ian Abbott<abbotti@xxxxxxxxx>
Cc: Mori Hess<fmhess@xxxxxxxxxxxxxxxxxxxxx>
Cc: Greg Kroah-Hartman<gregkh@xxxxxxxxxxxxxxxxxxx>

---

diff --git a/drivers/staging/comedi/drivers/ni_mio_common.c b/drivers/staging/comedi/drivers/ni_mio_common.c
index fd232bc..3b3a0b1 100644
--- a/drivers/staging/comedi/drivers/ni_mio_common.c
+++ b/drivers/staging/comedi/drivers/ni_mio_common.c
@@ -644,7 +644,7 @@ static void ni_release_ao_mite_channel(struct comedi_device *dev)
   #endif /*  PCIDMA */
   }

-void ni_release_gpct_mite_channel(struct comedi_device *dev,
+static void ni_release_gpct_mite_channel(struct comedi_device *dev,
   				  unsigned gpct_index)
   {
   #ifdef PCIDMA
@@ -1880,7 +1880,7 @@ static int ni_ai_insn_read(struct comedi_device *dev,
   	return insn->n;
   }

This results in a compiler warning about the unused function
ni_release_gpct_mite_channel when compiling ni_atmio.c.  It was unused
before of course, but now it is static, the compiler realizes it!

Ugh... c code including c code... I didn't notice that until now.

It could be fixed for now by moving the '#ifdef PCIDMA' and matching
'#endif' to surround the whole function, though I guess we want to try
and get rid of the #ifdef's eventually.  It's tricky because
ni_mio_common.c isn't a standalone compilation unit, it's #include'd by
some other .c files.  We might need to have a go at splitting it up at
some point.

The ni_mio_common.c file should just get turned into a library module.

Right now it's a bit of a mess. The individual drivers define PCIDMA
before including ni_mio_common.c. The only one that sets the define
is ni_pcimio but it's also included by ni_atmio and ni_mio_cs.

I'll look it over and see what might be done to fix it.

You have to be careful with module dependencies if doing that, as you don't want the ni_atmio module to depend on the mite and ni_tiocmd modules for example.

--
-=( Ian Abbott @ MEV Ltd.    E-mail: <abbotti@xxxxxxxxx>        )=-
-=( Tel: +44 (0)161 477 1898   FAX: +44 (0)161 718 3587         )=-
_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel


[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux