mmc: sdhci: add card_event callback to sdhci
Subsystems (4)
PATCH v5 1/2 mmc: sdhci: add card_event callback to sdhci
Add a card_event callback to sdhci so that clients can provide their own card_event to be called when card_detect is triggered.
drivers/mmc/host/sdhci.c +4 -0
@@ -2046,6 +2046,10 @@ static void sdhci_card_event(struct mmc_host *mmc)struct sdhci_host *host =mmc_priv (mmc);unsigned long flags; +/* First check if client has provided their own card event */ +if (host->ops->card_event) + host->ops->card_event (host); +spin_lock_irqsave (&host->lock, flags);/* Check host->mrq first in case we are runtime suspended */
drivers/mmc/host/sdhci.h +1 -0
@@ -294,6 +294,7 @@ struct sdhci_ops {void (*platform_resume)(struct sdhci_host *host);void (*adma_workaround)(struct sdhci_host *host,u32 intmask);void (*platform_init)(struct sdhci_host *host); +void (*card_event)(struct sdhci_host *host); };#ifdef CONFIG_MMC_SDHCI_IO_ACCESSORS
Signature · 1 line
1.7.10.4
PATCH v5 2/2 ARM: mmc: bcm281xx SDHCI driver
Add SDHCI driver for the Broadcom 281xx SoCs.
Still missing:
- power managemement
Changes from V4:
- replace driver dt parsing with mmc_of_parse call
- replace driver cd, wp irq handler with mmc handler
- adding callback to sdhci to toggle necessary bit on cd detect
Changes from V3:
- switch mdelay to usleep_range
Changes from V2:
- Structure cleanups
- init space from sdhci_pltfm_init
- replace spinlock_irqsave with mutex on sd_card_emulate
- Reduce init_74_clocks delay and document it
Changes from V1:
- split DT into separate patch
- use gpio_is_valid instead of direct test
- switch pr_debug calls to dev_dbg
- use of_property_read_bool
arch/arm/configs/bcm_defconfig +7 -0
@@ -78,6 +78,13 @@ CONFIG_BACKLIGHT_LCD_SUPPORT=y CONFIG_LCD_CLASS_DEVICE=y CONFIG_BACKLIGHT_CLASS_DEVICE=y # CONFIG_USB_SUPPORT is not set +CONFIG_MMC=y +CONFIG_MMC_UNSAFE_RESUME=y +CONFIG_MMC_BLOCK_MINORS=32 +CONFIG_MMC_TEST=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMC_SDHCI_BCM_KONA=y CONFIG_NEW_LEDS=y CONFIG_LEDS_CLASS=y CONFIG_LEDS_TRIGGERS=y
drivers/mmc/host/Kconfig +11 -0
@@ -249,6 +249,17 @@ config MMC_SDHCI_S3C_DMA YMMV. +config MMC_SDHCI_BCM_KONA + tristate "SDHCI support on Broadcom KONA platform" + depends on ARCH_BCM + select MMC_SDHCI_PLTFM + help + This selects the Broadcom Kona Secure Digital Host Controller + Interface(SDHCI) support. + This is used in Broadcom mobile SoCs. + + If you have a controller with this interface, say Y or M here. + config MMC_SDHCI_BCM2835 tristate "SDHCI platform support for the BCM2835 SD/MMC Controller" depends on ARCH_BCM2835
drivers/mmc/host/Makefile +1 -0
@@ -60,6 +60,7 @@ obj-$(CONFIG_MMC_SDHCI_DOVE) += sdhci-dove.o obj-$(CONFIG_MMC_SDHCI_TEGRA) += sdhci-tegra.o obj-$(CONFIG_MMC_SDHCI_OF_ESDHC) += sdhci-of-esdhc.o obj-$(CONFIG_MMC_SDHCI_OF_HLWD) += sdhci-of-hlwd.o +obj-$(CONFIG_MMC_SDHCI_BCM_KONA) += sdhci-bcm-kona.o obj-$(CONFIG_MMC_SDHCI_BCM2835) += sdhci-bcm2835.o ifeq ($(CONFIG_CB710_DEBUG),y)
drivers/mmc/host/sdhci-bcm-kona.c new file +349 -0
349 lines not on this page · raw message
Signature · 1 line
1.7.10.4