Skip to content
Snippets Groups Projects
  1. Oct 20, 2015
  2. Oct 20, 2014
  3. Jan 24, 2014
  4. Oct 10, 2013
  5. Aug 23, 2013
    • Wolfram Sang's avatar
      i2c: move OF helpers into the core · 687b81d0
      Wolfram Sang authored
      
      I2C of helpers used to live in of_i2c.c but experience (from SPI) shows
      that it is much cleaner to have this in the core. This also removes a
      circular dependency between the helpers and the core, and so we can
      finally register child nodes in the core instead of doing this manually
      in each driver. So, fix the drivers and documentation, too.
      
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      687b81d0
  6. Jun 12, 2013
  7. Feb 21, 2013
  8. Dec 22, 2012
  9. Jan 12, 2012
  10. Mar 31, 2011
  11. Feb 28, 2011
  12. Oct 24, 2010
  13. Sep 30, 2010
    • Grant Likely's avatar
      of/i2c: Fix module load order issue caused by of_i2c.c · 925bb9c6
      Grant Likely authored
      
      Commit 959e85f7, "i2c: add OF-style registration and binding" caused a
      module dependency loop where of_i2c.c calls functions in i2c-core, and
      i2c-core calls of_i2c_register_devices() in of_i2c.  This means that
      when i2c support is built as a module when CONFIG_OF is set, then
      neither i2c_core nor of_i2c are able to be loaded.
      
      This patch fixes the problem by moving the of_i2c_register_devices()
      calls back into the device drivers.  Device drivers already
      specifically request the core code to parse the device tree for
      devices anyway by setting the of_node pointer, so it isn't a big
      deal to also call the registration function.  The drivers just become
      slightly more verbose.
      
      Signed-off-by: default avatarGrant Likely <grant.likely@secretlab.ca>
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      925bb9c6
  14. Aug 06, 2010
  15. Jul 05, 2010
  16. May 22, 2010
    • Grant Likely's avatar
      of: Remove duplicate fields from of_platform_driver · 4018294b
      Grant Likely authored
      
      .name, .match_table and .owner are duplicated in both of_platform_driver
      and device_driver.  This patch is a removes the extra copies from struct
      of_platform_driver and converts all users to the device_driver members.
      
      This patch is a pretty mechanical change.  The usage model doesn't change
      and if any drivers have been missed, or if anything has been fixed up
      incorrectly, then it will fail with a compile time error, and the fixup
      will be trivial.  This patch looks big and scary because it touches so
      many files, but it should be pretty safe.
      
      Signed-off-by: default avatarGrant Likely <grant.likely@secretlab.ca>
      Acked-by: default avatarSean MacLennan <smaclennan@pikatech.com>
      4018294b
  17. May 21, 2010
  18. May 19, 2010
  19. May 18, 2010
  20. May 06, 2010
  21. Jul 08, 2009
  22. Jun 04, 2009
  23. Mar 28, 2009
  24. Jan 26, 2009
  25. Jul 14, 2008
    • Sean MacLennan's avatar
      i2c-ibm_iic: Register child nodes · b1204e6e
      Sean MacLennan authored
      
      This patch completes the conversion of the IBM IIC driver to an
      of-platform driver.
      
      It removes the index from the IBM IIC driver and makes it an unnumbered
      driver. It then calls of_register_i2c_devices to properly register all
      the child nodes in the DTS.
      
      Signed-off-by: default avatarSean MacLennan <smaclennan@pikatech.com>
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      b1204e6e
    • Stefan Roese's avatar
      i2c-ibm_iic: Enable driver for all PPC4xx variants in arch/powerpc · d3dc685e
      Stefan Roese authored
      
      Enable the IBM I2C driver for all PPC4xx variants by adding
      "ibm,iic" to the compatible list. This way all currently available
      arch/powerpc 4xx ports can make use of this driver without any changes.
      Additionally all "other" compatible entries are removed since they are
      not needed anymore.
      
      Currently all 4xx PPC's have the same compatible I2C macro. If at some
      time an incompatibility is detected we can take care of this with an
      additional property.
      
      Signed-off-by: default avatarStefan Roese <sr@denx.de>
      Acked-by: default avatarJosh Boyer <jwboyer@linux.vnet.ibm.com>
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      d3dc685e
    • Stefan Roese's avatar
      i2c-ibm_iic: Remove deprecated OCP style part · e6c3de6c
      Stefan Roese authored
      
      The deprecated OCP style driver part is used by the "old" arch/ppc
      platform. This platform is scheduled for removal in June/July this year.
      This patch now removes the OCP driver part from the IBM I2C driver.
      
      Signed-off-by: default avatarStefan Roese <sr@denx.de>
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      e6c3de6c
    • Jean Delvare's avatar
      i2c: Let bus drivers add SPD to their class · 3401b2ff
      Jean Delvare authored
      
      Let general purpose I2C/SMBus bus drivers add SPD to their class. Once
      this is done, we will be able to tell the eeprom driver to only probe
      for SPD EEPROMs and similar on these buses.
      
      Note that I took a conservative approach here, adding I2C_CLASS_SPD to
      many drivers that have no idea whether they can host SPD EEPROMs or not.
      This is to make sure that the eeprom driver doesn't stop probing buses
      where SPD EEPROMs or equivalent live.
      
      So, bus driver maintainers and users should feel free to remove the SPD
      class from drivers those buses never have SPD EEPROMs or they don't
      want the eeprom driver to bind to them. Likewise, feel free to add the
      SPD class to any bus driver I might have missed.
      
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      3401b2ff
  26. Apr 22, 2008
  27. Apr 11, 2008
  28. Jan 27, 2008
  29. Oct 19, 2007
  30. Oct 13, 2007
  31. Feb 13, 2007
    • Jean Delvare's avatar
      i2c: Declare more i2c_adapter parent devices · 12a917f6
      Jean Delvare authored
      
      Declare the parent device of i2c_adapter devices each time we can
      easily do so. It makes the i2c_adapter appear at the right place in
      the device tree, rather than as a platform device.
      
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      Cc: David Brownell <dbrownell@users.sourceforge.net>
      Cc: Len Brown <len.brown@intel.com>
      Cc: Jordan Crouse <jordan.crouse@amd.com>
      Cc: Jody McIntyre <scjody@modernduck.com>
      Cc: Stefan Richter <stefanr@s5r6.in-berlin.de>
      Cc: v4l-dvb-maintainer@linuxtv.org
      Cc: Petr Vandrovec <vandrove@vc.cvut.cz>
      12a917f6
  32. Dec 10, 2006
  33. 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
Loading