accessing SD_3V3 in drivers/mmc/host/s3cmci.c
werner at openmoko.org
Wed Feb 4 19:13:33 CET 2009
in commit 9d1fd9e7b19d66a35ee4e760b30a3b9a168c20a2, you introduced
a major change in s3cmci.c: you make it explicitly use the SD_3V3
regulator and give this precedence over the platform set_power
Unfortunately, there are a number of problems with this:
- s3cmci.c shouldn't have to know about a platform's power
arrangements. That's why we have set_power.
- In GTA02, SD_3V3 is actually used for the MMC interface of the
Glamo, so s3cmci.c is (unsuccessfully) trying to grab somebody
- If the whole thing worked, it would take precedence over the
callback to gta02_s3c_mmc_set_power, thus disabling the WLAN
Fortunately, all this does nothing on GTA02 because the regulator
is tied to gta02_mmc_dev so regulator_get returns NULL and s3cmci.c
returns to its normal behaviour after a bit of grumbling.
I'd suggest to revert the regulator changes you made to s3cmci.h
and s3cmci.c, introduce a gta01_s3c_mmc_set_power function for
GTA01 in arch/arm/mach-s3c2410/mach-gta01.c, and handle the
regulator access there.
More information about the openmoko-kernel