The ADT7476 and ADT7490 chips support bypassing voltage input attenuators on voltage inputs 0, 1, 3, and 4. This can be useful to improve measurement resolution when measuring voltages 0 V - 2.25 V. These attenuators can be bypassed in two ways. First, bit 5 of register 0x73, if set, will bypass attenuators on all above mentioned voltage inputs. Secondly, bits [7:4] control individually bypassing attenuators on the above mentioned voltage inputs. This patch adds 5 optional devicetree properties to the adt7475 driver, which if present in the devicetree and the device is one of {ADT7476, ADT7490} will set the appropriate bits to bypass the attenuator on the relevant voltage input. * v2 - removed sysfs changes from patch - removed adt7475_write macro from patch and replaced it by using the i2c_smbus_write_byte_data function directly in code. - removed config4_attenuate_index function from patch and replaced it by modifying the function load_individual_bypass_attenuators to use hard coded bit values. - modified function load_individual_bypass_attenuators to use 4 if statements, one for each voltage input, replacing the for loop. - modified function adt7475_probe to check the device is a ADT7476 or ADT7490 (other devices do not support bypassing all or individual attenuators), and only then set the relevant bits. - added new file adt7475.txt to document the new devicetree properties. - removed c++ style comments. Logan Shaw (2): hwmon: (adt7475) Added attenuator bypass support hwmon: (adt7475) Added attenuator bypass support .../devicetree/bindings/hwmon/adt7475.txt | 35 +++++++++ drivers/hwmon/adt7475.c | 73 +++++++++++++++++++ 2 files changed, 108 insertions(+) create mode 100644 Documentation/devicetree/bindings/hwmon/adt7475.txt -- 2.23.0