Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a056bef4 authored by Eric Miao's avatar Eric Miao
Browse files

[ARM] pxa: introduce PXA_SSP_LEGACY for legacy SSP API



Signed-off-by: default avatarEric Miao <eric.y.miao@gmail.com>
parent 98acdbe4
Loading
Loading
Loading
Loading
+6 −0
Original line number Original line Diff line number Diff line
@@ -458,6 +458,7 @@ config SHARPSL_PM
config CORGI_SSP_DEPRECATED
config CORGI_SSP_DEPRECATED
	bool
	bool
	select PXA_SSP
	select PXA_SSP
	select PXA_SSP_LEGACY
	help
	help
	  This option will include corgi_ssp.c and corgi_lcd.c
	  This option will include corgi_ssp.c and corgi_lcd.c
	  that corgi_ts.c and other legacy drivers (corgi_bl.c
	  that corgi_ts.c and other legacy drivers (corgi_bl.c
@@ -658,6 +659,11 @@ config PXA_SSP
	help
	help
	  Enable support for PXA2xx SSP ports
	  Enable support for PXA2xx SSP ports


config PXA_SSP_LEGACY
	bool
	help
	  Support of legacy SSP API

config TOSA_BT
config TOSA_BT
	tristate "Control the state of built-in bluetooth chip on Sharp SL-6000"
	tristate "Control the state of built-in bluetooth chip on Sharp SL-6000"
	depends on MACH_TOSA
	depends on MACH_TOSA
+2 −0
Original line number Original line Diff line number Diff line
@@ -46,6 +46,7 @@ struct ssp_device {
	int		drcmr_tx;
	int		drcmr_tx;
};
};


#ifdef CONFIG_PXA_SSP_LEGACY
/*
/*
 * SSP initialisation flags
 * 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_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);
int ssp_config(struct ssp_dev *dev, u32 mode, u32 flags, u32 psp_flags, u32 speed);
void ssp_exit(struct ssp_dev *dev);
void ssp_exit(struct ssp_dev *dev);
#endif /* CONFIG_PXA_SSP_LEGACY */


/**
/**
 * ssp_write_reg - Write to a SSP register
 * ssp_write_reg - Write to a SSP register
+5 −0
Original line number Original line Diff line number Diff line
@@ -35,6 +35,8 @@
#include <mach/ssp.h>
#include <mach/ssp.h>
#include <mach/regs-ssp.h>
#include <mach/regs-ssp.h>


#ifdef CONFIG_PXA_SSP_LEGACY

#define TIMEOUT 100000
#define TIMEOUT 100000


static irqreturn_t ssp_interrupt(int irq, void *dev_id)
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);
	clk_disable(ssp->clk);
	ssp_free(ssp);
	ssp_free(ssp);
}
}
#endif /* CONFIG_PXA_SSP_LEGACY */


static DEFINE_MUTEX(ssp_lock);
static DEFINE_MUTEX(ssp_lock);
static LIST_HEAD(ssp_list);
static LIST_HEAD(ssp_list);
@@ -488,6 +491,7 @@ static void __exit pxa_ssp_exit(void)
arch_initcall(pxa_ssp_init);
arch_initcall(pxa_ssp_init);
module_exit(pxa_ssp_exit);
module_exit(pxa_ssp_exit);


#ifdef CONFIG_PXA_SSP_LEGACY
EXPORT_SYMBOL(ssp_write_word);
EXPORT_SYMBOL(ssp_write_word);
EXPORT_SYMBOL(ssp_read_word);
EXPORT_SYMBOL(ssp_read_word);
EXPORT_SYMBOL(ssp_flush);
EXPORT_SYMBOL(ssp_flush);
@@ -498,6 +502,7 @@ EXPORT_SYMBOL(ssp_restore_state);
EXPORT_SYMBOL(ssp_init);
EXPORT_SYMBOL(ssp_init);
EXPORT_SYMBOL(ssp_exit);
EXPORT_SYMBOL(ssp_exit);
EXPORT_SYMBOL(ssp_config);
EXPORT_SYMBOL(ssp_config);
#endif


MODULE_DESCRIPTION("PXA SSP driver");
MODULE_DESCRIPTION("PXA SSP driver");
MODULE_AUTHOR("Liam Girdwood");
MODULE_AUTHOR("Liam Girdwood");
+1 −0
Original line number Original line Diff line number Diff line
@@ -23,6 +23,7 @@ config SND_PXA2XX_SOC_I2S


config SND_PXA_SOC_SSP
config SND_PXA_SOC_SSP
	tristate
	tristate
	select PXA_SSP_LEGACY


config SND_PXA2XX_SOC_CORGI
config SND_PXA2XX_SOC_CORGI
	tristate "SoC Audio support for Sharp Zaurus SL-C7x0"
	tristate "SoC Audio support for Sharp Zaurus SL-C7x0"