linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: "Kevin B. Hendricks" <kevin.hendricks@sympatico.ca>
To: Tom Rini <trini@kernel.crashing.org>
Cc: linuxppc-dev@lists.linuxppc.org
Subject: Re: can/should we use gcc 3.1 to compile kernels
Date: Fri, 7 Jun 2002 16:44:08 -0400	[thread overview]
Message-ID: <200206071644.08382.kevin.hendricks@sympatico.ca> (raw)
In-Reply-To: <20020607201906.GP14252@opus.bloom.county>


Hi,


#define CNTRL_REG(INFO,REG) (&(((INFO)->control_regs-> ## REG).r))

Invoked via something like:

out_le32(CNTRL_REG(p,start_addr),
                 par->yoffset * par->pitch + (par->xoffset << par->cmode));

But control_regs looks like:

struct control_regs {
...
           struct preg start_addr; /* start address: 5 lsbs zero */
...
}

and preg looks like:

struct preg {                   /* padded register */
        unsigned r;
        char pad[12];
};

struct fb_info_control {
...
        struct control_regs     *control_regs;
...
}

So assuming p is a pointer to a fb_info_control_structure

then CNTL_REG(p,start_addr) must turn out to be:

(&((p->control_regs-> start_addr).r))

Is that correct?

It seems to need parentheses to me to help see what goes with what...

 It is funny to have a stucture given the exact same name as a field of
another structure, perhaps that is what is confusing gcc 3.1?  (and ME!)

Thanks,

Kevin


On June 7, 2002 04:19, Tom Rini wrote:
> On Fri, Jun 07, 2002 at 03:44:56PM -0400, Kevin B. Hendricks wrote:
> > Not too bad warnings-wize excpet for the controlfb.c where it
> > constanly gave a funny warning about "pasting ->".
>
> Sounds right.  I think there was a few other things too..
>
> > It did this for every occurence of the macro CNTRL_REG which I must
> > admit has two ## which I think gcc was misinterpreting somehow.
>
> Well, isn't:
> #define x(foo) a_## foo ##_b
> A semi-common thing, like we do in indirect_pci.c ?  Or was it something
> different?
>
> > Other than that just the occaissioanal wanring about unused variables
> > and things like that.
>
> Lots of the USB stuff uses __FUNCTION__ which gcc-3.1 isn't happy
> about.
>
> > I should have saved the build.log
>
> S'alright.


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

  parent reply	other threads:[~2002-06-07 20:44 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-06-08 17:41 can/should we use gcc 3.1 to compile kernels Kevin B. Hendricks
2002-06-07 18:31 ` Kaoru Fukui
2002-06-07 19:38 ` Tom Rini
2002-06-07 19:44   ` Kevin B. Hendricks
2002-06-07 20:19     ` Tom Rini
2002-06-07 20:36       ` Franz Sirl
2002-06-07 20:45         ` Tom Rini
2002-06-07 20:58           ` Franz Sirl
2002-06-07 23:39             ` Kevin B. Hendricks
2002-06-07 23:59               ` Tom Rini
2002-06-07 20:44       ` Kevin B. Hendricks [this message]
2002-06-07 20:50         ` Franz Sirl
2002-06-07 21:06           ` Kevin B. Hendricks
2002-06-07 21:40           ` Kaoru Fukui
2002-06-07 21:11 ` More GCC 3.1 Qs Conn Clark

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=200206071644.08382.kevin.hendricks@sympatico.ca \
    --to=kevin.hendricks@sympatico.ca \
    --cc=linuxppc-dev@lists.linuxppc.org \
    --cc=trini@kernel.crashing.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).