2014-06-13 09:22:00

by Daeseok Youn

[permalink] [raw]
Subject: [PATCH 4/7 RESEND] staging: dgap: introduce dgap_free_irq()

dgap_free_irq() will free the irq which is requested in
dgap_request_irq().

Signed-off-by: Daeseok Youn <[email protected]>
---
resend: reordering this series of patches, because some patches are
merged to one.

drivers/staging/dgap/dgap.c | 10 ++++++++--
1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/dgap/dgap.c b/drivers/staging/dgap/dgap.c
index eab8fd5..497e6f3 100644
--- a/drivers/staging/dgap/dgap.c
+++ b/drivers/staging/dgap/dgap.c
@@ -190,6 +190,7 @@ static void dgap_do_conc_load(struct board_t *brd, u8 *uaddr, int len);
#endif
static int dgap_after_config_loaded(struct board_t *brd);
static int dgap_request_irq(struct board_t *brd);
+static void dgap_free_irq(struct board_t *brd);

static void dgap_get_vpd(struct board_t *brd);
static void dgap_do_reset_board(struct board_t *brd);
@@ -634,8 +635,7 @@ static void dgap_cleanup_board(struct board_t *brd)
if (!brd || brd->magic != DGAP_BOARD_MAGIC)
return;

- if (brd->intr_used && brd->irq)
- free_irq(brd->irq, brd);
+ dgap_free_irq(brd);

tasklet_kill(&brd->helper_tasklet);

@@ -816,6 +816,12 @@ static int dgap_request_irq(struct board_t *brd)
return 0;
}

+static void dgap_free_irq(struct board_t *brd)
+{
+ if (brd->intr_used && brd->irq)
+ free_irq(brd->irq, brd);
+}
+
static int dgap_firmware_load(struct pci_dev *pdev, int card_type)
{
struct board_t *brd = dgap_board[dgap_numboards - 1];
--
1.7.1