Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

MMC: convert bus code to use dev_groups

The dev_attrs field of struct bus_type is going away soon, dev_groups
should be used instead. This converts the MMC bus code to use the
correct field.

Cc: Chris Ball <cjb@laptop.org>
Cc: Ulf Hansson <ulf.hansson@linaro.org>
Cc: Konstantin Dorfman <kdorfman@codeaurora.org>
Cc: Seungwon Jeon <tgih.jun@samsung.com>
Cc: <linux-mmc@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

+18 -13
+7 -5
drivers/mmc/core/bus.c
··· 27 27 28 28 #define to_mmc_driver(d) container_of(d, struct mmc_driver, drv) 29 29 30 - static ssize_t mmc_type_show(struct device *dev, 30 + static ssize_t type_show(struct device *dev, 31 31 struct device_attribute *attr, char *buf) 32 32 { 33 33 struct mmc_card *card = mmc_dev_to_card(dev); ··· 45 45 return -EFAULT; 46 46 } 47 47 } 48 + static DEVICE_ATTR_RO(type); 48 49 49 - static struct device_attribute mmc_dev_attrs[] = { 50 - __ATTR(type, S_IRUGO, mmc_type_show, NULL), 51 - __ATTR_NULL, 50 + static struct attribute *mmc_dev_attrs[] = { 51 + &dev_attr_type.attr, 52 + NULL, 52 53 }; 54 + ATTRIBUTE_GROUPS(mmc_dev); 53 55 54 56 /* 55 57 * This currently matches any MMC driver to any MMC card - drivers ··· 220 218 221 219 static struct bus_type mmc_bus_type = { 222 220 .name = "mmc", 223 - .dev_attrs = mmc_dev_attrs, 221 + .dev_groups = mmc_dev_groups, 224 222 .match = mmc_bus_match, 225 223 .uevent = mmc_bus_uevent, 226 224 .probe = mmc_bus_probe,
+11 -8
drivers/mmc/core/sdio_bus.c
··· 34 34 \ 35 35 func = dev_to_sdio_func (dev); \ 36 36 return sprintf (buf, format_string, func->field); \ 37 - } 37 + } \ 38 + static DEVICE_ATTR_RO(field) 38 39 39 40 sdio_config_attr(class, "0x%02x\n"); 40 41 sdio_config_attr(vendor, "0x%04x\n"); ··· 48 47 return sprintf(buf, "sdio:c%02Xv%04Xd%04X\n", 49 48 func->class, func->vendor, func->device); 50 49 } 50 + static DEVICE_ATTR_RO(modalias); 51 51 52 - static struct device_attribute sdio_dev_attrs[] = { 53 - __ATTR_RO(class), 54 - __ATTR_RO(vendor), 55 - __ATTR_RO(device), 56 - __ATTR_RO(modalias), 57 - __ATTR_NULL, 52 + static struct attribute *sdio_dev_attrs[] = { 53 + &dev_attr_class.attr, 54 + &dev_attr_vendor.attr, 55 + &dev_attr_device.attr, 56 + &dev_attr_modalias.attr, 57 + NULL, 58 58 }; 59 + ATTRIBUTE_GROUPS(sdio_dev); 59 60 60 61 static const struct sdio_device_id *sdio_match_one(struct sdio_func *func, 61 62 const struct sdio_device_id *id) ··· 228 225 229 226 static struct bus_type sdio_bus_type = { 230 227 .name = "sdio", 231 - .dev_attrs = sdio_dev_attrs, 228 + .dev_groups = sdio_dev_groups, 232 229 .match = sdio_bus_match, 233 230 .uevent = sdio_bus_uevent, 234 231 .probe = sdio_bus_probe,