All of lore.kernel.org
 help / color / mirror / Atom feed
From: m-karicheri2@ti.com (Murali Karicheri)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 03/11] clk: davinci - common clk utilities to init clk driver
Date: Tue, 6 Nov 2012 10:04:26 -0500	[thread overview]
Message-ID: <509926FA.3050700@ti.com> (raw)
In-Reply-To: <5098D904.7050707@ti.com>

On 11/06/2012 04:31 AM, Sekhar Nori wrote:
>
> On 11/5/2012 8:50 PM, Murali Karicheri wrote:
>> On 11/03/2012 08:35 AM, Sekhar Nori wrote:
>>> On 10/25/2012 9:41 PM, Murali Karicheri wrote:
>>>> This is the common clk driver initialization functions for DaVinci
>>>> SoCs and other SoCs that uses similar hardware architecture.
>>>> clock.h also defines struct types for clock definitions in a SoC
>>>> and clock data type for configuring clk-mux. The initialization
>>>> functions are used by clock initialization code in a specific
>>>> platform/SoC.
>>>>
>>>> Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
>>>> ---
>>>>    drivers/clk/davinci/clock.c |  112
>>>> +++++++++++++++++++++++++++++++++++++++++++
>>>>    drivers/clk/davinci/clock.h |   80 +++++++++++++++++++++++++++++++
>>>>    2 files changed, 192 insertions(+)
>>>>    create mode 100644 drivers/clk/davinci/clock.c
>>>>    create mode 100644 drivers/clk/davinci/clock.h
>>>>
>>>> diff --git a/drivers/clk/davinci/clock.c b/drivers/clk/davinci/clock.c
>>>> new file mode 100644
>>>> index 0000000..ad02149
>>>> --- /dev/null
>>>> +++ b/drivers/clk/davinci/clock.c
>>>> @@ -0,0 +1,112 @@
>>>> +/*
>>>> + * clock.c - davinci clock initialization functions for various clocks
>>>> + *
>>>> + * Copyright (C) 2006-2012 Texas Instruments.
>>>> + * Copyright (C) 2008-2009 Deep Root Systems, LLC
>>>> + *
>>>> + * This program is free software; you can redistribute it and/or modify
>>>> + * it under the terms of the GNU General Public License as published by
>>>> + * the Free Software Foundation; either version 2 of the License, or
>>>> + * (at your option) any later version.
>>>> + */
>>>> +#include <linux/init.h>
>>>> +#include <linux/clk-provider.h>
>>>> +#include <linux/clkdev.h>
>>>> +#include <linux/io.h>
>>>> +#include <linux/slab.h>
>>>> +
>>>> +#include "clk-pll.h"
>>>> +#include "clk-psc.h"
>>>> +#include "clk-div.h"
>>>> +#include "clock.h"
>>>> +
>>>> +static DEFINE_SPINLOCK(_lock);
>>>> +
>>>> +#ifdef    CONFIG_CLK_DAVINCI_PLL
>>>> +struct clk *davinci_pll_clk(const char *name, const char *parent,
>>>> +        u32 phys_pllm, u32 phys_prediv, u32 phys_postdiv,
>>>> +        struct clk_pll_data *pll_data)
>>>> +{
>>>> +    struct clk *clkp = NULL;
>>>> +
>>>> +    pll_data->reg_pllm = ioremap(phys_pllm, 4);
>>>> +    if (WARN_ON(!pll_data->reg_pllm))
>>>> +        return clkp;
>>> I would prefer ERR_PTR(-ENOMEM) here. Same comment applies to other
>>> instances elsewhere in the patch.
>>>
>>>> diff --git a/drivers/clk/davinci/clock.h b/drivers/clk/davinci/clock.h
>>>> new file mode 100644
>>>> index 0000000..73204b8
>>>> --- /dev/null
>>>> +++ b/drivers/clk/davinci/clock.h
>>>> @@ -0,0 +1,80 @@
>>>> +/*
>>>> + * TI DaVinci Clock definitions -  Contains Macros and Types used for
>>>> + * defining various clocks on a DaVinci SoC
>>>> + *
>>>> + * Copyright (C) 2012 Texas Instruments
>>>> + *
>>>> + * This program is free software; you can redistribute it and/or
>>>> + * modify it under the terms of the GNU General Public License as
>>>> + * published by the Free Software Foundation version 2.
>>>> + *
>>>> + * This program is distributed "as is" WITHOUT ANY WARRANTY of any
>>>> + * kind, whether express or implied; without even the implied warranty
>>>> + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>>>> + * GNU General Public License for more details.
>>>> + */
>>>> +#ifndef __DAVINCI_CLOCK_H
>>>> +#define __DAVINCI_CLOCK_H
>>>> +
>>>> +#include <linux/types.h>
>>>> +
>>>> +/* general flags: */
>>>> +#define ALWAYS_ENABLED        BIT(0)
>>> This is not used in this patch. Can you add the define along with its
>>> usage so it is immediately clear why you need it?
>> This is used on the next patch as this adds a bunch of utilities or
>> types for the platform specific clock code. Do you want to combine this
>> patch with 05/11?  It will become a bigger patch then? Is that fine.
>> IMO, this is a logical group that can be a standalone patch than
>> combining with 05/11.
> It is more important to divide patches in logical functional blocks
> rather than split it based on files. Reading this patch, I have no idea
> what that define is for.
>
> Thanks,
> Sekhar
>
>
Will combine with 05/11 since utilities are used by the clock init code 
in dm644x.
Murali

WARNING: multiple messages have this Message-ID (diff)
From: Murali Karicheri <m-karicheri2@ti.com>
To: Sekhar Nori <nsekhar@ti.com>
Cc: <mturquette@linaro.org>, <arnd@arndb.de>,
	<akpm@linux-foundation.org>, <shawn.guo@linaro.org>,
	<rob.herring@calxeda.com>, <linus.walleij@linaro.org>,
	<viresh.linux@gmail.com>, <linux-kernel@vger.kernel.org>,
	<khilman@ti.com>, <linux@arm.linux.org.uk>,
	<sshtylyov@mvista.com>,
	<davinci-linux-open-source@linux.davincidsp.com>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-keystone@list.ti.com>
Subject: Re: [PATCH v3 03/11] clk: davinci - common clk utilities to init clk driver
Date: Tue, 6 Nov 2012 10:04:26 -0500	[thread overview]
Message-ID: <509926FA.3050700@ti.com> (raw)
In-Reply-To: <5098D904.7050707@ti.com>

On 11/06/2012 04:31 AM, Sekhar Nori wrote:
>
> On 11/5/2012 8:50 PM, Murali Karicheri wrote:
>> On 11/03/2012 08:35 AM, Sekhar Nori wrote:
>>> On 10/25/2012 9:41 PM, Murali Karicheri wrote:
>>>> This is the common clk driver initialization functions for DaVinci
>>>> SoCs and other SoCs that uses similar hardware architecture.
>>>> clock.h also defines struct types for clock definitions in a SoC
>>>> and clock data type for configuring clk-mux. The initialization
>>>> functions are used by clock initialization code in a specific
>>>> platform/SoC.
>>>>
>>>> Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
>>>> ---
>>>>    drivers/clk/davinci/clock.c |  112
>>>> +++++++++++++++++++++++++++++++++++++++++++
>>>>    drivers/clk/davinci/clock.h |   80 +++++++++++++++++++++++++++++++
>>>>    2 files changed, 192 insertions(+)
>>>>    create mode 100644 drivers/clk/davinci/clock.c
>>>>    create mode 100644 drivers/clk/davinci/clock.h
>>>>
>>>> diff --git a/drivers/clk/davinci/clock.c b/drivers/clk/davinci/clock.c
>>>> new file mode 100644
>>>> index 0000000..ad02149
>>>> --- /dev/null
>>>> +++ b/drivers/clk/davinci/clock.c
>>>> @@ -0,0 +1,112 @@
>>>> +/*
>>>> + * clock.c - davinci clock initialization functions for various clocks
>>>> + *
>>>> + * Copyright (C) 2006-2012 Texas Instruments.
>>>> + * Copyright (C) 2008-2009 Deep Root Systems, LLC
>>>> + *
>>>> + * This program is free software; you can redistribute it and/or modify
>>>> + * it under the terms of the GNU General Public License as published by
>>>> + * the Free Software Foundation; either version 2 of the License, or
>>>> + * (at your option) any later version.
>>>> + */
>>>> +#include <linux/init.h>
>>>> +#include <linux/clk-provider.h>
>>>> +#include <linux/clkdev.h>
>>>> +#include <linux/io.h>
>>>> +#include <linux/slab.h>
>>>> +
>>>> +#include "clk-pll.h"
>>>> +#include "clk-psc.h"
>>>> +#include "clk-div.h"
>>>> +#include "clock.h"
>>>> +
>>>> +static DEFINE_SPINLOCK(_lock);
>>>> +
>>>> +#ifdef    CONFIG_CLK_DAVINCI_PLL
>>>> +struct clk *davinci_pll_clk(const char *name, const char *parent,
>>>> +        u32 phys_pllm, u32 phys_prediv, u32 phys_postdiv,
>>>> +        struct clk_pll_data *pll_data)
>>>> +{
>>>> +    struct clk *clkp = NULL;
>>>> +
>>>> +    pll_data->reg_pllm = ioremap(phys_pllm, 4);
>>>> +    if (WARN_ON(!pll_data->reg_pllm))
>>>> +        return clkp;
>>> I would prefer ERR_PTR(-ENOMEM) here. Same comment applies to other
>>> instances elsewhere in the patch.
>>>
>>>> diff --git a/drivers/clk/davinci/clock.h b/drivers/clk/davinci/clock.h
>>>> new file mode 100644
>>>> index 0000000..73204b8
>>>> --- /dev/null
>>>> +++ b/drivers/clk/davinci/clock.h
>>>> @@ -0,0 +1,80 @@
>>>> +/*
>>>> + * TI DaVinci Clock definitions -  Contains Macros and Types used for
>>>> + * defining various clocks on a DaVinci SoC
>>>> + *
>>>> + * Copyright (C) 2012 Texas Instruments
>>>> + *
>>>> + * This program is free software; you can redistribute it and/or
>>>> + * modify it under the terms of the GNU General Public License as
>>>> + * published by the Free Software Foundation version 2.
>>>> + *
>>>> + * This program is distributed "as is" WITHOUT ANY WARRANTY of any
>>>> + * kind, whether express or implied; without even the implied warranty
>>>> + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>>>> + * GNU General Public License for more details.
>>>> + */
>>>> +#ifndef __DAVINCI_CLOCK_H
>>>> +#define __DAVINCI_CLOCK_H
>>>> +
>>>> +#include <linux/types.h>
>>>> +
>>>> +/* general flags: */
>>>> +#define ALWAYS_ENABLED        BIT(0)
>>> This is not used in this patch. Can you add the define along with its
>>> usage so it is immediately clear why you need it?
>> This is used on the next patch as this adds a bunch of utilities or
>> types for the platform specific clock code. Do you want to combine this
>> patch with 05/11?  It will become a bigger patch then? Is that fine.
>> IMO, this is a logical group that can be a standalone patch than
>> combining with 05/11.
> It is more important to divide patches in logical functional blocks
> rather than split it based on files. Reading this patch, I have no idea
> what that define is for.
>
> Thanks,
> Sekhar
>
>
Will combine with 05/11 since utilities are used by the clock init code 
in dm644x.
Murali

  reply	other threads:[~2012-11-06 15:04 UTC|newest]

Thread overview: 119+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-25 16:11 [PATCH v3 00/11] common clk drivers migration for DaVinci SoCs Murali Karicheri
2012-10-25 16:11 ` Murali Karicheri
2012-10-25 16:11 ` [PATCH v3 01/11] clk: davinci - add main PLL clock driver Murali Karicheri
2012-10-25 16:11   ` Murali Karicheri
2012-10-28 19:18   ` Linus Walleij
2012-10-28 19:18     ` Linus Walleij
2012-10-31 13:23     ` Murali Karicheri
2012-10-31 13:23       ` Murali Karicheri
2012-10-31 12:29   ` Sekhar Nori
2012-10-31 12:29     ` Sekhar Nori
2012-10-31 13:46     ` Murali Karicheri
2012-10-31 13:46       ` Murali Karicheri
2012-11-01 11:01       ` Sekhar Nori
2012-11-01 11:01         ` Sekhar Nori
2012-10-25 16:11 ` [PATCH v3 02/11] clk: davinci - add PSC " Murali Karicheri
2012-10-25 16:11   ` Murali Karicheri
2012-10-28 19:24   ` Linus Walleij
2012-10-28 19:24     ` Linus Walleij
2012-10-31 13:23     ` Murali Karicheri
2012-10-31 13:23       ` Murali Karicheri
2013-03-19 10:57     ` Sekhar Nori
2013-03-19 10:57       ` Sekhar Nori
2012-11-03 12:07   ` Sekhar Nori
2012-11-03 12:07     ` Sekhar Nori
2012-11-05 15:10     ` Murali Karicheri
2012-11-05 15:10       ` Murali Karicheri
2012-11-10  2:22       ` Mike Turquette
2012-11-10  2:22         ` Mike Turquette
2012-11-27 15:05         ` Sekhar Nori
2012-11-27 15:05           ` Sekhar Nori
2012-11-27 17:29           ` Mike Turquette
2012-11-27 20:38             ` Murali Karicheri
2012-11-27 20:38               ` Murali Karicheri
2012-11-28 13:22             ` Sekhar Nori
2012-11-28 13:22               ` Sekhar Nori
2013-03-22 11:20               ` Sekhar Nori
2013-03-22 11:20                 ` Sekhar Nori
2013-03-22 20:37                 ` Mike Turquette
2013-03-22 20:37                   ` Mike Turquette
2013-03-25  6:50                   ` Sekhar Nori
2013-03-25  6:50                     ` Sekhar Nori
2012-10-25 16:11 ` [PATCH v3 03/11] clk: davinci - common clk utilities to init clk driver Murali Karicheri
2012-10-25 16:11   ` Murali Karicheri
2012-10-28 19:25   ` Linus Walleij
2012-10-28 19:25     ` Linus Walleij
2012-10-31 13:23     ` Murali Karicheri
2012-10-31 13:23       ` Murali Karicheri
2012-11-01 12:41   ` Sekhar Nori
2012-11-01 12:41     ` Sekhar Nori
2012-11-01 18:34     ` Murali Karicheri
2012-11-01 18:34       ` Murali Karicheri
2012-11-03 12:35   ` Sekhar Nori
2012-11-03 12:35     ` Sekhar Nori
2012-11-05 15:20     ` Murali Karicheri
2012-11-05 15:20       ` Murali Karicheri
2012-11-06  9:31       ` Sekhar Nori
2012-11-06  9:31         ` Sekhar Nori
2012-11-06 15:04         ` Murali Karicheri [this message]
2012-11-06 15:04           ` Murali Karicheri
2012-10-25 16:11 ` [PATCH v3 04/11] clk: davinci - add pll divider clock driver Murali Karicheri
2012-10-25 16:11   ` Murali Karicheri
2012-10-28 19:26   ` Linus Walleij
2012-10-28 19:26     ` Linus Walleij
2012-10-31 13:22     ` Murali Karicheri
2012-10-31 13:22       ` Murali Karicheri
2012-11-02 11:33   ` Sekhar Nori
2012-11-02 11:33     ` Sekhar Nori
2012-11-02 13:53     ` Murali Karicheri
2012-11-02 13:53       ` Murali Karicheri
2012-11-03 12:03       ` Sekhar Nori
2012-11-03 12:03         ` Sekhar Nori
2012-11-05 15:10         ` Murali Karicheri
2012-11-05 15:10           ` Murali Karicheri
2012-10-25 16:11 ` [PATCH v3 05/11] clk: davinci - add dm644x clock initialization Murali Karicheri
2012-10-25 16:11   ` Murali Karicheri
2012-11-03 13:30   ` Sekhar Nori
2012-11-03 13:30     ` Sekhar Nori
2012-11-05 15:42     ` Murali Karicheri
2012-11-05 15:42       ` Murali Karicheri
2012-11-06 10:18       ` Sekhar Nori
2012-11-06 10:18         ` Sekhar Nori
2012-11-05 23:23     ` Murali Karicheri
2012-11-05 23:23       ` Murali Karicheri
2012-11-06  9:40       ` Sekhar Nori
2012-11-06  9:40         ` Sekhar Nori
2012-10-25 16:11 ` [PATCH v3 06/11] clk: davinci - add build infrastructure for DaVinci clock drivers Murali Karicheri
2012-10-25 16:11   ` Murali Karicheri
2012-11-04 13:34   ` Sekhar Nori
2012-11-04 13:34     ` Sekhar Nori
2012-11-05 16:17     ` Murali Karicheri
2012-11-05 16:17       ` Murali Karicheri
2012-11-06  9:48       ` Sekhar Nori
2012-11-06  9:48         ` Sekhar Nori
2012-10-25 16:11 ` [PATCH v3 07/11] ARM: davinci - restructure header files for common clock migration Murali Karicheri
2012-10-25 16:11   ` Murali Karicheri
2012-11-04 14:05   ` Sekhar Nori
2012-11-04 14:05     ` Sekhar Nori
2012-11-05 19:11     ` Murali Karicheri
2012-11-05 19:11       ` Murali Karicheri
2012-11-06 10:03       ` Sekhar Nori
2012-11-06 10:03         ` Sekhar Nori
2012-11-05 21:57     ` Murali Karicheri
2012-11-05 21:57       ` Murali Karicheri
2012-12-03 13:23       ` Sekhar Nori
2012-12-03 13:23         ` Sekhar Nori
2012-10-25 16:11 ` [PATCH v3 08/11] ARM: davinci - migrating to use common clock init code Murali Karicheri
2012-10-25 16:11   ` Murali Karicheri
2012-10-25 16:11 ` [PATCH v3 09/11] ARM: davinci - dm644x: update SoC code to remove the clock data Murali Karicheri
2012-10-25 16:11   ` Murali Karicheri
2012-10-25 16:11 ` [PATCH v3 10/11] ARM: davinci - migrate to common clock Murali Karicheri
2012-10-25 16:11   ` Murali Karicheri
2012-11-04 13:06   ` Sekhar Nori
2012-11-04 13:06     ` Sekhar Nori
2012-11-05 15:43     ` Murali Karicheri
2012-11-05 15:43       ` Murali Karicheri
2012-10-25 16:11 ` [PATCH v3 11/11] ARM: davinci - common clock migration: clean up the old code Murali Karicheri
2012-10-25 16:11   ` Murali Karicheri
2012-10-30 17:00 ` [PATCH v3 00/11] common clk drivers migration for DaVinci SoCs Karicheri, Muralidharan
2012-10-30 17:00   ` Karicheri, Muralidharan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=509926FA.3050700@ti.com \
    --to=m-karicheri2@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.