On 07/01/2014 01:39 PM, Fu, Zhonghui wrote: > > Hi, all > > The mmc_sdio_init_card(drivers/mmc/core/sdio.c) function calls mmc_alloc_card(drivers/mmc/core/bus.c) function to allocate a card structure. card->dev.bus is assigned with mmc_bus_type in mmc_alloc_card function. Why not assign sdio_bus_type to card->dev.bus? sdio card, mmc card, sd card are all devices on the mmc bus, hence their bus type is set to mmc_bus_type. sdio function device is a device on the sdio bus, hence its bus type is sdio_bus_type. Hope this helps, Aaron > > > struct mmc_card *mmc_alloc_card(struct mmc_host *host, struct device_type *type) > { > struct mmc_card *card; > > card = kzalloc(sizeof(struct mmc_card), GFP_KERNEL); > if (!card) > return ERR_PTR(-ENOMEM); > > card->host = host; > > device_initialize(&card->dev); > > card->dev.parent = mmc_classdev(host); > card->dev.bus = &mmc_bus_type; > card->dev.release = mmc_release_card; > card->dev.type = type; > > return card; > } > > > Thanks, > Zhonghui > -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html