Skip to content
Snippets Groups Projects
  1. Oct 07, 2009
  2. Sep 01, 2009
  3. Jul 05, 2009
  4. Jun 13, 2009
  5. Apr 14, 2009
  6. Mar 24, 2009
  7. Jan 26, 2009
  8. Jan 22, 2009
  9. Dec 25, 2008
    • Julia Lawall's avatar
      drivers/net/au1000_eth.c: Remove redundant test · b0fd0d23
      Julia Lawall authored
      phydev is checked to be not NULL a few lines above.
      
      A simplified version of the semantic patch that makes this change is as
      follows: (http://www.emn.fr/x-info/coccinelle/
      
      )
      
      // <smpl>
      @r exists@
      local idexpression x;
      expression E;
      position p1,p2;
      @@
      
      if (x@p1 == NULL || ...) { ... when forall
         return ...; }
      ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\)
      (
      x@p2 == NULL
      |
      x@p2 != NULL
      )
      
      // another path to the test that is not through p1?
      @s exists@
      local idexpression r.x;
      position r.p1,r.p2;
      @@
      
      ... when != x@p1
      (
      x@p2 == NULL
      |
      x@p2 != NULL
      )
      
      @fix depends on !s@
      position r.p1,r.p2;
      expression x,E;
      statement S1,S2;
      @@
      
      (
      - if ((x@p2 != NULL) || ...)
        S1
      |
      - if ((x@p2 == NULL) && ...) S1
      |
      - BUG_ON(x@p2 == NULL);
      )
      // </smpl>
      
      Signed-off-by: default avatarJulia Lawall <julia@diku.dk>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b0fd0d23
  10. Nov 13, 2008
    • Wang Chen's avatar
      netdevice: safe convert to netdev_priv() #part-1 · 454d7c9b
      Wang Chen authored
      
      We have some reasons to kill netdev->priv:
      1. netdev->priv is equal to netdev_priv().
      2. netdev_priv() wraps the calculation of netdev->priv's offset, obviously
         netdev_priv() is more flexible than netdev->priv.
      But we cann't kill netdev->priv, because so many drivers reference to it
      directly.
      
      This patch is a safe convert for netdev->priv to netdev_priv(netdev).
      Since all of the netdev->priv is only for read.
      But it is too big to be sent in one mail.
      I split it to 4 parts and make every part smaller than 100,000 bytes,
      which is max size allowed by vger.
      
      Signed-off-by: default avatarWang Chen <wangchen@cn.fujitsu.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      454d7c9b
  11. Nov 03, 2008
  12. Oct 12, 2008
    • Adrian Bunk's avatar
      net/au1000_eth.c MDIO namespace fixes · 1210dde7
      Adrian Bunk authored
      
      Commit 2e888103
      (phylib: add mdiobus_{read,write}) causes the
      following compile error:
      
      <--  snip  -->
      
      ...
        CC      drivers/net/au1000_eth.o
      drivers/net/au1000_eth.c:252: error: conflicting types for 'mdiobus_read'
      include/linux/phy.h:130: error: previous declaration of 'mdiobus_read' was here
      drivers/net/au1000_eth.c:263: error: conflicting types for 'mdiobus_write'
      include/linux/phy.h:131: error: previous declaration of 'mdiobus_write' was here
      ...
      make[3]: *** [drivers/net/au1000_eth.o] Error 1
      
      <--  snip  -->
      
      This patch prefixes the driver functions with au1000_ 
      
      
      Signed-off-by: default avatarAdrian Bunk <bunk@kernel.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1210dde7
  13. Oct 08, 2008
  14. Sep 24, 2008
  15. Aug 14, 2008
  16. Jul 22, 2008
    • Anton Vorontsov's avatar
      netdev: bunch of drivers: avoid WARN at net/core/dev.c:1328 · c8f15686
      Anton Vorontsov authored
      
      The drivers were touching net queue before it has been started, so
      without this patch, the drivers will potentially WARN at
      net/core/dev.c:1328.
      
      I don't have the hardware for the drivers below, so this patch is
      untested, and thus should be carefully peer reviewed.
      
      tc35815.c
      au1000_eth.c
      bfin_mac.c
      macb.c
      ^ The four drivers are using phylib, they're calling netif_start_queue()
      in open() callback. So trivially remove netif_tx_schedule_all().
      Phylib will handle netif_carrier_*().
      
      cpmac.c
      fec_mpc52xx.c
      fs_enet/fs_enet-main.c
      sh_eth.c
      ^ The same as above, but these were also needlessly calling
      netif_carrier_*() functions. So removed queue calls and also remove
      carrier calls, since phylib will handle it. fs_enet-main.c also didn't
      call netif_start_queue() at open(), this is fixed now.
      
      Signed-off-by: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c8f15686
  17. Jul 17, 2008
  18. May 22, 2008
  19. Apr 16, 2008
  20. Oct 19, 2007
  21. Oct 15, 2007
  22. Oct 10, 2007
  23. Jul 10, 2007
  24. Jun 27, 2007
    • Ralf Baechle's avatar
      au1000_eth: Fix warnings. · d791c2bd
      Ralf Baechle authored
      
      Fixed by including <linux/dma-mapping.h>:
      
        CC      drivers/net/au1000_eth.o
      drivers/net/au1000_eth.c: In function 'au1000_probe':
      drivers/net/au1000_eth.c:661: warning: implicit declaration of function 'dma_alloc_noncoherent'
      drivers/net/au1000_eth.c:802: warning: implicit declaration of function 'dma_free_noncoherent'
      
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      d791c2bd
  25. May 02, 2007
    • Jean Delvare's avatar
      PCI: Cleanup the includes of <linux/pci.h> · 6473d160
      Jean Delvare authored
      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/141
      
      
      
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      Cc: Badari Pulavarty <pbadari@us.ibm.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      6473d160
  26. Apr 25, 2007
  27. Feb 14, 2007
    • Tim Schmielau's avatar
      [PATCH] remove many unneeded #includes of sched.h · cd354f1a
      Tim Schmielau authored
      
      After Al Viro (finally) succeeded in removing the sched.h #include in module.h
      recently, it makes sense again to remove other superfluous sched.h includes.
      There are quite a lot of files which include it but don't actually need
      anything defined in there.  Presumably these includes were once needed for
      macros that used to live in sched.h, but moved to other header files in the
      course of cleaning it up.
      
      To ease the pain, this time I did not fiddle with any header files and only
      removed #includes from .c-files, which tend to cause less trouble.
      
      Compile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,
      arm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,
      allmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all
      configs in arch/arm/configs on arm.  I also checked that no new warnings were
      introduced by the patch (actually, some warnings are removed that were emitted
      by unnecessarily included header files).
      
      Signed-off-by: default avatarTim Schmielau <tim@physik3.uni-rostock.de>
      Acked-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      cd354f1a
  28. Dec 01, 2006
    • Andy Fleming's avatar
      [PATCH] PHY: Add support for configuring the PHY connection interface · e8a2b6a4
      Andy Fleming authored
      
      Most PHYs connect to an ethernet controller over a GMII or MII
      interface.  However, a growing number are connected over
      different interfaces, such as RGMII or SGMII.
      
      The ethernet driver will tell the PHY what type of connection it
      is by setting it manually, or passing it in through phy_connect
      (or phy_attach).
      
      Changes include:
      * Updates to documentation
      * Updates to PHY Lib consumers
      * Changes to PHY Lib to add interface support
      * Some minor changes to whitespace in phy.h
      * gianfar driver now detects interface and passes appropriate
        value to PHY Lib
      Signed-off-by: default avatarAndrew Fleming <afleming@freescale.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      e8a2b6a4
  29. Oct 31, 2006
  30. Oct 05, 2006
    • David Howells's avatar
      IRQ: Maintain regs pointer globally rather than passing to IRQ handlers · 7d12e780
      David Howells authored
      
      Maintain a per-CPU global "struct pt_regs *" variable which can be used instead
      of passing regs around manually through all ~1800 interrupt handlers in the
      Linux kernel.
      
      The regs pointer is used in few places, but it potentially costs both stack
      space and code to pass it around.  On the FRV arch, removing the regs parameter
      from all the genirq function results in a 20% speed up of the IRQ exit path
      (ie: from leaving timer_interrupt() to leaving do_IRQ()).
      
      Where appropriate, an arch may override the generic storage facility and do
      something different with the variable.  On FRV, for instance, the address is
      maintained in GR28 at all times inside the kernel as part of general exception
      handling.
      
      Having looked over the code, it appears that the parameter may be handed down
      through up to twenty or so layers of functions.  Consider a USB character
      device attached to a USB hub, attached to a USB controller that posts its
      interrupts through a cascaded auxiliary interrupt controller.  A character
      device driver may want to pass regs to the sysrq handler through the input
      layer which adds another few layers of parameter passing.
      
      I've build this code with allyesconfig for x86_64 and i386.  I've runtested the
      main part of the code on FRV and i386, though I can't test most of the drivers.
      I've also done partial conversion for powerpc and MIPS - these at least compile
      with minimal configurations.
      
      This will affect all archs.  Mostly the changes should be relatively easy.
      Take do_IRQ(), store the regs pointer at the beginning, saving the old one:
      
      	struct pt_regs *old_regs = set_irq_regs(regs);
      
      And put the old one back at the end:
      
      	set_irq_regs(old_regs);
      
      Don't pass regs through to generic_handle_irq() or __do_IRQ().
      
      In timer_interrupt(), this sort of change will be necessary:
      
      	-	update_process_times(user_mode(regs));
      	-	profile_tick(CPU_PROFILING, regs);
      	+	update_process_times(user_mode(get_irq_regs()));
      	+	profile_tick(CPU_PROFILING);
      
      I'd like to move update_process_times()'s use of get_irq_regs() into itself,
      except that i386, alone of the archs, uses something other than user_mode().
      
      Some notes on the interrupt handling in the drivers:
      
       (*) input_dev() is now gone entirely.  The regs pointer is no longer stored in
           the input_dev struct.
      
       (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking.  It does
           something different depending on whether it's been supplied with a regs
           pointer or not.
      
       (*) Various IRQ handler function pointers have been moved to type
           irq_handler_t.
      
      Signed-Off-By: default avatarDavid Howells <dhowells@redhat.com>
      (cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)
      7d12e780
  31. Sep 13, 2006
  32. Sep 12, 2006
    • Andy Gospodarek's avatar
      [PATCH] Remove more unnecessary driver printk's · d5b20697
      Andy Gospodarek authored
      
      As I promised last week, here is the first pass at removing all
      unnecessary printk's that exist in network device drivers currently in
      promiscuous mode.  The duplicate messages are not needed so they have
      been removed.  Some of these drivers are quite old and might not need an
      update, but I did them all anyway.
      
      I am currently auditing the remaining conditional printk's and will send
      out a patch for those soon.
      
      Signed-off-by: default avatarAndy Gospodarek <andy@greyhouse.net>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      d5b20697
  33. Jun 30, 2006
  34. Jun 11, 2006
  35. May 08, 2006
  36. Apr 20, 2006
Loading