diff options
author | marius <marius@FreeBSD.org> | 2005-06-10 20:56:38 +0000 |
---|---|---|
committer | marius <marius@FreeBSD.org> | 2005-06-10 20:56:38 +0000 |
commit | 9afc57a1d6b7a82c8cce67a9b6da734e64da5fef (patch) | |
tree | 73faadc85aaf50514c90a2b39f6e6c558347a47d /sys/dev/atkbdc/atkbdc_subr.h | |
parent | a23214e059e07a8642c27d57c541ce60479d3d53 (diff) | |
download | FreeBSD-src-9afc57a1d6b7a82c8cce67a9b6da734e64da5fef.zip FreeBSD-src-9afc57a1d6b7a82c8cce67a9b6da734e64da5fef.tar.gz |
- Hook up the new locations of the atkbdc(4), atkbd(4) and psm(4) source
files after they were repo-copied to sys/dev/atkbdc. The sources of
atkbdc(4) and its children were moved to the new location in preparation
for adding an EBus front-end to atkbdc(4) for use on sparc64; i.e. in
order to not further scatter them over the whole tree which would have
been the result of adding atkbdc_ebus.c in e.g. sys/sparc64/ebus. Another
reason for the repo-copies was that some of the sources were misfiled,
e.g. sys/isa/atkbd_isa.c wasn't ISA-specific at all but for hanging
atkbd(4) off of atkbdc(4) and was renamed to atkbd_atkbdc.c accordingly.
Most of sys/isa/psm.c, i.e. expect for its PSMC PNP part, also isn't
ISA-specific.
- Separate the parts of atkbdc_isa.c which aren't actually ISA-specific
but are shareable between different atkbdc(4) bus front-ends into
atkbdc_subr.c (repo-copied from atkbdc_isa.c). While here use
bus_generic_rl_alloc_resource() and bus_generic_rl_release_resource()
respectively in atkbdc_isa.c instead of rolling own versions.
- Add sparc64 MD bits to atkbdc(4) and atkbd(4) and an EBus front-end for
atkbdc(4). PS/2 controllers and input devices are used on a couple of
Sun OEM boards and occur on either the EBus or the ISA bus. Depending on
the board it's either the only on-board mean to connect a keyboard and
mouse or an alternative to either RS232 or USB devices.
- Wrap the PSMC PNP part of psm.c in #ifdef DEV_ISA so it can be compiled
without isa(4) (e.g. for EBus-only machines). This ISA-specific part
isn't separated into its own source file, yet, as it requires more work
than was feasible for 6.0 in order to do it in a clean way. Actually
philip@ is working on a rewrite of psm(4) so a more comprehensive
clean-up and separation of hardware dependent and independent parts is
expected to happen after 6.0.
Tested on: i386, sparc64 (AX1105, AXe and AXi boards)
Reviewed by: philip
Diffstat (limited to 'sys/dev/atkbdc/atkbdc_subr.h')
-rw-r--r-- | sys/dev/atkbdc/atkbdc_subr.h | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/sys/dev/atkbdc/atkbdc_subr.h b/sys/dev/atkbdc/atkbdc_subr.h new file mode 100644 index 0000000..fa8f1f8 --- /dev/null +++ b/sys/dev/atkbdc/atkbdc_subr.h @@ -0,0 +1,53 @@ +/*- + * Copyright (c) 1999 Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp> + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer as + * the first lines of this file unmodified. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * from: FreeBSD: src/sys/isa/atkbdc_isa.c,v 1.31 2005/05/29 04:42:28 nyan Exp + * $FreeBSD$ + */ + +#ifndef _DEV_ATKBDC_ATKBDC_SUBR_H_ +#define _DEV_ATKBDC_ATKBDC_SUBR_H_ + +MALLOC_DECLARE(M_ATKBDDEV); + +extern devclass_t atkbdc_devclass; + +/* children */ +typedef struct atkbdc_device { + struct resource_list resources; + int rid; + u_int32_t vendorid; + u_int32_t serial; + u_int32_t logicalid; + u_int32_t compatid; +} atkbdc_device_t; + +/* kbdc */ +int atkbdc_print_child(device_t bus, device_t dev); +int atkbdc_read_ivar(device_t bus, device_t dev, int index, uintptr_t *val); +int atkbdc_write_ivar(device_t bus, device_t dev, int index, uintptr_t val); +struct resource_list *atkbdc_get_resource_list(device_t bus, device_t dev); + +#endif /* !_DEV_ATKBDC_ATKBDC_SUBR_H_ */ |