From 409861ff73c1bde35993da3d2b976ec8b9c107ea Mon Sep 17 00:00:00 2001 From: Ian Abbott Date: Thu, 16 Aug 2012 12:24:08 +0100 Subject: [PATCH] staging: comedi: amplc_pc236: 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 --- drivers/staging/comedi/drivers/amplc_pc236.c | 30 +++++++++++++------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/drivers/staging/comedi/drivers/amplc_pc236.c b/drivers/staging/comedi/drivers/amplc_pc236.c index aabba9886b7d..5a81cf3affe3 100644 --- a/drivers/staging/comedi/drivers/amplc_pc236.c +++ b/drivers/staging/comedi/drivers/amplc_pc236.c @@ -135,6 +135,20 @@ struct pc236_private { int enable_irq; }; +/* test if ISA supported and this is an ISA board */ +static inline bool is_isa_board(const struct pc236_board *board) +{ + return IS_ENABLED(CONFIG_COMEDI_AMPLC_PC236_ISA) + && board->bustype == isa_bustype; +} + +/* test if PCI supported and this is a PCI board */ +static inline bool is_pci_board(const struct pc236_board *board) +{ + return IS_ENABLED(CONFIG_COMEDI_AMPLC_PC236_PCI) + && board->bustype == pci_bustype; +} + /* * This function looks for a board matching the supplied PCI device. */ @@ -143,7 +157,7 @@ static const struct pc236_board *pc236_find_pci_board(struct pci_dev *pci_dev) unsigned int i; for (i = 0; i < ARRAY_SIZE(pc236_boards); i++) - if (pc236_boards[i].bustype == pci_bustype && + if (is_pci_board(&pc236_boards[i]) && pci_dev->device == pc236_boards[i].devid) return &pc236_boards[i]; return NULL; @@ -414,15 +428,13 @@ static void pc236_report_attach(struct comedi_device *dev, unsigned int irq) char tmpbuf[60]; int tmplen; - if (IS_ENABLED(CONFIG_COMEDI_AMPLC_PC236_ISA) && - thisboard->bustype == isa_bustype) + if (is_isa_board(thisboard)) tmplen = scnprintf(tmpbuf, sizeof(tmpbuf), "(base %#lx) ", dev->iobase); - else if (IS_ENABLED(CONFIG_COMEDI_AMPLC_PC236_PCI) && - thisboard->bustype == pci_bustype) { + else if (is_pci_board(thisboard)) tmplen = scnprintf(tmpbuf, sizeof(tmpbuf), "(pci %s) ", pci_name(pcidev)); - } else + else tmplen = 0; if (irq) tmplen += scnprintf(&tmpbuf[tmplen], sizeof(tmpbuf) - tmplen, @@ -517,16 +529,14 @@ static int pc236_attach(struct comedi_device *dev, struct comedi_devconfig *it) return ret; } /* Process options according to bus type. */ - if (IS_ENABLED(CONFIG_COMEDI_AMPLC_PC236_ISA) && - thisboard->bustype == isa_bustype) { + if (is_isa_board(thisboard)) { unsigned long iobase = it->options[0]; unsigned int irq = it->options[1]; ret = pc236_request_region(dev, iobase, PC236_IO_SIZE); if (ret < 0) return ret; return pc236_common_attach(dev, iobase, irq, 0); - } else if (IS_ENABLED(CONFIG_COMEDI_AMPLC_PC236_PCI) && - thisboard->bustype == pci_bustype) { + } else if (is_pci_board(thisboard)) { struct pci_dev *pci_dev; pci_dev = pc236_find_pci_dev(dev, it); -- 2.39.5