|
|
1.1 root 1: /*
2: * Copyright (c) 1998-2000 Apple Computer, Inc. All rights reserved.
3: *
4: * @APPLE_LICENSE_HEADER_START@
5: *
6: * The contents of this file constitute Original Code as defined in and
7: * are subject to the Apple Public Source License Version 1.1 (the
8: * "License"). You may not use this file except in compliance with the
9: * License. Please obtain a copy of the License at
10: * http://www.apple.com/publicsource and read it before using this file.
11: *
12: * This Original Code and all software distributed under the License are
13: * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
14: * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
15: * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
16: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
17: * License for the specific language governing rights and limitations
18: * under the License.
19: *
20: * @APPLE_LICENSE_HEADER_END@
21: */
22: /*
23: * 18 June 1998 sdouglas Start IOKit version.
24: * 17 Nov 1998 suurballe Port objc to c++
25: */
26:
27: #include <IOKit/adb/IOADBDevice.h>
28:
29: #define super IOService
30: OSDefineMetaClassAndStructors(IOADBDevice,IOService)
31:
32: // **********************************************************************************
33: // init
34: //
35: // **********************************************************************************
36: bool IOADBDevice::init ( OSDictionary * regEntry, ADBDeviceControl * us )
37: {
38: if( !super::init(regEntry))
39: return false;
40:
41: fBusRef = us;
42: return true;
43: }
44:
45:
46: // **********************************************************************************
47: // attach
48: //
49: // **********************************************************************************
50: bool IOADBDevice::attach ( IOADBBus * controller )
51: {
52: if( !super::attach(controller))
53: return false;
54:
55: bus = controller;
56: return true;
57: }
58:
59: // **********************************************************************************
60: // matchPropertyTable
61: //
62: // **********************************************************************************
63:
64: bool IOADBDevice::matchPropertyTable( OSDictionary * table )
65: {
66: return( bus->matchNubWithPropertyTable( this, table ));
67: }
68:
69: // **********************************************************************************
70: // seizeForClient
71: //
72: // **********************************************************************************
73: bool IOADBDevice::seizeForClient ( IOService * client, ADB_callback_func handler )
74: {
75: bus->setOwner(fBusRef,client,handler);
76:
77: return true;
78: }
79:
80:
81: // **********************************************************************************
82: // releaseFromClient
83: //
84: // **********************************************************************************
85: void IOADBDevice::releaseFromClient ( IORegistryEntry * )
86: {
87: kprintf("IOADBDevice::releaseFromClient\n");
88: bus->clearOwner(fBusRef);
89: }
90:
91:
92: // **********************************************************************************
93: // flush
94: //
95: // **********************************************************************************
96: IOReturn IOADBDevice::flush ( void )
97: {
98: return( bus->flush(fBusRef) );
99: }
100:
101:
102: // **********************************************************************************
103: // readRegister
104: //
105: // **********************************************************************************
106: IOReturn IOADBDevice::readRegister ( IOADBRegister adbRegister, UInt8 * data,
107: IOByteCount * length )
108: {
109: return( bus->readRegister(fBusRef,adbRegister,data,length) );
110: }
111:
112:
113: // **********************************************************************************
114: // writeRegister
115: //
116: // **********************************************************************************
117: IOReturn IOADBDevice::writeRegister ( IOADBRegister adbRegister, UInt8 * data,
118: IOByteCount * length )
119: {
120: return( bus->writeRegister(fBusRef,adbRegister,data,length) );
121: }
122:
123:
124: // **********************************************************************************
125: // address
126: //
127: // **********************************************************************************
128: IOADBAddress IOADBDevice::address ( void )
129: {
130: return( bus->address(fBusRef) );
131: }
132:
133:
134: // **********************************************************************************
135: // defaultAddress
136: //
137: // **********************************************************************************
138: IOADBAddress IOADBDevice::defaultAddress ( void )
139: {
140: return( bus->defaultAddress(fBusRef) );
141: }
142:
143:
144: // **********************************************************************************
145: // handlerID
146: //
147: // **********************************************************************************
148: UInt8 IOADBDevice::handlerID ( void )
149: {
150: return( bus->handlerID(fBusRef) );
151: }
152:
153:
154: // **********************************************************************************
155: // defaultHandlerID
156: //
157: // **********************************************************************************
158: UInt8 IOADBDevice::defaultHandlerID ( void )
159: {
160: return( bus->defaultHandlerID(fBusRef) );
161: }
162:
163:
164: // **********************************************************************************
165: // setHandlerID
166: //
167: // **********************************************************************************
168: IOReturn IOADBDevice::setHandlerID ( UInt8 handlerID )
169: {
170: return( bus->setHandlerID(fBusRef,handlerID) );
171: }
172:
173:
174: // **********************************************************************************
175: // busRef
176: //
177: // **********************************************************************************
178: void * IOADBDevice::busRef ( void )
179: {
180: return fBusRef;
181: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.