aboutsummaryrefslogtreecommitdiff
path: root/target/linux/generic/files/drivers/platform/mikrotik/rb_softconfig.c
Commit message (Collapse)AuthorAge
* generic: platform/mikrotik: use MTD notifierDenis Kalashnikov2022-01-13
| | | | | | | | | | | | | | | | | | | | If the SPI probe is sufficiently delayed, the routerboot driver may fail to init as the routerboot partitions are not yet available. Register an MTD user notifier instead of doing straight init so that the init subroutines are only executed when the target MTD partitions are present. Because the init/exit routines can now be called outside of the kernel normal init/exit calls, they cannot be jettisoned and must always be available: the __init and __exit qualifiers are thus removed. Reported-by: Denis Kalashnikov <denis281089@gmail.com> Signed-off-by: Denis Kalashnikov <denis281089@gmail.com> Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org> Reviewed-by: Sergey Ryazanov <ryazanov.s.a@gmail.com> [bump hardconfig/softconfig versions] Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* generic: platform/mikrotik: make soft_config writable without 4K sectorsOskari Lemmela2022-01-13
| | | | | | | | | Make soft_config writable in all cases. Performing soft_config commit will fail if mtd partition is not writable. Signed-off-by: Oskari Lemmela <oskari@lemmela.net> [bump rb_softconfig version number] Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* generic: platform/mikrotik: release mtd device after useThibaut VARÈNE2021-05-12
| | | | | | | | | | | | The code uses get_mtd_device_nm() which must be followed by a call to put_mtd_device() once the handle is no longer used. This fixes spurious shutdown console messages such as: [ 2256.334562] Removing MTD device #7 (soft_config) with use count 1 Reported-by: Koen Vandeputte <koen.vandeputte@ncentric.com> Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com> Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
* target: remove obsolete kernel version switches for 4.19Adrian Schmutzler2020-10-30
| | | | | | | This removes unneeded kernel version switches from the targets after kernel 4.19 has been dropped. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* generic: platform/mikrotik: add partial AR71xx cpufreq supportThibaut VARÈNE2020-07-08
| | | | | | | | This patch adds cpu frequency setting for AR724x and AR7161. It is unknown if all the AR71xx devices support the same value range, so support is only enabled for AR7161 at this stage. Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
* generic: platform/mikrotik: graceful fallback for cpufreq_indexThibaut VARÈNE2020-07-08
| | | | | | | | | | The current code would return an error on ath79 when the SoC isn't known to the driver. Return the raw hex value instead, as happens with non supported targets. Also return the correctly incremented value from sc_tag_cpufreq_ath79_arraysize() Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
* generic: platform/mikrotik: match RouterBOOT nomenclatureThibaut VARÈNE2020-07-08
| | | | | | | RouterBOOT cpu frequency settings are letter-indexed. Follow the same logic for the sysfs interface. Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
* generic: routerboot sysfs: soft_config support for ath79 cpufreqThibaut VARÈNE2020-05-28
| | | | | | | | | | | | This commit introduces support for R/W access to the CPU frequency setting of routerboot on ath79 hardware. On unsupported hardware, the sysfs attribute will expose the raw tag value (read-only) to help with reverse engineering its meaning. Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com> Tested-by: Roger Pueyo Centelles <roger.pueyo@guifi.net> Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
* generic: routerboot sysfs: add support for soft_configThibaut VARÈNE2020-05-28
This driver exposes the data encoded in the "soft_config" flash segment of MikroTik RouterBOARDs devices. It presents the data in a sysfs folder named "soft_config" through a set of human-and-machine-parseable attributes. Changes can be discarded by writing 0 to the 'commit' attribute, or they can be committed to flash storage by writing 1. This driver does not reuse any of the existing code previously found in the "rbcfg" utility and makes this utility obsolete by providing a clean sysfs interface. Like "rbcfg", this driver requires 4K_SECTORS support since the flash partition in which these parameters are stored is typically 4KB in size. Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com> Tested-by: Roger Pueyo Centelles <roger.pueyo@guifi.net> Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>