Commit c8237f01 authored by Axel Lin's avatar Axel Lin Committed by Mark Brown

regulator: max8952: Simplify the logic to get vid[0|1] status

The syntax "(((vid >> 1) % 2) == 1)" is inefficient and also hard to read.
Use bitwidse AND operator instead.
Signed-off-by: default avatarAxel Lin <axel.lin@gmail.com>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent 1f793ff2
...@@ -152,8 +152,8 @@ static int max8952_set_voltage(struct regulator_dev *rdev, ...@@ -152,8 +152,8 @@ static int max8952_set_voltage(struct regulator_dev *rdev,
} }
if (vid >= 0 && vid < MAX8952_NUM_DVS_MODE) { if (vid >= 0 && vid < MAX8952_NUM_DVS_MODE) {
max8952->vid0 = (vid % 2 == 1); max8952->vid0 = vid & 0x1;
max8952->vid1 = (((vid >> 1) % 2) == 1); max8952->vid1 = (vid >> 1) & 0x1;
*selector = vid; *selector = vid;
gpio_set_value(max8952->pdata->gpio_vid0, max8952->vid0); gpio_set_value(max8952->pdata->gpio_vid0, max8952->vid0);
gpio_set_value(max8952->pdata->gpio_vid1, max8952->vid1); gpio_set_value(max8952->pdata->gpio_vid1, max8952->vid1);
...@@ -217,8 +217,8 @@ static int __devinit max8952_pmic_probe(struct i2c_client *client, ...@@ -217,8 +217,8 @@ static int __devinit max8952_pmic_probe(struct i2c_client *client,
} }
max8952->en = !!(pdata->reg_data.constraints.boot_on); max8952->en = !!(pdata->reg_data.constraints.boot_on);
max8952->vid0 = (pdata->default_mode % 2) == 1; max8952->vid0 = pdata->default_mode & 0x1;
max8952->vid1 = ((pdata->default_mode >> 1) % 2) == 1; max8952->vid1 = (pdata->default_mode >> 1) & 0x1;
if (gpio_is_valid(pdata->gpio_en)) { if (gpio_is_valid(pdata->gpio_en)) {
if (!gpio_request(pdata->gpio_en, "MAX8952 EN")) if (!gpio_request(pdata->gpio_en, "MAX8952 EN"))
...@@ -241,13 +241,13 @@ static int __devinit max8952_pmic_probe(struct i2c_client *client, ...@@ -241,13 +241,13 @@ static int __devinit max8952_pmic_probe(struct i2c_client *client,
gpio_is_valid(pdata->gpio_vid1)) { gpio_is_valid(pdata->gpio_vid1)) {
if (!gpio_request(pdata->gpio_vid0, "MAX8952 VID0")) if (!gpio_request(pdata->gpio_vid0, "MAX8952 VID0"))
gpio_direction_output(pdata->gpio_vid0, gpio_direction_output(pdata->gpio_vid0,
(pdata->default_mode) % 2); (pdata->default_mode) & 0x1);
else else
err = 1; err = 1;
if (!gpio_request(pdata->gpio_vid1, "MAX8952 VID1")) if (!gpio_request(pdata->gpio_vid1, "MAX8952 VID1"))
gpio_direction_output(pdata->gpio_vid1, gpio_direction_output(pdata->gpio_vid1,
(pdata->default_mode >> 1) % 2); (pdata->default_mode >> 1) & 0x1);
else { else {
if (!err) if (!err)
gpio_free(pdata->gpio_vid0); gpio_free(pdata->gpio_vid0);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment