Thanks to all for clarifications. Since everyone is convinced, that that
idle function in mmc bus.c is appropriate, I restored it and managed to
achieve my goals also without it by adjusting the platform runtime pm and
power domain prototype support.
But I still need those "cheating" calls to
pm_runtime_put_noidle(&pdev->dev);
and
pm_runtime_get_noresume(&pdev->dev);
in the sh_mmcif.c driver. If I use the patch as posted at
http://article.gmane.org/gmane.linux.ports.sh.devel/10724
but without those two calls, and load and unload the driver, while a card
is plugged in, unloading the driver doesn't power down the interface,
because the usage_count == 1 also after the kernel has soft-ejected the
card
mmc0: card 0001 removed
With my put_noidle() / get_noresume() hack all cases of modprobe / rmmod,
card insert / eject work correctly.
Thanks
Guennadi
---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html