From: Ian Abbott Date: Thu, 16 Aug 2012 10:14:18 +0000 (+0100) Subject: staging: comedi: amplc_pc263: add helper functions to check bus type X-Git-Tag: next-20120817~15^2~9 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=d26769446f5389fa5dd5b8745ddc12d4371fc267;p=karo-tx-linux.git staging: comedi: amplc_pc263: add helper functions to check bus type Add inline helper function is_isa_board(board) to check if the driver supports ISA boards and this is an ISA board, and is_pci_board(board) to check if the driver supports PCI boards and this is a PCI board. Signed-off-by: Ian Abbott Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/comedi/drivers/amplc_pc263.c b/drivers/staging/comedi/drivers/amplc_pc263.c index 40ec1ffebba6..a389aea4d2ad 100644 --- a/drivers/staging/comedi/drivers/amplc_pc263.c +++ b/drivers/staging/comedi/drivers/amplc_pc263.c @@ -93,6 +93,20 @@ static const struct pc263_board pc263_boards[] = { #endif }; +/* test if ISA supported and this is an ISA board */ +static inline bool is_isa_board(const struct pc263_board *board) +{ + return IS_ENABLED(CONFIG_COMEDI_AMPLC_PC263_ISA) + && board->bustype == isa_bustype; +} + +/* test if PCI supported and this is a PCI board */ +static inline bool is_pci_board(const struct pc263_board *board) +{ + return IS_ENABLED(CONFIG_COMEDI_AMPLC_PC263_PCI) + && board->bustype == pci_bustype; +} + /* * This function looks for a board matching the supplied PCI device. */ @@ -101,7 +115,7 @@ static const struct pc263_board *pc263_find_pci_board(struct pci_dev *pci_dev) unsigned int i; for (i = 0; i < ARRAY_SIZE(pc263_boards); i++) - if (pc263_boards[i].bustype == pci_bustype && + if (is_pci_board(&pc263_boards[i]) && pci_dev->device == pc263_boards[i].devid) return &pc263_boards[i]; return NULL; @@ -187,11 +201,9 @@ static void pc263_report_attach(struct comedi_device *dev) struct pci_dev *pcidev = comedi_to_pci_dev(dev); char tmpbuf[40]; - if (IS_ENABLED(CONFIG_COMEDI_AMPLC_PC263_ISA) && - thisboard->bustype == isa_bustype) + if (is_isa_board(thisboard)) snprintf(tmpbuf, sizeof(tmpbuf), "(base %#lx) ", dev->iobase); - else if (IS_ENABLED(CONFIG_COMEDI_AMPLC_PC263_PCI) && - thisboard->bustype == pci_bustype) + else if (is_pci_board(thisboard)) snprintf(tmpbuf, sizeof(tmpbuf), "(pci %s) ", pci_name(pcidev)); else @@ -259,15 +271,13 @@ static int pc263_attach(struct comedi_device *dev, struct comedi_devconfig *it) dev_info(dev->class_dev, PC263_DRIVER_NAME ": attach\n"); /* Process options and reserve resources according to bus type. */ - if (IS_ENABLED(CONFIG_COMEDI_AMPLC_PC263_ISA) && - thisboard->bustype == isa_bustype) { + if (is_isa_board(thisboard)) { unsigned long iobase = it->options[0]; ret = pc263_request_region(dev, iobase, PC263_IO_SIZE); if (ret < 0) return ret; return pc263_common_attach(dev, iobase); - } else if (IS_ENABLED(CONFIG_COMEDI_AMPLC_PC263_PCI) && - thisboard->bustype == pci_bustype) { + } else if (is_pci_board(thisboard)) { struct pci_dev *pci_dev; pci_dev = pc263_find_pci_dev(dev, it);