summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* rtc: ds3232: fix read on /dev/rtc after RTC_AIE_ONAkinobu Mita2016-03-141-7/+3
| | | | | | | | | | | | | | | The rtctest (tools/testing/selftests/timers/rtctest.c) found that reading ds3232 rtc device immediately return the value 0x20 (RTC_AF) without waiting alarm interrupt. This is because alarm_irq_enable() of ds3232 driver changes RTC_AF flag in rtc->irq_data. So calling ioctl with RTC_AIE_ON generates invalid value in rtc device. The lower-level driver should not touch rtc->irq_data directly. Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* rtc: merge ds3232 and ds3234Akinobu Mita2016-03-144-194/+189
| | | | | | | | | | | | | According to "Feature Comparison of the DS323x Real-Time Clocks" (http://pdfserv.maximintegrated.com/en/an/AN5143.pdf), DS3232 and DS3234 are very similar. This merges rtc-ds3232 and rtc-ds3234 with using regmap. This change also enables to support alarm for ds3234. Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Suggested-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* rtc: ds3232: convert to use regmapAkinobu Mita2016-03-141-103/+113
| | | | | | | | | | | This is preparation for merging rtc-ds3232 i2c driver and rtc-ds3234 spi driver. Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Cc: Alessandro Zummo <a.zummo@towertech.it> Cc: Alexandre Belloni <alexandre.belloni@free-electrons.com> Cc: Dennis Aberilla <denzzzhome@yahoo.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* rtc: pxa: fix Kconfig indentationAlexandre Belloni2016-03-141-4/+4
| | | | | | The pxa section is indented using spaces, use tabs. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* rtc: rv3029: Add device tree property for trickle chargerMichael Büsch2016-03-141-3/+103
| | | | | | | | 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>
* rtc: rv3029: Add functions for EEPROM accessMichael Büsch2016-03-141-0/+125
| | | | | | | 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>
* rtc: rv3029: Add i2c register update-bits helperMichael Büsch2016-03-141-26/+28
| | | | | | | 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>
* rtc: rv3029: Add missing register definitionsMichael Büsch2016-03-141-16/+45
| | | | | | | | | 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>
* rtc: rv3029: Add "rv3029" I2C device idMichael Büsch2016-03-141-0/+1
| | | | | | | | 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>
* rtc: rv3029: Remove all 'C2' suffixes from identifiersMichael Büsch2016-03-141-147/+148
| | | | | | | | 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>
* rtc: enable COMPILE_TESTAlexandre Belloni2016-03-141-23/+23
| | | | | | | | There are several arch-specific RTC drivers that can be successfully compiled on other platforms. Add a COMPILE_TEST dependency for those. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
* rtc: generic: allow building on all architecturesArnd Bergmann2016-03-141-1/+11
| | | | | | | | | | | | | | | | There are four architectures using this driver, but since we can build it with COMPILE_TEST, we should try dealing with the absence of the asm/rtc.h header file, to avoid getting a build error: drivers/rtc/rtc-generic.c:12:21: fatal error: asm/rtc.h: No such file or directory This creates an alternative use of the driver, allowing architectures to pass a set of rtc_class_ops in platform data. We can convert the four architectures to use this and then remove the original code. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* rtc: pcf8523: properly handle oscillator stop bitAlexandre Belloni2016-03-141-22/+3
| | | | | | | | | | | | The time and date register of the pcf8223 are undefined after a power reset. Properly handle the OS bit and return -EINVAL when that bit is set. It is properly removed when setting the time. This solves an issue where the time and date may be valid for rtc_valid_tm() but is not the current time. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* rtc: pcf85063: remove struct pcf85063Alexandre Belloni2016-03-141-17/+5
| | | | | | | No members of struct pcf85063 are used anymore, remove the whole structure. Reviewed-by: Juergen Borleis <jbe@pengutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* rtc: pcf85063: remove useless DRV_VERSIONAlexandre Belloni2016-03-141-5/+0
| | | | | | | Since the driver is mainlined there is no use for a separate version number. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* rtc: always show I2CAlexandre Belloni2016-03-141-1/+0
| | | | | | Always show there is an I2C section, like the other sections. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* rtc: ds1685: passing bogus values to irq_restoreDan Carpenter2016-03-141-4/+4
| | | | | | | | | We call spin_lock_irqrestore with "flags" set to zero instead of to the value from spin_lock_irqsave(). Fixes: aaaf5fbf56f1 ('rtc: add driver for DS1685 family of real time clocks') Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* rtc: max77686: Use REGMAP_IRQ_REG for regmap-rtc-irqs initialisationLaxman Dewangan2016-03-141-6/+6
| | | | | | | | | | Use macro REGMAP_IRQ_REG from regmap.h to initialise the regmap irq table for max77686 to have better coding style and improve readability. Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* rtc: max77686: Add support for MAX20024/MAX77620 RTC IPLaxman Dewangan2016-03-142-5/+46
| | | | | | | | | | | | | | Maxim Semiconductor's PMIC MAX77686 has RTC IP which is reused in the MAX77620/MAX20024 PMICs. Add support for these devices in MAX77686 RTC driver. This device does not have RTC alarm pending status outside of RTC IP. The RTC IP is having separate I2C address for its register access. Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* rtc: mt6397: Remove plaform module aliasJavier Martinez Canillas2016-03-141-1/+0
| | | | | | | | | | | The driver uses the MODULE_ALIAS() macro to export a platform module alias to allow the module to be autoloaded if the device is registered using the legacy platform registration mechanism but the driver is always used by OF only machines so the alias is not needed and should just be removed. Suggested-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* rtc: pcf85063: remove useless century handlingAlexandre Belloni2016-03-141-7/+0
| | | | | | | | | pcf85063_get_datetime() tries to handle a century bit but that bit is not documented and the final value is never used anywhere else in the kernel. Reviewed-by: Juergen Borleis <jbe@pengutronix.de> Tested-by: Ulrich Ölmann <u.oelmann@pengutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* rtc: vr41xx: Wire up alarm_irq_enableGeert Uytterhoeven2016-03-141-6/+7
| | | | | | | | | | | drivers/rtc/rtc-vr41xx.c:229: warning: ‘vr41xx_rtc_alarm_irq_enable’ defined but not used Apparently the conversion to alarm_irq_enable forgot to wire up the callback. Fixes: 16380c153a69c378 ("RTC: Convert rtc drivers to use the alarm_irq_enable method") Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* rtc: rv3029: reword Kconfig optionAlexandre Belloni2016-03-141-2/+2
| | | | | | | The Kconfig option for rv3029 is not mentioning any part number, explicitly show rv3029. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* rtc: as3722: Drop IRQF_EARLY_RESUME flagGrygorii Strashko2016-03-141-1/+1
| | | | | | | | | | | | | | | as3722 RTC IRQ is nested threaded and wired to the as3722 inerrupt controller. So, this flag is not required for nested irqs anymore, since commit 3c646f2c6aa9 ("genirq: Don't suspend nested_thread irqs over system suspend") was merged. Cc: Alessandro Zummo <a.zummo@towertech.it> Cc: Alexandre Belloni <alexandre.belloni@free-electrons.com> Cc: Lee Jones <lee.jones@linaro.org> Cc: Nishanth Menon <nm@ti.com> Cc: Laxman Dewangan <ldewangan@nvidia.com> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* rtc: tps80031: Drop IRQF_EARLY_RESUME flagGrygorii Strashko2016-03-141-1/+1
| | | | | | | | | | | | | | tps80031 RTC IRQ is nested threaded and wired to the tps80031 inerrupt controller. So, this flag is not required for nested irqs anymore, since commit 3c646f2c6aa9 ("genirq: Don't suspend nested_thread irqs over system suspend") was merged. Cc: Alessandro Zummo <a.zummo@towertech.it> Cc: Alexandre Belloni <alexandre.belloni@free-electrons.com> Cc: Lee Jones <lee.jones@linaro.org> Cc: Nishanth Menon <nm@ti.com> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* rtc: tps65910: Drop IRQF_EARLY_RESUME flagGrygorii Strashko2016-03-141-1/+1
| | | | | | | | | | | | | | | | tps65910 RTC IRQ is nested threaded and wired to the tps65910 inerrupt controller. So, this flag is not required for nested irqs anymore, since commit 3c646f2c6aa9 ("genirq: Don't suspend nested_thread irqs over system suspend") was merged. Cc: Alessandro Zummo <a.zummo@towertech.it> Cc: Alexandre Belloni <alexandre.belloni@free-electrons.com> Cc: Lee Jones <lee.jones@linaro.org> Cc: Tony Lindgren <tony@atomide.com> Cc: Nishanth Menon <nm@ti.com> Cc: Laxman Dewangan <ldewangan@nvidia.com> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* rtc: tps6586x: Drop IRQF_EARLY_RESUME flagGrygorii Strashko2016-03-141-1/+1
| | | | | | | | | | | | | | | tps6586x RTC IRQ is nested threaded and wired to the tps6586x inerrupt controller. So, this flag is not required for nested irqs anymore, since commit 3c646f2c6aa9 ("genirq: Don't suspend nested_thread irqs over system suspend") was merged. Cc: Alessandro Zummo <a.zummo@towertech.it> Cc: Alexandre Belloni <alexandre.belloni@free-electrons.com> Cc: Lee Jones <lee.jones@linaro.org> Cc: Nishanth Menon <nm@ti.com> Cc: Laxman Dewangan <ldewangan@nvidia.com> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* rtc: palmas: Drop IRQF_EARLY_RESUME flagGrygorii Strashko2016-03-141-2/+1
| | | | | | | | | | | | | | | Palams RTC IRQ is nested threaded and wired to the Palmas inerrupt controller. So, this flag is not required for nested irqs anymore, since commit 3c646f2c6aa9 ("genirq: Don't suspend nested_thread irqs over system suspend") was merged. Cc: Alessandro Zummo <a.zummo@towertech.it> Cc: Alexandre Belloni <alexandre.belloni@free-electrons.com> Cc: Tony Lindgren <tony@atomide.com> Cc: Lee Jones <lee.jones@linaro.org> Cc: Nishanth Menon <nm@ti.com> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* rtc: Group Kconfig entries by vendorSoren Brinkmann2016-03-141-44/+44
| | | | | | | | | | The RTC entries are mostly grouped by vendor. Move the few outliers in place. Also, change the one occurrence of 'nxp' to 'NXP' to make all NXP entries consistent. Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* rtc: pic32: Add PIC32 real time clock driverJoshua Henderson2016-03-143-0/+422
| | | | | | | | | | This driver adds support for the PIC32 real time clock and calendar peripheral: - reading and setting time - alarms provided by dedicated IRQ Signed-off-by: Joshua Henderson <joshua.henderson@microchip.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* dt/bindings: Add bindings for the PIC32 real time clockJoshua Henderson2016-03-141-0/+21
| | | | | | | | | Document the devicetree bindings for the real time clock found on Microchip PIC32 class devices. Signed-off-by: Joshua Henderson <joshua.henderson@microchip.com> Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* rtc: rx8025: unsupport UIE modeAkinobu Mita2016-03-141-0/+3
| | | | | | | | | | | | The alarm for rx8025 only has a minute accuracy, so unsupport UIE mode. pcf8563 and hym8563 also have a minute accuracy and unsupport it. Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Cc: Wolfgang Grandegger <wg@grandegger.com> Cc: Alessandro Zummo <a.zummo@towertech.it> Cc: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* rtc: rx8025: round up to nearest minute for a minute accuracy alarmAkinobu Mita2016-03-141-1/+11
| | | | | | | | | | | | | | The alarm for rx8025 only has a minute accuracy, so round up to nearest minute when setting alarm. Without doing this, rtctest blocks one day after setting alarm to 5 seconds later. pcf8563 and hym8563 also have similar handling. Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Cc: Wolfgang Grandegger <wg@grandegger.com> Cc: Alessandro Zummo <a.zummo@towertech.it> Cc: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* rtc: rx8025: protect ctrl1 register update by rtc->ops_lockAkinobu Mita2016-03-141-0/+4
| | | | | | | | | | | The ctrl1 register is accessed by alarm operations. But it is updated in threaded interrupt handler without acquiring rtc->ops_lock. Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Cc: Wolfgang Grandegger <wg@grandegger.com> Cc: Alessandro Zummo <a.zummo@towertech.it> Cc: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* rtc: rx8025: fix irq handler registrationAkinobu Mita2016-03-141-2/+3
| | | | | | | | | | | | | When IRQ line for this chips is connected, devm_request_threaded_irq() refuses to register irq handler with the following message. genirq: Threaded irq requested with handler=NULL and !ONESHOT for irq Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Cc: Wolfgang Grandegger <wg@grandegger.com> Cc: Alessandro Zummo <a.zummo@towertech.it> Cc: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* rtc: s5m: De-inline large functions to save spaceKrzysztof Kozlowski2016-03-141-4/+4
| | | | | | | | | | | | | | | Few functions were marked inline even though they were relatively large and sometimes used in multiple places. De-inline them to let the compiler decide whether optimization makes sense. This fixes inline_hunt report: drivers/rtc/rtc-s5m.c: Deinline s5m8767_rtc_set_alarm_reg, save 704 bytes drivers/rtc/rtc-s5m.c: Deinline s5m8767_wait_for_udr_update, save 192 bytes Reported-by: Denys Vlasenko <vda.linux@googlemail.com> Cc: Denys Vlasenko <vda.linux@googlemail.com> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* rtc: make class.c explicitly non-modularPaul Gortmaker2016-03-141-13/+0
| | | | | | | | | | | | | | | | | | | | | | | | The Makefile/Kconfig currently controlling compilation of this code is: obj-$(CONFIG_RTC_CLASS) += rtc-core.o rtc-core-y := class.o interface.o drivers/rtc/Kconfig:menuconfig RTC_CLASS drivers/rtc/Kconfig: bool "Real Time Clock" ...meaning that it currently is not being built as a module by anyone. Lets remove the modular code that is essentially orphaned, so that when reading the code there is no doubt it is builtin-only. We don't replace module.h with init.h since the file does need to know what a struct module is. We also delete the MODULE_LICENSE tag etc. since all that information is already contained at the top of the file in the comments. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* rtc: pcf85063: fix time/date settingJuergen Borleis2016-03-141-23/+55
| | | | | | | | | | | When setting a new time/date the RTC's clock must be stopped first, in order to write the time/date registers in an atomic manner. So, this change stops the clock first and then writes the time/date registers and the clock control register (to re-enable the clock) in one turn. Signed-off-by: Juergen Borleis <jbe@pengutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* rtc: pcf85063: fix time/date readingJuergen Borleis2016-03-141-0/+7
| | | | | | | | Check if the RTC signals an invalid time/date (due to a battery power loss for example). In this case ignore the time/date until it is really set again. Signed-off-by: Juergen Borleis <jbe@pengutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* rtc: pcf85063: simplify code to read the current timeJuergen Borleis2016-03-141-26/+21
| | | | | | | | | | | | By using i2c_smbus_read_i2c_block_data() the code is now much simpler. While at it: when reading the RTC's seconds register, all time/date registers are frozen until the RTC's year register is read. So it is important to read all time/date registers in one turn to not lose a second event. Make it more clear why the read must happen in this way. Signed-off-by: Juergen Borleis <jbe@pengutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* rtc: pcf2123: implement read_offset and set_offsetJoshua Clayton2016-03-141-0/+57
| | | | | | | | | pcf2123 has an offset register, which can be used to make minor adjustments to the clock rate to compensate for temperature or a crystal that is not exactly right. Signed-off-by: Joshua Clayton <stillcompiling@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* rtc: implement a sysfs interface for clock offsetJoshua Clayton2016-03-142-1/+40
| | | | | | | | | clock offset may be set and read in decimal parts per billion attribute is /sys/class/rtc/rtcN/offset The attribute is only visible for rtcs that have set_offset implemented. Signed-off-by: Joshua Clayton <stillcompiling@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* rtc: Add functions to set and read rtc offsetJoshua Clayton2016-03-142-0/+58
| | | | | | | | | | | | | | | | | A number of rtc devices, such as the NXP pcf2123 include a facility to adjust the clock in order to compensate for temperature or a crystal, capacitor, etc, that results in the rtc clock not running at exactly 32.768 kHz. Data sheets I have seen refer to this as a clock offset, and measure it in parts per million, however they often reference ppm to 2 digits of precision, which makes integer ppm less than ideal. We use parts per billion, which more than covers the precision needed and works nicely within 32 bits Signed-off-by: Joshua Clayton <stillcompiling@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* rtc: rv8803: convert spin_lock to mutex_lockOleksij Rempel2016-03-141-21/+18
| | | | | | | | Fix a scheduling while atomic issue caused by rv8803_set_time() holding a spinlock during the call to i2c_smbus_read_byte_data(). Signed-off-by: Oleksij Rempel <fixed-term.Oleksij.Rempel@de.bosch.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* doc: dt: add documentation for alphascale,asm9260-rtcOleksij Rempel2016-03-141-0/+19
| | | | | | | | Document Alphascale asm9260 RTC bindings Signed-off-by: Oleksij Rempel <linux@rempel-privat.de> Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* rtc: add Alphascale asm9260 driverOleksij Rempel2016-03-143-0/+366
| | | | | | | | Add support for RTC controller found on Alphascale asm9260 SoC. Signed-off-by: Oleksij Rempel <linux@rempel-privat.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* rtc: ds1307: add clock provider support for DS3231Akinobu Mita2016-03-142-1/+332
| | | | | | | | | | DS3231 has programmable square-wave output signal. This enables to use this feature as a clock provider of common clock framework. Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Reviewed-by: Michael Turquette <mturquette@baylibre.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* rtc: max77686: move initialisation of rtc regmap, irq chip locallyLaxman Dewangan2016-03-143-106/+130
| | | | | | | | | | | | | | | | | | | | | | To make RTC block of MAX77686/MAX77802 as independent driver, move the registration of i2c device, regmap for register access and irq_chip for interrupt support inside the RTC driver. Removed the same initialisation from MFD driver. Having this change will allow to reuse this driver for different PMIC/devices from Maxim Semiconductor if they kept same RTC IP on different PMIC. Some of examples as PMIC MAX77620, MAX20024 where same RTC IP used and hence driver for these chips will use this driver only for RTC support. Suggested-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> Tested-by: Javier Martinez Canillas <javier@osg.samsung.com> Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com> Acked-by: Lee Jones <lee.jones@linaro.org> Tested-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* mfd: max77686: do not set i2c client data for rtc i2c clientLaxman Dewangan2016-03-141-1/+0
| | | | | | | | | | | | | | | | | | | There is different RTC I2C address for RTC block in MAX77686. Driver is creating dummy i2c client for this address to access the register of this IP block. As there is no call to i2c_get_clientdata() for rtc_i2c client, there is no need to store pointer and hence removing the call to set client data for rtc i2c client. Suggested-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> Tested-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Tested-by: Javier Martinez Canillas <javier@osg.samsung.com> Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com> Acked-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* rtc: max77686: avoid reference of parent device info multiple placesLaxman Dewangan2016-03-141-29/+23
| | | | | | | | | | | | | | Get rid of referring parent device info for register access all the places by making regmap as part of max77686 rtc device info. This will also remove the need of storing parent device info in max77686 rtc device info as this is no more required. Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> Tested-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Tested-by: Javier Martinez Canillas <javier@osg.samsung.com> Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>