mirror of
https://github.com/torvalds/linux.git
synced 2026-06-02 11:33:28 +02:00
mmc: dw_mmc: Remove sdio_id from struct dw_mci_slot
There is only one slot support, the sdio_id is used to indicate the SDIO slot and where is the irq located. So it's pointless now, remove it. Given sdio_id0 is only used by Rockchip to inform dwc core the irq is located with a offset, rename sdio_id0 to sdio_irq to reflect the fact. Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
parent
b8cc1e8066
commit
a151329009
|
|
@ -475,8 +475,8 @@ static int dw_mci_rockchip_init(struct dw_mci *host)
|
|||
struct dw_mci_rockchip_priv_data *priv = host->priv;
|
||||
int ret, i;
|
||||
|
||||
/* It is slot 8 on Rockchip SoCs */
|
||||
host->sdio_id0 = 8;
|
||||
/* SDIO irq is the 8th on Rockchip SoCs */
|
||||
host->sdio_irq = 8;
|
||||
|
||||
if (of_device_is_compatible(host->dev->of_node, "rockchip,rk3288-dw-mshc")) {
|
||||
host->bus_hz /= RK3288_CLKGEN_DIV;
|
||||
|
|
|
|||
|
|
@ -1603,9 +1603,9 @@ static void __dw_mci_enable_sdio_irq(struct dw_mci_slot *slot, int enb)
|
|||
/* Enable/disable Slot Specific SDIO interrupt */
|
||||
int_mask = mci_readl(host, INTMASK);
|
||||
if (enb)
|
||||
int_mask |= SDMMC_INT_SDIO(slot->sdio_id);
|
||||
int_mask |= SDMMC_INT_SDIO(host->sdio_irq);
|
||||
else
|
||||
int_mask &= ~SDMMC_INT_SDIO(slot->sdio_id);
|
||||
int_mask &= ~SDMMC_INT_SDIO(host->sdio_irq);
|
||||
mci_writel(host, INTMASK, int_mask);
|
||||
|
||||
spin_unlock_irqrestore(&host->irq_lock, irqflags);
|
||||
|
|
@ -2828,9 +2828,9 @@ static irqreturn_t dw_mci_interrupt(int irq, void *dev_id)
|
|||
dw_mci_handle_cd(host);
|
||||
}
|
||||
|
||||
if (pending & SDMMC_INT_SDIO(slot->sdio_id)) {
|
||||
if (pending & SDMMC_INT_SDIO(host->sdio_irq)) {
|
||||
mci_writel(host, RINTSTS,
|
||||
SDMMC_INT_SDIO(slot->sdio_id));
|
||||
SDMMC_INT_SDIO(host->sdio_irq));
|
||||
__dw_mci_enable_sdio_irq(slot, 0);
|
||||
sdio_signal_irq(host->mmc);
|
||||
}
|
||||
|
|
@ -2927,7 +2927,6 @@ static int dw_mci_init_slot(struct dw_mci *host)
|
|||
return -ENOMEM;
|
||||
|
||||
slot = mmc_priv(mmc);
|
||||
slot->sdio_id = host->sdio_id0;
|
||||
host->mmc = mmc;
|
||||
slot->host = host;
|
||||
host->slot = slot;
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@ struct dw_mci_dma_slave {
|
|||
* @quirks: Set of quirks that apply to specific versions of the IP.
|
||||
* @irq_flags: The flags to be passed to request_irq.
|
||||
* @irq: The irq value to be passed to request_irq.
|
||||
* @sdio_id0: Number of slot0 in the SDIO interrupt registers.
|
||||
* @sdio_irq: SDIO interrupt bit in interrupt registers.
|
||||
* @cmd11_timer: Timer for SD3.0 voltage switch over scheme.
|
||||
* @cto_timer: Timer for broken command transfer over scheme.
|
||||
* @dto_timer: Timer for broken data transfer over scheme.
|
||||
|
|
@ -233,7 +233,7 @@ struct dw_mci {
|
|||
unsigned long irq_flags; /* IRQ flags */
|
||||
int irq;
|
||||
|
||||
int sdio_id0;
|
||||
int sdio_irq;
|
||||
|
||||
struct timer_list cmd11_timer;
|
||||
struct timer_list cto_timer;
|
||||
|
|
@ -562,7 +562,6 @@ static inline int dw_mci_runtime_resume(struct device *device) { return -EOPNOTS
|
|||
* @clock: Clock rate configured by set_ios(). Protected by host->lock.
|
||||
* @__clk_old: The last clock value that was requested from core.
|
||||
* Keeping track of this helps us to avoid spamming the console.
|
||||
* @sdio_id: Number of this slot in the SDIO interrupt registers.
|
||||
*/
|
||||
struct dw_mci_slot {
|
||||
struct dw_mci *host;
|
||||
|
|
@ -572,8 +571,6 @@ struct dw_mci_slot {
|
|||
|
||||
unsigned int clock;
|
||||
unsigned int __clk_old;
|
||||
|
||||
int sdio_id;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user