Lines Matching defs:func

45 	struct sdio_func *func;
65 ret = sdio_memcpy_fromio(bus->func, dst, sdio_addr, count);
86 ret = sdio_memcpy_toio(bus->func, sdio_addr, (void *)src, count);
97 sdio_claim_host(bus->func);
104 sdio_release_host(bus->func);
107 static void wfx_sdio_irq_handler(struct sdio_func *func)
109 struct wfx_sdio_priv *bus = sdio_get_drvdata(func);
118 sdio_claim_host(bus->func);
120 sdio_release_host(bus->func);
132 sdio_claim_host(bus->func);
133 ret = sdio_claim_irq(bus->func, wfx_sdio_irq_handler);
134 sdio_release_host(bus->func);
142 ret = devm_request_threaded_irq(&bus->func->dev, bus->of_irq, NULL,
146 sdio_claim_host(bus->func);
147 cccr = sdio_f0_readb(bus->func, SDIO_CCCR_IENx, NULL);
149 cccr |= BIT(bus->func->num);
150 sdio_f0_writeb(bus->func, cccr, SDIO_CCCR_IENx, NULL);
151 sdio_release_host(bus->func);
161 devm_free_irq(&bus->func->dev, bus->of_irq, bus);
162 sdio_claim_host(bus->func);
163 ret = sdio_release_irq(bus->func);
164 sdio_release_host(bus->func);
172 return sdio_align_size(bus->func, size);
194 static int wfx_sdio_probe(struct sdio_func *func, const struct sdio_device_id *id)
196 const struct wfx_platform_data *pdata = of_device_get_match_data(&func->dev);
197 struct device_node *np = func->dev.of_node;
201 if (func->num != 1) {
202 dev_err(&func->dev, "SDIO function number is %d while it should always be 1 (unsupported chip?)\n",
203 func->num);
208 dev_warn(&func->dev, "no compatible device found in DT\n");
212 bus = devm_kzalloc(&func->dev, sizeof(*bus), GFP_KERNEL);
216 bus->func = func;
218 sdio_set_drvdata(func, bus);
220 sdio_claim_host(func);
221 ret = sdio_enable_func(func);
223 sdio_set_block_size(func, 64);
224 sdio_release_host(func);
228 bus->core = wfx_init_common(&func->dev, pdata, &wfx_sdio_hwbus_ops, bus);
241 sdio_claim_host(func);
242 sdio_disable_func(func);
243 sdio_release_host(func);
247 static void wfx_sdio_remove(struct sdio_func *func)
249 struct wfx_sdio_priv *bus = sdio_get_drvdata(func);
252 sdio_claim_host(func);
253 sdio_disable_func(func);
254 sdio_release_host(func);