Re: [Patch v2 1/2] OMAP2PLUS:DSS2: add opt_clock_available in pdata

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2011-03-01 at 00:27 -0600, Semwal, Sumit wrote:
> On Tue, Mar 1, 2011 at 11:49 AM, Tomi Valkeinen <tomi.valkeinen@xxxxxx> wrote:
> > On Mon, 2011-02-28 at 23:42 -0600, Semwal, Sumit wrote:
> >> On Mon, Feb 28, 2011 at 9:33 PM, Tomi Valkeinen <tomi.valkeinen@xxxxxx> wrote:
> >> > On Mon, 2011-02-28 at 09:02 -0600, Semwal, Sumit wrote:
> >> >> Provide a function in pdata to allow dss submodules to check if a given
> >> >> clock is available on a platform as an optional clock.
> >> >>
> >> >> Signed-off-by: Senthilvadivu Guruswamy <svadivu@xxxxxx>
> >> >> (based on implementation from Senthil)
> >> >>
> >> >> Signed-off-by: Sumit Semwal <sumit.semwal@xxxxxx>
> >> >> ---
> >> >>  arch/arm/mach-omap2/display.c             |   20 ++++++++++++++++++++
> >> >>  arch/arm/plat-omap/include/plat/display.h |    2 ++
> >> >>  2 files changed, 22 insertions(+), 0 deletions(-)
> >> >>
> >> >> diff --git a/arch/arm/mach-omap2/display.c b/arch/arm/mach-omap2/display.c
> >> >> index 5ab6a74..9f4f862 100644
> >> >> --- a/arch/arm/mach-omap2/display.c
> >> >> +++ b/arch/arm/mach-omap2/display.c
> >> >> @@ -42,6 +42,25 @@ static struct omap_device_pm_latency omap_dss_latency[] = {
> >> >>       },
> >> >>  };
> >> >>
> >> >> +static bool opt_clock_available(const char *clk_role)
> >> >> +{
> >> >> +     int i;
> >> >> +     struct omap_hwmod *oh;
> >> >> +
> >> >> +     /* opt_clks are always associated with dss hwmod */
> >> >> +     oh = omap_hwmod_lookup("dss_core");
> >> >> +     if (!oh) {
> >> >> +             pr_err("Could not look up dss_core.\n");
> >> >> +             return -ENODEV;
> >> >
> >> > The function returns a bool. Perhaps the lookup would be better done in
> >> > omap_display_init(), and stored in a static variable.
> >> Yes; I guess I should go with your earlier suggestion - of keeping
> >> this 'oh' as part of pdata, and then use it here.
> >
> > I don't think it needs to be part of pdata. It's internal to this file,
> > and if I'm not mistaken, omap_display_init() is called just once from
> > the current board file. Thus the data could as well be stored in a
> > static variable.
> :) ok, that's correct; though we might need to make 'oh' part of pdata
> based on our adaptation to the reset functionality - but that will
> come later.
> >
> >> > Or if it's clear that this should never happen, BUG_ON(!oh);
> >> Well, multiple people have 'frowned' upon using BUG_ON in dss -
> >> especially because some people might still want their kernel to keep
> >> working despite a display failure?
> >
> > Yes, BUG is an easy, not good, way out =).
> :) hmmm... should I just return 'false' and print out a warning?

>From opt_clock_available() if the hwmod was not found? Well, preferably
opt_clock_available() will never be called, if the hwmod is not found in
omap_display_init(). So omap_display_init() should fail -> DSS driver
refuses to start -> opt_clock_available() is never called.

 Tomi


--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux