1. 24 Sep, 2009 1 commit
  2. 25 Sep, 2009 1 commit
  3. 17 Nov, 2009 1 commit
  4. 10 Nov, 2009 1 commit
  5. 14 Oct, 2009 1 commit
  6. 26 Oct, 2009 1 commit
  7. 11 Nov, 2009 1 commit
    • Anton Vorontsov's avatar
      RTC core won't allow wakeup alarms to be set if RTC devices' parent (i.e. · e3a8f086
      Anton Vorontsov authored
      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: default avatarAnton 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: default avatarAndrew Morton <akpm@linux-foundation.org>
      e3a8f086
  8. 10 Nov, 2009 1 commit
  9. 04 Nov, 2009 1 commit
  10. 16 Oct, 2009 2 commits
    • Atsushi Nemoto's avatar
      The to_platform_device macro itself uses container_of macro. Nested use · 2bc3fb6c
      Atsushi Nemoto authored
      of container_of macro causes following sparse warnings:
      
      rtc-ds1553.c:259:3: warning: symbol '__mptr' shadows an earlier one
      rtc-ds1553.c:259:3: originally declared here
      Signed-off-by: default avatarAtsushi Nemoto <anemo@mba.ocn.ne.jp>
      Cc: Alessandro Zummo <alessandro.zummo@towertech.it>
      Cc: David Brownell <david-b@pacbell.net>
      Cc: Andrew Sharp <andy.sharp@lsi.com>
      Cc: Thomas Hommel <thomas.hommel@gefanuc.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      2bc3fb6c
    • Atsushi Nemoto's avatar
      - Call dev_set_drvdata before rtc device creation. · d9318a9d
      Atsushi Nemoto authored
      - Use its own spinlock instead of rtc->irq_lock.  Because pdata->rtc
        must be initialized to use the irq_lock (pdata->rtc->irq_lock).  There
        is a small window which rtc methods can be called before pdata->rtc is
        initialized.
      
        And there is no need use the irq_lock to protect hardware registers.
        The driver's own spinlock shoule be enough.
      
      - Check pdata->rtc before calling rtc_update_irq.
      
      - Use alarm_irq_enable and remove ioctl routine.
      
      - Use devres APIs and simplify error/remove path.
      
      These fixes are ported from ds1553 driver and just compile-tested only.
      Signed-off-by: default avatarAtsushi Nemoto <anemo@mba.ocn.ne.jp>
      Cc: Alessandro Zummo <alessandro.zummo@towertech.it>
      Cc: Thomas Hommel <thomas.hommel@gefanuc.com>
      Cc: David Brownell <david-b@pacbell.net>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      d9318a9d
  11. 12 Oct, 2009 4 commits
  12. 30 Sep, 2009 1 commit
  13. 13 Oct, 2009 2 commits
  14. 06 Oct, 2009 10 commits
  15. 17 Nov, 2009 1 commit
  16. 10 Nov, 2009 2 commits
  17. 03 Nov, 2009 1 commit
  18. 26 Oct, 2009 1 commit
  19. 15 Oct, 2009 1 commit
  20. 11 Nov, 2009 2 commits
  21. 30 Sep, 2009 1 commit
    • Ben Nizette's avatar
      If len > BUFFER_LEN and !xfer->rx_buf we end up calculating the tx buffer · 0fcf039e
      Ben Nizette authored
      address as
      
      *tx_dma = xfer->tx_dma + xfer->len - BUFFER_SIZE;
      
      which is constant; i.e.  we just send the last BUFFER_SIZE data over again
      until we've reached the right number of bytes.
      
      This patch gets around this by using the /requested/ length when
      calculating addresses.
      
      Note there's no way len != *plen when we calculate the rx buffer address
      but conceptually we should be using *plen and I don't want someone to come
      through later, see the calculations for rx and tx are different and "clean
      up" back to what we had.
      Signed-off-by: default avatarBen Nizette <bn@niasdigital.com>
      Cc: Haavard Skinnemoen <hskinnemoen@atmel.com>
      Cc: David Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      0fcf039e
  22. 03 Nov, 2009 1 commit
  23. 17 Nov, 2009 2 commits