我现在使用mmap从上层传东西至下层,现在已经测试通过,目前还存在一个问题,就是上层写buffer的偏移,需要传递给下层,有什么好的方法吗?我目前直接ioctl把上层的偏移长度传给下层了,这是上层主动传递的,哪么我现在想底层主动,由底层来获取这个长度,听说mmap时,结构体中有一个成员变量,表示偏移,可以从这个变量得知上层的偏移长度吗?(需要做同步)
还有一个就是上层也需要取得往spi发数的累加长度,这个直接调用就好了,但是这两个长度(一个是上层的偏移长度,一个是spi发数长度)在底层的中断函数中都要进行访问,会产生并发访问,当然,如果获取上层的长度由底层来主动,就不存在并发的可能了,用mutex,在中断函数中也容易出现问题,想请教下,这种情况下该如何防止并发访问?