mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Stefan Richter <stefanr@s5r6.in-berlin.de>
To: Randy Dunlap <rdunlap@xenotime.net>
Cc: Al Viro <viro@ftp.linux.org.uk>,
	Linus Torvalds <torvalds@osdl.org>,
	Alexey Dobriyan <adobriyan@gmail.com>,
	linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org
Subject: Re: dealing with excessive includes
Date: Fri, 20 Oct 2006 19:51:40 +0200	[thread overview]
Message-ID: <45390CAC.7090409@s5r6.in-berlin.de> (raw)
In-Reply-To: <20061020091302.a2a85fb1.rdunlap@xenotime.net>

Randy Dunlap wrote:
> On Fri, 20 Oct 2006 11:26:58 +0200 Stefan Richter wrote:
>> I am afraid in many of these cases a proper cleanup would _replace_ the
>> include by the correct one, not just delete it. For example,
>> drivers/ieee1394/raw1394.c should include linux/spinlock.h. AFAICS it
>> does so at the moment only indirectly via another header.
> 
> I don't think that we can fix it all at once.  This is just one step.
> AFAICT for raw1394.c, it's not incorrect as is, but more is needed,
> sure.

Yes, it's probably still correct after your patch. I just referred to
the sensible rule that necessary headers should be directly included
where they are used, not indirectly via other headers.

> Yes, we have lots of header include indirection going on.
> I don't know of a good tool to detect/fix it.

Me neither. I manually cleansed the ieee1394 core's and sbp2's includes
recently; this is a mind-numbing janitorial job.

> What Al is doing is good stuff, but I'd still prefer to see an even
> better tool, like gcc-preprocessor or sparse based (I guess).

On the surface, tools like LXR and cscope "know" where function are
declared or macros and types are defined. But oftentimes, other headers
than these tools turn up are to be included by API users. Cf. the
definition of atomic_t. (IOW the "necessary" header is not always the
one which has the actual definition.)
-- 
Stefan Richter
-=====-=-==- =-=- =-=--
http://arcgraph.de/sr/

  reply	other threads:[~2006-10-20 17:51 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-10-17  0:50 [RFC] typechecking for get_unaligned/put_unaligned Al Viro
2006-10-17  1:50 ` Linus Torvalds
2006-10-17  4:37   ` Al Viro
2006-10-17 15:12     ` Bogus deps checking (was Re: [RFC] typechecking for get_unaligned/put_unaligned) Ray Lehtiniemi
2006-10-17 15:24     ` [RFC] typechecking for get_unaligned/put_unaligned Linus Torvalds
2006-10-18  4:40       ` dealing with excessive includes Al Viro
2006-10-18  9:19         ` Alexey Dobriyan
2006-10-18  9:31           ` Al Viro
2006-10-18 10:00             ` Alexey Dobriyan
2006-10-18 17:42               ` Al Viro
2006-10-18 21:48                 ` Alexey Dobriyan
2006-10-18 15:04             ` Linus Torvalds
2006-10-18 15:13               ` Matthew Wilcox
2006-10-18 16:06               ` Al Viro
2006-10-18 16:32                 ` Linus Torvalds
2006-10-18 17:44                   ` Al Viro
2006-10-19 16:23                   ` Al Viro
2006-10-19 18:24                   ` Andreas Gruenbacher
2006-10-20  0:53                   ` Al Viro
2006-10-20  0:57                     ` Al Viro
2006-10-20 12:43                       ` Matthew Wilcox
2006-10-20  0:58                     ` Al Viro
2006-10-20  0:59                     ` Al Viro
2006-10-20  1:02                     ` Al Viro
2006-10-20  4:35                     ` Randy Dunlap
2006-10-20  9:26                       ` Stefan Richter
2006-10-20 16:13                         ` Randy Dunlap
2006-10-20 17:51                           ` Stefan Richter [this message]
2006-10-22 17:58                           ` Geert Uytterhoeven
2006-10-22 22:59                             ` Andi Kleen
2006-10-23  8:29                               ` Geert Uytterhoeven
2006-10-23 16:09                                 ` Linus Torvalds
2006-10-23 16:13                                   ` Geert Uytterhoeven
2006-10-23 16:31                                     ` Linus Torvalds
2006-10-23 16:52                                       ` Geert Uytterhoeven
2006-10-23 17:05                                         ` Linus Torvalds
2006-10-23  0:31                             ` Matthew Wilcox
2006-10-23  0:42                               ` Andi Kleen
2006-10-23  1:08                                 ` Matthew Wilcox
2006-10-23  1:31                                   ` Andi Kleen
2006-10-23  1:36                                     ` Matthew Wilcox
2006-10-23  1:41                                       ` Andi Kleen
2006-10-23  8:34                                         ` Geert Uytterhoeven
2006-10-23  1:48                                       ` Randy Dunlap
2006-10-23  1:49                                       ` Nick Piggin
2006-10-23  6:34                                         ` Stefan Richter
2006-10-18 16:15               ` Jan Engelhardt
2006-10-18 16:21                 ` Matthew Wilcox
2006-10-18  5:42     ` [RFC] typechecking for get_unaligned/put_unaligned Dave Jones
2006-10-18  6:05       ` Al Viro
2006-10-19 16:52         ` Denis Vlasenko
2006-10-19 16:58           ` Al Viro
2006-10-17  9:04 ` David Howells
2006-10-17 15:28   ` Linus Torvalds
2006-10-28 15:24 dealing with excessive includes Tim Schmielau
2006-10-30 10:45 Al Viro

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=45390CAC.7090409@s5r6.in-berlin.de \
    --to=stefanr@s5r6.in-berlin.de \
    --cc=adobriyan@gmail.com \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rdunlap@xenotime.net \
    --cc=torvalds@osdl.org \
    --cc=viro@ftp.linux.org.uk \
    /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

Powered by JetHome