Initial attempt at updating to utilize (un)reserve_device.
Compiles but otherwise untested. Relates to #6798. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39335 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -514,6 +514,7 @@ init_driver(void)
|
|||||||
{
|
{
|
||||||
pci_info info;
|
pci_info info;
|
||||||
int ix = 0;
|
int ix = 0;
|
||||||
|
status_t err;
|
||||||
|
|
||||||
num_cards = 0;
|
num_cards = 0;
|
||||||
|
|
||||||
@@ -547,8 +548,21 @@ init_driver(void)
|
|||||||
}
|
}
|
||||||
memset(&cards[num_cards], 0, sizeof(cmedia_pci_dev));
|
memset(&cards[num_cards], 0, sizeof(cmedia_pci_dev));
|
||||||
cards[num_cards].info = info;
|
cards[num_cards].info = info;
|
||||||
|
#ifdef __HAIKU__
|
||||||
|
if ((err = (*pci->reserve_device)(info.bus, info.device, info.function,
|
||||||
|
DRIVER_NAME, &cards[num_cards])) < B_OK) {
|
||||||
|
dprintf("%s: failed to reserve_device(%d, %d, %d,): %s\n",
|
||||||
|
DRIVER_NAME, info.bus, info.device, info.function,
|
||||||
|
strerror(err));
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
if (setup_cmedia_pci(&cards[num_cards])) {
|
if (setup_cmedia_pci(&cards[num_cards])) {
|
||||||
dprintf("Setup of C-Media %ld failed\n", num_cards+1);
|
dprintf("Setup of C-Media %ld failed\n", num_cards+1);
|
||||||
|
#ifdef __HAIKU__
|
||||||
|
(*pci->unreserve_device)(info.bus, info.device, info.function,
|
||||||
|
DRIVER_NAME, &cards[num_cards]);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
num_cards++;
|
num_cards++;
|
||||||
|
|||||||
@@ -25,6 +25,8 @@
|
|||||||
#define CMEDIA_PCI_JOYSTICK_MIN_LATENCY 5000 /* 200 times a second! */
|
#define CMEDIA_PCI_JOYSTICK_MIN_LATENCY 5000 /* 200 times a second! */
|
||||||
#define CMEDIA_PCI_JOYSTICK_MAX_LATENCY 100000 /* 10 times a second */
|
#define CMEDIA_PCI_JOYSTICK_MAX_LATENCY 100000 /* 10 times a second */
|
||||||
|
|
||||||
|
#define DRIVER_NAME "cmedia"
|
||||||
|
|
||||||
typedef struct joystick cmedia_pci_joystick;
|
typedef struct joystick cmedia_pci_joystick;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user