PERFORCE change 50233 for review
Robert Watson
rwatson at FreeBSD.org
Fri Apr 2 20:30:47 PST 2004
http://perforce.freebsd.org/chv.cgi?CH=50233
Change 50233 by rwatson at rwatson_paprika on 2004/04/02 20:30:17
- twa becomes i386-only, I think.
- many if_ath and 802.11 fixes
- syscons fixed on sparc64 so that make_dev() is called less early.
- various producer/consumer ring changes in if_rl, if_ste.
Affected files ...
.. //depot/projects/netperf_socket/sys/conf/NOTES#12 integrate
.. //depot/projects/netperf_socket/sys/dev/ath/if_ath.c#5 integrate
.. //depot/projects/netperf_socket/sys/dev/ath/if_ath_pci.c#3 integrate
.. //depot/projects/netperf_socket/sys/dev/ath/if_athioctl.h#2 integrate
.. //depot/projects/netperf_socket/sys/dev/ath/if_athvar.h#3 integrate
.. //depot/projects/netperf_socket/sys/dev/kbd/kbd.c#3 integrate
.. //depot/projects/netperf_socket/sys/dev/syscons/syscons.c#4 integrate
.. //depot/projects/netperf_socket/sys/dev/twa/twa.c#2 integrate
.. //depot/projects/netperf_socket/sys/dev/twa/twa_freebsd.c#2 integrate
.. //depot/projects/netperf_socket/sys/dev/twa/twa_includes.h#2 integrate
.. //depot/projects/netperf_socket/sys/dev/uart/uart_cpu_sparc64.c#3 integrate
.. //depot/projects/netperf_socket/sys/dev/uart/uart_dev_ns8250.c#2 integrate
.. //depot/projects/netperf_socket/sys/dev/uart/uart_kbd_sun.c#2 integrate
.. //depot/projects/netperf_socket/sys/i386/conf/NOTES#13 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_thr.c#4 integrate
.. //depot/projects/netperf_socket/sys/net80211/ieee80211.c#3 integrate
.. //depot/projects/netperf_socket/sys/net80211/ieee80211_input.c#2 integrate
.. //depot/projects/netperf_socket/sys/net80211/ieee80211_node.c#3 integrate
.. //depot/projects/netperf_socket/sys/net80211/ieee80211_node.h#2 integrate
.. //depot/projects/netperf_socket/sys/net80211/ieee80211_output.c#2 integrate
.. //depot/projects/netperf_socket/sys/net80211/ieee80211_proto.c#3 integrate
.. //depot/projects/netperf_socket/sys/net80211/ieee80211_var.h#3 integrate
.. //depot/projects/netperf_socket/sys/pci/if_rl.c#6 integrate
.. //depot/projects/netperf_socket/sys/pci/if_ste.c#9 integrate
.. //depot/projects/netperf_socket/sys/pci/if_stereg.h#3 integrate
Differences ...
==== //depot/projects/netperf_socket/sys/conf/NOTES#12 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/NOTES,v 1.1211 2004/03/31 18:46:13 vkashyap Exp $
+# $FreeBSD: src/sys/conf/NOTES,v 1.1212 2004/04/02 18:50:56 vkashyap Exp $
#
# NOTES -- Lines that can be cut/pasted into kernel and hints configs.
#
@@ -1388,14 +1388,6 @@
device twe # 3ware ATA RAID
#
-# 3ware 9000 series PATA/SATA RAID controller driver and options.
-# The driver is implemented as a SIM, and so, needs the CAM infrastructure.
-#
-options TWA_DEBUG # 0-10; 10 prints the most messages.
-options TWA_FLASH_FIRMWARE # firmware image bundled when defined.
-device twa # 3ware 9000 series PATA/SATA RAID
-
-#
# The 'ATA' driver supports all ATA and ATAPI devices, including PC Card
# devices. You only need one "device ata" for it to find all
# PCI and PC Card ATA/ATAPI devices on modern machines.
==== //depot/projects/netperf_socket/sys/dev/ath/if_ath.c#5 (text+ko) ====
@@ -1,5 +1,5 @@
/*-
- * Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting
+ * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -35,7 +35,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.47 2004/04/01 00:38:45 sam Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.53 2004/04/03 00:06:23 sam Exp $");
/*
* Driver for the Atheros Wireless LAN controller.
@@ -270,7 +270,6 @@
TASK_INIT(&sc->sc_txtask, 0, ath_tx_proc, sc);
TASK_INIT(&sc->sc_rxtask, 0, ath_rx_proc, sc);
- TASK_INIT(&sc->sc_swbatask, 0, ath_beacon_proc, sc);
TASK_INIT(&sc->sc_rxorntask, 0, ath_rxorn_proc, sc);
TASK_INIT(&sc->sc_fataltask, 0, ath_fatal_proc, sc);
TASK_INIT(&sc->sc_bmisstask, 0, ath_bmiss_proc, sc);
@@ -288,7 +287,7 @@
);
if (sc->sc_txhalq == (u_int) -1) {
if_printf(ifp, "unable to setup a data xmit queue!\n");
- goto bad;
+ goto bad2;
}
sc->sc_bhalq = ath_hal_setuptxqueue(ah,
HAL_TX_QUEUE_BEACON,
@@ -296,7 +295,7 @@
);
if (sc->sc_bhalq == (u_int) -1) {
if_printf(ifp, "unable to setup a beacon xmit queue!\n");
- goto bad;
+ goto bad2;
}
ifp->if_softc = sc;
@@ -317,7 +316,7 @@
| IEEE80211_C_HOSTAP /* hostap mode */
| IEEE80211_C_MONITOR /* monitor mode */
| IEEE80211_C_SHPREAMBLE /* short preamble supported */
- | IEEE80211_C_RCVMGT; /* recv management frames */
+ ;
/* get mac address from hardware */
ath_hal_getmac(ah, ic->ic_myaddr);
@@ -326,7 +325,9 @@
ieee80211_ifattach(ifp);
/* override default methods */
ic->ic_node_alloc = ath_node_alloc;
+ sc->sc_node_free = ic->ic_node_free;
ic->ic_node_free = ath_node_free;
+ sc->sc_node_copy = ic->ic_node_copy;
ic->ic_node_copy = ath_node_copy;
ic->ic_node_getrssi = ath_node_getrssi;
sc->sc_newstate = ic->ic_newstate;
@@ -355,6 +356,8 @@
sc->sc_rx_th.wr_ihdr.it_present = htole32(ATH_RX_RADIOTAP_PRESENT);
return 0;
+bad2:
+ ath_desc_free(sc);
bad:
if (ah)
ath_hal_detach(ah);
@@ -432,6 +435,8 @@
DPRINTF(ATH_DEBUG_ANY, ("%s: invalid; ignored\n", __func__));
return;
}
+ if (!ath_hal_intrpend(ah)) /* shared irq, not for us */
+ return;
if ((ifp->if_flags & (IFF_RUNNING|IFF_UP)) != (IFF_RUNNING|IFF_UP)) {
DPRINTF(ATH_DEBUG_ANY, ("%s: if_flags 0x%x\n",
__func__, ifp->if_flags));
@@ -476,8 +481,14 @@
taskqueue_enqueue(taskqueue_swi, &sc->sc_rxtask);
if (status & HAL_INT_TX)
taskqueue_enqueue(taskqueue_swi, &sc->sc_txtask);
- if (status & HAL_INT_SWBA)
- taskqueue_enqueue(taskqueue_swi, &sc->sc_swbatask);
+ if (status & HAL_INT_SWBA) {
+ /*
+ * Handle beacon transmission directly; deferring
+ * this is too slow to meet timing constraints
+ * under load.
+ */
+ ath_beacon_proc(sc, 0);
+ }
if (status & HAL_INT_BMISS) {
sc->sc_stats.ast_bmiss++;
taskqueue_enqueue(taskqueue_swi, &sc->sc_bmisstask);
@@ -1507,14 +1518,18 @@
if (bf->bf_node == ni)
bf->bf_node = NULL;
}
- free(ni, M_DEVBUF);
+ (*sc->sc_node_free)(ic, ni);
}
static void
ath_node_copy(struct ieee80211com *ic,
struct ieee80211_node *dst, const struct ieee80211_node *src)
{
- *(struct ath_node *)dst = *(const struct ath_node *)src;
+ struct ath_softc *sc = ic->ic_if.if_softc;
+
+ memcpy(&dst[1], &src[1],
+ sizeof(struct ath_node) - sizeof(struct ieee80211_node));
+ (*sc->sc_node_copy)(ic, dst, src);
}
==== //depot/projects/netperf_socket/sys/dev/ath/if_ath_pci.c#3 (text+ko) ====
@@ -1,5 +1,5 @@
/*-
- * Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting
+ * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -35,7 +35,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath_pci.c,v 1.7 2004/03/17 17:50:27 njl Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath_pci.c,v 1.8 2004/04/02 23:57:10 sam Exp $");
/*
* PCI/Cardbus front-end for the Atheros Wireless LAN controller driver.
==== //depot/projects/netperf_socket/sys/dev/ath/if_athioctl.h#2 (text+ko) ====
@@ -1,5 +1,5 @@
/*-
- * Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting
+ * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -33,7 +33,7 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGES.
*
- * $FreeBSD: src/sys/dev/ath/if_athioctl.h,v 1.5 2003/12/28 07:00:32 sam Exp $
+ * $FreeBSD: src/sys/dev/ath/if_athioctl.h,v 1.7 2004/04/02 23:57:10 sam Exp $
*/
/*
@@ -70,6 +70,8 @@
u_int32_t ast_tx_rts; /* tx frames with rts enabled */
u_int32_t ast_tx_cts; /* tx frames with cts enabled */
u_int32_t ast_tx_shortpre;/* tx frames with short preamble */
+ u_int32_t ast_tx_altrate; /* tx frames with alternate rate */
+ u_int32_t ast_tx_protect; /* tx frames with protection */
u_int32_t ast_rx_nombuf; /* rx setup failed 'cuz no mbuf */
u_int32_t ast_rx_busdma; /* rx setup failed for dma resrcs */
u_int32_t ast_rx_orn; /* rx failed 'cuz of desc overrun */
@@ -79,6 +81,7 @@
u_int32_t ast_rx_phyerr; /* rx failed 'cuz of PHY err */
u_int32_t ast_rx_phy[32]; /* rx PHY error per-code counts */
u_int32_t ast_rx_tooshort;/* rx discarded 'cuz frame too short */
+ u_int32_t ast_rx_toobig; /* rx discarded 'cuz frame too large */
u_int32_t ast_rx_ctl; /* rx discarded 'cuz ctl frame */
u_int32_t ast_be_nombuf; /* beacon setup failed 'cuz no mbuf */
u_int32_t ast_per_cal; /* periodic calibration calls */
==== //depot/projects/netperf_socket/sys/dev/ath/if_athvar.h#3 (text+ko) ====
@@ -1,5 +1,5 @@
/*-
- * Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting
+ * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -33,7 +33,7 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGES.
*
- * $FreeBSD: src/sys/dev/ath/if_athvar.h,v 1.11 2004/04/01 00:38:45 sam Exp $
+ * $FreeBSD: src/sys/dev/ath/if_athvar.h,v 1.14 2004/04/03 03:33:02 sam Exp $
*/
/*
@@ -93,6 +93,11 @@
struct ieee80211com sc_ic; /* IEEE 802.11 common */
int (*sc_newstate)(struct ieee80211com *,
enum ieee80211_state, int);
+ void (*sc_node_free)(struct ieee80211com *,
+ struct ieee80211_node *);
+ void (*sc_node_copy)(struct ieee80211com *,
+ struct ieee80211_node *,
+ const struct ieee80211_node *);
device_t sc_dev;
bus_space_tag_t sc_st; /* bus space tag */
bus_space_handle_t sc_sh; /* bus space handle */
@@ -147,7 +152,6 @@
u_int sc_bhalq; /* HAL q for outgoing beacons */
struct ath_buf *sc_bcbuf; /* beacon buffer */
struct ath_buf *sc_bufptr; /* allocated buffer ptr */
- struct task sc_swbatask; /* swba int processing */
struct task sc_bmisstask; /* bmiss int processing */
struct callout sc_cal_ch; /* callout handle for cals */
==== //depot/projects/netperf_socket/sys/dev/kbd/kbd.c#3 (text+ko) ====
@@ -26,7 +26,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/kbd/kbd.c,v 1.39 2004/02/21 21:10:43 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/kbd/kbd.c,v 1.41 2004/04/02 16:41:16 des Exp $");
#include "opt_kbd.h"
@@ -56,7 +56,7 @@
} genkbd_softc_t;
static SLIST_HEAD(, keyboard_driver) keyboard_drivers =
- SLIST_HEAD_INITIALIZER(keyboard_drivers);
+ SLIST_HEAD_INITIALIZER(keyboard_drivers);
SET_DECLARE(kbddriver_set, const keyboard_driver_t);
@@ -94,14 +94,14 @@
new_kbd = malloc(sizeof(*new_kbd)*newsize, M_DEVBUF, M_NOWAIT|M_ZERO);
if (new_kbd == NULL) {
splx(s);
- return ENOMEM;
+ return (ENOMEM);
}
new_kbdsw = malloc(sizeof(*new_kbdsw)*newsize, M_DEVBUF,
M_NOWAIT|M_ZERO);
if (new_kbdsw == NULL) {
free(new_kbd, M_DEVBUF);
splx(s);
- return ENOMEM;
+ return (ENOMEM);
}
bcopy(keyboard, new_kbd, sizeof(*keyboard)*keyboards);
bcopy(kbdsw, new_kbdsw, sizeof(*kbdsw)*keyboards);
@@ -117,7 +117,7 @@
if (bootverbose)
printf("kbd: new array size %d\n", keyboards);
- return 0;
+ return (0);
}
/*
@@ -166,9 +166,9 @@
kbd_add_driver(keyboard_driver_t *driver)
{
if (SLIST_NEXT(driver, link))
- return EINVAL;
+ return (EINVAL);
SLIST_INSERT_HEAD(&keyboard_drivers, driver, link);
- return 0;
+ return (0);
}
int
@@ -176,7 +176,7 @@
{
SLIST_REMOVE(&keyboard_drivers, driver, keyboard_driver, link);
SLIST_NEXT(driver, link) = NULL;
- return 0;
+ return (0);
}
/* register a keyboard and associate it with a function table */
@@ -193,7 +193,7 @@
}
if (index >= keyboards) {
if (kbd_realloc_array())
- return -1;
+ return (-1);
}
kbd->kb_index = index;
@@ -208,7 +208,7 @@
if (strcmp(p->name, kbd->kb_name) == 0) {
keyboard[index] = kbd;
kbdsw[index] = p->kbdsw;
- return index;
+ return (index);
}
}
SET_FOREACH(list, kbddriver_set) {
@@ -216,11 +216,11 @@
if (strcmp(p->name, kbd->kb_name) == 0) {
keyboard[index] = kbd;
kbdsw[index] = p->kbdsw;
- return index;
+ return (index);
}
}
- return -1;
+ return (-1);
}
int
@@ -230,21 +230,21 @@
int s;
if ((kbd->kb_index < 0) || (kbd->kb_index >= keyboards))
- return ENOENT;
+ return (ENOENT);
if (keyboard[kbd->kb_index] != kbd)
- return ENOENT;
+ return (ENOENT);
s = spltty();
if (KBD_IS_BUSY(kbd)) {
error = (*kbd->kb_callback.kc_func)(kbd, KBDIO_UNLOADING,
- kbd->kb_callback.kc_arg);
+ kbd->kb_callback.kc_arg);
if (error) {
splx(s);
- return error;
+ return (error);
}
if (KBD_IS_BUSY(kbd)) {
splx(s);
- return EBUSY;
+ return (EBUSY);
}
}
KBD_INVALID(kbd);
@@ -252,7 +252,7 @@
kbdsw[kbd->kb_index] = NULL;
splx(s);
- return 0;
+ return (0);
}
/* find a funciton table by the driver name */
@@ -264,15 +264,15 @@
SLIST_FOREACH(p, &keyboard_drivers, link) {
if (strcmp(p->name, driver) == 0)
- return p->kbdsw;
+ return (p->kbdsw);
}
SET_FOREACH(list, kbddriver_set) {
p = *list;
if (strcmp(p->name, driver) == 0)
- return p->kbdsw;
+ return (p->kbdsw);
}
- return NULL;
+ return (NULL);
}
/*
@@ -297,9 +297,9 @@
continue;
if ((unit != -1) && (keyboard[i]->kb_unit != unit))
continue;
- return i;
+ return (i);
}
- return -1;
+ return (-1);
}
/* allocate a keyboard */
@@ -311,14 +311,14 @@
int s;
if (func == NULL)
- return -1;
+ return (-1);
s = spltty();
index = kbd_find_keyboard(driver, unit);
if (index >= 0) {
if (KBD_IS_BUSY(keyboard[index])) {
splx(s);
- return -1;
+ return (-1);
}
keyboard[index]->kb_token = id;
KBD_BUSY(keyboard[index]);
@@ -327,7 +327,7 @@
(*kbdsw[index]->clear_state)(keyboard[index]);
}
splx(s);
- return index;
+ return (index);
}
int
@@ -350,7 +350,7 @@
error = 0;
}
splx(s);
- return error;
+ return (error);
}
int
@@ -373,7 +373,7 @@
error = 0;
}
splx(s);
- return error;
+ return (error);
}
/* get a keyboard structure */
@@ -381,12 +381,12 @@
*kbd_get_keyboard(int index)
{
if ((index < 0) || (index >= keyboards))
- return NULL;
+ return (NULL);
if (keyboard[index] == NULL)
- return NULL;
+ return (NULL);
if (!KBD_IS_VALID(keyboard[index]))
- return NULL;
- return keyboard[index];
+ return (NULL);
+ return (keyboard[index]);
}
/*
@@ -411,7 +411,7 @@
(*p->configure)(flags);
}
- return 0;
+ return (0);
}
#ifdef KBD_INSTALL_CDEV
@@ -449,17 +449,17 @@
{
if (kbd->kb_index >= keyboards)
- return EINVAL;
+ return (EINVAL);
if (keyboard[kbd->kb_index] != kbd)
- return EINVAL;
+ return (EINVAL);
- kbd->kb_dev = make_dev(&kbd_cdevsw, kbd->kb_index, UID_ROOT, GID_WHEEL, 0600,
- "%s%r", kbd->kb_name, kbd->kb_unit);
+ kbd->kb_dev = make_dev(&kbd_cdevsw, kbd->kb_index, UID_ROOT, GID_WHEEL,
+ 0600, "%s%r", kbd->kb_name, kbd->kb_unit);
make_dev_alias(kbd->kb_dev, "kbd%r", kbd->kb_index);
kbd->kb_dev->si_drv1 = malloc(sizeof(genkbd_softc_t), M_DEVBUF,
- M_WAITOK | M_ZERO);
+ M_WAITOK | M_ZERO);
printf("kbd%d at %s%d\n", kbd->kb_index, kbd->kb_name, kbd->kb_unit);
- return 0;
+ return (0);
}
int
@@ -467,14 +467,14 @@
{
if (kbd->kb_index >= keyboards)
- return EINVAL;
+ return (EINVAL);
if (keyboard[kbd->kb_index] != kbd)
- return EINVAL;
+ return (EINVAL);
free(kbd->kb_dev->si_drv1, M_DEVBUF);
destroy_dev(kbd->kb_dev);
- return 0;
+ return (0);
}
/*
@@ -501,13 +501,13 @@
kbd = kbd_get_keyboard(KBD_INDEX(dev));
if ((sc == NULL) || (kbd == NULL) || !KBD_IS_VALID(kbd)) {
splx(s);
- return ENXIO;
+ return (ENXIO);
}
i = kbd_allocate(kbd->kb_name, kbd->kb_unit, sc,
- genkbd_event, (void *)sc);
+ genkbd_event, (void *)sc);
if (i < 0) {
splx(s);
- return EBUSY;
+ return (EBUSY);
}
/* assert(i == kbd->kb_index) */
/* assert(kbd == kbd_get_keyboard(i)) */
@@ -523,7 +523,7 @@
clist_alloc_cblocks(&sc->gkb_q, KB_QSIZE, KB_QSIZE/2); /* XXX */
splx(s);
- return 0;
+ return (0);
}
static int
@@ -549,7 +549,7 @@
#endif
}
splx(s);
- return 0;
+ return (0);
}
static int
@@ -568,24 +568,24 @@
kbd = kbd_get_keyboard(KBD_INDEX(dev));
if ((sc == NULL) || (kbd == NULL) || !KBD_IS_VALID(kbd)) {
splx(s);
- return ENXIO;
+ return (ENXIO);
}
while (sc->gkb_q.c_cc == 0) {
if (flag & IO_NDELAY) {
splx(s);
- return EWOULDBLOCK;
+ return (EWOULDBLOCK);
}
sc->gkb_flags |= KB_ASLEEP;
error = tsleep(sc, PZERO | PCATCH, "kbdrea", 0);
kbd = kbd_get_keyboard(KBD_INDEX(dev));
if ((kbd == NULL) || !KBD_IS_VALID(kbd)) {
splx(s);
- return ENXIO; /* our keyboard has gone... */
+ return (ENXIO); /* our keyboard has gone... */
}
if (error) {
sc->gkb_flags &= ~KB_ASLEEP;
splx(s);
- return error;
+ return (error);
}
}
splx(s);
@@ -602,7 +602,7 @@
break;
}
- return error;
+ return (error);
}
static int
@@ -612,8 +612,8 @@
kbd = kbd_get_keyboard(KBD_INDEX(dev));
if ((kbd == NULL) || !KBD_IS_VALID(kbd))
- return ENXIO;
- return ENODEV;
+ return (ENXIO);
+ return (ENODEV);
}
static int
@@ -624,11 +624,11 @@
kbd = kbd_get_keyboard(KBD_INDEX(dev));
if ((kbd == NULL) || !KBD_IS_VALID(kbd))
- return ENXIO;
+ return (ENXIO);
error = (*kbdsw[kbd->kb_index]->ioctl)(kbd, cmd, arg);
if (error == ENOIOCTL)
error = ENODEV;
- return error;
+ return (error);
}
static int
@@ -652,7 +652,7 @@
selrecord(td, &sc->gkb_rsel);
}
splx(s);
- return revents;
+ return (revents);
}
static int
@@ -678,9 +678,9 @@
wakeup(sc);
}
selwakeuppri(&sc->gkb_rsel, PZERO);
- return 0;
+ return (0);
default:
- return EINVAL;
+ return (EINVAL);
}
/* obtain the current key input mode */
@@ -733,7 +733,7 @@
break;
case FKEY | SPCLKEY: /* a function key, return string */
cp = (*kbdsw[kbd->kb_index]->get_fkeystr)(kbd,
- KEYCHAR(c), &len);
+ KEYCHAR(c), &len);
if (cp != NULL) {
while (len-- > 0)
putc(*cp++, &sc->gkb_q);
@@ -751,7 +751,7 @@
selwakeuppri(&sc->gkb_rsel, PZERO);
}
- return 0;
+ return (0);
}
#endif /* KBD_INSTALL_CDEV */
@@ -786,7 +786,7 @@
case KDGKBINFO: /* get keyboard information */
((keyboard_info_t *)arg)->kb_index = kbd->kb_index;
i = imin(strlen(kbd->kb_name) + 1,
- sizeof(((keyboard_info_t *)arg)->kb_name));
+ sizeof(((keyboard_info_t *)arg)->kb_name));
bcopy(kbd->kb_name, ((keyboard_info_t *)arg)->kb_name, i);
((keyboard_info_t *)arg)->kb_unit = kbd->kb_unit;
((keyboard_info_t *)arg)->kb_type = kbd->kb_type;
@@ -800,7 +800,7 @@
case KDGETREPEAT: /* get keyboard repeat rate */
((int *)arg)[0] = kbd->kb_delay1;
- ((int *)arg)[1] = kbd->kb_delay2;
+ ((int *)arg)[1] = kbd->kb_delay2;
break;
case GIO_KEYMAP: /* get keyboard translation table */
@@ -812,46 +812,46 @@
curthread);
if (error != 0) {
splx(s);
- return error;
+ return (error);
}
bzero(kbd->kb_accentmap, sizeof(*kbd->kb_accentmap));
bcopy(arg, kbd->kb_keymap, sizeof(*kbd->kb_keymap));
break;
#else
splx(s);
- return ENODEV;
+ return (ENODEV);
#endif
case GIO_KEYMAPENT: /* get keyboard translation table entry */
keyp = (keyarg_t *)arg;
- if (keyp->keynum >= sizeof(kbd->kb_keymap->key)
- /sizeof(kbd->kb_keymap->key[0])) {
+ if (keyp->keynum >= sizeof(kbd->kb_keymap->key) /
+ sizeof(kbd->kb_keymap->key[0])) {
splx(s);
- return EINVAL;
+ return (EINVAL);
}
bcopy(&kbd->kb_keymap->key[keyp->keynum], &keyp->key,
- sizeof(keyp->key));
+ sizeof(keyp->key));
break;
case PIO_KEYMAPENT: /* set keyboard translation table entry */
#ifndef KBD_DISABLE_KEYMAP_LOAD
keyp = (keyarg_t *)arg;
- if (keyp->keynum >= sizeof(kbd->kb_keymap->key)
- /sizeof(kbd->kb_keymap->key[0])) {
+ if (keyp->keynum >= sizeof(kbd->kb_keymap->key) /
+ sizeof(kbd->kb_keymap->key[0])) {
splx(s);
- return EINVAL;
+ return (EINVAL);
}
error = key_change_ok(&kbd->kb_keymap->key[keyp->keynum],
&keyp->key, curthread);
if (error != 0) {
splx(s);
- return error;
+ return (error);
}
bcopy(&keyp->key, &kbd->kb_keymap->key[keyp->keynum],
- sizeof(keyp->key));
+ sizeof(keyp->key));
break;
#else
splx(s);
- return ENODEV;
+ return (ENODEV);
#endif
case GIO_DEADKEYMAP: /* get accent key translation table */
@@ -863,23 +863,23 @@
(accentmap_t *)arg, curthread);
if (error != 0) {
splx(s);
- return error;
+ return (error);
}
bcopy(arg, kbd->kb_accentmap, sizeof(*kbd->kb_accentmap));
break;
#else
splx(s);
- return ENODEV;
+ return (ENODEV);
#endif
case GETFKEY: /* get functionkey string */
fkeyp = (fkeyarg_t *)arg;
if (fkeyp->keynum >= kbd->kb_fkeytab_size) {
splx(s);
- return EINVAL;
+ return (EINVAL);
}
bcopy(kbd->kb_fkeytab[fkeyp->keynum].str, fkeyp->keydef,
- kbd->kb_fkeytab[fkeyp->keynum].len);
+ kbd->kb_fkeytab[fkeyp->keynum].len);
fkeyp->flen = kbd->kb_fkeytab[fkeyp->keynum].len;
break;
case SETFKEY: /* set functionkey string */
@@ -887,30 +887,30 @@
fkeyp = (fkeyarg_t *)arg;
if (fkeyp->keynum >= kbd->kb_fkeytab_size) {
splx(s);
- return EINVAL;
+ return (EINVAL);
}
error = fkey_change_ok(&kbd->kb_fkeytab[fkeyp->keynum],
fkeyp, curthread);
if (error != 0) {
splx(s);
- return error;
+ return (error);
}
kbd->kb_fkeytab[fkeyp->keynum].len = imin(fkeyp->flen, MAXFK);
bcopy(fkeyp->keydef, kbd->kb_fkeytab[fkeyp->keynum].str,
- kbd->kb_fkeytab[fkeyp->keynum].len);
+ kbd->kb_fkeytab[fkeyp->keynum].len);
break;
#else
splx(s);
- return ENODEV;
+ return (ENODEV);
#endif
default:
splx(s);
- return ENOIOCTL;
+ return (ENOIOCTL);
}
splx(s);
- return 0;
+ return (0);
}
#ifndef KBD_DISABLE_KEYMAP_LOAD
@@ -928,7 +928,7 @@
/* Low keymap_restrict_change means any changes are OK. */
if (keymap_restrict_change <= 0)
- return 0;
+ return (0);
/* High keymap_restrict_change means only root can change the keymap. */
if (keymap_restrict_change >= 2) {
@@ -939,7 +939,7 @@
return suser(td);
if (oldkey->flgs != newkey->flgs)
return suser(td);
- return 0;
+ return (0);
}
/* Otherwise we have to see if any special keys are being changed. */
@@ -956,7 +956,7 @@
return suser(td);
}
- return 0;
+ return (0);
}
static int
@@ -967,9 +967,9 @@
for (keycode = 0; keycode < NUM_KEYS; keycode++) {
if ((error = key_change_ok(&oldmap->key[keycode],
&newmap->key[keycode], td)) != 0)
- return error;
+ return (error);
}
- return 0;
+ return (0);
}
static int
@@ -979,7 +979,7 @@
int accent, i;
if (keymap_restrict_change <= 2)
- return 0;
+ return (0);
if (oldmap->n_accs != newmap->n_accs)
return suser(td);
@@ -999,20 +999,20 @@
}
}
- return 0;
+ return (0);
}
static int
fkey_change_ok(fkeytab_t *oldkey, fkeyarg_t *newkey, struct thread *td)
{
if (keymap_restrict_change <= 3)
- return 0;
+ return (0);
if (oldkey->len != newkey->flen ||
bcmp(oldkey->str, newkey->keydef, oldkey->len) != 0)
return suser(td);
- return 0;
+ return (0);
}
#endif
@@ -1021,12 +1021,12 @@
*genkbd_get_fkeystr(keyboard_t *kbd, int fkey, size_t *len)
{
if (kbd == NULL)
- return NULL;
+ return (NULL);
fkey -= F_FN;
if (fkey > kbd->kb_fkeytab_size)
- return NULL;
+ return (NULL);
*len = kbd->kb_fkeytab[fkey].len;
- return kbd->kb_fkeytab[fkey].str;
+ return (kbd->kb_fkeytab[fkey].str);
}
/* diagnostic dump */
@@ -1045,22 +1045,22 @@
for (i = 0; i < sizeof(name_table)/sizeof(name_table[0]); ++i) {
if (type == name_table[i].type)
- return name_table[i].name;
+ return (name_table[i].name);
}
- return "unknown";
+ return ("unknown");
}
void
genkbd_diag(keyboard_t *kbd, int level)
{
if (level > 0) {
- printf("kbd%d: %s%d, %s (%d), config:0x%x, flags:0x%x",
- kbd->kb_index, kbd->kb_name, kbd->kb_unit,
- get_kbd_type_name(kbd->kb_type), kbd->kb_type,
- kbd->kb_config, kbd->kb_flags);
+ printf("kbd%d: %s%d, %s (%d), config:0x%x, flags:0x%x",
+ kbd->kb_index, kbd->kb_name, kbd->kb_unit,
+ get_kbd_type_name(kbd->kb_type), kbd->kb_type,
+ kbd->kb_config, kbd->kb_flags);
if (kbd->kb_io_base > 0)
- printf(", port:0x%x-0x%x", kbd->kb_io_base,
- kbd->kb_io_base + kbd->kb_io_size - 1);
+ printf(", port:0x%x-0x%x", kbd->kb_io_base,
+ kbd->kb_io_base + kbd->kb_io_size - 1);
printf("\n");
}
}
@@ -1085,22 +1085,22 @@
|| (kbd->kb_accentmap->acc[i - 1].accchar == 0)) {
/* the index is out of range or pointing to an empty entry */
*accents = 0;
- return ERRKEY;
+ return (ERRKEY);
}
- /*
- * If the same accent key has been hit twice, produce the accent char
- * itself.
+ /*
+ * If the same accent key has been hit twice, produce the accent
+ * char itself.
*/
if (i == *accents) {
key = kbd->kb_accentmap->acc[i - 1].accchar;
*accents = 0;
- return key;
+ return (key);
}
/* remember the index and wait for the next key */
- *accents = i;
- return NOKEY;
+ *accents = i;
+ return (NOKEY);
}
static u_int
@@ -1112,22 +1112,22 @@
acc = &kbd->kb_accentmap->acc[*accents - 1];
*accents = 0;
- /*
+ /*
* If the accent key is followed by the space key,
* produce the accent char itself.
*/
if (ch == ' ')
- return acc->accchar;
+ return (acc->accchar);
/* scan the accent map */
for (i = 0; i < NUM_ACCENTCHARS; ++i) {
if (acc->map[i][0] == 0) /* end of table */
break;
if (acc->map[i][0] == ch)
- return acc->map[i][1];
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list