From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Cyrus-Session-Id: sloti22d1t05-2811907-1514763687-2-15309219152330824217 X-Sieve: CMU Sieve 3.0 X-Spam-known-sender: no X-Spam-charsets: X-Resolved-to: linux@kroah.com X-Delivered-to: linux@kroah.com X-Mail-from: linux-kernel-owner@vger.kernel.org ARC-Seal: i=1; a=rsa-sha256; cv=none; d=messagingengine.com; s=arctest; t=1514763686; b=gNDLDQj2MEvAWJL46yon1PSS9WxmnPlpgYZXZB9F7nppfiR IuJYSx1ER6keQHXO+a1IQ7duDRrKayEHc6OH0uUutrIUk2lBqmXwVR3+Mlq3qmhs cNq3BQcuAjD9go+XZOajwWQ62X/EZttVRV1HPD+I1WpoWdM/IBvJWYu2lChZvMLT dZpQL1xj3SFkPuG8i6e2difuS4Zy/mJNYix70CWCUwWXUjUBtD5LbGi+Vyrwc4SB AU6kpJ0kbq3y0qtF5Ed3jYWM9kSfH1zj1ptDBhYoj0aW9qzWR7mMnB0/SIKMSI1H ZgQ9eXu/QSGxo4fY5n0t3vW8HNsi57jPKc1a5Mg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=from:to:cc:subject:date:message-id :in-reply-to:references:sender:list-id; s=arctest; t=1514763686; bh=Dmq3O7ibd2jULIdRgyTrMUkxfjShZlmm35RSzePW5xA=; b=b8MY6QG9p/UH 2uo43fQeQxAYfjNG5MXuxwDE1PwKZU9RE3Nj4R8KWeT4webi0OmTWya7oeW2ylGF sHoyjqzm4e+XZ1BTUn0RlCdfC2toZRZ2b3UxZPr8yBD/gndLJ+1kKVwy6C+pn8kE E6cMoOP1n6udPXGEZhShHkNTwh37kUzkn+CDZC8GPm/dd3sdLRY6R2df9nSLOuQB 7fpOWBRal2MCcwpJUaPj1OZqQoeWbVk5bHJEzGeUibXe6Vk0GeqNo1SBDvxP9j0f NYXfDh9ZMNyy8+d+z0Jnzwc7OujnVCnRgdh/TkIx6RWT5/7kDESifJ8E31iZx5S3 +4PJkLDZAQ== ARC-Authentication-Results: i=1; mx6.messagingengine.com; arc=none (no signatures found); dkim=fail (message has been altered; 2048-bit rsa key sha256) header.d=lechnology.com header.i=@lechnology.com header.b=vBL2DZ6F x-bits=2048 x-keytype=rsa x-algorithm=sha256 x-selector=default; dmarc=none (p=none,has-list-id=yes,d=none) header.from=lechnology.com; iprev=pass policy.iprev=209.132.180.67 (vger.kernel.org); spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org smtp.helo=vger.kernel.org; x-aligned-from=fail; x-ptr=pass x-ptr-helo=vger.kernel.org x-ptr-lookup=vger.kernel.org; x-return-mx=pass smtp.domain=vger.kernel.org smtp.result=pass smtp_org.domain=kernel.org smtp_org.result=pass smtp_is_org_domain=no header.domain=lechnology.com header.result=pass header_is_org_domain=yes Authentication-Results: mx6.messagingengine.com; arc=none (no signatures found); dkim=fail (message has been altered; 2048-bit rsa key sha256) header.d=lechnology.com header.i=@lechnology.com header.b=vBL2DZ6F x-bits=2048 x-keytype=rsa x-algorithm=sha256 x-selector=default; dmarc=none (p=none,has-list-id=yes,d=none) header.from=lechnology.com; iprev=pass policy.iprev=209.132.180.67 (vger.kernel.org); spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org smtp.helo=vger.kernel.org; x-aligned-from=fail; x-ptr=pass x-ptr-helo=vger.kernel.org x-ptr-lookup=vger.kernel.org; x-return-mx=pass smtp.domain=vger.kernel.org smtp.result=pass smtp_org.domain=kernel.org smtp_org.result=pass smtp_is_org_domain=no header.domain=lechnology.com header.result=pass header_is_org_domain=yes Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751202AbdLaXkf (ORCPT ); Sun, 31 Dec 2017 18:40:35 -0500 Received: from vern.gendns.com ([206.190.152.46]:54204 "EHLO vern.gendns.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751119AbdLaXkb (ORCPT ); Sun, 31 Dec 2017 18:40:31 -0500 From: David Lechner To: linux-arm-kernel@lists.infradead.org Cc: David Lechner , Sekhar Nori , Kevin Hilman , Adam Ford , linux-kernel@vger.kernel.org Subject: [PATCH v4 3/7] ARM: davinci: fix duplicate clocks Date: Sun, 31 Dec 2017 17:39:44 -0600 Message-Id: <1514763588-31560-4-git-send-email-david@lechnology.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1514763588-31560-1-git-send-email-david@lechnology.com> References: <1514763588-31560-1-git-send-email-david@lechnology.com> X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - vern.gendns.com X-AntiAbuse: Original Domain - vger.kernel.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lechnology.com X-Get-Message-Sender-Via: vern.gendns.com: authenticated_id: davidmain+lechnology.com/only user confirmed/virtual account not confirmed X-Authenticated-Sender: vern.gendns.com: davidmain@lechnology.com X-Source: X-Source-Args: X-Source-Dir: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX There are a number of clocks that were duplicated because they are used by more than one device. It is no longer necessary to do this since we are explicitly calling clk_register_clkdev() for each clock. In da830.c, some clocks were using the same LPSC, which would cause problems with reference counting, so these are combinded into one clock each. In da850.c the duplicate clocks had already been fixed by creating dummy child clocks, so these clocks are removed. Signed-off-by: David Lechner --- arch/arm/mach-davinci/da830.c | 65 ++++++-------------------------------- arch/arm/mach-davinci/da850.c | 72 ------------------------------------------ arch/arm/mach-davinci/dm365.c | 1 - arch/arm/mach-davinci/dm644x.c | 3 -- arch/arm/mach-davinci/dm646x.c | 1 - 5 files changed, 9 insertions(+), 133 deletions(-) diff --git a/arch/arm/mach-davinci/da830.c b/arch/arm/mach-davinci/da830.c index 73c48f5..b0e54a1 100644 --- a/arch/arm/mach-davinci/da830.c +++ b/arch/arm/mach-davinci/da830.c @@ -213,57 +213,22 @@ static struct clk spi1_clk = { .gpsc = 1, }; -static struct clk ecap0_clk = { - .name = "ecap0", +static struct clk ecap_clk = { + .name = "ecap", .parent = &pll0_sysclk2, .lpsc = DA8XX_LPSC1_ECAP, .gpsc = 1, }; -static struct clk ecap1_clk = { - .name = "ecap1", - .parent = &pll0_sysclk2, - .lpsc = DA8XX_LPSC1_ECAP, - .gpsc = 1, -}; - -static struct clk ecap2_clk = { - .name = "ecap2", - .parent = &pll0_sysclk2, - .lpsc = DA8XX_LPSC1_ECAP, - .gpsc = 1, -}; - -static struct clk pwm0_clk = { - .name = "pwm0", - .parent = &pll0_sysclk2, - .lpsc = DA8XX_LPSC1_PWM, - .gpsc = 1, -}; - -static struct clk pwm1_clk = { - .name = "pwm1", +static struct clk pwm_clk = { + .name = "pwm", .parent = &pll0_sysclk2, .lpsc = DA8XX_LPSC1_PWM, .gpsc = 1, }; -static struct clk pwm2_clk = { - .name = "pwm2", - .parent = &pll0_sysclk2, - .lpsc = DA8XX_LPSC1_PWM, - .gpsc = 1, -}; - -static struct clk eqep0_clk = { - .name = "eqep0", - .parent = &pll0_sysclk2, - .lpsc = DA830_LPSC1_EQEP, - .gpsc = 1, -}; - -static struct clk eqep1_clk = { - .name = "eqep1", +static struct clk eqep_clk = { + .name = "eqep", .parent = &pll0_sysclk2, .lpsc = DA830_LPSC1_EQEP, .gpsc = 1, @@ -304,11 +269,6 @@ static struct clk usb20_clk = { .gpsc = 1, }; -static struct clk cppi41_clk = { - .name = "cppi41", - .parent = &usb20_clk, -}; - static struct clk aemif_clk = { .name = "aemif", .parent = &pll0_sysclk3, @@ -434,21 +394,16 @@ static __init void da830_clk_init(void) clk_register_clkdev(clk, NULL, "spi_davinci.0"); clk = davinci_clk_init(&spi1_clk); clk_register_clkdev(clk, NULL, "spi_davinci.1"); - clk = davinci_clk_init(&ecap0_clk); + clk = davinci_clk_init(&ecap_clk); clk_register_clkdev(clk, "ecap0", NULL); - clk = davinci_clk_init(&ecap1_clk); clk_register_clkdev(clk, "ecap1", NULL); - clk = davinci_clk_init(&ecap2_clk); clk_register_clkdev(clk, "ecap2", NULL); - clk = davinci_clk_init(&pwm0_clk); + clk = davinci_clk_init(&pwm_clk); clk_register_clkdev(clk, "pwm0", NULL); - clk = davinci_clk_init(&pwm1_clk); clk_register_clkdev(clk, "pwm1", NULL); - clk = davinci_clk_init(&pwm2_clk); clk_register_clkdev(clk, "pwm2", NULL); - clk = davinci_clk_init(&eqep0_clk); + clk = davinci_clk_init(&eqep_clk); clk_register_clkdev(clk, NULL, "eqep.0"); - clk = davinci_clk_init(&eqep1_clk); clk_register_clkdev(clk, NULL, "eqep.1"); clk = davinci_clk_init(&lcdc_clk); clk_register_clkdev(clk, "fck", "da8xx_lcdc.0"); @@ -460,7 +415,6 @@ static __init void da830_clk_init(void) clk_register_clkdev(clk, NULL, "davinci-mcasp.2"); clk = davinci_clk_init(&usb20_clk); clk_register_clkdev(clk, "usb20", "musb-da8xx"); - clk = davinci_clk_init(&cppi41_clk); clk_register_clkdev(clk, NULL, "cppi41-dmaengine"); clk = davinci_clk_init(&aemif_clk); clk_register_clkdev(clk, "aemif", NULL); @@ -470,7 +424,6 @@ static __init void da830_clk_init(void) clk_register_clkdev(clk, "secu_mgr", NULL); clk = davinci_clk_init(&emac_clk); clk_register_clkdev(clk, NULL, "davinci_emac.1"); - clk = davinci_clk_init(&emac_clk); clk_register_clkdev(clk, "fck", "davinci_mdio.0"); clk = davinci_clk_init(&gpio_clk); clk_register_clkdev(clk, "gpio", NULL); diff --git a/arch/arm/mach-davinci/da850.c b/arch/arm/mach-davinci/da850.c index eaa05ac..0975edb 100644 --- a/arch/arm/mach-davinci/da850.c +++ b/arch/arm/mach-davinci/da850.c @@ -319,16 +319,6 @@ static struct clk emac_clk = { .gpsc = 1, }; -/* - * In order to avoid adding the emac_clk to the clock lookup table twice (and - * screwing up the linked list in the process) create a separate clock for - * mdio inheriting the rate from emac_clk. - */ -static struct clk mdio_clk = { - .name = "mdio", - .parent = &emac_clk, -}; - static struct clk mcasp_clk = { .name = "mcasp", .parent = &async3_clk, @@ -377,16 +367,6 @@ static struct clk aemif_clk = { .flags = ALWAYS_ENABLED, }; -/* - * In order to avoid adding the aemif_clk to the clock lookup table twice (and - * screwing up the linked list in the process) create a separate clock for - * nand inheriting the rate from aemif_clk. - */ -static struct clk aemif_nand_clk = { - .name = "nand", - .parent = &aemif_clk, -}; - static struct clk usb11_clk = { .name = "usb11", .parent = &pll0_sysclk4, @@ -401,11 +381,6 @@ static struct clk usb20_clk = { .gpsc = 1, }; -static struct clk cppi41_clk = { - .name = "cppi41", - .parent = &usb20_clk, -}; - static struct clk spi0_clk = { .name = "spi0", .parent = &pll0_sysclk2, @@ -449,16 +424,6 @@ static struct clk ehrpwm_clk = { .gpsc = 1, }; -static struct clk ehrpwm0_clk = { - .name = "ehrpwm0", - .parent = &ehrpwm_clk, -}; - -static struct clk ehrpwm1_clk = { - .name = "ehrpwm1", - .parent = &ehrpwm_clk, -}; - #define DA8XX_EHRPWM_TBCLKSYNC BIT(12) static void ehrpwm_tblck_enable(struct clk *clk) @@ -486,15 +451,6 @@ static struct clk ehrpwm_tbclk = { .clk_disable = ehrpwm_tblck_disable, }; -static struct clk ehrpwm0_tbclk = { - .name = "ehrpwm0_tbclk", - .parent = &ehrpwm_tbclk, -}; - -static struct clk ehrpwm1_tbclk = { - .name = "ehrpwm1_tbclk", - .parent = &ehrpwm_tbclk, -}; static struct clk ecap_clk = { .name = "ecap", @@ -503,21 +459,6 @@ static struct clk ecap_clk = { .gpsc = 1, }; -static struct clk ecap0_clk = { - .name = "ecap0_clk", - .parent = &ecap_clk, -}; - -static struct clk ecap1_clk = { - .name = "ecap1_clk", - .parent = &ecap_clk, -}; - -static struct clk ecap2_clk = { - .name = "ecap2_clk", - .parent = &ecap_clk, -}; - static __init void da850_clk_init(void) { struct clk *clk; @@ -592,7 +533,6 @@ static __init void da850_clk_init(void) clk_register_clkdev(clk, "rmii", NULL); clk = davinci_clk_init(&emac_clk); clk_register_clkdev(clk, NULL, "davinci_emac.1"); - clk = davinci_clk_init(&mdio_clk); clk_register_clkdev(clk, "fck", "davinci_mdio.0"); clk = davinci_clk_init(&mcasp_clk); clk_register_clkdev(clk, NULL, "davinci-mcasp.0"); @@ -608,13 +548,11 @@ static __init void da850_clk_init(void) clk_register_clkdev(clk, NULL, "da830-mmc.1"); clk = davinci_clk_init(&aemif_clk); clk_register_clkdev(clk, NULL, "ti-aemif"); - clk = davinci_clk_init(&aemif_nand_clk); clk_register_clkdev(clk, "aemif", "davinci-nand.0"); clk = davinci_clk_init(&usb11_clk); clk_register_clkdev(clk, "usb11", "ohci-da8xx"); clk = davinci_clk_init(&usb20_clk); clk_register_clkdev(clk, "usb20", "musb-da8xx"); - clk = davinci_clk_init(&cppi41_clk); clk_register_clkdev(clk, NULL, "cppi41-dmaengine"); clk = davinci_clk_init(&spi0_clk); clk_register_clkdev(clk, NULL, "spi_davinci.0"); @@ -627,24 +565,14 @@ static __init void da850_clk_init(void) clk = davinci_clk_init(&dsp_clk); clk_register_clkdev(clk, NULL, "davinci-rproc.0"); clk = davinci_clk_init(&ehrpwm_clk); - clk_register_clkdev(clk, NULL, NULL); - clk = davinci_clk_init(&ehrpwm0_clk); clk_register_clkdev(clk, "fck", "ehrpwm.0"); - clk = davinci_clk_init(&ehrpwm1_clk); clk_register_clkdev(clk, "fck", "ehrpwm.1"); clk = davinci_clk_init(&ehrpwm_tbclk); - clk_register_clkdev(clk, NULL, NULL); - clk = davinci_clk_init(&ehrpwm0_tbclk); clk_register_clkdev(clk, "tbclk", "ehrpwm.0"); - clk = davinci_clk_init(&ehrpwm1_tbclk); clk_register_clkdev(clk, "tbclk", "ehrpwm.1"); clk = davinci_clk_init(&ecap_clk); - clk_register_clkdev(clk, NULL, NULL); - clk = davinci_clk_init(&ecap0_clk); clk_register_clkdev(clk, "fck", "ecap.0"); - clk = davinci_clk_init(&ecap1_clk); clk_register_clkdev(clk, "fck", "ecap.1"); - clk = davinci_clk_init(&ecap2_clk); clk_register_clkdev(clk, "fck", "ecap.2"); } diff --git a/arch/arm/mach-davinci/dm365.c b/arch/arm/mach-davinci/dm365.c index 0cf4ab4..430fb1e 100644 --- a/arch/arm/mach-davinci/dm365.c +++ b/arch/arm/mach-davinci/dm365.c @@ -533,7 +533,6 @@ static __init void dm365_clk_init(void) clk_register_clkdev(clk, "usb", NULL); clk = davinci_clk_init(&emac_clk); clk_register_clkdev(clk, NULL, "davinci_emac.1"); - clk = davinci_clk_init(&emac_clk); clk_register_clkdev(clk, "fck", "davinci_mdio.0"); clk = davinci_clk_init(&voicecodec_clk); clk_register_clkdev(clk, NULL, "davinci_voicecodec"); diff --git a/arch/arm/mach-davinci/dm644x.c b/arch/arm/mach-davinci/dm644x.c index 769ce29..58120f4 100644 --- a/arch/arm/mach-davinci/dm644x.c +++ b/arch/arm/mach-davinci/dm644x.c @@ -323,8 +323,6 @@ static __init void dm644x_clk_init(void) clk_register_clkdev(clk, "master", "vpss"); clk = davinci_clk_init(&vpss_slave_clk); clk_register_clkdev(clk, "slave", "vpss"); - clk = davinci_clk_init(&arm_clk); - clk_register_clkdev(clk, "arm", NULL); clk = davinci_clk_init(&uart0_clk); clk_register_clkdev(clk, NULL, "serial8250.0"); clk = davinci_clk_init(&uart1_clk); @@ -333,7 +331,6 @@ static __init void dm644x_clk_init(void) clk_register_clkdev(clk, NULL, "serial8250.2"); clk = davinci_clk_init(&emac_clk); clk_register_clkdev(clk, NULL, "davinci_emac.1"); - clk = davinci_clk_init(&emac_clk); clk_register_clkdev(clk, "fck", "davinci_mdio.0"); clk = davinci_clk_init(&i2c_clk); clk_register_clkdev(clk, NULL, "i2c_davinci.1"); diff --git a/arch/arm/mach-davinci/dm646x.c b/arch/arm/mach-davinci/dm646x.c index d75b4bc09..0cd5d51 100644 --- a/arch/arm/mach-davinci/dm646x.c +++ b/arch/arm/mach-davinci/dm646x.c @@ -386,7 +386,6 @@ static __init void dm646x_clk_init(void) clk_register_clkdev(clk, "aemif", NULL); clk = davinci_clk_init(&emac_clk); clk_register_clkdev(clk, NULL, "davinci_emac.1"); - clk = davinci_clk_init(&emac_clk); clk_register_clkdev(clk, "fck", "davinci_mdio.0"); clk = davinci_clk_init(&pwm0_clk); clk_register_clkdev(clk, "pwm0", NULL); -- 2.7.4