01 Nov, 2011

1 commit


31 Mar, 2011

1 commit


16 Dec, 2009

1 commit


02 Dec, 2009

2 commits

  • When detecting power failure, the probe function would reset the clock
    time to defined state.

    However, the clock's _date_ might still be bogus and a subsequent probe
    fails when sanity-checking these values.

    Change the power-failure fixup code to do a full setting of rtc_time,
    including a valid date.

    Signed-off-by: Johannes Weiner
    Cc: Alessandro Zummo
    Cc: Paul Gortmaker
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Johannes Weiner
     
  • The possible CCR_Y2K register values are 19 or 20 and struct rtc_time's
    tm_year is in years since 1900.

    The function translating rtc_time to register values assumes tm_year to be
    years since first christmas, though, and we end up storing 0 or 1 in the
    CCR_Y2K register, which the hardware does not refuse to do.

    A subsequent probing of the clock fails due to the invalid value range in
    the register, though.

    [ And if it didn't, reading the clock would yield a bogus year because
    the function translating registers to tm_year is assuming a register
    value of 19 or 20. ]

    This fixes the conversion from years since 1900 in tm_year to the
    corresponding CCR_Y2K value of 19 or 20.

    Signed-off-by: Johannes Weiner
    Cc: Alessandro Zummo
    Cc: Paul Gortmaker
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Johannes Weiner
     

20 Oct, 2008

1 commit

  • Change drivers/rtc/ to use the new bcd2bin/bin2bcd functions instead of
    the obsolete BCD_TO_BIN/BIN_TO_BCD/BCD2BIN/BIN2BCD macros.

    Signed-off-by: Adrian Bunk
    Acked-by: Alessandro Zummo
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     

05 Jul, 2008

1 commit

  • I have discovered that the current version of rtc-x1205.c does not work
    correctly when asked to set the alarm time by the RTC_WKALM_SET ioctl()
    call. This happens because the alarm registers do not behave like the
    current-time registers. They are non-volatile. Two things go wrong:

    - the X1205 requires a 10 msec delay after any attempt to write to the
    non-volatile registers. The x1205_set_datetime() routine does the write
    as 8 single-byte writes without any delay. Only the first write
    succeeds. The second is NAKed because the chip is busy.

    - the X1205 resets the RWEL bit after any write to the non-volatile
    registers. This would lock out any further writes after the first even
    with a 10msec delay.

    I fix this by doing a single 8-byte write and then waiting 10msec for the
    chip to be ready. A side effect of this change is that it will speed up
    x1205_rtc_set_time() which uses the same code.

    I have also implemented the 'enable' bit in the rtc_wkalm structure, which
    the existing driver does not attempt to do. I have modified both
    x1205_rtc_set_alarm() to set the AL0E bit, and x1205_rtc_read_alarm() to
    return it.

    I have tested this patch on a LinkSys NSLU2 under OpenWRT, but on no other
    hardware. On the NSLU2 the X1205 correctly asserts its IRQ pin when the
    alarm time matches the current time.

    [akpm@linux-foundation.org: clean up over-parenthesisation]
    Signed-off-by: Michael Hamel
    Signed-off-by: Alessandro Zummo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michael Hamel
     

30 Apr, 2008

2 commits

  • Based on earlier work by Jon Smirl and Jochen Friedrich.

    Update most new-style i2c drivers to use standard module aliasing
    instead of the old driver_name/type driver matching scheme. I've
    left the video drivers apart (except for SoC camera drivers) as
    they're a bit more diffcult to deal with, they'll have their own
    patch later.

    Signed-off-by: Jean Delvare
    Cc: Jon Smirl
    Cc: Jochen Friedrich

    Jean Delvare
     
  • Based on earlier work by Jon Smirl and Jochen Friedrich.

    This patch allows new-style i2c chip drivers to have alias names using
    the official kernel aliasing system and MODULE_DEVICE_TABLE(). At this
    point, the old i2c driver binding scheme (driver_name/type) is still
    supported.

    Signed-off-by: Jean Delvare
    Cc: Jochen Friedrich
    Cc: Jon Smirl
    Cc: Kay Sievers

    Jean Delvare
     

28 Apr, 2008

2 commits


28 Jan, 2008

1 commit


12 Jul, 2007

1 commit


14 Feb, 2007

1 commit


11 Dec, 2006

1 commit

  • Update more I2C drivers that live outside drivers/i2c to understand that using
    adapter->dev is not The Way. When actually referring to the adapter hardware,
    adapter->class_dev.dev is the answer. When referring to a device connected to
    it, client->dev.dev is the answer.

    Signed-off-by: David Brownell
    Acked-by: Alessandro Zummo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Brownell
     

08 Dec, 2006

1 commit


01 Oct, 2006

1 commit


11 Apr, 2006

4 commits


28 Mar, 2006

1 commit

  • A port of the existing x1205 driver under the new RTC subsystem.

    It is actually under test within the NSLU2 project
    (http://www.nslu2-linux.org) and it is working quite well.

    It is the first driver under this new subsystem and should be used as a guide
    to port other drivers.

    Signed-off-by: Alessandro Zummo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alessandro Zummo