1. 02 Apr, 2009 1 commit
  2. 23 Mar, 2009 1 commit
    • Anton Vorontsov's avatar
      fsl_pq_mdio: Use proper address translation · 18f27383
      Anton Vorontsov authored
      Currently the driver just read "reg" property for constructing MDIO
      bus IDs, but this won't work when we'll start using "ranges = <>" in
      the device tree, so this will pop up:
      
      Freescale PowerQUICC MII Bus: probed
      sysfs: duplicate filename 'mdio@520' can not be created
      ------------[ cut here ]------------
      Badness at c00cb6b8 [verbose debug info unavailable]
      NIP: c00cb6b8 LR: c00cb6b8 CTR: c001271c
      REGS: cf82fc10 TRAP: 0700   Not tainted  (2.6.29-rc7-03702-g7ccd10f)
      MSR: 00029032 <EE,ME,CE,IR,DR>  CR: 42044022  XER: 20000000
      TASK = cf81fbd0[1] 'swapper' THREAD: cf82e000
      GPR00: c00cb6b8 cf82fcc0 cf81fbd0 0000003b 00000e42 ffffffff 00004000 00000e42
      GPR08: c03cb0fc c03bfbdc 00000e42 c03cac50 22044022 1006a2bc 0ffcb000 00000000
      GPR16: 0ffc04b0 0ffc5a40
      
       00000000 0ffc79a8 0f7863a8 00000004 00000000 00000000
      GPR24: c033a6a8 d1014520 cf85e840 cf82fd08 cf87cf2c cf82fcd8 cf85dea8 ffffffef
      NIP [c00cb6b8] sysfs_add_one+0x4c/0x54
      LR [c00cb6b8] sysfs_add_one+0x4c/0x54
      Call Trace:
      [cf82fcc0] [c00cb6b8] sysfs_add_one+0x4c/0x54 (unreliable)
      [cf82fcd0] [c00cbc18] create_dir+0x58/0xc0
      [cf82fd00] [c00cbcc0] sysfs_create_dir+0x40/0x70
      [cf82fd20] [c0159388] create_dir+0x28/0x78
      [cf82fd30] [c0159824] kobject_add_internal+0x98/0x13c
      [cf82fd50] [c0159e98] kobject_add+0x60/0x98
      [cf82fd80] [c018a480] device_add+0x98/0x2ac
      [cf82fda0] [c01a2380] mdiobus_register+0xbc/0x1c0
      [cf82fdc0] [c019f31c] fsl_pq_mdio_probe+0x284/0x2a0
      [cf82fe00] [c0223814] of_platform_device_probe+0x5c/0x84
      ...
      
      This patch fixes the issue by translating the "reg" property to a full
      address, and thus avoids the duplicate names.
      Signed-off-by: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
      Acked-by: default avatarKumar Gala <galak@kernel.crashing.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      18f27383
  3. 21 Mar, 2009 1 commit
  4. 05 Feb, 2009 1 commit
  5. 01 Feb, 2009 1 commit
    • Anton Vorontsov's avatar
      gianfar: Fix sparse warnings · b2f66d18
      Anton Vorontsov authored
      
      This patch fixes following sparse warnings:
      
        CHECK   gianfar_ethtool.c
      gianfar_ethtool.c:610:26: warning: symbol 'gfar_ethtool_ops' was not declared. Should it be static?
        CHECK   gianfar_mii.c
      gianfar_mii.c:108:35: warning: cast adds address space to expression (<asn:2>)
      gianfar_mii.c:119:35: warning: cast adds address space to expression (<asn:2>)
      gianfar_mii.c:128:35: warning: cast adds address space to expression (<asn:2>)
      gianfar_mii.c:272:5: warning: cast removes address space of expression
      gianfar_mii.c:271:15: warning: cast adds address space to expression (<asn:2>)
      gianfar_mii.c:340:11: warning: cast adds address space to expression (<asn:2>)
        CHECK   gianfar_sysfs.c
      gianfar_sysfs.c:84:1: warning: symbol 'dev_attr_bd_stash' was not declared. Should it be static?
      gianfar_sysfs.c:133:1: warning: symbol 'dev_attr_rx_stash_size' was not declared. Should it be static?
      gianfar_sysfs.c:175:1: warning: symbol 'dev_attr_rx_stash_index' was not declared. Should it be static?
      gianfar_sysfs.c:213:1: warning: symbol 'dev_attr_fifo_threshold' was not declared. Should it be static?
      gianfar_sysfs.c:250:1: warning: symbol 'dev_attr_fifo_starve' was not declared. Should it be static?
      gianfar_sysfs.c:287:1: warning: symbol 'dev_attr_fifo_starve_off' was not declared. Should it be static?
      Signed-off-by: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b2f66d18
  6. 30 Jan, 2009 1 commit
    • Anton Vorontsov's avatar
      gianfar: Fix Wake-on-LAN support · e5664bb2
      Anton Vorontsov authored
      commit 0f0ca340
      
       ("phy: power
      management support") caused a regression in the gianfar driver.
      
      Now phylib turns off PHY power during suspend, and thus WOL
      doesn't work anymore.
      
      This patch workarounds the issue by enabling wakeup in the MDIO
      device, i.e. just restores the old behaviour for the gianfar
      driver. Note that this way all PHYs on a given MDIO bus won't
      be turned off during suspend, which isn't good from the power
      saving point of view.
      
      A proper, per netdevice wakeup management support will need
      a bit reworked phylib suspend/resume logic.
      Signed-off-by: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e5664bb2
  7. 16 Dec, 2008 1 commit
  8. 31 Oct, 2008 1 commit
    • Trent Piepho's avatar
      gianfar: Fix race in TBI/SerDes configuration · c132419e
      Trent Piepho authored
      
      The init_phy() function attaches to the PHY, then configures the
      SerDes<->TBI link (in SGMII mode).  The TBI is on the MDIO bus with the PHY
      (sort of) and is accessed via the gianfar's MDIO registers, using the
      functions gfar_local_mdio_read/write(), which don't do any locking.
      
      The previously attached PHY will start a work-queue on a timer, and
      probably an irq handler as well, which will talk to the PHY and thus use
      the MDIO bus.  This uses phy_read/write(), which have locking, but not
      against the gfar_local_mdio versions.
      
      The result is that PHY code will try to use the MDIO bus at the same time
      as the SerDes setup code, corrupting the transfers.
      
      Setting up the SerDes before attaching to the PHY will insure that there is
      no race between the SerDes code and *our* PHY, but doesn't fix everything.
      Typically the PHYs for all gianfar devices are on the same MDIO bus, which
      is associated with the first gianfar device.  This means that the first
      gianfar's SerDes code could corrupt the MDIO transfers for a different
      gianfar's PHY.
      
      The lock used by phy_read/write() is contained in the mii_bus structure,
      which is pointed to by the PHY.  This is difficult to access from the
      gianfar drivers, as there is no link between a gianfar device and the
      mii_bus which shares the same MDIO registers.  As far as the device layer
      and drivers are concerned they are two unrelated devices (which happen to
      share registers).
      
      Generally all gianfar devices' PHYs will be on the bus associated with the
      first gianfar.  But this might not be the case, so simply locking the
      gianfar's PHY's mii bus might not lock the mii bus that the SerDes setup
      code is going to use.
      
      We solve this by having the code that creates the gianfar platform device
      look in the device tree for an mdio device that shares the gianfar's
      registers.  If one is found the ID of its platform device is saved in the
      gianfar's platform data.
      
      A new function in the gianfar mii code, gfar_get_miibus(), can use the bus
      ID to search through the platform devices for a gianfar_mdio device with
      the right ID.  The platform device's driver data is the mii_bus structure,
      which the SerDes setup code can use to lock the current bus.
      Signed-off-by: default avatarTrent Piepho <tpiepho@freescale.com>
      CC: Andy Fleming <afleming@freescale.com>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      c132419e
  9. 08 Oct, 2008 2 commits
  10. 25 Sep, 2008 2 commits
  11. 29 Apr, 2008 1 commit
  12. 17 Apr, 2008 1 commit
  13. 15 Feb, 2008 1 commit
  14. 06 Feb, 2008 1 commit
  15. 30 Jul, 2007 1 commit
  16. 16 Jul, 2007 1 commit
  17. 09 Jul, 2007 1 commit
  18. 14 Feb, 2007 1 commit
    • 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
  19. 13 Sep, 2006 1 commit
  20. 30 Jun, 2006 1 commit
  21. 07 Feb, 2006 1 commit
  22. 12 Jan, 2006 1 commit
  23. 14 Nov, 2005 1 commit
  24. 11 Nov, 2005 1 commit
  25. 09 Nov, 2005 1 commit
    • Olaf Hering's avatar
      [PATCH] changing CONFIG_LOCALVERSION rebuilds too much, for no good reason · 733482e4
      Olaf Hering authored
      
      This patch removes almost all inclusions of linux/version.h.  The 3
      #defines are unused in most of the touched files.
      
      A few drivers use the simple KERNEL_VERSION(a,b,c) macro, which is
      unfortunatly in linux/version.h.
      
      There are also lots of #ifdef for long obsolete kernels, this was not
      touched.  In a few places, the linux/version.h include was move to where
      the LINUX_VERSION_CODE was used.
      
      quilt vi `find * -type f -name "*.[ch]"|xargs grep -El '(UTS_RELEASE|LINUX_VERSION_CODE|KERNEL_VERSION|linux/version.h)'|grep -Ev '(/(boot|coda|drm)/|~$)'`
      
      search pattern:
      /UTS_RELEASE\|LINUX_VERSION_CODE\|KERNEL_VERSION\|linux\/\(utsname\|version\).h
      Signed-off-by: default avatarOlaf Hering <olh@suse.de>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      733482e4
  26. 29 Oct, 2005 1 commit
  27. 24 Sep, 2005 1 commit