driver/sensor: export upper half lock
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
This commit is contained in:
parent
48b4667318
commit
107e3e5d52
@ -177,6 +177,18 @@ static const struct file_operations g_sensor_fops =
|
||||
* Private Functions
|
||||
****************************************************************************/
|
||||
|
||||
static void sensor_lock(FAR void *priv)
|
||||
{
|
||||
FAR struct sensor_upperhalf_s *upper = priv;
|
||||
nxrmutex_lock(&upper->lock);
|
||||
}
|
||||
|
||||
static void sensor_unlock(FAR void *priv)
|
||||
{
|
||||
FAR struct sensor_upperhalf_s *upper = priv;
|
||||
nxrmutex_unlock(&upper->lock);
|
||||
}
|
||||
|
||||
static bool sensor_in_range(unsigned long left, unsigned long value,
|
||||
unsigned long right)
|
||||
{
|
||||
@ -1018,6 +1030,8 @@ int sensor_custom_register(FAR struct sensor_lowerhalf_s *lower,
|
||||
/* Bind the lower half data structure member */
|
||||
|
||||
lower->priv = upper;
|
||||
lower->sensor_lock = sensor_lock;
|
||||
lower->sensor_unlock = sensor_unlock;
|
||||
|
||||
if (!lower->ops->fetch)
|
||||
{
|
||||
|
@ -937,6 +937,19 @@ struct sensor_lowerhalf_s
|
||||
sensor_notify_event_t notify_event;
|
||||
};
|
||||
|
||||
/****************************************************************************
|
||||
* Name: sensor_lock/sensor_unlock
|
||||
*
|
||||
* Description:
|
||||
* Lower half driver can lock/unlock upper half driver by this interface.
|
||||
*
|
||||
* Input Parameters:
|
||||
* priv - Upper half driver handle
|
||||
****************************************************************************/
|
||||
|
||||
void (*sensor_lock)(void * priv);
|
||||
void (*sensor_unlock)(void * priv);
|
||||
|
||||
/* The private opaque pointer to be passed to upper-layer during callback */
|
||||
|
||||
FAR void *priv;
|
||||
|
Loading…
x
Reference in New Issue
Block a user