Thread (7 messages) flat view 7 messages, 2 authors, 2007-10-19

Re: [PATCH] qe_lib: export symbols to fix compile error when QE drivers compile as modules

From: Kumar Gala <hidden>
Date: 2007-05-24 11:45:42

On May 24, 2007, at 4:14 AM, Li Yang wrote:
Export symbols of qe_lib to be used by QE drivers.

Signed-off-by: Li Yang <redacted>
---
arch/powerpc/sysdev/qe_lib/ucc.c      |    7 +++++++
arch/powerpc/sysdev/qe_lib/ucc_fast.c |    8 ++++++++
arch/powerpc/sysdev/qe_lib/ucc_slow.c |   12 ++++++++++--
3 files changed, 25 insertions(+), 2 deletions(-)
A number of the EXPORT_SYMBOL() are not used by any in kernel drivers  
and thus should not be added.  See comments below.  Also, should  
these be EXPORT_SYMBOL_GPL().
quoted hunk ↗ jump to hunk
diff --git a/arch/powerpc/sysdev/qe_lib/ucc.c b/arch/powerpc/sysdev/ 
qe_lib/ucc.c
index ac12a44..e8635aa 100644
--- a/arch/powerpc/sysdev/qe_lib/ucc.c
+++ b/arch/powerpc/sysdev/qe_lib/ucc.c
@@ -18,6 +18,7 @@
#include <linux/errno.h>
#include <linux/slab.h>
#include <linux/stddef.h>
+#include <linux/module.h>
#include <asm/irq.h>
#include <asm/io.h>
@@ -40,6 +41,7 @@ int ucc_set_qe_mux_mii_mng(int ucc_num)
	return 0;
}
+EXPORT_SYMBOL(ucc_set_qe_mux_mii_mng);
int ucc_set_type(int ucc_num, struct ucc_common *regs,
		 enum ucc_speed_type speed)
@@ -66,6 +68,7 @@ int ucc_set_type(int ucc_num, struct ucc_common  
*regs,
	return 0;
}
+EXPORT_SYMBOL(ucc_set_type);
remove.
quoted hunk ↗ jump to hunk
int ucc_init_guemr(struct ucc_common *regs)
{
@@ -81,6 +84,7 @@ int ucc_init_guemr(struct ucc_common *regs)
	return 0;
}
+EXPORT_SYMBOL(ucc_init_guemr);
remove.
quoted hunk ↗ jump to hunk
static void get_cmxucr_reg(int ucc_num, volatile u32 ** p_cmxucr,  
u8 * reg_num,
			   u8 * shift)
@@ -122,6 +126,7 @@ static void get_cmxucr_reg(int ucc_num,  
volatile u32 ** p_cmxucr, u8 * reg_num,
		break;
	}
}
+EXPORT_SYMBOL(get_cmxucr_reg);
remove, you shouldn't be exporting something marked static.
quoted hunk ↗ jump to hunk
int ucc_mux_set_grant_tsa_bkpt(int ucc_num, int set, u32 mask)
{
@@ -142,6 +147,7 @@ int ucc_mux_set_grant_tsa_bkpt(int ucc_num, int  
set, u32 mask)
	return 0;
}
+EXPORT_SYMBOL(ucc_mux_set_grant_tsa_bkpt);
remove
quoted hunk ↗ jump to hunk
int ucc_set_qe_mux_rxtx(int ucc_num, enum qe_clock clock, enum  
comm_dir mode)
{
@@ -251,3 +257,4 @@ int ucc_set_qe_mux_rxtx(int ucc_num, enum  
qe_clock clock, enum comm_dir mode)
	return 0;
}
+EXPORT_SYMBOL(ucc_set_qe_mux_rxtx);
remove.
quoted hunk ↗ jump to hunk
diff --git a/arch/powerpc/sysdev/qe_lib/ucc_fast.c b/arch/powerpc/ 
sysdev/qe_lib/ucc_fast.c
index 9143236..3df202e 100644
--- a/arch/powerpc/sysdev/qe_lib/ucc_fast.c
+++ b/arch/powerpc/sysdev/qe_lib/ucc_fast.c
@@ -19,6 +19,7 @@
#include <linux/stddef.h>
#include <linux/interrupt.h>
#include <linux/err.h>
+#include <linux/module.h>
#include <asm/io.h>
#include <asm/immap_qe.h>
@@ -70,6 +71,7 @@ void ucc_fast_dump_regs(struct ucc_fast_private *  
uccf)
	printk(KERN_INFO "guemr : addr - 0x%08x, val - 0x%02x",
		  (u32) & uccf->uf_regs->guemr, uccf->uf_regs->guemr);
}
+EXPORT_SYMBOL(ucc_fast_dump_regs);
u32 ucc_fast_get_qe_cr_subblock(int uccf_num)
{
@@ -85,11 +87,13 @@ u32 ucc_fast_get_qe_cr_subblock(int uccf_num)
	default: return QE_CR_SUBBLOCK_INVALID;
	}
}
+EXPORT_SYMBOL(ucc_fast_get_qe_cr_subblock);
void ucc_fast_transmit_on_demand(struct ucc_fast_private * uccf)
{
	out_be16(&uccf->uf_regs->utodr, UCC_FAST_TOD);
}
+EXPORT_SYMBOL(ucc_fast_transmit_on_demand);
void ucc_fast_enable(struct ucc_fast_private * uccf, enum comm_dir  
mode)
{
@@ -110,6 +114,7 @@ void ucc_fast_enable(struct ucc_fast_private *  
uccf, enum comm_dir mode)
	}
	out_be32(&uf_regs->gumr, gumr);
}
+EXPORT_SYMBOL(ucc_fast_enable);
void ucc_fast_disable(struct ucc_fast_private * uccf, enum comm_dir  
mode)
{
@@ -130,6 +135,7 @@ void ucc_fast_disable(struct ucc_fast_private *  
uccf, enum comm_dir mode)
	}
	out_be32(&uf_regs->gumr, gumr);
}
+EXPORT_SYMBOL(ucc_fast_disable);
int ucc_fast_init(struct ucc_fast_info * uf_info, struct  
ucc_fast_private ** uccf_ret)
{
@@ -341,6 +347,7 @@ int ucc_fast_init(struct ucc_fast_info *  
uf_info, struct ucc_fast_private ** ucc
	*uccf_ret = uccf;
	return 0;
}
+EXPORT_SYMBOL(ucc_fast_init);
void ucc_fast_free(struct ucc_fast_private * uccf)
{
@@ -355,3 +362,4 @@ void ucc_fast_free(struct ucc_fast_private * uccf)
	kfree(uccf);
}
+EXPORT_SYMBOL(ucc_fast_free);
diff --git a/arch/powerpc/sysdev/qe_lib/ucc_slow.c b/arch/powerpc/ 
sysdev/qe_lib/ucc_slow.c
index 1f65c26..5618275 100644
--- a/arch/powerpc/sysdev/qe_lib/ucc_slow.c
+++ b/arch/powerpc/sysdev/qe_lib/ucc_slow.c
@@ -19,6 +19,7 @@
#include <linux/stddef.h>
#include <linux/interrupt.h>
#include <linux/err.h>
+#include <linux/module.h>
#include <asm/io.h>
#include <asm/immap_qe.h>
@@ -41,11 +42,13 @@ u32 ucc_slow_get_qe_cr_subblock(int uccs_num)
	default: return QE_CR_SUBBLOCK_INVALID;
	}
}
+EXPORT_SYMBOL(ucc_slow_get_qe_cr_subblock);
remove.
void ucc_slow_poll_transmitter_now(struct ucc_slow_private * uccs)
{
	out_be16(&uccs->us_regs->utodr, UCC_SLOW_TOD);
}
+EXPORT_SYMBOL(ucc_slow_poll_transmitter_now);
remove.
quoted hunk ↗ jump to hunk
void ucc_slow_graceful_stop_tx(struct ucc_slow_private * uccs)
{
@@ -56,6 +59,7 @@ void ucc_slow_graceful_stop_tx(struct  
ucc_slow_private * uccs)
	qe_issue_cmd(QE_GRACEFUL_STOP_TX, id,
			 QE_CR_PROTOCOL_UNSPECIFIED, 0);
}
+EXPORT_SYMBOL(ucc_slow_graceful_stop_tx);
remove.
quoted hunk ↗ jump to hunk
void ucc_slow_stop_tx(struct ucc_slow_private * uccs)
{
@@ -65,6 +69,7 @@ void ucc_slow_stop_tx(struct ucc_slow_private *  
uccs)
	id = ucc_slow_get_qe_cr_subblock(us_info->ucc_num);
	qe_issue_cmd(QE_STOP_TX, id, QE_CR_PROTOCOL_UNSPECIFIED, 0);
}
+EXPORT_SYMBOL(ucc_slow_stop_tx);
remove.
quoted hunk ↗ jump to hunk
void ucc_slow_restart_tx(struct ucc_slow_private * uccs)
{
@@ -74,6 +79,7 @@ void ucc_slow_restart_tx(struct ucc_slow_private  
* uccs)
	id = ucc_slow_get_qe_cr_subblock(us_info->ucc_num);
	qe_issue_cmd(QE_RESTART_TX, id, QE_CR_PROTOCOL_UNSPECIFIED, 0);
}
+EXPORT_SYMBOL(ucc_slow_restart_tx);
remove.
quoted hunk ↗ jump to hunk
void ucc_slow_enable(struct ucc_slow_private * uccs, enum comm_dir  
mode)
{
@@ -94,6 +100,7 @@ void ucc_slow_enable(struct ucc_slow_private *  
uccs, enum comm_dir mode)
	}
	out_be32(&us_regs->gumr_l, gumr_l);
}
+EXPORT_SYMBOL(ucc_slow_enable);
remove.
quoted hunk ↗ jump to hunk
void ucc_slow_disable(struct ucc_slow_private * uccs, enum comm_dir  
mode)
{
@@ -114,6 +121,7 @@ void ucc_slow_disable(struct ucc_slow_private *  
uccs, enum comm_dir mode)
	}
	out_be32(&us_regs->gumr_l, gumr_l);
}
+EXPORT_SYMBOL(ucc_slow_disable);
remove.
quoted hunk ↗ jump to hunk
int ucc_slow_init(struct ucc_slow_info * us_info, struct  
ucc_slow_private ** uccs_ret)
{
@@ -349,6 +357,7 @@ int ucc_slow_init(struct ucc_slow_info *  
us_info, struct ucc_slow_private ** ucc
	*uccs_ret = uccs;
	return 0;
}
+EXPORT_SYMBOL(ucc_slow_init);
remove.
quoted hunk ↗ jump to hunk
void ucc_slow_free(struct ucc_slow_private * uccs)
{
@@ -368,5 +377,4 @@ void ucc_slow_free(struct ucc_slow_private * uccs)
	kfree(uccs);
}
-
-
+EXPORT_SYMBOL(ucc_slow_free);
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help