Linux kernel 如何将特定于平台的数据从一个平台设备/驱动程序传递到另一个平台设备/驱动程序

Linux kernel 如何将特定于平台的数据从一个平台设备/驱动程序传递到另一个平台设备/驱动程序,linux-kernel,linux-device-driver,Linux Kernel,Linux Device Driver,我有两个平台设备/驱动程序-例如Pdriver1和Pdriver2。 我想从Pdriver2访问Pdriver1的平台特定数据。 如何实现这一点?在模块pdriver1中,您应该向导出\u symbol注册外部符号,以便允许其他模块访问它 然后,您应该指定pdriver1作为pdriver2的依赖项,这样modprobe将在pdriver2之前加载pdriver1。然后,在pdriver2中,您可以访问pdriver1中导出的符号,这些驱动程序的计算机是如何连接的?我已经使用平台设备注册和平台驱

我有两个平台设备/驱动程序-例如Pdriver1和Pdriver2。 我想从Pdriver2访问Pdriver1的平台特定数据。
如何实现这一点?

在模块
pdriver1
中,您应该向
导出\u symbol
注册外部符号,以便允许其他模块访问它


然后,您应该指定
pdriver1
作为
pdriver2
的依赖项,这样modprobe将在
pdriver2
之前加载
pdriver1
。然后,在
pdriver2
中,您可以访问
pdriver1
中导出的符号,这些驱动程序的计算机是如何连接的?我已经使用平台设备注册和平台驱动程序注册API注册了这两个驱动程序。这两个驱动程序是在同一台计算机上运行还是在不同的计算机上运行?是的,两个驱动程序运行在同一台计算机上电脑。我已经声明了一个全局结构结构测试{inta;};现在在pdriver1的Probe函数中,我正在初始化全局结构,例如static int test_Probe(struct platform_device*pdev){struct test*temp=kmalloc(sizeof(struct test),GFP_KERNEL);if(temp==NULL){return-1;}temp->a=10;}现在我想在PDriver2tanks中访问这个结构值,以获得回复。我还有一个问题。可以从pdriver2访问pdriver1的私有数据吗?我不确定,但我认为,这是不可能的。所有导出的符号可用于所有其他模块(具有适当的许可证)。为了保护您的数据,您不能在public头中提供函数的原型。但若原型已知,模块可以访问它。另一种方法是管理模糊的安全系统。为什么你需要隐藏你的符号?