xref: /linux-6.15/include/linux/mmc/sdio_func.h (revision e29a7d73)
1*e29a7d73SPierre Ossman /*
2*e29a7d73SPierre Ossman  *  include/linux/mmc/sdio_func.h
3*e29a7d73SPierre Ossman  *
4*e29a7d73SPierre Ossman  *  Copyright 2007 Pierre Ossman
5*e29a7d73SPierre Ossman  *
6*e29a7d73SPierre Ossman  * This program is free software; you can redistribute it and/or modify
7*e29a7d73SPierre Ossman  * it under the terms of the GNU General Public License as published by
8*e29a7d73SPierre Ossman  * the Free Software Foundation; either version 2 of the License, or (at
9*e29a7d73SPierre Ossman  * your option) any later version.
10*e29a7d73SPierre Ossman  */
11*e29a7d73SPierre Ossman 
12*e29a7d73SPierre Ossman #ifndef MMC_SDIO_FUNC_H
13*e29a7d73SPierre Ossman #define MMC_SDIO_FUNC_H
14*e29a7d73SPierre Ossman 
15*e29a7d73SPierre Ossman struct mmc_card;
16*e29a7d73SPierre Ossman 
17*e29a7d73SPierre Ossman /*
18*e29a7d73SPierre Ossman  * SDIO function devices
19*e29a7d73SPierre Ossman  */
20*e29a7d73SPierre Ossman struct sdio_func {
21*e29a7d73SPierre Ossman 	struct mmc_card		*card;		/* the card this device belongs to */
22*e29a7d73SPierre Ossman 	struct device		dev;		/* the device */
23*e29a7d73SPierre Ossman 	unsigned int		num;		/* function number */
24*e29a7d73SPierre Ossman 	unsigned int		state;		/* function state */
25*e29a7d73SPierre Ossman #define SDIO_STATE_PRESENT	(1<<0)		/* present in sysfs */
26*e29a7d73SPierre Ossman };
27*e29a7d73SPierre Ossman 
28*e29a7d73SPierre Ossman #define sdio_func_present(f)	((f)->state & SDIO_STATE_PRESENT)
29*e29a7d73SPierre Ossman 
30*e29a7d73SPierre Ossman #define sdio_func_set_present(f) ((f)->state |= SDIO_STATE_PRESENT)
31*e29a7d73SPierre Ossman 
32*e29a7d73SPierre Ossman #define sdio_func_id(f)		((f)->dev.bus_id)
33*e29a7d73SPierre Ossman 
34*e29a7d73SPierre Ossman #endif
35*e29a7d73SPierre Ossman 
36