diff options
| author | Jaroslav Kysela <perex@suse.cz> | 2002-02-18 22:35:21 -0800 |
|---|---|---|
| committer | Jaroslav Kysela <perex@suse.cz> | 2002-02-18 22:35:21 -0800 |
| commit | 56eab47da5d7380b728987d3d9c90d4e07712763 (patch) | |
| tree | dba4d78654b28c09f480556d3babd9438353dd5a /include | |
| parent | 4d32c6ba21d27f2db9e09ec196d12a2456c32048 (diff) | |
[PATCH] ALSA update for 2.5.5-pre1
this is a sync with the current ALSA CVS tree (last code
modification: (Sun Feb 17 17:46:41 2002 UTC)) and 2.5.5-pre1 code and
contains:
- ALSA code version 0.9.0beta11
- Config.in files updated (separated associated drivers to submenus)
- global sound/Makefile fixes
- added inclusion of missing header files for alpha architecture
- fixed power functions (bad locking)
- fixed copy_to_user calls (removed them from spinlocks)
- fixed freeing of resource structures
- fixed AD1816A driver (inverted volume controls)
- added new functions to allocate ISA DMA memory (cleanups in ISA drivers)
- updated ISA PnP detection in wavefront driver
- added joystick support for VIA686
- updated ES1968 (Maestro2) driver
- moved joystick support for YMFPCI to the control interface
- updated Korg1212 driver
Diffstat (limited to 'include')
| -rw-r--r-- | include/sound/asound.h | 23 | ||||
| -rw-r--r-- | include/sound/core.h | 35 | ||||
| -rw-r--r-- | include/sound/cs46xx.h | 4 | ||||
| -rw-r--r-- | include/sound/emu8000.h | 2 | ||||
| -rw-r--r-- | include/sound/emux_synth.h | 2 | ||||
| -rw-r--r-- | include/sound/gus.h | 3 | ||||
| -rw-r--r-- | include/sound/opl3.h | 1 | ||||
| -rw-r--r-- | include/sound/pcm.h | 6 | ||||
| -rw-r--r-- | include/sound/pcm_params.h | 2 | ||||
| -rw-r--r-- | include/sound/seq_kernel.h | 1 | ||||
| -rw-r--r-- | include/sound/trident.h | 4 | ||||
| -rw-r--r-- | include/sound/version.h | 3 | ||||
| -rw-r--r-- | include/sound/wavefront.h | 255 | ||||
| -rw-r--r-- | include/sound/ymfpci.h | 6 |
14 files changed, 191 insertions, 156 deletions
diff --git a/include/sound/asound.h b/include/sound/asound.h index f613dbddac7a..013e59fb6eb4 100644 --- a/include/sound/asound.h +++ b/include/sound/asound.h @@ -24,7 +24,24 @@ #define __SOUND_ASOUND_H #if defined(LINUX) || defined(__LINUX__) || defined(__linux__) + #include <linux/ioctl.h> + +#ifdef __KERNEL__ + +#include <linux/types.h> +#include <asm/byteorder.h> + +#if __LITTLE_ENDIAN == 1234 +#define SNDRV_LITTLE_ENDIAN +#elif __BIG_ENDIAN == 4321 +#define SNDRV_BIG_ENDIAN +#else +#error "Unsupported endian..." +#endif + +#else /* !__KERNEL__ */ + #include <endian.h> #if __BYTE_ORDER == __LITTLE_ENDIAN #define SNDRV_LITTLE_ENDIAN @@ -33,7 +50,11 @@ #else #error "Unsupported endian..." #endif -#endif + +#endif /* __KERNEL **/ + +#endif /* LINUX */ + #ifndef __KERNEL__ #include <sys/time.h> #include <sys/types.h> diff --git a/include/sound/core.h b/include/sound/core.h index e216c6ba1efc..ebd845c0191b 100644 --- a/include/sound/core.h +++ b/include/sound/core.h @@ -132,7 +132,7 @@ struct _snd_card { int (*set_power_state) (snd_card_t *card, unsigned int state); void *power_state_private_data; unsigned int power_state; /* power state */ - unsigned int power_lock; /* power lock */ + struct semaphore power_lock; /* power lock */ wait_queue_head_t power_sleep; #endif @@ -143,22 +143,17 @@ struct _snd_card { }; #ifdef CONFIG_PM -static inline void snd_power_lock(snd_card_t *card, int can_schedule) +static inline void snd_power_lock(snd_card_t *card) { - while (test_and_set_bit(0, &card->power_lock)) { - if (can_schedule) { - set_current_state(TASK_INTERRUPTIBLE); - schedule_timeout(1); - } - } + down(&card->power_lock); } static inline void snd_power_unlock(snd_card_t *card) { - clear_bit(0, &card->power_lock); + up(&card->power_lock); } -void snd_power_wait(snd_card_t *card, int can_schedule); +void snd_power_wait(snd_card_t *card); static inline unsigned int snd_power_get_state(snd_card_t *card) { @@ -171,9 +166,9 @@ static inline void snd_power_change_state(snd_card_t *card, unsigned int state) wake_up(&card->power_sleep); } #else -#define snd_power_lock(card, can_schedule) do { ; } while (0) +#define snd_power_lock(card) do { ; } while (0) #define snd_power_unlock(card) do { ; } while (0) -#define snd_power_wait(card, can_schedule) do { ; } while (0) +#define snd_power_wait(card) do { ; } while (0) #define snd_power_get_state(card) SNDRV_CTL_POWER_D0 #define snd_power_change_state(card, state) do { ; } while (0) #endif @@ -236,18 +231,26 @@ void *snd_hidden_vmalloc(unsigned long size); void snd_hidden_vfree(void *obj); #define kmalloc(size, flags) snd_hidden_kmalloc(size, flags) #define kfree(obj) snd_hidden_kfree(obj) +#define kfree_nocheck(obj) snd_wrapper_kfree(obj) #define vmalloc(size) snd_hidden_vmalloc(size) #define vfree(obj) snd_hidden_vfree(obj) +#else +#define kfree_nocheck(obj) kfree(obj) #endif void *snd_kcalloc(size_t size, int flags); char *snd_kmalloc_strdup(const char *string, int flags); void *snd_malloc_pages(unsigned long size, unsigned int dma_flags); void *snd_malloc_pages_fallback(unsigned long size, unsigned int dma_flags, unsigned long *res_size); void snd_free_pages(void *ptr, unsigned long size); +#ifdef CONFIG_ISA +void *snd_malloc_isa_pages(unsigned long size, dma_addr_t *dma_addr); +void *snd_malloc_isa_pages_fallback(unsigned long size, dma_addr_t *dma_addr, unsigned long *res_size); +#define snd_free_isa_pages(size, ptr, dma_addr) snd_free_pages(ptr, size) +#endif #ifdef CONFIG_PCI -void *snd_malloc_pci_pages(struct pci_dev *pci, unsigned long size, dma_addr_t *dmaaddr); -void *snd_malloc_pci_pages_fallback(struct pci_dev *pci, unsigned long size, dma_addr_t *dmaaddr, unsigned long *res_size); -void snd_free_pci_pages(struct pci_dev *pci, unsigned long size, void *ptr, dma_addr_t dmaaddr); +void *snd_malloc_pci_pages(struct pci_dev *pci, unsigned long size, dma_addr_t *dma_addr); +void *snd_malloc_pci_pages_fallback(struct pci_dev *pci, unsigned long size, dma_addr_t *dma_addr, unsigned long *res_size); +void snd_free_pci_pages(struct pci_dev *pci, unsigned long size, void *ptr, dma_addr_t dma_addr); #endif int copy_to_user_fromio(void *dst, unsigned long src, size_t count); int copy_from_user_toio(unsigned long dst, const void *src, size_t count); @@ -282,7 +285,7 @@ int snd_device_free_all(snd_card_t *card, snd_device_cmd_t cmd); #define DMA_MODE_NO_ENABLE 0x0100 -void snd_dma_program(unsigned long dma, const void *buf, unsigned int size, unsigned short mode); +void snd_dma_program(unsigned long dma, unsigned long addr, unsigned int size, unsigned short mode); void snd_dma_disable(unsigned long dma); unsigned int snd_dma_residue(unsigned long dma); diff --git a/include/sound/cs46xx.h b/include/sound/cs46xx.h index 97176de0ab50..f900efa6b8c4 100644 --- a/include/sound/cs46xx.h +++ b/include/sound/cs46xx.h @@ -1713,8 +1713,8 @@ int snd_cs46xx_mixer(cs46xx_t *chip); int snd_cs46xx_midi(cs46xx_t *chip, int device, snd_rawmidi_t **rmidi); #ifdef CONFIG_PM -void snd_cs46xx_suspend(cs46xx_t *chip, int can_schedule); -void snd_cs46xx_resume(cs46xx_t *chip, int can_schedule); +void snd_cs46xx_suspend(cs46xx_t *chip); +void snd_cs46xx_resume(cs46xx_t *chip); #endif #endif /* __SOUND_CS46XX_H */ diff --git a/include/sound/emu8000.h b/include/sound/emu8000.h index abd21a616307..78d84750db2e 100644 --- a/include/sound/emu8000.h +++ b/include/sound/emu8000.h @@ -21,8 +21,6 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include "driver.h" -#include "core.h" #include "emux_synth.h" #include "seq_kernel.h" diff --git a/include/sound/emux_synth.h b/include/sound/emux_synth.h index 25c43395100b..09ce125b782a 100644 --- a/include/sound/emux_synth.h +++ b/include/sound/emux_synth.h @@ -21,8 +21,6 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include "driver.h" -#include "core.h" #include "seq_kernel.h" #include "seq_device.h" #include "soundfont.h" diff --git a/include/sound/gus.h b/include/sound/gus.h index c24de2d59d88..2e84f2687588 100644 --- a/include/sound/gus.h +++ b/include/sound/gus.h @@ -216,6 +216,7 @@ typedef struct _snd_gf1_mem { typedef struct snd_gf1_dma_block { void *buffer; /* buffer in computer's RAM */ + unsigned long buf_addr; /* buffer address */ unsigned int addr; /* address in onboard memory */ unsigned int count; /* count in bytes */ unsigned int cmd; /* DMA command (format) */ @@ -605,7 +606,7 @@ int snd_gf1_mem_proc_done(snd_gus_card_t * gus); /* gus_dma.c */ void snd_gf1_dma_program(snd_gus_card_t * gus, unsigned int addr, - const void *buf, unsigned int count, + unsigned long buf_addr, unsigned int count, unsigned int cmd); void snd_gf1_dma_ack(snd_gus_card_t * gus); int snd_gf1_dma_init(snd_gus_card_t * gus); diff --git a/include/sound/opl3.h b/include/sound/opl3.h index d2cf59f12517..c3c6218aac71 100644 --- a/include/sound/opl3.h +++ b/include/sound/opl3.h @@ -52,6 +52,7 @@ */ #include "driver.h" +#include <linux/time.h> #include "core.h" #include "hwdep.h" #include "timer.h" diff --git a/include/sound/pcm.h b/include/sound/pcm.h index 945313c4e82c..3d24d3c04273 100644 --- a/include/sound/pcm.h +++ b/include/sound/pcm.h @@ -832,11 +832,9 @@ int snd_pcm_lib_free_pages(snd_pcm_substream_t *substream); #ifdef CONFIG_ISA int snd_pcm_lib_preallocate_isa_pages(snd_pcm_substream_t *substream, - size_t size, size_t max, - unsigned int flags); + size_t size, size_t max); int snd_pcm_lib_preallocate_isa_pages_for_all(snd_pcm_t *pcm, - size_t size, size_t max, - unsigned int flags); + size_t size, size_t max); #endif #ifdef CONFIG_PCI int snd_pcm_lib_preallocate_pci_pages(struct pci_dev *pci, diff --git a/include/sound/pcm_params.h b/include/sound/pcm_params.h index 769d8738f2fd..9d008650e5f2 100644 --- a/include/sound/pcm_params.h +++ b/include/sound/pcm_params.h @@ -22,6 +22,8 @@ * */ +#include <linux/bitops.h> + extern int snd_pcm_hw_param_mask(snd_pcm_substream_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_hw_param_t var, const snd_mask_t *val); extern unsigned int snd_pcm_hw_param_value_min(const snd_pcm_hw_params_t *params, diff --git a/include/sound/seq_kernel.h b/include/sound/seq_kernel.h index a0e630210215..69a7acf1590f 100644 --- a/include/sound/seq_kernel.h +++ b/include/sound/seq_kernel.h @@ -21,6 +21,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ +#include <linux/time.h> #include "asequencer.h" typedef sndrv_seq_tick_time_t snd_seq_tick_time_t; diff --git a/include/sound/trident.h b/include/sound/trident.h index 572cc323a8bf..1d8b1c3d7931 100644 --- a/include/sound/trident.h +++ b/include/sound/trident.h @@ -469,8 +469,8 @@ int snd_trident_synth_copy_from_user(trident_t *trident, snd_util_memblk_t *blk, /* Power Management */ #ifdef CONFIG_PM -void snd_trident_suspend(trident_t *trident, int can_schedule); -void snd_trident_resume(trident_t *trident, int can_schedule); +void snd_trident_suspend(trident_t *trident); +void snd_trident_resume(trident_t *trident); #endif #endif /* __SOUND_TRIDENT_H */ diff --git a/include/sound/version.h b/include/sound/version.h index cb3edc7cff9b..eac7e72f5513 100644 --- a/include/sound/version.h +++ b/include/sound/version.h @@ -1,2 +1,3 @@ /* include/version.h. Generated automatically by configure. */ -#define CONFIG_SND_VERSION "0.9.0beta10" +#define CONFIG_SND_VERSION "0.9.0beta11" +#define CONFIG_SND_DATE " (Tue Feb 19 08:14:59 2002 UTC)" diff --git a/include/sound/wavefront.h b/include/sound/wavefront.h index 1062084d55ae..79ff3b4b1da4 100644 --- a/include/sound/wavefront.h +++ b/include/sound/wavefront.h @@ -64,12 +64,21 @@ between a 16-bit view of the world and a 32-bit one. */ -typedef short INT16; -typedef unsigned short UINT16; -typedef int INT32; -typedef unsigned int UINT32; -typedef char CHAR8; -typedef unsigned char UCHAR8; +#ifndef __KERNEL__ +/* keep them for compatibility */ +typedef short s16; +typedef unsigned short u16; +typedef int s32; +typedef unsigned int u32; +typedef char s8; +typedef unsigned char u8; +typedef s16 INT16; +typedef u16 UINT16; +typedef s32 INT32; +typedef u32 UINT32; +typedef s8 CHAR8; +typedef u8 UCHAR8; +#endif /* Pseudo-commands not part of the WaveFront command set. These are used for various driver controls and direct @@ -197,111 +206,111 @@ typedef unsigned char UCHAR8; struct wf_envelope { - UCHAR8 attack_time:7; - UCHAR8 Unused1:1; + u8 attack_time:7; + u8 Unused1:1; - UCHAR8 decay1_time:7; - UCHAR8 Unused2:1; + u8 decay1_time:7; + u8 Unused2:1; - UCHAR8 decay2_time:7; - UCHAR8 Unused3:1; + u8 decay2_time:7; + u8 Unused3:1; - UCHAR8 sustain_time:7; - UCHAR8 Unused4:1; + u8 sustain_time:7; + u8 Unused4:1; - UCHAR8 release_time:7; - UCHAR8 Unused5:1; + u8 release_time:7; + u8 Unused5:1; - UCHAR8 release2_time:7; - UCHAR8 Unused6:1; + u8 release2_time:7; + u8 Unused6:1; - CHAR8 attack_level; - CHAR8 decay1_level; - CHAR8 decay2_level; - CHAR8 sustain_level; - CHAR8 release_level; + s8 attack_level; + s8 decay1_level; + s8 decay2_level; + s8 sustain_level; + s8 release_level; - UCHAR8 attack_velocity:7; - UCHAR8 Unused7:1; + u8 attack_velocity:7; + u8 Unused7:1; - UCHAR8 volume_velocity:7; - UCHAR8 Unused8:1; + u8 volume_velocity:7; + u8 Unused8:1; - UCHAR8 keyboard_scaling:7; - UCHAR8 Unused9:1; + u8 keyboard_scaling:7; + u8 Unused9:1; }; typedef struct wf_envelope wavefront_envelope; struct wf_lfo { - UCHAR8 sample_number; + u8 sample_number; - UCHAR8 frequency:7; - UCHAR8 Unused1:1; + u8 frequency:7; + u8 Unused1:1; - UCHAR8 am_src:4; - UCHAR8 fm_src:4; + u8 am_src:4; + u8 fm_src:4; - CHAR8 fm_amount; - CHAR8 am_amount; - CHAR8 start_level; - CHAR8 end_level; + s8 fm_amount; + s8 am_amount; + s8 start_level; + s8 end_level; - UCHAR8 ramp_delay:7; - UCHAR8 wave_restart:1; /* for LFO2 only */ + u8 ramp_delay:7; + u8 wave_restart:1; /* for LFO2 only */ - UCHAR8 ramp_time:7; - UCHAR8 Unused2:1; + u8 ramp_time:7; + u8 Unused2:1; }; typedef struct wf_lfo wavefront_lfo; struct wf_patch { - INT16 frequency_bias; /* ** THIS IS IN MOTOROLA FORMAT!! ** */ + s16 frequency_bias; /* ** THIS IS IN MOTOROLA FORMAT!! ** */ - UCHAR8 amplitude_bias:7; - UCHAR8 Unused1:1; + u8 amplitude_bias:7; + u8 Unused1:1; - UCHAR8 portamento:7; - UCHAR8 Unused2:1; + u8 portamento:7; + u8 Unused2:1; - UCHAR8 sample_number; + u8 sample_number; - UCHAR8 pitch_bend:4; - UCHAR8 sample_msb:1; - UCHAR8 Unused3:3; + u8 pitch_bend:4; + u8 sample_msb:1; + u8 Unused3:3; - UCHAR8 mono:1; - UCHAR8 retrigger:1; - UCHAR8 nohold:1; - UCHAR8 restart:1; - UCHAR8 filterconfig:2; /* SDK says "not used" */ - UCHAR8 reuse:1; - UCHAR8 reset_lfo:1; + u8 mono:1; + u8 retrigger:1; + u8 nohold:1; + u8 restart:1; + u8 filterconfig:2; /* SDK says "not used" */ + u8 reuse:1; + u8 reset_lfo:1; - UCHAR8 fm_src2:4; - UCHAR8 fm_src1:4; + u8 fm_src2:4; + u8 fm_src1:4; - CHAR8 fm_amount1; - CHAR8 fm_amount2; + s8 fm_amount1; + s8 fm_amount2; - UCHAR8 am_src:4; - UCHAR8 Unused4:4; + u8 am_src:4; + u8 Unused4:4; - CHAR8 am_amount; + s8 am_amount; - UCHAR8 fc1_mode:4; - UCHAR8 fc2_mode:4; + u8 fc1_mode:4; + u8 fc2_mode:4; - CHAR8 fc1_mod_amount; - CHAR8 fc1_keyboard_scaling; - CHAR8 fc1_bias; - CHAR8 fc2_mod_amount; - CHAR8 fc2_keyboard_scaling; - CHAR8 fc2_bias; + s8 fc1_mod_amount; + s8 fc1_keyboard_scaling; + s8 fc1_bias; + s8 fc2_mod_amount; + s8 fc2_keyboard_scaling; + s8 fc2_bias; - UCHAR8 randomizer:7; - UCHAR8 Unused5:1; + u8 randomizer:7; + u8 Unused5:1; struct wf_envelope envelope1; struct wf_envelope envelope2; @@ -312,18 +321,18 @@ typedef struct wf_patch wavefront_patch; struct wf_layer { - UCHAR8 patch_number; + u8 patch_number; - UCHAR8 mix_level:7; - UCHAR8 mute:1; + u8 mix_level:7; + u8 mute:1; - UCHAR8 split_point:7; - UCHAR8 play_below:1; + u8 split_point:7; + u8 play_below:1; - UCHAR8 pan_mod_src:2; - UCHAR8 pan_or_mod:1; - UCHAR8 pan:4; - UCHAR8 split_type:1; + u8 pan_mod_src:2; + u8 pan_or_mod:1; + u8 pan:4; + u8 split_type:1; }; typedef struct wf_layer wavefront_layer; @@ -335,9 +344,9 @@ typedef struct wf_program wavefront_program; struct wf_sample_offset { - INT32 Fraction:4; - INT32 Integer:20; - INT32 Unused:8; + s32 Fraction:4; + s32 Integer:20; + s32 Unused:8; }; typedef struct wf_sample_offset wavefront_sample_offset; @@ -429,38 +438,38 @@ typedef struct wf_sample { struct wf_sample_offset loopStartOffset; struct wf_sample_offset loopEndOffset; struct wf_sample_offset sampleEndOffset; - INT16 FrequencyBias; - UCHAR8 SampleResolution:2; /* sample_format */ - UCHAR8 Unused1:1; - UCHAR8 Loop:1; - UCHAR8 Bidirectional:1; - UCHAR8 Unused2:1; - UCHAR8 Reverse:1; - UCHAR8 Unused3:1; + s16 FrequencyBias; + u8 SampleResolution:2; /* sample_format */ + u8 Unused1:1; + u8 Loop:1; + u8 Bidirectional:1; + u8 Unused2:1; + u8 Reverse:1; + u8 Unused3:1; } wavefront_sample; typedef struct wf_multisample { - INT16 NumberOfSamples; /* log2 of the number of samples */ - INT16 SampleNumber[NUM_MIDIKEYS]; + s16 NumberOfSamples; /* log2 of the number of samples */ + s16 SampleNumber[NUM_MIDIKEYS]; } wavefront_multisample; typedef struct wf_alias { - INT16 OriginalSample __attribute__ ((packed)); + s16 OriginalSample __attribute__ ((packed)); struct wf_sample_offset sampleStartOffset __attribute__ ((packed)); struct wf_sample_offset loopStartOffset __attribute__ ((packed)); struct wf_sample_offset sampleEndOffset __attribute__ ((packed)); struct wf_sample_offset loopEndOffset __attribute__ ((packed)); - INT16 FrequencyBias __attribute__ ((packed)); + s16 FrequencyBias __attribute__ ((packed)); - UCHAR8 SampleResolution:2 __attribute__ ((packed)); - UCHAR8 Unused1:1 __attribute__ ((packed)); - UCHAR8 Loop:1 __attribute__ ((packed)); - UCHAR8 Bidirectional:1 __attribute__ ((packed)); - UCHAR8 Unused2:1 __attribute__ ((packed)); - UCHAR8 Reverse:1 __attribute__ ((packed)); - UCHAR8 Unused3:1 __attribute__ ((packed)); + u8 SampleResolution:2 __attribute__ ((packed)); + u8 Unused1:1 __attribute__ ((packed)); + u8 Loop:1 __attribute__ ((packed)); + u8 Bidirectional:1 __attribute__ ((packed)); + u8 Unused2:1 __attribute__ ((packed)); + u8 Reverse:1 __attribute__ ((packed)); + u8 Unused3:1 __attribute__ ((packed)); /* This structure is meant to be padded only to 16 bits on their original. Of course, whoever wrote their documentation didn't @@ -471,19 +480,19 @@ typedef struct wf_alias { standard 16->32 bit issues. */ - UCHAR8 sixteen_bit_padding __attribute__ ((packed)); + u8 sixteen_bit_padding __attribute__ ((packed)); } wavefront_alias; typedef struct wf_drum { - UCHAR8 PatchNumber; - UCHAR8 MixLevel:7; - UCHAR8 Unmute:1; - UCHAR8 Group:4; - UCHAR8 Unused1:4; - UCHAR8 PanModSource:2; - UCHAR8 PanModulated:1; - UCHAR8 PanAmount:4; - UCHAR8 Unused2:1; + u8 PatchNumber; + u8 MixLevel:7; + u8 Unmute:1; + u8 Group:4; + u8 Unused1:4; + u8 PanModSource:2; + u8 PanModulated:1; + u8 PanAmount:4; + u8 Unused2:1; } wavefront_drum; typedef struct wf_drumkit { @@ -491,7 +500,7 @@ typedef struct wf_drumkit { } wavefront_drumkit; typedef struct wf_channel_programs { - UCHAR8 Program[NUM_MIDICHANNELS]; + u8 Program[NUM_MIDICHANNELS]; } wavefront_channel_programs; /* How to get MIDI channel status from the data returned by @@ -522,15 +531,15 @@ typedef struct wf_patch_info { only, and are unused by the current user-level library. */ - INT16 key; /* Use WAVEFRONT_PATCH here */ - UINT16 devno; /* fill in when sending */ - UCHAR8 subkey; /* WF_ST_{SAMPLE,ALIAS,etc.} */ + s16 key; /* Use WAVEFRONT_PATCH here */ + u16 devno; /* fill in when sending */ + u8 subkey; /* WF_ST_{SAMPLE,ALIAS,etc.} */ #define WAVEFRONT_FIND_FREE_SAMPLE_SLOT 999 - UINT16 number; /* patch/sample/prog number */ + u16 number; /* patch/sample/prog number */ - UINT32 size; /* size of any data included in + u32 size; /* size of any data included in one of the fields in `hdrptr', or as `dataptr'. @@ -546,7 +555,7 @@ typedef struct wf_patch_info { */ wavefront_any *hdrptr; /* user-space ptr to hdr bytes */ - UINT16 *dataptr; /* actual sample data */ + u16 *dataptr; /* actual sample data */ wavefront_any hdr; /* kernel-space copy of hdr bytes */ } wavefront_patch_info; diff --git a/include/sound/ymfpci.h b/include/sound/ymfpci.h index bab03cc0fb7f..113f8a25a5de 100644 --- a/include/sound/ymfpci.h +++ b/include/sound/ymfpci.h @@ -285,6 +285,7 @@ struct _snd_ymfpci { struct resource *res_reg_area; unsigned short old_legacy_ctrl; + unsigned int joystick_port; void *work_ptr; dma_addr_t work_ptr_addr; @@ -355,13 +356,14 @@ int snd_ymfpci_pcm2(ymfpci_t *chip, int device, snd_pcm_t **rpcm); int snd_ymfpci_pcm_spdif(ymfpci_t *chip, int device, snd_pcm_t **rpcm); int snd_ymfpci_pcm_4ch(ymfpci_t *chip, int device, snd_pcm_t **rpcm); int snd_ymfpci_mixer(ymfpci_t *chip); +int snd_ymfpci_joystick(ymfpci_t *chip); int snd_ymfpci_voice_alloc(ymfpci_t *chip, ymfpci_voice_type_t type, int pair, ymfpci_voice_t **rvoice); int snd_ymfpci_voice_free(ymfpci_t *chip, ymfpci_voice_t *pvoice); #ifdef CONFIG_PM -void snd_ymfpci_suspend(ymfpci_t *chip, int can_schedule); -void snd_ymfpci_resume(ymfpci_t *chip, int can_schedule); +void snd_ymfpci_suspend(ymfpci_t *chip); +void snd_ymfpci_resume(ymfpci_t *chip); #endif #endif /* __SOUND_YMFPCI_H */ |
