[PATCH][WAS:bcmai, axi] bcma: add Broadcom specific AMBA bus driver
Rafał Miłecki
zajec5 at gmail.com
Sat May 7 14:05:24 EDT 2011
2011/5/7 George Kashperko <george at znau.edu.ua>:
>
>> 2011/5/6 Rafał Miłecki <zajec5 at gmail.com>:
>> > 2011/5/6 Arnd Bergmann <arnd at 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?
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.
--
Rafał
More information about the linux-arm-kernel
mailing list