mmc: core: use a more generic name for slot function types and fields
authorGuennadi Liakhovetski <g.liakhovetski@gmx.de>
Tue, 1 May 2012 13:40:15 +0000 (15:40 +0200)
committerChris Ball <cjb@laptop.org>
Sat, 21 Jul 2012 04:02:16 +0000 (00:02 -0400)
struct mmc_host::hotplug is becoming a generic hook for slot functions.
Rename it accordingly.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Chris Ball <cjb@laptop.org>
drivers/mmc/core/host.c
drivers/mmc/core/slot-gpio.c
include/linux/mmc/host.h

index 91c84c7..b8c5290 100644 (file)
@@ -327,6 +327,8 @@ struct mmc_host *mmc_alloc_host(int extra, struct device *dev)
 
        mmc_host_clk_init(host);
 
+       host->slot.cd_irq = -EINVAL;
+
        spin_lock_init(&host->lock);
        init_waitqueue_head(&host->wq);
        INIT_DELAYED_WORK(&host->detect, mmc_rescan);
index 9796710..468e5a0 100644 (file)
@@ -56,8 +56,8 @@ int mmc_gpio_request_cd(struct mmc_host *host, unsigned int gpio)
                goto eirqreq;
 
        ctx->cd_gpio = gpio;
-       host->hotplug.irq = irq;
-       host->hotplug.handler_priv = ctx;
+       host->slot.cd_irq = irq;
+       host->slot.handler_priv = ctx;
 
        return 0;
 
@@ -71,12 +71,12 @@ EXPORT_SYMBOL(mmc_gpio_request_cd);
 
 void mmc_gpio_free_cd(struct mmc_host *host)
 {
-       struct mmc_gpio *ctx = host->hotplug.handler_priv;
+       struct mmc_gpio *ctx = host->slot.handler_priv;
 
        if (!ctx)
                return;
 
-       free_irq(host->hotplug.irq, host);
+       free_irq(host->slot.cd_irq, host);
        gpio_free(ctx->cd_gpio);
        kfree(ctx);
 }
index 9deb725..90b6a38 100644 (file)
@@ -150,8 +150,19 @@ struct mmc_async_req {
        int (*err_check) (struct mmc_card *, struct mmc_async_req *);
 };
 
-struct mmc_hotplug {
-       unsigned int irq;
+/**
+ * struct mmc_slot - MMC slot functions
+ *
+ * @cd_irq:            MMC/SD-card slot hotplug detection IRQ or -EINVAL
+ * @handler_priv:      MMC/SD-card slot context
+ *
+ * Some MMC/SD host controllers implement slot-functions like card and
+ * write-protect detection natively. However, a large number of controllers
+ * leave these functions to the CPU. This struct provides a hook to attach
+ * such slot-function drivers.
+ */
+struct mmc_slot {
+       int cd_irq;
        void *handler_priv;
 };
 
@@ -297,7 +308,7 @@ struct mmc_host {
 
        struct delayed_work     detect;
        int                     detect_change;  /* card detect flag */
-       struct mmc_hotplug      hotplug;
+       struct mmc_slot         slot;
 
        const struct mmc_bus_ops *bus_ops;      /* current bus driver */
        unsigned int            bus_refs;       /* reference counter */