内核模块一般在probe()函数中动态申请内存来使用,这种情况下,这个指针就得有个位置存储防止丢失,
所以内核设计得在platform_device结构体中,保留了一个指针,就是为了这样的驱动编写方式。
所以我们一般在probe()函数中
动态申请设备结构体,并初始化它,然后使用platform_set_drvdata()将其保存到platform_device中,
在需要使用的时候再使用platform_get_drvdata()来获取它。
但是这个指针肯定是需要我们自己释放内存的。
内核模块内存管理
本文介绍了内核模块中如何在probe()函数中动态申请内存,并通过platform_set_drvdata()和platform_get_drvdata()函数来保存和获取指针,最后强调了开发者需要自行释放所申请的内存。
内核模块一般在probe()函数中动态申请内存来使用,这种情况下,这个指针就得有个位置存储防止丢失,
所以内核设计得在platform_device结构体中,保留了一个指针,就是为了这样的驱动编写方式。
所以我们一般在probe()函数中
动态申请设备结构体,并初始化它,然后使用platform_set_drvdata()将其保存到platform_device中,
在需要使用的时候再使用platform_get_drvdata()来获取它。
但是这个指针肯定是需要我们自己释放内存的。

被折叠的 条评论
为什么被折叠?