Page MenuHomeFreeBSD

mmc: implement mmc-pwrseq
AbandonedPublic

Authored by bz on Oct 19 2020, 9:37 PM.
Tags
None
Referenced Files
F96525613: D26872.id78473.diff
Wed, Sep 25, 8:44 AM
F96525611: D26872.id.diff
Wed, Sep 25, 8:44 AM
F96524672: D26872.diff
Wed, Sep 25, 8:34 AM
Unknown Object (File)
Sun, Sep 22, 4:39 AM
Unknown Object (File)
Sun, Sep 15, 6:11 PM
Unknown Object (File)
Thu, Sep 5, 12:03 PM
Unknown Object (File)
Mon, Sep 2, 11:42 PM
Unknown Object (File)
Aug 16 2024, 1:07 PM
Subscribers

Details

Summary

Implement a rudimentary mmc-pwrseq module which allows us to call
things on mmc power_off/up/on.

Implement a sample calling procedure for the one case where I am
expecting to need it: dwmmc/mmccam.

There's a couple of things to sort out still:

  • Locking the pwrseq tailq if it stay this way.
  • I am still unsure if we can make this a bus and link this up properly with a consumer which is probed rather than doing this on OF nodes. Help and suggestions welcome.
  • Given we use fdt_helpers we need to hook this into drivers and not common code. This, at least for mmccam, brings another challenge as the "simple" consumer working on the rk808 clock gets called with non-sleepable locks but rk808 uses i2c and locks can sleep.
  • Cleanup of fdt_helpers amongst various consumers is a bit .. to be improved. Start drawing up a mmc_fdt_free() function, which will do parts of the job in the future, so other drivers (aw_mmc.c, bcm2835_sdhci.c, ???) may need fixing as well.

I am putting this up so we can work this out.

Also add 'cap-sdio-irq' which (like its counterparts) is not used
yet and should probably be committed on its own.

Diff Detail

Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 34268
Build 31411: arc lint + arc unit

Event Timeline

bz requested review of this revision.Oct 19 2020, 9:37 PM
bz created this revision.

Overcome by events; manu has committed a more sophisticated version.