qe_lib: export symbols to fix compile error when QE drivers compile as modules
PATCH 1/1 qe_lib: export symbols to fix compile error when QE drivers compile as modules
Export symbols of qe_lib to be used by QE drivers.
---
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(-)
arch/powerpc/sysdev/qe_lib/ucc.c +0 -0
@@ -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);
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);
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);
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);
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);
arch/powerpc/sysdev/qe_lib/ucc_fast.c +0 -0
@@ -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);
arch/powerpc/sysdev/qe_lib/ucc_slow.c +0 -0
@@ -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);
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);
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);
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);
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);
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);
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);
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);
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);
Quoted 8 lines · Li Yang
Export symbols of
qe_libto be used by QE drivers.Signed-off-by Li Yang <[email protected]>---
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 18 lines
arch/powerpc/sysdev/qe_lib/ucc.c +2
-0@@ -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)
arch/powerpc/sysdev/qe_lib/ucc.c int ucc_set_type(int ucc_num, struct ucc_common · line 71
Quoted 4 lines
arch/powerpc/sysdev/qe_lib/ucc.c +1
-0@@ -66,6 +68,7 @@ int ucc_set_type(int ucc_num, struct ucc_common *regs, return 0; } +EXPORT_SYMBOL (ucc_set_type);
remove.
arch/powerpc/sysdev/qe_lib/ucc.c int ucc_init_guemr(struct ucc_common *regs) · line 86
Quoted 6 lines
arch/powerpc/sysdev/qe_lib/ucc.c +1
-0int 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.
arch/powerpc/sysdev/qe_lib/ucc.c static void get_cmxucr_reg(int ucc_num, · line 130
Quoted 8 lines
arch/powerpc/sysdev/qe_lib/ucc.c +1
-0static 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.
arch/powerpc/sysdev/qe_lib/ucc.c int ucc_mux_set_grant_tsa_bkpt(int ucc_num, int · line 150
Quoted 7 lines
arch/powerpc/sysdev/qe_lib/ucc.c +1
-0int 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
arch/powerpc/sysdev/qe_lib/ucc.c int ucc_set_qe_mux_rxtx(int ucc_num, enum · line 260
Quoted 7 lines
arch/powerpc/sysdev/qe_lib/ucc.c +1
-0int 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 71 lines
arch/powerpc/sysdev/qe_lib/ucc_fast.c +6
-0@@ -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, structucc_fast_private** ucc*uccf_ret = uccf; return 0; }+EXPORT_SYMBOL(ucc_fast_init);
voiducc_fast_free(struct ucc_fast_private * uccf){arch/powerpc/sysdev/qe_lib/ucc_fast.c +1
-0@@ -355,3 +362,4 @@ void ucc_fast_free(struct ucc_fast_private * uccf)kfree (uccf); } +EXPORT_SYMBOL (ucc_fast_free);arch/powerpc/sysdev/qe_lib/ucc_slow.c +1
-0@@ -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>
arch/powerpc/sysdev/qe_lib/ucc_slow.c u32 ucc_slow_get_qe_cr_subblock(int uccs_num) · line 45
Quoted 4 lines
arch/powerpc/sysdev/qe_lib/ucc_slow.c +1
-0@@ -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.
arch/powerpc/sysdev/qe_lib/ucc_slow.c u32 ucc_slow_get_qe_cr_subblock(int uccs_num) · line 50
Quoted 5 lines
arch/powerpc/sysdev/qe_lib/ucc_slow.c +1
-0void 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.
arch/powerpc/sysdev/qe_lib/ucc_slow.c void ucc_slow_graceful_stop_tx(struct · line 63
Quoted 8 lines
arch/powerpc/sysdev/qe_lib/ucc_slow.c +1
-0void 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.
arch/powerpc/sysdev/qe_lib/ucc_slow.c void ucc_slow_stop_tx(struct ucc_slow_private * · line 73
Quoted 8 lines
arch/powerpc/sysdev/qe_lib/ucc_slow.c +1
-0void 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.
arch/powerpc/sysdev/qe_lib/ucc_slow.c void ucc_slow_restart_tx(struct ucc_slow_private · line 83
Quoted 8 lines
arch/powerpc/sysdev/qe_lib/ucc_slow.c +1
-0void 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.
arch/powerpc/sysdev/qe_lib/ucc_slow.c void ucc_slow_enable(struct ucc_slow_private * · line 104
Quoted 8 lines
arch/powerpc/sysdev/qe_lib/ucc_slow.c +1
-0void 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.
arch/powerpc/sysdev/qe_lib/ucc_slow.c void ucc_slow_disable(struct ucc_slow_private * · line 125
Quoted 8 lines
arch/powerpc/sysdev/qe_lib/ucc_slow.c +1
-0void 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 8 lines
arch/powerpc/sysdev/qe_lib/ucc_slow.c +0
-0int 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, structucc_slow_private** ucc*uccs_ret = uccs; return 0; }+EXPORT_SYMBOL(ucc_slow_init);
remove.
Quoted 8 lines
void
ucc_slow_free(struct ucc_slow_private * uccs){arch/powerpc/sysdev/qe_lib/ucc_slow.c +1
-2@@ -368,5 +377,4 @@ void ucc_slow_free(struct ucc_slow_private * uccs)kfree (uccs); } - - +EXPORT_SYMBOL (ucc_slow_free);
Quoted 7 lines
-----Original Message-----
From: Kumar Gala [mailto:[email protected]]
Sent: Thursday, May 24, 2007 7:44 PM
To: Li Yang-r58472
Cc: Paul; [email protected]
Subject: Re: [PATCH]qe_lib: export symbols to fix compile error when
QE drivers
Quoted 13 lines
compile as modules
=20
=20
On May 24, 2007, at 4:14 AM, Li Yang wrote:
=20Quoted 8 lines
Export symbols of
qe_libto be used by QE drivers.Signed-off-by Li Yang <[email protected]>---
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(-)
Quoted 4 lines
=20
A number of theEXPORT_SYMBOL()are not used by any in kernel drivers and thus should not be added. See comments below. Also, should these beEXPORT_SYMBOL_GPL().
Some of them are not used by in kernel driver, but they are used by some off kernel drivers and driver in development. Shouldn't we export them?
I know Linux is again non-GPL modules, but Freescale won't be forcing customers to use GPL as long as Linux doesn't ban non-GPL module completely.
Quoted 11 lines
Review static void get_cmxucr_reg(int ucc_num, · line 130
Quoted 9 lines
static void get_cmxucr_reg(int
ucc_num, volatile u32 **p_cmxucr, u8 *reg_num,u8 * shift)(quoted diff) +1
-0@@ -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);=20
remove, you shouldn't be exporting something marked static.
Good catch.
Thanks,
Leo
Quoted 22 lines · On May 24, 2007, at 9:45 PM, Li Yang-r58472 wrote:
Quoted 7 lines
-----Original Message-----
From: Kumar Gala [mailto:[email protected]]
Sent: Thursday, May 24, 2007 7:44 PM
To: Li Yang-r58472
Cc: Paul; [email protected]
Subject: Re: [PATCH]qe_lib: export symbols to fix compile error whenQE drivers
Quoted 14 lines
compile as modules
Quoted 8 lines · Li Yang
Export symbols of
qe_libto be used by QE drivers.Signed-off-by Li Yang <[email protected]>---
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(-)
Quoted 6 lines
Quoted 3 lines
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 beEXPORT_SYMBOL_GPL().Some of them are not used by in kernel driver, but they are used by some off kernel drivers and driver in development. Shouldn't we export them?
Nope, its been a pretty established rule that we don't export symbols for drivers not in the kernel. These drivers should really be submitted for acceptance into the kernel and than we can export the symbols they need.
While I can see a need for the *slow* symbols to be exported until there is a driver needing them we shouldn't export the symbols.
Quoted 3 lines
I know Linux is again non-GPL modules, but Freescale won't be forcing customers to use GPL as long as Linux doesn't ban non-GPL module completely.
That's fine.
Quoted 16 lines
Quoted 11 lines
Review static void get_cmxucr_reg(int ucc_num, · line 130
Quoted 9 lines
static void get_cmxucr_reg(int
ucc_num, volatile u32 **p_cmxucr, u8 *reg_num,u8 * shift)(quoted diff) +1
-0@@ -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.
Good catch.
Thanks,
Leo
Quoted 39 lines · Kumar Gala
Quoted 22 lines · On May 24, 2007, at 9:45 PM, Li Yang-r58472 wrote:
Quoted 7 lines
-----Original Message-----
From: Kumar Gala [mailto:[email protected]]
Sent: Thursday, May 24, 2007 7:44 PM
To: Li Yang-r58472
Cc: Paul; [email protected]
Subject: Re: [PATCH]qe_lib: export symbols to fix compile error whenQE drivers
Quoted 14 lines
compile as modules
Quoted 8 lines · Li Yang
Export symbols of
qe_libto be used by QE drivers.Signed-off-by Li Yang <[email protected]>---
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(-)Quoted 8 lines
Quoted 3 lines
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 beEXPORT_SYMBOL_GPL().Some of them are not used by in kernel driver, but they are used by some
off kernel drivers and driver in development. Shouldn't we export them?Nope, its been a pretty established rule that we don't export symbols for drivers not in the kernel. These drivers should really be submitted for acceptance into the kernel and than we can export the symbols they need.
Quoted 25 lines
While I can see a need for the *slow* symbols to be exported until there is a driver needing them we shouldn't export the symbols.
Quoted 3 lines
I know Linux is again non-GPL modules, but Freescale won't be forcing customers to use GPL as long as Linux doesn't ban non-GPL module completely.
That's fine.
Quoted 16 lines
Quoted 11 lines
Review static void get_cmxucr_reg(int ucc_num, · line 130
Quoted 9 lines
static void get_cmxucr_reg(int
ucc_num, volatile u32 **p_cmxucr, u8 *reg_num,u8 * shift)(quoted diff) +1
-0@@ -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.
Good catch.
Thanks,
Leo
What happened with this?
- k
Quoted 37 lines
-----Original Message-----
From: Kumar Gala [mailto:[email protected]]=20
Sent: Wednesday, October 17, 2007 11:30 PM
To: Li Yang-r58472
Cc: linuxppc-dev list; Tabi Timur-B04825
Subject: Re: [PATCH]qe_lib: export symbols to fix compile=20 error when QE drivers compile as modules
=20
=20
On May 25, 2007, at 7:15 AM, Kumar Gala wrote:
=20Quoted 19 lines · On May 24, 2007, at 9:45 PM, Li Yang-r58472 wrote:
Quoted 17 lines
Quoted 9 lines
-----Original Message-----
From: Kumar Gala [mailto:[email protected]]
Sent: Thursday, May 24, 2007 7:44 PM
To: Li Yang-r58472
Cc: Paul; [email protected]
Subject: Re: [PATCH]qe_lib: export symbols to fix compile error=20 whenQE drivers
Quoted 7 lines
compile as modules
Quoted 2 lines · Li Yang
Export symbols of
qe_libto be used by QE drivers.Quoted 7 lines
Quoted 7 lines
Quoted 7 lines
Quoted 6 lines
Signed-off-by Li Yang <[email protected]>---
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(-)
Quoted 2 lines
=20
What happened with this?
This has been merged as commit 65482ccf9d00bf4f68e17eb9c656d045d26e5d1f.
- Leo
Quoted 10 lines
Quoted 10 lines
Quoted 9 lines
Quoted 9 lines
Quoted 9 lines
Quoted 8 lines
Export symbols of
qe_libto be used by QE drivers.Signed-off-by Li Yang <[email protected]>---
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(-)
Quoted 3 lines
Quoted 1 line
What happened with this?
This has been merged as commit
65482ccf9d00bf4f68e17eb9c656d045d26e5d1f.
Ignore me I see the commit. Timur will just need to EXPORT_SYMBOL() what additional functions he needs for the uart driver.
- k