Overflow the hwmon API restricted to 32 bit signed integers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Guenter,

We're having a problem with overflowing signed 32 bit integers for reading some hwmon attributes:

struct hwmon_ops { umode_t (*is_visible)(const void *drvdata, enum hwmon_sensor_types type, u32 attr, int channel); int (*read)(struct device *dev, enum hwmon_sensor_types type, u32 attr, int channel, long *val); int (*read_string)(struct device *dev, enum hwmon_sensor_types type, u32 attr, int channel, const char **str); int (*write)(struct device *dev, enum hwmon_sensor_types type, u32 attr, int channel, long val); };

Specifically, power values in micro-watts (about 2200 watts will overflow the value - imagine multiple processors and a number of GPUs...). What do you suggest in this case?

This is relevant for our OCC driver; thanks for the comments btw. In our OCC driver, we have custom sysfs entries for power, and so can return a string with "%llx" to deal with this. But of course, the user space client, based on the hwmon API, can't handle it.

Appreciate any suggestions.

Thanks,
Eddie

--
To unsubscribe from this list: send the line "unsubscribe linux-hwmon" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [LM Sensors]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux