Lines Matching refs:func
53 static void b43_sdio_interrupt_dispatcher(struct sdio_func *func) in b43_sdio_interrupt_dispatcher() argument
55 struct b43_sdio *sdio = sdio_get_drvdata(func); in b43_sdio_interrupt_dispatcher()
61 sdio_release_host(func); in b43_sdio_interrupt_dispatcher()
63 sdio_claim_host(func); in b43_sdio_interrupt_dispatcher()
70 struct sdio_func *func = bus->host_sdio; in b43_sdio_request_irq() local
71 struct b43_sdio *sdio = sdio_get_drvdata(func); in b43_sdio_request_irq()
76 sdio_claim_host(func); in b43_sdio_request_irq()
77 err = sdio_claim_irq(func, b43_sdio_interrupt_dispatcher); in b43_sdio_request_irq()
78 sdio_release_host(func); in b43_sdio_request_irq()
86 struct sdio_func *func = bus->host_sdio; in b43_sdio_free_irq() local
87 struct b43_sdio *sdio = sdio_get_drvdata(func); in b43_sdio_free_irq()
89 sdio_claim_host(func); in b43_sdio_free_irq()
90 sdio_release_irq(func); in b43_sdio_free_irq()
91 sdio_release_host(func); in b43_sdio_free_irq()
96 static int b43_sdio_probe(struct sdio_func *func, in b43_sdio_probe() argument
105 tuple = func->tuples; in b43_sdio_probe()
115 dev_info(&func->dev, "Chip ID %04x:%04x\n", in b43_sdio_probe()
132 sdio_claim_host(func); in b43_sdio_probe()
133 error = sdio_set_block_size(func, B43_SDIO_BLOCK_SIZE); in b43_sdio_probe()
135 dev_err(&func->dev, "failed to set block size to %u bytes," in b43_sdio_probe()
139 error = sdio_enable_func(func); in b43_sdio_probe()
141 dev_err(&func->dev, "failed to enable func, error %d\n", error); in b43_sdio_probe()
144 sdio_release_host(func); in b43_sdio_probe()
149 dev_err(&func->dev, "failed to allocate ssb bus\n"); in b43_sdio_probe()
152 error = ssb_bus_sdiobus_register(&sdio->ssb, func, in b43_sdio_probe()
155 dev_err(&func->dev, "failed to register ssb sdio bus," in b43_sdio_probe()
159 sdio_set_drvdata(func, sdio); in b43_sdio_probe()
166 sdio_claim_host(func); in b43_sdio_probe()
167 sdio_disable_func(func); in b43_sdio_probe()
169 sdio_release_host(func); in b43_sdio_probe()
174 static void b43_sdio_remove(struct sdio_func *func) in b43_sdio_remove() argument
176 struct b43_sdio *sdio = sdio_get_drvdata(func); in b43_sdio_remove()
179 sdio_claim_host(func); in b43_sdio_remove()
180 sdio_disable_func(func); in b43_sdio_remove()
181 sdio_release_host(func); in b43_sdio_remove()
183 sdio_set_drvdata(func, NULL); in b43_sdio_remove()