summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/cx88/cx88-alsa.c
diff options
context:
space:
mode:
Diffstat (limited to 'linux/drivers/media/video/cx88/cx88-alsa.c')
-rw-r--r--linux/drivers/media/video/cx88/cx88-alsa.c98
1 files changed, 98 insertions, 0 deletions
diff --git a/linux/drivers/media/video/cx88/cx88-alsa.c b/linux/drivers/media/video/cx88/cx88-alsa.c
index 8ecdb41af..80aef2421 100644
--- a/linux/drivers/media/video/cx88/cx88-alsa.c
+++ b/linux/drivers/media/video/cx88/cx88-alsa.c
@@ -65,7 +65,11 @@ struct cx88_audio_dev {
/* audio controls */
int irq;
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
snd_card_t *card;
+#else
+ struct snd_card *card;
+#endif
spinlock_t reg_lock;
@@ -84,7 +88,11 @@ struct cx88_audio_dev {
struct cx88_buffer *buf;
long opened;
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
snd_pcm_substream_t *substream;
+#else
+ struct snd_pcm_substream *substream;
+#endif
};
typedef struct cx88_audio_dev snd_cx88_card_t;
@@ -101,7 +109,11 @@ typedef struct cx88_audio_dev snd_cx88_card_t;
static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */
static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */
static int enable[SNDRV_CARDS] = {1, [1 ... (SNDRV_CARDS - 1)] = 1};
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
static snd_card_t *snd_cx88_cards[SNDRV_CARDS];
+#else
+static struct snd_card *snd_cx88_cards[SNDRV_CARDS];
+#endif
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10)
static unsigned int dummy;
@@ -334,7 +346,11 @@ static int dsp_buffer_free(snd_cx88_card_t *chip)
/*
* Digital hardware definition
*/
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
static snd_pcm_hardware_t snd_cx88_digital_hw = {
+#else
+static struct snd_pcm_hardware snd_cx88_digital_hw = {
+#endif
.info = SNDRV_PCM_INFO_MMAP |
SNDRV_PCM_INFO_INTERLEAVED |
SNDRV_PCM_INFO_BLOCK_TRANSFER |
@@ -356,16 +372,28 @@ static snd_pcm_hardware_t snd_cx88_digital_hw = {
/*
* audio pcm capture runtime free
*/
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
static void snd_card_cx88_runtime_free(snd_pcm_runtime_t *runtime)
+#else
+static void snd_card_cx88_runtime_free(struct snd_pcm_runtime *runtime)
+#endif
{
}
/*
* audio pcm capture open callback
*/
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
static int snd_cx88_pcm_open(snd_pcm_substream_t *substream)
+#else
+static int snd_cx88_pcm_open(struct snd_pcm_substream *substream)
+#endif
{
snd_cx88_card_t *chip = snd_pcm_substream_chip(substream);
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
snd_pcm_runtime_t *runtime = substream->runtime;
+#else
+ struct snd_pcm_runtime *runtime = substream->runtime;
+#endif
int err;
if (test_and_set_bit(0, &chip->opened))
@@ -394,7 +422,11 @@ _error:
/*
* audio close callback
*/
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
static int snd_cx88_close(snd_pcm_substream_t *substream)
+#else
+static int snd_cx88_close(struct snd_pcm_substream *substream)
+#endif
{
snd_cx88_card_t *chip = snd_pcm_substream_chip(substream);
@@ -407,8 +439,13 @@ static int snd_cx88_close(snd_pcm_substream_t *substream)
/*
* hw_params callback
*/
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
static int snd_cx88_hw_params(snd_pcm_substream_t * substream,
snd_pcm_hw_params_t * hw_params)
+#else
+static int snd_cx88_hw_params(struct snd_pcm_substream * substream,
+ struct snd_pcm_hw_params * hw_params)
+#endif
{
snd_cx88_card_t *chip = snd_pcm_substream_chip(substream);
struct cx88_buffer *buf;
@@ -467,7 +504,11 @@ static int snd_cx88_hw_params(snd_pcm_substream_t * substream,
/*
* hw free callback
*/
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
static int snd_cx88_hw_free(snd_pcm_substream_t * substream)
+#else
+static int snd_cx88_hw_free(struct snd_pcm_substream * substream)
+#endif
{
snd_cx88_card_t *chip = snd_pcm_substream_chip(substream);
@@ -483,7 +524,11 @@ static int snd_cx88_hw_free(snd_pcm_substream_t * substream)
/*
* prepare callback
*/
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
static int snd_cx88_prepare(snd_pcm_substream_t *substream)
+#else
+static int snd_cx88_prepare(struct snd_pcm_substream *substream)
+#endif
{
return 0;
}
@@ -492,7 +537,11 @@ static int snd_cx88_prepare(snd_pcm_substream_t *substream)
/*
* trigger callback
*/
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
static int snd_cx88_card_trigger(snd_pcm_substream_t *substream, int cmd)
+#else
+static int snd_cx88_card_trigger(struct snd_pcm_substream *substream, int cmd)
+#endif
{
snd_cx88_card_t *chip = snd_pcm_substream_chip(substream);
int err;
@@ -519,10 +568,18 @@ static int snd_cx88_card_trigger(snd_pcm_substream_t *substream, int cmd)
/*
* pointer callback
*/
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
static snd_pcm_uframes_t snd_cx88_pointer(snd_pcm_substream_t *substream)
+#else
+static snd_pcm_uframes_t snd_cx88_pointer(struct snd_pcm_substream *substream)
+#endif
{
snd_cx88_card_t *chip = snd_pcm_substream_chip(substream);
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
snd_pcm_runtime_t *runtime = substream->runtime;
+#else
+ struct snd_pcm_runtime *runtime = substream->runtime;
+#endif
if (chip->read_count) {
chip->read_count -= snd_pcm_lib_period_bytes(substream);
@@ -539,7 +596,11 @@ static snd_pcm_uframes_t snd_cx88_pointer(snd_pcm_substream_t *substream)
/*
* operators
*/
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
static snd_pcm_ops_t snd_cx88_pcm_ops = {
+#else
+static struct snd_pcm_ops snd_cx88_pcm_ops = {
+#endif
.open = snd_cx88_pcm_open,
.close = snd_cx88_close,
.ioctl = snd_pcm_lib_ioctl,
@@ -556,7 +617,11 @@ static snd_pcm_ops_t snd_cx88_pcm_ops = {
static int __devinit snd_cx88_pcm(snd_cx88_card_t *chip, int device, char *name)
{
int err;
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
snd_pcm_t *pcm;
+#else
+ struct snd_pcm *pcm;
+#endif
err = snd_pcm_new(chip->card, name, device, 0, 1, &pcm);
if (err < 0)
@@ -571,7 +636,12 @@ static int __devinit snd_cx88_pcm(snd_cx88_card_t *chip, int device, char *name)
/****************************************************************************
CONTROL INTERFACE
****************************************************************************/
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
static int snd_cx88_capture_volume_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *info)
+#else
+static int snd_cx88_capture_volume_info(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_info *info)
+#endif
{
info->type = SNDRV_CTL_ELEM_TYPE_INTEGER;
info->count = 1;
@@ -582,7 +652,12 @@ static int snd_cx88_capture_volume_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_i
}
/* OK - TODO: test it */
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
static int snd_cx88_capture_volume_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *value)
+#else
+static int snd_cx88_capture_volume_get(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *value)
+#endif
{
snd_cx88_card_t *chip = snd_kcontrol_chip(kcontrol);
struct cx88_core *core=chip->core;
@@ -593,7 +668,12 @@ static int snd_cx88_capture_volume_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_va
}
/* OK - TODO: test it */
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
static int snd_cx88_capture_volume_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *value)
+#else
+static int snd_cx88_capture_volume_put(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *value)
+#endif
{
snd_cx88_card_t *chip = snd_kcontrol_chip(kcontrol);
struct cx88_core *core=chip->core;
@@ -609,7 +689,11 @@ static int snd_cx88_capture_volume_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_va
return v != old_control;
}
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
static snd_kcontrol_new_t snd_cx88_capture_volume = {
+#else
+static struct snd_kcontrol_new snd_cx88_capture_volume = {
+#endif
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
.name = "Capture Volume",
.info = snd_cx88_capture_volume_info,
@@ -655,7 +739,11 @@ static int snd_cx88_free(snd_cx88_card_t *chip)
/*
* Component Destructor
*/
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
static void snd_cx88_dev_free(snd_card_t * card)
+#else
+static void snd_cx88_dev_free(struct snd_card * card)
+#endif
{
snd_cx88_card_t *chip = card->private_data;
@@ -668,8 +756,14 @@ static void snd_cx88_dev_free(snd_card_t * card)
*/
static int devno;
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
static int __devinit snd_cx88_create(snd_card_t *card, struct pci_dev *pci,
snd_cx88_card_t **rchip)
+#else
+static int __devinit snd_cx88_create(struct snd_card *card,
+ struct pci_dev *pci,
+ snd_cx88_card_t **rchip)
+#endif
{
snd_cx88_card_t *chip;
struct cx88_core *core;
@@ -740,7 +834,11 @@ static int __devinit snd_cx88_create(snd_card_t *card, struct pci_dev *pci,
static int __devinit cx88_audio_initdev(struct pci_dev *pci,
const struct pci_device_id *pci_id)
{
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
snd_card_t *card;
+#else
+ struct snd_card *card;
+#endif
snd_cx88_card_t *chip;
int err;