aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hwmon
diff options
context:
space:
mode:
authorChris D Schimp <silverchris@gmail.com>2012-02-20 17:44:59 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-02-29 16:33:38 -0800
commit5774b2eec1698c9647162a52431e514d6628471f (patch)
treeaea59c2b69418c5d77a2fbd29eeac9bb0e4b813e /drivers/hwmon
parente1efaccd1c67efe24e3708c916e51330bf770299 (diff)
downloadkernel_samsung_smdk4412-5774b2eec1698c9647162a52431e514d6628471f.zip
kernel_samsung_smdk4412-5774b2eec1698c9647162a52431e514d6628471f.tar.gz
kernel_samsung_smdk4412-5774b2eec1698c9647162a52431e514d6628471f.tar.bz2
hwmon: (max6639) Fix PPR register initialization to set both channels
commit 2f2da1ac0ba5b6cc6e1957c4da5ff20e67d8442b upstream. Initialize PPR register for both channels, and set correct PPR register bits. Also remove unnecessary variable initializations. Signed-off-by: Chris D Schimp <silverchris@gmail.com> [guenter.roeck@ericsson.com: Merged two patches into one] Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com> Acked-by: Roland Stigge <stigge@antcom.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/hwmon')
-rw-r--r--drivers/hwmon/max6639.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/drivers/hwmon/max6639.c b/drivers/hwmon/max6639.c
index 1b844db..8c3df04 100644
--- a/drivers/hwmon/max6639.c
+++ b/drivers/hwmon/max6639.c
@@ -429,9 +429,9 @@ static int max6639_init_client(struct i2c_client *client)
struct max6639_data *data = i2c_get_clientdata(client);
struct max6639_platform_data *max6639_info =
client->dev.platform_data;
- int i = 0;
+ int i;
int rpm_range = 1; /* default: 4000 RPM */
- int err = 0;
+ int err;
/* Reset chip to default values, see below for GCONFIG setup */
err = i2c_smbus_write_byte_data(client, MAX6639_REG_GCONFIG,
@@ -446,11 +446,6 @@ static int max6639_init_client(struct i2c_client *client)
else
data->ppr = 2;
data->ppr -= 1;
- err = i2c_smbus_write_byte_data(client,
- MAX6639_REG_FAN_PPR(i),
- data->ppr << 5);
- if (err)
- goto exit;
if (max6639_info)
rpm_range = rpm_range_to_reg(max6639_info->rpm_range);
@@ -458,6 +453,13 @@ static int max6639_init_client(struct i2c_client *client)
for (i = 0; i < 2; i++) {
+ /* Set Fan pulse per revolution */
+ err = i2c_smbus_write_byte_data(client,
+ MAX6639_REG_FAN_PPR(i),
+ data->ppr << 6);
+ if (err)
+ goto exit;
+
/* Fans config PWM, RPM */
err = i2c_smbus_write_byte_data(client,
MAX6639_REG_FAN_CONFIG1(i),