public inbox for linux-omap@vger.kernel.org
 help / color / mirror / Atom feed
From: Nishanth Menon <nm@ti.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>,
	linux-omap <linux-omap@vger.kernel.org>, Tony <tony@atomide.com>,
	Thomas <thomas.petazzoni@free-electrons.com>
Subject: Re: [PATCH v4 2/3] omap4: opp: add OPP table data
Date: Tue, 23 Nov 2010 16:56:54 -0600	[thread overview]
Message-ID: <4CEC46B6.1020700@ti.com> (raw)
In-Reply-To: <4CEC413C.3070904@ti.com>

Cousson, Benoit had written, on 11/23/2010 04:33 PM, the following:
> Hi Nishanth,
> 
> On 11/23/2010 4:19 PM, Menon, Nishanth wrote:
>> Kevin Hilman had written, on 11/22/2010 06:09 PM, the following:
>>> Nishanth Menon<nm@ti.com>  writes:
>>>
>>>> Kevin Hilman wrote, on 11/22/2010 05:19 PM:
>>>>> Nishanth Menon<nm@ti.com>   writes:
>>>>>
>>>>>> This patch adds OPP tables for OMAP4. New file has been added to keep
>>>>>> the OMAP4 opp tables and the registration of these tables with the
>>>>>> generic opp framework by OMAP SoC OPP interface.
>>>>> [...]
>>>>>
>>>>>> diff --git a/arch/arm/mach-omap2/opp.c b/arch/arm/mach-omap2/opp.c
>>>>>> index 66e12be..48a553f 100644
>>>>>> --- a/arch/arm/mach-omap2/opp.c
>>>>>> +++ b/arch/arm/mach-omap2/opp.c
>>>>>> @@ -131,4 +131,5 @@ static int __init omap_init_opp_table(struct 
>>>>>> omap_opp_def *opp_def,
>>>>>>
>>>>>>    /* omap3 opps */
>>>>>>    #include "opp3xxx_data.c"
>>>>>> -
>>>>>> +/* omap4 opps */
>>>>>> +#include "opp4xxx_data.c"
>>>>> I'm not sure I like the including of C files.  Any reason you prefer
>>>>> this to just adding them to the Makefile?  e.g. opp24xx_dta.c are
>>>>> compiled in via Makefile and these two are included.
>>>> I dont buy it. I am seeing us go around in circles for this:
>>>> http://marc.info/?l=linux-omap&m=128986880406272&w=2
>>>> a) we dont want others to use specifics implemented in opp.c in other
>>>> files (e.g. board files)
>>>
>>> not sure how this is prevented.
>> The approach is as follows:
>> the #defines and struct definitions are in opp.c
>> opp{3,4}xxx_data.c use the same - by itself wont build because they need
>> the defines in opp.c
>> that way, there is no possibility of clean hacks possible except to
>> follow the current mechanism for a future omap silicon
>>
>> The main objective was to restrict the potential of board developers
>> from hacking the default OPP table - which would be possible by exposing
>> the headers for board files - which as Thomas rightly pointed out in the
>>    thread I pointed out,  opens up a possibility for board files to
>> include them as well and re-instantiate the table again..
[...]
> 
> FYI, Paul changed the clock and hwmod data files from include to C 
> files, because Russell didn't like at all the include of data file.
> 
> Why cannot we handle the opp data the same way we are managing clock, 
> hwmod or even pad mux data for various Soc?

Objective:
I do not want folks to start creating their own custom "default" OPP 
tables for silicon and registering with OPP framework. intent is to have 
the default OPP tables in one place - here.

Solution I followed:
make the following:
a) struct omap_opp_def
b) OPP_INITIALIZER
c) omap_init_opp_table
not available for anyone other than opp.c - they are defined in opp.c 
and not available externally.

If these were in a header, I am inviting failure of my objective. yes, I 
could review it when posted to l-o and NAK it, but wont prevent private 
trees from basically(IMHO) misusing the framework

Options available:
a) v1,2,3 of the series basically used a header opp{3,4}xxx_data .h
in v3, I received a comment (IMHO rightly so) that a header defining a 
static array implies capability for some other file to include the 
header and misuse it (basically headers are meant to share data structs 
between x and y - if you dont intend to do that, then put it in a c file)
b) in v4, I converted the data header to a .c and included the data.c in 
opp.c.

NOTE:
a) padconf, hwmod, clock are designed to be reused by rest of 
mach-omap2. opp defines are meant to be isolated. I dont really have a 
preference c or header file for the data, just that I want to, by design 
"make any hacks attempts - *really ugly*"
b) Inclusion of c in c files are not uniquely introduced here.
$ find . -iname "*.c"|xargs grep "#include"| grep -v "\.h"|grep 
":#include"|wc -l
558


Hope this clarifies.

Regards,
Nishanth Menon

  reply	other threads:[~2010-11-23 22:57 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <[PATCH v3 1/3] omap: opp: add OMAP3 OPP table data and common init>
2010-11-16 18:54 ` [PATCH v4 0/3] OMAP: Add opp data Nishanth Menon
2010-11-16 18:54 ` [PATCH v4 1/3] omap: opp: add OMAP3 OPP table data and common init Nishanth Menon
2010-11-22 22:21   ` Kevin Hilman
2010-11-16 18:54 ` [PATCH v4 2/3] omap4: opp: add OPP table data Nishanth Menon
2010-11-22 22:45   ` Kevin Hilman
2010-11-22 22:53     ` Nishanth Menon
2010-11-22 23:12       ` Kevin Hilman
2010-11-22 23:19   ` Kevin Hilman
2010-11-22 23:30     ` Nishanth Menon
2010-11-23  0:09       ` Kevin Hilman
2010-11-23 15:19         ` Nishanth Menon
2010-11-23 20:38           ` Kevin Hilman
2010-11-23 22:33           ` Cousson, Benoit
2010-11-23 22:56             ` Nishanth Menon [this message]
2010-11-23 23:30               ` Cousson, Benoit
2010-11-24  0:16                 ` Kevin Hilman
2010-11-24  2:34                   ` Nishanth Menon
2010-11-16 18:54 ` [PATCH v3 3/3] OMAP3: remove OPP interfaces from OMAP PM layer Nishanth Menon

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=4CEC46B6.1020700@ti.com \
    --to=nm@ti.com \
    --cc=khilman@deeprootsystems.com \
    --cc=linux-omap@vger.kernel.org \
    --cc=thomas.petazzoni@free-electrons.com \
    --cc=tony@atomide.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox