MODULE_DESCRIPTION("Routines for control of 16-bit SoundBlaster cards and clones");
MODULE_LICENSE("GPL");
-#define chip_t sb_t
-
#ifdef CONFIG_SND_SB16_CSP
static void snd_sb16_csp_playback_prepare(sb_t *chip, snd_pcm_runtime_t *runtime)
{
if (chip->hardware == SB_HW_16CSP) {
- snd_sb_csp_t *csp = snd_magic_cast(snd_sb_csp_t, chip->csp, return);
+ snd_sb_csp_t *csp = chip->csp;
if (csp->running & SNDRV_SB_CSP_ST_LOADED) {
/* manually loaded codec */
static void snd_sb16_csp_capture_prepare(sb_t *chip, snd_pcm_runtime_t *runtime)
{
if (chip->hardware == SB_HW_16CSP) {
- snd_sb_csp_t *csp = snd_magic_cast(snd_sb_csp_t, chip->csp, return);
+ snd_sb_csp_t *csp = chip->csp;
if (csp->running & SNDRV_SB_CSP_ST_LOADED) {
/* manually loaded codec */
static void snd_sb16_csp_update(sb_t *chip)
{
if (chip->hardware == SB_HW_16CSP) {
- snd_sb_csp_t *csp = snd_magic_cast(snd_sb_csp_t, chip->csp, return);
+ snd_sb_csp_t *csp = chip->csp;
if (csp->qpos_changed) {
spin_lock(&chip->reg_lock);
{
/* CSP decoders (QSound excluded) support only 16bit transfers */
if (chip->hardware == SB_HW_16CSP) {
- snd_sb_csp_t *csp = snd_magic_cast(snd_sb_csp_t, chip->csp, return);
+ snd_sb_csp_t *csp = chip->csp;
if (csp->running & SNDRV_SB_CSP_ST_LOADED) {
/* manually loaded codec */
static void snd_sb16_csp_playback_close(sb_t *chip)
{
if ((chip->hardware == SB_HW_16CSP) && (chip->open == SNDRV_SB_CSP_MODE_DSP_WRITE)) {
- snd_sb_csp_t *csp = snd_magic_cast(snd_sb_csp_t, chip->csp, return);
+ snd_sb_csp_t *csp = chip->csp;
if (csp->ops.csp_stop(csp) == 0) {
csp->ops.csp_unuse(csp);
{
/* CSP coders support only 16bit transfers */
if (chip->hardware == SB_HW_16CSP) {
- snd_sb_csp_t *csp = snd_magic_cast(snd_sb_csp_t, chip->csp, return);
+ snd_sb_csp_t *csp = chip->csp;
if (csp->running & SNDRV_SB_CSP_ST_LOADED) {
/* manually loaded codec */
static void snd_sb16_csp_capture_close(sb_t *chip)
{
if ((chip->hardware == SB_HW_16CSP) && (chip->open == SNDRV_SB_CSP_MODE_DSP_READ)) {
- snd_sb_csp_t *csp = snd_magic_cast(snd_sb_csp_t, chip->csp, return);
+ snd_sb_csp_t *csp = chip->csp;
if (csp->ops.csp_stop(csp) == 0) {
csp->ops.csp_unuse(csp);
irqreturn_t snd_sb16dsp_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{
- sb_t *chip = snd_magic_cast(sb_t, dev_id, return IRQ_NONE);
+ sb_t *chip = dev_id;
unsigned char status;
int ok;
* open/close
*/
-int snd_sb16_playback_open(snd_pcm_substream_t * substream)
+static int snd_sb16_playback_open(snd_pcm_substream_t * substream)
{
unsigned long flags;
sb_t *chip = snd_pcm_substream_chip(substream);
return 0;
}
-int snd_sb16_playback_close(snd_pcm_substream_t * substream)
+static int snd_sb16_playback_close(snd_pcm_substream_t * substream)
{
unsigned long flags;
sb_t *chip = snd_pcm_substream_chip(substream);
return 0;
}
-int snd_sb16_capture_open(snd_pcm_substream_t * substream)
+static int snd_sb16_capture_open(snd_pcm_substream_t * substream)
{
unsigned long flags;
sb_t *chip = snd_pcm_substream_chip(substream);
return 0;
}
-int snd_sb16_capture_close(snd_pcm_substream_t * substream)
+static int snd_sb16_capture_close(snd_pcm_substream_t * substream)
{
unsigned long flags;
sb_t *chip = snd_pcm_substream_chip(substream);
return change;
}
-snd_kcontrol_new_t snd_sb16_dma_control = {
+static snd_kcontrol_new_t snd_sb16_dma_control = {
.iface = SNDRV_CTL_ELEM_IFACE_PCM,
.name = "16-bit DMA Allocation",
.info = snd_sb16_dma_control_info,