linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [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: Sebastian Reichel
  Cc: Pavel Machek, Arnd Bergmann, linux-kernel, linux-omap, 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: Sebastian Reichel
  Cc: Pavel Machek, Arnd Bergmann, linux-kernel, linux-omap, 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: Sebastian Reichel
  Cc: Pavel Machek, Arnd Bergmann, linux-kernel, linux-omap,
	linux-arm-kernel, Andrzej Hajda, Sanjeev Sharma, Roger Quadros

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: Sebastian Reichel
  Cc: Pavel Machek, Arnd Bergmann, linux-kernel, linux-omap,
	linux-arm-kernel, Roger Quadros, Andrzej Hajda

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

* Re: [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: Arnd Bergmann; +Cc: Pavel Machek, linux-kernel, linux-omap, linux-arm-kernel

[-- Attachment #1: Type: text/plain, Size: 454 bytes --]

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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ 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).