]> git.saurik.com Git - apple/xnu.git/blame_incremental - iokit/Drivers/hidsystem/drvAppleADBDevices/IOADBDevice.cpp
xnu-124.13.tar.gz
[apple/xnu.git] / iokit / Drivers / hidsystem / drvAppleADBDevices / IOADBDevice.cpp
... / ...
CommitLineData
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
30OSDefineMetaClassAndStructors(IOADBDevice,IOService)
31
32// **********************************************************************************
33// init
34//
35// **********************************************************************************
36bool IOADBDevice::init ( OSDictionary * regEntry, ADBDeviceControl * us )
37{
38if( !super::init(regEntry))
39 return false;
40
41fBusRef = us;
42return true;
43}
44
45
46// **********************************************************************************
47// attach
48//
49// **********************************************************************************
50bool IOADBDevice::attach ( IOADBBus * controller )
51{
52if( !super::attach(controller))
53 return false;
54
55bus = controller;
56return true;
57}
58
59// **********************************************************************************
60// matchPropertyTable
61//
62// **********************************************************************************
63
64bool IOADBDevice::matchPropertyTable( OSDictionary * table )
65{
66 return( bus->matchNubWithPropertyTable( this, table ));
67}
68
69// **********************************************************************************
70// seizeForClient
71//
72// **********************************************************************************
73bool IOADBDevice::seizeForClient ( IOService * client, ADB_callback_func handler )
74{
75bus->setOwner(fBusRef,client,handler);
76
77return true;
78}
79
80
81// **********************************************************************************
82// releaseFromClient
83//
84// **********************************************************************************
85void IOADBDevice::releaseFromClient ( IORegistryEntry * )
86{
87 kprintf("IOADBDevice::releaseFromClient\n");
88 bus->clearOwner(fBusRef);
89}
90
91
92// **********************************************************************************
93// flush
94//
95// **********************************************************************************
96IOReturn IOADBDevice::flush ( void )
97{
98return( bus->flush(fBusRef) );
99}
100
101
102// **********************************************************************************
103// readRegister
104//
105// **********************************************************************************
106IOReturn IOADBDevice::readRegister ( IOADBRegister adbRegister, UInt8 * data,
107 IOByteCount * length )
108{
109return( bus->readRegister(fBusRef,adbRegister,data,length) );
110}
111
112
113// **********************************************************************************
114// writeRegister
115//
116// **********************************************************************************
117IOReturn IOADBDevice::writeRegister ( IOADBRegister adbRegister, UInt8 * data,
118 IOByteCount * length )
119{
120return( bus->writeRegister(fBusRef,adbRegister,data,length) );
121}
122
123
124// **********************************************************************************
125// address
126//
127// **********************************************************************************
128IOADBAddress IOADBDevice::address ( void )
129{
130return( bus->address(fBusRef) );
131}
132
133
134// **********************************************************************************
135// defaultAddress
136//
137// **********************************************************************************
138IOADBAddress IOADBDevice::defaultAddress ( void )
139{
140return( bus->defaultAddress(fBusRef) );
141}
142
143
144// **********************************************************************************
145// handlerID
146//
147// **********************************************************************************
148UInt8 IOADBDevice::handlerID ( void )
149{
150return( bus->handlerID(fBusRef) );
151}
152
153
154// **********************************************************************************
155// defaultHandlerID
156//
157// **********************************************************************************
158UInt8 IOADBDevice::defaultHandlerID ( void )
159{
160return( bus->defaultHandlerID(fBusRef) );
161}
162
163
164// **********************************************************************************
165// setHandlerID
166//
167// **********************************************************************************
168IOReturn IOADBDevice::setHandlerID ( UInt8 handlerID )
169{
170return( bus->setHandlerID(fBusRef,handlerID) );
171}
172
173
174// **********************************************************************************
175// busRef
176//
177// **********************************************************************************
178void * IOADBDevice::busRef ( void )
179{
180return fBusRef;
181}