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