summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAnton Blanchard <anton@samba.org>2003-08-23 04:12:23 +1000
committerAnton Blanchard <anton@samba.org>2003-08-23 04:12:23 +1000
commit4665cdeef2451654762157c7c1c405fc4aae011b (patch)
tree71742f16cab045f2398dd9433d719969a95f8d60 /include
parentca1ba07185020a32f9839ab7dfc68dbe3426b1e2 (diff)
parent3aa4ac184af468ac44a431ca61526734b34949b6 (diff)
Merge samba.org:/scratch/anton/linux-2.5
into samba.org:/scratch/anton/tmp3
Diffstat (limited to 'include')
-rw-r--r--include/net/ax25.h26
-rw-r--r--include/sound/ac97_codec.h17
-rw-r--r--include/sound/emu10k1.h8
-rw-r--r--include/sound/version.h2
4 files changed, 38 insertions, 15 deletions
diff --git a/include/net/ax25.h b/include/net/ax25.h
index 6186be2896e0..532b480d02cb 100644
--- a/include/net/ax25.h
+++ b/include/net/ax25.h
@@ -10,6 +10,7 @@
#include <linux/ax25.h>
#include <linux/spinlock.h>
#include <linux/timer.h>
+#include <linux/list.h>
#include <asm/atomic.h>
#define AX25_T1CLAMPLO 1
@@ -180,7 +181,7 @@ typedef struct ax25_dev {
} ax25_dev;
typedef struct ax25_cb {
- struct ax25_cb *next;
+ struct hlist_node ax25_node;
ax25_address source_addr, dest_addr;
ax25_digi *digipeat;
ax25_dev *ax25_dev;
@@ -197,17 +198,32 @@ typedef struct ax25_cb {
struct sk_buff_head ack_queue;
struct sk_buff_head frag_queue;
unsigned char window;
- struct timer_list timer;
+ struct timer_list timer, dtimer;
struct sock *sk; /* Backlink to socket */
+ atomic_t refcount;
} ax25_cb;
#define ax25_sk(__sk) ((ax25_cb *)(__sk)->sk_protinfo)
+#define ax25_for_each(__ax25, node, list) \
+ hlist_for_each_entry(__ax25, node, list, ax25_node)
+
+#define ax25_cb_hold(__ax25) \
+ atomic_inc(&((__ax25)->refcount))
+
+static __inline__ void ax25_cb_put(ax25_cb *ax25)
+{
+ if (atomic_dec_and_test(&ax25->refcount)) {
+ if (ax25->digipeat)
+ kfree(ax25->digipeat);
+ kfree(ax25);
+ }
+}
+
/* af_ax25.c */
-extern ax25_cb *ax25_list;
+extern struct hlist_head ax25_list;
extern spinlock_t ax25_list_lock;
-extern void ax25_free_cb(ax25_cb *);
-extern void ax25_insert_socket(ax25_cb *);
+extern void ax25_cb_add(ax25_cb *);
struct sock *ax25_find_listener(ax25_address *, int, struct net_device *, int);
struct sock *ax25_get_socket(ax25_address *, ax25_address *, int);
extern ax25_cb *ax25_find_cb(ax25_address *, ax25_address *, ax25_digi *, struct net_device *);
diff --git a/include/sound/ac97_codec.h b/include/sound/ac97_codec.h
index ef96513330df..e41e774307ee 100644
--- a/include/sound/ac97_codec.h
+++ b/include/sound/ac97_codec.h
@@ -345,13 +345,20 @@ void snd_ac97_suspend(ac97_t *ac97);
void snd_ac97_resume(ac97_t *ac97);
#endif
-enum { AC97_TUNE_HP_ONLY, AC97_TUNE_SWAP_HP, AC97_TUNE_SWAP_SURROUND };
+/* quirk types */
+enum {
+ AC97_TUNE_HP_ONLY, /* headphone (true line-out) control as master only */
+ AC97_TUNE_SWAP_HP, /* swap headphone and master controls */
+ AC97_TUNE_SWAP_SURROUND, /* swap master and surround controls */
+ AC97_TUNE_AD_SHARING /* for AD1985, turn on OMS bit and use headphone */
+};
struct ac97_quirk {
- unsigned short vendor;
- unsigned short device;
- const char *name;
- int type;
+ unsigned short vendor; /* PCI vendor id */
+ unsigned short device; /* PCI device id */
+ unsigned short mask; /* device id bit mask, 0 = accept all */
+ const char *name; /* name shown as info */
+ int type; /* quirk type above */
};
int snd_ac97_tune_hardware(ac97_t *ac97, struct ac97_quirk *quirk);
diff --git a/include/sound/emu10k1.h b/include/sound/emu10k1.h
index 0babb7dce20f..1fbd9f3fa82b 100644
--- a/include/sound/emu10k1.h
+++ b/include/sound/emu10k1.h
@@ -852,7 +852,7 @@ typedef struct {
unsigned int value[32];
unsigned int min; /* minimum range */
unsigned int max; /* maximum range */
- unsigned int translation; /* translation type (EMU10K1_GRP_TRANSLATION*) */
+ unsigned int translation; /* translation type (EMU10K1_GPR_TRANSLATION*) */
snd_kcontrol_t *kcontrol;
} snd_emu10k1_fx8010_ctl_t;
@@ -1282,8 +1282,8 @@ typedef struct {
#define EMU10K1_GPR_TRANSLATION_NONE 0
#define EMU10K1_GPR_TRANSLATION_TABLE100 1
-#define EMU10K1_GRP_TRANSLATION_BASS 2
-#define EMU10K1_GRP_TRANSLATION_TREBLE 3
+#define EMU10K1_GPR_TRANSLATION_BASS 2
+#define EMU10K1_GPR_TRANSLATION_TREBLE 3
#define EMU10K1_GPR_TRANSLATION_ONOFF 4
typedef struct {
@@ -1294,7 +1294,7 @@ typedef struct {
unsigned int value[32]; /* initial values */
unsigned int min; /* minimum range */
unsigned int max; /* maximum range */
- unsigned int translation; /* translation type (EMU10K1_GRP_TRANSLATION*) */
+ unsigned int translation; /* translation type (EMU10K1_GPR_TRANSLATION*) */
} emu10k1_fx8010_control_gpr_t;
typedef struct {
diff --git a/include/sound/version.h b/include/sound/version.h
index 7a720532c1b7..51f4968670a9 100644
--- a/include/sound/version.h
+++ b/include/sound/version.h
@@ -1,3 +1,3 @@
/* include/version.h. Generated by configure. */
#define CONFIG_SND_VERSION "0.9.6"
-#define CONFIG_SND_DATE " (Mon Jul 28 11:08:42 2003 UTC)"
+#define CONFIG_SND_DATE " (Wed Aug 20 20:27:13 2003 UTC)"