From: "Cousson, Benoit" <b-cousson@ti.com>
To: Paul Walmsley <paul@pwsan.com>
Cc: "Kristo, Tero" <t-kristo@ti.com>,
"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCHv9 03/18] TEMP: OMAP3xxx: hwmod data: add PRM hwmod
Date: Tue, 11 Oct 2011 00:17:50 +0200 [thread overview]
Message-ID: <4E936F0E.9050203@ti.com> (raw)
In-Reply-To: <alpine.DEB.2.00.1110101416530.5205@utopia.booyaka.com>
On 10/10/2011 10:42 PM, Paul Walmsley wrote:
> Hi Benoît
>
> On Mon, 10 Oct 2011, Cousson, Benoit wrote:
>
>> On 10/10/2011 9:24 PM, Paul Walmsley wrote:
>>> On Fri, 23 Sep 2011, Tero Kristo wrote:
>>>
>>>> This patch is temporary until Paul can provide a final version.
>>>>
>>>> Signed-off-by: Tero Kristo<t-kristo@ti.com>
>>>
>>> Here's an updated version of this one. The one change is that the hwmod's
>>> name is now "prm3xxx" to reflect that the register layout of this IP block
>>> is quite different from its OMAP2 predecessors and OMAP4 successors.
>>> This should avoid some of the special-purpose driver probing code.
>>
>> This is not really aligned with the naming convention we've been using so far.
>> In both cases, the hwmod should just be named "prm". If a version information
>> is needed, then it should be added in the revision class field.
>>
>> It will make the device creation even simpler and not dependent of the SoC
>> version.
>
> The problem in this case is that we should be using a completely different
> device driver for the PRM that's in the OMAP3 chips, from the driver used
> for OMAP2 or OMAP4 PRM blocks, due to the completely different register
> layout. As far as I know, we haven't yet used the hwmod IP version to
> probe a different device driver when the version number changes. There's
> no support for that in the current Linux platform* code, so we'd need
> special-purpose code for that.
>
> In an ideal world, we'd have an omap_bus, etc., which would include an
> additional interface version number as part of its driver matching
> criteria. Device drivers would then specify which interface version
> numbers they supported. The device data would specify that interface
> version number should be matched.
>
> But as it is right now in the current platform_device/platform_driver
> based system, we have only the name to match. We could implement
> something where we concatenate the existing IP version number onto the
> hwmod name, and modify the device drivers to use that name. But that
> seems like a lot of potential churn in light of a future DT and/or
> omap_bus migration.
>
> So I'm proposing to use the IP version number field that's in the hwmod
> data to indicate evolutionary revisions of an IP block -- rather than
> revolutionary revisions that would require a new driver. Then, since we
> use the hwmod name for driver matching, we'd use a different name for
> radically different IPs.
>
> If it's the "3xxx" that you're objecting to in the name, we could call it
> "prm2" or "prmxyz" - the '3xxx' just seemed like the most logical
> approach. The name of the hwmod class in the patch is still "prm", of
> course.
Yes, but that's different, the number is supposed to represent the
instance number in the IP naming convention. So prm2 != prmv2.
> Thoughts?
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.
> N.B., it's true that by waiting, this problem will presumably go away,
> with DT, in which the driver matching data would go into the
> "compatible" string in the DT.
Yes, this will become indeed straightforward with DT.
We will just have something like:
prm {
compatible = "prm-omap2";
ti,hwmods = "prm";
}
> But I guess it would be good to figure out a clean approach in the
> meantime.
I guess the different device names should make that work in the meantime.
Regards,
Benoit
WARNING: multiple messages have this Message-ID (diff)
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: Tue, 11 Oct 2011 00:17:50 +0200 [thread overview]
Message-ID: <4E936F0E.9050203@ti.com> (raw)
In-Reply-To: <alpine.DEB.2.00.1110101416530.5205@utopia.booyaka.com>
On 10/10/2011 10:42 PM, Paul Walmsley wrote:
> Hi Beno?t
>
> On Mon, 10 Oct 2011, Cousson, Benoit wrote:
>
>> On 10/10/2011 9:24 PM, Paul Walmsley wrote:
>>> On Fri, 23 Sep 2011, Tero Kristo wrote:
>>>
>>>> This patch is temporary until Paul can provide a final version.
>>>>
>>>> Signed-off-by: Tero Kristo<t-kristo@ti.com>
>>>
>>> Here's an updated version of this one. The one change is that the hwmod's
>>> name is now "prm3xxx" to reflect that the register layout of this IP block
>>> is quite different from its OMAP2 predecessors and OMAP4 successors.
>>> This should avoid some of the special-purpose driver probing code.
>>
>> This is not really aligned with the naming convention we've been using so far.
>> In both cases, the hwmod should just be named "prm". If a version information
>> is needed, then it should be added in the revision class field.
>>
>> It will make the device creation even simpler and not dependent of the SoC
>> version.
>
> The problem in this case is that we should be using a completely different
> device driver for the PRM that's in the OMAP3 chips, from the driver used
> for OMAP2 or OMAP4 PRM blocks, due to the completely different register
> layout. As far as I know, we haven't yet used the hwmod IP version to
> probe a different device driver when the version number changes. There's
> no support for that in the current Linux platform* code, so we'd need
> special-purpose code for that.
>
> In an ideal world, we'd have an omap_bus, etc., which would include an
> additional interface version number as part of its driver matching
> criteria. Device drivers would then specify which interface version
> numbers they supported. The device data would specify that interface
> version number should be matched.
>
> But as it is right now in the current platform_device/platform_driver
> based system, we have only the name to match. We could implement
> something where we concatenate the existing IP version number onto the
> hwmod name, and modify the device drivers to use that name. But that
> seems like a lot of potential churn in light of a future DT and/or
> omap_bus migration.
>
> So I'm proposing to use the IP version number field that's in the hwmod
> data to indicate evolutionary revisions of an IP block -- rather than
> revolutionary revisions that would require a new driver. Then, since we
> use the hwmod name for driver matching, we'd use a different name for
> radically different IPs.
>
> If it's the "3xxx" that you're objecting to in the name, we could call it
> "prm2" or "prmxyz" - the '3xxx' just seemed like the most logical
> approach. The name of the hwmod class in the patch is still "prm", of
> course.
Yes, but that's different, the number is supposed to represent the
instance number in the IP naming convention. So prm2 != prmv2.
> Thoughts?
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.
> N.B., it's true that by waiting, this problem will presumably go away,
> with DT, in which the driver matching data would go into the
> "compatible" string in the DT.
Yes, this will become indeed straightforward with DT.
We will just have something like:
prm {
compatible = "prm-omap2";
ti,hwmods = "prm";
}
> But I guess it would be good to figure out a clean approach in the
> meantime.
I guess the different device names should make that work in the meantime.
Regards,
Benoit
next prev parent reply other threads:[~2011-10-10 22:17 UTC|newest]
Thread overview: 110+ 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 ` Tero Kristo
2011-09-23 12:46 ` 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 ` Tero Kristo
2011-09-23 12:46 ` 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 ` Tero Kristo
2011-09-23 12:46 ` Tero Kristo
2011-09-23 12:46 ` [PATCHv9 03/18] TEMP: OMAP3xxx: hwmod data: add PRM hwmod Tero Kristo
2011-09-23 12:46 ` Tero Kristo
2011-09-23 12:46 ` Tero Kristo
2011-10-10 19:24 ` Paul Walmsley
2011-10-10 19:24 ` Paul Walmsley
2011-10-10 19:54 ` Cousson, Benoit
2011-10-10 19:54 ` Cousson, Benoit
2011-10-10 20:11 ` Paul Walmsley
2011-10-10 20:11 ` Paul Walmsley
2011-10-10 20:42 ` Paul Walmsley
2011-10-10 20:42 ` Paul Walmsley
2011-10-10 22:17 ` Cousson, Benoit [this message]
2011-10-10 22:17 ` Cousson, Benoit
2011-10-10 22:35 ` Paul Walmsley
2011-10-10 22:35 ` Paul Walmsley
2011-10-12 8:14 ` Cousson, Benoit
2011-10-12 8:14 ` Cousson, Benoit
2011-10-10 23:26 ` Paul Walmsley
2011-10-10 23:26 ` Paul Walmsley
2011-10-12 8:16 ` Cousson, Benoit
2011-10-12 8:16 ` Cousson, Benoit
2011-10-13 16:38 ` Paul Walmsley
2011-10-13 16:38 ` Paul Walmsley
2011-10-13 16:51 ` Paul Walmsley
2011-10-13 16:51 ` Paul Walmsley
2011-10-20 14:51 ` Cousson, Benoit
2011-10-20 14:51 ` Cousson, Benoit
2011-10-20 15:25 ` Tero Kristo
2011-10-20 15:25 ` Tero Kristo
2011-10-20 15:25 ` Tero Kristo
2011-10-20 14:43 ` Cousson, Benoit
2011-10-20 14:43 ` Cousson, Benoit
2011-09-23 12:46 ` [PATCHv9 04/18] TEMP: OMAP4xxx: " Tero Kristo
2011-09-23 12:46 ` Tero Kristo
2011-09-23 12:46 ` Tero Kristo
2011-09-23 12:46 ` [PATCHv9 05/18] mfd: omap-prm: add driver skeleton Tero Kristo
2011-09-23 12:46 ` Tero Kristo
2011-09-23 12:46 ` Tero Kristo
2011-11-18 21:35 ` Kevin Hilman
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-09-23 12:46 ` Tero Kristo
2011-09-23 12:46 ` Tero Kristo
2011-11-17 22:34 ` Kevin Hilman
2011-11-17 22:34 ` Kevin Hilman
2011-11-17 22:34 ` Kevin Hilman
2011-11-18 19:18 ` Felipe Balbi
2011-11-18 19:18 ` Felipe Balbi
2011-11-21 13:10 ` Tero Kristo
2011-11-21 13:10 ` Tero Kristo
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-09-23 12:46 ` Tero Kristo
2011-09-23 12:46 ` Tero Kristo
2011-11-18 19:02 ` Kevin Hilman
2011-11-18 19:02 ` Kevin Hilman
2011-11-18 19:02 ` Kevin Hilman
2011-11-21 13:00 ` Tero Kristo
2011-11-21 13:00 ` Tero Kristo
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 ` Tero Kristo
2011-09-23 12:46 ` Tero Kristo
2011-09-23 12:46 ` [PATCHv9 09/18] omap3: pm: use prcm chain handler Tero Kristo
2011-09-23 12:46 ` Tero Kristo
2011-09-23 12:46 ` 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 ` Tero Kristo
2011-09-23 12:46 ` Tero Kristo
2011-09-23 12:46 ` [PATCHv9 11/18] omap3+: add omap prm driver initialization Tero Kristo
2011-09-23 12:46 ` Tero Kristo
2011-09-23 12:46 ` Tero Kristo
2011-09-23 12:46 ` [PATCHv9 12/18] TEMP: serial: added mux support Tero Kristo
2011-09-23 12:46 ` Tero Kristo
2011-09-23 12:46 ` Tero Kristo
2011-09-23 12:46 ` [PATCHv9 13/18] TEMP: 4430sdp: use common serial init with " Tero Kristo
2011-09-23 12:46 ` Tero Kristo
2011-09-23 12:46 ` 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 ` Tero Kristo
2011-09-23 12:46 ` 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 ` Tero Kristo
2011-09-23 12:46 ` 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 ` Tero Kristo
2011-09-23 12:46 ` Tero Kristo
2011-09-23 12:46 ` [PATCHv9 17/18] TEMP: OMAP: serial: remove padconf hacks Tero Kristo
2011-09-23 12:46 ` Tero Kristo
2011-09-23 12:46 ` Tero Kristo
2011-09-23 12:46 ` [PATCHv9 18/18] TEMP: OMAP device: change pr_warnings to pr_debugs Tero Kristo
2011-09-23 12:46 ` Tero Kristo
2011-09-23 12:46 ` Tero Kristo
2011-09-23 22:23 ` [PATCHv9 00/18] omap PRCM chain handler Valdis.Kletnieks
2011-09-23 22:23 ` Valdis.Kletnieks
2011-09-23 22:23 ` Valdis.Kletnieks at vt.edu
2011-09-24 5:24 ` Sripathy, Vishwanath
2011-09-24 5:24 ` Sripathy, Vishwanath
2011-09-24 5:55 ` Valdis.Kletnieks
2011-09-24 5:55 ` Valdis.Kletnieks
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=4E936F0E.9050203@ti.com \
--to=b-cousson@ti.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=paul@pwsan.com \
--cc=t-kristo@ti.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 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.