lkml.org 
[lkml]   [1999]   [Dec]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    Subjectread[bwl] and ioremap problem
    Hi Linus, Alan.

    > In short, the way to recognize a broken driver is to basically
    > search for drivers that use the non-ISA read/write functions,
    > WITHOUT using ioremap(). They need to be converted to either use
    > ioremap() OR to use the isa_ versions of the functions.

    > Somebody could probably write a simple shell-script with a few
    > greps to easily highlight "suspicious" files.

    Here's a script I wrote and ran through the linux-2.3.33/drivers
    directory. It should list all files containing read[bwl] that do not
    also contain ioremap and that's probably the first place to look...

    ===8<=== CUT ===>8===

    #!/bin/bash
    cd /usr/src

    function locate() {
    find linux-*/drivers -name '*.[ch]' $*
    }

    function readdwl() {
    locate -exec grep 'read[bwl]' '{}' /dev/null ';' \
    | cut -d : -f 1 | uniq | sort
    }

    function process() {
    for Z in `readdwl` ; do
    if ! fgrep ioremap $Z > /dev/null ; then
    echo $Z
    fi
    done
    }

    process | tee ~/ioremap
    exit 0

    ===8<=== CUT ===>8===

    ...and here's the output it gave me...

    ===8<=== CUT ===>8===

    linux-2.3.33/drivers/acorn/net/ether1.c
    linux-2.3.33/drivers/acorn/net/ether3.c
    linux-2.3.33/drivers/atm/nicstarmac.c
    linux-2.3.33/drivers/block/macide.c
    linux-2.3.33/drivers/block/ps2esdi.c
    linux-2.3.33/drivers/block/smart1,2.h
    linux-2.3.33/drivers/block/xd.c
    linux-2.3.33/drivers/block/xd.h
    linux-2.3.33/drivers/char/agp/agp.h
    linux-2.3.33/drivers/char/bttv.h
    linux-2.3.33/drivers/char/buz.h
    linux-2.3.33/drivers/char/bw-qcam.c
    linux-2.3.33/drivers/char/console.c
    linux-2.3.33/drivers/char/i2c.c
    linux-2.3.33/drivers/char/ip2/i2hw.h
    linux-2.3.33/drivers/char/lp.c
    linux-2.3.33/drivers/char/msp3400.c
    linux-2.3.33/drivers/char/radio-cadet.c
    linux-2.3.33/drivers/char/saa5249.c
    linux-2.3.33/drivers/char/saa7110.c
    linux-2.3.33/drivers/char/saa7111.c
    linux-2.3.33/drivers/char/saa7146.h
    linux-2.3.33/drivers/char/vc_screen.c
    linux-2.3.33/drivers/char/zr36120.h
    linux-2.3.33/drivers/dio/dio.c
    linux-2.3.33/drivers/isdn/act2000/act2000_isa.c
    linux-2.3.33/drivers/isdn/eicon/eicon_io.c
    linux-2.3.33/drivers/isdn/eicon/eicon_isa.c
    linux-2.3.33/drivers/isdn/icn/icn.c
    linux-2.3.33/drivers/isdn/icn/icn.h
    linux-2.3.33/drivers/isdn/isdn_common.c
    linux-2.3.33/drivers/isdn/isdn_common.h
    linux-2.3.33/drivers/isdn/isdn_tty.c
    linux-2.3.33/drivers/isdn/pcbit/layer2.c
    linux-2.3.33/drivers/isdn/pcbit/layer2.h
    linux-2.3.33/drivers/isdn/sc/init.c
    linux-2.3.33/drivers/net/3c503.c
    linux-2.3.33/drivers/net/3c507.c
    linux-2.3.33/drivers/net/acenic.h
    linux-2.3.33/drivers/net/am79c961a.c
    linux-2.3.33/drivers/net/apne.c
    linux-2.3.33/drivers/net/arc-rimi.c
    linux-2.3.33/drivers/net/ariadne2.c
    linux-2.3.33/drivers/net/arlan.h
    linux-2.3.33/drivers/net/cs89x0.c
    linux-2.3.33/drivers/net/depca.c
    linux-2.3.33/drivers/net/e2100.c
    linux-2.3.33/drivers/net/ewrk3.c
    linux-2.3.33/drivers/net/fc/iph5526_novram.c
    linux-2.3.33/drivers/net/hplance.c
    linux-2.3.33/drivers/net/lance.c
    linux-2.3.33/drivers/net/pcmcia/wavelan_cs.h
    linux-2.3.33/drivers/net/sk98lin/h/skdrv1st.h
    linux-2.3.33/drivers/net/sk_g16.c
    linux-2.3.33/drivers/net/sk_mca.c
    linux-2.3.33/drivers/net/smc-mca.c
    linux-2.3.33/drivers/net/smc-ultra.c
    linux-2.3.33/drivers/net/smc-ultra32.c
    linux-2.3.33/drivers/net/sunhme.c
    linux-2.3.33/drivers/net/sunhme.h
    linux-2.3.33/drivers/net/tokenring/ibmtr.c
    linux-2.3.33/drivers/net/tokenring/ibmtr.h
    linux-2.3.33/drivers/net/wd.c
    linux-2.3.33/drivers/sbus/audio/cs4231.c
    linux-2.3.33/drivers/sbus/audio/cs4231.h
    linux-2.3.33/drivers/sbus/char/envctrl.c
    linux-2.3.33/drivers/sbus/char/sab82532.c
    linux-2.3.33/drivers/scsi/53c7,8xx.h
    linux-2.3.33/drivers/scsi/53c7xx.h
    linux-2.3.33/drivers/scsi/dtc.h
    linux-2.3.33/drivers/scsi/fdomain.c
    linux-2.3.33/drivers/scsi/g_NCR5380.h
    linux-2.3.33/drivers/scsi/in2000.c
    linux-2.3.33/drivers/scsi/ips.c
    linux-2.3.33/drivers/scsi/mac_esp.c
    linux-2.3.33/drivers/scsi/seagate.c
    linux-2.3.33/drivers/scsi/sim710.h
    linux-2.3.33/drivers/scsi/sym53c8xx_defs.h
    linux-2.3.33/drivers/scsi/t128.c
    linux-2.3.33/drivers/scsi/t128.h
    linux-2.3.33/drivers/sound/es1370.c
    linux-2.3.33/drivers/sound/es1371.c
    linux-2.3.33/drivers/sound/lowlevel/awe_wave.c
    linux-2.3.33/drivers/sound/msnd.h
    linux-2.3.33/drivers/sound/msnd_pinnacle.c
    linux-2.3.33/drivers/sound/nm256.h
    linux-2.3.33/drivers/usb/acm.c
    linux-2.3.33/drivers/usb/ohci-debug.c
    linux-2.3.33/drivers/usb/ohci-hcd.h
    linux-2.3.33/drivers/usb/ohci-root-hub.c
    linux-2.3.33/drivers/usb/ohci.h
    linux-2.3.33/drivers/video/cgsixfb.c
    linux-2.3.33/drivers/video/creatorfb.c
    linux-2.3.33/drivers/video/cyber2000fb.h
    linux-2.3.33/drivers/video/fbcon-afb.c
    linux-2.3.33/drivers/video/fbcon-cfb16.c
    linux-2.3.33/drivers/video/fbcon-cfb2.c
    linux-2.3.33/drivers/video/fbcon-cfb24.c
    linux-2.3.33/drivers/video/fbcon-cfb32.c
    linux-2.3.33/drivers/video/fbcon-cfb4.c
    linux-2.3.33/drivers/video/fbcon-cfb8.c
    linux-2.3.33/drivers/video/fbcon-ilbm.c
    linux-2.3.33/drivers/video/fbcon-iplan2p2.c
    linux-2.3.33/drivers/video/fbcon-iplan2p4.c
    linux-2.3.33/drivers/video/fbcon-iplan2p8.c
    linux-2.3.33/drivers/video/fbcon-mac.c
    linux-2.3.33/drivers/video/fbcon-mfb.c
    linux-2.3.33/drivers/video/fbcon-vga-planes.c
    linux-2.3.33/drivers/video/fbcon-vga.c
    linux-2.3.33/drivers/video/fbcon.c
    linux-2.3.33/drivers/video/hpfb.c
    linux-2.3.33/drivers/video/leofb.c
    linux-2.3.33/drivers/video/mdacon.c
    linux-2.3.33/drivers/video/newport_con.c
    linux-2.3.33/drivers/video/promcon.c
    linux-2.3.33/drivers/video/tgafb.h
    linux-2.3.33/drivers/video/vga.h
    linux-2.3.33/drivers/video/vgacon.c

    ===8<=== CUT ===>8===

    Hope that helps...

    Best wishes from Riley.

    * Copyright (C) 1999, Memory Alpha Systems.
    * All rights and wrongs reserved.

    +----------------------------------------------------------------------+
    | There is something frustrating about the quality and speed of Linux |
    | development, ie., the quality is too high and the speed is too high, |
    | in other words, I can implement this XXXX feature, but I bet someone |
    | else has already done so and is just about to release their patch. |
    +----------------------------------------------------------------------+
    * http://www.memalpha.cx/Linux/Kernel/


    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.rutgers.edu
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 13:55    [W:0.051 / U:1.860 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site