History

Merge tag 'at24-fixes-for-v5.9-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux into i2c/for-current

at24 fixes for v5.9-rc5 - delay registration of the nvmem provider until after power is enabled

Wolfram Sang committed 6 years ago

Commit 0065ec02 parents 06be672 45df80d1 file · +7 −4Browse files

Unified · Split

drivers/misc/eeprom/at24.c+7−4
@@ -692,10 +692,6 @@ static int at24_probe(struct i2c_client *client) · 691 unmodified lines
692692 nvmem_config.word_size = 1;
693693 nvmem_config.size = byte_len;
694694
695− at24->nvmem = devm_nvmem_register(dev, &nvmem_config);
696− if (IS_ERR(at24->nvmem))
697− return PTR_ERR(at24->nvmem);
698−
699695 i2c_set_clientdata(client, at24);
700696
701697 err = regulator_enable(at24->vcc_reg);
@@ -708,6 +704,13 @@ static int at24_probe(struct i2c_client *client) · 6 unmodified lines
708704 pm_runtime_set_active(dev);
709705 pm_runtime_enable(dev);
710706
707+ at24->nvmem = devm_nvmem_register(dev, &nvmem_config);
708+ if (IS_ERR(at24->nvmem)) {
709+ pm_runtime_disable(dev);
710+ regulator_disable(at24->vcc_reg);
711+ return PTR_ERR(at24->nvmem);
712+ }
713+
711714 /*
712715 * Perform a one-byte test read to verify that the
713716 * chip is functional.