提交 8d1cea6e 编写于 作者: A Adrian Bunk 提交者: Paul Mackerras

[POWERPC] Remove the unused HTDMSOUND driver

Recently, someone fixed a syntax error in the HTDMSOUND driver
introduced 4 years ago.

Unfortunately not by trying to compile this driver for his hardware but
by code inspection - which seems to be a strong indication that there
are no users left for this OSS sound driver.

This patch therefore removes it.
Signed-off-by: NAdrian Bunk <bunk@stusta.de>
Acked-by: NDan Malek <dan@embeddedalley.com>
Acked-by: NMarcelo Tosatti <marcelo@kvack.org>
Signed-off-by: NPaul Mackerras <paulus@samba.org>
上级 4bd4aa19
...@@ -74,10 +74,6 @@ config ENET_BIG_BUFFERS ...@@ -74,10 +74,6 @@ config ENET_BIG_BUFFERS
Allocate large buffers for MPC8xx Ethernet. Increases throughput Allocate large buffers for MPC8xx Ethernet. Increases throughput
and decreases the likelihood of dropped packets, but costs memory. and decreases the likelihood of dropped packets, but costs memory.
config HTDMSOUND
bool "Embedded Planet HIOX Audio"
depends on SOUND=y
# This doesn't really belong here, but it is convenient to ask # This doesn't really belong here, but it is convenient to ask
# 8xx specific questions. # 8xx specific questions.
comment "Generic MPC8xx Options" comment "Generic MPC8xx Options"
......
...@@ -7,4 +7,3 @@ obj-y := commproc.o ...@@ -7,4 +7,3 @@ obj-y := commproc.o
obj-$(CONFIG_FEC_ENET) += fec.o obj-$(CONFIG_FEC_ENET) += fec.o
obj-$(CONFIG_SCC_ENET) += enet.o obj-$(CONFIG_SCC_ENET) += enet.o
obj-$(CONFIG_UCODE_PATCH) += micropatch.o obj-$(CONFIG_UCODE_PATCH) += micropatch.o
obj-$(CONFIG_HTDMSOUND) += cs4218_tdm.o
#ifndef _cs4218_h_
/*
* Hacked version of linux/drivers/sound/dmasound/dmasound.h
*
*
* Minor numbers for the sound driver.
*
* Unfortunately Creative called the codec chip of SB as a DSP. For this
* reason the /dev/dsp is reserved for digitized audio use. There is a
* device for true DSP processors but it will be called something else.
* In v3.0 it's /dev/sndproc but this could be a temporary solution.
*/
#define _cs4218_h_
#include <linux/types.h>
#define SND_NDEVS 256 /* Number of supported devices */
#define SND_DEV_CTL 0 /* Control port /dev/mixer */
#define SND_DEV_SEQ 1 /* Sequencer output /dev/sequencer (FM
synthesizer and MIDI output) */
#define SND_DEV_MIDIN 2 /* Raw midi access */
#define SND_DEV_DSP 3 /* Digitized voice /dev/dsp */
#define SND_DEV_AUDIO 4 /* Sparc compatible /dev/audio */
#define SND_DEV_DSP16 5 /* Like /dev/dsp but 16 bits/sample */
#define SND_DEV_STATUS 6 /* /dev/sndstat */
/* #7 not in use now. Was in 2.4. Free for use after v3.0. */
#define SND_DEV_SEQ2 8 /* /dev/sequencer, level 2 interface */
#define SND_DEV_SNDPROC 9 /* /dev/sndproc for programmable devices */
#define SND_DEV_PSS SND_DEV_SNDPROC
/* switch on various prinks */
#define DEBUG_DMASOUND 1
#define MAX_AUDIO_DEV 5
#define MAX_MIXER_DEV 4
#define MAX_SYNTH_DEV 3
#define MAX_MIDI_DEV 6
#define MAX_TIMER_DEV 3
#define MAX_CATCH_RADIUS 10
#define le2be16(x) (((x)<<8 & 0xff00) | ((x)>>8 & 0x00ff))
#define le2be16dbl(x) (((x)<<8 & 0xff00ff00) | ((x)>>8 & 0x00ff00ff))
#define IOCTL_IN(arg, ret) \
do { int error = get_user(ret, (int *)(arg)); \
if (error) return error; \
} while (0)
#define IOCTL_OUT(arg, ret) ioctl_return((int *)(arg), ret)
static inline int ioctl_return(int *addr, int value)
{
return value < 0 ? value : put_user(value, addr);
}
#define HAS_RECORD
/*
* Initialization
*/
/* description of the set-up applies to either hard or soft settings */
typedef struct {
int format; /* AFMT_* */
int stereo; /* 0 = mono, 1 = stereo */
int size; /* 8/16 bit*/
int speed; /* speed */
} SETTINGS;
/*
* Machine definitions
*/
typedef struct {
const char *name;
const char *name2;
void (*open)(void);
void (*release)(void);
void *(*dma_alloc)(unsigned int, gfp_t);
void (*dma_free)(void *, unsigned int);
int (*irqinit)(void);
#ifdef MODULE
void (*irqcleanup)(void);
#endif
void (*init)(void);
void (*silence)(void);
int (*setFormat)(int);
int (*setVolume)(int);
int (*setBass)(int);
int (*setTreble)(int);
int (*setGain)(int);
void (*play)(void);
void (*record)(void); /* optional */
void (*mixer_init)(void); /* optional */
int (*mixer_ioctl)(u_int, u_long); /* optional */
int (*write_sq_setup)(void); /* optional */
int (*read_sq_setup)(void); /* optional */
int (*sq_open)(mode_t); /* optional */
int (*state_info)(char *, size_t); /* optional */
void (*abort_read)(void); /* optional */
int min_dsp_speed;
int max_dsp_speed;
int version ;
int hardware_afmts ; /* OSS says we only return h'ware info */
/* when queried via SNDCTL_DSP_GETFMTS */
int capabilities ; /* low-level reply to SNDCTL_DSP_GETCAPS */
SETTINGS default_hard ; /* open() or init() should set something valid */
SETTINGS default_soft ; /* you can make it look like old OSS, if you want to */
} MACHINE;
/*
* Low level stuff
*/
typedef struct {
ssize_t (*ct_ulaw)(const u_char *, size_t, u_char *, ssize_t *, ssize_t);
ssize_t (*ct_alaw)(const u_char *, size_t, u_char *, ssize_t *, ssize_t);
ssize_t (*ct_s8)(const u_char *, size_t, u_char *, ssize_t *, ssize_t);
ssize_t (*ct_u8)(const u_char *, size_t, u_char *, ssize_t *, ssize_t);
ssize_t (*ct_s16be)(const u_char *, size_t, u_char *, ssize_t *, ssize_t);
ssize_t (*ct_u16be)(const u_char *, size_t, u_char *, ssize_t *, ssize_t);
ssize_t (*ct_s16le)(const u_char *, size_t, u_char *, ssize_t *, ssize_t);
ssize_t (*ct_u16le)(const u_char *, size_t, u_char *, ssize_t *, ssize_t);
} TRANS;
/*
* Sound queue stuff, the heart of the driver
*/
struct sound_queue {
/* buffers allocated for this queue */
int numBufs; /* real limits on what the user can have */
int bufSize; /* in bytes */
char **buffers;
/* current parameters */
int locked ; /* params cannot be modified when != 0 */
int user_frags ; /* user requests this many */
int user_frag_size ; /* of this size */
int max_count; /* actual # fragments <= numBufs */
int block_size; /* internal block size in bytes */
int max_active; /* in-use fragments <= max_count */
/* it shouldn't be necessary to declare any of these volatile */
int front, rear, count;
int rear_size;
/*
* The use of the playing field depends on the hardware
*
* Atari, PMac: The number of frames that are loaded/playing
*
* Amiga: Bit 0 is set: a frame is loaded
* Bit 1 is set: a frame is playing
*/
int active;
wait_queue_head_t action_queue, open_queue, sync_queue;
int open_mode;
int busy, syncing, xruns, died;
};
#define SLEEP(queue) interruptible_sleep_on_timeout(&queue, HZ)
#define WAKE_UP(queue) (wake_up_interruptible(&queue))
#endif /* _cs4218_h_ */
此差异已折叠。
...@@ -69,10 +69,6 @@ extern bd_t m8xx_board_info; ...@@ -69,10 +69,6 @@ extern bd_t m8xx_board_info;
#define BCSR2_QSPACESEL ((uint)0x00004000) #define BCSR2_QSPACESEL ((uint)0x00004000)
#define BCSR2_FETHLEDMODE ((uint)0x00000800) /* CLLF */ #define BCSR2_FETHLEDMODE ((uint)0x00000800) /* CLLF */
#if defined(CONFIG_HTDMSOUND)
#include <platforms/rpxhiox.h>
#endif
/* define IO_BASE for pcmcia, CLLF only */ /* define IO_BASE for pcmcia, CLLF only */
#if !defined(CONFIG_PCI) #if !defined(CONFIG_PCI)
#define _IO_BASE 0x80000000 #define _IO_BASE 0x80000000
......
/*
* The Embedded Planet HIOX expansion card definitions.
* There were a few different versions of these cards, but only
* the one that escaped real production is defined here.
*
* Copyright (c) 2000 Dan Malek (dmalek@jlc.net)
*/
#ifndef __MACH_RPX_HIOX_DEFS
#define __MACH_RPX_HIOX_DEFS
#define HIOX_CSR_ADDR ((uint)0xfac00000)
#define HIOX_CSR_SIZE ((uint)(4 * 1024))
#define HIOX_CSR0_ADDR HIOX_CSR_ADDR
#define HIOX_CSR4_ADDR ((uint)0xfac00004)
#define HIOX_CSR0_DEFAULT ((uint)0x380f3c00)
#define HIOX_CSR0_ENSCC2 ((uint)0x80000000)
#define HIOX_CSR0_ENSMC2 ((uint)0x04000000)
#define HIOX_CSR0_ENVDOCLK ((uint)0x02000000)
#define HIOX_CSR0_VDORST_HL ((uint)0x01000000)
#define HIOX_CSR0_RS232SEL ((uint)0x0000c000)
#define HIOX_CSR0_SCC3SEL ((uint)0x0000c000)
#define HIOX_CSR0_SMC1SEL ((uint)0x00008000)
#define HIOX_CSR0_SCC1SEL ((uint)0x00004000)
#define HIOX_CSR0_ENTOUCH ((uint)0x00000080)
#define HIOX_CSR0_PDOWN100 ((uint)0x00000060)
#define HIOX_CSR0_PDOWN10 ((uint)0x00000040)
#define HIOX_CSR0_PDOWN1 ((uint)0x00000020)
#define HIOX_CSR0_TSELSPI ((uint)0x00000010)
#define HIOX_CSR0_TIRQSTAT ((uint)0x00000008)
#define HIOX_CSR4_DEFAULT ((uint)0x00000000)
#define HIOX_CSR4_ENTIRQ2 ((uint)0x20000000)
#define HIOX_CSR4_ENTIRQ3 ((uint)0x10000000)
#define HIOX_CSR4_ENAUDIO ((uint)0x00000080)
#define HIOX_CSR4_RSTAUDIO ((uint)0x00000040) /* 0 == reset */
#define HIOX_CSR4_AUDCLKHI ((uint)0x00000020)
#define HIOX_CSR4_AUDSPISEL ((uint)0x00000010)
#define HIOX_CSR4_AUDIRQSTAT ((uint)0x00000008)
#define HIOX_CSR4_AUDCLKSEL ((uint)0x00000007)
#endif
...@@ -57,10 +57,6 @@ extern bd_t m8xx_board_info; ...@@ -57,10 +57,6 @@ extern bd_t m8xx_board_info;
#define BCSR1_PCVCTL6 ((uint)0x00020000) #define BCSR1_PCVCTL6 ((uint)0x00020000)
#define BCSR1_PCVCTL7 ((uint)0x00010000) #define BCSR1_PCVCTL7 ((uint)0x00010000)
#if defined(CONFIG_HTDMSOUND)
#include <platforms/rpxhiox.h>
#endif
/* define IO_BASE for pcmcia */ /* define IO_BASE for pcmcia */
#define _IO_BASE 0x80000000 #define _IO_BASE 0x80000000
#define _IO_BASE_SIZE 0x1000 #define _IO_BASE_SIZE 0x1000
......
...@@ -413,7 +413,7 @@ m8xx_map_io(void) ...@@ -413,7 +413,7 @@ m8xx_map_io(void)
io_block_mapping(_IO_BASE,_IO_BASE,_IO_BASE_SIZE, _PAGE_IO); io_block_mapping(_IO_BASE,_IO_BASE,_IO_BASE_SIZE, _PAGE_IO);
#endif #endif
#endif #endif
#if defined(CONFIG_HTDMSOUND) || defined(CONFIG_RPXTOUCH) || defined(CONFIG_FB_RPX) #if defined(CONFIG_RPXTOUCH) || defined(CONFIG_FB_RPX)
io_block_mapping(HIOX_CSR_ADDR, HIOX_CSR_ADDR, HIOX_CSR_SIZE, _PAGE_IO); io_block_mapping(HIOX_CSR_ADDR, HIOX_CSR_ADDR, HIOX_CSR_SIZE, _PAGE_IO);
#endif #endif
#ifdef CONFIG_FADS #ifdef CONFIG_FADS
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册