aboutsummaryrefslogtreecommitdiff
path: root/include/sound/core.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/sound/core.h')
-rw-r--r--include/sound/core.h58
1 files changed, 28 insertions, 30 deletions
diff --git a/include/sound/core.h b/include/sound/core.h
index a3e3e89b63b..1df3f2fe535 100644
--- a/include/sound/core.h
+++ b/include/sound/core.h
@@ -46,24 +46,22 @@ struct completion;
/* device allocation stuff */
-#define SNDRV_DEV_TYPE_RANGE_SIZE 0x1000
-
+/* type of the object used in snd_device_*()
+ * this also defines the calling order
+ */
enum snd_device_type {
- SNDRV_DEV_TOPLEVEL = 0,
- SNDRV_DEV_CONTROL = 1,
- SNDRV_DEV_LOWLEVEL_PRE = 2,
- SNDRV_DEV_LOWLEVEL_NORMAL = 0x1000,
+ SNDRV_DEV_LOWLEVEL,
+ SNDRV_DEV_CONTROL,
+ SNDRV_DEV_INFO,
+ SNDRV_DEV_BUS,
+ SNDRV_DEV_CODEC,
SNDRV_DEV_PCM,
+ SNDRV_DEV_COMPRESS,
SNDRV_DEV_RAWMIDI,
SNDRV_DEV_TIMER,
SNDRV_DEV_SEQUENCER,
SNDRV_DEV_HWDEP,
- SNDRV_DEV_INFO,
- SNDRV_DEV_BUS,
- SNDRV_DEV_CODEC,
SNDRV_DEV_JACK,
- SNDRV_DEV_COMPRESS,
- SNDRV_DEV_LOWLEVEL = 0x2000,
};
enum snd_device_state {
@@ -72,12 +70,6 @@ enum snd_device_state {
SNDRV_DEV_DISCONNECTED,
};
-enum snd_device_cmd {
- SNDRV_DEV_CMD_PRE,
- SNDRV_DEV_CMD_NORMAL,
- SNDRV_DEV_CMD_POST,
-};
-
struct snd_device;
struct snd_device_ops {
@@ -124,6 +116,8 @@ struct snd_card {
int user_ctl_count; /* count of all user controls */
struct list_head controls; /* all controls for this card */
struct list_head ctl_files; /* active control files */
+ struct mutex user_ctl_lock; /* protects user controls against
+ concurrent access */
struct snd_info_entry *proc_root; /* root for soundcard specific files */
struct snd_info_entry *proc_id; /* the card id */
@@ -248,8 +242,7 @@ static inline int snd_register_device(int type, struct snd_card *card, int dev,
int snd_unregister_device(int type, struct snd_card *card, int dev);
void *snd_lookup_minor_data(unsigned int minor, int type);
-int snd_add_device_sysfs_file(int type, struct snd_card *card, int dev,
- struct device_attribute *attr);
+struct device *snd_get_device(int type, struct snd_card *card, int dev);
#ifdef CONFIG_SND_OSSEMUL
int snd_register_oss_device(int type, struct snd_card *card, int dev,
@@ -291,13 +284,6 @@ int snd_card_new(struct device *parent, int idx, const char *xid,
struct module *module, int extra_size,
struct snd_card **card_ret);
-static inline int __deprecated
-snd_card_create(int idx, const char *id, struct module *module, int extra_size,
- struct snd_card **ret)
-{
- return snd_card_new(NULL, idx, id, module, extra_size, ret);
-}
-
int snd_card_disconnect(struct snd_card *card);
int snd_card_free(struct snd_card *card);
int snd_card_free_when_closed(struct snd_card *card);
@@ -318,10 +304,9 @@ int snd_device_new(struct snd_card *card, enum snd_device_type type,
void *device_data, struct snd_device_ops *ops);
int snd_device_register(struct snd_card *card, void *device_data);
int snd_device_register_all(struct snd_card *card);
-int snd_device_disconnect(struct snd_card *card, void *device_data);
int snd_device_disconnect_all(struct snd_card *card);
-int snd_device_free(struct snd_card *card, void *device_data);
-int snd_device_free_all(struct snd_card *card, enum snd_device_cmd cmd);
+void snd_device_free(struct snd_card *card, void *device_data);
+void snd_device_free_all(struct snd_card *card);
/* isadma.c */
@@ -443,7 +428,6 @@ static inline void snd_printdd(const char *format, ...) {}
#define gameport_get_port_data(gp) (gp)->port_data
#endif
-#ifdef CONFIG_PCI
/* PCI quirk list helper */
struct snd_pci_quirk {
unsigned short subvendor; /* PCI subvendor ID */
@@ -479,12 +463,26 @@ struct snd_pci_quirk {
#define snd_pci_quirk_name(q) ""
#endif
+#ifdef CONFIG_PCI
const struct snd_pci_quirk *
snd_pci_quirk_lookup(struct pci_dev *pci, const struct snd_pci_quirk *list);
const struct snd_pci_quirk *
snd_pci_quirk_lookup_id(u16 vendor, u16 device,
const struct snd_pci_quirk *list);
+#else
+static inline const struct snd_pci_quirk *
+snd_pci_quirk_lookup(struct pci_dev *pci, const struct snd_pci_quirk *list)
+{
+ return NULL;
+}
+
+static inline const struct snd_pci_quirk *
+snd_pci_quirk_lookup_id(u16 vendor, u16 device,
+ const struct snd_pci_quirk *list)
+{
+ return NULL;
+}
#endif
#endif /* __SOUND_CORE_H */