summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-layerscape/ppa.c5
-rw-r--r--commands/fbtest.c5
-rw-r--r--commands/of_diff.c4
-rw-r--r--commands/splash.c5
-rw-r--r--commands/ubi.c2
-rw-r--r--common/bootm.c3
-rw-r--r--common/state/state.c3
-rw-r--r--common/usbgadget.c3
-rw-r--r--drivers/clk/clk-qoric.c2
-rw-r--r--drivers/mfd/superio.c3
-rw-r--r--drivers/misc/acpi-test.c2
-rw-r--r--drivers/net/designware_tegra186.c5
-rw-r--r--drivers/usb/imx/chipidea-imx.c5
-rw-r--r--drivers/usb/imx/imx-usb-phy.c2
-rw-r--r--drivers/video/imx-ipu-v3/imx-ldb.c8
-rw-r--r--drivers/video/imx-ipu-v3/ipu-common.c5
-rw-r--r--fs/ubifs/ubifs.c3
-rw-r--r--include/errno.h5
-rw-r--r--lib/cmdlinepart.c7
-rw-r--r--lib/vsprintf.c64
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