* [PATCH AUTOSEL 4.19 024/219] ARM: dts: Fix hsi gdd range for omap4
[not found] <20191122054911.1750-1-sashal@kernel.org>
@ 2019-11-22 5:45 ` Sasha Levin
2019-11-22 5:45 ` [PATCH AUTOSEL 4.19 027/219] bus: ti-sysc: Check for no-reset and no-idle flags at the child level Sasha Levin
` (5 subsequent siblings)
6 siblings, 0 replies; 7+ messages in thread
From: Sasha Levin @ 2019-11-22 5:45 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Tony Lindgren, Sebastian Reichel, Sasha Levin, linux-omap,
devicetree
From: Tony Lindgren <tony@atomide.com>
[ Upstream commit e9e685480b74aef3f3d0967dadb52eea3ff625d2 ]
While reviewing the missing mcasp ranges I noticed omap4 hsi range
for gdd is wrong so let's fix it.
I'm not aware of any omap4 devices in mainline kernel though that use
hsi though.
Fixes: 84badc5ec5fc ("ARM: dts: omap4: Move l4 child devices to probe
them with ti-sysc")
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
arch/arm/boot/dts/omap4-l4.dtsi | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm/boot/dts/omap4-l4.dtsi b/arch/arm/boot/dts/omap4-l4.dtsi
index 6eb26b837446c..5059ecac44787 100644
--- a/arch/arm/boot/dts/omap4-l4.dtsi
+++ b/arch/arm/boot/dts/omap4-l4.dtsi
@@ -196,12 +196,12 @@
clock-names = "fck";
#address-cells = <1>;
#size-cells = <1>;
- ranges = <0x0 0x58000 0x4000>;
+ ranges = <0x0 0x58000 0x5000>;
hsi: hsi@0 {
compatible = "ti,omap4-hsi";
reg = <0x0 0x4000>,
- <0x4a05c000 0x1000>;
+ <0x5000 0x1000>;
reg-names = "sys", "gdd";
clocks = <&l3_init_clkctrl OMAP4_HSI_CLKCTRL 0>;
--
2.20.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH AUTOSEL 4.19 027/219] bus: ti-sysc: Check for no-reset and no-idle flags at the child level
[not found] <20191122054911.1750-1-sashal@kernel.org>
2019-11-22 5:45 ` [PATCH AUTOSEL 4.19 024/219] ARM: dts: Fix hsi gdd range for omap4 Sasha Levin
@ 2019-11-22 5:45 ` Sasha Levin
2019-11-22 5:46 ` [PATCH AUTOSEL 4.19 029/219] ARM: OMAP1: fix USB configuration for device-only setups Sasha Levin
` (4 subsequent siblings)
6 siblings, 0 replies; 7+ messages in thread
From: Sasha Levin @ 2019-11-22 5:45 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Tony Lindgren, Peter Ujfalusi, Sasha Levin, linux-omap
From: Tony Lindgren <tony@atomide.com>
[ Upstream commit 4014c08ba39476a18af546186da625a6833a1529 ]
With ti-sysc, we need to now have the device tree properties for
ti,no-reset-on-init and ti,no-idle-on-init at the module level instead
of the child device level.
Let's check for these properties at the child device level to enable
quirks, and warn about moving the properties to the module level.
Otherwise am335x-evm based boards tagging gpio1 with ti,no-reset-on-init
will have their DDR power disabled if wired up in such a tricky way.
Note that this should not be an issue for earlier kernels as we don't
rely on this until the dts files have been updated to probe with ti-sysc
interconnect target driver.
Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
Reported-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/bus/ti-sysc.c | 32 +++++++++++++++++++++++++-------
1 file changed, 25 insertions(+), 7 deletions(-)
diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c
index e95b26319cd91..5b31131d0cba2 100644
--- a/drivers/bus/ti-sysc.c
+++ b/drivers/bus/ti-sysc.c
@@ -91,6 +91,9 @@ struct sysc {
struct delayed_work idle_work;
};
+static void sysc_parse_dts_quirks(struct sysc *ddata, struct device_node *np,
+ bool is_child);
+
void sysc_write(struct sysc *ddata, int offset, u32 value)
{
writel_relaxed(value, ddata->module_va + offset);
@@ -374,6 +377,7 @@ static int sysc_check_one_child(struct sysc *ddata,
dev_warn(ddata->dev, "really a child ti,hwmods property?");
sysc_check_quirk_stdout(ddata, np);
+ sysc_parse_dts_quirks(ddata, np, true);
return 0;
}
@@ -1343,23 +1347,37 @@ static const struct sysc_dts_quirk sysc_dts_quirks[] = {
.mask = SYSC_QUIRK_NO_RESET_ON_INIT, },
};
-static int sysc_init_dts_quirks(struct sysc *ddata)
+static void sysc_parse_dts_quirks(struct sysc *ddata, struct device_node *np,
+ bool is_child)
{
- struct device_node *np = ddata->dev->of_node;
const struct property *prop;
- int i, len, error;
- u32 val;
-
- ddata->legacy_mode = of_get_property(np, "ti,hwmods", NULL);
+ int i, len;
for (i = 0; i < ARRAY_SIZE(sysc_dts_quirks); i++) {
- prop = of_get_property(np, sysc_dts_quirks[i].name, &len);
+ const char *name = sysc_dts_quirks[i].name;
+
+ prop = of_get_property(np, name, &len);
if (!prop)
continue;
ddata->cfg.quirks |= sysc_dts_quirks[i].mask;
+ if (is_child) {
+ dev_warn(ddata->dev,
+ "dts flag should be at module level for %s\n",
+ name);
+ }
}
+}
+
+static int sysc_init_dts_quirks(struct sysc *ddata)
+{
+ struct device_node *np = ddata->dev->of_node;
+ int error;
+ u32 val;
+
+ ddata->legacy_mode = of_get_property(np, "ti,hwmods", NULL);
+ sysc_parse_dts_quirks(ddata, np, false);
error = of_property_read_u32(np, "ti,sysc-delay-us", &val);
if (!error) {
if (val > 255) {
--
2.20.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH AUTOSEL 4.19 029/219] ARM: OMAP1: fix USB configuration for device-only setups
[not found] <20191122054911.1750-1-sashal@kernel.org>
2019-11-22 5:45 ` [PATCH AUTOSEL 4.19 024/219] ARM: dts: Fix hsi gdd range for omap4 Sasha Levin
2019-11-22 5:45 ` [PATCH AUTOSEL 4.19 027/219] bus: ti-sysc: Check for no-reset and no-idle flags at the child level Sasha Levin
@ 2019-11-22 5:46 ` Sasha Levin
2019-11-22 5:46 ` [PATCH AUTOSEL 4.19 070/219] usb: ehci-omap: Fix deferred probe for phy handling Sasha Levin
` (3 subsequent siblings)
6 siblings, 0 replies; 7+ messages in thread
From: Sasha Levin @ 2019-11-22 5:46 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Aaro Koskinen, Tony Lindgren, Sasha Levin, linux-omap,
linux-arm-kernel
From: Aaro Koskinen <aaro.koskinen@iki.fi>
[ Upstream commit c7b7b5cbd0c859b1546a5a3455d457708bdadf4c ]
Currently we do USB configuration only if the host mode (CONFIG_USB)
is enabled. But it should be done also in the case of device-only setups,
so change the condition to CONFIG_USB_SUPPORT. This allows to use
omap_udc on Palm Tungsten E.
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
arch/arm/mach-omap1/Makefile | 2 +-
arch/arm/mach-omap1/include/mach/usb.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm/mach-omap1/Makefile b/arch/arm/mach-omap1/Makefile
index e8ccf51c6f292..ec0235899de20 100644
--- a/arch/arm/mach-omap1/Makefile
+++ b/arch/arm/mach-omap1/Makefile
@@ -25,7 +25,7 @@ obj-y += $(i2c-omap-m) $(i2c-omap-y)
led-y := leds.o
-usb-fs-$(CONFIG_USB) := usb.o
+usb-fs-$(CONFIG_USB_SUPPORT) := usb.o
obj-y += $(usb-fs-m) $(usb-fs-y)
# Specific board support
diff --git a/arch/arm/mach-omap1/include/mach/usb.h b/arch/arm/mach-omap1/include/mach/usb.h
index 77867778d4ec7..5429d86c7190d 100644
--- a/arch/arm/mach-omap1/include/mach/usb.h
+++ b/arch/arm/mach-omap1/include/mach/usb.h
@@ -11,7 +11,7 @@
#include <linux/platform_data/usb-omap1.h>
-#if IS_ENABLED(CONFIG_USB)
+#if IS_ENABLED(CONFIG_USB_SUPPORT)
void omap1_usb_init(struct omap_usb_config *pdata);
#else
static inline void omap1_usb_init(struct omap_usb_config *pdata)
--
2.20.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH AUTOSEL 4.19 070/219] usb: ehci-omap: Fix deferred probe for phy handling
[not found] <20191122054911.1750-1-sashal@kernel.org>
` (2 preceding siblings ...)
2019-11-22 5:46 ` [PATCH AUTOSEL 4.19 029/219] ARM: OMAP1: fix USB configuration for device-only setups Sasha Levin
@ 2019-11-22 5:46 ` Sasha Levin
2019-11-22 5:46 ` [PATCH AUTOSEL 4.19 085/219] memory: omap-gpmc: Get the header of the enum Sasha Levin
` (2 subsequent siblings)
6 siblings, 0 replies; 7+ messages in thread
From: Sasha Levin @ 2019-11-22 5:46 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Roger Quadros, Johan Hovold, Ladislav Michl, Peter Ujfalusi,
Tony Lindgren, Alan Stern, Greg Kroah-Hartman, Sasha Levin,
linux-usb, linux-omap
From: Roger Quadros <rogerq@ti.com>
[ Upstream commit 8dc7623bf608495b6e6743e805807c7840673573 ]
PHY model is being used on omap5 platforms even if port mode
is not OMAP_EHCI_PORT_MODE_PHY. So don't guess if PHY is required
or not based on PHY mode.
If PHY is provided in device tree, it must be required. So, if
devm_usb_get_phy_by_phandle() gives us an error code other
than -ENODEV (no PHY) then error out.
This fixes USB Ethernet on omap5-uevm if PHY happens to
probe after EHCI thus causing a -EPROBE_DEFER.
Cc: Johan Hovold <johan@kernel.org>
Cc: Ladislav Michl <ladis@linux-mips.org>
Reported-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Roger Quadros <rogerq@ti.com>
Tested-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/usb/host/ehci-omap.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/usb/host/ehci-omap.c b/drivers/usb/host/ehci-omap.c
index 7e4c13346a1ee..7d20296cbe9f9 100644
--- a/drivers/usb/host/ehci-omap.c
+++ b/drivers/usb/host/ehci-omap.c
@@ -159,11 +159,12 @@ static int ehci_hcd_omap_probe(struct platform_device *pdev)
/* get the PHY device */
phy = devm_usb_get_phy_by_phandle(dev, "phys", i);
if (IS_ERR(phy)) {
- /* Don't bail out if PHY is not absolutely necessary */
- if (pdata->port_mode[i] != OMAP_EHCI_PORT_MODE_PHY)
+ ret = PTR_ERR(phy);
+ if (ret == -ENODEV) { /* no PHY */
+ phy = NULL;
continue;
+ }
- ret = PTR_ERR(phy);
if (ret != -EPROBE_DEFER)
dev_err(dev, "Can't get PHY for port %d: %d\n",
i, ret);
--
2.20.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH AUTOSEL 4.19 085/219] memory: omap-gpmc: Get the header of the enum
[not found] <20191122054911.1750-1-sashal@kernel.org>
` (3 preceding siblings ...)
2019-11-22 5:46 ` [PATCH AUTOSEL 4.19 070/219] usb: ehci-omap: Fix deferred probe for phy handling Sasha Levin
@ 2019-11-22 5:46 ` Sasha Levin
2019-11-22 5:47 ` [PATCH AUTOSEL 4.19 108/219] drivers/regulator: fix a missing check of return value Sasha Levin
2019-11-22 5:47 ` [PATCH AUTOSEL 4.19 131/219] regulator: tps65910: " Sasha Levin
6 siblings, 0 replies; 7+ messages in thread
From: Sasha Levin @ 2019-11-22 5:46 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Linus Walleij, Ladislav Michl, Janusz Krzysztofik,
Stephen Rothwell, Tony Lindgren, Sasha Levin, linux-omap
From: Linus Walleij <linus.walleij@linaro.org>
[ Upstream commit a0752e9c3097b2c4fccd618802938e0951038dfa ]
Commit 21abf103818a
("gpio: Pass a flag to gpiochip_request_own_desc()")
started to pass an enum gpiod_flags but this file is
not including the header file that defines that enum
and the compiler spits:
drivers/memory/omap-gpmc.c: In function
'gpmc_probe_generic_child':
drivers/memory/omap-gpmc.c:2174:9: error: type of formal
parameter 4 is incomplete
0);
^
Cc: Ladislav Michl <ladis@linux-mips.org>
Cc: Janusz Krzysztofik <jmkrzyszt@gmail.com>
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Fixes: 21abf103818a ("gpio: Pass a flag to gpiochip_request_own_desc()")
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/memory/omap-gpmc.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/memory/omap-gpmc.c b/drivers/memory/omap-gpmc.c
index c215287e80cf3..1c6a7c16e0c17 100644
--- a/drivers/memory/omap-gpmc.c
+++ b/drivers/memory/omap-gpmc.c
@@ -21,6 +21,7 @@
#include <linux/spinlock.h>
#include <linux/io.h>
#include <linux/gpio/driver.h>
+#include <linux/gpio/consumer.h> /* GPIO descriptor enum */
#include <linux/interrupt.h>
#include <linux/irqdomain.h>
#include <linux/platform_device.h>
--
2.20.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH AUTOSEL 4.19 108/219] drivers/regulator: fix a missing check of return value
[not found] <20191122054911.1750-1-sashal@kernel.org>
` (4 preceding siblings ...)
2019-11-22 5:46 ` [PATCH AUTOSEL 4.19 085/219] memory: omap-gpmc: Get the header of the enum Sasha Levin
@ 2019-11-22 5:47 ` Sasha Levin
2019-11-22 5:47 ` [PATCH AUTOSEL 4.19 131/219] regulator: tps65910: " Sasha Levin
6 siblings, 0 replies; 7+ messages in thread
From: Sasha Levin @ 2019-11-22 5:47 UTC (permalink / raw)
To: linux-kernel, stable; +Cc: Kangjie Lu, Mark Brown, Sasha Levin, linux-omap
From: Kangjie Lu <kjlu@umn.edu>
[ Upstream commit 966e927bf8cc6a44f8b72582a1d6d3ffc73b12ad ]
If palmas_smps_read() fails, we should not use the read data in "reg"
which may contain random value. The fix inserts a check for the return
value of palmas_smps_read(): If it fails, we return the error code
upstream and stop using "reg".
Signed-off-by: Kangjie Lu <kjlu@umn.edu>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/regulator/palmas-regulator.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/regulator/palmas-regulator.c b/drivers/regulator/palmas-regulator.c
index bb5ab7d78895b..c2cc392a27d40 100644
--- a/drivers/regulator/palmas-regulator.c
+++ b/drivers/regulator/palmas-regulator.c
@@ -443,13 +443,16 @@ static int palmas_ldo_write(struct palmas *palmas, unsigned int reg,
static int palmas_set_mode_smps(struct regulator_dev *dev, unsigned int mode)
{
int id = rdev_get_id(dev);
+ int ret;
struct palmas_pmic *pmic = rdev_get_drvdata(dev);
struct palmas_pmic_driver_data *ddata = pmic->palmas->pmic_ddata;
struct palmas_regs_info *rinfo = &ddata->palmas_regs_info[id];
unsigned int reg;
bool rail_enable = true;
- palmas_smps_read(pmic->palmas, rinfo->ctrl_addr, ®);
+ ret = palmas_smps_read(pmic->palmas, rinfo->ctrl_addr, ®);
+ if (ret)
+ return ret;
reg &= ~PALMAS_SMPS12_CTRL_MODE_ACTIVE_MASK;
--
2.20.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH AUTOSEL 4.19 131/219] regulator: tps65910: fix a missing check of return value
[not found] <20191122054911.1750-1-sashal@kernel.org>
` (5 preceding siblings ...)
2019-11-22 5:47 ` [PATCH AUTOSEL 4.19 108/219] drivers/regulator: fix a missing check of return value Sasha Levin
@ 2019-11-22 5:47 ` Sasha Levin
6 siblings, 0 replies; 7+ messages in thread
From: Sasha Levin @ 2019-11-22 5:47 UTC (permalink / raw)
To: linux-kernel, stable; +Cc: Kangjie Lu, Mark Brown, Sasha Levin, linux-omap
From: Kangjie Lu <kjlu@umn.edu>
[ Upstream commit cd07e3701fa6a4c68f8493ee1d12caa18d46ec6a ]
tps65910_reg_set_bits() may fail. The fix checks if it fails, and if so,
returns with its error code.
Signed-off-by: Kangjie Lu <kjlu@umn.edu>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/regulator/tps65910-regulator.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/regulator/tps65910-regulator.c b/drivers/regulator/tps65910-regulator.c
index 02ccdaa226a73..5ebb6ee73f077 100644
--- a/drivers/regulator/tps65910-regulator.c
+++ b/drivers/regulator/tps65910-regulator.c
@@ -1102,8 +1102,10 @@ static int tps65910_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, pmic);
/* Give control of all register to control port */
- tps65910_reg_set_bits(pmic->mfd, TPS65910_DEVCTRL,
+ err = tps65910_reg_set_bits(pmic->mfd, TPS65910_DEVCTRL,
DEVCTRL_SR_CTL_I2C_SEL_MASK);
+ if (err < 0)
+ return err;
switch (tps65910_chip_id(tps65910)) {
case TPS65910:
--
2.20.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2019-11-22 5:47 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20191122054911.1750-1-sashal@kernel.org>
2019-11-22 5:45 ` [PATCH AUTOSEL 4.19 024/219] ARM: dts: Fix hsi gdd range for omap4 Sasha Levin
2019-11-22 5:45 ` [PATCH AUTOSEL 4.19 027/219] bus: ti-sysc: Check for no-reset and no-idle flags at the child level Sasha Levin
2019-11-22 5:46 ` [PATCH AUTOSEL 4.19 029/219] ARM: OMAP1: fix USB configuration for device-only setups Sasha Levin
2019-11-22 5:46 ` [PATCH AUTOSEL 4.19 070/219] usb: ehci-omap: Fix deferred probe for phy handling Sasha Levin
2019-11-22 5:46 ` [PATCH AUTOSEL 4.19 085/219] memory: omap-gpmc: Get the header of the enum Sasha Levin
2019-11-22 5:47 ` [PATCH AUTOSEL 4.19 108/219] drivers/regulator: fix a missing check of return value Sasha Levin
2019-11-22 5:47 ` [PATCH AUTOSEL 4.19 131/219] regulator: tps65910: " Sasha Levin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).