Hi all,
Please excuse me, I have some noob question regarding MMC.

I'd like to erase(discard) certain MMC partition from kernel space (i.e. kernel 
module).
I know this is quite ugly design, but I have no choice but to implement the 
feature (erasing given MMC partition) within kernel space for other reasons.

Assume /dev/mmcblk0p2 needs to be erased.

First, I tried to use BLKDISCARD ioctl. From user space, it works.
In kernel space, I had to use ugly code, like set_fs(), filp_open(), etc in 
order to access "/dev/mmcblk0p2" device.
I stuck at sys_ioctl(), which is not exported symbol so that I couldn't use the 
sys_ioctl() from my module for the BLKDISCARD ioctl.

Alternatively, I want to make a new exported API to execute the discard request 
for "/dev/mmcblk0p2" device (like mmc_test_area_erase() in mmc_test.c).
Here, it seems that I need to get "struct mmc_card *card" instance, which is a 
first parameter of mmc_erase().

How can I get the "card" instance for current MMC device? Is there any way to 
do that?

Thanks in advance,
Jongman.

Reply via email to