From: tony@atomide.com (Tony Lindgren)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 3/3] omap: add hwspinlock device
Date: Mon, 25 Oct 2010 12:02:21 -0700 [thread overview]
Message-ID: <20101025190221.GC7206@atomide.com> (raw)
In-Reply-To: <AANLkTimysu4L+ecFvpGAQ0bj3fhLQC1cveWddFNNp=JQ@mail.gmail.com>
* Ohad Ben-Cohen <ohad@wizery.com> [101024 10:45]:
> Hi Tony,
>
> On Fri, Oct 22, 2010 at 6:56 PM, Tony Lindgren <tony@atomide.com> wrote:
> > Guys, let's try to come up with a generic interface for this instead of
> > polluting the device drivers with more omap specific interfaces.
> >
> > We really want to keep the drivers generic and platform independent.
>
> I share this concern as well.
>
> We basically have three options here:
>
> 1. Have the hwspinlock driver inside the omap folders and use pdata func ptrs
> 2. Have a generic hwspinlock framework, with a small omap-specific
> implementation
> 3. Have a misc driver which is currently omap specific, but can very
> easily be converted to a common framework
>
> I don't like (1) so much; it's a driver that has very little that is
> hardware specific (mainly just the two lines that actually access the
> hardware - the lock and the unlock), and it's growing. E.g., we will
> need to add it a user space interface (to allow userland IPC
> implementations), we will need to add it a "virtual" locks layer that
> would provide more locks than the hardware currently has, etc..
>
> In addition, there seem to be a general discontent about drivers
> piling up in the ARM folders, instead of having them visible in
> drivers/ so they can become useful for other platforms as well.
>
> Here's something Linus wrote about this awhile back:
>
> http://www.spinics.net/lists/linux-arm-msm/msg00324.html
>
> So initially I opted for (2). I have an implementation ready - it's a
> common drivers/hwspinlock/core.c framework with a small omap-specific
> part at drivers/hwspinlock/omap_hwspinlock.c. The core has all the
> logic while the latter, omap-specific implementation, is really small
> - it is basically just registering lock instances, that have a
> trylock/unlock/relax ops struct, with the common framework.
>
> But lack of additional users (besides the OMAP hardware), and lack of
> generic drivers that would use it (we have syslink, which currently
> tend to only need this from user space, i2c-omap and omap's upcoming
> resource manager), made it look like an overkill for now.
>
> So simplicity won, and (3) was eventually submitted. It exposes
> exactly the same interface like (2) would (s/omap_hwspin/hwspin/), and
> it's relatively easy to turn it back into a common framework in case
> additional users show up.
>
> But if you feel that (2) is justifiable/desirable, I would be more
> than happy to submit that version.
Yes (2) please. I would assume there will be more use of this. And then
we (or probably me again!) don't have to deal with cleaning up the drivers
again in the future.
> > Unless somebody has better ideas, I suggest we pass a lock function
> > in the platform_data to the drivers that need it, and do the omap
> > specific nasty stuff in the platform code.
>
> Do you mean (1) and then pass the whole bunch of APIs
> (request/free/lock variants/unlock/get_id) via pdata ?
>
> Or do you mean a variation of (2) with only the specific locking bits
> coming from pdata func pointers ? I guess that in this case we just
> might as well go with the full (2).
Yes variation of (2) where you only pass the locking function via
platform data would be best.
Regards,
Tony
next prev parent reply other threads:[~2010-10-25 19:02 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-18 7:44 [PATCH 0/3] Add OMAP hardware spinlock misc driver Ohad Ben-Cohen
2010-10-18 7:44 ` [PATCH 1/3] drivers: misc: add omap_hwspinlock driver Ohad Ben-Cohen
2010-10-19 15:46 ` Greg KH
2010-10-19 20:18 ` Ohad Ben-Cohen
2010-10-19 16:58 ` Kevin Hilman
2010-10-19 20:21 ` Ohad Ben-Cohen
2010-10-19 17:01 ` Grant Likely
2010-10-19 20:43 ` Ohad Ben-Cohen
2010-10-19 20:58 ` Arnd Bergmann
2010-10-19 21:57 ` Ohad Ben-Cohen
2010-10-19 17:16 ` Kevin Hilman
2010-10-20 13:00 ` Ohad Ben-Cohen
2010-10-20 18:18 ` Kevin Hilman
2010-10-19 17:21 ` Arnd Bergmann
2010-10-19 20:51 ` Ohad Ben-Cohen
2010-10-19 21:08 ` Arnd Bergmann
2010-10-20 22:43 ` Ohad Ben-Cohen
2010-10-21 9:04 ` Arnd Bergmann
2010-10-21 10:13 ` Ohad Ben-Cohen
2010-10-21 12:02 ` Arnd Bergmann
2010-10-22 17:00 ` Tony Lindgren
2010-10-18 7:44 ` [PATCH 2/3] OMAP4: hwmod data: Add hwspinlock Ohad Ben-Cohen
2010-10-18 7:44 ` [PATCH 3/3] omap: add hwspinlock device Ohad Ben-Cohen
2010-10-19 17:03 ` Kevin Hilman
2010-10-19 17:05 ` Grant Likely
2010-10-19 21:02 ` Ohad Ben-Cohen
2010-10-19 23:12 ` Grant Likely
2010-10-20 14:09 ` Ohad Ben-Cohen
2010-10-20 15:51 ` Grant Likely
2010-10-19 23:53 ` Kevin Hilman
2010-10-20 1:20 ` Ryan Mallon
2010-10-20 14:38 ` Ohad Ben-Cohen
2010-10-20 15:55 ` Grant Likely
2010-10-20 18:37 ` Kevin Hilman
2010-10-20 19:21 ` Ohad Ben-Cohen
2010-10-20 23:58 ` Kevin Hilman
2010-10-21 6:11 ` Ohad Ben-Cohen
2010-10-21 8:36 ` Kamoolkar, Mugdha
2010-10-21 9:06 ` Ohad Ben-Cohen
2010-10-22 9:59 ` Kamoolkar, Mugdha
2010-10-22 11:16 ` Ohad Ben-Cohen
2010-10-21 12:26 ` Kanigeri, Hari
2010-10-22 10:14 ` Kamoolkar, Mugdha
2010-10-22 16:56 ` Tony Lindgren
2010-10-22 17:03 ` Grant Likely
2010-10-22 17:28 ` Tony Lindgren
2010-10-24 17:54 ` Ohad Ben-Cohen
2010-10-25 19:02 ` Tony Lindgren [this message]
2010-10-26 11:54 ` Ohad Ben-Cohen
2010-10-26 19:06 ` Tony Lindgren
2010-10-18 12:46 ` [PATCH 0/3] Add OMAP hardware spinlock misc driver Peter Zijlstra
2010-10-18 13:35 ` Russell King - ARM Linux
2010-10-18 13:43 ` Peter Zijlstra
2010-10-18 14:28 ` Ohad Ben-Cohen
2010-10-18 14:33 ` Peter Zijlstra
2010-10-18 14:39 ` Ohad Ben-Cohen
2010-10-18 15:27 ` Catalin Marinas
2010-10-18 15:32 ` Peter Zijlstra
2010-10-18 15:35 ` Ohad Ben-Cohen
2010-10-18 15:48 ` Peter Zijlstra
2010-10-18 15:51 ` Catalin Marinas
2010-10-18 15:58 ` Peter Zijlstra
2010-10-19 23:31 ` Daniel Walker
2010-10-20 6:13 ` Ohad Ben-Cohen
2010-10-20 10:00 ` Ohad Ben-Cohen
2010-10-20 22:29 ` Bryan Huntsman
2010-10-20 9:53 ` Russell King - ARM Linux
2010-10-20 22:15 ` Daniel Walker
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=20101025190221.GC7206@atomide.com \
--to=tony@atomide.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).