/* * SDIO function CIS tuple (unknown to the core)
*/ struct sdio_func_tuple { struct sdio_func_tuple *next; unsignedchar code; unsignedchar size; unsignedchar data[];
};
/* * SDIO function devices
*/ struct sdio_func { struct mmc_card *card; /* the card this device belongs to */ struct device dev; /* the device */
sdio_irq_handler_t *irq_handler; /* IRQ callback */ unsignedint num; /* function number */
unsignedcharclass; /* standard interface class */ unsignedshort vendor; /* vendor id */ unsignedshort device; /* device id */
unsigned max_blksize; /* maximum block size */ unsigned cur_blksize; /* current block size */
unsigned enable_timeout; /* max enable timeout in msec */
unsignedint state; /* function state */ #define SDIO_STATE_PRESENT (1<<0) /* present in sysfs */
u8 *tmpbuf; /* DMA:able scratch buffer */
u8 major_rev; /* major revision number */
u8 minor_rev; /* minor revision number */ unsigned num_info; /* number of info strings */ constchar **info; /* info strings */
/** * SDIO_DEVICE - macro used to describe a specific SDIO device * @vend: the 16 bit manufacturer code * @dev: the 16 bit function id * * This macro is used to create a struct sdio_device_id that matches a * specific device. The class field will be set to SDIO_ANY_ID.
*/ #define SDIO_DEVICE(vend,dev) \
.class = SDIO_ANY_ID, \
.vendor = (vend), .device = (dev)
/** * SDIO_DEVICE_CLASS - macro used to describe a specific SDIO device class * @dev_class: the 8 bit standard interface code * * This macro is used to create a struct sdio_device_id that matches a * specific standard SDIO function type. The vendor and device fields will * be set to SDIO_ANY_ID.
*/ #define SDIO_DEVICE_CLASS(dev_class) \
.class = (dev_class), \
.vendor = SDIO_ANY_ID, .device = SDIO_ANY_ID
/* use a macro to avoid include chaining to get THIS_MODULE */ #define sdio_register_driver(drv) \
__sdio_register_driver(drv, THIS_MODULE) externint __sdio_register_driver(struct sdio_driver *, struct module *); externvoid sdio_unregister_driver(struct sdio_driver *);
/** * module_sdio_driver() - Helper macro for registering a SDIO driver * @__sdio_driver: sdio_driver struct * * Helper macro for SDIO drivers which do not do anything special in module * init/exit. This eliminates a lot of boilerplate. Each module may only * use this macro once, and calling it replaces module_init() and module_exit()
*/ #define module_sdio_driver(__sdio_driver) \
module_driver(__sdio_driver, sdio_register_driver, \
sdio_unregister_driver)
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.