14101c16a910b15afd190c6bc7d45864461cf5c25Pierre Ossman/* 24101c16a910b15afd190c6bc7d45864461cf5c25Pierre Ossman * linux/drivers/mmc/core/bus.h 34101c16a910b15afd190c6bc7d45864461cf5c25Pierre Ossman * 44101c16a910b15afd190c6bc7d45864461cf5c25Pierre Ossman * Copyright (C) 2003 Russell King, All Rights Reserved. 54101c16a910b15afd190c6bc7d45864461cf5c25Pierre Ossman * Copyright 2007 Pierre Ossman 64101c16a910b15afd190c6bc7d45864461cf5c25Pierre Ossman * 74101c16a910b15afd190c6bc7d45864461cf5c25Pierre Ossman * This program is free software; you can redistribute it and/or modify 84101c16a910b15afd190c6bc7d45864461cf5c25Pierre Ossman * it under the terms of the GNU General Public License version 2 as 94101c16a910b15afd190c6bc7d45864461cf5c25Pierre Ossman * published by the Free Software Foundation. 104101c16a910b15afd190c6bc7d45864461cf5c25Pierre Ossman */ 114101c16a910b15afd190c6bc7d45864461cf5c25Pierre Ossman#ifndef _MMC_CORE_BUS_H 124101c16a910b15afd190c6bc7d45864461cf5c25Pierre Ossman#define _MMC_CORE_BUS_H 134101c16a910b15afd190c6bc7d45864461cf5c25Pierre Ossman 1451ec92e295d563dd5712d198a7e46c2ae5ccccb2Pierre Ossman#define MMC_DEV_ATTR(name, fmt, args...) \ 1551ec92e295d563dd5712d198a7e46c2ae5ccccb2Pierre Ossmanstatic ssize_t mmc_##name##_show (struct device *dev, struct device_attribute *attr, char *buf) \ 1651ec92e295d563dd5712d198a7e46c2ae5ccccb2Pierre Ossman{ \ 17265cdc900ce93c0cd2465d751fe75ff2e55e126eAndy Shevchenko struct mmc_card *card = mmc_dev_to_card(dev); \ 1851ec92e295d563dd5712d198a7e46c2ae5ccccb2Pierre Ossman return sprintf(buf, fmt, args); \ 1951ec92e295d563dd5712d198a7e46c2ae5ccccb2Pierre Ossman} \ 2051ec92e295d563dd5712d198a7e46c2ae5ccccb2Pierre Ossmanstatic DEVICE_ATTR(name, S_IRUGO, mmc_##name##_show, NULL) 2151ec92e295d563dd5712d198a7e46c2ae5ccccb2Pierre Ossman 2251ec92e295d563dd5712d198a7e46c2ae5ccccb2Pierre Ossmanstruct mmc_card *mmc_alloc_card(struct mmc_host *host, 2351ec92e295d563dd5712d198a7e46c2ae5ccccb2Pierre Ossman struct device_type *type); 244101c16a910b15afd190c6bc7d45864461cf5c25Pierre Ossmanint mmc_add_card(struct mmc_card *card); 254101c16a910b15afd190c6bc7d45864461cf5c25Pierre Ossmanvoid mmc_remove_card(struct mmc_card *card); 264101c16a910b15afd190c6bc7d45864461cf5c25Pierre Ossman 274101c16a910b15afd190c6bc7d45864461cf5c25Pierre Ossmanint mmc_register_bus(void); 284101c16a910b15afd190c6bc7d45864461cf5c25Pierre Ossmanvoid mmc_unregister_bus(void); 294101c16a910b15afd190c6bc7d45864461cf5c25Pierre Ossman 304101c16a910b15afd190c6bc7d45864461cf5c25Pierre Ossman#endif 314101c16a910b15afd190c6bc7d45864461cf5c25Pierre Ossman 32