From: mturquette@ti.com (Mike Turquette)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH] dt: describe base reset signal binding
Date: Wed, 31 Oct 2012 03:32:21 -0700 [thread overview]
Message-ID: <20121031103221.18780.43096@nucleus> (raw)
In-Reply-To: <5090161D.2030702@wwwdotorg.org>
Quoting Stephen Warren (2012-10-30 11:02:05)
> On 10/29/2012 12:32 PM, Mike Turquette wrote:
> > Quoting Stephen Warren (2012-10-23 14:45:56)
> >> What do people think of this? Does it sound like a good idea to go ahead
> >> with a reset subsystem? Should we simply add a new API to the common clock
> >> subsystem instead (and assume that reset and clock domains match 1:1).
> >> Should this be implemented as part of the generic power management domains;
> >> see include/linux/pm_domain.h instead?
> >>
> >
> > Hi Stephen,
> >
> > I'm not sure a "reset subsystem" is necessary, but I also do not like
> > using clocks as the keys for IP reset.
>
> I'm not sure what you're suggesting as an alternative to a reset
> subsystem (or API if you want something that sounds smaller!) :-)
>
My point was that I do not know if a new subsystem is necessary or not.
Your suggestion to "simply add a new API to the common clock subsystem"
is an example of an alternative to a whole new subsystem. However I
instinctively feel that the clock api is not the right place for
reseting devices.
> > I think it is more common to map IPs to struct device, no?
>
> It is indeed probably common that there's a 1:1 mapping between IP
> blocks and struct device. However, I'm sure there are plenty of
> counter-examples; IP blocks with multiple reset domains (hence struct
> devices that encompass multiple reset domains, or reset domains that
> encompass multiple struct devices), just as there are many examples of
> non-1:1 mappings between struct device and struct clk.
>
In OMAP code we handle IP resets through the hwmod code and I prefer
that IP-centric approach to associating IP resets with a clock node.
Perhaps the hwmod approach could serve as inspiration for a new generic
way to reset modules.
> Even ignoring that, we'd still need to API say device_reset(struct
> device *dev) or device_reset(struct device *dev, const char *conid)
> wouldn't we? That's really all I meant by a reset subsystem.
>
Of course. The api must exist.
> An alternative here would be to simply move Tegra's
> tegra_periph_reset_{de,}assert() function prototypes into a header in
> include/linux rather than mach-tegra/include/mach. However, I imagine at
> least some other SoC needs a similar API, so a common API might be useful?
I also agree. I think that there was simply some confusion about how I
responded. To reiterate, I'm not sure whether a new subsystem should be
created or if the API can find a home in some existing subsystem, but I
don't think the clock framework is the right place for it.
Regards,
Mike
WARNING: multiple messages have this Message-ID (diff)
From: Mike Turquette <mturquette-l0cyMroinI0@public.gmane.org>
To: Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
Cc: "Rafael J. Wysocki" <rjw-KKrjLPT3xs0@public.gmane.org>,
Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Rob Herring <rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Subject: Re: [RFC PATCH] dt: describe base reset signal binding
Date: Wed, 31 Oct 2012 03:32:21 -0700 [thread overview]
Message-ID: <20121031103221.18780.43096@nucleus> (raw)
In-Reply-To: <5090161D.2030702-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
Quoting Stephen Warren (2012-10-30 11:02:05)
> On 10/29/2012 12:32 PM, Mike Turquette wrote:
> > Quoting Stephen Warren (2012-10-23 14:45:56)
> >> What do people think of this? Does it sound like a good idea to go ahead
> >> with a reset subsystem? Should we simply add a new API to the common clock
> >> subsystem instead (and assume that reset and clock domains match 1:1).
> >> Should this be implemented as part of the generic power management domains;
> >> see include/linux/pm_domain.h instead?
> >>
> >
> > Hi Stephen,
> >
> > I'm not sure a "reset subsystem" is necessary, but I also do not like
> > using clocks as the keys for IP reset.
>
> I'm not sure what you're suggesting as an alternative to a reset
> subsystem (or API if you want something that sounds smaller!) :-)
>
My point was that I do not know if a new subsystem is necessary or not.
Your suggestion to "simply add a new API to the common clock subsystem"
is an example of an alternative to a whole new subsystem. However I
instinctively feel that the clock api is not the right place for
reseting devices.
> > I think it is more common to map IPs to struct device, no?
>
> It is indeed probably common that there's a 1:1 mapping between IP
> blocks and struct device. However, I'm sure there are plenty of
> counter-examples; IP blocks with multiple reset domains (hence struct
> devices that encompass multiple reset domains, or reset domains that
> encompass multiple struct devices), just as there are many examples of
> non-1:1 mappings between struct device and struct clk.
>
In OMAP code we handle IP resets through the hwmod code and I prefer
that IP-centric approach to associating IP resets with a clock node.
Perhaps the hwmod approach could serve as inspiration for a new generic
way to reset modules.
> Even ignoring that, we'd still need to API say device_reset(struct
> device *dev) or device_reset(struct device *dev, const char *conid)
> wouldn't we? That's really all I meant by a reset subsystem.
>
Of course. The api must exist.
> An alternative here would be to simply move Tegra's
> tegra_periph_reset_{de,}assert() function prototypes into a header in
> include/linux rather than mach-tegra/include/mach. However, I imagine at
> least some other SoC needs a similar API, so a common API might be useful?
I also agree. I think that there was simply some confusion about how I
responded. To reiterate, I'm not sure whether a new subsystem should be
created or if the API can find a home in some existing subsystem, but I
don't think the clock framework is the right place for it.
Regards,
Mike
next prev parent reply other threads:[~2012-10-31 10:32 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-23 21:45 [RFC PATCH] dt: describe base reset signal binding Stephen Warren
2012-10-23 21:45 ` Stephen Warren
2012-10-29 18:32 ` Mike Turquette
2012-10-29 18:32 ` Mike Turquette
2012-10-30 18:02 ` Stephen Warren
2012-10-30 18:02 ` Stephen Warren
2012-10-31 10:32 ` Mike Turquette [this message]
2012-10-31 10:32 ` Mike Turquette
2012-10-31 22:47 ` Stephen Warren
2012-10-31 22:47 ` Stephen Warren
2012-10-31 22:47 ` Stephen Warren
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=20121031103221.18780.43096@nucleus \
--to=mturquette@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.