#
48144c28 |
|
24-Jul-2023 |
Rob Herring <robh@kernel.org> |
rtc: Explicitly include correct DT includes The DT of_device.h and of_platform.h date back to the separate of_platform_bus_type before it as merged into the regular platform bus. As part of that merge prepping Arm DT support 13 years ago, they "temporarily" include each other. They also include platform_device.h and of.h. As a result, there's a pretty much random mix of those include files used throughout the tree. In order to detangle these headers and replace the implicit includes with struct declarations, users need to explicitly include the correct includes. Signed-off-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20230724205456.767430-1-robh@kernel.org Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
|
#
31b0cecb |
|
05-May-2023 |
Uwe Kleine-König <u.kleine-koenig@pengutronix.de> |
rtc: Switch i2c drivers back to use .probe() After commit b8a1a4cd5a98 ("i2c: Provide a temporary .probe_new() call-back type"), all drivers being converted to .probe_new() and then 03c835f498b5 ("i2c: Switch .probe() to not take an id parameter") convert back to (the new) .probe() to be able to eventually drop .probe_new() from struct i2c_driver. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Link: https://lore.kernel.org/r/20230505121136.1185653-1-u.kleine-koenig@pengutronix.de Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
|
#
e90ff8ed |
|
22-Dec-2022 |
Sean Anderson <sean.anderson@seco.com> |
rtc: abx80x: Add nvmem support This adds support for the 256-byte internal RAM. There are two windows which can be used to access this RAM: 64 bytes at 0x40 (the "standard" address space) and 128 bytes at 0x80 (the "alternate" address space). We use the standard address space because it is also accessible over SPI (if such a port is ever done). We are limited to 32-byte reads for SMBus compatibility, so there's no advantage to using the alternate address space. There are some reserved bits in the EXTRAM register, and the datasheet doesn't say what to do with them. I've opted to skip a read/modify/write and just write the whole thing. If this driver is ever converted to regmap, this would be a good place to use regmap_update_bits. Signed-off-by: Sean Anderson <sean.anderson@seco.com> Link: https://lore.kernel.org/r/20221222214532.1873718-1-sean.anderson@seco.com Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
|
#
e59b3c73 |
|
06-Nov-2022 |
Christophe JAILLET <christophe.jaillet@wanadoo.fr> |
rtc: Include <linux/kstrtox.h> when appropriate The kstrto<something>() functions have been moved from kernel.h to kstrtox.h. So, include the latter directly in the appropriate files. Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Link: https://lore.kernel.org/r/786421fd0435a32206288904a1f879436a717529.1667721637.git.christophe.jaillet@wanadoo.fr Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
|
#
65d9cc3f |
|
21-Oct-2022 |
Uwe Kleine-König <u.kleine-koenig@pengutronix.de> |
rtc: abx80x: Convert to .probe_new() .probe_new() doesn't get the i2c_device_id * parameter, so determine that explicitly in .probe(). The device_id array has to move up for that to work. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Link: https://lore.kernel.org/r/20221021130706.178687-2-u.kleine-koenig@pengutronix.de Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
|
#
49dfc1f1 |
|
15-Jun-2020 |
Kevin P. Fleming <kevin+linux@km6g.us> |
rtc: abx80x: Add utility function for writing configuration key Writing one of key two values into the configuration key register is a common operation, so a utility function has been added to provide consistent behavior and eliminate code duplication. Signed-off-by: Kevin P. Fleming <kevin+linux@km6g.us> Cc: Alessandro Zummo <a.zummo@towertech.it> Cc: Alexandre Belloni <alexandre.belloni@bootlin.com> To: linux-rtc@vger.kernel.org Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Link: https://lore.kernel.org/r/20200615105113.57770-2-kevin+linux@km6g.us
|
#
fdcfd854 |
|
09-Nov-2020 |
Bartosz Golaszewski <bgolaszewski@baylibre.com> |
rtc: rework rtc_register_device() resource management rtc_register_device() is a managed interface but it doesn't use devres by itself - instead it marks an rtc_device as "registered" and the devres callback for devm_rtc_allocate_device() takes care of resource release. This doesn't correspond with the design behind devres where managed structures should not be aware of being managed. The correct solution here is to register a separate devres callback for unregistering the device. While at it: rename rtc_register_device() to devm_rtc_register_device() and add it to the list of managed interfaces in devres.rst. This way we can avoid any potential confusion of driver developers who may expect there to exist a corresponding unregister function. Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Link: https://lore.kernel.org/r/20201109163409.24301-8-brgl@bgdev.pl
|
#
6e429f6b |
|
30-May-2020 |
Kevin P. Fleming <kevin+linux@km6g.us> |
rtc: abx80x: Provide debug feedback for invalid dt properties When the user provides an invalid value for tc-diode or tc-resistor generate a debug message instead of silently ignoring it. Signed-off-by: Kevin P. Fleming <kevin+linux@km6g.us> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Link: https://lore.kernel.org/r/20200530122956.360689-1-kevin+linux@km6g.us
|
#
ac363ace |
|
28-May-2020 |
Kevin P. Fleming <kevin+linux@km6g.us> |
rtc: abx80x: Add Device Tree matching table Enable automatic loading of the module when a Device Tree overlay specifies a device supported by this driver. Signed-off-by: Kevin P. Fleming <kevin+linux@km6g.us> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Link: https://lore.kernel.org/r/20200528114617.166587-1-kevin+linux@km6g.us
|
#
9f05342a |
|
14-Dec-2019 |
Alexandre Belloni <alexandre.belloni@bootlin.com> |
rtc: abx80x: return meaningful value for RTC_VL_READ ABX8XX_STATUS_BLF indicates the battery is low and needs to be replaced soon. Link: https://lore.kernel.org/r/20191214220259.621996-4-alexandre.belloni@bootlin.com Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
|
#
60b7f4cb |
|
06-Mar-2019 |
Alexandre Belloni <alexandre.belloni@bootlin.com> |
rtc: abx80x: remove useless .remove .remove is empty, remove it. Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
|
#
559e883e |
|
06-Mar-2019 |
Alexandre Belloni <alexandre.belloni@bootlin.com> |
rtc: abx80x: use rtc_add_group Use rtc_add_group to add the sysfs group in a race free manner. This has the side effect of moving the files to their proper location. Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
|
#
2fcdf5fd |
|
06-Mar-2019 |
Alexandre Belloni <alexandre.belloni@bootlin.com> |
rtc: abx80x: convert to SPDX identifier Use SPDX-License-Identifier instead of a verbose license text. Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
|
#
7d1e5bfe |
|
04-Mar-2019 |
Alexandre Belloni <alexandre.belloni@bootlin.com> |
rtc: update my email address Use my current email address. Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
|
#
75455e25 |
|
28-Jan-2019 |
Marek Vasut <marex@denx.de> |
rtc: abx80x: Configure reserved bits in RV1805 The RV1805 uses smaller package than the AB1805, discern those two chips based on the compatible value and configure reserved bits in the RV1805 to prevent current leakage and accidental test mode entry. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Alexandre Belloni <alexandre.belloni@free-electrons.com> To: linux-rtc@vger.kernel.org Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
|
#
ffe1c5a2 |
|
07-Dec-2018 |
Marek Vasut <marex@denx.de> |
rtc: abx80x: Implement RTC_VL_READ,CLR ioctls Implement standard ioctls for polling the battery status and clearing the battery low indication from userspace. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
|
#
749e36d0 |
|
11-Sep-2018 |
Jeremy Gebben <jgebben@sweptlaser.com> |
rtc: abx80x: add basic watchdog support The abx804 and abx805 chips have support for a simple watchdog function that can trigger an external reset. Signed-off-by: Jeremy Gebben <jgebben@sweptlaser.com> Reviewed-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
|
#
af69f9a7 |
|
11-Sep-2018 |
Jeremy Gebben <jgebben@sweptlaser.com> |
rtc: abx80x: use a 'priv' struct for client data This will allow additional data to be tracked, for future improvements. Signed-off-by: Jeremy Gebben <jgebben@sweptlaser.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
|
#
fbfd36fd |
|
20-Feb-2018 |
Alexandre Belloni <alexandre.belloni@bootlin.com> |
rtc: abx80x: remove useless message It is not necessary to print a message when the time is invalid as userspace will already get an error (and an optional dev_dbg message). Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
|
#
9da32ba6 |
|
12-Oct-2017 |
Alexandre Belloni <alexandre.belloni@bootlin.com> |
rtc: abx80x: solve race condition There is a race condition that can happen if abx80x_probe() fails after the rtc registration succeeded. Solve that by moving the registration at the end of the probe function. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
|
#
9360a6a8 |
|
12-Oct-2017 |
Alexandre Belloni <alexandre.belloni@bootlin.com> |
rtc: abx80x: switch to rtc_register_device This allows for future improvement of the driver. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
|
#
d8cac8d9 |
|
03-Jul-2016 |
Sudip Mukherjee <sudipm.mukherjee@gmail.com> |
rtc: abx80x: use devm_add_action_or_reset() If devm_add_action() fails we are explicitly calling the cleanup to free the resources allocated. Lets use the helper devm_add_action_or_reset() and return directly in case of error, as we know that the cleanup function has been already called by the helper if there was any error. Signed-off-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
|
#
ee087744 |
|
21-Mar-2016 |
Mylène Josserand <mylene.josserand@free-electrons.com> |
rtc: abx80x: handle the oscillator failure bit Handle the Oscillator Failure ('OF') bit from Oscillator Status register (0x1D). This bit is cleared on set_time function and is read each time the date/time is read, but only in case of XT Oscillator selection. In RC mode, this bit is always set. Signed-off-by: Mylène Josserand <mylene.josserand@free-electrons.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
|
#
59a8383a |
|
21-Mar-2016 |
Mylène Josserand <mylene.josserand@free-electrons.com> |
rtc: abx80x: handle autocalibration The autocalibration is separated in two bits to set in Oscillator Control register (0x1c) : - OSEL bit to select the oscillator type (XT or RC). - ACAL bit to select the autocalibration type. These functionnalities are exported in sysfs entries : "oscillator" and "autocalibration". Respectively, the values are "xtal" for XT oscillator and "rc" for RC oscillator and 0 to disable the autocalibration cycle, 512 for a 512 seconds autocalibration cycle and 1024 for a cycle of 1024 seconds. Examples : Set to XT Oscillator echo xtal > /sys/class/rtc/rtc0/device/oscillator Activate an autocalibration every 512 seconds echo 512 > /sys/class/rtc/rtc0/device/autocalibration Signed-off-by: Mylène Josserand <mylene.josserand@free-electrons.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
|
#
718a820a |
|
16-Dec-2015 |
Alexandre Belloni <alexandre.belloni@bootlin.com> |
rtc: abx80x: add alarm support Add alarm support to the abx80x driver. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
|
#
fca733a1 |
|
16-Dec-2015 |
Alexandre Belloni <alexandre.belloni@bootlin.com> |
rtc: abx80x: Add Microcrystal rv1805 support Microcrystal RV-1805 is compatible with Abracon 1805. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
|
#
5f1b2f77 |
|
02-Sep-2015 |
Mitja Spes <mitja@lxnav.com> |
rtc: abx80x: fix RTC write bit Fix RTC write bit as per application manual Cc: stable@vger.kernel.org # 4.1+ Signed-off-by: Mitja Spes <mitja@lxnav.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
|
#
4d61ff6b |
|
05-May-2015 |
Philippe De Muyter <phdm@macqel.be> |
rtc: add rtc-abx80x, a driver for the Abracon AB x80x i2c rtc This is a basic driver for the ultra-low-power Abracon AB x80x series of RTC chips. It supports in particular, the supersets AB0805 and AB1805. It allows reading and writing the time, and enables the supercapacitor/ battery charger. [arnd@arndb.de: abx805 depends on i2c] [alexandre.belloni@free-electrons.com: renam buffer from date to buf in abx80x_rtc_read_time()] Signed-off-by: Philippe De Muyter <phdm@macqel.be> Cc: Alessandro Zummo <a.zummo@towertech.it> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de> Cc: Paul Bolle <pebolle@tiscali.nl> Cc: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|