diff options
-rw-r--r-- | arch/arm/mach-layerscape/ppa.c | 5 | ||||
-rw-r--r-- | commands/fbtest.c | 5 | ||||
-rw-r--r-- | commands/of_diff.c | 4 | ||||
-rw-r--r-- | commands/splash.c | 5 | ||||
-rw-r--r-- | commands/ubi.c | 2 | ||||
-rw-r--r-- | common/bootm.c | 3 | ||||
-rw-r--r-- | common/state/state.c | 3 | ||||
-rw-r--r-- | common/usbgadget.c | 3 | ||||
-rw-r--r-- | drivers/clk/clk-qoric.c | 2 | ||||
-rw-r--r-- | drivers/mfd/superio.c | 3 | ||||
-rw-r--r-- | drivers/misc/acpi-test.c | 2 | ||||
-rw-r--r-- | drivers/net/designware_tegra186.c | 5 | ||||
-rw-r--r-- | drivers/usb/imx/chipidea-imx.c | 5 | ||||
-rw-r--r-- | drivers/usb/imx/imx-usb-phy.c | 2 | ||||
-rw-r--r-- | drivers/video/imx-ipu-v3/imx-ldb.c | 8 | ||||
-rw-r--r-- | drivers/video/imx-ipu-v3/ipu-common.c | 5 | ||||
-rw-r--r-- | fs/ubifs/ubifs.c | 3 | ||||
-rw-r--r-- | include/errno.h | 5 | ||||
-rw-r--r-- | lib/cmdlinepart.c | 7 | ||||
-rw-r--r-- | lib/vsprintf.c | 64 |
20 files changed, 72 insertions, 69 deletions
diff --git a/arch/arm/mach-layerscape/ppa.c b/arch/arm/mach-layerscape/ppa.c index 7eacf18cc9..53e73f6a58 100644 --- a/arch/arm/mach-layerscape/ppa.c +++ b/arch/arm/mach-layerscape/ppa.c @@ -69,14 +69,13 @@ static int ppa_init(void *ppa, size_t ppa_size, void *sec_firmware_addr) fit = fit_open_buf(ppa, ppa_size, false, BOOTM_VERIFY_AVAILABLE); if (IS_ERR(fit)) { - pr_err("Cannot open ppa FIT image: %s\n", strerrorp(fit)); + pr_err("Cannot open ppa FIT image: %pe\n", fit); return PTR_ERR(fit); } conf = fit_open_configuration(fit, NULL); if (IS_ERR(conf)) { - pr_err("Cannot open default config in ppa FIT image: %s\n", - strerrorp(conf)); + pr_err("Cannot open default config in ppa FIT image: %pe\n", conf); ret = PTR_ERR(conf); goto err; } diff --git a/commands/fbtest.c b/commands/fbtest.c index ff24a8252a..30d96f6af4 100644 --- a/commands/fbtest.c +++ b/commands/fbtest.c @@ -271,9 +271,8 @@ static int do_fbtest(int argc, char *argv[]) sc = fb_open(fbdev); if (IS_ERR(sc)) { - int ret = -PTR_ERR(sc); - printf("fb_open: %s\n", strerror(ret)); - return ret; + printf("fb_open: %pe\n", sc); + return COMMAND_ERROR; } if (!pattern_name) { diff --git a/commands/of_diff.c b/commands/of_diff.c index 8acfd42a6b..ec039776cf 100644 --- a/commands/of_diff.c +++ b/commands/of_diff.c @@ -64,14 +64,14 @@ static int do_of_diff(int argc, char *argv[]) b = get_tree(argv[2], root); if (IS_ERR(a)) { - printf("Cannot read %s: %s\n", argv[1], strerrorp(a)); + printf("Cannot read %s: %pe\n", argv[1], a); ret = COMMAND_ERROR; a = NULL; goto out; } if (IS_ERR(b)) { - printf("Cannot read %s: %s\n", argv[2], strerrorp(b)); + printf("Cannot read %s: %pe\n", argv[2], b); ret = COMMAND_ERROR; b = NULL; goto out; diff --git a/commands/splash.c b/commands/splash.c index abd82873cb..f1cc8c83bd 100644 --- a/commands/splash.c +++ b/commands/splash.c @@ -54,9 +54,8 @@ static int do_splash(int argc, char *argv[]) sc = fb_open(fbdev); if (IS_ERR(sc)) { - int ret = -PTR_ERR(sc); - printf("fb_open: %s\n", strerror(ret)); - return ret; + printf("fb_open: %pe\n", sc); + return COMMAND_ERROR; } buf = gui_screen_render_buffer(sc); diff --git a/commands/ubi.c b/commands/ubi.c index f37684102d..f866f00160 100644 --- a/commands/ubi.c +++ b/commands/ubi.c @@ -304,8 +304,8 @@ static int do_ubirmvol(int argc, char *argv[]) desc = ubi_open_volume_nm(ubinum, argv[2], UBI_EXCLUSIVE); if (IS_ERR(desc)) { + printf("failed to open volume %s: %pe\n", argv[2], desc); ret = PTR_ERR(desc); - printf("failed to open volume %s: %s\n", argv[2], strerror(-ret)); goto err; } diff --git a/common/bootm.c b/common/bootm.c index 8219183b8b..f70ef10100 100644 --- a/common/bootm.c +++ b/common/bootm.c @@ -648,8 +648,7 @@ int bootm_boot(struct bootm_data *bootm_data) fit = fit_open(data->os_file, data->verbose, data->verify); if (IS_ERR(fit)) { - printf("Loading FIT image %s failed with: %s\n", data->os_file, - strerrorp(fit)); + printf("Loading FIT image %s failed with: %pe\n", data->os_file, fit); ret = PTR_ERR(fit); goto err_out; } diff --git a/common/state/state.c b/common/state/state.c index d42920985d..9d04eab312 100644 --- a/common/state/state.c +++ b/common/state/state.c @@ -271,9 +271,8 @@ static int state_convert_node_variable(struct state *state, if (conv == STATE_CONVERT_FROM_NODE_CREATE) { sv = vtype->create(state, name, node, vtype); if (IS_ERR(sv)) { + dev_err(&state->dev, "failed to create %s: %pe\n", name, sv); ret = PTR_ERR(sv); - dev_err(&state->dev, "failed to create %s: %s\n", name, - strerror(-ret)); goto out_free; } diff --git a/common/usbgadget.c b/common/usbgadget.c index 51ee9c106c..1790310f79 100644 --- a/common/usbgadget.c +++ b/common/usbgadget.c @@ -35,8 +35,7 @@ static struct file_list *parse(const char *files) { struct file_list *list = file_list_parse(files); if (IS_ERR(list)) { - pr_err("Parsing file list \"%s\" failed: %s\n", files, - strerrorp(list)); + pr_err("Parsing file list \"%s\" failed: %pe\n", files, list); return NULL; } return list; diff --git a/drivers/clk/clk-qoric.c b/drivers/clk/clk-qoric.c index 2ffc7613fa..b3e0780bc8 100644 --- a/drivers/clk/clk-qoric.c +++ b/drivers/clk/clk-qoric.c @@ -589,7 +589,7 @@ static void __init clockgen_init(struct device_node *np, clockgen.sysclk = of_clk_get(clockgen.node, 0); if (IS_ERR(clockgen.sysclk)) { - pr_err("sysclk not found: %s\n", strerrorp(clockgen.sysclk)); + pr_err("sysclk not found: %pe\n", clockgen.sysclk); return; } diff --git a/drivers/mfd/superio.c b/drivers/mfd/superio.c index ab94a4fa8f..fff26968ea 100644 --- a/drivers/mfd/superio.c +++ b/drivers/mfd/superio.c @@ -87,8 +87,7 @@ void superio_chip_add(struct superio_chip *siochip) regmap = regmap_init(siochip->dev, &superio_regmap_bus, siochip, &superio_regmap_config); if (IS_ERR(regmap)) - pr_warn("creating %s regmap failed: %s\n", - chipname, strerrorp(regmap)); + pr_warn("creating %s regmap failed: %pe\n", chipname, regmap); ret = regmap_register_cdev(regmap, chipname); if (ret) diff --git a/drivers/misc/acpi-test.c b/drivers/misc/acpi-test.c index 970b435a0e..1d6814ebcf 100644 --- a/drivers/misc/acpi-test.c +++ b/drivers/misc/acpi-test.c @@ -29,7 +29,7 @@ static int acpi_test_probe(struct device_d *dev) sdt = (u8 __force *)dev_request_mem_region_by_name(dev, "SDT"); if (IS_ERR(sdt)) { - dev_err(dev, "no SDT resource available: %s\n", strerrorp(sdt)); + dev_err(dev, "no SDT resource available: %pe\n", sdt); return PTR_ERR(sdt); } diff --git a/drivers/net/designware_tegra186.c b/drivers/net/designware_tegra186.c index 5348f65c41..f3b37be3ce 100644 --- a/drivers/net/designware_tegra186.c +++ b/drivers/net/designware_tegra186.c @@ -213,9 +213,8 @@ static int eqos_init_tegra186(struct device_d *dev, struct eqos *eqos) priv->rst = reset_control_get(dev, "eqos"); if (IS_ERR(priv->rst)) { - ret = PTR_ERR(priv->rst); - dev_err(dev, "reset_get_by_name(rst) failed: %s\n", strerror(-ret)); - return ret; + dev_err(dev, "reset_get_by_name(rst) failed: %pe\n", priv->rst); + return PTR_ERR(priv->rst); } phy_reset = of_get_named_gpio(dev->device_node, "phy-reset-gpios", 0); diff --git a/drivers/usb/imx/chipidea-imx.c b/drivers/usb/imx/chipidea-imx.c index 635be02929..b1a77a1637 100644 --- a/drivers/usb/imx/chipidea-imx.c +++ b/drivers/usb/imx/chipidea-imx.c @@ -277,9 +277,8 @@ static int imx_chipidea_probe(struct device_d *dev) if (of_property_read_bool(dev->device_node, "fsl,usbphy")) { ci->phy = of_phy_get_by_phandle(dev, "fsl,usbphy", 0); if (IS_ERR(ci->phy)) { - ret = PTR_ERR(ci->phy); - dev_err(dev, "Cannot get phy: %s\n", strerror(-ret)); - return ret; + dev_err(dev, "Cannot get phy: %pe\n", ci->phy); + return PTR_ERR(ci->phy); } else { ci->usbphy = phy_to_usbphy(ci->phy); if (IS_ERR(ci->usbphy)) diff --git a/drivers/usb/imx/imx-usb-phy.c b/drivers/usb/imx/imx-usb-phy.c index d5c10dc282..32098ef248 100644 --- a/drivers/usb/imx/imx-usb-phy.c +++ b/drivers/usb/imx/imx-usb-phy.c @@ -165,7 +165,7 @@ static int imx_usbphy_probe(struct device_d *dev) imxphy->clk = clk_get(dev, NULL); if (IS_ERR(imxphy->clk)) { - dev_err(dev, "could not get clk: %s\n", strerrorp(imxphy->clk)); + dev_err(dev, "could not get clk: %pe\n", imxphy->clk); ret = PTR_ERR(imxphy->clk); goto err_clk; } diff --git a/drivers/video/imx-ipu-v3/imx-ldb.c b/drivers/video/imx-ipu-v3/imx-ldb.c index 9b4524274c..d7793bdc0e 100644 --- a/drivers/video/imx-ipu-v3/imx-ldb.c +++ b/drivers/video/imx-ipu-v3/imx-ldb.c @@ -162,7 +162,7 @@ static int imx6q_set_clock(struct imx_ldb *ldb, int ipuno, int dino, int chno, u diclk = clk_lookup(clkname); free(clkname); if (IS_ERR(diclk)) { - dev_err(ldb->dev, "failed to get di clk: %s\n", strerrorp(diclk)); + dev_err(ldb->dev, "failed to get di clk: %pe\n", diclk); return PTR_ERR(diclk); } @@ -170,7 +170,7 @@ static int imx6q_set_clock(struct imx_ldb *ldb, int ipuno, int dino, int chno, u ldbclk = clk_lookup(clkname); free(clkname); if (IS_ERR(ldbclk)) { - dev_err(ldb->dev, "failed to get ldb clk: %s\n", strerrorp(ldbclk)); + dev_err(ldb->dev, "failed to get ldb clk: %pe\n", ldbclk); return PTR_ERR(ldbclk); } @@ -233,7 +233,7 @@ static int imx53_ldb_prepare(struct imx_ldb_channel *imx_ldb_ch, int di, diclk = clk_lookup(clkname); free(clkname); if (IS_ERR(diclk)) { - dev_err(ldb->dev, "failed to get di clk: %s\n", strerrorp(diclk)); + dev_err(ldb->dev, "failed to get di clk: %pe\n", diclk); return PTR_ERR(diclk); } @@ -241,7 +241,7 @@ static int imx53_ldb_prepare(struct imx_ldb_channel *imx_ldb_ch, int di, ldbclk = clk_lookup(clkname); free(clkname); if (IS_ERR(ldbclk)) { - dev_err(ldb->dev, "failed to get ldb clk: %s\n", strerrorp(ldbclk)); + dev_err(ldb->dev, "failed to get ldb clk: %pe\n", ldbclk); return PTR_ERR(ldbclk); } diff --git a/drivers/video/imx-ipu-v3/ipu-common.c b/drivers/video/imx-ipu-v3/ipu-common.c index 1811e50227..b31edcdd55 100644 --- a/drivers/video/imx-ipu-v3/ipu-common.c +++ b/drivers/video/imx-ipu-v3/ipu-common.c @@ -804,9 +804,8 @@ static int ipu_probe(struct device_d *dev) ipu->clk = clk_get(dev, "bus"); if (IS_ERR(ipu->clk)) { - ret = PTR_ERR(ipu->clk); - dev_err(dev, "clk_get failed: %s\n", strerror(-ret)); - return ret; + dev_err(dev, "clk_get failed: %pe\n", ipu->clk); + return PTR_ERR(ipu->clk); } dev->priv = ipu; diff --git a/fs/ubifs/ubifs.c b/fs/ubifs/ubifs.c index eda62497e7..b373e31be6 100644 --- a/fs/ubifs/ubifs.c +++ b/fs/ubifs/ubifs.c @@ -430,8 +430,7 @@ static int ubifs_probe(struct device_d *dev) priv->ubi = ubi_open_volume_cdev(priv->cdev, UBI_READONLY); if (IS_ERR(priv->ubi)) { - dev_err(dev, "failed to open ubi volume: %s\n", - strerrorp(priv->ubi)); + dev_err(dev, "failed to open ubi volume: %pe\n", priv->ubi); ret = PTR_ERR(priv->ubi); goto err_free; } diff --git a/include/errno.h b/include/errno.h index 50f00de5d6..262c9fc3eb 100644 --- a/include/errno.h +++ b/include/errno.h @@ -11,9 +11,4 @@ void perror(const char *s); const char *errno_str(void); const char *strerror(int errnum); -static inline const char *strerrorp(const void *errp) -{ - return strerror(-PTR_ERR(errp)); -} - #endif /* __ERRNO_H */ diff --git a/lib/cmdlinepart.c b/lib/cmdlinepart.c index 5a16462874..5e95760bae 100644 --- a/lib/cmdlinepart.c +++ b/lib/cmdlinepart.c @@ -30,7 +30,6 @@ int cmdlinepart_do_parse_one(const char *devname, const char *partstr, char *end; char buf[PATH_MAX] = {}; unsigned long flags = 0; - int ret = 0; struct cdev *cdev; memset(buf, 0, PATH_MAX); @@ -85,11 +84,11 @@ int cmdlinepart_do_parse_one(const char *devname, const char *partstr, cdev = devfs_add_partition(devname, *offset, size, flags, buf); if (IS_ERR(cdev)) { - ret = PTR_ERR(cdev); - printf("cannot create %s: %s\n", buf, strerror(-ret)); + printf("cannot create %s: %pe\n", buf, cdev); + return PTR_ERR(cdev); } - return ret; + return 0; } int cmdlinepart_do_parse(const char *devname, const char *parts, loff_t devsize, diff --git a/lib/vsprintf.c b/lib/vsprintf.c index 6fe0283e84..4834501ff1 100644 --- a/lib/vsprintf.c +++ b/lib/vsprintf.c @@ -41,7 +41,8 @@ static int skip_atoi(const char **s) #define SMALL 32 /* Must be 32 == 0x20 */ #define SPECIAL 64 /* 0x */ -static char *number(char *buf, char *end, unsigned long long num, int base, int size, int precision, int type) +static char *number(char *buf, const char *end, unsigned long long num, int base, int size, + int precision, int type) { /* we are called with base 8, 10 or 16, only, thus don't need "G..." */ static const char digits[16] = "0123456789ABCDEF"; /* "GHIJKLMNOPQRSTUVWXYZ"; */ @@ -146,7 +147,8 @@ static char *number(char *buf, char *end, unsigned long long num, int base, int #define PAGE_SIZE 4096 #endif -static char *string(char *buf, char *end, char *s, int field_width, int precision, int flags) +static char *string(char *buf, const char *end, const char *s, int field_width, + int precision, int flags) { int len, i; @@ -175,8 +177,20 @@ static char *string(char *buf, char *end, char *s, int field_width, int precisio return buf; } +static char *raw_pointer(char *buf, const char *end, const void *ptr, int field_width, + int precision, int flags) +{ + flags |= SMALL; + if (field_width == -1) { + field_width = 2*sizeof(void *); + flags |= ZEROPAD; + } + return number(buf, end, (unsigned long) ptr, 16, field_width, precision, flags); +} + #ifndef __PBL__ -static char *symbol_string(char *buf, char *end, void *ptr, int field_width, int precision, int flags) +static char *symbol_string(char *buf, const char *end, const void *ptr, int field_width, + int precision, int flags) { unsigned long value = (unsigned long) ptr; #ifdef CONFIG_KALLSYMS @@ -191,7 +205,7 @@ static char *symbol_string(char *buf, char *end, void *ptr, int field_width, int } static noinline_for_stack -char *ip4_addr_string(char *buf, char *end, const u8 *addr, int field_width, +char *ip4_addr_string(char *buf, const char *end, const u8 *addr, int field_width, int precision, int flags, const char *fmt) { char ip4_addr[sizeof("255.255.255.255")]; @@ -211,9 +225,19 @@ char *ip4_addr_string(char *buf, char *end, const u8 *addr, int field_width, return string(buf, end, ip4_addr, field_width, precision, flags); } +static +char *error_string(char *buf, const char *end, const u8 *errptr, int field_width, + int precision, int flags, const char *fmt) +{ + if (!IS_ERR(errptr)) + return raw_pointer(buf, end, errptr, field_width, precision, flags); + + return string(buf, end, strerror(-PTR_ERR(errptr)), field_width, precision, flags); +} + static noinline_for_stack -char *uuid_string(char *buf, char *end, const u8 *addr, int field_width, - int precision, int flags, const char *fmt) +char *uuid_string(char *buf, const char *end, const u8 *addr, int field_width, + int precision, int flags, const char *fmt) { char uuid[sizeof("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")]; char *p = uuid; @@ -259,8 +283,8 @@ char *uuid_string(char *buf, char *end, const u8 *addr, int field_width, } static noinline_for_stack -char *address_val(char *buf, char *end, const void *addr, - int field_width, int precision, int flags, const char *fmt) +char *address_val(char *buf, const char *end, const void *addr, + int field_width, int precision, int flags, const char *fmt) { unsigned long long num; @@ -314,7 +338,8 @@ char *address_val(char *buf, char *end, const void *addr, * function pointers are really function descriptors, which contain a * pointer to the real address. */ -static char *pointer(const char *fmt, char *buf, char *end, void *ptr, int field_width, int precision, int flags) +static char *pointer(const char *fmt, char *buf, const char *end, const void *ptr, + int field_width, int precision, int flags) { switch (*fmt) { case 'S': @@ -341,23 +366,18 @@ static char *pointer(const char *fmt, char *buf, char *end, void *ptr, int field return ip4_addr_string(buf, end, ptr, field_width, precision, flags, fmt); } break; + case 'e': + return error_string(buf, end, ptr, field_width, precision, flags, fmt); } - flags |= SMALL; - if (field_width == -1) { - field_width = 2*sizeof(void *); - flags |= ZEROPAD; - } - return number(buf, end, (unsigned long) ptr, 16, field_width, precision, flags); + + return raw_pointer(buf, end, ptr, field_width, precision, flags); } + #else -static char *pointer(const char *fmt, char *buf, char *end, void *ptr, int field_width, int precision, int flags) +static char *pointer(const char *fmt, char *buf, const char *end, const void *ptr, + int field_width, int precision, int flags) { - flags |= SMALL; - if (field_width == -1) { - field_width = 2*sizeof(void *); - flags |= ZEROPAD; - } - return number(buf, end, (unsigned long) ptr, 16, field_width, precision, flags); + return raw_pointer(buf, end, ptr, field_width, precision, flags); } #endif |