hwmon: (max6639) Fix PPR register initialization to set both channels
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> Cc: stable@vger.kernel.org # 3.0+ Acked-by: Roland Stigge <stigge@antcom.de>
This commit is contained in:
committed by
Guenter Roeck
parent
b63d97a36e
commit
2f2da1ac0b
@@ -429,9 +429,9 @@ static int max6639_init_client(struct i2c_client *client)
|
|||||||
struct max6639_data *data = i2c_get_clientdata(client);
|
struct max6639_data *data = i2c_get_clientdata(client);
|
||||||
struct max6639_platform_data *max6639_info =
|
struct max6639_platform_data *max6639_info =
|
||||||
client->dev.platform_data;
|
client->dev.platform_data;
|
||||||
int i = 0;
|
int i;
|
||||||
int rpm_range = 1; /* default: 4000 RPM */
|
int rpm_range = 1; /* default: 4000 RPM */
|
||||||
int err = 0;
|
int err;
|
||||||
|
|
||||||
/* Reset chip to default values, see below for GCONFIG setup */
|
/* Reset chip to default values, see below for GCONFIG setup */
|
||||||
err = i2c_smbus_write_byte_data(client, MAX6639_REG_GCONFIG,
|
err = i2c_smbus_write_byte_data(client, MAX6639_REG_GCONFIG,
|
||||||
@@ -446,11 +446,6 @@ static int max6639_init_client(struct i2c_client *client)
|
|||||||
else
|
else
|
||||||
data->ppr = 2;
|
data->ppr = 2;
|
||||||
data->ppr -= 1;
|
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)
|
if (max6639_info)
|
||||||
rpm_range = rpm_range_to_reg(max6639_info->rpm_range);
|
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++) {
|
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 */
|
/* Fans config PWM, RPM */
|
||||||
err = i2c_smbus_write_byte_data(client,
|
err = i2c_smbus_write_byte_data(client,
|
||||||
MAX6639_REG_FAN_CONFIG1(i),
|
MAX6639_REG_FAN_CONFIG1(i),
|
||||||
|
Reference in New Issue
Block a user