[ARM] pxa: introduce PXA_SSP_LEGACY for legacy SSP API
authorEric Miao <eric.y.miao@gmail.com>
Tue, 9 Feb 2010 03:10:10 +0000 (11:10 +0800)
committerEric Miao <eric.y.miao@gmail.com>
Mon, 1 Mar 2010 23:40:52 +0000 (07:40 +0800)
Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
arch/arm/mach-pxa/Kconfig
arch/arm/mach-pxa/include/mach/ssp.h
arch/arm/mach-pxa/ssp.c
sound/soc/pxa/Kconfig

index 3602c729b89af2b6e3c1b7ac41ec4fc8722e2cb9..38fbd0a0e4022c1e9076fa43740b6468d50b8d19 100644 (file)
@@ -458,6 +458,7 @@ config SHARPSL_PM
 config CORGI_SSP_DEPRECATED
        bool
        select PXA_SSP
+       select PXA_SSP_LEGACY
        help
          This option will include corgi_ssp.c and corgi_lcd.c
          that corgi_ts.c and other legacy drivers (corgi_bl.c
@@ -658,6 +659,11 @@ config PXA_SSP
        help
          Enable support for PXA2xx SSP ports
 
+config PXA_SSP_LEGACY
+       bool
+       help
+         Support of legacy SSP API
+
 config TOSA_BT
        tristate "Control the state of built-in bluetooth chip on Sharp SL-6000"
        depends on MACH_TOSA
index cb5cb766f0f17658f5e1bceb10d4c2a785d1872d..be1be5b6db5136dad07db126a4b5d179b1c25b42 100644 (file)
@@ -46,6 +46,7 @@ struct ssp_device {
        int             drcmr_tx;
 };
 
+#ifdef CONFIG_PXA_SSP_LEGACY
 /*
  * SSP initialisation flags
  */
@@ -78,6 +79,7 @@ void ssp_restore_state(struct ssp_dev *dev, struct ssp_state *ssp);
 int ssp_init(struct ssp_dev *dev, u32 port, u32 init_flags);
 int ssp_config(struct ssp_dev *dev, u32 mode, u32 flags, u32 psp_flags, u32 speed);
 void ssp_exit(struct ssp_dev *dev);
+#endif /* CONFIG_PXA_SSP_LEGACY */
 
 /**
  * ssp_write_reg - Write to a SSP register
index 9ebe658590fa5583ac817aa4dce552f709ebbbab..a81d6dbf662db5d69a08d7b437570aa93a1c816e 100644 (file)
@@ -35,6 +35,8 @@
 #include <mach/ssp.h>
 #include <mach/regs-ssp.h>
 
+#ifdef CONFIG_PXA_SSP_LEGACY
+
 #define TIMEOUT 100000
 
 static irqreturn_t ssp_interrupt(int irq, void *dev_id)
@@ -303,6 +305,7 @@ void ssp_exit(struct ssp_dev *dev)
        clk_disable(ssp->clk);
        ssp_free(ssp);
 }
+#endif /* CONFIG_PXA_SSP_LEGACY */
 
 static DEFINE_MUTEX(ssp_lock);
 static LIST_HEAD(ssp_list);
@@ -488,6 +491,7 @@ static void __exit pxa_ssp_exit(void)
 arch_initcall(pxa_ssp_init);
 module_exit(pxa_ssp_exit);
 
+#ifdef CONFIG_PXA_SSP_LEGACY
 EXPORT_SYMBOL(ssp_write_word);
 EXPORT_SYMBOL(ssp_read_word);
 EXPORT_SYMBOL(ssp_flush);
@@ -498,6 +502,7 @@ EXPORT_SYMBOL(ssp_restore_state);
 EXPORT_SYMBOL(ssp_init);
 EXPORT_SYMBOL(ssp_exit);
 EXPORT_SYMBOL(ssp_config);
+#endif
 
 MODULE_DESCRIPTION("PXA SSP driver");
 MODULE_AUTHOR("Liam Girdwood");
index 376e14a9c273e349d58245c165bda77c70e7ba6a..89de27578416c60ef29d9de4d1ad322da79765ce 100644 (file)
@@ -23,6 +23,7 @@ config SND_PXA2XX_SOC_I2S
 
 config SND_PXA_SOC_SSP
        tristate
+       select PXA_SSP_LEGACY
 
 config SND_PXA2XX_SOC_CORGI
        tristate "SoC Audio support for Sharp Zaurus SL-C7x0"