lkml.org 
[lkml]   [2008]   [Dec]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectBUG: via_drmclient.h is referenced but does not exist
    Hi David et al.

    After improving the headers_check.pl script to do a
    check for files included with:

    #include "foo.h"

    it reported the following error:

    /home/sam/kernel/knext.git/usr/include/drm/via_drm.h:34: included file '/home/sam/kernel/knext.git/usr/include/drm/via_drmclient.h' is not exported

    And indeed the file via_drmclient.h does not exist in the kernel source.
    We do not see any issue in the kernel as the include is guarded by:

    #ifndef __KERNEL__
    #include "via_drmclient.h"
    #endif

    But referring to a non-existing file is not the right thing to to.

    We need this check as we have several places where we do:

    #include "foo.h"

    in our exported headers.

    So we need to fix drm somehow.

    The headers_check.pl patch is included for reference.

    Sam

    diff --git a/scripts/headers_check.pl b/scripts/headers_check.pl
    index 488a3b1..b97341e 100644
    --- a/scripts/headers_check.pl
    +++ b/scripts/headers_check.pl
    @@ -32,7 +32,7 @@ foreach my $file (@files) {
    $lineno = 0;
    while ($line = <FH>) {
    $lineno++;
    - check_include();
    + check_include($filename);
    }
    close FH;
    }
    @@ -40,7 +40,8 @@ exit $ret;

    sub check_include
    {
    - if ($line =~ m/^\s*#\s*include\s+<((asm|linux).*)>/) {
    + my ($filename) = @_;
    + if ($line =~ m/^\s*#\s*include\s+<((asm|linux)[_a-zA-Z0-9\/.]+)>/) {
    my $inc = $1;
    my $found;
    $found = stat($dir . "/" . $inc);
    @@ -52,5 +53,18 @@ sub check_include
    printf STDERR "$filename:$lineno: included file '$inc' is not exported\n";
    $ret = 1;
    }
    + } elsif ($line =~ m/^\s*#\s*include\s+"([_a-zA-Z0-9.]+)"/) {
    + my $inc = $1;
    + my $filedir = $filename;
    + my $found;
    +
    + # drop filename part so we have only the dir part
    + $filedir =~ s/\/[_a-zA-Z0-9.]+$//;
    +
    + $found = stat($filedir . "/" . $inc);
    + if (!$found) {
    + printf STDERR "$filename:$lineno: included file '$filedir/$inc' is not exported\n";
    + $ret = 1;
    + }
    }
    }

    \
     
     \ /
      Last update: 2008-12-13 20:35    [W:0.020 / U:2.612 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site