summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2019-11-07 14:26:42 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2019-11-07 14:26:42 +0100
commit422d0ae2cd4a4a4cb38eac3526a704ae94f96646 (patch)
tree997389eb927cbc2a4ab02ef73d727ca1211415ee /drivers
parent989ca04ca49a023de81b6a7cdda8f2650e17d7ee (diff)
parent361ecbfff18fe2051b69dbbfa6efe6a2d054863f (diff)
downloadbarebox-422d0ae2cd4a4a4cb38eac3526a704ae94f96646.tar.gz
barebox-422d0ae2cd4a4a4cb38eac3526a704ae94f96646.tar.xz
Merge branch 'for-next/misc'
Diffstat (limited to 'drivers')
-rw-r--r--drivers/hw_random/Kconfig6
-rw-r--r--drivers/mfd/superio.c2
-rw-r--r--drivers/of/of_gpio.c6
-rw-r--r--drivers/of/of_path.c2
-rw-r--r--drivers/usb/storage/usb.c7
5 files changed, 13 insertions, 10 deletions
diff --git a/drivers/hw_random/Kconfig b/drivers/hw_random/Kconfig
index c57928204d..242a7ef278 100644
--- a/drivers/hw_random/Kconfig
+++ b/drivers/hw_random/Kconfig
@@ -15,11 +15,11 @@ config HWRNG_MXC_RNGC
Generator hardware found on some Freescale i.MX processors.
config HWRNG_DEV_RANDOM
- tristate "Linux /dev/random and /dev/urandom RNG"
+ tristate "Linux /dev/urandom RNG"
depends on SANDBOX
default y
help
- This driver allows use of the host provided /dev/random
- and /dev/urandom as barebox HWRNGs.
+ This driver allows use of the host provided /dev/urandom
+ as barebox HWRNGs.
endif
diff --git a/drivers/mfd/superio.c b/drivers/mfd/superio.c
index 0f08d56cb3..12d74b40f6 100644
--- a/drivers/mfd/superio.c
+++ b/drivers/mfd/superio.c
@@ -88,7 +88,7 @@ void superio_chip_add(struct superio_chip *siochip)
&superio_regmap_config);
if (IS_ERR(regmap))
pr_warn("creating %s regmap failed: %s\n",
- chipname, strerror(-PTR_ERR(regmap)));
+ chipname, strerrorp(regmap));
ret = regmap_register_cdev(regmap, chipname);
if (ret)
diff --git a/drivers/of/of_gpio.c b/drivers/of/of_gpio.c
index 9a8331ed18..7cbeeaf69e 100644
--- a/drivers/of/of_gpio.c
+++ b/drivers/of/of_gpio.c
@@ -19,18 +19,20 @@ static void of_gpio_flags_quirks(struct device_node *np,
(!(strcmp(propname, "enable-gpio") &&
strcmp(propname, "enable-gpios")) &&
of_device_is_compatible(np, "regulator-gpio")))) {
+ bool active_low = !of_property_read_bool(np,
+ "enable-active-high");
/*
* The regulator GPIO handles are specified such that the
* presence or absence of "enable-active-high" solely controls
* the polarity of the GPIO line. Any phandle flags must
* be actively ignored.
*/
- if (*flags & OF_GPIO_ACTIVE_LOW) {
+ if ((*flags & OF_GPIO_ACTIVE_LOW) && !active_low) {
pr_warn("%s GPIO handle specifies active low - ignored\n",
np->full_name);
*flags &= ~OF_GPIO_ACTIVE_LOW;
}
- if (!of_property_read_bool(np, "enable-active-high"))
+ if (active_low)
*flags |= OF_GPIO_ACTIVE_LOW;
}
}
diff --git a/drivers/of/of_path.c b/drivers/of/of_path.c
index f8bbf2cba1..5c3a020345 100644
--- a/drivers/of/of_path.c
+++ b/drivers/of/of_path.c
@@ -83,7 +83,7 @@ static int __of_find_path(struct device_node *node, const char *part, char **out
}
if (dev->bus && !dev->driver)
- return -ENODEV;
+ return -EPROBE_DEFER;
device_detect(dev);
diff --git a/drivers/usb/storage/usb.c b/drivers/usb/storage/usb.c
index 63d624e91b..e0ef4f5ef3 100644
--- a/drivers/usb/storage/usb.c
+++ b/drivers/usb/storage/usb.c
@@ -87,8 +87,7 @@ static int usb_stor_transport(struct us_blk_dev *usb_blkdev,
struct device_d *dev = &us->pusb_dev->dev;
int i, ret;
-
- for (i = 0; i < retries; i++) {
+ for (i = 0; i <= retries; i++) {
dev_dbg(dev, "%s\n", usb_stor_opcode_name(cmd[0]));
ret = us->transport(usb_blkdev, cmd, cmdlen, data, datalen);
dev_dbg(dev, "%s returns %d\n", usb_stor_opcode_name(cmd[0]),
@@ -105,6 +104,8 @@ static int usb_stor_transport(struct us_blk_dev *usb_blkdev,
mdelay(request_sense_delay_ms);
}
+ dev_dbg(dev, "Retried %s %d times, and failed.\n", usb_stor_opcode_name(cmd[0]), retries);
+
return -EIO;
}
@@ -194,7 +195,7 @@ static int usb_stor_io_10(struct us_blk_dev *usb_blkdev, u8 opcode,
put_unaligned_be16(blocks, &cmd[7]);
return usb_stor_transport(usb_blkdev, cmd, sizeof(cmd), data,
- blocks * SECTOR_SIZE, 2, 0);
+ blocks * SECTOR_SIZE, 10, 0);
}
/***********************************************************************