From: Juergen Beisert <jbe@pengutronix.de>
To: linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 1/2] video: Add i.MX23/28 framebuffer driver
Date: Thu, 10 Feb 2011 09:52:10 +0000 [thread overview]
Message-ID: <201102101052.10958.jbe@pengutronix.de> (raw)
In-Reply-To: <09EC74FE2C9E8444BF2FF67BD36E1D691678C9@039-SN1MPN1-003.039d.mgd.msft.net>
Li Frank-B20596 wrote:
> > > > +#define VDCTRL1 0x80
> > > > +#define VDCTRL2 0x90
> > > > +#define VDCTRL3 0xa0
> > > > +#define VDCTRL4 0xb0
> > >
> > > Why you give up mx23/mx28 register define role, which generate from SOC
> > > xml.
> >
> > Your macros prevent me from writing short and compact code. If you need
> > more than one of these macros you always have to split each line to follow
> > the 80 columns rule. Unreadable.
> >
> > > There is a set header files for each mx23/mx28 module, which generate
> > > from xml. I know original header files affect run time one Image.
> > > But I think we can copy common part of such register definition because
> > > That keep consistent with mx23/mx28 data sheet. Data sheet and header
> > > file
> >
> > > generate from one source xml.
> > >
> > > HW_<Module name>_<Register name>.
> > > BM_<Module name>_<Register name>_Bit name.
> >
> > IMHO when I define the macros where they belong to, there is not need for
> > this redundant HW_<Module name> or BW__<Module name> prefixes. They are
> > just needless.
>
> At first, someone complain name is longer. But during mx23/mx28 developing,
> Everyone start enjoy such definition because there are not error happen
> about register and bit position definition and identical map to silicon
> spec.
This kind of macro encryption _may_ help when you are coding the driver the
first time. But after reading and reading it again (while testing and
debugging) all these prefixes and suffixes do not add any valuable
information. They only fill up your lines, enlarges your source code and make
you blind for the real bug...
Everyone who wants to see how source code looks that uses these longs macros I
can recommend reading the so called 'bootlets' source code. :-))
> Developer needn't look up register header file when coding, just
That's why I add these macros into the source file instead into a header file.
> write down Register name or bit name according to mx23/mx28 spec.
And sometimes the spec is incomplete or just wrong and so on. Independent of
any macro naming policy.
> If you still think it is too long, I suggest keep HW_ and BM_ prefix to
> distinguish Which one is register name, which one is bit mask.
The used macro in the address part of the writel() must be an offset, while
the macro used in the value part must be a bit definition. Anything else is
redundant.
Regards,
Juergen
--
Pengutronix e.K. | Juergen Beisert |
Linux Solutions for Science and Industry | Phone: +49-8766-939 228 |
Vertretung Sued/Muenchen, Germany | Fax: +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de/ |
next prev parent reply other threads:[~2011-02-10 9:52 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1297257651-8002-1-git-send-email-s.hauer@pengutronix.de>
2011-02-09 13:20 ` [PATCH 1/2] video: Add i.MX23/28 framebuffer driver Sascha Hauer
2011-02-09 13:35 ` Lothar Waßmann
2011-02-10 3:16 ` Li Frank-B20596
2011-02-10 8:51 ` Juergen Beisert
2011-02-10 9:15 ` Li Frank-B20596
2011-02-10 9:52 ` Juergen Beisert [this message]
2011-02-10 10:37 ` Li Frank-B20596
2011-02-10 11:12 ` Juergen Beisert
2011-02-10 12:23 ` Li Frank-B20596
2011-02-10 9:23 ` Li Frank-B20596
2011-02-10 9:46 ` Juergen Beisert
2011-02-10 10:08 ` Li Frank-B20596
2011-02-10 10:47 ` Wolfram Sang
2011-02-10 11:51 ` Sascha Hauer
2011-02-10 12:32 ` Li Frank-B20596
[not found] ` <201102091547.12131.arnd@arndb.de>
[not found] ` <20110209153716.GN9041@pengutronix.de>
2011-02-09 16:31 ` [PATCH] " Arnd Bergmann
2011-02-10 17:09 ` Robert Schwebel
2011-02-15 14:13 ` Clark, Rob
2011-02-16 12:22 ` Arnd Bergmann
[not found] ` <AANLkTik+ounqcTJ6rhiUqKPGkwcCOKGXdsVADs6zHfPU@mail.gmail.com>
2011-02-17 1:08 ` Clark, Rob
[not found] ` <AANLkTim3iUNHsaCf7387H-X+XW0YDQsQVa1FwDvo0KvH@mail.gmail.com>
2011-02-17 15:25 ` Clark, Rob
[not found] ` <AANLkTimOUnaHNMg03cHAiNJLuGhGuMWSHt+kibxWfYMH@mail.gmail.com>
2011-02-18 4:34 ` Clark, Rob
2011-02-17 16:14 ` James Simmons
[not found] ` <AANLkTimcwr4vpycSQCH9vMaB+umh+yHD_+WD2MJNqMOB@mail.gmail.com>
[not found] ` <AANLkTimcwr4vpycSQCH9vMaB+umh+yHD_+WD2MJNqMOB-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-02-18 4:32 ` Clark, Rob
2011-02-21 3:12 ` Dave Airlie
[not found] <1297850199-1688-1-git-send-email-s.hauer@pengutronix.de>
2011-02-16 9:56 ` [PATCH 1/2] video: Add " Sascha Hauer
2011-02-18 5:24 ` Shawn Guo
2011-02-18 8:30 ` Sascha Hauer
2011-02-18 8:57 ` Shawn Guo
2011-02-18 12:29 ` Shawn Guo
2011-02-21 14:17 ` Sascha Hauer
[not found] <1298880152-28913-1-git-send-email-s.hauer@pengutronix.de>
2011-02-28 8:02 ` Sascha Hauer
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=201102101052.10958.jbe@pengutronix.de \
--to=jbe@pengutronix.de \
--cc=linux-arm-kernel@lists.infradead.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).