On Saturday 07 May 2011, Rafał Miłecki wrote:
> > 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

I did not mean using the enum value as index, just make an array of
simple structs:

struct bcma_device_name {
        unsigned int id;
        const char *name;
};

struct bcma_device_name bcma_device_names = {
        { BCMA_CORE_OOB_ROUTER, "Out of band router" },
        { BCMA_CORE_INVALID,    "Invalid" },
        ...
};

The data size for this should be way smaller than the code needed
to represent the whole function otherwise, and be more readable.

        Arnd

_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to