Arnd Bergmann
814db2bc4c
rtc: rv3029: hide unused i2c device table
...
The added support for SPI mode made it possible to configure the driver
when I2C is disabled, leaving an unused device table:
drivers/rtc/rtc-rv3029c2.c:794:29: error: 'rv3029_id' defined but not used [-Werror=unused-variable]
This moves the table inside of the #ifdef section that has the
only user, to avoid the harmless warning.
Signed-off-by: Arnd Bergmann <arnd@arndb.de >
Fixes: d08f50dd0afc ("rtc: rv3029: Add support of RV3049")
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com >
2016-05-21 17:07:16 +02:00
Mylène Josserand
0ddc5b89cd
rtc: rv3029: add alarm IRQ
...
Add the alarm IRQ functionality.
Signed-off-by: Mylène Josserand <mylene.josserand@free-electrons.com >
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com >
2016-05-21 17:07:00 +02:00
Mylène Josserand
38201ca3c5
rtc: rv3029: fix set_time function
...
The bin2bcd function in set_time is uncorrect on weekdays as the
bit mask should be done at the end of arithmetic operations.
Signed-off-by: Mylène Josserand <mylene.josserand@free-electrons.com >
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com >
2016-05-21 17:06:58 +02:00
Mylène Josserand
dc492e866a
rtc: rv3029: fix alarm support
...
The RTC RV3029 handles different types of alarms : seconds, minutes, ...
These alarms can be enabled or disabled individually using an AE_x bit
which is the last bit (BIT(7)) on each alarm registers.
To prepare the alarm IRQ support, the current code enables all the alarm
types by setting each AE_x to 1.
It also fixes others alarms issues :
- month and weekday errors : it was performing -1 instead of +1.
- wrong use of bit mask with bin2bcd
Signed-off-by: Mylène Josserand <mylene.josserand@free-electrons.com >
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com >
2016-05-21 17:06:56 +02:00
Mylène Josserand
abe2f551ef
rtc: rv3029: Remove some checks and warnings
...
Remove some checks from checkpatch such as spaces around arithmetic
operations or prefer "unsigned int".
Signed-off-by: Mylène Josserand <mylene.josserand@free-electrons.com >
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com >
2016-05-21 17:06:54 +02:00
Mylène Josserand
c2a1c14540
rtc: rv3029: Add support of RV3049
...
Add support of Microcrystal RV3049 RTC (SPI) using regmap on the
RV3029 (I2C) driver.
Signed-off-by: Mylène Josserand <mylene.josserand@free-electrons.com >
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com >
2016-05-21 17:06:52 +02:00
Mylène Josserand
e6e3808212
rtc: rv3029: convert to use regmap
...
To add support of rv3049, the current driver is converted to use regmap.
Signed-off-by: Mylène Josserand <mylene.josserand@free-electrons.com >
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com >
2016-05-21 17:04:11 +02:00
Mylène Josserand
4e7f1a6051
rtc: rv3029: remove 'i2c' in functions names
...
To prepare the use of regmap to add the support of RV-3049, all the
'i2c' in functions's names are removed.
Signed-off-by: Mylène Josserand <mylene.josserand@free-electrons.com >
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com >
2016-05-21 17:03:53 +02:00
Michael Büsch
a696b31e2f
rtc: rv3029: Add thermometer hwmon support
...
This adds support to
- enable/disable the thermometer
- set the temperature scanning interval
- read the current temperature that is used for temp compensation.
via hwmon interface
Signed-off-by: Michael Buesch <m@bues.ch >
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com >
2016-03-14 17:08:40 +01:00
Michael Büsch
39387dc2cf
rtc: rv3029: Add update_bits helper for eeprom access
...
This simplifies the update of single bits in the eeprom.
Signed-off-by: Michael Buesch <m@bues.ch >
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com >
2016-03-14 17:08:39 +01:00
Michael Büsch
e27e21603e
rtc: rv3029: Add device tree property for trickle charger
...
The trickle charger resistor can be enabled via device tree
property trickle-resistor-ohms.
Signed-off-by: Michael Buesch <m@bues.ch >
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com >
2016-03-14 17:08:34 +01:00
Michael Büsch
a7f6e28741
rtc: rv3029: Add functions for EEPROM access
...
This adds functions for access to the EEPROM memory on the rv3029.
Signed-off-by: Michael Buesch <m@bues.ch >
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com >
2016-03-14 17:08:34 +01:00
Michael Büsch
2dca3d9e14
rtc: rv3029: Add i2c register update-bits helper
...
This simplifies mask/set operations on device I2C registers.
Signed-off-by: Michael Buesch <m@bues.ch >
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com >
2016-03-14 17:08:33 +01:00
Michael Büsch
7697de35fa
rtc: rv3029: Add missing register definitions
...
This adds all (according to the data sheet) missing register and bit
definitions.
It also fixes the definition of the trickle charger bit masks.
Signed-off-by: Michael Buesch <m@bues.ch >
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com >
2016-03-14 17:08:33 +01:00
Michael Büsch
baba623f12
rtc: rv3029: Add "rv3029" I2C device id
...
The C2 suffix does not appear in the latest datasheet, so add
a device ID without it.
Signed-off-by: Michael Buesch <m@bues.ch >
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com >
2016-03-14 17:08:32 +01:00
Michael Büsch
aba39d27bd
rtc: rv3029: Remove all 'C2' suffixes from identifiers
...
The C2 suffix does not appear anymore in the latest device and
data sheet versions.
Signed-off-by: Michael Buesch <m@bues.ch >
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com >
2016-03-14 17:08:32 +01:00
Gregory Hermant
67ab2440b4
drivers/rtc/rtc-rv3029c2.c: fix potential race condition
...
RTC drivers must not return an error after device registration.
Signed-off-by: Gregory Hermant <gregory.hermant@calao-systems.com >
Acked-by: Alessandro Zummo <a.zummo@towertech.it >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2014-04-03 16:21:24 -07:00
Sachin Kamat
832ccd3fad
drivers/rtc/rtc-rv3029c2.c: remove empty function
...
After the switch to devm_* functions and the removal of
rtc_device_unregister(), the 'remove' function does not do anything.
Delete it.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org >
Cc: Gregory Hermant <gregory.hermant@calao-systems.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2013-07-03 16:07:58 -07:00
Axel Lin
29ecd78c0f
drivers/rtc/rtc-rv3029c2.c: fix disabling AIE irq
...
In the disable AIE irq code path, current code passes "1" to enable
parameter of rv3029c2_rtc_i2c_alarm_set_irq(). Thus it does not disable
AIE irq.
Signed-off-by: Axel Lin <axel.lin@ingics.com >
Acked-by: Heiko Schocher <hs@denx.de >
Cc: <stable@vger.kernel.org >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2013-07-03 16:07:52 -07:00
Jingoo Han
3d7068c9d5
rtc: rtc-rv3029c2: use devm_rtc_device_register()
...
devm_rtc_device_register() is device managed and makes cleanup paths
simpler.
Signed-off-by: Jingoo Han <jg1.han@samsung.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2013-04-29 18:28:31 -07:00
Greg Kroah-Hartman
5a167f4543
Drivers: rtc: remove __dev* attributes.
...
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: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-01-03 15:57:02 -08:00
Axel Lin
0abc920116
rtc: convert rtc i2c drivers to module_i2c_driver
...
Factor out some boilerplate code for i2c driver registration into
module_i2c_driver.
Signed-off-by: Axel Lin <axel.lin@gmail.com >
Cc: Piotr Ziecik <kosmo@semihalf.com >
Cc: Alessandro Zummo <a.zummo@towertech.it >
Cc: Scott Wood <scottwood@freescale.com >
Cc: Srikanth Srinivasan <srikanth.srinivasan@freescale.com >
Cc: Mike Rapoport <mike@compulab.co.il >
Cc: Sergey Lapin <slapin@ossfans.org >
Cc: Roman Fietze <roman.fietze@telemotive.de >
Cc: Herbert Valerio Riedel <hvr@gnu.org >
Cc: Alexander Bigga <ab@mycable.de >
Cc: Dale Farnsworth <dale@farnsworth.org >
Cc: Gregory Hermant <gregory.hermant@calao-systems.com >
Cc: Wolfgang Grandegger <wg@grandegger.com >
Cc: Martyn Welch <martyn.welch@ge.com >
Cc: Byron Bradley <byron.bbradley@gmail.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2012-03-23 16:58:39 -07:00
Heiko Schocher
52365230ee
rtc: add rv3029c2 RTC support
...
Add support for the Micro Crystal RV3029-C2 RTC chips.
Signed-off-by: Heiko Schocher <hs@denx.de >
Signed-off-by: Gregory Hermant <gregory.hermant@calao-systems.com >
Cc: Wan ZongShun <mcuos.com@gmail.com >
Cc: Alessandro Zummo <a.zummo@towertech.it >
Acked-by: Wolfram Sang <w.sang@pengutronix.de >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2011-05-26 17:12:33 -07:00