diff options
| author | Loic Guegan <manzerbredes@mailbox.org> | 2023-07-12 16:14:26 +0200 |
|---|---|---|
| committer | Loic Guegan <manzerbredes@mailbox.org> | 2023-07-12 16:14:26 +0200 |
| commit | 0b4b81e2732353939f17d25ff3af6f6fc0336770 (patch) | |
| tree | d6d9ba594da5da182c18501abf9e1651811faca7 | |
| parent | 3f3e67f8ed0b9c67e1904fbe8232cbf9fdd1a8f1 (diff) | |
Minor changes
| -rw-r--r-- | ina260.c | 17 |
1 files changed, 17 insertions, 0 deletions
@@ -233,6 +233,23 @@ static int ina260_set_register_3bits(struct client_data *cdata, unsigned char re return -EINVAL; } +static int ina260_set_register_1bit(struct client_data *cdata, unsigned char reg, unsigned char n, int bit){ + int mask, value; + if(bit==0 || bit == 1){ + if(ina260_read_register(cdata,reg,&value)){ + return 1; + } + mask=~(1<< n); + value &= mask; // clear bits + value |= bit << n; + if(ina260_write_register(cdata,reg,value)){ + return 1; + } + return 0; + } + return -EINVAL; +} + static ssize_t attr_field_store(struct kobject *_kobj, struct kobj_attribute *attr, const char *buf, size_t count) |
