HSI: omap-ssi: move omap_ssi_port_update_fclk
authorArnd Bergmann <arnd@arndb.de>
Tue, 3 May 2016 15:16:22 +0000 (17:16 +0200)
committerSebastian Reichel <sre@kernel.org>
Mon, 9 May 2016 20:45:18 +0000 (22:45 +0200)
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")
Signed-off-by: Sebastian Reichel <sre@kernel.org>
drivers/hsi/controllers/omap_ssi_port.c

index ca7139eaaa1dd0b14e478d43cb0ae746975fa41a..6b8f7739768aee770fcc0f82fa7e89078a5912f4 100644 (file)
@@ -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);