From patchwork Thu Mar 28 16:11:17 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lee Jones X-Patchwork-Id: 15737 Return-Path: X-Original-To: patchwork@peony.canonical.com Delivered-To: patchwork@peony.canonical.com Received: from fiordland.canonical.com (fiordland.canonical.com [91.189.94.145]) by peony.canonical.com (Postfix) with ESMTP id BC80723E10 for ; Thu, 28 Mar 2013 16:12:31 +0000 (UTC) Received: from mail-ve0-f177.google.com (mail-ve0-f177.google.com [209.85.128.177]) by fiordland.canonical.com (Postfix) with ESMTP id 27492A18899 for ; Thu, 28 Mar 2013 16:12:31 +0000 (UTC) Received: by mail-ve0-f177.google.com with SMTP id jw11so4152493veb.36 for ; Thu, 28 Mar 2013 09:12:30 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:x-forwarded-to:x-forwarded-for:delivered-to:x-received :received-spf:x-received:from:to:cc:subject:date:message-id:x-mailer :in-reply-to:references:x-gm-message-state; bh=FwxlXG1hfyDmLVvOozCjWeP/jvnQ1TRo2NECa747KUw=; b=mxLZ8uWSJpUOqE55AKVxkoAVjUrrzemKI4RXHf/28LJpW/n/ovKqs8pzEGxxWIzGKi IXTi0TRAXwKhu/jzE0tKQLFrEyqRSMimlQCJecPVy6HtVtBfBFg5np3yxWLX2FqHxjJc PSQPl0/OyL9KO+beJxDscCREdL38Uzhpn5wAw6iKf3Bq3/jCwsraBGGrGm1sDMuWC14c AsGlAOuw1B+SX0LjD75R0yB4rr8RrsQ5tewU2p2BJ+7vxlEGnjLP5Tyo95578N3W/puL cX0mxXbwVfRZhf/ttFnb3NWl+2KeO+adlJlaSn8VcdTCghS6lLC/4iGGkF10i6So1qhB 21ow== X-Received: by 10.52.20.239 with SMTP id q15mr23759344vde.73.1364487150697; Thu, 28 Mar 2013 09:12:30 -0700 (PDT) X-Forwarded-To: linaro-patchwork@canonical.com X-Forwarded-For: patch@linaro.org linaro-patchwork@canonical.com Delivered-To: patches@linaro.org Received: by 10.59.4.204 with SMTP id cg12csp22418ved; Thu, 28 Mar 2013 09:12:29 -0700 (PDT) X-Received: by 10.194.110.69 with SMTP id hy5mr39541695wjb.1.1364487145098; Thu, 28 Mar 2013 09:12:25 -0700 (PDT) Received: from mail-wi0-x22d.google.com ([2a00:1450:400c:c05::22d]) by mx.google.com with ESMTPS id ay9si4308507wib.127.2013.03.28.09.12.24 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 28 Mar 2013 09:12:25 -0700 (PDT) Received-SPF: neutral (google.com: 2a00:1450:400c:c05::22d is neither permitted nor denied by best guess record for domain of lee.jones@linaro.org) client-ip=2a00:1450:400c:c05::22d; Authentication-Results: mx.google.com; spf=neutral (google.com: 2a00:1450:400c:c05::22d is neither permitted nor denied by best guess record for domain of lee.jones@linaro.org) smtp.mail=lee.jones@linaro.org Received: by mail-wi0-f173.google.com with SMTP id ez12so3478590wid.0 for ; Thu, 28 Mar 2013 09:12:24 -0700 (PDT) X-Received: by 10.180.91.106 with SMTP id cd10mr17468941wib.6.1364487144576; Thu, 28 Mar 2013 09:12:24 -0700 (PDT) Received: from localhost.localdomain (cpc34-aztw25-2-0-cust250.18-1.cable.virginmedia.com. [86.16.136.251]) by mx.google.com with ESMTPS id o5sm16765926wix.3.2013.03.28.09.12.22 (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 28 Mar 2013 09:12:23 -0700 (PDT) From: Lee Jones To: linux-kernel@vger.kernel.org, broonie@opensource.wolfsonmicro.com Cc: Lee Jones Subject: [PATCH 17/33] regulator: ab8500: Update voltage handling for fixed voltage regulators Date: Thu, 28 Mar 2013 16:11:17 +0000 Message-Id: <1364487093-19551-18-git-send-email-lee.jones@linaro.org> X-Mailer: git-send-email 1.7.10.4 In-Reply-To: <1364487093-19551-1-git-send-email-lee.jones@linaro.org> References: <1364487093-19551-1-git-send-email-lee.jones@linaro.org> X-Gm-Message-State: ALoCoQmbcKloT2oAV4huvYihrZ19a4YeX4r7Lv8wHsUHTJDB4DT0iCcT0NDC+JxBHnMHBjV0JIEW There are a few over-lapping methods for voltage selection operating in the AB8500 regulator driver currently. This patch removes unused, unnecessary variables from the regulator_info structures and provides voltage tables for those regulators which have fixed voltages. Signed-off-by: Lee Jones --- drivers/regulator/ab8500.c | 92 +++++++++++++++++++++----------------------- 1 file changed, 44 insertions(+), 48 deletions(-) diff --git a/drivers/regulator/ab8500.c b/drivers/regulator/ab8500.c index b9e71a5..e6f4666 100644 --- a/drivers/regulator/ab8500.c +++ b/drivers/regulator/ab8500.c @@ -140,6 +140,26 @@ static const int ldo_sdio_voltages[] = { 3050000, }; +static const unsigned int fixed_1200000_voltage[] = { + 1200000, +}; + +static const unsigned int fixed_1800000_voltage[] = { + 1800000, +}; + +static const unsigned int fixed_2000000_voltage[] = { + 2000000, +}; + +static const unsigned int fixed_2050000_voltage[] = { + 2050000, +}; + +static const unsigned int fixed_3300000_voltage[] = { + 3300000, +}; + static int ab8500_regulator_enable(struct regulator_dev *rdev) { int ret; @@ -392,7 +412,6 @@ static struct regulator_ops ab8500_regulator_mode_ops = { .get_optimum_mode = ab8500_regulator_get_optimum_mode, .set_mode = ab8500_regulator_set_mode, .get_mode = ab8500_regulator_get_mode, - .get_voltage_sel = ab8500_regulator_get_voltage_sel, .list_voltage = regulator_list_voltage_linear, }; @@ -400,7 +419,6 @@ static struct regulator_ops ab8500_regulator_ops = { .enable = ab8500_regulator_enable, .disable = ab8500_regulator_disable, .is_enabled = ab8500_regulator_is_enabled, - .get_voltage_sel = ab8500_regulator_get_voltage_sel, .list_voltage = regulator_list_voltage_linear, }; @@ -516,7 +534,7 @@ static struct ab8500_regulator_info .id = AB8500_LDO_TVOUT, .owner = THIS_MODULE, .n_voltages = 1, - .min_uV = 2000000, + .volt_table = fixed_2000000_voltage, .enable_time = 500, }, .load_lp_uA = 1000, @@ -535,8 +553,8 @@ static struct ab8500_regulator_info .id = AB8500_LDO_AUDIO, .owner = THIS_MODULE, .n_voltages = 1, - .min_uV = 2000000, .enable_time = 140, + .volt_table = fixed_2000000_voltage, }, .update_bank = 0x03, .update_reg = 0x83, @@ -551,8 +569,8 @@ static struct ab8500_regulator_info .id = AB8500_LDO_ANAMIC1, .owner = THIS_MODULE, .n_voltages = 1, - .min_uV = 2050000, .enable_time = 500, + .volt_table = fixed_2050000_voltage, }, .update_bank = 0x03, .update_reg = 0x83, @@ -567,8 +585,8 @@ static struct ab8500_regulator_info .id = AB8500_LDO_ANAMIC2, .owner = THIS_MODULE, .n_voltages = 1, - .min_uV = 2050000, .enable_time = 500, + .volt_table = fixed_2050000_voltage, }, .update_bank = 0x03, .update_reg = 0x83, @@ -583,8 +601,8 @@ static struct ab8500_regulator_info .id = AB8500_LDO_DMIC, .owner = THIS_MODULE, .n_voltages = 1, - .min_uV = 1800000, .enable_time = 420, + .volt_table = fixed_1800000_voltage, }, .update_bank = 0x03, .update_reg = 0x83, @@ -603,8 +621,8 @@ static struct ab8500_regulator_info .id = AB8500_LDO_ANA, .owner = THIS_MODULE, .n_voltages = 1, - .min_uV = 1200000, .enable_time = 140, + .volt_table = fixed_1200000_voltage, }, .load_lp_uA = 1000, .update_bank = 0x04, @@ -634,8 +652,6 @@ static struct ab8500_regulator_info .owner = THIS_MODULE, .n_voltages = ARRAY_SIZE(ldo_vauxn_voltages), }, - .min_uV = 1100000, - .max_uV = 3300000, .load_lp_uA = 5000, .update_bank = 0x04, .update_reg = 0x09, @@ -658,8 +674,6 @@ static struct ab8500_regulator_info .owner = THIS_MODULE, .n_voltages = ARRAY_SIZE(ldo_vauxn_voltages), }, - .min_uV = 1100000, - .max_uV = 3300000, .load_lp_uA = 5000, .update_bank = 0x04, .update_reg = 0x09, @@ -682,8 +696,6 @@ static struct ab8500_regulator_info .owner = THIS_MODULE, .n_voltages = ARRAY_SIZE(ldo_vaux3_voltages), }, - .min_uV = 1100000, - .max_uV = 3300000, .load_lp_uA = 5000, .update_bank = 0x04, .update_reg = 0x0a, @@ -706,8 +718,6 @@ static struct ab8500_regulator_info .owner = THIS_MODULE, .n_voltages = ARRAY_SIZE(ldo_vauxn_voltages), }, - .min_uV = 1100000, - .max_uV = 3300000, .load_lp_uA = 5000, /* values for Vaux4Regu register */ .update_bank = 0x04, @@ -732,8 +742,6 @@ static struct ab8500_regulator_info .owner = THIS_MODULE, .n_voltages = ARRAY_SIZE(ldo_vaux56_voltages), }, - .min_uV = 1050000, - .max_uV = 2790000, .load_lp_uA = 2000, /* values for CtrlVaux5 register */ .update_bank = 0x01, @@ -757,8 +765,6 @@ static struct ab8500_regulator_info .owner = THIS_MODULE, .n_voltages = ARRAY_SIZE(ldo_vaux56_voltages), }, - .min_uV = 1050000, - .max_uV = 2790000, .load_lp_uA = 2000, /* values for CtrlVaux6 register */ .update_bank = 0x01, @@ -782,8 +788,6 @@ static struct ab8500_regulator_info .owner = THIS_MODULE, .n_voltages = ARRAY_SIZE(ldo_vintcore_voltages), }, - .min_uV = 1100000, - .max_uV = 3300000, .load_lp_uA = 5000, .update_bank = 0x03, .update_reg = 0x80, @@ -812,9 +816,9 @@ static struct ab8500_regulator_info .id = AB8505_LDO_ADC, .owner = THIS_MODULE, .n_voltages = 1, + .volt_table = fixed_2000000_voltage, }, .delay = 10000, - .fixed_uV = 2000000, .load_lp_uA = 1000, .update_bank = 0x03, .update_reg = 0x80, @@ -831,8 +835,8 @@ static struct ab8500_regulator_info .id = AB9540_LDO_USB, .owner = THIS_MODULE, .n_voltages = 1, + .volt_table = fixed_3300000_voltage, }, - .fixed_uV = 3300000, .update_bank = 0x03, .update_reg = 0x82, .update_mask = 0x03, @@ -848,8 +852,8 @@ static struct ab8500_regulator_info .id = AB8500_LDO_AUDIO, .owner = THIS_MODULE, .n_voltages = 1, + .volt_table = fixed_2000000_voltage, }, - .fixed_uV = 2000000, .update_bank = 0x03, .update_reg = 0x83, .update_mask = 0x02, @@ -863,8 +867,8 @@ static struct ab8500_regulator_info .id = AB8500_LDO_ANAMIC1, .owner = THIS_MODULE, .n_voltages = 1, + .volt_table = fixed_2050000_voltage, }, - .fixed_uV = 2050000, .update_bank = 0x03, .update_reg = 0x83, .update_mask = 0x08, @@ -878,8 +882,8 @@ static struct ab8500_regulator_info .id = AB8500_LDO_ANAMIC2, .owner = THIS_MODULE, .n_voltages = 1, + .volt_table = fixed_2050000_voltage, }, - .fixed_uV = 2050000, .update_bank = 0x03, .update_reg = 0x83, .update_mask = 0x10, @@ -893,8 +897,8 @@ static struct ab8500_regulator_info .id = AB8505_LDO_AUX8, .owner = THIS_MODULE, .n_voltages = 1, + .volt_table = fixed_1800000_voltage, }, - .fixed_uV = 1800000, .update_bank = 0x03, .update_reg = 0x83, .update_mask = 0x04, @@ -911,8 +915,8 @@ static struct ab8500_regulator_info .id = AB8500_LDO_ANA, .owner = THIS_MODULE, .n_voltages = 1, + .volt_table = fixed_1200000_voltage, }, - .fixed_uV = 1200000, .load_lp_uA = 1000, .update_bank = 0x04, .update_reg = 0x06, @@ -941,8 +945,6 @@ static struct ab8500_regulator_info .owner = THIS_MODULE, .n_voltages = ARRAY_SIZE(ldo_vauxn_voltages), }, - .min_uV = 1100000, - .max_uV = 3300000, .load_lp_uA = 5000, .update_bank = 0x04, .update_reg = 0x09, @@ -965,8 +967,6 @@ static struct ab8500_regulator_info .owner = THIS_MODULE, .n_voltages = ARRAY_SIZE(ldo_vauxn_voltages), }, - .min_uV = 1100000, - .max_uV = 3300000, .load_lp_uA = 5000, .update_bank = 0x04, .update_reg = 0x09, @@ -989,8 +989,6 @@ static struct ab8500_regulator_info .owner = THIS_MODULE, .n_voltages = ARRAY_SIZE(ldo_vaux3_voltages), }, - .min_uV = 1100000, - .max_uV = 3300000, .load_lp_uA = 5000, .update_bank = 0x04, .update_reg = 0x0a, @@ -1013,8 +1011,6 @@ static struct ab8500_regulator_info .owner = THIS_MODULE, .n_voltages = ARRAY_SIZE(ldo_vauxn_voltages), }, - .min_uV = 1100000, - .max_uV = 3300000, .load_lp_uA = 5000, /* values for Vaux4Regu register */ .update_bank = 0x04, @@ -1039,8 +1035,6 @@ static struct ab8500_regulator_info .owner = THIS_MODULE, .n_voltages = ARRAY_SIZE(ldo_vintcore_voltages), }, - .min_uV = 1100000, - .max_uV = 3300000, .load_lp_uA = 5000, .update_bank = 0x03, .update_reg = 0x80, @@ -1069,9 +1063,9 @@ static struct ab8500_regulator_info .id = AB8500_LDO_TVOUT, .owner = THIS_MODULE, .n_voltages = 1, + .volt_table = fixed_2000000_voltage, }, .delay = 10000, - .fixed_uV = 2000000, .load_lp_uA = 1000, .update_bank = 0x03, .update_reg = 0x80, @@ -1088,8 +1082,8 @@ static struct ab8500_regulator_info .id = AB9540_LDO_USB, .owner = THIS_MODULE, .n_voltages = 1, + .volt_table = fixed_3300000_voltage, }, - .fixed_uV = 3300000, .update_bank = 0x03, .update_reg = 0x82, .update_mask = 0x03, @@ -1105,8 +1099,8 @@ static struct ab8500_regulator_info .id = AB8500_LDO_AUDIO, .owner = THIS_MODULE, .n_voltages = 1, + .volt_table = fixed_2000000_voltage, }, - .fixed_uV = 2000000, .update_bank = 0x03, .update_reg = 0x83, .update_mask = 0x02, @@ -1120,8 +1114,8 @@ static struct ab8500_regulator_info .id = AB8500_LDO_ANAMIC1, .owner = THIS_MODULE, .n_voltages = 1, + .volt_table = fixed_2050000_voltage, }, - .fixed_uV = 2050000, .update_bank = 0x03, .update_reg = 0x83, .update_mask = 0x08, @@ -1135,8 +1129,8 @@ static struct ab8500_regulator_info .id = AB8500_LDO_ANAMIC2, .owner = THIS_MODULE, .n_voltages = 1, + .volt_table = fixed_2050000_voltage, }, - .fixed_uV = 2050000, .update_bank = 0x03, .update_reg = 0x83, .update_mask = 0x10, @@ -1150,8 +1144,8 @@ static struct ab8500_regulator_info .id = AB8500_LDO_DMIC, .owner = THIS_MODULE, .n_voltages = 1, + .volt_table = fixed_1800000_voltage, }, - .fixed_uV = 1800000, .update_bank = 0x03, .update_reg = 0x83, .update_mask = 0x04, @@ -1169,8 +1163,8 @@ static struct ab8500_regulator_info .id = AB8500_LDO_ANA, .owner = THIS_MODULE, .n_voltages = 1, + .volt_table = fixed_1200000_voltage, }, - .fixed_uV = 1200000, .load_lp_uA = 1000, .update_bank = 0x04, .update_reg = 0x06, @@ -1335,6 +1329,7 @@ static struct ab8500_regulator_info .id = AB8500_LDO_AUDIO, .owner = THIS_MODULE, .n_voltages = 1, + .volt_table = fixed_2000000_voltage, }, .update_bank = 0x03, .update_reg = 0x83, @@ -1349,6 +1344,7 @@ static struct ab8500_regulator_info .id = AB8500_LDO_ANAMIC1, .owner = THIS_MODULE, .n_voltages = 1, + .volt_table = fixed_2050000_voltage, }, .update_bank = 0x03, .update_reg = 0x83, @@ -1363,6 +1359,7 @@ static struct ab8500_regulator_info .id = AB8500_LDO_ANAMIC2, .owner = THIS_MODULE, .n_voltages = 1, + .volt_table = fixed_2050000_voltage, }, .update_bank = 0x03, .update_reg = 0x83, @@ -1395,6 +1392,7 @@ static struct ab8500_regulator_info .id = AB8500_LDO_ANA, .owner = THIS_MODULE, .n_voltages = 1, + .volt_table = fixed_1200000_voltage, }, .load_lp_uA = 1000, .update_bank = 0x04, @@ -1413,8 +1411,6 @@ static struct ab8500_regulator_info .owner = THIS_MODULE, .n_voltages = ARRAY_SIZE(ldo_sdio_voltages), }, - .min_uV = 1050000, - .max_uV = 3050000, .load_lp_uA = 5000, .update_bank = 0x03, .update_reg = 0x88,