2 Copyright (C) 2018-2019, The AROS Development Team. All rights reserved.
6 #include <aros/debug.h>
8 #include "bus_intern.h"
10 /*****************************************************************************************
22 Specifies IRQ handler function to be called when bus interrupt arrives.
23 The function should be called using "C" calling convention and has the
26 void bus_HandleIRQ(UBYTE status, APTR userdata);
28 Your driver should pass the following arguments to this function:
29 status - value read from bus status register.
30 userdata - value of aoHidd_Bus_IRQData attribute.
33 Reading the status register is part of the interrupt acknowledge
34 process, and therefore has to be done by the driver.
36 It is driver's job to check whether the interrupt really belongs to
48 *****************************************************************************************/
49 /*****************************************************************************************
61 Caller's private data to be supplied to IRQ handler function.
74 *****************************************************************************************/
75 /*****************************************************************************************
87 If this attribute is set to FALSE during object creation, the object
88 will be destroyed if no devices are detected on the bus.
91 This can be useful for optional buses like legacy ISA controllers,
92 which have no other way to detect their presence.
102 *****************************************************************************************/
104 /*** Bus::New() **************************************************************/
106 OOP_Object
*Bus__Root__New(OOP_Class
*cl
, OOP_Object
*o
, struct pRoot_New
*msg
)
108 D(bug("[Bus] Root__New()\n"));
109 o
= (OOP_Object
*)OOP_DoSuperMethod(cl
, o
, (OOP_Msg
)msg
);
113 D(bug ("[Bus] Root__New: Instance @ 0x%p\n", o
);)
117 /*** Bus::Dispose() **********************************************************/
118 VOID
Bus__Root__Dispose(OOP_Class
*cl
, OOP_Object
*o
, OOP_Msg msg
)
120 D(bug("[Bus] Root__Dispose(0x%p)\n", o
));
121 OOP_DoSuperMethod(cl
, o
, msg
);