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

Implementation of IIO LTC4162L Driver. More...

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

Macros

#define LT8491_IIO_CH_ATTR_RW(_name, _priv)
 
#define LTC4162L_IIO_CH_ATTR_RW(_name, _priv)
 
#define LTC4162L_IIO_CH_ATTR_RO(_name, _priv)
 
#define LTC4162L_IIO_CH_ATTR_WO(_name, _priv)
 
#define LTC4162L_IIO_CH_ATTR_READ_RAW(_name, _priv)
 
#define LTC4162L_IIO_CH_ATTR_READ_SCALE(_name, _priv)
 

Enumerations

enum  ltc4162l_attr_priv {
  LTC4162L_BATTERY_COUNT ,
  LTC4162L_CHEM_TYPE ,
  LTC4162L_CHARGER_STATUS ,
  LTC4162L_CHARGE_STATE ,
  LTC4162L_ONLINE_STATUS ,
  LTC4162L_VBAT_VAL ,
  LTC4162L_AVG_VBAT_VAL ,
  LTC4162L_IBAT_VAL ,
  LTC4162L_VIN_VAL ,
  LTC4162L_IIN_VAL ,
  LTC4162L_ICHARGE_SET ,
  LTC4162L_VCHARGE_SET ,
  LTC4162L_IIN_LIMIT_SET ,
  LTC4162L_DIE_TEMP ,
  LTC4162L_TERM_CURRENT ,
  LTC4162L_TELEMETRY
}
 

Functions

int ltc4162l_iio_init (struct ltc4162l_iio_device **iio_device, struct ltc4162l_iio_init_param *iio_init_param)
 
int ltc4162l_iio_remove (struct ltc4162l_iio_device *iio_device)
 Free resources allocated by the init function.
 

Variables

struct iio_channel ltc4162l_channels []
 

Detailed Description

Implementation of IIO LTC4162L Driver.

Author
Marc Paolo Sosa (marcp.nosp@m.aolo.nosp@m..sosa.nosp@m.@ana.nosp@m.log.c.nosp@m.om)

Copyright 2024(c) Analog Devices, Inc.

SPDX-License-Identifier: BSD-3-Clause

Macro Definition Documentation

◆ 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, \
}

◆ LTC4162L_IIO_CH_ATTR_READ_RAW

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

◆ LTC4162L_IIO_CH_ATTR_READ_SCALE

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

◆ LTC4162L_IIO_CH_ATTR_RO

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

◆ LTC4162L_IIO_CH_ATTR_RW

#define LTC4162L_IIO_CH_ATTR_RW ( _name,
_priv )
Value:
{ \
.name = _name, \
.priv = _priv, \
.show = ltc4162l_ch_attr_show, \
.store = ltc4162l_ch_attr_store,\
}

◆ LTC4162L_IIO_CH_ATTR_WO

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

Enumeration Type Documentation

◆ ltc4162l_attr_priv

Enumerator
LTC4162L_BATTERY_COUNT 
LTC4162L_CHEM_TYPE 
LTC4162L_CHARGER_STATUS 
LTC4162L_CHARGE_STATE 
LTC4162L_ONLINE_STATUS 
LTC4162L_VBAT_VAL 
LTC4162L_AVG_VBAT_VAL 
LTC4162L_IBAT_VAL 
LTC4162L_VIN_VAL 
LTC4162L_IIN_VAL 
LTC4162L_ICHARGE_SET 
LTC4162L_VCHARGE_SET 
LTC4162L_IIN_LIMIT_SET 
LTC4162L_DIE_TEMP 
LTC4162L_TERM_CURRENT 
LTC4162L_TELEMETRY 

Function Documentation

◆ ltc4162l_iio_init()

int ltc4162l_iio_init ( struct ltc4162l_iio_device ** iio_device,
struct ltc4162l_iio_init_param * iio_init_param )

Initializes the LTC4162L IIO descriptor.

◆ ltc4162l_iio_remove()

int ltc4162l_iio_remove ( struct ltc4162l_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

Variable Documentation

◆ ltc4162l_channels

struct iio_channel ltc4162l_channels[]