PERFORCE change 138572 for review
Sam Leffler
sam at FreeBSD.org
Wed Mar 26 00:26:27 UTC 2008
http://perforce.freebsd.org/chv.cgi?CH=138572
Change 138572 by sam at sam_ebb on 2008/03/26 00:25:45
IFC
Affected files ...
.. //depot/projects/vap/contrib/wpa_supplicant/main.c#6 integrate
.. //depot/projects/vap/contrib/wpa_supplicant/wpa_supplicant.c#6 integrate
.. //depot/projects/vap/sys/dev/usb/ucom.c#7 edit
.. //depot/projects/vap/sys/dev/usb/ucomvar.h#5 edit
.. //depot/projects/vap/sys/dev/usb/usbdevs#11 edit
.. //depot/projects/vap/sys/kern/subr_taskqueue.c#6 integrate
.. //depot/projects/vap/sys/sys/taskqueue.h#7 integrate
Differences ...
==== //depot/projects/vap/contrib/wpa_supplicant/main.c#6 (text) ====
@@ -11,7 +11,7 @@
*
* See README and COPYING for more details.
*
- * $FreeBSD: src/contrib/wpa_supplicant/main.c,v 1.3 2008/03/24 19:57:51 sam Exp $
+ * $FreeBSD: src/contrib/wpa_supplicant/main.c,v 1.4 2008/03/25 21:47:03 sam Exp $
*/
#include "includes.h"
==== //depot/projects/vap/contrib/wpa_supplicant/wpa_supplicant.c#6 (text+ko) ====
@@ -14,7 +14,7 @@
* This file implements functions for registering and unregistering
* %wpa_supplicant interfaces. In addition, this file contains number of
* functions for managing network connections.
- * $FreeBSD: src/contrib/wpa_supplicant/wpa_supplicant.c,v 1.5 2008/03/24 19:57:51 sam Exp $
+ * $FreeBSD: src/contrib/wpa_supplicant/wpa_supplicant.c,v 1.6 2008/03/25 21:47:03 sam Exp $
*/
#include "includes.h"
==== //depot/projects/vap/sys/dev/usb/ucom.c#7 (text+ko) ====
@@ -28,7 +28,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/usb/ucom.c,v 1.65 2008/02/24 12:16:01 akiyama Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/usb/ucom.c,v 1.66 2008/03/25 23:46:24 sam Exp $");
/*-
* Copyright (c) 1998, 2000 The NetBSD Foundation, Inc.
@@ -161,13 +161,10 @@
}
int
-ucom_attach(struct ucom_softc *sc)
+ucom_attach_tty(struct ucom_softc *sc, int flags, char* fmt, int unit)
{
struct tty *tp;
- int unit;
- unit = device_get_unit(sc->sc_dev);
-
sc->sc_tty = tp = ttyalloc();
tp->t_sc = sc;
tp->t_oproc = ucomstart;
@@ -179,10 +176,18 @@
tp->t_modem = ucommodem;
tp->t_ioctl = ucomioctl;
- DPRINTF(("ucom_attach: tty_attach tp = %p\n", tp));
+ return ttycreate(tp, flags, fmt, unit);
+}
+
+int
+ucom_attach(struct ucom_softc *sc)
+{
+
+ ucom_attach_tty(sc, TS_CALLOUT,
+ "U%d", device_get_unit(sc->sc_dev));
- ttycreate(tp, TS_CALLOUT, "U%d", unit);
- DPRINTF(("ucom_attach: ttycreate: ttyU%d\n", unit));
+ DPRINTF(("ucom_attach: ttycreate: tp = %p, %s\n",
+ sc->sc_tty, sc->sc_tty->t_dev->si_name));
return (0);
}
==== //depot/projects/vap/sys/dev/usb/ucomvar.h#5 (text+ko) ====
@@ -1,5 +1,5 @@
/* $NetBSD: ucomvar.h,v 1.9 2001/01/23 21:56:17 augustss Exp $ */
-/* $FreeBSD: src/sys/dev/usb/ucomvar.h,v 1.9 2007/06/12 17:30:54 imp Exp $ */
+/* $FreeBSD: src/sys/dev/usb/ucomvar.h,v 1.10 2008/03/25 23:46:24 sam Exp $ */
/*-
* Copyright (c) 2001-2002, Shunsuke Akiyama <akiyama at jp.FreeBSD.org>.
@@ -159,6 +159,7 @@
extern devclass_t ucom_devclass;
+int ucom_attach_tty(struct ucom_softc *, int, char*, int);
int ucom_attach(struct ucom_softc *);
int ucom_detach(struct ucom_softc *);
void ucom_status_change(struct ucom_softc *);
==== //depot/projects/vap/sys/dev/usb/usbdevs#11 (text+ko) ====
@@ -1,4 +1,4 @@
-$FreeBSD: src/sys/dev/usb/usbdevs,v 1.343 2008/03/20 05:05:37 kevlo Exp $
+$FreeBSD: src/sys/dev/usb/usbdevs,v 1.344 2008/03/25 23:35:32 sam Exp $
/* $NetBSD: usbdevs,v 1.392 2004/12/29 08:38:44 imp Exp $ */
/*-
@@ -579,6 +579,7 @@
vendor CISCOLINKSYS 0x13b1 Cisco-Linksys
vendor SHARK 0x13d2 Shark
vendor NOVATEL 0x1410 Novatel Wireless
+vendor MERLIN 0x1416 Merlin
vendor WISTRONNEWEB 0x1435 Wistron NeWeb
vendor RADIOSHACK 0x1453 Radio Shack
vendor HUAWEI3COM 0x1472 Huawei-3Com
@@ -1783,9 +1784,16 @@
/* Novatel Wireless products */
product NOVATEL CDMA_MODEM 0x1110 Novatel Wireless Merlin CDMA
+product NOVATEL V620 0x1110 Merlin V620
+product NOVATEL V720 0x1130 Merlin V720
product NOVATEL U740 0x1400 Merlin U740
+product NOVATEL U720 0x2110 Merlin U720
+product NOVATEL U727 0x4100 Merlin U727 CDMA
product NOVATEL2 FLEXPACKGPS 0x0100 NovAtel FlexPack GPS receiver
+/* Merlin products */
+product MERLIN V620 0x1110 Merlin V620
+
/* Olympus products */
product OLYMPUS C1 0x0102 C-1 Digital Camera
product OLYMPUS C700 0x0105 C-700 Ultra Zoom
@@ -2043,6 +2051,7 @@
/* Sierra Wireless products */
product SIERRA AIRCARD580 0x0112 Sierra Wireless AirCard 580
product SIERRA MC5720 0x0218 MC5720 Wireless Modem
+product SIERRA AC875U 0x6812 AC875U HSDPA USB Modem
/* Sigmatel products */
product SIGMATEL I_BEAD100 0x8008 i-Bead 100 MP3 Player
==== //depot/projects/vap/sys/kern/subr_taskqueue.c#6 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/subr_taskqueue.c,v 1.40 2007/10/20 23:23:21 julian Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/subr_taskqueue.c,v 1.41 2008/03/25 22:38:45 scottl Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -63,6 +63,8 @@
};
#define TQ_FLAGS_ACTIVE (1 << 0)
+#define TQ_FLAGS_BLOCKED (1 << 1)
+#define TQ_FLAGS_PENDING (1 << 2)
static __inline void
TQ_LOCK(struct taskqueue *tq)
@@ -224,7 +226,10 @@
}
task->ta_pending = 1;
- queue->tq_enqueue(queue->tq_context);
+ if ((queue->tq_flags & TQ_FLAGS_BLOCKED) == 0)
+ queue->tq_enqueue(queue->tq_context);
+ else
+ queue->tq_flags |= TQ_FLAGS_PENDING;
TQ_UNLOCK(queue);
@@ -232,6 +237,28 @@
}
void
+taskqueue_block(struct taskqueue *queue)
+{
+
+ TQ_LOCK(queue);
+ queue->tq_flags |= TQ_FLAGS_BLOCKED;
+ TQ_UNLOCK(queue);
+}
+
+void
+taskqueue_unblock(struct taskqueue *queue)
+{
+
+ TQ_LOCK(queue);
+ queue->tq_flags &= ~TQ_FLAGS_BLOCKED;
+ if (queue->tq_flags & TQ_FLAGS_PENDING) {
+ queue->tq_flags &= ~TQ_FLAGS_PENDING;
+ queue->tq_enqueue(queue->tq_context);
+ }
+ TQ_UNLOCK(queue);
+}
+
+void
taskqueue_run(struct taskqueue *queue)
{
struct task *task;
==== //depot/projects/vap/sys/sys/taskqueue.h#7 (text+ko) ====
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/sys/taskqueue.h,v 1.17 2008/03/16 10:58:01 rwatson Exp $
+ * $FreeBSD: src/sys/sys/taskqueue.h,v 1.18 2008/03/25 22:38:44 scottl Exp $
*/
#ifndef _SYS_TASKQUEUE_H_
@@ -58,6 +58,8 @@
struct taskqueue *taskqueue_find(const char *name);
void taskqueue_free(struct taskqueue *queue);
void taskqueue_run(struct taskqueue *queue);
+void taskqueue_block(struct taskqueue *queue);
+void taskqueue_unblock(struct taskqueue *queue);
/*
* Functions for dedicated thread taskqueues
More information about the p4-projects
mailing list