diff options
Diffstat (limited to 'inahwmon.c')
| -rwxr-xr-x | inahwmon.c | 107 |
1 files changed, 0 insertions, 107 deletions
diff --git a/inahwmon.c b/inahwmon.c deleted file mode 100755 index cce108d..0000000 --- a/inahwmon.c +++ /dev/null @@ -1,107 +0,0 @@ -#include "linux/module.h" -#include "linux/kernel.h" -#include <linux/hwmon.h> -#include "linux/i2c.h" - - -static int ina260_read(struct device *dev, enum hwmon_sensor_types type, - u32 attr, int channel, long *val) -{ - *val=5; - return 0; -} - -static int ina260_write(struct device *dev, enum hwmon_sensor_types type, - u32 attr, int channel, long val) -{ - return 0; -} - -static umode_t ina260_is_visible(const void *drvdata, - enum hwmon_sensor_types type, - u32 attr, int channel){ - return 0444; - } - -#define HWMON_CHANNEL_INFO(stype, ...) \ - (&(struct hwmon_channel_info) { \ - .type = hwmon_##stype, \ - .config = (u32 []) { \ - __VA_ARGS__, 0 \ - } \ - }) - -static const struct hwmon_channel_info * ina260_info[] = { - HWMON_CHANNEL_INFO(power,HWMON_P_INPUT), - NULL -}; - -static const struct hwmon_ops ina260_hwmon_ops = { - .is_visible = ina260_is_visible, - .read = ina260_read, - .write = ina260_write, -}; - -static const struct hwmon_chip_info ina260_chip_info = { - .ops = &ina260_hwmon_ops, - .info = ina260_info, -}; - - -/*const struct attribute_group *extra_groups[] = { - NULL -};*/ - -static int ina260_probe_new(struct i2c_client *client){ - struct device *hwmon_dev; - - hwmon_dev=hwmon_device_register_with_info(&client->dev,client->name,NULL, - &ina260_chip_info,NULL); - if (IS_ERR(hwmon_dev)) - return PTR_ERR(hwmon_dev); - return 0; -} - -static int ina260_remove(struct i2c_client *client){ - printk("Unregister client...\n"); - hwmon_device_unregister(&client->dev); - return 0; -} - - - -static const struct i2c_device_id ina260_ids[] = { - { "ina260", 0 }, - { } -}; -MODULE_DEVICE_TABLE(i2c,ina260_ids); - -static struct i2c_driver ina260_driver = { - .class = I2C_CLASS_HWMON, - .driver = { - .name = "ina260HWMON" - }, - .probe_new = ina260_probe_new, - .remove = ina260_remove, - .id_table = ina260_ids -}; - - -static int __init ina260_init(void){ - printk("Init\n"); - i2c_add_driver(&ina260_driver); - - return 0; -} - -static void __exit ina260_exit(void){ - printk("Quit\n"); - i2c_del_driver(&ina260_driver); -} - -module_init(ina260_init); -module_exit(ina260_exit); -MODULE_LICENSE("GPL"); -MODULE_AUTHOR("Loïc Guegan"); -MODULE_DESCRIPTION("INA260 Texas Instruments"); -MODULE_VERSION("1.0"); |
