1. 25 6月, 2015 1 次提交
    • N
      rtc: ds1307: Enable the mcp794xx alarm after programming time · e3edd671
      Nishanth Menon 提交于
      Alarm interrupt enable register is at offset 0x7, while the time
      registers for the alarm follow that. When we program Alarm interrupt
      enable prior to programming the time, it is possible that previous
      time value could be close or match at the time of alarm enable
      resulting in interrupt trigger which is unexpected (and does not match
      the time we expect it to trigger).
      
      To prevent this scenario from occuring, program the ALM0_EN bit only
      after the alarm time is appropriately programmed.
      
      Ofcourse, I2C programming is non-atomic, so there are loopholes where
      the interrupt wont trigger if the time requested is in the past at
      the time of programming the ALM0_EN bit. However, we will not have
      unexpected interrupts while the time is programmed after the interrupt
      are enabled.
      Signed-off-by: NNishanth Menon <nm@ti.com>
      Reviewed-by: NGrygorii Strashko <grygorii.strashko@linaro.org>
      Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
      e3edd671
  2. 11 12月, 2014 1 次提交
  3. 14 10月, 2014 1 次提交
    • M
      rtc: ds1307: add trickle charger device tree binding · 33b04b7b
      Matti Vaittinen 提交于
      Some DS13XX devices have "trickle chargers".  Introduce a device tree
      binding for specifying the trickle charger configuration for ds1339.
      
      Only ds1339 dt binding is supported because this is the only chip I have.
      I _assume_ the code would have worked on other allready supported chips.
      However I cannot check the resistor values for the other chips or test
      them.  For other chips the driver code works as earlier Eg.  it does not
      check the dt bindings at all
      Signed-off-by: NMatti Vaittinen <matti.vaittinen@nsn.com>
      Cc: Rob Herring <robh+dt@kernel.org>
      Cc: Pawel Moll <pawel.moll@arm.com>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Cc: Guenter Roeck <linux@roeck-us.net>
      Cc: Alessandro Zummo <a.zummo@towertech.it>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Pavel Machek <pavel@denx.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      33b04b7b
  4. 04 4月, 2014 3 次提交
  5. 13 11月, 2013 3 次提交
  6. 04 7月, 2013 1 次提交
  7. 30 4月, 2013 3 次提交
  8. 22 2月, 2013 1 次提交
  9. 04 1月, 2013 1 次提交
    • G
      Drivers: rtc: remove __dev* attributes. · 5a167f45
      Greg Kroah-Hartman 提交于
      CONFIG_HOTPLUG is going away as an option.  As a result, the __dev*
      markings need to be removed.
      
      This change removes the use of __devinit, __devexit_p, __devinitdata,
      __devinitconst, and __devexit from these drivers.
      
      Based on patches originally written by Bill Pemberton, but redone by me
      in order to handle some of the coding style issues better, by hand.
      
      Cc: Bill Pemberton <wfp5p@virginia.edu>
      Cc: Alessandro Zummo <a.zummo@towertech.it>
      Cc: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Mike Frysinger <vapier.adi@gmail.com>
      Cc: Wan ZongShun <mcuos.com@gmail.com>
      Cc: Guan Xuetao <gxt@mprc.pku.edu.cn>
      Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      5a167f45
  10. 30 5月, 2012 2 次提交
  11. 26 4月, 2012 1 次提交
    • A
      drivers/rtc/rtc-ds1307.c: fix BUG shown with lock debugging enabled · 3f5ec5e0
      Anatolij Gustschin 提交于
      Add struct bin_attribute initialization to fix the following bug:
      
      rtc-ds1307 3-0068: rtc core: registered ds1307 as rtc0
      BUG: key cfb14fcc not in .data!
      ------------[ cut here ]------------
      WARNING: at kernel/lockdep.c:2986 sysfs_add_file_mode+0x84/0xdc()
      Modules linked in:
      [<c0018d94>] (unwind_backtrace+0x0/0xf8) from [<c0031f7c>] (warn_slowpath_common+0x4c/0x64)
      [<c0031f7c>] (warn_slowpath_common+0x4c/0x64) from [<c0031fb0>] (warn_slowpath_null+0x1c/0x24)
      [<c0031fb0>] (warn_slowpath_null+0x1c/0x24) from [<c012f7ac>] (sysfs_add_file_mode+0x84/0xdc)
      [<c012f7ac>] (sysfs_add_file_mode+0x84/0xdc) from [<c04b11e4>] (ds1307_probe+0x5e4/0x6ac)
      [<c04b11e4>] (ds1307_probe+0x5e4/0x6ac) from [<c036e600>] (i2c_device_probe+0xdc/0x108)
      [<c036e600>] (i2c_device_probe+0xdc/0x108) from [<c02cdf84>] (driver_probe_device+0x90/0x210)
      [<c02cdf84>] (driver_probe_device+0x90/0x210) from [<c02ce198>] (__driver_attach+0x94/0x98)
      [<c02ce198>] (__driver_attach+0x94/0x98) from [<c02cc824>] (bus_for_each_dev+0x50/0x7c)
      [<c02cc824>] (bus_for_each_dev+0x50/0x7c) from [<c02cd780>] (bus_add_driver+0x184/0x244)
      [<c02cd780>] (bus_add_driver+0x184/0x244) from [<c02ce43c>] (driver_register+0x78/0x12c)
      [<c02ce43c>] (driver_register+0x78/0x12c) from [<c03701ac>] (i2c_register_driver+0x2c/0xb4)
      [<c03701ac>] (i2c_register_driver+0x2c/0xb4) from [<c0008798>] (do_one_initcall+0x34/0x178)
      [<c0008798>] (do_one_initcall+0x34/0x178) from [<c0691860>] (kernel_init+0xdc/0x194)
      [<c0691860>] (kernel_init+0xdc/0x194) from [<c0013cf0>] (kernel_thread_exit+0x0/0x8)
      
      Since commit 6992f533 ("sysfs: Use one lockdep class per sysfs
      attribute") this initialization is required.
      Reported-by: NStefano Babic <sbabic@denx.de>
      Tested-by: NStefano Babic <sbabic@denx.de>
      Signed-off-by: NAnatolij Gustschin <agust@denx.de>
      Cc: Alessandro Zummo <a.zummo@towertech.it>
      Cc: Stefano Babic <sbabic@denx.de>
      Cc: Eric W. Biederman <ebiederm@xmission.com>
      Cc: Greg Kroah-Hartman <gregkh@suse.de>
      Acked-by: NWolfram Sang <w.sang@pengutronix.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      3f5ec5e0
  12. 24 3月, 2012 5 次提交
  13. 03 11月, 2011 1 次提交
  14. 28 6月, 2011 1 次提交
  15. 04 2月, 2011 1 次提交
  16. 11 1月, 2011 1 次提交
  17. 30 6月, 2010 1 次提交
  18. 22 5月, 2010 1 次提交
  19. 18 12月, 2009 1 次提交
    • A
      rtc: set wakeup capability for I2C and SPI RTC drivers · 26b3c01f
      Anton Vorontsov 提交于
      RTC core won't allow wakeup alarms to be set if RTC devices' parent (i.e.
      i2c_client or spi_device) isn't wakeup capable.
      
      For I2C devices there is I2C_CLIENT_WAKE flag exists that we can pass via
      board info, and if set, I2C core will initialize wakeup capability.  For
      SPI devices there is no such flag at all.
      
      I believe that it's not platform code responsibility to allow or disallow
      wakeups, instead, drivers themselves should set the capability if a device
      can trigger wakeups.
      
      That's what drivers/base/power/sysfs.c says:
      
       * It is the responsibility of device drivers to enable (or disable)
       * wakeup signaling as part of changing device power states, respecting
       * the policy choices provided through the driver model.
      
      I2C and SPI RTC devices send wakeup events via interrupt lines, so we
      should set the wakeup capability if IRQ is routed.
      
      Ideally we should also check irq for wakeup capability before setting
      device's capability, i.e.
      
      	if (can_irq_wake(irq))
      		device_set_wakeup_capable(&client->dev, 1);
      
      But there is no can_irq_wake() call exist, and it is not that trivial to
      implement it for all interrupts controllers and complex/cascaded setups.
      
      drivers/base/power/sysfs.c also covers these cases:
      
       * Devices may not be able to generate wakeup events from all power
       * states.  Also, the events may be ignored in some configurations;
       * for example, they might need help from other devices that aren't
       * active
      
      So there is no guarantee that wakeup will actually work, and so I think
      there is no point in being pedantic wrt checking IRQ wakeup capability.
      Signed-off-by: NAnton Vorontsov <avorontsov@ru.mvista.com>
      Cc: David Brownell <dbrownell@users.sourceforge.net>
      Cc: Ben Dooks <ben-linux@fluff.org>
      Cc: Jean Delvare <khali@linux-fr.org>
      Cc: Alessandro Zummo <a.zummo@towertech.it>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      26b3c01f
  20. 16 12月, 2009 1 次提交
  21. 23 9月, 2009 1 次提交
  22. 20 6月, 2009 1 次提交
  23. 19 6月, 2009 2 次提交
  24. 01 4月, 2009 2 次提交
  25. 09 1月, 2009 2 次提交
  26. 20 10月, 2008 1 次提交
    • P
      x86: sysfs: kill owner field from attribute · 01e8ef11
      Parag Warudkar 提交于
      Tejun's commit 7b595756 made sysfs
      attribute->owner unnecessary.  But the field was left in the structure to
      ease the merge.  It's been over a year since that change and it is now
      time to start killing attribute->owner along with its users - one arch at
      a time!
      
      This patch is attempt #1 to get rid of attribute->owner only for
      CONFIG_X86_64 or CONFIG_X86_32 .  We will deal with other arches later on
      as and when possible - avr32 will be the next since that is something I
      can test.  Compile (make allyesconfig / make allmodconfig / custom config)
      and boot tested.
      
      akpm: the idea is that we put the declaration of sttribute.owner inside
      `#ifndef CONFIG_X86'.  But that proved to be too ambitious for now because
      new usages kept on turning up in subsystem trees.
      
      [akpm: remove the ifdef for now]
      Signed-off-by: NParag Warudkar <parag.lkml@gmail.com>
      Cc: Greg KH <greg@kroah.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Tejun Heo <htejun@gmail.com>
      Cc: Len Brown <lenb@kernel.org>
      Cc: Jens Axboe <jens.axboe@oracle.com>
      Cc: Jean Delvare <khali@linux-fr.org>
      Cc: Roland Dreier <rolandd@cisco.com>
      Cc: David Brownell <david-b@pacbell.net>
      Cc: Alessandro Zummo <a.zummo@towertech.it>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      01e8ef11