25 |
* SUCH DAMAGE. |
* SUCH DAMAGE. |
26 |
* |
* |
27 |
* |
* |
28 |
* $Id: dev_ohci.c,v 1.10 2007/01/28 00:41:17 debug Exp $ |
* $Id: dev_ohci.c,v 1.11 2007/06/15 19:57:33 debug Exp $ |
29 |
* |
* |
30 |
* USB OHCI (Open Host Controller Interface). |
* COMMENT: USB Open Host Controller Interface |
31 |
* |
* |
32 |
* TODO |
* TODO |
33 |
*/ |
*/ |
60 |
}; |
}; |
61 |
|
|
62 |
|
|
|
/* |
|
|
* dev_ohci_access(): |
|
|
*/ |
|
63 |
DEVICE_ACCESS(ohci) |
DEVICE_ACCESS(ohci) |
64 |
{ |
{ |
65 |
struct ohci_data *d = extra; |
struct ohci_data *d = extra; |
79 |
case OHCI_COMMAND_STATUS: |
case OHCI_COMMAND_STATUS: |
80 |
name = "COMMAND_STATUS"; |
name = "COMMAND_STATUS"; |
81 |
if (idata == 0x2) { |
if (idata == 0x2) { |
82 |
fatal("URK\n"); |
fatal("Hm... OHCI COMMAND STATUS\n"); |
83 |
INTERRUPT_ASSERT(d->irq); |
INTERRUPT_ASSERT(d->irq); |
84 |
} |
} |
85 |
break; |
break; |
151 |
{ |
{ |
152 |
struct ohci_data *d; |
struct ohci_data *d; |
153 |
|
|
154 |
d = malloc(sizeof(struct ohci_data)); |
CHECK_ALLOCATION(d = malloc(sizeof(struct ohci_data))); |
|
if (d == NULL) { |
|
|
fprintf(stderr, "out of memory\n"); |
|
|
exit(1); |
|
|
} |
|
155 |
memset(d, 0, sizeof(struct ohci_data)); |
memset(d, 0, sizeof(struct ohci_data)); |
156 |
|
|
157 |
INTERRUPT_CONNECT(devinit->interrupt_path, d->irq); |
INTERRUPT_CONNECT(devinit->interrupt_path, d->irq); |