Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 267459
b: refs/heads/master
c: cc1e1a1
h: refs/heads/master
i:
  267457: 7ca7438
  267455: 87e61f3
v: v3
  • Loading branch information
Franky Lin authored and Greg Kroah-Hartman committed Aug 23, 2011
1 parent 604403a commit 65d34ed
Show file tree
Hide file tree
Showing 5 changed files with 11 additions and 28 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: b1b8b756d24c529cb5cb4f9d2d8dd75156f770ac
refs/heads/master: cc1e1a1bc65bfc06875cf91af3ce68204430eae3
5 changes: 2 additions & 3 deletions trunk/drivers/staging/brcm80211/brcmfmac/bcmsdh.c
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,9 @@ brcmf_sdcard_iovar_op(struct brcmf_sdio_dev *sdiodev, const char *name,
len, set);
}

int brcmf_sdcard_intr_reg(struct brcmf_sdio_dev *sdiodev,
void (*fn)(void *), void *argh)
int brcmf_sdcard_intr_reg(struct brcmf_sdio_dev *sdiodev)
{
return brcmf_sdioh_interrupt_register(sdiodev->sdioh, fn, argh);
return brcmf_sdioh_interrupt_register(sdiodev->sdioh);
}

int brcmf_sdcard_intr_dereg(struct brcmf_sdio_dev *sdiodev)
Expand Down
19 changes: 3 additions & 16 deletions trunk/drivers/staging/brcm80211/brcmfmac/bcmsdh_sdmmc.c
Original file line number Diff line number Diff line change
Expand Up @@ -228,19 +228,9 @@ extern int brcmf_sdioh_detach(struct sdioh_info *sd)

/* Configure callback to client when we receive client interrupt */
extern int
brcmf_sdioh_interrupt_register(struct sdioh_info *sd, void (*fn)(void *),
void *argh)
brcmf_sdioh_interrupt_register(struct sdioh_info *sd)
{
BRCMF_TRACE(("%s: Entering\n", __func__));
if (fn == NULL) {
BRCMF_ERROR(("%s: interrupt handler is NULL, not registering\n",
__func__));
return -EINVAL;
}

sd->intr_handler = fn;
sd->intr_handler_arg = argh;
sd->intr_handler_valid = true;

/* register and unmask irq */
if (gInstance->func[2]) {
Expand Down Expand Up @@ -277,10 +267,6 @@ extern int brcmf_sdioh_interrupt_deregister(struct sdioh_info *sd)
sdio_release_host(gInstance->func[2]);
}

sd->intr_handler_valid = false;
sd->intr_handler = NULL;
sd->intr_handler_arg = NULL;

return 0;
}

Expand Down Expand Up @@ -877,14 +863,15 @@ brcmf_sdioh_card_regread(struct sdioh_info *sd, int func, u32 regaddr,
static void brcmf_sdioh_irqhandler(struct sdio_func *func)
{
struct sdioh_info *sd;
struct brcmf_sdio_dev *sdiodev = dev_get_drvdata(&func->card->dev);

BRCMF_TRACE(("brcmf: ***IRQHandler\n"));
sd = gInstance->sd;

sdio_release_host(gInstance->func[0]);

sd->intrcount++;
(sd->intr_handler) (sd->intr_handler_arg);
brcmf_sdbrcm_isr(sdiodev->bus);

sdio_claim_host(gInstance->func[0]);
}
Expand Down
3 changes: 2 additions & 1 deletion trunk/drivers/staging/brcm80211/brcmfmac/dhd_sdio.c
Original file line number Diff line number Diff line change
Expand Up @@ -5424,6 +5424,7 @@ void *brcmf_sdbrcm_probe(u16 bus_no, u16 slot, u16 func, uint bustype,
goto fail;
}
bus->sdiodev = sdiodev;
sdiodev->bus = bus;
bus->bus = BRCMF_BUS;
bus->tx_seq = SDPCM_SEQUENCE_WRAP - 1;
bus->usebufpool = false; /* Use bufpool if allocated,
Expand Down Expand Up @@ -5506,7 +5507,7 @@ void *brcmf_sdbrcm_probe(u16 bus_no, u16 slot, u16 func, uint bustype,
/* Register interrupt callback, but mask it (not operational yet). */
BRCMF_INTR(("%s: disable SDIO interrupts (not interested yet)\n",
__func__));
ret = brcmf_sdcard_intr_reg(bus->sdiodev, brcmf_sdbrcm_isr, bus);
ret = brcmf_sdcard_intr_reg(bus->sdiodev);
if (ret != 0) {
BRCMF_ERROR(("%s: FAILED: sdcard_intr_reg returned %d\n",
__func__, ret));
Expand Down
10 changes: 3 additions & 7 deletions trunk/drivers/staging/brcm80211/brcmfmac/sdio_host.h
Original file line number Diff line number Diff line change
Expand Up @@ -124,9 +124,6 @@ struct brcmf_sdreg {

struct sdioh_info {
struct osl_info *osh; /* osh handler */
bool intr_handler_valid; /* client driver interrupt handler valid */
void (*intr_handler)(void *); /* registered interrupt handler */
void *intr_handler_arg; /* argument to call interrupt handler */

uint irq; /* Client irq */
int intrcount; /* Client interrupts */
Expand Down Expand Up @@ -159,8 +156,7 @@ struct brcmf_sdio_dev {

/* Register/deregister device interrupt handler. */
extern int
brcmf_sdcard_intr_reg(struct brcmf_sdio_dev *sdiodev,
void (*fn)(void *), void *argh);
brcmf_sdcard_intr_reg(struct brcmf_sdio_dev *sdiodev);

extern int brcmf_sdcard_intr_dereg(struct brcmf_sdio_dev *sdiodev);

Expand Down Expand Up @@ -278,8 +274,7 @@ extern struct sdioh_info *brcmf_sdioh_attach(void *cfghdl);
extern int brcmf_sdioh_detach(struct sdioh_info *si);

extern int
brcmf_sdioh_interrupt_register(struct sdioh_info *si,
void (*sdioh_cb_fn)(void *), void *argh);
brcmf_sdioh_interrupt_register(struct sdioh_info *si);

extern int brcmf_sdioh_interrupt_deregister(struct sdioh_info *si);

Expand Down Expand Up @@ -328,4 +323,5 @@ extern struct brcmf_sdmmc_instance *gInstance;
extern void *brcmf_sdbrcm_probe(u16 bus_no, u16 slot, u16 func, uint bustype,
u32 regsva, struct brcmf_sdio_dev *sdiodev);
extern void brcmf_sdbrcm_disconnect(void *ptr);
extern void brcmf_sdbrcm_isr(void *arg);
#endif /* _BRCM_SDH_H_ */

0 comments on commit 65d34ed

Please sign in to comment.