[riot-notifications] [RIOT-OS/RIOT] periph_flashpage: Make pagewise API optional (#15412)

Koen Zandberg notifications at github.com
Mon Nov 9 17:02:52 CET 2020


### Contribution description

flashpage currently requires pagewise implementation with an optional
extension for per block writes (flashpage_raw). Most implementations
with flashpage_raw implement the pagewise access via the flashpage_raw
functions. This commit makes the flashpage raw the main access method
and adds an extension feature for the pagewise access.
    
The functions and defines are renamed to reflect this. The API is also
extended with a dedicated function for erasing a sector.


### Testing procedure

Preferably every CPU family should be tested with `tests/periph_flashpage`
 - [ ] cc2538
 - [ ] efm32
 - [ ] kinetis
 - [ ] nrf5x
 - [ ] msp430
 - [ ] sam0
 - [ ] stm32

### Issues/PRs references

Depends on #15410 
You can view, comment on, or merge this pull request online at:

  https://github.com/RIOT-OS/RIOT/pull/15412

-- Commit Summary --

  * stm32/flashpage: use void pointer for flash address
  * flashpage: Make pagewise API optional
  * tests/periph_flashpage: Adapt to optional flashpage_pagewise
  * cc2538: Adapt to flashpage/flashpage_pagewise API
  * efm32: Adapt to flashpage/flashpage_pagewise API
  * kinetis: Adapt to flashpage/flashpage_pagewise API
  * nrf5x: Adapt to flashpage/flashpage_pagewise API
  * msp430: Adapt to flashpage/flashpage_pagewise API
  * sam0: Adapt to flashpage/flashpage_pagewise API
  * stm32: Adapt to flashpage/flashpage_pagewise API
  * mtd_flashpage: only depend on periph_flashpage
  * riotboot: only depend on periph_flashpage

-- File Changes --

    M cpu/cc2538/Kconfig (2)
    M cpu/cc2538/Makefile.features (2)
    M cpu/cc2538/include/cpu_conf.h (4)
    M cpu/cc2538/periph/flashpage.c (25)
    M cpu/efm32/Kconfig (2)
    M cpu/efm32/Makefile.features (2)
    M cpu/efm32/include/cpu_conf.h (4)
    M cpu/efm32/periph/flashpage.c (35)
    M cpu/kinetis/Kconfig (4)
    M cpu/kinetis/Makefile.features (2)
    M cpu/kinetis/include/cpu_conf_kinetis_k.h (8)
    M cpu/kinetis/include/cpu_conf_kinetis_w.h (6)
    M cpu/kinetis/periph/flashpage.c (49)
    M cpu/msp430_common/Kconfig (2)
    M cpu/msp430_common/Makefile.features (2)
    M cpu/msp430_common/include/cpu_conf.h (4)
    M cpu/msp430_common/periph/flashpage.c (31)
    M cpu/nrf51/include/cpu_conf.h (4)
    M cpu/nrf52/include/cpu_conf.h (4)
    M cpu/nrf5x_common/Kconfig (2)
    M cpu/nrf5x_common/Makefile.features (2)
    M cpu/nrf5x_common/periph/flashpage.c (35)
    M cpu/sam0_common/Kconfig (2)
    M cpu/sam0_common/Makefile.features (2)
    M cpu/sam0_common/include/cpu_conf.h (4)
    M cpu/sam0_common/periph/flashpage.c (26)
    M cpu/stm32/Makefile.features (2)
    M cpu/stm32/include/cpu_conf.h (10)
    M cpu/stm32/kconfigs/f0/Kconfig (2)
    M cpu/stm32/kconfigs/f1/Kconfig (2)
    M cpu/stm32/kconfigs/f3/Kconfig (2)
    M cpu/stm32/kconfigs/g0/Kconfig (2)
    M cpu/stm32/kconfigs/g4/Kconfig (2)
    M cpu/stm32/kconfigs/l0/Kconfig (2)
    M cpu/stm32/kconfigs/l1/Kconfig (2)
    M cpu/stm32/kconfigs/l4/Kconfig (2)
    M cpu/stm32/kconfigs/l5/Kconfig (2)
    M cpu/stm32/kconfigs/wb/Kconfig (2)
    M cpu/stm32/periph/flashpage.c (50)
    M drivers/include/periph/flashpage.h (39)
    M drivers/mtd_flashpage/Makefile.dep (1)
    M drivers/mtd_flashpage/mtd_flashpage.c (12)
    M drivers/periph_common/Kconfig.flashpage (12)
    M drivers/periph_common/flashpage.c (2)
    M kconfigs/Kconfig.features (4)
    M sys/Makefile.dep (1)
    M sys/include/riotboot/flashwrite.h (12)
    M tests/periph_flashpage/Kconfig (2)
    M tests/periph_flashpage/Makefile (2)
    M tests/periph_flashpage/main.c (42)
    M tests/periph_flashpage/tests/01-run.py (12)

-- Patch Links --

https://github.com/RIOT-OS/RIOT/pull/15412.patch
https://github.com/RIOT-OS/RIOT/pull/15412.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/RIOT-OS/RIOT/pull/15412
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.riot-os.org/pipermail/notifications/attachments/20201109/99a971a3/attachment-0001.htm>


More information about the notifications mailing list