Skip to contentSkip to conversation

ixj.c: EXPORT_SYMBOL of static functions

PATCH In review Adrian Bunk 4 participants 4 messages Jun 22, 2003 – Jun 23, 2003

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ixj.c: EXPORT_SYMBOL of static functions

drivers/telephony/ixj.c EXPORT_SYMBOL's two static functions.

Does this make any sense or is the patch below OK?

cu
Adrian

drivers/telephony/ixj.c renamed from drivers/telephony/ixj.c.old +0 -95
@@ -404,14 +404,10 @@
 	return 0;
 }
 
-static IXJ_REGFUNC ixj_DownloadG729 = &Stub;
-static IXJ_REGFUNC ixj_DownloadTS85 = &Stub;
 static IXJ_REGFUNC ixj_PreRead = &Stub;
 static IXJ_REGFUNC ixj_PostRead = &Stub;
 static IXJ_REGFUNC ixj_PreWrite = &Stub;
 static IXJ_REGFUNC ixj_PostWrite = &Stub;
-static IXJ_REGFUNC ixj_PreIoctl = &Stub;
-static IXJ_REGFUNC ixj_PostIoctl = &Stub;
 
 static void ixj_read_frame(IXJ *j);
 static void ixj_write_frame(IXJ *j);
@@ -790,97 +786,6 @@
 	return 0;
 }
 
-static int ixj_register(int index, IXJ_REGFUNC regfunc)
-{
-	int cnt;
-	int retval = 0;
-	switch (index) {
-	case G729LOADER:
-		ixj_DownloadG729 = regfunc;
-		for (cnt = 0; cnt < IXJMAX; cnt++) {
-			IXJ *j = get_ixj(cnt);
-			while(test_and_set_bit(cnt, (void *)&j->busyflags) != 0) {
-				set_current_state(TASK_INTERRUPTIBLE);
-				schedule_timeout(1);
-			}
-			ixj_DownloadG729(j, 0L);
-			clear_bit(cnt, &j->busyflags);
-		}
-		break;
-	case TS85LOADER:
-		ixj_DownloadTS85 = regfunc;
-		for (cnt = 0; cnt < IXJMAX; cnt++) {
-			IXJ *j = get_ixj(cnt);
-			while(test_and_set_bit(cnt, (void *)&j->busyflags) != 0) {
-				set_current_state(TASK_INTERRUPTIBLE);
-				schedule_timeout(1);
-			}
-			ixj_DownloadTS85(j, 0L);
-			clear_bit(cnt, &j->busyflags);
-		}
-		break;
-	case PRE_READ:
-		ixj_PreRead = regfunc;
-		break;
-	case POST_READ:
-		ixj_PostRead = regfunc;
-		break;
-	case PRE_WRITE:
-		ixj_PreWrite = regfunc;
-		break;
-	case POST_WRITE:
-		ixj_PostWrite = regfunc;
-		break;
-	case PRE_IOCTL:
-		ixj_PreIoctl = regfunc;
-		break;
-	case POST_IOCTL:
-		ixj_PostIoctl = regfunc;
-		break;
-	default:
-		retval = 1;
-	}
-	return retval;
-}
-
-EXPORT_SYMBOL(ixj_register);
-
-static int ixj_unregister(int index)
-{
-	int retval = 0;
-	switch (index) {
-	case G729LOADER:
-		ixj_DownloadG729 = &Stub;
-		break;
-	case TS85LOADER:
-		ixj_DownloadTS85 = &Stub;
-		break;
-	case PRE_READ:
-		ixj_PreRead = &Stub;
-		break;
-	case POST_READ:
-		ixj_PostRead = &Stub;
-		break;
-	case PRE_WRITE:
-		ixj_PreWrite = &Stub;
-		break;
-	case POST_WRITE:
-		ixj_PostWrite = &Stub;
-		break;
-	case PRE_IOCTL:
-		ixj_PreIoctl = &Stub;
-		break;
-	case POST_IOCTL:
-		ixj_PostIoctl = &Stub;
-		break;
-	default:
-		retval = 1;
-	}
-	return retval;
-}
-
-EXPORT_SYMBOL(ixj_unregister);
-
 static void ixj_init_timer(IXJ *j)
 {
 	init_timer(&j->timer);
#1 lore raw
Quoted 3 lines · Adrian Bunk

drivers/telephony/ixj.c EXPORT_SYMBOL's two static functions.

Does this make any sense or is the patch below OK?

It's meant to export them. An exported static function is visible to other modules.

#2 lore raw
Quoted 7 lines · Alan Cox
Quoted 3 lines · Adrian Bunk

drivers/telephony/ixj.c EXPORT_SYMBOL's two static functions.

Does this make any sense or is the patch below OK?

It's meant to export them. An exported static function is visible to other modules.

The exported functions shouldn't normally be declared static though, because that means that they will not be available to other modules in the built-in case.

So most likely the correct fix is to remove the "static". However, ixj_register() still doesn't seem to be used anywhere at all, at least not by in-tree modules.

--Kai

#3 lore raw
In reply to Alan Cox

In message <[email protected]> you write:

Quoted 7 lines · Adrian Bunk
Quoted 3 lines

drivers/telephony/ixj.c EXPORT_SYMBOL's two static functions.

Does this make any sense or is the patch below OK?

It's meant to export them. An exported static function is visible to other modules.

But only to modules. In general, exported shouldn't be static.

Someone care to clarify who uses these?
Rusty.
--
Anyone who quotes me in their sig is an idiot. -- Rusty Russell.