mmc: core: use a more generic name for slot function types and fields
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>
This commit is contained in:
parent
7d17baa05d
commit
27410ee7e3
3 changed files with 20 additions and 7 deletions
|
@ -327,6 +327,8 @@ struct mmc_host *mmc_alloc_host(int extra, struct device *dev)
|
||||||
|
|
||||||
mmc_host_clk_init(host);
|
mmc_host_clk_init(host);
|
||||||
|
|
||||||
|
host->slot.cd_irq = -EINVAL;
|
||||||
|
|
||||||
spin_lock_init(&host->lock);
|
spin_lock_init(&host->lock);
|
||||||
init_waitqueue_head(&host->wq);
|
init_waitqueue_head(&host->wq);
|
||||||
INIT_DELAYED_WORK(&host->detect, mmc_rescan);
|
INIT_DELAYED_WORK(&host->detect, mmc_rescan);
|
||||||
|
|
|
@ -56,8 +56,8 @@ int mmc_gpio_request_cd(struct mmc_host *host, unsigned int gpio)
|
||||||
goto eirqreq;
|
goto eirqreq;
|
||||||
|
|
||||||
ctx->cd_gpio = gpio;
|
ctx->cd_gpio = gpio;
|
||||||
host->hotplug.irq = irq;
|
host->slot.cd_irq = irq;
|
||||||
host->hotplug.handler_priv = ctx;
|
host->slot.handler_priv = ctx;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
@ -71,12 +71,12 @@ EXPORT_SYMBOL(mmc_gpio_request_cd);
|
||||||
|
|
||||||
void mmc_gpio_free_cd(struct mmc_host *host)
|
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)
|
if (!ctx)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
free_irq(host->hotplug.irq, host);
|
free_irq(host->slot.cd_irq, host);
|
||||||
gpio_free(ctx->cd_gpio);
|
gpio_free(ctx->cd_gpio);
|
||||||
kfree(ctx);
|
kfree(ctx);
|
||||||
}
|
}
|
||||||
|
|
|
@ -150,8 +150,19 @@ struct mmc_async_req {
|
||||||
int (*err_check) (struct mmc_card *, 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;
|
void *handler_priv;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -297,7 +308,7 @@ struct mmc_host {
|
||||||
|
|
||||||
struct delayed_work detect;
|
struct delayed_work detect;
|
||||||
int detect_change; /* card detect flag */
|
int detect_change; /* card detect flag */
|
||||||
struct mmc_hotplug hotplug;
|
struct mmc_slot slot;
|
||||||
|
|
||||||
const struct mmc_bus_ops *bus_ops; /* current bus driver */
|
const struct mmc_bus_ops *bus_ops; /* current bus driver */
|
||||||
unsigned int bus_refs; /* reference counter */
|
unsigned int bus_refs; /* reference counter */
|
||||||
|
|
Loading…
Add table
Reference in a new issue