linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: zajec5@gmail.com (Rafał Miłecki)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH][WAS:bcmai, axi] bcma: add Broadcom specific AMBA bus driver
Date: Sat, 7 May 2011 20:48:10 +0200	[thread overview]
Message-ID: <BANLkTi=6BFD4OmtU1WPxjbFJQe36=mZKEA@mail.gmail.com> (raw)
In-Reply-To: <1304792795.13983.28.camel@dev.znau.edu.ua>

2011/5/7 George Kashperko <george@znau.edu.ua>:
>
>> 2011/5/7 George Kashperko <george@znau.edu.ua>:
>> >
>> >> 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.
>> > What is the purpose for bcma_device_name in bus driver code ? Why not
>> > define const char *name in struct bcma_driver and let driver writers
>> > supply kernel with knowledge on new cores' names rather than hard type
>> > those into the bus code ?
>>
>> The purpose is ridiculously trivial. Print user-friendly names on
>> scanning. Why not do that?
> Output like
> Core 0: ChipCommon (id 0x800, rev 18, vendor 0x14e4)
> and
> Core 0: id 0x800, rev 18, vendor 0x14e4
> both give to 99% of linux systems' end-users exactly the same consistent
> information. Its more than enough for diagnostic purposes (I guess
> scanning code does outputs this for diagnostic purposes by those less
> than 1% of people who are aware wth is actually that ChipCommon is, not
> to be just user friendly?).

Really, what's wrong with that? Does it kill anyone's pet we print
this? We also do:
pr_err("Scanning failed because of wrong CID\n");
return -1;
While we could drop pr_err. Why to do this? Advanced used can always
check what -1 means.

I just like this. I find situations when it's useful, while I don't
see real negatives. I want to keep this. Can we leave this that way?
Unless someone finds some really bad effects of this?


> For user firendly output you still can keep the name of the core in
> dedicated driver.

It won't work in case of core with no driver (not supported), driver
not compiled (someone didn't know it's needed for his system) and it
won't print nicely all bus devices in one place.


>> Let's allow user understand what his bus contains without looking info
>> defines in .h.
>>
>>
>> > Also this will close the question Arend asked
>> > you regarding same core ids with different manufacturer ids.
>>
>> I don't know what was Arend's question. I asked but it was few minutes
>> ago. I guess he just wanted to point there can be other manufacturer's
>> cores.
>>
> I guess core id 0x800 by 0x04BF vendor and 0x800 by 0x043B vendor will
> both be reported as ChipCommon which most likely is wrong for second
> one. Btw, ChipCommon is 0x500 for 4706 and there will be more new core
> codes for new Broadcom devices. Don't think its right to build core
> names database into kernel while there will be at most few of them used
> on particular end system.

This is constructive, I'll fix this, thanks.

-- 
Rafa?

  reply	other threads:[~2011-05-07 18:48 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-05 21:59 [PATCH][WAS:bcmai,axi] bcma: add Broadcom specific AMBA bus driver Rafał Miłecki
2011-05-05 22:59 ` [PATCH][WAS:bcmai, axi] " Julian Calaby
2011-05-05 23:01   ` Rafał Miłecki
2011-05-06 14:05 ` Arnd Bergmann
2011-05-06 14:50   ` Rafał Miłecki
2011-05-07 13:34     ` Rafał Miłecki
2011-05-07 13:55       ` [PATCH][WAS:bcmai,axi] " Michael Büsch
2011-05-07 16:29         ` Arend van Spriel
2011-05-07 16:49           ` [PATCH][WAS:bcmai, axi] " Rafał Miłecki
2011-05-07 17:04             ` [PATCH][WAS:bcmai,axi] " Arend van Spriel
2011-05-07 17:20               ` [PATCH][WAS:bcmai, axi] " Rafał Miłecki
2011-05-07 17:51       ` [PATCH][WAS:bcmai,axi] " George Kashperko
2011-05-07 18:05         ` [PATCH][WAS:bcmai, axi] " Rafał Miłecki
2011-05-07 18:26           ` [PATCH][WAS:bcmai,axi] " George Kashperko
2011-05-07 18:48             ` Rafał Miłecki [this message]
2011-05-07 19:02               ` George Kashperko
2011-05-07 19:21                 ` [PATCH][WAS:bcmai, axi] " Rafał Miłecki
2011-05-07 19:35                   ` [PATCH][WAS:bcmai,axi] " George Kashperko
2011-05-08  1:44                     ` Michael Büsch
2011-05-08  2:01                       ` George Kashperko
2011-05-07 19:03               ` George Kashperko
2011-05-08  8:43               ` Arend van Spriel
2011-05-08 10:16               ` Russell King - ARM Linux
2011-05-08 10:37                 ` [PATCH][WAS:bcmai, axi] " Rafał Miłecki
2011-05-08 10:50                   ` [PATCH][WAS:bcmai,axi] " Russell King - ARM Linux
2011-05-08 15:06       ` [PATCH][WAS:bcmai, axi] " Arnd Bergmann
2011-05-08 15:25         ` Rafał Miłecki
2011-05-08 15:54           ` Arnd Bergmann
2011-05-08 14:47     ` Arnd Bergmann
2011-05-08 14:59       ` Rafał Miłecki
2011-05-08 15:59         ` Arnd Bergmann
2011-05-09 14:33           ` Rafał Miłecki
2011-05-09 15:37             ` Greg KH
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
2011-05-07 17:45           ` [PATCH][WAS:bcmai,axi] " George Kashperko
2011-05-07 22:42           ` Henry Ptasinski
2011-05-07 23:17             ` [PATCH][WAS:bcmai, axi] " 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='BANLkTi=6BFD4OmtU1WPxjbFJQe36=mZKEA@mail.gmail.com' \
    --to=zajec5@gmail.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).