mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Ben Dooks <ben-linux@fluff.org>
To: Lothar Wa?mann <LW@KARO-electronics.de>
Cc: Jeremy Kerr <jeremy.kerr@canonical.com>,
	Ben Dooks <ben-linux@fluff.org>,
	Ben Herrenchmidt <benh@kernel.crashing.org>,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [RFC,PATCH 1/2] Add a common struct clk
Date: Sun, 13 Jun 2010 23:25:12 +0100	[thread overview]
Message-ID: <20100613222512.GE31045@fluff.org.uk> (raw)
In-Reply-To: <19473.61547.684572.647641@ipc1.ka-ro>

On Fri, Jun 11, 2010 at 10:14:35AM +0200, Lothar Wa?mann wrote:
> Hi,
> 
> > > > +static inline int clk_enable(struct clk *clk)
> > > > +{
> > > > +	int ret = 0;
> > > > +
> > > > +	if (!clk->ops->enable)
> > > > +		return 0;
> > > > +
> > > > +	mutex_lock(&clk->mutex);
> > > > +	if (!clk->enable_count)
> > > > +		ret = clk->ops->enable(clk);
> > > > +
> > > > +	if (!ret)
> > > > +		clk->enable_count++;
> > > > +	mutex_unlock(&clk->mutex);
> > > > +
> > > > +	return ret;
> > > > +}
> > > 
> Using a mutex in clk_enable()/clk_disable() is a bad idea, since that
> makes it impossible to call those functions in interrupt context.

I think that is a bad idea, unless you can provide otherwise. These
calls can sleep depending on implementation, and thus I would like to
ensure that they are marked as might-sleep.

Is there any specific reason? If so, we need to add some form of ops
where we have _nosleep specificially for this case.

-- 
Ben (ben@fluff.org, http://www.fluff.org/)

  'a smiley only costs 4 bytes'

  parent reply	other threads:[~2010-06-13 22:25 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-04  7:30 [RFC,PATCH 0/2] Common struct clk implementation, v4 Jeremy Kerr
2010-06-04  7:30 ` [RFC,PATCH 2/2] clk: Generic support for fixed-rate clocks Jeremy Kerr
2010-06-04  7:30 ` [RFC,PATCH 1/2] Add a common struct clk Jeremy Kerr
2010-06-11  4:20   ` Ben Dooks
2010-06-11  6:50     ` Benjamin Herrenschmidt
2010-06-11  7:57     ` Jeremy Kerr
2010-06-11  8:14       ` Lothar Waßmann
2010-06-11  9:18         ` Jeremy Kerr
2010-06-11  9:23           ` Lothar Waßmann
2010-06-11  9:58             ` Uwe Kleine-König
2010-06-11 10:08               ` Lothar Waßmann
2010-06-11 10:50                 ` Jeremy Kerr
2010-06-12  5:14                 ` Benjamin Herrenschmidt
2010-06-14  6:39                   ` Lothar Waßmann
2010-06-14  6:40                     ` Uwe Kleine-König
2010-06-14  6:52                       ` Lothar Waßmann
2010-06-14  9:34                         ` Uwe Kleine-König
2010-06-16 21:14                           ` Ben Dooks
2010-06-16 21:13                         ` Ben Dooks
2010-06-14  9:22                     ` Benjamin Herrenschmidt
2010-06-14  9:30                       ` Lothar Waßmann
2010-06-14  9:43                         ` Uwe Kleine-König
2010-06-16 21:16                           ` Ben Dooks
2010-06-16 23:33                             ` Benjamin Herrenschmidt
2010-06-13 22:27                 ` Ben Dooks
2010-06-11 14:11               ` Uwe Kleine-König
2010-06-12  5:12             ` Benjamin Herrenschmidt
2010-06-12  5:10         ` Benjamin Herrenschmidt
2010-06-13 22:25         ` Ben Dooks [this message]
2010-06-13 22:23       ` Ben Dooks
2010-06-14  3:10         ` Jeremy Kerr
2010-09-10  2:10         ` Jeremy Kerr
2010-06-14 10:18     ` Jeremy Kerr
  -- strict thread matches above, loose matches on Subject: below --
2010-06-02 11:56 [RFC,PATCH 0/2] Common struct clk implementation, v3 Jeremy Kerr
2010-06-02 11:56 ` [RFC,PATCH 1/2] Add a common struct clk Jeremy Kerr
2010-06-02 12:03   ` Ben Dooks
2010-06-03  3:21     ` Jeremy Kerr
2010-06-03  8:13       ` Ben Dooks
2010-06-03 10:24         ` Jeremy Kerr
2010-06-03 11:05           ` Russell King - ARM Linux
2010-06-04  0:06             ` Ben Dooks
2010-06-04  1:43               ` Jeremy Kerr
2010-06-04  1:40             ` Jeremy Kerr
2010-06-03 21:09         ` Ryan Mallon
2010-06-03 23:45           ` Ben Dooks

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=20100613222512.GE31045@fluff.org.uk \
    --to=ben-linux@fluff.org \
    --cc=LW@KARO-electronics.de \
    --cc=benh@kernel.crashing.org \
    --cc=jeremy.kerr@canonical.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.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

Powered by JetHome