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
|
* 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,
|
static bool sensor_in_range(unsigned long left, unsigned long value,
|
||||||
unsigned long right)
|
unsigned long right)
|
||||||
{
|
{
|
||||||
@ -1017,7 +1029,9 @@ int sensor_custom_register(FAR struct sensor_lowerhalf_s *lower,
|
|||||||
|
|
||||||
/* Bind the lower half data structure member */
|
/* Bind the lower half data structure member */
|
||||||
|
|
||||||
lower->priv = upper;
|
lower->priv = upper;
|
||||||
|
lower->sensor_lock = sensor_lock;
|
||||||
|
lower->sensor_unlock = sensor_unlock;
|
||||||
|
|
||||||
if (!lower->ops->fetch)
|
if (!lower->ops->fetch)
|
||||||
{
|
{
|
||||||
|
@ -937,6 +937,19 @@ struct sensor_lowerhalf_s
|
|||||||
sensor_notify_event_t notify_event;
|
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 */
|
/* The private opaque pointer to be passed to upper-layer during callback */
|
||||||
|
|
||||||
FAR void *priv;
|
FAR void *priv;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user