1. 21 4月, 2008 2 次提交
    • J
      [ISDN] Hisax: eliminate many unnecessary references to CardType[] · 8349304d
      Jeff Garzik 提交于
      For the vast majority of CardType[card->typ] uses (but not all!),
      the string is constant for each driver.  Therefore, we may replace
      CardType[card->typ] with the actual string describing the driver, making
      each printk() a bit more simple.
      
      This also has the nice, intended side effect of greatly reducing
      external references to hisax global CardType[].  This will be of value
      once the ISDN drivers are converted to the ISA/PCI/PNP hotplug APIs.
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      8349304d
    • J
      [ISDN] HiSax: modularization prep · d38c8475
      Jeff Garzik 提交于
      Pass a function pointer into the core HiSax probe function checkcard(),
      in order to facilitate modular drivers passing in their own setup
      routines.
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      d38c8475
  2. 05 3月, 2008 1 次提交
  3. 10 2月, 2008 4 次提交
    • S
      isdn: fix section mismatch warning for ISACVer · f4e64333
      Sam Ravnborg 提交于
      Fix following warnings:
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x19723): Section mismatch in reference from the function ISACVersion() to the variable .devinit.data:ISACVer
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x2005b): Section mismatch in reference from the function setup_avm_a1_pcmcia() to the function .devinit.text:setup_isac()
      
      ISACVer were only used from function annotated __devinit
      so add same annotation to ISACVer.
      One af the fererencing functions missed __devinit so add it
      and kill an additional warning.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Acked-by: NKarsten Keil <kkeil@suse.de>
      Cc: Jeff Garzik <jgarzik@pobox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f4e64333
    • S
      isdn: fix section mismatch warnings from hisax_cs_setup_card · 2fddb6e2
      Sam Ravnborg 提交于
      Fix the following warnings:
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x722): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_teles3()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x72c): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_s0box()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x736): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_telespci()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x747): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_avm_pcipnp()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x74e): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_elsa()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x755): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_diva()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x75c): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_sedlbauer()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x763): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_netjet_s()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x76a): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_hfcpci()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x771): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_hfcsx()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x778): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_niccy()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x77f): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_bkm_a4t()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x786): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_sct_quadro()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x78d): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_gazel()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x794): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_w6692()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x79b): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_netjet_u()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x7a2): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_enternow_pci()
      
      checkcard() are the only user of hisax_cs_setup_card().
      And checkcard is only used during init or when hot plugging
      ISDN devices. So annotate hisax_cs_setup_card() with __devinit.
      checkcard() is used by exported functions so it cannot be
      annotated __devinit. Annotate it with __ref so modpost
      ignore references to _devinit section.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Acked-by: NKarsten Keil <kkeil@suse.de>
      Cc: Jeff Garzik <jgarzik@pobox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2fddb6e2
    • S
      isdn: fix section mismatch warnings in isac.c and isar.c · d348c2a3
      Sam Ravnborg 提交于
      Fix the following warnings:
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x1b276): Section mismatch in reference from the function inithscxisac() to the function .devinit.text:clear_pending_isac_ints()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x1b286): Section mismatch in reference from the function inithscxisac() to the function .devinit.text:initisac()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x1fec7): Section mismatch in reference from the function AVM_card_msg() to the function .devinit.text:clear_pending_isac_ints()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x21669): Section mismatch in reference from the function AVM_card_msg() to the function .devinit.text:clear_pending_isac_ints()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x21671): Section mismatch in reference from the function AVM_card_msg() to the function .devinit.text:initisac()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x2991e): Section mismatch in reference from the function Sedl_card_msg() to the function .devinit.text:clear_pending_isac_ints()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x29936): Section mismatch in reference from the function Sedl_card_msg() to the function .devinit.text:initisac()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x2993e): Section mismatch in reference from the function Sedl_card_msg() to the function .devinit.text:initisar()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x2e026): Section mismatch in reference from the function NETjet_S_card_msg() to the function .devinit.text:clear_pending_isac_ints()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x2e02e): Section mismatch in reference from the function NETjet_S_card_msg() to the function .devinit.text:initisac()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x37813): Section mismatch in reference from the function BKM_card_msg() to the function .devinit.text:clear_pending_isac_ints()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x37823): Section mismatch in reference from the function BKM_card_msg() to the function .devinit.text:initisac()
      
      initisar(), initisac() and clear_pending_isac_ints()
      were all used via a cardmsg fnction - which may be called
      ouside __devinit context.
      So remove the bogus __devinit annotation of the
      above three functions to fix the warnings.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Acked-by: NKarsten Keil <kkeil@suse.de>
      Cc: Jeff Garzik <jgarzik@pobox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d348c2a3
    • S
      isdn: fix section mismatch warning in hfc_sx.c · 7740ac6a
      Sam Ravnborg 提交于
      Fix the following warning:
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x35818): Section mismatch in reference from the function hfcsx_card_msg() to the function .devinit.text:inithfcsx()
      
      hfcsx_card_msg() may be called outside __devinit context.
      Following the program logic is looks like the CARD_INIT branch
      will only be taken under __devinit context but to be consistent
      remove the __devinit annotation of inithfcsx() so we
      do not mix non-__devinit and __devinit code.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Acked-by: NKarsten Keil <kkeil@suse.de>
      Cc: Jeff Garzik <jgarzik@pobox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7740ac6a
  4. 08 2月, 2008 1 次提交
    • S
      [ISDN]: fix section mismatch warning in enpci_card_msg · 054b0e2b
      Sam Ravnborg 提交于
      Fix following warnings:
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x3cf50): Section mismatch in reference from the function enpci_card_msg() to the function .devinit.text:Amd7930_init()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x3cf85): Section mismatch in reference from the function enpci_card_msg() to the function .devinit.text:Amd7930_init()
      
      enpci_card_msg() can be called outside __devinit context
      referenced function should not be annotated __devinit.
      
      Remove annotation of Amd7930_init to fix this.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      054b0e2b
  5. 07 2月, 2008 1 次提交
  6. 30 11月, 2007 1 次提交
    • I
      isdn: bootup crash fix · 9fc89c2d
      Ingo Molnar 提交于
      got this HiSax bootup crash on a "make randconfig" bzImage bootup:
      
       Calling initcall 0xc0bb1320: HiSax_init+0x0/0x380()
       HiSax: Linux Driver for passive ISDN cards
       HiSax: Version 3.5 (kernel)
       HiSax: Layer1 Revision 2.46.2.5
       HiSax: Layer2 Revision 2.30.2.4
       HiSax: TeiMgr Revision 2.20.2.3
       HiSax: Layer3 Revision 2.22.2.3
       HiSax: LinkLayer Revision 2.59.2.4
       HiSax: Total 1 card defined
       HiSax: Card 1 Protocol EDSS1 Id=HiSax (0)
       HiSax: HFC-S driver Rev. 1.10.2.4
       HFCS: defined at 0x500 IRQ 5 HZ 250
       Teles 16.3c: IRQ 5 count 0
       HFCS: resetting card
       Teles 16.3c: IRQ 5 count 0
       Teles 16.3c: IRQ(5) getting no interrupts during init 1
       HFCS: resetting card
       ------------[ cut here ]------------
       kernel BUG at include/linux/timer.h:145!
       invalid opcode: 0000 [#1] PREEMPT DEBUG_PAGEALLOC
       Modules linked in:
      
       Pid: 1, comm: swapper Not tainted (2.6.24-rc3 #2045)
       EIP: 0060:[<c063afbf>] EFLAGS: 00010286 CPU: 0
       EIP is at hfcs_card_msg+0x15f/0x180
       EAX: c0cf2e5c EBX: 000000f2 ECX: 00000000 EDX: ffff1193
       ESI: f76e8000 EDI: f76e8000 EBP: f7c23ec4 ESP: f7c23eac
        DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068
       Process swapper (pid: 1, ti=f7c22000 task=f7c0e000 task.ti=f7c22000)
       Stack: 00000000 f7c23ec4 c011703b 00000002 f76e8000 00000000 f7c23ef8 c060c3e5
              c0a7c9c0 c0a315dc 00000005 00000001 00000000 f7c23f34 00000000 c0b5c9c0
              f7c23f34 00000000 c0f5a8e0 f7c23f80 c0bb154f 00000000 00000001 c0a9b5b9
       Call Trace:
        [<c010339a>] show_trace_log_lvl+0x1a/0x40
        [<c0103469>] show_stack_log_lvl+0xa9/0xe0
        [<c010355f>] show_registers+0xbf/0x200
        [<c01037a4>] die+0x104/0x220
        [<c0103943>] do_trap+0x83/0xc0
        [<c0103ca8>] do_invalid_op+0x88/0xa0
        [<c083621a>] error_code+0x6a/0x70
        [<c060c3e5>] checkcard+0x4a5/0x620
        [<c0bb154f>] HiSax_init+0x22f/0x380
        [<c0b867b7>] kernel_init+0x97/0x2a0
        [<c0102f87>] kernel_thread_helper+0x7/0x20
        =======================
       Code: e8 43 ae ff 8b 57 3c 85 d2 0f 84 ef fe ff ff b8 a0 99 ad c0 b9 02 00 00 00 e8 ce 11 ae ff 83 c4 0c b8 00 00 00 00 5b 5e 5f c9 c3 <0f> 0b eb fe 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
       EIP: [<c063afbf>] hfcs_card_msg+0x15f/0x180 SS:ESP 0068:f7c23eac
       Kernel panic - not syncing: Attempted to kill init!
      
      The box has no HiSax card installed.
      
      the reason for the crash is add_timer() done on an already running
      timer. This happens because for some reason CARD_INIT is called twice.
      
      this patch works this problem around by using mod_timer() - this gets
      a booting system - but it would be nice to figure out why CARD_INIT
      is done twice.
      
      the ISDN config section (generated via make randconfig) is this:
      
      #
      # ISDN feature submodules
      #
      # CONFIG_ISDN_DRV_LOOP is not set
      CONFIG_ISDN_DIVERSION=y
      
      #
      # ISDN4Linux hardware drivers
      #
      
      #
      # Passive cards
      #
      CONFIG_ISDN_DRV_HISAX=y
      
      #
      # D-channel protocol features
      #
      CONFIG_HISAX_EURO=y
      CONFIG_DE_AOC=y
      # CONFIG_HISAX_NO_SENDCOMPLETE is not set
      # CONFIG_HISAX_NO_LLC is not set
      # CONFIG_HISAX_NO_KEYPAD is not set
      CONFIG_HISAX_1TR6=y
      CONFIG_HISAX_NI1=y
      CONFIG_HISAX_MAX_CARDS=8
      
      #
      # HiSax supported cards
      #
      CONFIG_HISAX_16_0=y
      # CONFIG_HISAX_16_3 is not set
      # CONFIG_HISAX_TELESPCI is not set
      CONFIG_HISAX_S0BOX=y
      # CONFIG_HISAX_AVM_A1 is not set
      CONFIG_HISAX_FRITZPCI=y
      CONFIG_HISAX_AVM_A1_PCMCIA=y
      CONFIG_HISAX_ELSA=y
      CONFIG_HISAX_IX1MICROR2=y
      CONFIG_HISAX_DIEHLDIVA=y
      # CONFIG_HISAX_ASUSCOM is not set
      # CONFIG_HISAX_TELEINT is not set
      CONFIG_HISAX_HFCS=y
      # CONFIG_HISAX_SEDLBAUER is not set
      CONFIG_HISAX_SPORTSTER=y
      # CONFIG_HISAX_MIC is not set
      # CONFIG_HISAX_NETJET is not set
      # CONFIG_HISAX_NETJET_U is not set
      # CONFIG_HISAX_NICCY is not set
      # CONFIG_HISAX_ISURF is not set
      # CONFIG_HISAX_HSTSAPHIR is not set
      # CONFIG_HISAX_BKM_A4T is not set
      # CONFIG_HISAX_SCT_QUADRO is not set
      # CONFIG_HISAX_GAZEL is not set
      # CONFIG_HISAX_HFC_PCI is not set
      # CONFIG_HISAX_W6692 is not set
      # CONFIG_HISAX_HFC_SX is not set
      # CONFIG_HISAX_DEBUG is not set
      
      #
      # HiSax PCMCIA card service modules
      #
      
      #
      # HiSax sub driver modules
      #
      CONFIG_HISAX_ST5481=y
      CONFIG_HISAX_HFCUSB=y
      # CONFIG_HISAX_HFC4S8S is not set
      CONFIG_HISAX_FRITZ_PCIPNP=y
      CONFIG_HISAX_HDLC=y
      
      #
      # Active cards
      #
      CONFIG_ISDN_DRV_ICN=m
      CONFIG_ISDN_DRV_PCBIT=m
      CONFIG_ISDN_DRV_SC=y
      # CONFIG_ISDN_DRV_ACT2000 is not set
      CONFIG_HYSDN=m
      # CONFIG_ISDN_DRV_GIGASET is not set
      # CONFIG_ISDN_CAPI is not set
      CONFIG_PHONE=y
      CONFIG_PHONE_IXJ=m
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Cc: Karsten Keil <kkeil@suse.de>
      Cc: Kai Germaschewski <kai@germaschewski.name>
      Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      9fc89c2d
  7. 06 11月, 2007 2 次提交
  8. 20 10月, 2007 1 次提交
  9. 15 10月, 2007 3 次提交
  10. 14 10月, 2007 1 次提交
  11. 12 10月, 2007 5 次提交
  12. 22 8月, 2007 1 次提交
  13. 22 7月, 2007 1 次提交
  14. 19 7月, 2007 1 次提交
    • F
      ISDN HiSax: uninitialized return in hisax_cs_setup · 9ee0be05
      Florin Malita 提交于
      Coverity (1792) spotted a possibly uninitialized return value in case of
      kmalloc() failure:
      
      1116 static int hisax_cs_setup(int cardnr, struct IsdnCard *card,
      1117                           struct IsdnCardState *cs)
      1119         int ret;
      1120
      1121         if (!(cs->rcvbuf = kmalloc(MAX_DFRAME_LEN_L1, GFP_ATOMIC))) {
      1122                 printk(KERN_WARNING "HiSax: No memory for isac rcvbuf\n");
      1123                 ll_unload(cs);
      1124                 goto outf_cs;
      ...
      1165 outf_cs:
      1166         kfree(cs);
      1167         card->cs = NULL;
      1168         return ret;
      
      The straightforward solution would be to just add the missing
      initialization but hardcoding the return value in the out_cs branch
      (only taken on failure) seems to work just as well and it allows killing
      a couple of other lines too.
      Signed-off-by: NFlorin Malita <fmalita@gmail.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      9ee0be05
  15. 18 7月, 2007 9 次提交
  16. 12 7月, 2007 1 次提交
    • A
      PCI: Change all drivers to use pci_device->revision · 44c10138
      Auke Kok 提交于
      Instead of all drivers reading pci config space to get the revision
      ID, they can now use the pci_device->revision member.
      
      This exposes some issues where drivers where reading a word or a dword
      for the revision number, and adding useless error-handling around the
      read. Some drivers even just read it for no purpose of all.
      
      In devices where the revision ID is being copied over and used in what
      appears to be the equivalent of hotpath, I have left the copy code
      and the cached copy as not to influence the driver's performance.
      
      Compile tested with make all{yes,mod}config on x86_64 and i386.
      Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com>
      Acked-by: NDave Jones <davej@redhat.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      44c10138
  17. 24 5月, 2007 1 次提交
  18. 09 5月, 2007 2 次提交
  19. 03 5月, 2007 1 次提交
    • J
      PCI: Cleanup the includes of <linux/pci.h> · 6473d160
      Jean Delvare 提交于
      I noticed that many source files include <linux/pci.h> while they do
      not appear to need it. Here is an attempt to clean it all up.
      
      In order to find all possibly affected files, I searched for all
      files including <linux/pci.h> but without any other occurence of "pci"
      or "PCI". I removed the include statement from all of these, then I
      compiled an allmodconfig kernel on both i386 and x86_64 and fixed the
      false positives manually.
      
      My tests covered 66% of the affected files, so there could be false
      positives remaining. Untested files are:
      
      arch/alpha/kernel/err_common.c
      arch/alpha/kernel/err_ev6.c
      arch/alpha/kernel/err_ev7.c
      arch/ia64/sn/kernel/huberror.c
      arch/ia64/sn/kernel/xpnet.c
      arch/m68knommu/kernel/dma.c
      arch/mips/lib/iomap.c
      arch/powerpc/platforms/pseries/ras.c
      arch/ppc/8260_io/enet.c
      arch/ppc/8260_io/fcc_enet.c
      arch/ppc/8xx_io/enet.c
      arch/ppc/syslib/ppc4xx_sgdma.c
      arch/sh64/mach-cayman/iomap.c
      arch/xtensa/kernel/xtensa_ksyms.c
      arch/xtensa/platform-iss/setup.c
      drivers/i2c/busses/i2c-at91.c
      drivers/i2c/busses/i2c-mpc.c
      drivers/media/video/saa711x.c
      drivers/misc/hdpuftrs/hdpu_cpustate.c
      drivers/misc/hdpuftrs/hdpu_nexus.c
      drivers/net/au1000_eth.c
      drivers/net/fec_8xx/fec_main.c
      drivers/net/fec_8xx/fec_mii.c
      drivers/net/fs_enet/fs_enet-main.c
      drivers/net/fs_enet/mac-fcc.c
      drivers/net/fs_enet/mac-fec.c
      drivers/net/fs_enet/mac-scc.c
      drivers/net/fs_enet/mii-bitbang.c
      drivers/net/fs_enet/mii-fec.c
      drivers/net/ibm_emac/ibm_emac_core.c
      drivers/net/lasi_82596.c
      drivers/parisc/hppb.c
      drivers/sbus/sbus.c
      drivers/video/g364fb.c
      drivers/video/platinumfb.c
      drivers/video/stifb.c
      drivers/video/valkyriefb.c
      include/asm-arm/arch-ixp4xx/dma.h
      sound/oss/au1550_ac97.c
      
      I would welcome test reports for these files. I am fine with removing
      the untested files from the patch if the general opinion is that these
      changes aren't safe. The tested part would still be nice to have.
      
      Note that this patch depends on another header fixup patch I submitted
      to LKML yesterday:
        [PATCH] scatterlist.h needs types.h
        http://lkml.org/lkml/2007/3/01/141Signed-off-by: NJean Delvare <khali@linux-fr.org>
      Cc: Badari Pulavarty <pbadari@us.ibm.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      6473d160
  20. 26 4月, 2007 1 次提交