X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fbluetooth%2Fbtuart_cs.c;h=ad8d972444a522e682776e97ffbb1fe758df5a06;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=b44fa7dd38c350b07f533a2d3b549e4af2eca9d3;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/drivers/bluetooth/btuart_cs.c b/drivers/bluetooth/btuart_cs.c index b44fa7dd3..ad8d97244 100644 --- a/drivers/bluetooth/btuart_cs.c +++ b/drivers/bluetooth/btuart_cs.c @@ -33,13 +33,14 @@ #include #include #include +#include #include #include #include #include +#include #include -#include #include #include @@ -58,13 +59,6 @@ /* ======================== Module parameters ======================== */ -/* Bit map of interrupts to choose from */ -static u_int irq_mask = 0xffff; -static int irq_list[4] = { -1 }; - -MODULE_PARM(irq_mask, "i"); -MODULE_PARM(irq_list, "1-4i"); - MODULE_AUTHOR("Marcel Holtmann "); MODULE_DESCRIPTION("Bluetooth driver for Bluetooth PCMCIA cards with HCI UART interface"); MODULE_LICENSE("GPL"); @@ -91,14 +85,14 @@ typedef struct btuart_info_t { } btuart_info_t; -void btuart_config(dev_link_t *link); -void btuart_release(dev_link_t *link); -int btuart_event(event_t event, int priority, event_callback_args_t *args); +static void btuart_config(dev_link_t *link); +static void btuart_release(dev_link_t *link); +static int btuart_event(event_t event, int priority, event_callback_args_t *args); static dev_info_t dev_info = "btuart_cs"; -dev_link_t *btuart_attach(void); -void btuart_detach(dev_link_t *); +static dev_link_t *btuart_attach(void); +static void btuart_detach(dev_link_t *); static dev_link_t *dev_list = NULL; @@ -491,7 +485,7 @@ static int btuart_hci_ioctl(struct hci_dev *hdev, unsigned int cmd, unsigned lon /* ======================== Card services HCI interaction ======================== */ -int btuart_open(btuart_info_t *info) +static int btuart_open(btuart_info_t *info) { unsigned long flags; unsigned int iobase = info->link.io.BasePort1; @@ -560,7 +554,7 @@ int btuart_open(btuart_info_t *info) } -int btuart_close(btuart_info_t *info) +static int btuart_close(btuart_info_t *info) { unsigned long flags; unsigned int iobase = info->link.io.BasePort1; @@ -589,12 +583,12 @@ int btuart_close(btuart_info_t *info) return 0; } -dev_link_t *btuart_attach(void) +static dev_link_t *btuart_attach(void) { btuart_info_t *info; client_reg_t client_reg; dev_link_t *link; - int i, ret; + int ret; /* Create new info device */ info = kmalloc(sizeof(*info), GFP_KERNEL); @@ -608,13 +602,7 @@ dev_link_t *btuart_attach(void) link->io.Attributes1 = IO_DATA_PATH_WIDTH_8; link->io.NumPorts1 = 8; link->irq.Attributes = IRQ_TYPE_EXCLUSIVE | IRQ_HANDLE_PRESENT; - link->irq.IRQInfo1 = IRQ_INFO2_VALID | IRQ_LEVEL_ID; - - if (irq_list[0] == -1) - link->irq.IRQInfo2 = irq_mask; - else - for (i = 0; i < 4; i++) - link->irq.IRQInfo2 |= 1 << irq_list[i]; + link->irq.IRQInfo1 = IRQ_LEVEL_ID; link->irq.Handler = btuart_interrupt; link->irq.Instance = info; @@ -627,7 +615,6 @@ dev_link_t *btuart_attach(void) link->next = dev_list; dev_list = link; client_reg.dev_info = &dev_info; - client_reg.Attributes = INFO_IO_CLIENT | INFO_CARD_SHARE; client_reg.EventMask = CS_EVENT_CARD_INSERTION | CS_EVENT_CARD_REMOVAL | CS_EVENT_RESET_PHYSICAL | CS_EVENT_CARD_RESET | @@ -647,7 +634,7 @@ dev_link_t *btuart_attach(void) } -void btuart_detach(dev_link_t *link) +static void btuart_detach(dev_link_t *link) { btuart_info_t *info = link->priv; dev_link_t **linkp; @@ -701,9 +688,9 @@ static int next_tuple(client_handle_t handle, tuple_t *tuple, cisparse_t *parse) return get_tuple(handle, tuple, parse); } -void btuart_config(dev_link_t *link) +static void btuart_config(dev_link_t *link) { - static ioaddr_t base[5] = { 0x3f8, 0x2f8, 0x3e8, 0x2e8, 0x0 }; + static kio_addr_t base[5] = { 0x3f8, 0x2f8, 0x3e8, 0x2e8, 0x0 }; client_handle_t handle = link->handle; btuart_info_t *info = link->priv; tuple_t tuple; @@ -815,7 +802,7 @@ failed: } -void btuart_release(dev_link_t *link) +static void btuart_release(dev_link_t *link) { btuart_info_t *info = link->priv; @@ -832,7 +819,7 @@ void btuart_release(dev_link_t *link) } -int btuart_event(event_t event, int priority, event_callback_args_t *args) +static int btuart_event(event_t event, int priority, event_callback_args_t *args) { dev_link_t *link = args->client_data; btuart_info_t *info = link->priv; @@ -886,10 +873,7 @@ static int __init init_btuart_cs(void) static void __exit exit_btuart_cs(void) { pcmcia_unregister_driver(&btuart_driver); - - /* XXX: this really needs to move into generic code.. */ - while (dev_list != NULL) - btuart_detach(dev_list); + BUG_ON(dev_list != NULL); } module_init(init_btuart_cs);