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

power: bq25890: add return values to error messages

Add more details to the error messages that indicate what went wrong
and use dev_err_probe() at a few places in the probe() path in order
to avoid error messages for deferred probe after which the driver probes
correctly.

Signed-off-by: Martin Kepplinger <martin.kepplinger@puri.sm>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>

authored by

Martin Kepplinger and committed by
Sebastian Reichel
172d0cce 5b5100c5

+16 -18
+16 -18
drivers/power/supply/bq25890_charger.c
··· 788 788 789 789 id = bq25890_field_read(bq, F_PN); 790 790 if (id < 0) { 791 - dev_err(bq->dev, "Cannot read chip ID.\n"); 791 + dev_err(bq->dev, "Cannot read chip ID: %d\n", id); 792 792 return id; 793 793 } 794 794 795 795 rev = bq25890_field_read(bq, F_DEV_REV); 796 796 if (rev < 0) { 797 - dev_err(bq->dev, "Cannot read chip revision.\n"); 797 + dev_err(bq->dev, "Cannot read chip revision: %d\n", rev); 798 798 return rev; 799 799 } 800 800 ··· 837 837 struct gpio_desc *irq; 838 838 839 839 irq = devm_gpiod_get(bq->dev, BQ25890_IRQ_PIN, GPIOD_IN); 840 - if (IS_ERR(irq)) { 841 - dev_err(bq->dev, "Could not probe irq pin.\n"); 842 - return PTR_ERR(irq); 843 - } 840 + if (IS_ERR(irq)) 841 + return dev_err_probe(bq->dev, PTR_ERR(irq), 842 + "Could not probe irq pin.\n"); 844 843 845 844 return gpiod_to_irq(irq); 846 845 } ··· 928 929 mutex_init(&bq->lock); 929 930 930 931 bq->rmap = devm_regmap_init_i2c(client, &bq25890_regmap_config); 931 - if (IS_ERR(bq->rmap)) { 932 - dev_err(dev, "failed to allocate register map\n"); 933 - return PTR_ERR(bq->rmap); 934 - } 932 + if (IS_ERR(bq->rmap)) 933 + return dev_err_probe(dev, PTR_ERR(bq->rmap), 934 + "failed to allocate register map\n"); 935 935 936 936 for (i = 0; i < ARRAY_SIZE(bq25890_reg_fields); i++) { 937 937 const struct reg_field *reg_fields = bq25890_reg_fields; 938 938 939 939 bq->rmap_fields[i] = devm_regmap_field_alloc(dev, bq->rmap, 940 940 reg_fields[i]); 941 - if (IS_ERR(bq->rmap_fields[i])) { 942 - dev_err(dev, "cannot allocate regmap field\n"); 943 - return PTR_ERR(bq->rmap_fields[i]); 944 - } 941 + if (IS_ERR(bq->rmap_fields[i])) 942 + return dev_err_probe(dev, PTR_ERR(bq->rmap_fields[i]), 943 + "cannot allocate regmap field\n"); 945 944 } 946 945 947 946 i2c_set_clientdata(client, bq); 948 947 949 948 ret = bq25890_get_chip_version(bq); 950 949 if (ret) { 951 - dev_err(dev, "Cannot read chip ID or unknown chip.\n"); 950 + dev_err(dev, "Cannot read chip ID or unknown chip: %d\n", ret); 952 951 return ret; 953 952 } 954 953 955 954 if (!dev->platform_data) { 956 955 ret = bq25890_fw_probe(bq); 957 956 if (ret < 0) { 958 - dev_err(dev, "Cannot read device properties.\n"); 957 + dev_err(dev, "Cannot read device properties: %d\n", 958 + ret); 959 959 return ret; 960 960 } 961 961 } else { ··· 963 965 964 966 ret = bq25890_hw_init(bq); 965 967 if (ret < 0) { 966 - dev_err(dev, "Cannot initialize the chip.\n"); 968 + dev_err(dev, "Cannot initialize the chip: %d\n", ret); 967 969 return ret; 968 970 } 969 971 ··· 992 994 993 995 ret = bq25890_power_supply_init(bq); 994 996 if (ret < 0) { 995 - dev_err(dev, "Failed to register power supply\n"); 997 + dev_err_probe(dev, ret, "Failed to register power supply.\n"); 996 998 goto irq_fail; 997 999 } 998 1000