diff --git a/drivers/soc/rockchip/rk_camera.c b/drivers/soc/rockchip/rk_camera.c index 2f122aaacb57..29739a2a0917 100644 --- a/drivers/soc/rockchip/rk_camera.c +++ b/drivers/soc/rockchip/rk_camera.c @@ -1018,12 +1018,12 @@ static int rk_sensor_pwrseq(struct device *dev,int powerup_sequence, int on, int debug_printk( "/$$$$$$$$$$$$$$$$$$$$$$//n Here I am: %s:%i-------%s()\n", __FILE__, __LINE__,__FUNCTION__); - for (i=0; i<8; i++) { + for (i = 0; i < SENSOR_PWRSEQ_CNT; i++) { if (on == 1) powerup_type = SENSOR_PWRSEQ_GET(powerup_sequence, i); else - powerup_type = SENSOR_PWRSEQ_GET(powerup_sequence, 7 - i); + powerup_type = SENSOR_PWRSEQ_GET(powerup_sequence, SENSOR_PWRSEQ_CNT - 1 - i); switch (powerup_type) { diff --git a/drivers/soc/rockchip/rk_camera_sensor_info.h b/drivers/soc/rockchip/rk_camera_sensor_info.h index 830ca6a4cdb8..55823b3839b2 100644 --- a/drivers/soc/rockchip/rk_camera_sensor_info.h +++ b/drivers/soc/rockchip/rk_camera_sensor_info.h @@ -326,9 +326,10 @@ #define SENSOR_PWRSEQ_PWRDN 0x06 #define SENSOR_PWRSEQ_CLKIN 0x07 #define SENSOR_PWRSEQ_END 0x0F +#define SENSOR_PWRSEQ_CNT 0x07 -#define SENSOR_PWRSEQ_SET(type, idx) (type << (idx * 4)) -#define SENSOR_PWRSEQ_GET(seq, idx) ((seq >> (idx * 4)) & 0x0f) +#define SENSOR_PWRSEQ_SET(type, idx) (type << ((idx) * 4)) +#define SENSOR_PWRSEQ_GET(seq, idx) ((seq >> ((idx) * 4)) & 0x0f) #define sensor_PWRSEQ_DEFAULT \ (SENSOR_PWRSEQ_SET(SENSOR_PWRSEQ_PWR, 0) |\