card_if.m revision 53855
153855Simp#
253855Simp# Copyright (c) 1999 M. Warner Losh.
353855Simp# All rights reserved.
453855Simp#
553855Simp# Redistribution and use in source and binary forms, with or without
653855Simp# modification, are permitted provided that the following conditions
753855Simp# are met:
853855Simp# 1. Redistributions of source code must retain the above copyright
953855Simp#    notice, this list of conditions and the following disclaimer.
1053855Simp# 2. Redistributions in binary form must reproduce the above copyright
1153855Simp#    notice, this list of conditions and the following disclaimer in the
1253855Simp#    documentation and/or other materials provided with the distribution.
1353855Simp#
1453855Simp# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
1553855Simp# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1653855Simp# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1753855Simp# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
1853855Simp# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
1953855Simp# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2053855Simp# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2153855Simp# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2253855Simp# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
2353855Simp# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
2453855Simp# SUCH DAMAGE.
2553855Simp#
2653855Simp# $FreeBSD: head/sys/dev/pccard/card_if.m 53855 1999-11-28 21:11:13Z imp $
2753855Simp#
2853855Simp
2953855SimpINTERFACE card;
3053855Simp
3153855Simp#
3253855Simp# Companion interface for pccard.  We need to set attributes for memory
3353855Simp# and i/o port mappings (as well as other types of attributes) that have
3453855Simp# a well defined meaning inside the pccard/cardbus system.  The bus
3553855Simp# methods are inadequate for this because this must be done at the time the
3653855Simp# resources are set for the device, which predates their activation.  Also,
3753855Simp# the driver activating the resources doesn't necessarily know or need to know
3853855Simp# these attributes.
3953855Simp#
4053855Simp# XXX A nagging doubt in the back of my mind suggests that these sorts of
4153855Simp# XXX things might be able to be done with ivars.  This nagging doubt doesn't
4253855Simp# XXX offer a good way to actually do this, but remains nonetheless.
4353855Simp#
4453855SimpMETHOD int set_resource_attribute {
4553855Simp	device_t dev;
4653855Simp	device_t child;
4753855Simp	int	*rid;
4853855Simp	u_int	 flags;
4953855Simp};
5053855Simp
5153855SimpMETHOD int get_resource_attribute {
5253855Simp	device_t dev;
5353855Simp	device_t child;
5453855Simp	int	 rid;
5553855Simp	u_int	 *flags;
5653855Simp};
57