Loading drivers/input/misc/akm09911.c +12 −27 Original line number Diff line number Diff line Loading @@ -54,7 +54,7 @@ struct akm_compass_data { struct class *compass; struct pinctrl *pinctrl; struct pinctrl_state *pin_default; struct pinctrl_state *pin_reset; struct pinctrl_state *pin_sleep; struct sensors_classdev cdev; wait_queue_head_t drdy_wq; Loading Loading @@ -258,7 +258,6 @@ static int AKECS_Reset( int hard) { int err; struct i2c_client *client = akm->i2c; #if AKM_HAS_RESET uint8_t buffer[2]; Loading @@ -267,26 +266,10 @@ static int AKECS_Reset( mutex_lock(&akm->sensor_mutex); if (hard != 0) { if (!IS_ERR_OR_NULL(s_akm->pinctrl)) { err = pinctrl_select_state(s_akm->pinctrl, s_akm->pin_reset); if (err) { dev_err(&client->dev, "can't select state!!\n"); goto exit; } udelay(5); err = pinctrl_select_state(s_akm->pinctrl, s_akm->pin_default); if (err) { dev_err(&client->dev, "can't select state!!\n"); goto exit; } } else { gpio_set_value(akm->gpio_rstn, 0); udelay(5); gpio_set_value(akm->gpio_rstn, 1); /* No error is returned */ } err = 0; } else { buffer[0] = AKM_REG_RESET; Loading @@ -304,7 +287,6 @@ static int AKECS_Reset( /* Clear status */ akm->is_busy = 0; atomic_set(&akm->drdy, 0); exit: mutex_unlock(&akm->sensor_mutex); /***** unlock *****/ Loading Loading @@ -1609,10 +1591,10 @@ static int akm_pinctrl_init(struct akm_compass_data *s_akm) return PTR_ERR(s_akm->pin_default); } s_akm->pin_reset = pinctrl_lookup_state(s_akm->pinctrl, "reset"); if (IS_ERR_OR_NULL("s_akm->pin_reset")) { s_akm->pin_sleep = pinctrl_lookup_state(s_akm->pinctrl, "suspend"); if (IS_ERR_OR_NULL(s_akm->pin_sleep)) { dev_err(&client->dev, "Failed to look up reset state\n"); return PTR_ERR(s_akm->pin_reset); return PTR_ERR(s_akm->pin_sleep); } return 0; Loading Loading @@ -1701,6 +1683,9 @@ int akm_compass_probe(struct i2c_client *client, const struct i2c_device_id *id) } } /* Pull up the reset pin */ AKECS_Reset(s_akm, 1); /* check connection */ err = akm_compass_power_set(s_akm, 1); if (err < 0) Loading Loading
drivers/input/misc/akm09911.c +12 −27 Original line number Diff line number Diff line Loading @@ -54,7 +54,7 @@ struct akm_compass_data { struct class *compass; struct pinctrl *pinctrl; struct pinctrl_state *pin_default; struct pinctrl_state *pin_reset; struct pinctrl_state *pin_sleep; struct sensors_classdev cdev; wait_queue_head_t drdy_wq; Loading Loading @@ -258,7 +258,6 @@ static int AKECS_Reset( int hard) { int err; struct i2c_client *client = akm->i2c; #if AKM_HAS_RESET uint8_t buffer[2]; Loading @@ -267,26 +266,10 @@ static int AKECS_Reset( mutex_lock(&akm->sensor_mutex); if (hard != 0) { if (!IS_ERR_OR_NULL(s_akm->pinctrl)) { err = pinctrl_select_state(s_akm->pinctrl, s_akm->pin_reset); if (err) { dev_err(&client->dev, "can't select state!!\n"); goto exit; } udelay(5); err = pinctrl_select_state(s_akm->pinctrl, s_akm->pin_default); if (err) { dev_err(&client->dev, "can't select state!!\n"); goto exit; } } else { gpio_set_value(akm->gpio_rstn, 0); udelay(5); gpio_set_value(akm->gpio_rstn, 1); /* No error is returned */ } err = 0; } else { buffer[0] = AKM_REG_RESET; Loading @@ -304,7 +287,6 @@ static int AKECS_Reset( /* Clear status */ akm->is_busy = 0; atomic_set(&akm->drdy, 0); exit: mutex_unlock(&akm->sensor_mutex); /***** unlock *****/ Loading Loading @@ -1609,10 +1591,10 @@ static int akm_pinctrl_init(struct akm_compass_data *s_akm) return PTR_ERR(s_akm->pin_default); } s_akm->pin_reset = pinctrl_lookup_state(s_akm->pinctrl, "reset"); if (IS_ERR_OR_NULL("s_akm->pin_reset")) { s_akm->pin_sleep = pinctrl_lookup_state(s_akm->pinctrl, "suspend"); if (IS_ERR_OR_NULL(s_akm->pin_sleep)) { dev_err(&client->dev, "Failed to look up reset state\n"); return PTR_ERR(s_akm->pin_reset); return PTR_ERR(s_akm->pin_sleep); } return 0; Loading Loading @@ -1701,6 +1683,9 @@ int akm_compass_probe(struct i2c_client *client, const struct i2c_device_id *id) } } /* Pull up the reset pin */ AKECS_Reset(s_akm, 1); /* check connection */ err = akm_compass_power_set(s_akm, 1); if (err < 0) Loading