[U-Boot] [PATCH v2 02/11] S3C24XX: Add core support for Samsung's S3C24XX SoCs

Marek Vasut
2012-09-14T19:07:12Z

Dear Scott Wood,

> On Fri, Sep 14, 2012 at 08:25:25PM +0200, Marek Vasut wrote:
> > Dear Jos? Miguel Gon?alves,
> >
> > > Hi Marek,
> > >
> > > On 14-09-2012 19:03, Marek Vasut wrote:
> > > > Dear Jos? Miguel Gon?alves,
> > > >
> > > > It's getting better :)
> > >
> > > Hopefully :-)
> > >
> > > > [...]
> > > >
> > > >> +
> > > >> +typedef ulong(*getfreq) (void);
> > > >
> > > > Is this used?
> > >
> > > In the array declaration bellow...
> >
> > Why, these are only values, no ?
>
> They're function pointers. If they were values the compiler should
> complain, because "getfreq" is used as the type of the array.
>
> > > >> +static const getfreq freq_f[] = {
> > > >
> > > > const array const members, no?
> > >
> > > Do you mean I should declare it like this:
> > >
> > > static const getfreq const freq[] = { ...
> >
> > Yes
>
> Why? When can you ever change what an array (not a pointer) points to?

Uh oh ... now I see the stuff with the functions. Crazy

> > > I don't see the point because an array has no other storage besides
> > > it's elements. Moreover GCC generates the same object code in both
> > > ways.
> >
> > Type checking, if you ever decided to write into the array, it'll prevent
> > you from doing so.
>
> The first const takes care of that.

Doesn't one prevent you from manupulating the elements and the other
manipulating the array ?

> -Scott

Best regards,
Marek Vasut