From: Julia Lawall <julia.law...@lip6.fr>

The semantic patch that fixes this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@r@
type T;
identifier f;
@@

static T f (...) { ... }

@@
identifier r.f;
declarer name EXPORT_SYMBOL;
@@

-EXPORT_SYMBOL(f);
// </smpl>

Furthermore, the function is never used, so its definition is dropped as
well.

Signed-off-by: Julia Lawall <julia.law...@lip6.fr>

---
 arch/powerpc/sysdev/qe_lib/qe_io.c |   25 -------------------------
 1 file changed, 25 deletions(-)

diff --git a/arch/powerpc/sysdev/qe_lib/qe_io.c 
b/arch/powerpc/sysdev/qe_lib/qe_io.c
index d099941..7ea0174 100644
--- a/arch/powerpc/sysdev/qe_lib/qe_io.c
+++ b/arch/powerpc/sysdev/qe_lib/qe_io.c
@@ -190,28 +190,3 @@ int par_io_of_config(struct device_node *np)
        return 0;
 }
 EXPORT_SYMBOL(par_io_of_config);
-
-#ifdef DEBUG
-static void dump_par_io(void)
-{
-       unsigned int i;
-
-       printk(KERN_INFO "%s: par_io=%p\n", __func__, par_io);
-       for (i = 0; i < num_par_io_ports; i++) {
-               printk(KERN_INFO "      cpodr[%u]=%08x\n", i,
-                       in_be32(&par_io[i].cpodr));
-               printk(KERN_INFO "      cpdata[%u]=%08x\n", i,
-                       in_be32(&par_io[i].cpdata));
-               printk(KERN_INFO "      cpdir1[%u]=%08x\n", i,
-                       in_be32(&par_io[i].cpdir1));
-               printk(KERN_INFO "      cpdir2[%u]=%08x\n", i,
-                       in_be32(&par_io[i].cpdir2));
-               printk(KERN_INFO "      cppar1[%u]=%08x\n", i,
-                       in_be32(&par_io[i].cppar1));
-               printk(KERN_INFO "      cppar2[%u]=%08x\n", i,
-                       in_be32(&par_io[i].cppar2));
-       }
-
-}
-EXPORT_SYMBOL(dump_par_io);
-#endif /* DEBUG */
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to