no-OS
Loading...
Searching...
No Matches
iio_lt8491.c File Reference

Implementation of IIO LT8491 Driver. More...

#include <errno.h>
#include "iio_lt8491.h"
#include "lt8491.h"
#include "no_os_alloc.h"
#include "no_os_error.h"
Include dependency graph for iio_lt8491.c:

Macros

#define LT8491_IIO_CH_ATTR_RW(_name, _priv)
 
#define LT8491_IIO_CH_ATTR_RO(_name, _priv)
 
#define LT8491_IIO_CH_ATTR_WO(_name, _priv)
 
#define LT8491_IIO_CH_ATTR_READ_RAW(_name, _priv)
 
#define LT8491_IIO_CH_ATTR_READ_SCALE(_name, _priv)
 

Enumerations

enum  lt8491_attr_priv {
  LT8491_TBAT ,
  LT8491_POUT ,
  LT8491_PIN ,
  LT8491_EFF ,
  LT8491_IOUT ,
  LT8491_IIN ,
  LT8491_VBAT ,
  LT8491_VIN ,
  LT8491_CHARGING_STAGE ,
  LT8491_CHARGING_STATUS ,
  LT8491_ENABLE ,
  LT8491_RESTART ,
  LT8491_SCRATCH ,
  LT8491_SERIAL_ID
}
 

Functions

int lt8491_iio_init (struct lt8491_iio_device **iio_device, struct lt8491_iio_init_param *iio_init_param)
 Initializes the LT8491 IIO driver.
 
int lt8491_iio_remove (struct lt8491_iio_device *iio_device)
 Free resources allocated by the init function.
 

Detailed Description

Implementation of IIO LT8491 Driver.

Author
John Erasmus Mari Geronimo (johne.nosp@m.rasm.nosp@m.usmar.nosp@m.i.ge.nosp@m.ronim.nosp@m.o@an.nosp@m.alog..nosp@m.com)

Copyright 2024(c) Analog Devices, Inc.

SPDX-License-Identifier: BSD-3-Clause

Macro Definition Documentation

◆ LT8491_IIO_CH_ATTR_READ_RAW

#define LT8491_IIO_CH_ATTR_READ_RAW ( _name,
_priv )
Value:
{ \
.name = _name, \
.priv = _priv, \
.show = lt8491_read_raw, \
.store = NULL, \
}
#define NULL
Definition wrapper.h:67

◆ LT8491_IIO_CH_ATTR_READ_SCALE

#define LT8491_IIO_CH_ATTR_READ_SCALE ( _name,
_priv )
Value:
{ \
.name = _name, \
.priv = _priv, \
.show = lt8491_read_scale, \
.store = NULL, \
}

◆ LT8491_IIO_CH_ATTR_RO

#define LT8491_IIO_CH_ATTR_RO ( _name,
_priv )
Value:
{ \
.name = _name, \
.priv = _priv, \
.show = lt8491_ch_attr_show, \
.store = NULL, \
}

◆ LT8491_IIO_CH_ATTR_RW

#define LT8491_IIO_CH_ATTR_RW ( _name,
_priv )
Value:
{ \
.name = _name, \
.priv = _priv, \
.show = lt8491_ch_attr_show, \
.store = lt8491_ch_attr_store, \
}

◆ LT8491_IIO_CH_ATTR_WO

#define LT8491_IIO_CH_ATTR_WO ( _name,
_priv )
Value:
{ \
.name = _name, \
.priv = _priv, \
.show = NULL, \
.store = lt8491_ch_attr_store, \
}

Enumeration Type Documentation

◆ lt8491_attr_priv

Enumerator
LT8491_TBAT 
LT8491_POUT 
LT8491_PIN 
LT8491_EFF 
LT8491_IOUT 
LT8491_IIN 
LT8491_VBAT 
LT8491_VIN 
LT8491_CHARGING_STAGE 
LT8491_CHARGING_STATUS 
LT8491_ENABLE 
LT8491_RESTART 
LT8491_SCRATCH 
LT8491_SERIAL_ID 

Function Documentation

◆ lt8491_iio_init()

int lt8491_iio_init ( struct lt8491_iio_device ** iio_device,
struct lt8491_iio_init_param * iio_init_param )

Initializes the LT8491 IIO driver.

Parameters
iio_device- The iio device structure.
iio_init_param- Parameters for the initialization of iio_dev
Returns
0 in case of success, errno errors otherwise

◆ lt8491_iio_remove()

int lt8491_iio_remove ( struct lt8491_iio_device * iio_device)

Free resources allocated by the init function.

Parameters
iio_device- The iio device structure.
Returns
0 in case of success, errno errors otherwise