mmc core中的mmc_start_host调用mmc_gpiod_request_cd_irq来为host定义自己的cd-detect引脚,也就是对应上面连接到卡座上的CD引脚的GPIO。 mmc_gpiod_request_cd_irq具体实现如下: void mmc_gpiod_request_cd_irq(struct mmc_host *host) { // struct mmc_gpio用来表示连接卡槽的一些GPIO的状态 struc...
mmc_gpiod_request_cd_irq(host); _mmc_detect_change(host,0,false); } host->rescan_disable =0使能主设备的重新检测。 未使能MMC_CAP2_NO_PRESCAN_POWERUP时,将完成claim_host()、power_up()、release_host()等一系列工作。 mmc_gpiod_request_cd_irq()用于为host申请中断号(和GPIO口对应),并绑定...
mmc_gpiod_request_cd_irq(host); //core/slot-gpio.c _mmc_detect_change(host, 0, false); //core/core.c host->detect_change = 1; mmc_schedule_delayed_work(&host->detect, delay); //core/core.c queue_delayed_work(system_freezable_wq, work, delay); //include/linux/workqueue.h mmc_...
当卡插入时,产生中断,就会调用中断处理函数mmc_gpio_cd_irqt staticirqreturn_tmmc_gpio_cd_irqt(intirq,void*dev_id){/* Schedule a card detection after a debounce timeout */structmmc_host*host=dev_id;structmmc_gpio*ctx=host->slot.handler_priv; host->trigger_card_event =true; mmc_detect_cha...
ret = mmc_gpiod_request_cd(host, "cd", 0, true, 0, &cd_gpio_invert); if (!ret) dev_info(host->parent, "Got CD GPIO\n"); else if (ret != -ENOENT && ret != -ENOSYS) return ret; /* * There are two ways to flag that the CD line is inverted: ...
request size: 16384 KB [ 1.220243] Waiting for root device /dev/mmcblk0p2... [ 1.250442] mmc0: host does not support reading read-only switch, assuming write-enable [ 1.264089] mmc0: new high speed SDXC card at address aaaa [ 1.271528] mmcblk0: mmc0:aaaa SC64G 59.5 GiB [ ...
[ 1.665832] sunxi-mmc 1c0f000.mmc: Got CD GPIO [ 1.690548] sunxi-mmc 1c11000.mmc: initialized, max. request size: 16384 KB [ 1.704538] sun8i-a33-pinctrl 1c20800.pinctrl: supply vcc-ph not found, using dummy regulator [ 1.704760] sunxi-mmc 1c0f000.mmc: initialized, max. request ...
By use case CI/CD & Automation DevOps DevSecOps Resources Topics AI DevOps Security Software Development View all Explore Learning Pathways White papers, Ebooks, Webinars Customer Stories Partners Open Source GitHub Sponsors Fund open source developers The ReadME Project GitHub community...
在Linux中,驱动对块设备的输入或输出(I/O)操作,都会向块设备发出一个请求,在驱动中用request结构体描述。...卡不支持SDCard_CMD55+SDCard_CMD41识别 { SD_Type=SDCard_TYPE_MMC;//MMC V3 retry=0XFFFE; do //...卡不支持SDCard_CMD55+SDCard_CMD41识别 { SD_Type=SDCard_TYPE_MMC;//MMC V3 ...
CD_POST;} else {cd_cap_invert = of_property_read_bool(np, "cd-inverted");if (of_property_read_bool(np, "broken-cd"))host->caps |= MMC_CAP_NEEDS_POLL;ret = mmc_gpiod_request_cd(host, "cd", 0, true,0, &cd_gpio_invert);if (!ret)dev_info(host->parent, "Got CD GPIO\n...