* [PATCH 0/3] HSI: omap-ssi: regressions against yesterday's linux-next
@ 2016-05-03 15:16 Arnd Bergmann
2016-05-03 15:16 ` [PATCH 1/3] HSI: omap-ssi: add COMMON_CLK dependency Arnd Bergmann
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Arnd Bergmann @ 2016-05-03 15:16 UTC (permalink / raw)
To: linux-arm-kernel
Hi Sebastian,
One patch you added yesterday unfortunately caused (at least) three
separate build problems with 32-bit ARM randconfig builds.
These three patches should make it all work again.
Arnd
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/3] HSI: omap-ssi: add COMMON_CLK dependency
2016-05-03 15:16 [PATCH 0/3] HSI: omap-ssi: regressions against yesterday's linux-next Arnd Bergmann
@ 2016-05-03 15:16 ` Arnd Bergmann
2016-05-03 15:16 ` [PATCH 2/3] HSI: omap-ssi: include pinctrl header files Arnd Bergmann
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Arnd Bergmann @ 2016-05-03 15:16 UTC (permalink / raw)
To: linux-arm-kernel
Enabling the omap ssi driver without COMMON_CLK results in a build failure:
drivers/hsi/controllers/omap_ssi_core.c: In function 'ssi_clk_event':
drivers/hsi/controllers/omap_ssi_core.c:304:7: error: 'PRE_RATE_CHANGE' undeclared (first use in this function)
This adds a Kconfig dependency to avoid the invalid configuration.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 4bcf7414528a ("HSI: omap-ssi: add clk change support")
---
drivers/hsi/controllers/Kconfig | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/hsi/controllers/Kconfig b/drivers/hsi/controllers/Kconfig
index 084ec97eec64..48e4eda186cc 100644
--- a/drivers/hsi/controllers/Kconfig
+++ b/drivers/hsi/controllers/Kconfig
@@ -5,7 +5,8 @@ comment "HSI controllers"
config OMAP_SSI
tristate "OMAP SSI hardware driver"
- depends on HSI && OF && (ARCH_OMAP3 || (ARM && COMPILE_TEST))
+ depends on HSI && OF && ARM && COMMON_CLK
+ depends on ARCH_OMAP3 || COMPILE_TEST
---help---
SSI is a legacy version of HSI. It is usually used to connect
an application engine with a cellular modem.
--
2.7.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/3] HSI: omap-ssi: include pinctrl header files
2016-05-03 15:16 [PATCH 0/3] HSI: omap-ssi: regressions against yesterday's linux-next Arnd Bergmann
2016-05-03 15:16 ` [PATCH 1/3] HSI: omap-ssi: add COMMON_CLK dependency Arnd Bergmann
@ 2016-05-03 15:16 ` Arnd Bergmann
2016-05-03 15:16 ` [PATCH 3/3] HSI: omap-ssi: move omap_ssi_port_update_fclk Arnd Bergmann
2016-05-09 21:21 ` [PATCH 0/3] HSI: omap-ssi: regressions against yesterday's linux-next Sebastian Reichel
3 siblings, 0 replies; 5+ messages in thread
From: Arnd Bergmann @ 2016-05-03 15:16 UTC (permalink / raw)
To: linux-arm-kernel
The driver now uses some pinctrl functions, but fails
to build if PINCTRL is disabled because the respective
header files are only included indirectly:
drivers/hsi/controllers/omap_ssi_core.c: In function 'ssi_clk_event':
drivers/hsi/controllers/omap_ssi_core.c:317:4: error: implicit declaration of function 'pinctrl_pm_select_idle_state' [-Werror=implicit-function-declaration]
drivers/hsi/controllers/omap_ssi_core.c:339:4: error: implicit declaration of function 'pinctrl_pm_select_default_state' [-Werror=implicit-function-declaration]
drivers/hsi/controllers/omap_ssi_port.c: In function 'ssi_flush':
drivers/hsi/controllers/omap_ssi_port.c:520:2: error: implicit declaration of function 'pinctrl_pm_select_idle_state' [-Werror=implicit-function-declaration]
This includes the headers from the files that call the functions,
which works even if pinctrl is turned off.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 4bcf7414528a ("HSI: omap-ssi: add clk change support")
---
drivers/hsi/controllers/omap_ssi_core.c | 1 +
drivers/hsi/controllers/omap_ssi_port.c | 1 +
2 files changed, 2 insertions(+)
diff --git a/drivers/hsi/controllers/omap_ssi_core.c b/drivers/hsi/controllers/omap_ssi_core.c
index 15b2a600d77b..a3e0febfb64a 100644
--- a/drivers/hsi/controllers/omap_ssi_core.c
+++ b/drivers/hsi/controllers/omap_ssi_core.c
@@ -35,6 +35,7 @@
#include <linux/interrupt.h>
#include <linux/spinlock.h>
#include <linux/debugfs.h>
+#include <linux/pinctrl/consumer.h>
#include <linux/pm_runtime.h>
#include <linux/of_platform.h>
#include <linux/hsi/hsi.h>
diff --git a/drivers/hsi/controllers/omap_ssi_port.c b/drivers/hsi/controllers/omap_ssi_port.c
index 98b22e88085c..ca7139eaaa1d 100644
--- a/drivers/hsi/controllers/omap_ssi_port.c
+++ b/drivers/hsi/controllers/omap_ssi_port.c
@@ -26,6 +26,7 @@
#include <linux/delay.h>
#include <linux/gpio/consumer.h>
+#include <linux/pinctrl/consumer.h>
#include <linux/debugfs.h>
#include "omap_ssi_regs.h"
--
2.7.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 3/3] HSI: omap-ssi: move omap_ssi_port_update_fclk
2016-05-03 15:16 [PATCH 0/3] HSI: omap-ssi: regressions against yesterday's linux-next Arnd Bergmann
2016-05-03 15:16 ` [PATCH 1/3] HSI: omap-ssi: add COMMON_CLK dependency Arnd Bergmann
2016-05-03 15:16 ` [PATCH 2/3] HSI: omap-ssi: include pinctrl header files Arnd Bergmann
@ 2016-05-03 15:16 ` Arnd Bergmann
2016-05-09 21:21 ` [PATCH 0/3] HSI: omap-ssi: regressions against yesterday's linux-next Sebastian Reichel
3 siblings, 0 replies; 5+ messages in thread
From: Arnd Bergmann @ 2016-05-03 15:16 UTC (permalink / raw)
To: linux-arm-kernel
After the clk change support, the ssi omap ssi core driver
now calls into the port driver to change fclk. This function
was previously inside of an #ifdef, because it was only used
when CONFIG_PM is enabled. Now it also gets used without
power management support:
drivers/hsi/built-in.o: In function `ssi_clk_event':
omap_ssi_port.c:(.text+0x1bf8): undefined reference to `omap_ssi_port_update_fclk'
This moves the function outside of the CONFIG_PM guard.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 4bcf7414528a ("HSI: omap-ssi: add clk change support")
---
drivers/hsi/controllers/omap_ssi_port.c | 35 ++++++++++++++++-----------------
1 file changed, 17 insertions(+), 18 deletions(-)
diff --git a/drivers/hsi/controllers/omap_ssi_port.c b/drivers/hsi/controllers/omap_ssi_port.c
index ca7139eaaa1d..6b8f7739768a 100644
--- a/drivers/hsi/controllers/omap_ssi_port.c
+++ b/drivers/hsi/controllers/omap_ssi_port.c
@@ -1253,6 +1253,23 @@ static int ssi_port_remove(struct platform_device *pd)
return 0;
}
+static int ssi_restore_divisor(struct omap_ssi_port *omap_port)
+{
+ writel_relaxed(omap_port->sst.divisor,
+ omap_port->sst_base + SSI_SST_DIVISOR_REG);
+
+ return 0;
+}
+
+void omap_ssi_port_update_fclk(struct hsi_controller *ssi,
+ struct omap_ssi_port *omap_port)
+{
+ /* update divisor */
+ u32 div = ssi_calculate_div(ssi);
+ omap_port->sst.divisor = div;
+ ssi_restore_divisor(omap_port);
+}
+
#ifdef CONFIG_PM
static int ssi_save_port_ctx(struct omap_ssi_port *omap_port)
{
@@ -1305,24 +1322,6 @@ static int ssi_restore_port_mode(struct omap_ssi_port *omap_port)
return 0;
}
-static int ssi_restore_divisor(struct omap_ssi_port *omap_port)
-{
- writel_relaxed(omap_port->sst.divisor,
- omap_port->sst_base + SSI_SST_DIVISOR_REG);
-
- return 0;
-}
-
-void omap_ssi_port_update_fclk(struct hsi_controller *ssi,
- struct omap_ssi_port *omap_port)
-{
- /* update divisor */
- u32 div = ssi_calculate_div(ssi);
- omap_port->sst.divisor = div;
- ssi_restore_divisor(omap_port);
-}
-EXPORT_SYMBOL_GPL(omap_ssi_port_update_fclk);
-
static int omap_ssi_port_runtime_suspend(struct device *dev)
{
struct hsi_port *port = dev_get_drvdata(dev);
--
2.7.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 0/3] HSI: omap-ssi: regressions against yesterday's linux-next
2016-05-03 15:16 [PATCH 0/3] HSI: omap-ssi: regressions against yesterday's linux-next Arnd Bergmann
` (2 preceding siblings ...)
2016-05-03 15:16 ` [PATCH 3/3] HSI: omap-ssi: move omap_ssi_port_update_fclk Arnd Bergmann
@ 2016-05-09 21:21 ` Sebastian Reichel
3 siblings, 0 replies; 5+ messages in thread
From: Sebastian Reichel @ 2016-05-09 21:21 UTC (permalink / raw)
To: linux-arm-kernel
Hi Arnd,
On Tue, May 03, 2016 at 05:16:19PM +0200, Arnd Bergmann wrote:
> One patch you added yesterday unfortunately caused (at least) three
> separate build problems with 32-bit ARM randconfig builds.
>
> These three patches should make it all work again.
Sorry for the delayed respones, I was on vacation last week and
asked Stephen to temp. disable the HSI tree. I just applied all
patches and asked him to reenable it.
-- Sebastian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20160509/b6561e5d/attachment.sig>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2016-05-09 21:21 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-03 15:16 [PATCH 0/3] HSI: omap-ssi: regressions against yesterday's linux-next Arnd Bergmann
2016-05-03 15:16 ` [PATCH 1/3] HSI: omap-ssi: add COMMON_CLK dependency Arnd Bergmann
2016-05-03 15:16 ` [PATCH 2/3] HSI: omap-ssi: include pinctrl header files Arnd Bergmann
2016-05-03 15:16 ` [PATCH 3/3] HSI: omap-ssi: move omap_ssi_port_update_fclk Arnd Bergmann
2016-05-09 21:21 ` [PATCH 0/3] HSI: omap-ssi: regressions against yesterday's linux-next Sebastian Reichel
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).