From: "Michael Büsch" <m@bues.ch>
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH][WAS:bcmai,axi] bcma: add Broadcom specific AMBA bus driver
Date: Sat, 07 May 2011 15:55:55 +0200 [thread overview]
Message-ID: <1304776555.16344.2.camel@maggie> (raw)
In-Reply-To: <BANLkTimGBNT4FkS4mO9ToLWft0bCEYcEgg@mail.gmail.com>
On Sat, 2011-05-07 at 15:34 +0200, Rafa? Mi?ecki wrote:
> 2011/5/6 Rafa? Mi?ecki <zajec5@gmail.com>:
> > 2011/5/6 Arnd Bergmann <arnd@arndb.de>:
> >>> +const char *bcma_device_name(u16 coreid)
> >>> +{
> >>> + switch (coreid) {
> >>> + case BCMA_CORE_OOB_ROUTER:
> >>> + return "OOB Router";
> >>> + case BCMA_CORE_INVALID:
> >>> + return "Invalid";
> >>> + case BCMA_CORE_CHIPCOMMON:
> >>> + return "ChipCommon";
> >>> + case BCMA_CORE_ILINE20:
> >>> + return "ILine 20";
> >>
> >> It's better to make that a data structure than a switch() statement,
> >> both from readability and efficiency aspects.
> >
> > Well, maybe. We call it only once, at init time. In any case we're
> > still waiting for Broadcom to clarify which cores are really used for
> > BCMA.
>
> Arnd: did you have a look at defines at all?
>
> Most of the defines have values in range 0x800 ? 0x837. Converting
> this to array means loosing 0x800 u16 entries. We can not use 0x800
> offset, because there are also some defined between 0x000 and 0x800:
> #define BCMA_CORE_OOB_ROUTER 0x367 /* Out of band */
> #define BCMA_CORE_INVALID 0x700
>
> Oh and there is still:
> #define BCMA_CORE_DEFAULT 0xFFF
> we could want to include. Then we would loose additional (0xFFF -
> 0x837) u16 entries in array.
>
> I'll just leave this huge "case". As I said, it's called only once on
> initialization time. For standard PCI cards there are usually 3-5
> cores, for embedded systems this number can be bigger, but still is
> limited with 16 for 1 bus:
> #define BCMA_MAX_NR_CORES 16
The compiler does a better job than we do. I'm pretty sure that the
compiler will implement this switch statement as a series of small
lookup tables combined with some branches, if it thinks it's worth
it (also depends on flags and arch).
--
Greetings Michael.
next prev parent reply other threads:[~2011-05-07 13:55 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-08 17:41 [PATCH][WAS:bcmai,axi] bcma: add Broadcom specific AMBA bus driver Rafał Miłecki
[not found] ` <BANLkTi=epFN2EZBj9n8pac6h7F4RWmyk+Q@mail.gmail.com>
2011-05-05 23:01 ` [PATCH][WAS:bcmai, axi] " Rafał Miłecki
[not found] ` <201105061605.31625.arnd@arndb.de>
2011-05-06 14:50 ` Rafał Miłecki
2011-05-07 13:34 ` Rafał Miłecki
2011-05-07 13:55 ` Michael Büsch [this message]
[not found] ` <4DC57383.3050903@broadcom.com>
2011-05-07 16:49 ` Rafał Miłecki
[not found] ` <4DC57B81.6030705@broadcom.com>
2011-05-07 17:20 ` Rafał Miłecki
[not found] ` <1304790665.13983.10.camel@dev.znau.edu.ua>
2011-05-07 18:05 ` Rafał Miłecki
[not found] ` <1304792795.13983.28.camel@dev.znau.edu.ua>
2011-05-07 18:48 ` Rafał Miłecki
[not found] ` <1304794931.13983.44.camel@dev.znau.edu.ua>
2011-05-07 19:21 ` Rafał Miłecki
[not found] ` <1304796956.13983.65.camel@dev.znau.edu.ua>
2011-05-08 1:44 ` [PATCH][WAS:bcmai,axi] " Michael Büsch
[not found] ` <20110508101609.GF27807@n2100.arm.linux.org.uk>
2011-05-08 10:37 ` [PATCH][WAS:bcmai, axi] " Rafał Miłecki
[not found] ` <201105081706.12449.arnd@arndb.de>
2011-05-08 15:25 ` Rafał Miłecki
[not found] ` <201105081647.22091.arnd@arndb.de>
2011-05-08 14:59 ` Rafał Miłecki
[not found] ` <201105081759.03032.arnd@arndb.de>
2011-05-09 14:33 ` Rafał Miłecki
[not found] ` <20110509153728.GA29762@kroah.com>
2011-05-09 15:48 ` Rafał Miłecki
2011-05-07 16:13 ` Hauke Mehrtens
2011-05-07 16:23 ` Rafał Miłecki
2011-05-07 16:32 ` Hauke Mehrtens
2011-05-07 16:51 ` Rafał Miłecki
2011-05-07 17:24 ` Hauke Mehrtens
2011-05-07 17:35 ` Rafał Miłecki
[not found] ` <20110507224223.GA2537@broadcom.com>
2011-05-07 23:17 ` Hauke Mehrtens
2011-05-08 12:48 ` Hauke Mehrtens
2011-05-08 12:55 ` Rafał Miłecki
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=1304776555.16344.2.camel@maggie \
--to=m@bues.ch \
--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