2019-05-28 09:57:06 -07:00
/* SPDX-License-Identifier: GPL-2.0-only */
2013-01-25 23:44:00 +00:00
/*
* STMicroelectronics magnetometers driver
*
* Copyright 2012 - 2013 STMicroelectronics Inc .
*
* Denis Ciocca < denis . ciocca @ st . com >
* v . 1.0 .0
*/
# ifndef ST_MAGN_H
# define ST_MAGN_H
# include <linux/types.h>
# include <linux/iio/common/st_sensors.h>
2015-04-30 15:15:50 +02:00
# define LSM303DLH_MAGN_DEV_NAME "lsm303dlh_magn"
2013-01-25 23:44:00 +00:00
# define LSM303DLHC_MAGN_DEV_NAME "lsm303dlhc_magn"
# define LSM303DLM_MAGN_DEV_NAME "lsm303dlm_magn"
# define LIS3MDL_MAGN_DEV_NAME "lis3mdl"
2015-07-21 10:35:45 +02:00
# define LSM303AGR_MAGN_DEV_NAME "lsm303agr_magn"
2017-08-16 19:02:52 +02:00
# define LIS2MDL_MAGN_DEV_NAME "lis2mdl"
2018-10-25 19:38:10 -07:00
# define LSM9DS1_MAGN_DEV_NAME "lsm9ds1_magn"
2021-03-17 06:39:02 +00:00
# define IIS2MDC_MAGN_DEV_NAME "iis2mdc"
2013-01-25 23:44:00 +00:00
# ifdef CONFIG_IIO_BUFFER
int st_magn_allocate_ring ( struct iio_dev * indio_dev ) ;
void st_magn_deallocate_ring ( struct iio_dev * indio_dev ) ;
2015-07-21 10:35:43 +02:00
int st_magn_trig_set_state ( struct iio_trigger * trig , bool state ) ;
# define ST_MAGN_TRIGGER_SET_STATE (&st_magn_trig_set_state)
2013-01-25 23:44:00 +00:00
# else /* CONFIG_IIO_BUFFER */
static inline int st_magn_probe_trigger ( struct iio_dev * indio_dev , int irq )
{
return 0 ;
}
static inline void st_magn_remove_trigger ( struct iio_dev * indio_dev , int irq )
{
return ;
}
static inline int st_magn_allocate_ring ( struct iio_dev * indio_dev )
{
return 0 ;
}
static inline void st_magn_deallocate_ring ( struct iio_dev * indio_dev )
{
}
2016-03-29 22:27:27 +02:00
# define ST_MAGN_TRIGGER_SET_STATE NULL
2013-01-25 23:44:00 +00:00
# endif /* CONFIG_IIO_BUFFER */
# endif /* ST_MAGN_H */