Re: [PATCH 10/30] staging: sync: Export sync API symbols

From: John Stultz
Date: Thu Feb 28 2013 - 22:59:25 EST


On 02/28/2013 06:00 PM, Greg KH wrote:
On Thu, Feb 28, 2013 at 04:43:06PM -0800, John Stultz wrote:
From: Erik Gilling <konkers@xxxxxxxxxxx>

This is needed to allow modules to link against the sync subsystem

Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx>
Cc: Erik Gilling <konkers@xxxxxxxxxxx>
Cc: Daniel Vetter <daniel.vetter@xxxxxxxx>
Cc: Rob Clark <robclark@xxxxxxxxx>
Cc: Sumit Semwal <sumit.semwal@xxxxxxxxxx>
Cc: Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx>
Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx
Cc: Android Kernel Team <kernel-team@xxxxxxxxxxx>
Signed-off-by: Erik Gilling <konkers@xxxxxxxxxxx>
Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx>
---
drivers/staging/android/sync.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)

diff --git a/drivers/staging/android/sync.c b/drivers/staging/android/sync.c
index 54f84d9..6739a84 100644
--- a/drivers/staging/android/sync.c
+++ b/drivers/staging/android/sync.c
@@ -15,6 +15,7 @@
*/
#include <linux/debugfs.h>
+#include <linux/export.h>
#include <linux/file.h>
#include <linux/fs.h>
#include <linux/kernel.h>
@@ -64,6 +65,7 @@ struct sync_timeline *sync_timeline_create(const struct sync_timeline_ops *ops,
return obj;
}
+EXPORT_SYMBOL(sync_timeline_create);
As these are now global, should they be a bit more "specific"? "sync_"
seems pretty broad.

Given its the sync driver, its most obvious choice, but I agree its likely to collide with filesystem related or other sync_ named functions that don't have a subsystem prefix.

Any suggestions?

The only good alternative I can think of is that in some private conversations with DanielV, he referred to Android using "sync-points".

Erik: Would syncpoint_ be an ok prefix? Or do you have other ideas?

Also, EXPORT_SYMBOL_GPL() perhaps?

And who is using these exports?

From some quick git grepping...

In the android exynos tree:
https://android.googlesource.com/kernel/exynos.git android-exynos-manta-3.4-jb-mr1.1

drivers/gpu/arm/t6xx/kbase/src/linux/mali_kbase_sync.c: tl = sync_timeline_creat
drivers/media/video/videobuf2-core.c: q->timeline = sw_sync_timeline_create(q-
drivers/video/s3c-fb.c: sfb->timeline = sw_sync_timeline_create("s3c-fb");

In the android msm tree:
https://android.googlesource.com/kernel/msm.git android-msm-mako-3.4-jb-mr1.1

drivers/gpu/msm/kgsl_sync.c: context->timeline = sync_timeline_create(&kgsl_s
drivers/video/msm/msm_fb.c: mfd->timeline = sw_sync_timeline_create(

thanks
-john


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/