diff options
author | Jiri Kosina <jkosina@suse.cz> | 2013-01-29 04:48:30 -0500 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2013-01-29 04:48:30 -0500 |
commit | 617677295b53a40d0e54aac4cbbc216ffbc755dd (patch) | |
tree | 51b9e87213243ed5efff252c8e8d8fec4eebc588 /drivers/isdn/mISDN | |
parent | 5c8d1b68e01a144813e38795fe6dbe7ebb506131 (diff) | |
parent | 6abb7c25775b7fb2225ad0508236d63ca710e65f (diff) |
Merge branch 'master' into for-next
Conflicts:
drivers/devfreq/exynos4_bus.c
Sync with Linus' tree to be able to apply patches that are
against newer code (mvneta).
Diffstat (limited to 'drivers/isdn/mISDN')
-rw-r--r-- | drivers/isdn/mISDN/core.c | 4 | ||||
-rw-r--r-- | drivers/isdn/mISDN/dsp_core.c | 3 | ||||
-rw-r--r-- | drivers/isdn/mISDN/l1oip_core.c | 5 | ||||
-rw-r--r-- | drivers/isdn/mISDN/tei.c | 20 |
4 files changed, 12 insertions, 20 deletions
diff --git a/drivers/isdn/mISDN/core.c b/drivers/isdn/mISDN/core.c index c401634c00ec..3e245712bba7 100644 --- a/drivers/isdn/mISDN/core.c +++ b/drivers/isdn/mISDN/core.c | |||
@@ -140,7 +140,6 @@ static struct device_attribute mISDN_dev_attrs[] = { | |||
140 | {} | 140 | {} |
141 | }; | 141 | }; |
142 | 142 | ||
143 | #ifdef CONFIG_HOTPLUG | ||
144 | static int mISDN_uevent(struct device *dev, struct kobj_uevent_env *env) | 143 | static int mISDN_uevent(struct device *dev, struct kobj_uevent_env *env) |
145 | { | 144 | { |
146 | struct mISDNdevice *mdev = dev_to_mISDN(dev); | 145 | struct mISDNdevice *mdev = dev_to_mISDN(dev); |
@@ -153,7 +152,6 @@ static int mISDN_uevent(struct device *dev, struct kobj_uevent_env *env) | |||
153 | 152 | ||
154 | return 0; | 153 | return 0; |
155 | } | 154 | } |
156 | #endif | ||
157 | 155 | ||
158 | static void mISDN_class_release(struct class *cls) | 156 | static void mISDN_class_release(struct class *cls) |
159 | { | 157 | { |
@@ -163,9 +161,7 @@ static void mISDN_class_release(struct class *cls) | |||
163 | static struct class mISDN_class = { | 161 | static struct class mISDN_class = { |
164 | .name = "mISDN", | 162 | .name = "mISDN", |
165 | .owner = THIS_MODULE, | 163 | .owner = THIS_MODULE, |
166 | #ifdef CONFIG_HOTPLUG | ||
167 | .dev_uevent = mISDN_uevent, | 164 | .dev_uevent = mISDN_uevent, |
168 | #endif | ||
169 | .dev_attrs = mISDN_dev_attrs, | 165 | .dev_attrs = mISDN_dev_attrs, |
170 | .dev_release = mISDN_dev_release, | 166 | .dev_release = mISDN_dev_release, |
171 | .class_release = mISDN_class_release, | 167 | .class_release = mISDN_class_release, |
diff --git a/drivers/isdn/mISDN/dsp_core.c b/drivers/isdn/mISDN/dsp_core.c index 28c99c623bcd..22b720ec80cb 100644 --- a/drivers/isdn/mISDN/dsp_core.c +++ b/drivers/isdn/mISDN/dsp_core.c | |||
@@ -1217,8 +1217,7 @@ static void __exit dsp_cleanup(void) | |||
1217 | { | 1217 | { |
1218 | mISDN_unregister_Bprotocol(&DSP); | 1218 | mISDN_unregister_Bprotocol(&DSP); |
1219 | 1219 | ||
1220 | if (timer_pending(&dsp_spl_tl)) | 1220 | del_timer_sync(&dsp_spl_tl); |
1221 | del_timer(&dsp_spl_tl); | ||
1222 | 1221 | ||
1223 | if (!list_empty(&dsp_ilist)) { | 1222 | if (!list_empty(&dsp_ilist)) { |
1224 | printk(KERN_ERR "mISDN_dsp: Audio DSP object inst list not " | 1223 | printk(KERN_ERR "mISDN_dsp: Audio DSP object inst list not " |
diff --git a/drivers/isdn/mISDN/l1oip_core.c b/drivers/isdn/mISDN/l1oip_core.c index d67126dbbb04..2c0d2c2bf946 100644 --- a/drivers/isdn/mISDN/l1oip_core.c +++ b/drivers/isdn/mISDN/l1oip_core.c | |||
@@ -277,7 +277,6 @@ l1oip_socket_send(struct l1oip *hc, u8 localcodec, u8 channel, u32 chanmask, | |||
277 | u16 timebase, u8 *buf, int len) | 277 | u16 timebase, u8 *buf, int len) |
278 | { | 278 | { |
279 | u8 *p; | 279 | u8 *p; |
280 | int multi = 0; | ||
281 | u8 frame[len + 32]; | 280 | u8 frame[len + 32]; |
282 | struct socket *socket = NULL; | 281 | struct socket *socket = NULL; |
283 | 282 | ||
@@ -317,9 +316,7 @@ l1oip_socket_send(struct l1oip *hc, u8 localcodec, u8 channel, u32 chanmask, | |||
317 | *p++ = hc->id >> 8; | 316 | *p++ = hc->id >> 8; |
318 | *p++ = hc->id; | 317 | *p++ = hc->id; |
319 | } | 318 | } |
320 | *p++ = (multi == 1) ? 0x80 : 0x00 + channel; /* m-flag, channel */ | 319 | *p++ = 0x00 + channel; /* m-flag, channel */ |
321 | if (multi == 1) | ||
322 | *p++ = len; /* length */ | ||
323 | *p++ = timebase >> 8; /* time base */ | 320 | *p++ = timebase >> 8; /* time base */ |
324 | *p++ = timebase; | 321 | *p++ = timebase; |
325 | 322 | ||
diff --git a/drivers/isdn/mISDN/tei.c b/drivers/isdn/mISDN/tei.c index be88728f1106..592f597d8951 100644 --- a/drivers/isdn/mISDN/tei.c +++ b/drivers/isdn/mISDN/tei.c | |||
@@ -250,7 +250,7 @@ tei_debug(struct FsmInst *fi, char *fmt, ...) | |||
250 | static int | 250 | static int |
251 | get_free_id(struct manager *mgr) | 251 | get_free_id(struct manager *mgr) |
252 | { | 252 | { |
253 | u64 ids = 0; | 253 | DECLARE_BITMAP(ids, 64) = { [0 ... BITS_TO_LONGS(64) - 1] = 0 }; |
254 | int i; | 254 | int i; |
255 | struct layer2 *l2; | 255 | struct layer2 *l2; |
256 | 256 | ||
@@ -261,11 +261,11 @@ get_free_id(struct manager *mgr) | |||
261 | __func__); | 261 | __func__); |
262 | return -EBUSY; | 262 | return -EBUSY; |
263 | } | 263 | } |
264 | test_and_set_bit(l2->ch.nr, (u_long *)&ids); | 264 | __set_bit(l2->ch.nr, ids); |
265 | } | 265 | } |
266 | for (i = 1; i < 64; i++) | 266 | i = find_next_zero_bit(ids, 64, 1); |
267 | if (!test_bit(i, (u_long *)&ids)) | 267 | if (i < 64) |
268 | return i; | 268 | return i; |
269 | printk(KERN_WARNING "%s: more as 63 layer2 for one device\n", | 269 | printk(KERN_WARNING "%s: more as 63 layer2 for one device\n", |
270 | __func__); | 270 | __func__); |
271 | return -EBUSY; | 271 | return -EBUSY; |
@@ -274,7 +274,7 @@ get_free_id(struct manager *mgr) | |||
274 | static int | 274 | static int |
275 | get_free_tei(struct manager *mgr) | 275 | get_free_tei(struct manager *mgr) |
276 | { | 276 | { |
277 | u64 ids = 0; | 277 | DECLARE_BITMAP(ids, 64) = { [0 ... BITS_TO_LONGS(64) - 1] = 0 }; |
278 | int i; | 278 | int i; |
279 | struct layer2 *l2; | 279 | struct layer2 *l2; |
280 | 280 | ||
@@ -288,11 +288,11 @@ get_free_tei(struct manager *mgr) | |||
288 | continue; | 288 | continue; |
289 | i -= 64; | 289 | i -= 64; |
290 | 290 | ||
291 | test_and_set_bit(i, (u_long *)&ids); | 291 | __set_bit(i, ids); |
292 | } | 292 | } |
293 | for (i = 0; i < 64; i++) | 293 | i = find_first_zero_bit(ids, 64); |
294 | if (!test_bit(i, (u_long *)&ids)) | 294 | if (i < 64) |
295 | return i + 64; | 295 | return i + 64; |
296 | printk(KERN_WARNING "%s: more as 63 dynamic tei for one device\n", | 296 | printk(KERN_WARNING "%s: more as 63 dynamic tei for one device\n", |
297 | __func__); | 297 | __func__); |
298 | return -1; | 298 | return -1; |