From patchwork Wed Jan 19 14:14:24 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajendra Nayak X-Patchwork-Id: 489701 X-Patchwork-Delegate: paul@pwsan.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter1.kernel.org (8.14.4/8.14.3) with ESMTP id p0JEuJCs010815 for ; Wed, 19 Jan 2011 17:08:20 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754388Ab1ASOOj (ORCPT ); Wed, 19 Jan 2011 09:14:39 -0500 Received: from arroyo.ext.ti.com ([192.94.94.40]:45179 "EHLO arroyo.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754355Ab1ASOOg (ORCPT ); Wed, 19 Jan 2011 09:14:36 -0500 Received: from dbdp31.itg.ti.com ([172.24.170.98]) by arroyo.ext.ti.com (8.13.7/8.13.7) with ESMTP id p0JEEUxe000641 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 19 Jan 2011 08:14:33 -0600 Received: from linfarm476.india.ti.com (localhost [127.0.0.1]) by dbdp31.itg.ti.com (8.13.8/8.13.8) with ESMTP id p0JEERFm017803; Wed, 19 Jan 2011 19:44:28 +0530 (IST) Received: from linfarm476.india.ti.com (localhost [127.0.0.1]) by linfarm476.india.ti.com (8.12.11/8.12.11) with ESMTP id p0JEERAi023713; Wed, 19 Jan 2011 19:44:27 +0530 Received: (from a0131687@localhost) by linfarm476.india.ti.com (8.12.11/8.12.11/Submit) id p0JEERuF023711; Wed, 19 Jan 2011 19:44:27 +0530 From: Rajendra Nayak To: linux-omap@vger.kernel.org Cc: paul@pwsan.com, khilman@deeprootsystems.com, Rajendra Nayak Subject: [RFC 1/3] OMAP: clocks: Use clk names instead of clk pointers Date: Wed, 19 Jan 2011 19:44:24 +0530 Message-Id: <1295446466-23655-2-git-send-email-rnayak@ti.com> X-Mailer: git-send-email 1.5.6.6 In-Reply-To: <1295446466-23655-1-git-send-email-rnayak@ti.com> References: <1295446466-23655-1-git-send-email-rnayak@ti.com> Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.6 (demeter1.kernel.org [140.211.167.41]); Wed, 19 Jan 2011 17:08:51 +0000 (UTC) diff --git a/arch/arm/mach-omap2/clock2420_data.c b/arch/arm/mach-omap2/clock2420_data.c index 0a992bc..5662e51 100644 --- a/arch/arm/mach-omap2/clock2420_data.c +++ b/arch/arm/mach-omap2/clock2420_data.c @@ -161,17 +161,17 @@ static struct clk apll54_ck = { /* func_54m_ck */ -static const struct clksel_rate func_54m_apll54_rates[] = { +static struct clksel_rate func_54m_apll54_rates[] = { { .div = 1, .val = 0, .flags = RATE_IN_24XX }, { .div = 0 }, }; -static const struct clksel_rate func_54m_alt_rates[] = { +static struct clksel_rate func_54m_alt_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_24XX }, { .div = 0 }, }; -static const struct clksel func_54m_clksel[] = { +static struct clksel func_54m_clksel[] = { { .parent = &apll54_ck, .rates = func_54m_apll54_rates, }, { .parent = &alt_ck, .rates = func_54m_alt_rates, }, { .parent = NULL }, @@ -207,17 +207,17 @@ static struct clk func_96m_ck = { /* func_48m_ck */ -static const struct clksel_rate func_48m_apll96_rates[] = { +static struct clksel_rate func_48m_apll96_rates[] = { { .div = 2, .val = 0, .flags = RATE_IN_24XX }, { .div = 0 }, }; -static const struct clksel_rate func_48m_alt_rates[] = { +static struct clksel_rate func_48m_alt_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_24XX }, { .div = 0 }, }; -static const struct clksel func_48m_clksel[] = { +static struct clksel func_48m_clksel[] = { { .parent = &apll96_ck, .rates = func_48m_apll96_rates }, { .parent = &alt_ck, .rates = func_48m_alt_rates }, { .parent = NULL } @@ -262,27 +262,27 @@ static struct clk wdt1_osc_ck = { * harmless since access to those clocks are gated by the struct clk * flags fields, which mark them as 2420-only. */ -static const struct clksel_rate common_clkout_src_core_rates[] = { +static struct clksel_rate common_clkout_src_core_rates[] = { { .div = 1, .val = 0, .flags = RATE_IN_24XX }, { .div = 0 } }; -static const struct clksel_rate common_clkout_src_sys_rates[] = { +static struct clksel_rate common_clkout_src_sys_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_24XX }, { .div = 0 } }; -static const struct clksel_rate common_clkout_src_96m_rates[] = { +static struct clksel_rate common_clkout_src_96m_rates[] = { { .div = 1, .val = 2, .flags = RATE_IN_24XX }, { .div = 0 } }; -static const struct clksel_rate common_clkout_src_54m_rates[] = { +static struct clksel_rate common_clkout_src_54m_rates[] = { { .div = 1, .val = 3, .flags = RATE_IN_24XX }, { .div = 0 } }; -static const struct clksel common_clkout_src_clksel[] = { +static struct clksel common_clkout_src_clksel[] = { { .parent = &core_ck, .rates = common_clkout_src_core_rates }, { .parent = &sys_ck, .rates = common_clkout_src_sys_rates }, { .parent = &func_96m_ck, .rates = common_clkout_src_96m_rates }, @@ -306,7 +306,7 @@ static struct clk sys_clkout_src = { .set_rate = &omap2_clksel_set_rate }; -static const struct clksel_rate common_clkout_rates[] = { +static struct clksel_rate common_clkout_rates[] = { { .div = 1, .val = 0, .flags = RATE_IN_24XX }, { .div = 2, .val = 1, .flags = RATE_IN_24XX }, { .div = 4, .val = 2, .flags = RATE_IN_24XX }, @@ -315,7 +315,7 @@ static const struct clksel_rate common_clkout_rates[] = { { .div = 0 }, }; -static const struct clksel sys_clkout_clksel[] = { +static struct clksel sys_clkout_clksel[] = { { .parent = &sys_clkout_src, .rates = common_clkout_rates }, { .parent = NULL } }; @@ -350,7 +350,7 @@ static struct clk sys_clkout2_src = { .set_rate = &omap2_clksel_set_rate }; -static const struct clksel sys_clkout2_clksel[] = { +static struct clksel sys_clkout2_clksel[] = { { .parent = &sys_clkout2_src, .rates = common_clkout_rates }, { .parent = NULL } }; @@ -390,7 +390,7 @@ static struct clk emul_ck = { * - Base divider comes from: CM_CLKSEL_MPU * */ -static const struct clksel_rate mpu_core_rates[] = { +static struct clksel_rate mpu_core_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_24XX }, { .div = 2, .val = 2, .flags = RATE_IN_24XX }, { .div = 4, .val = 4, .flags = RATE_IN_242X }, @@ -399,7 +399,7 @@ static const struct clksel_rate mpu_core_rates[] = { { .div = 0 }, }; -static const struct clksel mpu_clksel[] = { +static struct clksel mpu_clksel[] = { { .parent = &core_ck, .rates = mpu_core_rates }, { .parent = NULL } }; @@ -426,7 +426,7 @@ static struct clk mpu_ck = { /* Control cpu */ * controls. The other branch gets further divided by 2 then possibly * routed into a synchronizer and out of clocks abc. */ -static const struct clksel_rate dsp_fck_core_rates[] = { +static struct clksel_rate dsp_fck_core_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_24XX }, { .div = 2, .val = 2, .flags = RATE_IN_24XX }, { .div = 3, .val = 3, .flags = RATE_IN_24XX }, @@ -437,7 +437,7 @@ static const struct clksel_rate dsp_fck_core_rates[] = { { .div = 0 }, }; -static const struct clksel dsp_fck_clksel[] = { +static struct clksel dsp_fck_clksel[] = { { .parent = &core_ck, .rates = dsp_fck_core_rates }, { .parent = NULL } }; @@ -456,13 +456,13 @@ static struct clk dsp_fck = { }; /* DSP interface clock */ -static const struct clksel_rate dsp_irate_ick_rates[] = { +static struct clksel_rate dsp_irate_ick_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_24XX }, { .div = 2, .val = 2, .flags = RATE_IN_24XX }, { .div = 0 }, }; -static const struct clksel dsp_irate_ick_clksel[] = { +static struct clksel dsp_irate_ick_clksel[] = { { .parent = &dsp_fck, .rates = dsp_irate_ick_rates }, { .parent = NULL } }; @@ -536,7 +536,7 @@ static struct clk iva1_mpu_int_ifck = { * may very well need notification when the clock changes. Currently for low * operating points, these are taken care of in sleep.S. */ -static const struct clksel_rate core_l3_core_rates[] = { +static struct clksel_rate core_l3_core_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_24XX }, { .div = 2, .val = 2, .flags = RATE_IN_242X }, { .div = 4, .val = 4, .flags = RATE_IN_24XX }, @@ -547,7 +547,7 @@ static const struct clksel_rate core_l3_core_rates[] = { { .div = 0 } }; -static const struct clksel core_l3_clksel[] = { +static struct clksel core_l3_clksel[] = { { .parent = &core_ck, .rates = core_l3_core_rates }, { .parent = NULL } }; @@ -564,14 +564,14 @@ static struct clk core_l3_ck = { /* Used for ick and fck, interconnect */ }; /* usb_l4_ick */ -static const struct clksel_rate usb_l4_ick_core_l3_rates[] = { +static struct clksel_rate usb_l4_ick_core_l3_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_24XX }, { .div = 2, .val = 2, .flags = RATE_IN_24XX }, { .div = 4, .val = 4, .flags = RATE_IN_24XX }, { .div = 0 } }; -static const struct clksel usb_l4_ick_clksel[] = { +static struct clksel usb_l4_ick_clksel[] = { { .parent = &core_l3_ck, .rates = usb_l4_ick_core_l3_rates }, { .parent = NULL }, }; @@ -597,13 +597,13 @@ static struct clk usb_l4_ick = { /* FS-USB interface clock */ * functional clocks. Fixed APLL functional source clocks are managed in * this domain. */ -static const struct clksel_rate l4_core_l3_rates[] = { +static struct clksel_rate l4_core_l3_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_24XX }, { .div = 2, .val = 2, .flags = RATE_IN_24XX }, { .div = 0 } }; -static const struct clksel l4_clksel[] = { +static struct clksel l4_clksel[] = { { .parent = &core_l3_ck, .rates = l4_core_l3_rates }, { .parent = NULL } }; @@ -627,7 +627,7 @@ static struct clk l4_ck = { /* used both as an ick and fck */ * * ssr = core/1/2/3/4/5, sst = 1/2 ssr. */ -static const struct clksel_rate ssi_ssr_sst_fck_core_rates[] = { +static struct clksel_rate ssi_ssr_sst_fck_core_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_24XX }, { .div = 2, .val = 2, .flags = RATE_IN_24XX }, { .div = 3, .val = 3, .flags = RATE_IN_24XX }, @@ -637,7 +637,7 @@ static const struct clksel_rate ssi_ssr_sst_fck_core_rates[] = { { .div = 0 } }; -static const struct clksel ssi_ssr_sst_fck_clksel[] = { +static struct clksel ssi_ssr_sst_fck_clksel[] = { { .parent = &core_ck, .rates = ssi_ssr_sst_fck_core_rates }, { .parent = NULL } }; @@ -683,7 +683,7 @@ static struct clk ssi_l4_ick = { */ /* This clksel struct is shared between gfx_3d_fck and gfx_2d_fck */ -static const struct clksel gfx_fck_clksel[] = { +static struct clksel gfx_fck_clksel[] = { { .parent = &core_l3_ck, .rates = gfx_l3_rates }, { .parent = NULL }, }; @@ -736,12 +736,12 @@ static struct clk gfx_ick = { */ /* XXX Add RATE_NOT_VALIDATED */ -static const struct clksel_rate dss1_fck_sys_rates[] = { +static struct clksel_rate dss1_fck_sys_rates[] = { { .div = 1, .val = 0, .flags = RATE_IN_24XX }, { .div = 0 } }; -static const struct clksel_rate dss1_fck_core_rates[] = { +static struct clksel_rate dss1_fck_core_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_24XX }, { .div = 2, .val = 2, .flags = RATE_IN_24XX }, { .div = 3, .val = 3, .flags = RATE_IN_24XX }, @@ -755,7 +755,7 @@ static const struct clksel_rate dss1_fck_core_rates[] = { { .div = 0 } }; -static const struct clksel dss1_fck_clksel[] = { +static struct clksel dss1_fck_clksel[] = { { .parent = &sys_ck, .rates = dss1_fck_sys_rates }, { .parent = &core_ck, .rates = dss1_fck_core_rates }, { .parent = NULL }, @@ -785,17 +785,17 @@ static struct clk dss1_fck = { .recalc = &omap2_clksel_recalc, }; -static const struct clksel_rate dss2_fck_sys_rates[] = { +static struct clksel_rate dss2_fck_sys_rates[] = { { .div = 1, .val = 0, .flags = RATE_IN_24XX }, { .div = 0 } }; -static const struct clksel_rate dss2_fck_48m_rates[] = { +static struct clksel_rate dss2_fck_48m_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_24XX }, { .div = 0 } }; -static const struct clksel dss2_fck_clksel[] = { +static struct clksel dss2_fck_clksel[] = { { .parent = &sys_ck, .rates = dss2_fck_sys_rates }, { .parent = &func_48m_ck, .rates = dss2_fck_48m_rates }, { .parent = NULL } @@ -831,12 +831,12 @@ static struct clk dss_54m_fck = { /* Alt clk used in power management */ * here will likely have an L4 interface parent, and may have multiple * functional clock parents. */ -static const struct clksel_rate gpt_alt_rates[] = { +static struct clksel_rate gpt_alt_rates[] = { { .div = 1, .val = 2, .flags = RATE_IN_24XX }, { .div = 0 } }; -static const struct clksel omap24xx_gpt_clksel[] = { +static struct clksel omap24xx_gpt_clksel[] = { { .parent = &func_32k_ck, .rates = gpt_32k_rates }, { .parent = &sys_ck, .rates = gpt_sys_rates }, { .parent = &alt_ck, .rates = gpt_alt_rates }, @@ -1142,17 +1142,17 @@ static struct clk mcbsp1_ick = { .recalc = &followparent_recalc, }; -static const struct clksel_rate common_mcbsp_96m_rates[] = { +static struct clksel_rate common_mcbsp_96m_rates[] = { { .div = 1, .val = 0, .flags = RATE_IN_24XX }, { .div = 0 } }; -static const struct clksel_rate common_mcbsp_mcbsp_rates[] = { +static struct clksel_rate common_mcbsp_mcbsp_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_24XX }, { .div = 0 } }; -static const struct clksel mcbsp_fck_clksel[] = { +static struct clksel mcbsp_fck_clksel[] = { { .parent = &func_96m_ck, .rates = common_mcbsp_96m_rates }, { .parent = &mcbsp_clks, .rates = common_mcbsp_mcbsp_rates }, { .parent = NULL } @@ -1618,12 +1618,12 @@ static struct clk vlynq_ick = { .recalc = &followparent_recalc, }; -static const struct clksel_rate vlynq_fck_96m_rates[] = { +static struct clksel_rate vlynq_fck_96m_rates[] = { { .div = 1, .val = 0, .flags = RATE_IN_242X }, { .div = 0 } }; -static const struct clksel_rate vlynq_fck_core_rates[] = { +static struct clksel_rate vlynq_fck_core_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_242X }, { .div = 2, .val = 2, .flags = RATE_IN_242X }, { .div = 3, .val = 3, .flags = RATE_IN_242X }, @@ -1637,7 +1637,7 @@ static const struct clksel_rate vlynq_fck_core_rates[] = { { .div = 0 } }; -static const struct clksel vlynq_fck_clksel[] = { +static struct clksel vlynq_fck_clksel[] = { { .parent = &func_96m_ck, .rates = vlynq_fck_96m_rates }, { .parent = &core_ck, .rates = vlynq_fck_core_rates }, { .parent = NULL } diff --git a/arch/arm/mach-omap2/clock2430_data.c b/arch/arm/mach-omap2/clock2430_data.c index c047dcd..6f08a57 100644 --- a/arch/arm/mach-omap2/clock2430_data.c +++ b/arch/arm/mach-omap2/clock2430_data.c @@ -161,17 +161,17 @@ static struct clk apll54_ck = { /* func_54m_ck */ -static const struct clksel_rate func_54m_apll54_rates[] = { +static struct clksel_rate func_54m_apll54_rates[] = { { .div = 1, .val = 0, .flags = RATE_IN_24XX }, { .div = 0 }, }; -static const struct clksel_rate func_54m_alt_rates[] = { +static struct clksel_rate func_54m_alt_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_24XX }, { .div = 0 }, }; -static const struct clksel func_54m_clksel[] = { +static struct clksel func_54m_clksel[] = { { .parent = &apll54_ck, .rates = func_54m_apll54_rates, }, { .parent = &alt_ck, .rates = func_54m_alt_rates, }, { .parent = NULL }, @@ -198,17 +198,17 @@ static struct clk core_ck = { }; /* func_96m_ck */ -static const struct clksel_rate func_96m_apll96_rates[] = { +static struct clksel_rate func_96m_apll96_rates[] = { { .div = 1, .val = 0, .flags = RATE_IN_24XX }, { .div = 0 }, }; -static const struct clksel_rate func_96m_alt_rates[] = { +static struct clksel_rate func_96m_alt_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_243X }, { .div = 0 }, }; -static const struct clksel func_96m_clksel[] = { +static struct clksel func_96m_clksel[] = { { .parent = &apll96_ck, .rates = func_96m_apll96_rates }, { .parent = &alt_ck, .rates = func_96m_alt_rates }, { .parent = NULL } @@ -228,17 +228,17 @@ static struct clk func_96m_ck = { /* func_48m_ck */ -static const struct clksel_rate func_48m_apll96_rates[] = { +static struct clksel_rate func_48m_apll96_rates[] = { { .div = 2, .val = 0, .flags = RATE_IN_24XX }, { .div = 0 }, }; -static const struct clksel_rate func_48m_alt_rates[] = { +static struct clksel_rate func_48m_alt_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_24XX }, { .div = 0 }, }; -static const struct clksel func_48m_clksel[] = { +static struct clksel func_48m_clksel[] = { { .parent = &apll96_ck, .rates = func_48m_apll96_rates }, { .parent = &alt_ck, .rates = func_48m_alt_rates }, { .parent = NULL } @@ -283,27 +283,27 @@ static struct clk wdt1_osc_ck = { * harmless since access to those clocks are gated by the struct clk * flags fields, which mark them as 2420-only. */ -static const struct clksel_rate common_clkout_src_core_rates[] = { +static struct clksel_rate common_clkout_src_core_rates[] = { { .div = 1, .val = 0, .flags = RATE_IN_24XX }, { .div = 0 } }; -static const struct clksel_rate common_clkout_src_sys_rates[] = { +static struct clksel_rate common_clkout_src_sys_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_24XX }, { .div = 0 } }; -static const struct clksel_rate common_clkout_src_96m_rates[] = { +static struct clksel_rate common_clkout_src_96m_rates[] = { { .div = 1, .val = 2, .flags = RATE_IN_24XX }, { .div = 0 } }; -static const struct clksel_rate common_clkout_src_54m_rates[] = { +static struct clksel_rate common_clkout_src_54m_rates[] = { { .div = 1, .val = 3, .flags = RATE_IN_24XX }, { .div = 0 } }; -static const struct clksel common_clkout_src_clksel[] = { +static struct clksel common_clkout_src_clksel[] = { { .parent = &core_ck, .rates = common_clkout_src_core_rates }, { .parent = &sys_ck, .rates = common_clkout_src_sys_rates }, { .parent = &func_96m_ck, .rates = common_clkout_src_96m_rates }, @@ -327,7 +327,7 @@ static struct clk sys_clkout_src = { .set_rate = &omap2_clksel_set_rate }; -static const struct clksel_rate common_clkout_rates[] = { +static struct clksel_rate common_clkout_rates[] = { { .div = 1, .val = 0, .flags = RATE_IN_24XX }, { .div = 2, .val = 1, .flags = RATE_IN_24XX }, { .div = 4, .val = 2, .flags = RATE_IN_24XX }, @@ -336,7 +336,7 @@ static const struct clksel_rate common_clkout_rates[] = { { .div = 0 }, }; -static const struct clksel sys_clkout_clksel[] = { +static struct clksel sys_clkout_clksel[] = { { .parent = &sys_clkout_src, .rates = common_clkout_rates }, { .parent = NULL } }; @@ -375,13 +375,13 @@ static struct clk emul_ck = { * - Base divider comes from: CM_CLKSEL_MPU * */ -static const struct clksel_rate mpu_core_rates[] = { +static struct clksel_rate mpu_core_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_24XX }, { .div = 2, .val = 2, .flags = RATE_IN_24XX }, { .div = 0 }, }; -static const struct clksel mpu_clksel[] = { +static struct clksel mpu_clksel[] = { { .parent = &core_ck, .rates = mpu_core_rates }, { .parent = NULL } }; @@ -408,7 +408,7 @@ static struct clk mpu_ck = { /* Control cpu */ * controls. The other branch gets further divided by 2 then possibly * routed into a synchronizer and out of clocks abc. */ -static const struct clksel_rate dsp_fck_core_rates[] = { +static struct clksel_rate dsp_fck_core_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_24XX }, { .div = 2, .val = 2, .flags = RATE_IN_24XX }, { .div = 3, .val = 3, .flags = RATE_IN_24XX }, @@ -416,7 +416,7 @@ static const struct clksel_rate dsp_fck_core_rates[] = { { .div = 0 }, }; -static const struct clksel dsp_fck_clksel[] = { +static struct clksel dsp_fck_clksel[] = { { .parent = &core_ck, .rates = dsp_fck_core_rates }, { .parent = NULL } }; @@ -435,14 +435,14 @@ static struct clk dsp_fck = { }; /* DSP interface clock */ -static const struct clksel_rate dsp_irate_ick_rates[] = { +static struct clksel_rate dsp_irate_ick_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_24XX }, { .div = 2, .val = 2, .flags = RATE_IN_24XX }, { .div = 3, .val = 3, .flags = RATE_IN_243X }, { .div = 0 }, }; -static const struct clksel dsp_irate_ick_clksel[] = { +static struct clksel dsp_irate_ick_clksel[] = { { .parent = &dsp_fck, .rates = dsp_irate_ick_rates }, { .parent = NULL } }; @@ -486,14 +486,14 @@ static struct clk iva2_1_ick = { * may very well need notification when the clock changes. Currently for low * operating points, these are taken care of in sleep.S. */ -static const struct clksel_rate core_l3_core_rates[] = { +static struct clksel_rate core_l3_core_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_24XX }, { .div = 4, .val = 4, .flags = RATE_IN_24XX }, { .div = 6, .val = 6, .flags = RATE_IN_24XX }, { .div = 0 } }; -static const struct clksel core_l3_clksel[] = { +static struct clksel core_l3_clksel[] = { { .parent = &core_ck, .rates = core_l3_core_rates }, { .parent = NULL } }; @@ -510,14 +510,14 @@ static struct clk core_l3_ck = { /* Used for ick and fck, interconnect */ }; /* usb_l4_ick */ -static const struct clksel_rate usb_l4_ick_core_l3_rates[] = { +static struct clksel_rate usb_l4_ick_core_l3_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_24XX }, { .div = 2, .val = 2, .flags = RATE_IN_24XX }, { .div = 4, .val = 4, .flags = RATE_IN_24XX }, { .div = 0 } }; -static const struct clksel usb_l4_ick_clksel[] = { +static struct clksel usb_l4_ick_clksel[] = { { .parent = &core_l3_ck, .rates = usb_l4_ick_core_l3_rates }, { .parent = NULL }, }; @@ -543,13 +543,13 @@ static struct clk usb_l4_ick = { /* FS-USB interface clock */ * functional clocks. Fixed APLL functional source clocks are managed in * this domain. */ -static const struct clksel_rate l4_core_l3_rates[] = { +static struct clksel_rate l4_core_l3_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_24XX }, { .div = 2, .val = 2, .flags = RATE_IN_24XX }, { .div = 0 } }; -static const struct clksel l4_clksel[] = { +static struct clksel l4_clksel[] = { { .parent = &core_l3_ck, .rates = l4_core_l3_rates }, { .parent = NULL } }; @@ -573,7 +573,7 @@ static struct clk l4_ck = { /* used both as an ick and fck */ * * ssr = core/1/2/3/4/5, sst = 1/2 ssr. */ -static const struct clksel_rate ssi_ssr_sst_fck_core_rates[] = { +static struct clksel_rate ssi_ssr_sst_fck_core_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_24XX }, { .div = 2, .val = 2, .flags = RATE_IN_24XX }, { .div = 3, .val = 3, .flags = RATE_IN_24XX }, @@ -582,7 +582,7 @@ static const struct clksel_rate ssi_ssr_sst_fck_core_rates[] = { { .div = 0 } }; -static const struct clksel ssi_ssr_sst_fck_clksel[] = { +static struct clksel ssi_ssr_sst_fck_clksel[] = { { .parent = &core_ck, .rates = ssi_ssr_sst_fck_core_rates }, { .parent = NULL } }; @@ -628,7 +628,7 @@ static struct clk ssi_l4_ick = { */ /* This clksel struct is shared between gfx_3d_fck and gfx_2d_fck */ -static const struct clksel gfx_fck_clksel[] = { +static struct clksel gfx_fck_clksel[] = { { .parent = &core_l3_ck, .rates = gfx_l3_rates }, { .parent = NULL }, }; @@ -678,7 +678,7 @@ static struct clk gfx_ick = { * MDM_ICLK * These clocks are usable in chassis mode only. */ -static const struct clksel_rate mdm_ick_core_rates[] = { +static struct clksel_rate mdm_ick_core_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_243X }, { .div = 4, .val = 4, .flags = RATE_IN_243X }, { .div = 6, .val = 6, .flags = RATE_IN_243X }, @@ -686,7 +686,7 @@ static const struct clksel_rate mdm_ick_core_rates[] = { { .div = 0 } }; -static const struct clksel mdm_ick_clksel[] = { +static struct clksel mdm_ick_clksel[] = { { .parent = &core_ck, .rates = mdm_ick_core_rates }, { .parent = NULL } }; @@ -724,12 +724,12 @@ static struct clk mdm_osc_ck = { */ /* XXX Add RATE_NOT_VALIDATED */ -static const struct clksel_rate dss1_fck_sys_rates[] = { +static struct clksel_rate dss1_fck_sys_rates[] = { { .div = 1, .val = 0, .flags = RATE_IN_24XX }, { .div = 0 } }; -static const struct clksel_rate dss1_fck_core_rates[] = { +static struct clksel_rate dss1_fck_core_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_24XX }, { .div = 2, .val = 2, .flags = RATE_IN_24XX }, { .div = 3, .val = 3, .flags = RATE_IN_24XX }, @@ -743,7 +743,7 @@ static const struct clksel_rate dss1_fck_core_rates[] = { { .div = 0 } }; -static const struct clksel dss1_fck_clksel[] = { +static struct clksel dss1_fck_clksel[] = { { .parent = &sys_ck, .rates = dss1_fck_sys_rates }, { .parent = &core_ck, .rates = dss1_fck_core_rates }, { .parent = NULL }, @@ -773,17 +773,17 @@ static struct clk dss1_fck = { .recalc = &omap2_clksel_recalc, }; -static const struct clksel_rate dss2_fck_sys_rates[] = { +static struct clksel_rate dss2_fck_sys_rates[] = { { .div = 1, .val = 0, .flags = RATE_IN_24XX }, { .div = 0 } }; -static const struct clksel_rate dss2_fck_48m_rates[] = { +static struct clksel_rate dss2_fck_48m_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_24XX }, { .div = 0 } }; -static const struct clksel dss2_fck_clksel[] = { +static struct clksel dss2_fck_clksel[] = { { .parent = &sys_ck, .rates = dss2_fck_sys_rates }, { .parent = &func_48m_ck, .rates = dss2_fck_48m_rates }, { .parent = NULL } @@ -819,12 +819,12 @@ static struct clk dss_54m_fck = { /* Alt clk used in power management */ * here will likely have an L4 interface parent, and may have multiple * functional clock parents. */ -static const struct clksel_rate gpt_alt_rates[] = { +static struct clksel_rate gpt_alt_rates[] = { { .div = 1, .val = 2, .flags = RATE_IN_24XX }, { .div = 0 } }; -static const struct clksel omap24xx_gpt_clksel[] = { +static struct clksel omap24xx_gpt_clksel[] = { { .parent = &func_32k_ck, .rates = gpt_32k_rates }, { .parent = &sys_ck, .rates = gpt_sys_rates }, { .parent = &alt_ck, .rates = gpt_alt_rates }, @@ -1130,17 +1130,17 @@ static struct clk mcbsp1_ick = { .recalc = &followparent_recalc, }; -static const struct clksel_rate common_mcbsp_96m_rates[] = { +static struct clksel_rate common_mcbsp_96m_rates[] = { { .div = 1, .val = 0, .flags = RATE_IN_24XX }, { .div = 0 } }; -static const struct clksel_rate common_mcbsp_mcbsp_rates[] = { +static struct clksel_rate common_mcbsp_mcbsp_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_24XX }, { .div = 0 } }; -static const struct clksel mcbsp_fck_clksel[] = { +static struct clksel mcbsp_fck_clksel[] = { { .parent = &func_96m_ck, .rates = common_mcbsp_96m_rates }, { .parent = &mcbsp_clks, .rates = common_mcbsp_mcbsp_rates }, { .parent = NULL } diff --git a/arch/arm/mach-omap2/clock3xxx_data.c b/arch/arm/mach-omap2/clock3xxx_data.c index 403a4a1..9c87adb 100644 --- a/arch/arm/mach-omap2/clock3xxx_data.c +++ b/arch/arm/mach-omap2/clock3xxx_data.c @@ -109,37 +109,37 @@ static struct clk virt_38_4m_ck = { .rate = 38400000, }; -static const struct clksel_rate osc_sys_12m_rates[] = { +static struct clksel_rate osc_sys_12m_rates[] = { { .div = 1, .val = 0, .flags = RATE_IN_3XXX }, { .div = 0 } }; -static const struct clksel_rate osc_sys_13m_rates[] = { +static struct clksel_rate osc_sys_13m_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_3XXX }, { .div = 0 } }; -static const struct clksel_rate osc_sys_16_8m_rates[] = { +static struct clksel_rate osc_sys_16_8m_rates[] = { { .div = 1, .val = 5, .flags = RATE_IN_3430ES2PLUS_36XX }, { .div = 0 } }; -static const struct clksel_rate osc_sys_19_2m_rates[] = { +static struct clksel_rate osc_sys_19_2m_rates[] = { { .div = 1, .val = 2, .flags = RATE_IN_3XXX }, { .div = 0 } }; -static const struct clksel_rate osc_sys_26m_rates[] = { +static struct clksel_rate osc_sys_26m_rates[] = { { .div = 1, .val = 3, .flags = RATE_IN_3XXX }, { .div = 0 } }; -static const struct clksel_rate osc_sys_38_4m_rates[] = { +static struct clksel_rate osc_sys_38_4m_rates[] = { { .div = 1, .val = 4, .flags = RATE_IN_3XXX }, { .div = 0 } }; -static const struct clksel osc_sys_clksel[] = { +static struct clksel osc_sys_clksel[] = { { .parent = &virt_12m_ck, .rates = osc_sys_12m_rates }, { .parent = &virt_13m_ck, .rates = osc_sys_13m_rates }, { .parent = &virt_16_8m_ck, .rates = osc_sys_16_8m_rates }, @@ -162,13 +162,13 @@ static struct clk osc_sys_ck = { .recalc = &omap2_clksel_recalc, }; -static const struct clksel_rate div2_rates[] = { +static struct clksel_rate div2_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_3XXX }, { .div = 2, .val = 2, .flags = RATE_IN_3XXX }, { .div = 0 } }; -static const struct clksel sys_clksel[] = { +static struct clksel sys_clksel[] = { { .parent = &osc_sys_ck, .rates = div2_rates }, { .parent = NULL } }; @@ -212,7 +212,7 @@ static struct clk sys_clkout1 = { /* CM CLOCKS */ -static const struct clksel_rate div16_dpll_rates[] = { +static struct clksel_rate div16_dpll_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_3XXX }, { .div = 2, .val = 2, .flags = RATE_IN_3XXX }, { .div = 3, .val = 3, .flags = RATE_IN_3XXX }, @@ -232,7 +232,7 @@ static const struct clksel_rate div16_dpll_rates[] = { { .div = 0 } }; -static const struct clksel_rate dpll4_rates[] = { +static struct clksel_rate dpll4_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_3XXX }, { .div = 2, .val = 2, .flags = RATE_IN_3XXX }, { .div = 3, .val = 3, .flags = RATE_IN_3XXX }, @@ -318,7 +318,7 @@ static struct clk dpll1_x2_ck = { }; /* On DPLL1, unlike other DPLLs, the divider is downstream from CLKOUTX2 */ -static const struct clksel div16_dpll1_x2m2_clksel[] = { +static struct clksel div16_dpll1_x2m2_clksel[] = { { .parent = &dpll1_x2_ck, .rates = div16_dpll_rates }, { .parent = NULL } }; @@ -378,7 +378,7 @@ static struct clk dpll2_ck = { .recalc = &omap3_dpll_recalc, }; -static const struct clksel div16_dpll2_m2x2_clksel[] = { +static struct clksel div16_dpll2_m2x2_clksel[] = { { .parent = &dpll2_ck, .rates = div16_dpll_rates }, { .parent = NULL } }; @@ -449,7 +449,7 @@ static struct clk dpll3_x2_ck = { .recalc = &omap3_clkoutx2_recalc, }; -static const struct clksel_rate div31_dpll3_rates[] = { +static struct clksel_rate div31_dpll3_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_3XXX }, { .div = 2, .val = 2, .flags = RATE_IN_3XXX }, { .div = 3, .val = 3, .flags = RATE_IN_3430ES2PLUS_36XX }, @@ -484,7 +484,7 @@ static const struct clksel_rate div31_dpll3_rates[] = { { .div = 0 }, }; -static const struct clksel div31_dpll3m2_clksel[] = { +static struct clksel div31_dpll3m2_clksel[] = { { .parent = &dpll3_ck, .rates = div31_dpll3_rates }, { .parent = NULL } }; @@ -520,7 +520,7 @@ static struct clk dpll3_m2x2_ck = { }; /* The PWRDN bit is apparently only available on 3430ES2 and above */ -static const struct clksel div16_dpll3_clksel[] = { +static struct clksel div16_dpll3_clksel[] = { { .parent = &dpll3_ck, .rates = div16_dpll_rates }, { .parent = NULL } }; @@ -635,7 +635,7 @@ static struct clk dpll4_x2_ck = { .recalc = &omap3_clkoutx2_recalc, }; -static const struct clksel dpll4_clksel[] = { +static struct clksel dpll4_clksel[] = { { .parent = &dpll4_ck, .rates = dpll4_rates }, { .parent = NULL } }; @@ -680,23 +680,23 @@ static struct clk omap_192m_alwon_fck = { .recalc = &followparent_recalc, }; -static const struct clksel_rate omap_96m_alwon_fck_rates[] = { +static struct clksel_rate omap_96m_alwon_fck_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_36XX }, { .div = 2, .val = 2, .flags = RATE_IN_36XX }, { .div = 0 } }; -static const struct clksel omap_96m_alwon_fck_clksel[] = { +static struct clksel omap_96m_alwon_fck_clksel[] = { { .parent = &omap_192m_alwon_fck, .rates = omap_96m_alwon_fck_rates }, { .parent = NULL } }; -static const struct clksel_rate omap_96m_dpll_rates[] = { +static struct clksel_rate omap_96m_dpll_rates[] = { { .div = 1, .val = 0, .flags = RATE_IN_3XXX }, { .div = 0 } }; -static const struct clksel_rate omap_96m_sys_rates[] = { +static struct clksel_rate omap_96m_sys_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_3XXX }, { .div = 0 } }; @@ -726,7 +726,7 @@ static struct clk cm_96m_fck = { .recalc = &followparent_recalc, }; -static const struct clksel omap_96m_fck_clksel[] = { +static struct clksel omap_96m_fck_clksel[] = { { .parent = &cm_96m_fck, .rates = omap_96m_dpll_rates }, { .parent = &sys_ck, .rates = omap_96m_sys_rates }, { .parent = NULL } @@ -768,17 +768,17 @@ static struct clk dpll4_m3x2_ck = { .recalc = &omap3_clkoutx2_recalc, }; -static const struct clksel_rate omap_54m_d4m3x2_rates[] = { +static struct clksel_rate omap_54m_d4m3x2_rates[] = { { .div = 1, .val = 0, .flags = RATE_IN_3XXX }, { .div = 0 } }; -static const struct clksel_rate omap_54m_alt_rates[] = { +static struct clksel_rate omap_54m_alt_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_3XXX }, { .div = 0 } }; -static const struct clksel omap_54m_clksel[] = { +static struct clksel omap_54m_clksel[] = { { .parent = &dpll4_m3x2_ck, .rates = omap_54m_d4m3x2_rates }, { .parent = &sys_altclk, .rates = omap_54m_alt_rates }, { .parent = NULL } @@ -794,17 +794,17 @@ static struct clk omap_54m_fck = { .recalc = &omap2_clksel_recalc, }; -static const struct clksel_rate omap_48m_cm96m_rates[] = { +static struct clksel_rate omap_48m_cm96m_rates[] = { { .div = 2, .val = 0, .flags = RATE_IN_3XXX }, { .div = 0 } }; -static const struct clksel_rate omap_48m_alt_rates[] = { +static struct clksel_rate omap_48m_alt_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_3XXX }, { .div = 0 } }; -static const struct clksel omap_48m_clksel[] = { +static struct clksel omap_48m_clksel[] = { { .parent = &cm_96m_fck, .rates = omap_48m_cm96m_rates }, { .parent = &sys_altclk, .rates = omap_48m_alt_rates }, { .parent = NULL } @@ -953,7 +953,7 @@ static struct clk dpll5_ck = { .recalc = &omap3_dpll_recalc, }; -static const struct clksel div16_dpll5_clksel[] = { +static struct clksel div16_dpll5_clksel[] = { { .parent = &dpll5_ck, .rates = div16_dpll_rates }, { .parent = NULL } }; @@ -972,27 +972,27 @@ static struct clk dpll5_m2_ck = { /* CM EXTERNAL CLOCK OUTPUTS */ -static const struct clksel_rate clkout2_src_core_rates[] = { +static struct clksel_rate clkout2_src_core_rates[] = { { .div = 1, .val = 0, .flags = RATE_IN_3XXX }, { .div = 0 } }; -static const struct clksel_rate clkout2_src_sys_rates[] = { +static struct clksel_rate clkout2_src_sys_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_3XXX }, { .div = 0 } }; -static const struct clksel_rate clkout2_src_96m_rates[] = { +static struct clksel_rate clkout2_src_96m_rates[] = { { .div = 1, .val = 2, .flags = RATE_IN_3XXX }, { .div = 0 } }; -static const struct clksel_rate clkout2_src_54m_rates[] = { +static struct clksel_rate clkout2_src_54m_rates[] = { { .div = 1, .val = 3, .flags = RATE_IN_3XXX }, { .div = 0 } }; -static const struct clksel clkout2_src_clksel[] = { +static struct clksel clkout2_src_clksel[] = { { .parent = &core_ck, .rates = clkout2_src_core_rates }, { .parent = &sys_ck, .rates = clkout2_src_sys_rates }, { .parent = &cm_96m_fck, .rates = clkout2_src_96m_rates }, @@ -1013,7 +1013,7 @@ static struct clk clkout2_src_ck = { .recalc = &omap2_clksel_recalc, }; -static const struct clksel_rate sys_clkout2_rates[] = { +static struct clksel_rate sys_clkout2_rates[] = { { .div = 1, .val = 0, .flags = RATE_IN_3XXX }, { .div = 2, .val = 1, .flags = RATE_IN_3XXX }, { .div = 4, .val = 2, .flags = RATE_IN_3XXX }, @@ -1022,7 +1022,7 @@ static const struct clksel_rate sys_clkout2_rates[] = { { .div = 0 }, }; -static const struct clksel sys_clkout2_clksel[] = { +static struct clksel sys_clkout2_clksel[] = { { .parent = &clkout2_src_ck, .rates = sys_clkout2_rates }, { .parent = NULL }, }; @@ -1050,14 +1050,14 @@ static struct clk corex2_fck = { /* DPLL power domain clock controls */ -static const struct clksel_rate div4_rates[] = { +static struct clksel_rate div4_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_3XXX }, { .div = 2, .val = 2, .flags = RATE_IN_3XXX }, { .div = 4, .val = 4, .flags = RATE_IN_3XXX }, { .div = 0 } }; -static const struct clksel div4_core_clksel[] = { +static struct clksel div4_core_clksel[] = { { .parent = &core_ck, .rates = div4_rates }, { .parent = NULL } }; @@ -1086,13 +1086,13 @@ static struct clk mpu_ck = { }; /* arm_fck is divided by two when DPLL1 locked; otherwise, passthrough mpu_ck */ -static const struct clksel_rate arm_fck_rates[] = { +static struct clksel_rate arm_fck_rates[] = { { .div = 1, .val = 0, .flags = RATE_IN_3XXX }, { .div = 2, .val = 1, .flags = RATE_IN_3XXX }, { .div = 0 }, }; -static const struct clksel arm_fck_clksel[] = { +static struct clksel arm_fck_clksel[] = { { .parent = &mpu_ck, .rates = arm_fck_rates }, { .parent = NULL } }; @@ -1145,7 +1145,7 @@ static struct clk iva2_ck = { /* Common interface clocks */ -static const struct clksel div2_core_clksel[] = { +static struct clksel div2_core_clksel[] = { { .parent = &core_ck, .rates = div2_rates }, { .parent = NULL } }; @@ -1162,7 +1162,7 @@ static struct clk l3_ick = { .recalc = &omap2_clksel_recalc, }; -static const struct clksel div2_l3_clksel[] = { +static struct clksel div2_l3_clksel[] = { { .parent = &l3_ick, .rates = div2_rates }, { .parent = NULL } }; @@ -1180,7 +1180,7 @@ static struct clk l4_ick = { }; -static const struct clksel div2_l4_clksel[] = { +static struct clksel div2_l4_clksel[] = { { .parent = &l4_ick, .rates = div2_rates }, { .parent = NULL } }; @@ -1200,7 +1200,7 @@ static struct clk rm_ick = { /* GFX clocks are in 3430ES1 only. 3430ES2 and later uses the SGX instead */ -static const struct clksel gfx_l3_clksel[] = { +static struct clksel gfx_l3_clksel[] = { { .parent = &l3_ick, .rates = gfx_l3_rates }, { .parent = NULL } }; @@ -1257,7 +1257,7 @@ static struct clk gfx_cg2_ck = { /* SGX power domain - 3430ES2 only */ -static const struct clksel_rate sgx_core_rates[] = { +static struct clksel_rate sgx_core_rates[] = { { .div = 2, .val = 5, .flags = RATE_IN_36XX }, { .div = 3, .val = 0, .flags = RATE_IN_3XXX }, { .div = 4, .val = 1, .flags = RATE_IN_3XXX }, @@ -1265,23 +1265,23 @@ static const struct clksel_rate sgx_core_rates[] = { { .div = 0 }, }; -static const struct clksel_rate sgx_192m_rates[] = { +static struct clksel_rate sgx_192m_rates[] = { { .div = 1, .val = 4, .flags = RATE_IN_36XX }, { .div = 0 }, }; -static const struct clksel_rate sgx_corex2_rates[] = { +static struct clksel_rate sgx_corex2_rates[] = { { .div = 3, .val = 6, .flags = RATE_IN_36XX }, { .div = 5, .val = 7, .flags = RATE_IN_36XX }, { .div = 0 }, }; -static const struct clksel_rate sgx_96m_rates[] = { +static struct clksel_rate sgx_96m_rates[] = { { .div = 1, .val = 3, .flags = RATE_IN_3XXX }, { .div = 0 }, }; -static const struct clksel sgx_clksel[] = { +static struct clksel sgx_clksel[] = { { .parent = &core_ck, .rates = sgx_core_rates }, { .parent = &cm_96m_fck, .rates = sgx_96m_rates }, { .parent = &omap_192m_alwon_fck, .rates = sgx_192m_rates }, @@ -1356,7 +1356,7 @@ static struct clk mad2d_ick = { .recalc = &followparent_recalc, }; -static const struct clksel omap343x_gpt_clksel[] = { +static struct clksel omap343x_gpt_clksel[] = { { .parent = &omap_32k_fck, .rates = gpt_32k_rates }, { .parent = &sys_ck, .rates = gpt_sys_rates }, { .parent = NULL} @@ -1501,17 +1501,17 @@ static struct clk i2c1_fck = { * MCBSP 1 & 5 get their 96MHz clock from core_96m_fck; * MCBSP 2, 3, 4 get their 96MHz clock from per_96m_fck. */ -static const struct clksel_rate common_mcbsp_96m_rates[] = { +static struct clksel_rate common_mcbsp_96m_rates[] = { { .div = 1, .val = 0, .flags = RATE_IN_3XXX }, { .div = 0 } }; -static const struct clksel_rate common_mcbsp_mcbsp_rates[] = { +static struct clksel_rate common_mcbsp_mcbsp_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_3XXX }, { .div = 0 } }; -static const struct clksel mcbsp_15_clksel[] = { +static struct clksel mcbsp_15_clksel[] = { { .parent = &core_96m_fck, .rates = common_mcbsp_96m_rates }, { .parent = &mcbsp_clks, .rates = common_mcbsp_mcbsp_rates }, { .parent = NULL } @@ -1643,7 +1643,7 @@ static struct clk hdq_fck = { /* DPLL3-derived clock */ -static const struct clksel_rate ssi_ssr_corex2_rates[] = { +static struct clksel_rate ssi_ssr_corex2_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_3XXX }, { .div = 2, .val = 2, .flags = RATE_IN_3XXX }, { .div = 3, .val = 3, .flags = RATE_IN_3XXX }, @@ -1653,7 +1653,7 @@ static const struct clksel_rate ssi_ssr_corex2_rates[] = { { .div = 0 } }; -static const struct clksel ssi_ssr_clksel[] = { +static struct clksel ssi_ssr_clksel[] = { { .parent = &corex2_fck, .rates = ssi_ssr_corex2_rates }, { .parent = NULL } }; @@ -2078,7 +2078,7 @@ static struct clk ssi_ick_3430es2 = { /* REVISIT: Technically the TRM claims that this is CORE_CLK based, * but l4_ick makes more sense to me */ -static const struct clksel usb_l4_clksel[] = { +static struct clksel usb_l4_clksel[] = { { .parent = &l4_ick, .rates = div2_rates }, { .parent = NULL }, }; @@ -2282,7 +2282,7 @@ static struct clk usbhost_ick = { /* WKUP */ -static const struct clksel_rate usim_96m_rates[] = { +static struct clksel_rate usim_96m_rates[] = { { .div = 2, .val = 3, .flags = RATE_IN_3XXX }, { .div = 4, .val = 4, .flags = RATE_IN_3XXX }, { .div = 8, .val = 5, .flags = RATE_IN_3XXX }, @@ -2290,7 +2290,7 @@ static const struct clksel_rate usim_96m_rates[] = { { .div = 0 }, }; -static const struct clksel_rate usim_120m_rates[] = { +static struct clksel_rate usim_120m_rates[] = { { .div = 4, .val = 7, .flags = RATE_IN_3XXX }, { .div = 8, .val = 8, .flags = RATE_IN_3XXX }, { .div = 16, .val = 9, .flags = RATE_IN_3XXX }, @@ -2298,7 +2298,7 @@ static const struct clksel_rate usim_120m_rates[] = { { .div = 0 }, }; -static const struct clksel usim_clksel[] = { +static struct clksel usim_clksel[] = { { .parent = &omap_96m_fck, .rates = usim_96m_rates }, { .parent = &dpll5_m2_ck, .rates = usim_120m_rates }, { .parent = &sys_ck, .rates = div2_rates }, @@ -2851,7 +2851,7 @@ static struct clk mcbsp4_ick = { .recalc = &followparent_recalc, }; -static const struct clksel mcbsp_234_clksel[] = { +static struct clksel mcbsp_234_clksel[] = { { .parent = &per_96m_fck, .rates = common_mcbsp_96m_rates }, { .parent = &mcbsp_clks, .rates = common_mcbsp_mcbsp_rates }, { .parent = NULL } @@ -2900,27 +2900,27 @@ static struct clk mcbsp4_fck = { /* More information: ARM Cortex-A8 Technical Reference Manual, sect 10.1 */ -static const struct clksel_rate emu_src_sys_rates[] = { +static struct clksel_rate emu_src_sys_rates[] = { { .div = 1, .val = 0, .flags = RATE_IN_3XXX }, { .div = 0 }, }; -static const struct clksel_rate emu_src_core_rates[] = { +static struct clksel_rate emu_src_core_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_3XXX }, { .div = 0 }, }; -static const struct clksel_rate emu_src_per_rates[] = { +static struct clksel_rate emu_src_per_rates[] = { { .div = 1, .val = 2, .flags = RATE_IN_3XXX }, { .div = 0 }, }; -static const struct clksel_rate emu_src_mpu_rates[] = { +static struct clksel_rate emu_src_mpu_rates[] = { { .div = 1, .val = 3, .flags = RATE_IN_3XXX }, { .div = 0 }, }; -static const struct clksel emu_src_clksel[] = { +static struct clksel emu_src_clksel[] = { { .parent = &sys_ck, .rates = emu_src_sys_rates }, { .parent = &emu_core_alwon_ck, .rates = emu_src_core_rates }, { .parent = &emu_per_alwon_ck, .rates = emu_src_per_rates }, @@ -2944,7 +2944,7 @@ static struct clk emu_src_ck = { .recalc = &omap2_clksel_recalc, }; -static const struct clksel_rate pclk_emu_rates[] = { +static struct clksel_rate pclk_emu_rates[] = { { .div = 2, .val = 2, .flags = RATE_IN_3XXX }, { .div = 3, .val = 3, .flags = RATE_IN_3XXX }, { .div = 4, .val = 4, .flags = RATE_IN_3XXX }, @@ -2952,7 +2952,7 @@ static const struct clksel_rate pclk_emu_rates[] = { { .div = 0 }, }; -static const struct clksel pclk_emu_clksel[] = { +static struct clksel pclk_emu_clksel[] = { { .parent = &emu_src_ck, .rates = pclk_emu_rates }, { .parent = NULL }, }; @@ -2968,14 +2968,14 @@ static struct clk pclk_fck = { .recalc = &omap2_clksel_recalc, }; -static const struct clksel_rate pclkx2_emu_rates[] = { +static struct clksel_rate pclkx2_emu_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_3XXX }, { .div = 2, .val = 2, .flags = RATE_IN_3XXX }, { .div = 3, .val = 3, .flags = RATE_IN_3XXX }, { .div = 0 }, }; -static const struct clksel pclkx2_emu_clksel[] = { +static struct clksel pclkx2_emu_clksel[] = { { .parent = &emu_src_ck, .rates = pclkx2_emu_rates }, { .parent = NULL }, }; @@ -2991,7 +2991,7 @@ static struct clk pclkx2_fck = { .recalc = &omap2_clksel_recalc, }; -static const struct clksel atclk_emu_clksel[] = { +static struct clksel atclk_emu_clksel[] = { { .parent = &emu_src_ck, .rates = div2_rates }, { .parent = NULL }, }; @@ -3018,14 +3018,14 @@ static struct clk traceclk_src_fck = { .recalc = &omap2_clksel_recalc, }; -static const struct clksel_rate traceclk_rates[] = { +static struct clksel_rate traceclk_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_3XXX }, { .div = 2, .val = 2, .flags = RATE_IN_3XXX }, { .div = 4, .val = 4, .flags = RATE_IN_3XXX }, { .div = 0 }, }; -static const struct clksel traceclk_clksel[] = { +static struct clksel traceclk_clksel[] = { { .parent = &traceclk_src_fck, .rates = traceclk_rates }, { .parent = NULL }, }; diff --git a/arch/arm/mach-omap2/clock44xx_data.c b/arch/arm/mach-omap2/clock44xx_data.c index e8cb32f..b02bfae 100644 --- a/arch/arm/mach-omap2/clock44xx_data.c +++ b/arch/arm/mach-omap2/clock44xx_data.c @@ -127,47 +127,47 @@ static struct clk virt_38400000_ck = { .rate = 38400000, }; -static const struct clksel_rate div_1_0_rates[] = { +static struct clksel_rate div_1_0_rates[] = { { .div = 1, .val = 0, .flags = RATE_IN_4430 }, { .div = 0 }, }; -static const struct clksel_rate div_1_1_rates[] = { +static struct clksel_rate div_1_1_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_4430 }, { .div = 0 }, }; -static const struct clksel_rate div_1_2_rates[] = { +static struct clksel_rate div_1_2_rates[] = { { .div = 1, .val = 2, .flags = RATE_IN_4430 }, { .div = 0 }, }; -static const struct clksel_rate div_1_3_rates[] = { +static struct clksel_rate div_1_3_rates[] = { { .div = 1, .val = 3, .flags = RATE_IN_4430 }, { .div = 0 }, }; -static const struct clksel_rate div_1_4_rates[] = { +static struct clksel_rate div_1_4_rates[] = { { .div = 1, .val = 4, .flags = RATE_IN_4430 }, { .div = 0 }, }; -static const struct clksel_rate div_1_5_rates[] = { +static struct clksel_rate div_1_5_rates[] = { { .div = 1, .val = 5, .flags = RATE_IN_4430 }, { .div = 0 }, }; -static const struct clksel_rate div_1_6_rates[] = { +static struct clksel_rate div_1_6_rates[] = { { .div = 1, .val = 6, .flags = RATE_IN_4430 }, { .div = 0 }, }; -static const struct clksel_rate div_1_7_rates[] = { +static struct clksel_rate div_1_7_rates[] = { { .div = 1, .val = 7, .flags = RATE_IN_4430 }, { .div = 0 }, }; -static const struct clksel sys_clkin_sel[] = { +static struct clksel sys_clkin_sel[] = { { .parent = &virt_12000000_ck, .rates = div_1_1_rates }, { .parent = &virt_13000000_ck, .rates = div_1_2_rates }, { .parent = &virt_16800000_ck, .rates = div_1_3_rates }, @@ -221,7 +221,7 @@ static struct clk xclk60motg_ck = { /* Module clocks and DPLL outputs */ -static const struct clksel abe_dpll_bypass_clk_mux_sel[] = { +static struct clksel abe_dpll_bypass_clk_mux_sel[] = { { .parent = &sys_clkin_ck, .rates = div_1_0_rates }, { .parent = &sys_32k_ck, .rates = div_1_1_rates }, { .parent = NULL }, @@ -283,7 +283,7 @@ static struct clk dpll_abe_x2_ck = { .recalc = &omap3_clkoutx2_recalc, }; -static const struct clksel_rate div31_1to31_rates[] = { +static struct clksel_rate div31_1to31_rates[] = { { .div = 1, .val = 1, .flags = RATE_IN_4430 }, { .div = 2, .val = 2, .flags = RATE_IN_4430 }, { .div = 3, .val = 3, .flags = RATE_IN_4430 }, @@ -318,7 +318,7 @@ static const struct clksel_rate div31_1to31_rates[] = { { .div = 0 }, }; -static const struct clksel dpll_abe_m2x2_div[] = { +static struct clksel dpll_abe_m2x2_div[] = { { .parent = &dpll_abe_x2_ck, .rates = div31_1to31_rates }, { .parent = NULL }, }; @@ -343,14 +343,14 @@ static struct clk abe_24m_fclk = { .recalc = &omap_fixed_divisor_recalc, }; -static const struct clksel_rate div3_1to4_rates[] = { +static struct clksel_rate div3_1to4_rates[] = { { .div = 1, .val = 0, .flags = RATE_IN_4430 }, { .div = 2, .val = 1, .flags = RATE_IN_4430 }, { .div = 4, .val = 2, .flags = RATE_IN_4430 }, { .div = 0 }, }; -static const struct clksel abe_clk_div[] = { +static struct clksel abe_clk_div[] = { { .parent = &dpll_abe_m2x2_ck, .rates = div3_1to4_rates }, { .parent = NULL }, }; @@ -367,13 +367,13 @@ static struct clk abe_clk = { .set_rate = &omap2_clksel_set_rate, }; -static const struct clksel_rate div2_1to2_rates[] = { +static struct clksel_rate div2_1to2_rates[] = { { .div = 1, .val = 0, .flags = RATE_IN_4430 }, { .div = 2, .val = 1, .flags = RATE_IN_4430 }, { .div = 0 }, }; -static const struct clksel aess_fclk_div[] = { +static struct clksel aess_fclk_div[] = { { .parent = &abe_clk, .rates = div2_1to2_rates }, { .parent = NULL }, }; @@ -402,7 +402,7 @@ static struct clk dpll_abe_m3x2_ck = { .set_rate = &omap2_clksel_set_rate, }; -static const struct clksel core_hsd_byp_clk_mux_sel[] = { +static struct clksel core_hsd_byp_clk_mux_sel[] = { { .parent = &sys_clkin_ck, .rates = div_1_0_rates }, { .parent = &dpll_abe_m3x2_ck, .rates = div_1_1_rates }, { .parent = NULL }, @@ -455,7 +455,7 @@ static struct clk dpll_core_x2_ck = { .recalc = &omap3_clkoutx2_recalc, }; -static const struct clksel dpll_core_m6x2_div[] = { +static struct clksel dpll_core_m6x2_div[] = { { .parent = &dpll_core_x2_ck, .rates = div31_1to31_rates }, { .parent = NULL }, }; @@ -472,7 +472,7 @@ static struct clk dpll_core_m6x2_ck = { .set_rate = &omap2_clksel_set_rate, }; -static const struct clksel dbgclk_mux_sel[] = { +static struct clksel dbgclk_mux_sel[] = { { .parent = &sys_clkin_ck, .rates = div_1_0_rates }, { .parent = &dpll_core_m6x2_ck, .rates = div_1_1_rates }, { .parent = NULL }, @@ -485,7 +485,7 @@ static struct clk dbgclk_mux_ck = { .recalc = &followparent_recalc, }; -static const struct clksel dpll_core_m2_div[] = { +static struct clksel dpll_core_m2_div[] = { { .parent = &dpll_core_ck, .rates = div31_1to31_rates }, { .parent = NULL }, }; @@ -522,7 +522,7 @@ static struct clk dpll_core_m5x2_ck = { .set_rate = &omap2_clksel_set_rate, }; -static const struct clksel div_core_div[] = { +static struct clksel div_core_div[] = { { .parent = &dpll_core_m5x2_ck, .rates = div2_1to2_rates }, { .parent = NULL }, }; @@ -539,7 +539,7 @@ static struct clk div_core_ck = { .set_rate = &omap2_clksel_set_rate, }; -static const struct clksel_rate div4_1to8_rates[] = { +static struct clksel_rate div4_1to8_rates[] = { { .div = 1, .val = 0, .flags = RATE_IN_4430 }, { .div = 2, .val = 1, .flags = RATE_IN_4430 }, { .div = 4, .val = 2, .flags = RATE_IN_4430 }, @@ -547,7 +547,7 @@ static const struct clksel_rate div4_1to8_rates[] = { { .div = 0 }, }; -static const struct clksel div_iva_hs_clk_div[] = { +static struct clksel div_iva_hs_clk_div[] = { { .parent = &dpll_core_m5x2_ck, .rates = div4_1to8_rates }, { .parent = NULL }, }; @@ -596,7 +596,7 @@ static struct clk dll_clk_div_ck = { .recalc = &omap_fixed_divisor_recalc, }; -static const struct clksel dpll_abe_m2_div[] = { +static struct clksel dpll_abe_m2_div[] = { { .parent = &dpll_abe_ck, .rates = div31_1to31_rates }, { .parent = NULL }, }; @@ -639,7 +639,7 @@ static struct clk dpll_core_m7x2_ck = { .set_rate = &omap2_clksel_set_rate, }; -static const struct clksel iva_hsd_byp_clk_mux_sel[] = { +static struct clksel iva_hsd_byp_clk_mux_sel[] = { { .parent = &sys_clkin_ck, .rates = div_1_0_rates }, { .parent = &div_iva_hs_clk, .rates = div_1_1_rates }, { .parent = NULL }, @@ -694,7 +694,7 @@ static struct clk dpll_iva_x2_ck = { .recalc = &omap3_clkoutx2_recalc, }; -static const struct clksel dpll_iva_m4x2_div[] = { +static struct clksel dpll_iva_m4x2_div[] = { { .parent = &dpll_iva_x2_ck, .rates = div31_1to31_rates }, { .parent = NULL }, }; @@ -754,7 +754,7 @@ static struct clk dpll_mpu_ck = { .set_rate = &omap3_noncore_dpll_set_rate, }; -static const struct clksel dpll_mpu_m2_div[] = { +static struct clksel dpll_mpu_m2_div[] = { { .parent = &dpll_mpu_ck, .rates = div31_1to31_rates }, { .parent = NULL }, }; @@ -779,7 +779,7 @@ static struct clk per_hs_clk_div_ck = { .recalc = &omap_fixed_divisor_recalc, }; -static const struct clksel per_hsd_byp_clk_mux_sel[] = { +static struct clksel per_hsd_byp_clk_mux_sel[] = { { .parent = &sys_clkin_ck, .rates = div_1_0_rates }, { .parent = &per_hs_clk_div_ck, .rates = div_1_1_rates }, { .parent = NULL }, @@ -827,7 +827,7 @@ static struct clk dpll_per_ck = { .set_rate = &omap3_noncore_dpll_set_rate, }; -static const struct clksel dpll_per_m2_div[] = { +static struct clksel dpll_per_m2_div[] = { { .parent = &dpll_per_ck, .rates = div31_1to31_rates }, { .parent = NULL }, }; @@ -851,7 +851,7 @@ static struct clk dpll_per_x2_ck = { .recalc = &omap3_clkoutx2_recalc, }; -static const struct clksel dpll_per_m2x2_div[] = { +static struct clksel dpll_per_m2x2_div[] = { { .parent = &dpll_per_x2_ck, .rates = div31_1to31_rates }, { .parent = NULL }, }; @@ -969,7 +969,7 @@ static struct clk dpll_unipro_x2_ck = { .recalc = &omap3_clkoutx2_recalc, }; -static const struct clksel dpll_unipro_m2x2_div[] = { +static struct clksel dpll_unipro_m2x2_div[] = { { .parent = &dpll_unipro_x2_ck, .rates = div31_1to31_rates }, { .parent = NULL }, }; @@ -1033,7 +1033,7 @@ static struct clk dpll_usb_clkdcoldo_ck = { .recalc = &followparent_recalc, }; -static const struct clksel dpll_usb_m2_div[] = { +static struct clksel dpll_usb_m2_div[] = { { .parent = &dpll_usb_ck, .rates = div31_1to31_rates }, { .parent = NULL }, }; @@ -1050,7 +1050,7 @@ static struct clk dpll_usb_m2_ck = { .set_rate = &omap2_clksel_set_rate, }; -static const struct clksel ducati_clk_mux_sel[] = { +static struct clksel ducati_clk_mux_sel[] = { { .parent = &div_core_ck, .rates = div_1_0_rates }, { .parent = &dpll_per_m6x2_ck, .rates = div_1_1_rates }, { .parent = NULL }, @@ -1091,13 +1091,13 @@ static struct clk func_24mc_fclk = { .recalc = &omap_fixed_divisor_recalc, }; -static const struct clksel_rate div2_4to8_rates[] = { +static struct clksel_rate div2_4to8_rates[] = { { .div = 4, .val = 0, .flags = RATE_IN_4430 }, { .div = 8, .val = 1, .flags = RATE_IN_4430 }, { .div = 0 }, }; -static const struct clksel func_48m_fclk_div[] = { +static struct clksel func_48m_fclk_div[] = { { .parent = &dpll_per_m2x2_ck, .rates = div2_4to8_rates }, { .parent = NULL }, }; @@ -1122,13 +1122,13 @@ static struct clk func_48mc_fclk = { .recalc = &omap_fixed_divisor_recalc, }; -static const struct clksel_rate div2_2to4_rates[] = { +static struct clksel_rate div2_2to4_rates[] = { { .div = 2, .val = 0, .flags = RATE_IN_4430 }, { .div = 4, .val = 1, .flags = RATE_IN_4430 }, { .div = 0 }, }; -static const struct clksel func_64m_fclk_div[] = { +static struct clksel func_64m_fclk_div[] = { { .parent = &dpll_per_m4x2_ck, .rates = div2_2to4_rates }, { .parent = NULL }, }; @@ -1145,7 +1145,7 @@ static struct clk func_64m_fclk = { .set_rate = &omap2_clksel_set_rate, }; -static const struct clksel func_96m_fclk_div[] = { +static struct clksel func_96m_fclk_div[] = { { .parent = &dpll_per_m2x2_ck, .rates = div2_2to4_rates }, { .parent = NULL }, }; @@ -1162,7 +1162,7 @@ static struct clk func_96m_fclk = { .set_rate = &omap2_clksel_set_rate, }; -static const struct clksel hsmmc6_fclk_sel[] = { +static struct clksel hsmmc6_fclk_sel[] = { { .parent = &func_64m_fclk, .rates = div_1_0_rates }, { .parent = &func_96m_fclk, .rates = div_1_1_rates }, { .parent = NULL }, @@ -1175,13 +1175,13 @@ static struct clk hsmmc6_fclk = { .recalc = &followparent_recalc, }; -static const struct clksel_rate div2_1to8_rates[] = { +static struct clksel_rate div2_1to8_rates[] = { { .div = 1, .val = 0, .flags = RATE_IN_4430 }, { .div = 8, .val = 1, .flags = RATE_IN_4430 }, { .div = 0 }, }; -static const struct clksel init_60m_fclk_div[] = { +static struct clksel init_60m_fclk_div[] = { { .parent = &dpll_usb_m2_ck, .rates = div2_1to8_rates }, { .parent = NULL }, }; @@ -1198,7 +1198,7 @@ static struct clk init_60m_fclk = { .set_rate = &omap2_clksel_set_rate, }; -static const struct clksel l3_div_div[] = { +static struct clksel l3_div_div[] = { { .parent = &div_core_ck, .rates = div2_1to2_rates }, { .parent = NULL }, }; @@ -1215,7 +1215,7 @@ static struct clk l3_div_ck = { .set_rate = &omap2_clksel_set_rate, }; -static const struct clksel l4_div_div[] = { +static struct clksel l4_div_div[] = { { .parent = &l3_div_ck, .rates = div2_1to2_rates }, { .parent = NULL }, }; @@ -1240,7 +1240,7 @@ static struct clk lp_clk_div_ck = { .recalc = &omap_fixed_divisor_recalc, }; -static const struct clksel l4_wkup_clk_mux_sel[] = { +static struct clksel l4_wkup_clk_mux_sel[] = { { .parent = &sys_clkin_ck, .rates = div_1_0_rates }, { .parent = &lp_clk_div_ck, .rates = div_1_1_rates }, { .parent = NULL }, @@ -1257,7 +1257,7 @@ static struct clk l4_wkup_clk_mux_ck = { .recalc = &omap2_clksel_recalc, }; -static const struct clksel per_abe_nc_fclk_div[] = { +static struct clksel per_abe_nc_fclk_div[] = { { .parent = &dpll_abe_m2_ck, .rates = div2_1to2_rates }, { .parent = NULL }, }; @@ -1274,7 +1274,7 @@ static struct clk per_abe_nc_fclk = { .set_rate = &omap2_clksel_set_rate, }; -static const struct clksel mcasp2_fclk_sel[] = { +static struct clksel mcasp2_fclk_sel[] = { { .parent = &func_96m_fclk, .rates = div_1_0_rates }, { .parent = &per_abe_nc_fclk, .rates = div_1_1_rates }, { .parent = NULL }, @@ -1309,7 +1309,7 @@ static struct clk per_abe_24m_fclk = { .recalc = &omap_fixed_divisor_recalc, }; -static const struct clksel pmd_stm_clock_mux_sel[] = { +static struct clksel pmd_stm_clock_mux_sel[] = { { .parent = &sys_clkin_ck, .rates = div_1_0_rates }, { .parent = &dpll_core_m6x2_ck, .rates = div_1_1_rates }, { .parent = &tie_low_clock_ck, .rates = div_1_2_rates }, @@ -1330,7 +1330,7 @@ static struct clk pmd_trace_clk_mux_ck = { .recalc = &followparent_recalc, }; -static const struct clksel syc_clk_div_div[] = { +static struct clksel syc_clk_div_div[] = { { .parent = &sys_clkin_ck, .rates = div2_1to2_rates }, { .parent = NULL }, }; @@ -1399,7 +1399,7 @@ static struct clk des3des_fck = { .recalc = &followparent_recalc, }; -static const struct clksel dmic_sync_mux_sel[] = { +static struct clksel dmic_sync_mux_sel[] = { { .parent = &abe_24m_fclk, .rates = div_1_0_rates }, { .parent = &syc_clk_div_ck, .rates = div_1_1_rates }, { .parent = &func_24m_clk, .rates = div_1_2_rates }, @@ -1417,7 +1417,7 @@ static struct clk dmic_sync_mux_ck = { .recalc = &omap2_clksel_recalc, }; -static const struct clksel func_dmic_abe_gfclk_sel[] = { +static struct clksel func_dmic_abe_gfclk_sel[] = { { .parent = &dmic_sync_mux_ck, .rates = div_1_0_rates }, { .parent = &pad_clks_ck, .rates = div_1_1_rates }, { .parent = &slimbus_clk, .rates = div_1_2_rates }, @@ -1531,7 +1531,7 @@ static struct clk emif2_fck = { .recalc = &followparent_recalc, }; -static const struct clksel fdif_fclk_div[] = { +static struct clksel fdif_fclk_div[] = { { .parent = &dpll_per_m4x2_ck, .rates = div3_1to4_rates }, { .parent = NULL }, }; @@ -1692,7 +1692,7 @@ static struct clk gpmc_ick = { .recalc = &followparent_recalc, }; -static const struct clksel sgx_clk_mux_sel[] = { +static struct clksel sgx_clk_mux_sel[] = { { .parent = &dpll_core_m7x2_ck, .rates = div_1_0_rates }, { .parent = &dpll_per_m7x2_ck, .rates = div_1_1_rates }, { .parent = NULL }, @@ -1723,7 +1723,7 @@ static struct clk hdq1w_fck = { .recalc = &followparent_recalc, }; -static const struct clksel hsi_fclk_div[] = { +static struct clksel hsi_fclk_div[] = { { .parent = &dpll_per_m2x2_ck, .rates = div3_1to4_rates }, { .parent = NULL }, }; @@ -1867,7 +1867,7 @@ static struct clk mcasp_sync_mux_ck = { .recalc = &omap2_clksel_recalc, }; -static const struct clksel func_mcasp_abe_gfclk_sel[] = { +static struct clksel func_mcasp_abe_gfclk_sel[] = { { .parent = &mcasp_sync_mux_ck, .rates = div_1_0_rates }, { .parent = &pad_clks_ck, .rates = div_1_1_rates }, { .parent = &slimbus_clk, .rates = div_1_2_rates }, @@ -1900,7 +1900,7 @@ static struct clk mcbsp1_sync_mux_ck = { .recalc = &omap2_clksel_recalc, }; -static const struct clksel func_mcbsp1_gfclk_sel[] = { +static struct clksel func_mcbsp1_gfclk_sel[] = { { .parent = &mcbsp1_sync_mux_ck, .rates = div_1_0_rates }, { .parent = &pad_clks_ck, .rates = div_1_1_rates }, { .parent = &slimbus_clk, .rates = div_1_2_rates }, @@ -1933,7 +1933,7 @@ static struct clk mcbsp2_sync_mux_ck = { .recalc = &omap2_clksel_recalc, }; -static const struct clksel func_mcbsp2_gfclk_sel[] = { +static struct clksel func_mcbsp2_gfclk_sel[] = { { .parent = &mcbsp2_sync_mux_ck, .rates = div_1_0_rates }, { .parent = &pad_clks_ck, .rates = div_1_1_rates }, { .parent = &slimbus_clk, .rates = div_1_2_rates }, @@ -1966,7 +1966,7 @@ static struct clk mcbsp3_sync_mux_ck = { .recalc = &omap2_clksel_recalc, }; -static const struct clksel func_mcbsp3_gfclk_sel[] = { +static struct clksel func_mcbsp3_gfclk_sel[] = { { .parent = &mcbsp3_sync_mux_ck, .rates = div_1_0_rates }, { .parent = &pad_clks_ck, .rates = div_1_1_rates }, { .parent = &slimbus_clk, .rates = div_1_2_rates }, @@ -1999,7 +1999,7 @@ static struct clk mcbsp4_sync_mux_ck = { .recalc = &omap2_clksel_recalc, }; -static const struct clksel per_mcbsp4_gfclk_sel[] = { +static struct clksel per_mcbsp4_gfclk_sel[] = { { .parent = &mcbsp4_sync_mux_ck, .rates = div_1_0_rates }, { .parent = &pad_clks_ck, .rates = div_1_1_rates }, { .parent = NULL }, @@ -2401,7 +2401,7 @@ static struct clk timer4_fck = { .clkdm_name = "l4_per_clkdm", }; -static const struct clksel timer5_sync_mux_sel[] = { +static struct clksel timer5_sync_mux_sel[] = { { .parent = &syc_clk_div_ck, .rates = div_1_0_rates }, { .parent = &sys_32k_ck, .rates = div_1_1_rates }, { .parent = NULL }, @@ -2532,7 +2532,7 @@ static struct clk usb_host_fs_fck = { .recalc = &followparent_recalc, }; -static const struct clksel utmi_p1_gfclk_sel[] = { +static struct clksel utmi_p1_gfclk_sel[] = { { .parent = &init_60m_fclk, .rates = div_1_0_rates }, { .parent = &xclk60mhsp1_ck, .rates = div_1_1_rates }, { .parent = NULL }, @@ -2559,7 +2559,7 @@ static struct clk usb_host_hs_utmi_p1_clk = { .recalc = &followparent_recalc, }; -static const struct clksel utmi_p2_gfclk_sel[] = { +static struct clksel utmi_p2_gfclk_sel[] = { { .parent = &init_60m_fclk, .rates = div_1_0_rates }, { .parent = &xclk60mhsp2_ck, .rates = div_1_1_rates }, { .parent = NULL }, @@ -2656,7 +2656,7 @@ static struct clk usb_host_hs_fck = { .recalc = &followparent_recalc, }; -static const struct clksel otg_60m_gfclk_sel[] = { +static struct clksel otg_60m_gfclk_sel[] = { { .parent = &utmi_phy_clkout_ck, .rates = div_1_0_rates }, { .parent = &xclk60motg_ck, .rates = div_1_1_rates }, { .parent = NULL }, @@ -2743,13 +2743,13 @@ static struct clk usb_tll_hs_ick = { .recalc = &followparent_recalc, }; -static const struct clksel_rate div2_14to18_rates[] = { +static struct clksel_rate div2_14to18_rates[] = { { .div = 14, .val = 0, .flags = RATE_IN_4430 }, { .div = 18, .val = 1, .flags = RATE_IN_4430 }, { .div = 0 }, }; -static const struct clksel usim_fclk_div[] = { +static struct clksel usim_fclk_div[] = { { .parent = &dpll_per_m4x2_ck, .rates = div2_14to18_rates }, { .parent = NULL }, }; @@ -2807,7 +2807,7 @@ static struct clk wd_timer3_fck = { }; /* Remaining optional clocks */ -static const struct clksel stm_clk_div_div[] = { +static struct clksel stm_clk_div_div[] = { { .parent = &pmd_stm_clock_mux_ck, .rates = div3_1to4_rates }, { .parent = NULL }, }; @@ -2824,7 +2824,7 @@ static struct clk stm_clk_div_ck = { .set_rate = &omap2_clksel_set_rate, }; -static const struct clksel trace_clk_div_div[] = { +static struct clksel trace_clk_div_div[] = { { .parent = &pmd_trace_clk_mux_ck, .rates = div3_1to4_rates }, { .parent = NULL }, }; @@ -2843,7 +2843,7 @@ static struct clk trace_clk_div_ck = { /* SCRM aux clk nodes */ -static const struct clksel auxclk_sel[] = { +static struct clksel auxclk_sel[] = { { .parent = &sys_clkin_ck, .rates = div_1_0_rates }, { .parent = &dpll_core_m3x2_ck, .rates = div_1_1_rates }, { .parent = &dpll_per_m3x2_ck, .rates = div_1_2_rates }, @@ -2927,7 +2927,7 @@ static struct clk auxclk5_ck = { .enable_bit = OMAP4_ENABLE_SHIFT, }; -static const struct clksel auxclkreq_sel[] = { +static struct clksel auxclkreq_sel[] = { { .parent = &auxclk0_ck, .rates = div_1_0_rates }, { .parent = &auxclk1_ck, .rates = div_1_1_rates }, { .parent = &auxclk2_ck, .rates = div_1_2_rates }, diff --git a/arch/arm/plat-omap/clock.c b/arch/arm/plat-omap/clock.c index fc62fb5..9bfd193 100644 --- a/arch/arm/plat-omap/clock.c +++ b/arch/arm/plat-omap/clock.c @@ -308,6 +308,16 @@ void clk_enable_init_clocks(void) } } +static struct clk *_omap_clk_get_by_name(const char *name) +{ + struct clk *c; + + list_for_each_entry(c, &clocks, node) + if (!strcmp(c->name, name)) + return c; + return NULL; +} + /** * omap_clk_get_by_name - locate OMAP struct clk by its name * @name: name of the struct clk to locate @@ -318,21 +328,45 @@ void clk_enable_init_clocks(void) */ struct clk *omap_clk_get_by_name(const char *name) { - struct clk *c; struct clk *ret = NULL; mutex_lock(&clocks_mutex); + ret = _omap_clk_get_by_name(name); + mutex_unlock(&clocks_mutex); + + return ret; +} + +static inline void omap_init_dpll_data_clk_pts(struct dpll_data *dd) +{ + if (!dd->clk_ref && dd->clk_ref_name) + dd->clk_ref = _omap_clk_get_by_name(dd->clk_ref_name); + if (!dd->clk_bypass && dd->clk_bypass_name) + dd->clk_bypass = _omap_clk_get_by_name(dd->clk_bypass_name); +} + +static inline void omap_init_clksel_clk_pts(struct clksel *clks) +{ + if (!clks->parent && clks->parent_name) + clks->parent = _omap_clk_get_by_name(clks->parent_name); +} + +void omap_init_clk_pts(void) +{ + struct clk *c; + + mutex_lock(&clocks_mutex); list_for_each_entry(c, &clocks, node) { - if (!strcmp(c->name, name)) { - ret = c; - break; - } + if (!c->parent && c->parent_name) + c->parent = _omap_clk_get_by_name(c->parent_name); + if (c->dpll_data) + omap_init_dpll_data_clk_pts(c->dpll_data); + if (c->clksel) + omap_init_clksel_clk_pts(c->clksel); } mutex_unlock(&clocks_mutex); - - return ret; } /* diff --git a/arch/arm/plat-omap/include/plat/clock.h b/arch/arm/plat-omap/include/plat/clock.h index 8eb0ada..dc0d9fd 100644 --- a/arch/arm/plat-omap/include/plat/clock.h +++ b/arch/arm/plat-omap/include/plat/clock.h @@ -85,6 +85,7 @@ struct clksel_rate { /** * struct clksel - available parent clocks, and a pointer to their divisors * @parent: struct clk * to a possible parent clock + * @parent_name: Name of the possible parent clock * @rates: available divisors for this parent clock * * A struct clksel is always associated with one or more struct clks @@ -92,6 +93,7 @@ struct clksel_rate { */ struct clksel { struct clk *parent; + const char *parent_name; const struct clksel_rate *rates; }; @@ -101,7 +103,9 @@ struct clksel { * @mult_mask: mask of the DPLL M bitfield in @mult_div1_reg * @div1_mask: mask of the DPLL N bitfield in @mult_div1_reg * @clk_bypass: struct clk pointer to the clock's bypass clock input + * @clk_bypass_name: Name of the clock's bypass clock input * @clk_ref: struct clk pointer to the clock's reference clock input + * @clk_ref_name: Name of the clock's reference clock input * @control_reg: register containing the DPLL mode bitfield * @enable_mask: mask of the DPLL mode bitfield in @control_reg * @rate_tolerance: maximum variance allowed from target rate (in Hz) @@ -143,7 +147,9 @@ struct dpll_data { u32 mult_mask; u32 div1_mask; struct clk *clk_bypass; + const char *clk_bypass_name; struct clk *clk_ref; + const char *clk_ref_name; void __iomem *control_reg; u32 enable_mask; unsigned int rate_tolerance; @@ -230,6 +236,7 @@ struct clk { const struct clkops *ops; const char *name; struct clk *parent; + const char *parent_name; struct list_head children; struct list_head sibling; /* node for children */ unsigned long rate; @@ -245,7 +252,7 @@ struct clk { #ifdef CONFIG_ARCH_OMAP2PLUS void __iomem *clksel_reg; u32 clksel_mask; - const struct clksel *clksel; + struct clksel *clksel; struct dpll_data *dpll_data; const char *clkdm_name; struct clockdomain *clkdm; @@ -292,7 +299,7 @@ extern void clk_init_cpufreq_table(struct cpufreq_frequency_table **table); extern void clk_exit_cpufreq_table(struct cpufreq_frequency_table **table); #endif extern struct clk *omap_clk_get_by_name(const char *name); - +extern void omap_init_clk_pts(void); extern const struct clkops clkops_null; extern struct clk dummy_ck;