Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

mfd: rk808: Use dev_err_probe

Use dev_err_probe instead of dev_err in probe function,
which simplifies code a little bit and prints the error
code.

Also drop possibly incorrect printing of chip id registers
while touching the error message.

Tested-by: Diederik de Haas <didi.debian@cknow.org> # Rock64, Quartz64 Model A + B
Tested-by: Vincent Legoll <vincent.legoll@gmail.com> # Pine64 QuartzPro64
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Link: https://lore.kernel.org/r/20230504173618.142075-4-sebastian.reichel@collabora.com
Signed-off-by: Lee Jones <lee@kernel.org>

authored by

Sebastian Reichel and committed by
Lee Jones
e714b50b 4fec8a5a

+16 -32
+16 -32
drivers/mfd/rk808.c
··· 670 670 671 671 /* Read chip variant */ 672 672 msb = i2c_smbus_read_byte_data(client, pmic_id_msb); 673 - if (msb < 0) { 674 - dev_err(&client->dev, "failed to read the chip id at 0x%x\n", 675 - RK808_ID_MSB); 676 - return msb; 677 - } 673 + if (msb < 0) 674 + return dev_err_probe(&client->dev, msb, "failed to read the chip id MSB\n"); 678 675 679 676 lsb = i2c_smbus_read_byte_data(client, pmic_id_lsb); 680 - if (lsb < 0) { 681 - dev_err(&client->dev, "failed to read the chip id at 0x%x\n", 682 - RK808_ID_LSB); 683 - return lsb; 684 - } 677 + if (lsb < 0) 678 + return dev_err_probe(&client->dev, lsb, "failed to read the chip id LSB\n"); 685 679 686 680 rk808->variant = ((msb << 8) | lsb) & RK8XX_ID_MSK; 687 681 dev_info(&client->dev, "chip id: 0x%x\n", (unsigned int)rk808->variant); ··· 724 730 i2c_set_clientdata(client, rk808); 725 731 726 732 rk808->regmap = devm_regmap_init_i2c(client, rk808->regmap_cfg); 727 - if (IS_ERR(rk808->regmap)) { 728 - dev_err(&client->dev, "regmap initialization failed\n"); 729 - return PTR_ERR(rk808->regmap); 730 - } 733 + if (IS_ERR(rk808->regmap)) 734 + return dev_err_probe(&client->dev, PTR_ERR(rk808->regmap), 735 + "regmap initialization failed\n"); 731 736 732 - if (!client->irq) { 733 - dev_err(&client->dev, "No interrupt support, no core IRQ\n"); 734 - return -EINVAL; 735 - } 737 + if (!client->irq) 738 + return dev_err_probe(&client->dev, -EINVAL, "No interrupt support, no core IRQ\n"); 736 739 737 740 ret = devm_regmap_add_irq_chip(&client->dev, rk808->regmap, client->irq, 738 741 IRQF_ONESHOT, -1, 739 742 rk808->regmap_irq_chip, &rk808->irq_data); 740 - if (ret) { 741 - dev_err(&client->dev, "Failed to add irq_chip %d\n", ret); 742 - return ret; 743 - } 743 + if (ret) 744 + return dev_err_probe(&client->dev, ret, "Failed to add irq_chip\n"); 744 745 745 746 for (i = 0; i < nr_pre_init_regs; i++) { 746 747 ret = regmap_update_bits(rk808->regmap, 747 748 pre_init_reg[i].addr, 748 749 pre_init_reg[i].mask, 749 750 pre_init_reg[i].value); 750 - if (ret) { 751 - dev_err(&client->dev, 752 - "0x%x write err\n", 753 - pre_init_reg[i].addr); 754 - return ret; 755 - } 751 + if (ret) 752 + return dev_err_probe(&client->dev, ret, "0x%x write err\n", 753 + pre_init_reg[i].addr); 756 754 } 757 755 758 756 ret = devm_mfd_add_devices(&client->dev, PLATFORM_DEVID_NONE, 759 757 cells, nr_cells, NULL, 0, 760 758 regmap_irq_get_domain(rk808->irq_data)); 761 - if (ret) { 762 - dev_err(&client->dev, "failed to add MFD devices %d\n", ret); 763 - return ret; 764 - } 759 + if (ret) 760 + return dev_err_probe(&client->dev, ret, "failed to add MFD devices\n"); 765 761 766 762 if (of_property_read_bool(np, "rockchip,system-power-controller")) { 767 763 ret = devm_register_sys_off_handler(&client->dev,