From cb559a9ddbd67883ec2e328ed69f9ad68768b4de Mon Sep 17 00:00:00 2001 From: Andy Green Date: Wed, 19 Nov 2008 17:09:58 +0000 Subject: add-glamo-mci-slower-clocking-dynamic-switching.patch This patch gives glamo-mci a concept of a platform-defined dynamic clock slowing callback. It means that platform code can associate some completely external state to decide if we run the SD clock at normal rate or a rate divided by a module parameter "sd_slow_ratio", which you can set on kernel commandline like this: glamo_mci.sd_slow_ratio=8 you can also change it at runtime by echo 8 > /sys/module/glamo_mci/parameters/sd_slow_ratio If no platform callback is defined, then no slow mode is used. If it is defined, then the default division action is / 8, eg, 16MHz normal -> 2MHz slow mode. Signed-off-by: Andy Green --- drivers/mfd/glamo/glamo-core.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'drivers/mfd/glamo/glamo-core.h') diff --git a/drivers/mfd/glamo/glamo-core.h b/drivers/mfd/glamo/glamo-core.h index c89f8104fb1..dd6f67c3386 100644 --- a/drivers/mfd/glamo/glamo-core.h +++ b/drivers/mfd/glamo/glamo-core.h @@ -72,6 +72,8 @@ struct glamo_mci_pdata { unsigned long ocr_avail; void (*glamo_set_mci_power)(unsigned char power_mode, unsigned short vdd); + /* glamo-mci asking if it should use the slow clock to card */ + int (*glamo_mci_use_slow)(void); int (*glamo_irq_is_wired)(void); void (*mci_suspending)(struct platform_device *dev); int (*mci_all_dependencies_resumed)(struct platform_device *dev); -- cgit v1.2.3