linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: b-cousson@ti.com (Cousson, Benoit)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCHv9 03/18] TEMP: OMAP3xxx: hwmod data: add PRM hwmod
Date: Thu, 20 Oct 2011 16:51:14 +0200	[thread overview]
Message-ID: <4EA03562.7000309@ti.com> (raw)
In-Reply-To: <alpine.DEB.2.00.1110131047110.24155@utopia.booyaka.com>

On 10/13/2011 6:51 PM, Paul Walmsley wrote:
> On Thu, 13 Oct 2011, Paul Walmsley wrote:
>
>> On Wed, 12 Oct 2011, Cousson, Benoit wrote:
>>
>>> On 10/11/2011 1:26 AM, Paul Walmsley wrote:
>>>> On Tue, 11 Oct 2011, Cousson, Benoit wrote:
>>>>
>>>>> In fact the device name does not have to match the hwmod name. So we
>>>>> can just create an "omap2_prm" omap_device for OMAP2, "omap3_prm"
>>>>> omap_device for OMAP3... That will allow the relevant PRM driver to
>>>>> be bound to the proper device.
>>>>
>>>> Incidentally, given that we would be using the hwmod name and the version
>>>> number to determine the appropriate omap_device name, what IP version
>>>> numbers should we assign to these PRM IP blocks for different SoCs?
>>>
>>> It can just be 1, 2 and 3... The idea is just to differentiate the IP for each
>>> OMAP.
>>
>> So those are basically arbitrary?  Something is not clear here.
>>
>> In the current hwmod design, IP blocks with different interfaces were
>> intended to be uniquely identified by the hwmod name alone.  That is why
>> omap_hwmod_lookup() only takes a 'name' parameter.
>>
>> If I understand what you want to do, you wish to change this to uniquely
>> identify them by a (name, interface version number) tuple.
>>
>> I don't have a problem with this in theory, but it implies some changes to
>> the existing model.  Specifically:
>>
>> - we'll need to add an interface version number to the struct omap_hwmod
>>
>> - we'll need to modify omap_hwmod_lookup() to take an interface version
>> number
>>
>> - the "ti,hwmod" DT binding that you proposed earlier will need to include
>> an interface version number
>
> Hmm, reflecting on this further, is your intention to bind drivers to
> hwmods by the struct omap_hwmod_class instead?

Well, somehow, the class was added for that purpose, to allow one timer 
driver to bind to 2 different hwmods. But in that case the device name 
was the same.

> If we define that "rev" field as the interface version number, that should
> probably work.
>
> So then in C struct format, in a platform_device system, the mapping table
> would basically become
>
> struct omap_hwmod_driver_map {
> 	const char *class_name;
> 	const u32 class_rev;
> 	const char *platform_device_name;
> }

This is needed if and only if you want to have a different driver for 
the same IP.

In the case of the timer, we do have only one device name and one driver:
class=timer, rev=1, device=omap_timer
class=timer, rev=2, device=omap_timer

Regards,
Benoit

  reply	other threads:[~2011-10-20 14:51 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-23 12:46 [PATCHv9 00/18] omap PRCM chain handler Tero Kristo
2011-09-23 12:46 ` [PATCHv9 01/18] OMAP2+: hwmod: Add API to enable IO ring wakeup Tero Kristo
2011-09-23 12:46 ` [PATCHv9 02/18] OMAP2+: hwmod: Add API to check IO PAD wakeup status Tero Kristo
2011-09-23 12:46 ` [PATCHv9 03/18] TEMP: OMAP3xxx: hwmod data: add PRM hwmod Tero Kristo
2011-10-10 19:24   ` Paul Walmsley
2011-10-10 19:54     ` Cousson, Benoit
2011-10-10 20:11       ` Paul Walmsley
2011-10-10 20:42       ` Paul Walmsley
2011-10-10 22:17         ` Cousson, Benoit
2011-10-10 22:35           ` Paul Walmsley
2011-10-12  8:14             ` Cousson, Benoit
2011-10-10 23:26           ` Paul Walmsley
2011-10-12  8:16             ` Cousson, Benoit
2011-10-13 16:38               ` Paul Walmsley
2011-10-13 16:51                 ` Paul Walmsley
2011-10-20 14:51                   ` Cousson, Benoit [this message]
2011-10-20 15:25                     ` Tero Kristo
2011-10-20 14:43                 ` Cousson, Benoit
2011-09-23 12:46 ` [PATCHv9 04/18] TEMP: OMAP4xxx: " Tero Kristo
2011-09-23 12:46 ` [PATCHv9 05/18] mfd: omap-prm: add driver skeleton Tero Kristo
2011-11-18 21:35   ` Kevin Hilman
2011-09-23 12:46 ` [PATCHv9 06/18] mfd: omap-prm: added chain interrupt handler Tero Kristo
2011-11-17 22:34   ` Kevin Hilman
2011-11-18 19:18     ` Felipe Balbi
2011-11-21 13:10       ` Tero Kristo
2011-09-23 12:46 ` [PATCHv9 07/18] mfd: omap-prm: added suspend prepare and complete callbacks Tero Kristo
2011-11-18 19:02   ` Kevin Hilman
2011-11-21 13:00     ` Tero Kristo
2011-09-23 12:46 ` [PATCHv9 08/18] OMAP2+: mux: add support for PAD wakeup interrupts Tero Kristo
2011-09-23 12:46 ` [PATCHv9 09/18] omap3: pm: use prcm chain handler Tero Kristo
2011-09-23 12:46 ` [PATCHv9 10/18] OMAP3: pm: do not enable PRCM MPU interrupts manually Tero Kristo
2011-09-23 12:46 ` [PATCHv9 11/18] omap3+: add omap prm driver initialization Tero Kristo
2011-09-23 12:46 ` [PATCHv9 12/18] TEMP: serial: added mux support Tero Kristo
2011-09-23 12:46 ` [PATCHv9 13/18] TEMP: 4430sdp: use common serial init with " Tero Kristo
2011-09-23 12:46 ` [PATCHv9 14/18] TEMP: mux: added trace for io wkup event Tero Kristo
2011-09-23 12:46 ` [PATCHv9 15/18] TEMP: OMAP3: pm: remove serial resume / idle calls from idle path Tero Kristo
2011-09-23 12:46 ` [PATCHv9 16/18] TEMP: OMAP3: serial: made serial to work properly with PRCM chain handler Tero Kristo
2011-09-23 12:46 ` [PATCHv9 17/18] TEMP: OMAP: serial: remove padconf hacks Tero Kristo
2011-09-23 12:46 ` [PATCHv9 18/18] TEMP: OMAP device: change pr_warnings to pr_debugs Tero Kristo
2011-09-23 22:23 ` [PATCHv9 00/18] omap PRCM chain handler Valdis.Kletnieks at vt.edu
2011-09-24  5:24   ` Sripathy, Vishwanath
2011-09-24  5:55     ` Valdis.Kletnieks at vt.edu

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=4EA03562.7000309@ti.com \
    --to=b-cousson@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).