diff --git a/README.md b/README.md index 055c7e1..2a31055 100755 --- a/README.md +++ b/README.md @@ -1,7 +1,11 @@ -# INA260-sysfs-driver +# INA260 Linux Drivers Link to the [ina260 datasheet](https://www.ti.com/lit/gpn/INA260). +This project provides two drivers: +1) `ina260.c` that is compatible with the [hwmon](https://docs.kernel.org/hwmon/hwmon-kernel-api.html) +2) `ina260_full.c` that provides an entire support for registers and fields of the ina260 and maximize performance over compatibility + ## Installation $ make @@ -11,7 +15,12 @@ Link to the [ina260 datasheet](https://www.ti.com/lit/gpn/INA260). - Add device: `echo ina260 [devaddr] > /sys/bus/i2c/devices//new_device` - Delete device: `echo [devaddr] > /sys/bus/i2c/devices//delete_device` -## Sysfs structure +## Sysfs structure for the `ina260.c` + +You will mostly use the [lm-sensors](https://github.com/lm-sensors/lm-sensors) utility. Although, the ina260 registers +are accessible from `/sys/class/hwmon/hwmon[0-9]+/registers/`. + +## Sysfs structure for the `ina260_full.c` - Overview: `tree /sys/kernel/ina260` - You can access to each device registers in `/sys/kernel/ina260//registers/` - You can access to each device register fields in `/sys/kernel/ina260//fields/` diff --git a/ina260.c b/ina260.c index 220ebc3..bf97b7f 100755 --- a/ina260.c +++ b/ina260.c @@ -49,6 +49,10 @@ static ssize_t _attr##_store(struct device *dev, struct device_attribute *attr, return count; \ } +/** + * @brief This macro is not available on old kernel especially the one + * used by Beaglebones Single Board Computers + */ #define HWMON_CHANNEL_INFO(stype, ...) \ (&(struct hwmon_channel_info) { \ .type = hwmon_##stype, \