1/*- 2 * vkbd.c 3 * 4 * Copyright (c) 2004 Maksim Yevmenkin <m_evmenkin@yahoo.com> 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions --- 12 unchanged lines hidden (view full) --- 21 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26 * SUCH DAMAGE. 27 * 28 * $Id: vkbd.c,v 1.20 2004/11/15 23:53:30 max Exp $ |
29 * $FreeBSD: head/sys/dev/vkbd/vkbd.c 144389 2005-03-31 12:19:44Z phk $ |
30 */ 31 32#include "opt_kbd.h" 33 34#include <sys/param.h> 35#include <sys/conf.h> 36#include <sys/fcntl.h> 37#include <sys/kbio.h> --- 125 unchanged lines hidden (view full) --- 163 unit = -1; 164 else if (dev_stdclone(name, NULL, DEVICE_NAME, &unit) != 1) 165 return; /* don't recognize the name */ 166 167 /* find any existing device, or allocate new unit number */ 168 if (clone_create(&vkbd_dev_clones, &vkbd_dev_cdevsw, &unit, dev, 0)) { 169 *dev = make_dev(&vkbd_dev_cdevsw, unit2minor(unit), 170 UID_ROOT, GID_WHEEL, 0600, DEVICE_NAME "%d", unit); |
171 if (*dev != NULL) { 172 dev_ref(*dev); |
173 (*dev)->si_flags |= SI_CHEAPCLONE; |
174 } |
175 } 176} 177 178/* Open device */ 179static int 180vkbd_dev_open(struct cdev *dev, int flag, int mode, struct thread *td) 181{ 182 int unit = dev2unit(dev), error; --- 1154 unchanged lines hidden --- |