Re: [PATCH][WAS:bcmai,axi] bcma: add Broadcom specific AMBA bus driver

From: RafaÅ MiÅecki
Date: Sat May 07 2011 - 14:05:33 EST


2011/5/7 George Kashperko <george@xxxxxxxxxxx>:
>
>> 2011/5/6 RafaÅ MiÅecki <zajec5@xxxxxxxxx>:
>> > 2011/5/6 Arnd Bergmann <arnd@xxxxxxxx>:
>> >>> +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Å
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/