diff --git a/drivers/power/smb135x-charger.c b/drivers/power/smb135x-charger.c index 009c273ec10c..8d69b97f155f 100644 --- a/drivers/power/smb135x-charger.c +++ b/drivers/power/smb135x-charger.c @@ -1731,13 +1731,6 @@ static int smb135x_parallel_set_chg_present(struct smb135x_chg *chip, u8 val; int rc; - /* Check if SMB135x is present */ - rc = smb135x_read(chip, VERSION1_REG, &val); - if (rc) { - pr_debug("Failed to detect smb135x-parallel charger may be absent\n"); - return -ENODEV; - } - if (present == chip->parallel_charger_present) { pr_debug("present %d -> %d, skipping\n", chip->parallel_charger_present, present); @@ -1745,6 +1738,13 @@ static int smb135x_parallel_set_chg_present(struct smb135x_chg *chip, } if (present) { + /* Check if SMB135x is present */ + rc = smb135x_read(chip, VERSION1_REG, &val); + if (rc) { + pr_debug("Failed to detect smb135x-parallel charger may be absent\n"); + return -ENODEV; + } + rc = smb135x_enable_volatile_writes(chip); if (rc < 0) { dev_err(chip->dev,