From: Sean MacLennan <smaclennan@pikatech.com>
To: "Karsten Keil" <kkeil@suse.de>
Cc: "Linus Torvalds" <torvalds@linux-foundation.org>,
"Benjamin Herrenschmidt" <benh@kernel.crashing.org>,
"Andreas.Eversberg" <Andreas.Eversberg@versatel.de>,
<isdn4linux@listserv.isdn4linux.de>,
<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 3/4] Fix remaining big endian issue of hfcmulti
Date: Tue, 5 Aug 2008 17:23:24 -0400 [thread overview]
Message-ID: <20080805172324.45853d98@lappy.seanm.ca> (raw)
In-Reply-To: <20080805210239.GB6052@pingi.kke.suse.de>
On Tue, 5 Aug 2008 23:02:39 +0200
"Karsten Keil" <kkeil@suse.de> wrote:
> On Tue, Aug 05, 2008 at 11:42:56AM -0700, Linus Torvalds wrote:
> >
> >
> > On Tue, 5 Aug 2008, Karsten Keil wrote:
> > >
> > > Maybe we can use the trick from lib/iomap.c to detect which
> > > kind of IO is needed, but unfortunately PIO_OFFSET, PIO_MASK and
> > > PIO_RESERVED are not exported so it would need to copy the
> > > defines, which isn't a really clean solution.
> >
> > Even if they were exported, you couldn't.
> >
> > lib/iomap.c is _not_ generic code. It's a library function for
> > architectures that don't do it some other way. But various
> > architectures can choose to not use lib/iomap.c at all - for
> > example, they may have MMIO and PIO in the same address space, so
> > they don't need the conditionals at all (because all the work was
> > done at mapping time, not at runtime).
> >
> > So if you actually have different models of operation for PIO and
> > MMIO, then yes, you need to handle that in the driver itself.
> >
>
> One question here, what is the better approach to do such a different
> implementation, use one local function like
>
> static void
> my_out32(struct card *c, u_int offset, u-int data)
> {
> if (c->mode == MMIO) {
> ...
> } else {
> ...
> }
> }
>
> or use 2 function, one for the MMIO and one for the PIO model and
> then use indirect calls (like c->my_out32(...)) ?
Why not select PIO or MMIO at config time?
Cheers,
Sean
next prev parent reply other threads:[~2008-08-05 21:23 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-02 14:35 [PATCH 3/4] Fix remaining big endian issue of hfcmulti Karsten Keil
2008-08-04 12:03 ` David Woodhouse
2008-08-04 14:29 ` Karsten Keil
2008-08-05 4:29 ` Benjamin Herrenschmidt
2008-08-05 11:31 ` Karsten Keil
2008-08-05 13:04 ` Benjamin Herrenschmidt
2008-08-05 17:25 ` Karsten Keil
2008-08-05 18:42 ` Linus Torvalds
2008-08-05 21:02 ` Karsten Keil
2008-08-05 21:23 ` Sean MacLennan [this message]
2008-08-05 21:37 ` Linus Torvalds
2008-08-05 21:59 ` Sean MacLennan
2008-08-05 23:04 ` Benjamin Herrenschmidt
2008-08-05 23:38 ` Sean MacLennan
2008-08-06 0:18 ` Karsten Keil
2008-08-06 0:33 ` Benjamin Herrenschmidt
2008-08-05 21:46 ` Benjamin Herrenschmidt
2008-08-05 21:45 ` Benjamin Herrenschmidt
2008-08-05 21:43 ` Benjamin Herrenschmidt
-- strict thread matches above, loose matches on Subject: below --
2008-08-07 11:01 AW: " Andreas.Eversberg
2008-08-07 13:46 ` Karsten Keil
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=20080805172324.45853d98@lappy.seanm.ca \
--to=smaclennan@pikatech.com \
--cc=Andreas.Eversberg@versatel.de \
--cc=benh@kernel.crashing.org \
--cc=isdn4linux@listserv.isdn4linux.de \
--cc=kkeil@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@linux-foundation.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.