From patchwork Fri Jan 8 17:57:59 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Aggarwal, Anuj" X-Patchwork-Id: 71822 X-Patchwork-Delegate: tony@atomide.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.3/8.14.2) with ESMTP id o08HvfCS023316 for ; Fri, 8 Jan 2010 17:58:22 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753563Ab0AHR6J (ORCPT ); Fri, 8 Jan 2010 12:58:09 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753554Ab0AHR6J (ORCPT ); Fri, 8 Jan 2010 12:58:09 -0500 Received: from devils.ext.ti.com ([198.47.26.153]:36101 "EHLO devils.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753529Ab0AHR6I (ORCPT ); Fri, 8 Jan 2010 12:58:08 -0500 Received: from dbdp31.itg.ti.com ([172.24.170.98]) by devils.ext.ti.com (8.13.7/8.13.7) with ESMTP id o08Hw0iA018049 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 8 Jan 2010 11:58:03 -0600 Received: from psplinux050.india.ti.com (localhost [127.0.0.1]) by dbdp31.itg.ti.com (8.13.8/8.13.8) with ESMTP id o08HvxbT022442; Fri, 8 Jan 2010 23:28:00 +0530 (IST) Received: from psplinux050.india.ti.com (localhost [127.0.0.1]) by psplinux050.india.ti.com (8.13.1/8.13.1) with ESMTP id o08HvxrH032605; Fri, 8 Jan 2010 23:27:59 +0530 Received: (from a0393534@localhost) by psplinux050.india.ti.com (8.13.1/8.13.1/Submit) id o08HvxX9032602; Fri, 8 Jan 2010 23:27:59 +0530 From: Anuj Aggarwal To: linux-omap@vger.kernel.org Cc: broonie@opensource.wolfsonmicro.com, lrg@slimlogic.co.uk, Anuj Aggarwal Subject: [PATCH 3/6] Regulator: Use common regulator supplies and init data structs Date: Fri, 8 Jan 2010 23:27:59 +0530 Message-Id: <1262973479-32570-1-git-send-email-anuj.aggarwal@ti.com> X-Mailer: git-send-email 1.6.2.4 Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c index 2951029..b1267eb 100644 --- a/arch/arm/mach-omap2/board-3430sdp.c +++ b/arch/arm/mach-omap2/board-3430sdp.c @@ -55,6 +55,18 @@ #define TWL4030_MSECURE_GPIO 22 +extern struct regulator_consumer_supply twl4030_vmmc1_supply; +extern struct regulator_consumer_supply twl4030_vmmc2_supply; +extern struct regulator_consumer_supply twl4030_vsim_supply; + +extern struct regulator_init_data vaux1_data; +extern struct regulator_init_data vaux2_data; +extern struct regulator_init_data vaux3_data; +extern struct regulator_init_data vaux4_data; +extern struct regulator_init_data vmmc1_data; +extern struct regulator_init_data vmmc2_data; +extern struct regulator_init_data vsim_data; + static int board_keymap[] = { KEY(0, 0, KEY_LEFT), KEY(0, 1, KEY_RIGHT), @@ -356,9 +368,9 @@ static int sdp3430_twl_gpio_setup(struct device *dev, /* link regulators to MMC adapters ... we "know" the * regulators will be set up only *after* we return. */ - sdp3430_vmmc1_supply.dev = mmc[0].dev; - sdp3430_vsim_supply.dev = mmc[0].dev; - sdp3430_vmmc2_supply.dev = mmc[1].dev; + twl4030_vmmc1_supply.dev = mmc[0].dev; + twl4030_vsim_supply.dev = mmc[0].dev; + twl4030_vmmc2_supply.dev = mmc[1].dev; /* gpio + 7 is "sub_lcd_en_bkl" (output/PWM1) */ gpio_request(gpio + 7, "sub_lcd_en_bkl"); @@ -451,13 +463,13 @@ static struct twl4030_platform_data sdp3430_twldata = { .usb = &sdp3430_usb_data, .codec = &sdp3430_codec, - .vaux1 = &sdp3430_vaux1, - .vaux2 = &sdp3430_vaux2, - .vaux3 = &sdp3430_vaux3, - .vaux4 = &sdp3430_vaux4, - .vmmc1 = &sdp3430_vmmc1, - .vmmc2 = &sdp3430_vmmc2, - .vsim = &sdp3430_vsim, + .vaux1 = &vaux1_data, + .vaux2 = &vaux2_data, + .vaux3 = &vaux3_data, + .vaux4 = &vaux4_data, + .vmmc1 = &vmmc1_data, + .vmmc2 = &vmmc2_data, + .vsim = &vsim_data, .vdac = &sdp3430_vdac, .vpll2 = &sdp3430_vpll2, }; diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c index b0a5a68..282d188 100644 --- a/arch/arm/mach-omap2/board-cm-t35.c +++ b/arch/arm/mach-omap2/board-cm-t35.c @@ -59,6 +59,12 @@ #define GPMC_CS0_BASE 0x60 #define GPMC_CS0_BASE_ADDR (OMAP34XX_GPMC_VIRT + GPMC_CS0_BASE) +extern struct regulator_consumer_supply twl4030_vmmc1_supply; +extern struct regulator_consumer_supply twl4030_vsim_supply; + +extern struct regulator_init_data vmmc1_data; +extern struct regulator_init_data vsim_data; + #if defined(CONFIG_SMSC911X) || defined(CONFIG_SMSC911X_MODULE) #include @@ -378,8 +384,8 @@ static int cm_t35_twl_gpio_setup(struct device *dev, unsigned gpio, twl4030_mmc_init(mmc); /* link regulators to MMC adapters */ - cm_t35_vmmc1_supply.dev = mmc[0].dev; - cm_t35_vsim_supply.dev = mmc[0].dev; + twl4030_vmmc1_supply.dev = mmc[0].dev; + twl4030_vsim_supply.dev = mmc[0].dev; /* setup USB with proper PHY reset GPIOs */ ehci_pdata.reset_gpio_port[0] = gpio + 6; @@ -405,8 +411,8 @@ static struct twl4030_platform_data cm_t35_twldata = { .keypad = &cm_t35_kp_data, .usb = &cm_t35_usb_data, .gpio = &cm_t35_gpio_data, - .vmmc1 = &cm_t35_vmmc1, - .vsim = &cm_t35_vsim, + .vmmc1 = &vmmc1_data, + .vsim = &vsim_data, }; static struct i2c_board_info __initdata cm_t35_i2c_boardinfo[] = { diff --git a/arch/arm/mach-omap2/board-igep0020.c b/arch/arm/mach-omap2/board-igep0020.c index 631b179..155a17f 100644 --- a/arch/arm/mach-omap2/board-igep0020.c +++ b/arch/arm/mach-omap2/board-igep0020.c @@ -39,6 +39,9 @@ #define IGEP2_GPIO_LED0_GREEN 27 #define IGEP2_GPIO_LED1_RED 28 +extern struct regulator_consumer_supply twl4030_vmmc1_supply; +extern struct regulator_init_data vmmc1_data; + #if defined(CONFIG_SMSC911X) || defined(CONFIG_SMSC911X_MODULE) #include @@ -128,7 +131,7 @@ static int igep2_twl_gpio_setup(struct device *dev, /* link regulators to MMC adapters ... we "know" the * regulators will be set up only *after* we return. */ - igep2_vmmc1_supply.dev = mmc[0].dev; + twl4030_vmmc1_supply.dev = mmc[0].dev; return 0; }; @@ -161,7 +164,7 @@ static struct twl4030_platform_data igep2_twldata = { /* platform_data for children goes here */ .usb = &igep2_usb_data, .gpio = &igep2_gpio_data, - .vmmc1 = &igep2_vmmc1, + .vmmc1 = &vmmc1_data, }; diff --git a/arch/arm/mach-omap2/board-ldp.c b/arch/arm/mach-omap2/board-ldp.c index 6740d79..d69b3d0 100644 --- a/arch/arm/mach-omap2/board-ldp.c +++ b/arch/arm/mach-omap2/board-ldp.c @@ -51,6 +51,9 @@ #define DEBUG_BASE 0x08000000 #define LDP_ETHR_START DEBUG_BASE +extern struct regulator_consumer_supply twl4030_vmmc1_supply; +extern struct regulator_init_data vmmc1_data; + static struct resource ldp_smsc911x_resources[] = { [0] = { .start = LDP_ETHR_START, @@ -317,7 +320,7 @@ static struct twl4030_platform_data ldp_twldata = { /* platform_data for children goes here */ .madc = &ldp_madc_data, .usb = &ldp_usb_data, - .vmmc1 = &ldp_vmmc1, + .vmmc1 = &vmmc1_data, .gpio = &ldp_gpio_data, .keypad = &ldp_kp_twl4030_data, }; @@ -379,7 +382,7 @@ static void __init omap_ldp_init(void) twl4030_mmc_init(mmc); /* link regulators to MMC adapters */ - ldp_vmmc1_supply.dev = mmc[0].dev; + twl4030_vmmc1_supply.dev = mmc[0].dev; } static void __init omap_ldp_map_io(void) diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c index ebbacf8..c7610cb 100644 --- a/arch/arm/mach-omap2/board-omap3beagle.c +++ b/arch/arm/mach-omap2/board-omap3beagle.c @@ -52,6 +52,12 @@ #define NAND_BLOCK_SIZE SZ_128K +extern struct regulator_consumer_supply twl4030_vmmc1_supply; +extern struct regulator_consumer_supply twl4030_vsim_supply; + +extern struct regulator_init_data vmmc1_data; +extern struct regulator_init_data vsim_data; + static struct mtd_partition omap3beagle_nand_partitions[] = { /* All the partition sizes are listed in terms of NAND block size */ { @@ -142,8 +148,8 @@ static int beagle_twl_gpio_setup(struct device *dev, twl4030_mmc_init(mmc); /* link regulators to MMC adapters */ - beagle_vmmc1_supply.dev = mmc[0].dev; - beagle_vsim_supply.dev = mmc[0].dev; + twl4030_vmmc1_supply.dev = mmc[0].dev; + twl4030_vsim_supply.dev = mmc[0].dev; /* REVISIT: need ehci-omap hooks for external VBUS * power switch and overcurrent detect @@ -233,8 +239,8 @@ static struct twl4030_platform_data beagle_twldata = { .usb = &beagle_usb_data, .gpio = &beagle_gpio_data, .codec = &beagle_codec_data, - .vmmc1 = &beagle_vmmc1, - .vsim = &beagle_vsim, + .vmmc1 = &vmmc1_data, + .vsim = &vsim_data, .vdac = &beagle_vdac, .vpll2 = &beagle_vpll2, }; diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c index 93db546..573d8c7 100644 --- a/arch/arm/mach-omap2/board-omap3evm.c +++ b/arch/arm/mach-omap2/board-omap3evm.c @@ -58,6 +58,16 @@ static u8 omap3_evm_version; +extern struct regulator_consumer_supply twl4030_vdac_supply; +extern struct regulator_consumer_supply twl4030_vmmc1_supply; +extern struct regulator_consumer_supply twl4030_vsim_supply; +extern struct regulator_consumer_supply twl4030_vpll2_supply; + +extern struct regulator_init_data vdac_data; +extern struct regulator_init_data vmmc1_data; +extern struct regulator_init_data vsim_data; +extern struct regulator_init_data vpll2_data; + u8 get_omap3_evm_rev(void) { return omap3_evm_version; @@ -190,8 +200,8 @@ static int omap3evm_twl_gpio_setup(struct device *dev, twl4030_mmc_init(mmc); /* link regulators to MMC adapters */ - omap3evm_vmmc1_supply.dev = mmc[0].dev; - omap3evm_vsim_supply.dev = mmc[0].dev; + twl4030_vmmc1_supply.dev = mmc[0].dev; + twl4030_vsim_supply.dev = mmc[0].dev; /* * Most GPIOs are for USB OTG. Some are mostly sent to @@ -271,6 +281,10 @@ static struct twl4030_platform_data omap3evm_twldata = { .madc = &omap3evm_madc_data, .usb = &omap3evm_usb_data, .gpio = &omap3evm_gpio_data, + .vmmc1 = &vmmc1_data, + .vsim = &vsim_data, + .vdac = &vdac_data, + .vpll2 = &vpll2_data, .codec = &omap3evm_codec_data, }; @@ -285,13 +299,6 @@ static struct i2c_board_info __initdata omap3evm_i2c_boardinfo[] = { static int __init omap3_evm_i2c_init(void) { - /* - * REVISIT: These entries can be set in omap3evm_twl_data - * after a merge with MFD tree - */ - omap3evm_twldata.vmmc1 = &omap3evm_vmmc1; - omap3evm_twldata.vsim = &omap3evm_vsim; - omap_register_i2c_bus(1, 2600, omap3evm_i2c_boardinfo, ARRAY_SIZE(omap3evm_i2c_boardinfo)); omap_register_i2c_bus(2, 400, NULL, 0); diff --git a/arch/arm/mach-omap2/board-omap3pandora.c b/arch/arm/mach-omap2/board-omap3pandora.c index 4a24d94..98b46ef 100644 --- a/arch/arm/mach-omap2/board-omap3pandora.c +++ b/arch/arm/mach-omap2/board-omap3pandora.c @@ -50,6 +50,12 @@ /* hardware debounce: (value + 1) * 31us */ #define GPIO_DEBOUNCE_TIME 127 +extern struct regulator_consumer_supply twl4030_vmmc1_supply; +extern struct regulator_consumer_supply twl4030_vmmc2_supply; + +extern struct regulator_init_data vmmc1_data; +extern struct regulator_init_data vmmc2_data; + static struct gpio_led pandora_gpio_leds[] = { { .name = "pandora::sd1", @@ -226,8 +232,8 @@ static int omap3pandora_twl_gpio_setup(struct device *dev, twl4030_mmc_init(omap3pandora_mmc); /* link regulators to MMC adapters */ - pandora_vmmc1_supply.dev = omap3pandora_mmc[0].dev; - pandora_vmmc2_supply.dev = omap3pandora_mmc[1].dev; + twl4030_vmmc1_supply.dev = omap3pandora_mmc[0].dev; + twl4030_vmmc2_supply.dev = omap3pandora_mmc[1].dev; return 0; } @@ -258,8 +264,8 @@ static struct twl4030_platform_data omap3pandora_twldata = { .gpio = &omap3pandora_gpio_data, .usb = &omap3pandora_usb_data, .codec = &omap3pandora_codec_data, - .vmmc1 = &pandora_vmmc1, - .vmmc2 = &pandora_vmmc2, + .vmmc1 = &vmmc1_data, + .vmmc2 = &vmmc2_data, .keypad = &pandora_kp_data, }; diff --git a/arch/arm/mach-omap2/board-omap3touchbook.c b/arch/arm/mach-omap2/board-omap3touchbook.c index 441d61e..34b61f4 100644 --- a/arch/arm/mach-omap2/board-omap3touchbook.c +++ b/arch/arm/mach-omap2/board-omap3touchbook.c @@ -64,6 +64,12 @@ #define TB_BL_PWM_TIMER 9 #define TB_KILL_POWER_GPIO 168 +extern struct regulator_consumer_supply twl4030_vmmc1_supply; +extern struct regulator_consumer_supply twl4030_vsim_supply; + +extern struct regulator_init_data vmmc1_data; +extern struct regulator_init_data vsim_data; + unsigned long touchbook_revision; static struct mtd_partition omap3touchbook_nand_partitions[] = { @@ -156,8 +162,8 @@ static int touchbook_twl_gpio_setup(struct device *dev, twl4030_mmc_init(mmc); /* link regulators to MMC adapters */ - touchbook_vmmc1_supply.dev = mmc[0].dev; - touchbook_vsim_supply.dev = mmc[0].dev; + twl4030_vmmc1_supply.dev = mmc[0].dev; + twl4030_vsim_supply.dev = mmc[0].dev; /* REVISIT: need ehci-omap hooks for external VBUS * power switch and overcurrent detect @@ -247,8 +253,8 @@ static struct twl4030_platform_data touchbook_twldata = { .usb = &touchbook_usb_data, .gpio = &touchbook_gpio_data, .codec = &touchbook_codec_data, - .vmmc1 = &touchbook_vmmc1, - .vsim = &touchbook_vsim, + .vmmc1 = &vmmc1_data, + .vsim = &vsim_data, .vdac = &touchbook_vdac, .vpll2 = &touchbook_vpll2, }; diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c index 5054296..9328391 100644 --- a/arch/arm/mach-omap2/board-overo.c +++ b/arch/arm/mach-omap2/board-overo.c @@ -64,6 +64,10 @@ #define OVERO_SMSC911X_CS 5 #define OVERO_SMSC911X_GPIO 176 +extern struct regulator_consumer_supply twl4030_vmmc1_supply; +extern struct regulator_init_data vmmc1_data; + + #if defined(CONFIG_TOUCHSCREEN_ADS7846) || \ defined(CONFIG_TOUCHSCREEN_ADS7846_MODULE) @@ -295,7 +299,7 @@ static int overo_twl_gpio_setup(struct device *dev, { twl4030_mmc_init(mmc); - overo_vmmc1_supply.dev = mmc[0].dev; + twl4030_vmmc1_supply.dev = mmc[0].dev; return 0; } @@ -328,7 +332,7 @@ static struct twl4030_platform_data overo_twldata = { .gpio = &overo_gpio_data, .usb = &overo_usb_data, .codec = &overo_codec_data, - .vmmc1 = &overo_vmmc1, + .vmmc1 = &vmmc1_data, }; static struct i2c_board_info __initdata overo_i2c_boardinfo[] = { diff --git a/arch/arm/mach-omap2/board-zoom-peripherals.c b/arch/arm/mach-omap2/board-zoom-peripherals.c index d7d718b..5587f38 100755 --- a/arch/arm/mach-omap2/board-zoom-peripherals.c +++ b/arch/arm/mach-omap2/board-zoom-peripherals.c @@ -26,6 +26,14 @@ #include "mmc-twl4030.h" +extern struct regulator_consumer_supply twl4030_vmmc1_supply; +extern struct regulator_consumer_supply twl4030_vmmc2_supply; +extern struct regulator_consumer_supply twl4030_vsim_supply; + +extern struct regulator_init_data vmmc1_data; +extern struct regulator_init_data vmmc2_data; +extern struct regulator_init_data vsim_data; + /* Zoom2 has Qwerty keyboard*/ static int board_keymap[] = { KEY(0, 0, KEY_E), @@ -123,9 +131,9 @@ static int zoom_twl_gpio_setup(struct device *dev, /* link regulators to MMC adapters ... we "know" the * regulators will be set up only *after* we return. */ - zoom_vmmc1_supply.dev = mmc[0].dev; - zoom_vsim_supply.dev = mmc[0].dev; - zoom_vmmc2_supply.dev = mmc[1].dev; + twl4030_vmmc1_supply.dev = mmc[0].dev; + twl4030_vsim_supply.dev = mmc[0].dev; + twl4030_vmmc2_supply.dev = mmc[1].dev; return 0; } @@ -182,10 +190,9 @@ static struct twl4030_platform_data zoom_twldata = { .gpio = &zoom_gpio_data, .keypad = &zoom_kp_twl4030_data, .codec = &zoom_codec_data, - .vmmc1 = &zoom_vmmc1, - .vmmc2 = &zoom_vmmc2, - .vsim = &zoom_vsim, - + .vmmc1 = &vmmc1_data, + .vmmc2 = &vmmc2_data, + .vsim = &vsim_data, }; static struct i2c_board_info __initdata zoom_i2c_boardinfo[] = {