APPLIED: [SRU][Bionic/raspi2][PATCH] mmc: bcm2835-sdhost: Fix warnings on arm64
Khaled Elmously
khalid.elmously at canonical.com
Fri Nov 22 01:59:24 UTC 2019
On 2019-11-19 12:14:23 , Juerg Haefliger wrote:
> From: Phil Elwell <phil at raspberrypi.org>
>
> BugLink: https://bugs.launchpad.net/bugs/1847432
>
> Signed-off-by: Phil Elwell <phil at raspberrypi.org>
> (cherry picked from commit 328c7a754fde7f92f62062982a543ea187d7f452 rpi-4.19.y)
> Signed-off-by: Juerg Haefliger <juergh at canonical.com>
> ---
> drivers/mmc/host/bcm2835-sdhost.c | 56 +++++++++++++++----------------
> 1 file changed, 28 insertions(+), 28 deletions(-)
>
> diff --git a/drivers/mmc/host/bcm2835-sdhost.c b/drivers/mmc/host/bcm2835-sdhost.c
> index 34ae2be3647f..946cf3567675 100644
> --- a/drivers/mmc/host/bcm2835-sdhost.c
> +++ b/drivers/mmc/host/bcm2835-sdhost.c
> @@ -247,7 +247,7 @@ static void log_init(struct device *dev, u32 bus_to_phys)
> GFP_KERNEL);
> if (sdhost_log_buf) {
> pr_info("sdhost: log_buf @ %p (%x)\n",
> - sdhost_log_buf, sdhost_log_addr);
> + sdhost_log_buf, (u32)sdhost_log_addr);
> timer_base = ioremap_nocache(bus_to_phys + 0x7e003000, SZ_4K);
> if (!timer_base)
> pr_err("sdhost: failed to remap timer\n");
> @@ -301,7 +301,7 @@ static void log_dump(void)
> }
> }
>
> -#define log_event(event, param1, param2) log_event_impl(event, param1, param2)
> +#define log_event(event, param1, param2) log_event_impl(event, (u32)(uintptr_t)param1, (u32)(uintptr_t)param2)
>
> #else
>
> @@ -527,7 +527,7 @@ static void bcm2835_sdhost_dma_complete(void *param)
> unsigned long flags;
>
> spin_lock_irqsave(&host->lock, flags);
> - log_event("DMA<", (u32)host->data, bcm2835_sdhost_read(host, SDHSTS));
> + log_event("DMA<", host->data, bcm2835_sdhost_read(host, SDHSTS));
> log_event("DMA ", bcm2835_sdhost_read(host, SDCMD),
> bcm2835_sdhost_read(host, SDEDM));
>
> @@ -559,7 +559,7 @@ static void bcm2835_sdhost_dma_complete(void *param)
>
> bcm2835_sdhost_finish_data(host);
>
> - log_event("DMA>", (u32)host->data, 0);
> + log_event("DMA>", host->data, 0);
> spin_unlock_irqrestore(&host->lock, flags);
> }
>
> @@ -748,7 +748,7 @@ static void bcm2835_sdhost_transfer_pio(struct bcm2835_host *host)
> u32 sdhsts;
> bool is_read;
> BUG_ON(!host->data);
> - log_event("XFP<", (u32)host->data, host->blocks);
> + log_event("XFP<", host->data, host->blocks);
>
> is_read = (host->data->flags & MMC_DATA_READ) != 0;
> if (is_read)
> @@ -773,7 +773,7 @@ static void bcm2835_sdhost_transfer_pio(struct bcm2835_host *host)
> sdhsts);
> host->data->error = -ETIMEDOUT;
> }
> - log_event("XFP>", (u32)host->data, host->blocks);
> + log_event("XFP>", host->data, host->blocks);
> }
>
> static void bcm2835_sdhost_prepare_dma(struct bcm2835_host *host,
> @@ -783,7 +783,7 @@ static void bcm2835_sdhost_prepare_dma(struct bcm2835_host *host,
> struct dma_async_tx_descriptor *desc = NULL;
> struct dma_chan *dma_chan;
>
> - log_event("PRD<", (u32)data, 0);
> + log_event("PRD<", data, 0);
> pr_debug("bcm2835_sdhost_prepare_dma()\n");
>
> dma_chan = host->dma_chan_rxtx;
> @@ -794,7 +794,7 @@ static void bcm2835_sdhost_prepare_dma(struct bcm2835_host *host,
> dir_data = DMA_TO_DEVICE;
> dir_slave = DMA_MEM_TO_DEV;
> }
> - log_event("PRD1", (u32)dma_chan, 0);
> + log_event("PRD1", dma_chan, 0);
>
> BUG_ON(!dma_chan->device);
> BUG_ON(!dma_chan->device->dev);
> @@ -841,7 +841,7 @@ static void bcm2835_sdhost_prepare_dma(struct bcm2835_host *host,
> desc = dmaengine_prep_slave_sg(dma_chan, data->sg,
> len, dir_slave,
> DMA_PREP_INTERRUPT | DMA_CTRL_ACK);
> - log_event("PRD3", (u32)desc, 0);
> + log_event("PRD3", desc, 0);
>
> if (desc) {
> desc->callback = bcm2835_sdhost_dma_complete;
> @@ -850,12 +850,12 @@ static void bcm2835_sdhost_prepare_dma(struct bcm2835_host *host,
> host->dma_chan = dma_chan;
> host->dma_dir = dir_data;
> }
> - log_event("PDM>", (u32)data, 0);
> + log_event("PDM>", data, 0);
> }
>
> static void bcm2835_sdhost_start_dma(struct bcm2835_host *host)
> {
> - log_event("SDMA", (u32)host->data, (u32)host->dma_chan);
> + log_event("SDMA", host->data, host->dma_chan);
> dmaengine_submit(host->dma_desc);
> dma_async_issue_pending(host->dma_chan);
> }
> @@ -1079,7 +1079,7 @@ static void bcm2835_sdhost_finish_data(struct bcm2835_host *host)
> data = host->data;
> BUG_ON(!data);
>
> - log_event("FDA<", (u32)host->mrq, (u32)host->cmd);
> + log_event("FDA<", host->mrq, host->cmd);
> pr_debug("finish_data(error %d, stop %d, sbc %d)\n",
> data->error, data->stop ? 1 : 0,
> host->mrq->sbc ? 1 : 0);
> @@ -1102,7 +1102,7 @@ static void bcm2835_sdhost_finish_data(struct bcm2835_host *host)
> }
> else
> bcm2835_sdhost_transfer_complete(host);
> - log_event("FDA>", (u32)host->mrq, (u32)host->cmd);
> + log_event("FDA>", host->mrq, host->cmd);
> }
>
> static void bcm2835_sdhost_transfer_complete(struct bcm2835_host *host)
> @@ -1116,7 +1116,7 @@ static void bcm2835_sdhost_transfer_complete(struct bcm2835_host *host)
> data = host->data;
> host->data = NULL;
>
> - log_event("TCM<", (u32)data, data->error);
> + log_event("TCM<", data, data->error);
> pr_debug("transfer_complete(error %d, stop %d)\n",
> data->error, data->stop ? 1 : 0);
>
> @@ -1138,7 +1138,7 @@ static void bcm2835_sdhost_transfer_complete(struct bcm2835_host *host)
> bcm2835_sdhost_wait_transfer_complete(host);
> tasklet_schedule(&host->finish_tasklet);
> }
> - log_event("TCM>", (u32)data, 0);
> + log_event("TCM>", data, 0);
> }
>
> /* If irq_flags is valid, the caller is in a thread context and is allowed
> @@ -1153,7 +1153,7 @@ static void bcm2835_sdhost_finish_command(struct bcm2835_host *host,
> int timediff = 0;
> #endif
>
> - log_event("FCM<", (u32)host->mrq, (u32)host->cmd);
> + log_event("FCM<", host->mrq, host->cmd);
> pr_debug("finish_command(%x)\n", bcm2835_sdhost_read(host, SDCMD));
>
> BUG_ON(!host->cmd || !host->mrq);
> @@ -1301,7 +1301,7 @@ static void bcm2835_sdhost_finish_command(struct bcm2835_host *host,
> else if (host->data_complete)
> bcm2835_sdhost_transfer_complete(host);
> }
> - log_event("FCM>", (u32)host->mrq, (u32)host->cmd);
> + log_event("FCM>", host->mrq, host->cmd);
> }
>
> static void bcm2835_sdhost_timeout(struct timer_list *t)
> @@ -1338,7 +1338,7 @@ static void bcm2835_sdhost_timeout(struct timer_list *t)
>
> static void bcm2835_sdhost_busy_irq(struct bcm2835_host *host, u32 intmask)
> {
> - log_event("IRQB", (u32)host->cmd, intmask);
> + log_event("IRQB", host->cmd, intmask);
> if (!host->cmd) {
> pr_err("%s: got command busy interrupt 0x%08x even "
> "though no command operation was in progress.\n",
> @@ -1391,7 +1391,7 @@ static void bcm2835_sdhost_data_irq(struct bcm2835_host *host, u32 intmask)
> data/space available FIFO status bits. It is therefore not
> an error to get here when there is no data transfer in
> progress. */
> - log_event("IRQD", (u32)host->data, intmask);
> + log_event("IRQD", host->data, intmask);
> if (!host->data)
> return;
>
> @@ -1428,7 +1428,7 @@ static void bcm2835_sdhost_data_irq(struct bcm2835_host *host, u32 intmask)
>
> static void bcm2835_sdhost_block_irq(struct bcm2835_host *host, u32 intmask)
> {
> - log_event("IRQK", (u32)host->data, intmask);
> + log_event("IRQK", host->data, intmask);
> if (!host->data) {
> pr_err("%s: got block interrupt 0x%08x even "
> "though no data operation was in progress.\n",
> @@ -1686,10 +1686,10 @@ static void bcm2835_sdhost_request(struct mmc_host *mmc, struct mmc_request *mrq
> edm = bcm2835_sdhost_read(host, SDEDM);
> fsm = edm & SDEDM_FSM_MASK;
>
> - log_event("REQ<", (u32)mrq, edm);
> + log_event("REQ<", mrq, edm);
> if ((fsm != SDEDM_FSM_IDENTMODE) &&
> (fsm != SDEDM_FSM_DATAMODE)) {
> - log_event("REQ!", (u32)mrq, edm);
> + log_event("REQ!", mrq, edm);
> if (host->debug) {
> pr_warn("%s: previous command (%d) not complete (EDM %x)\n",
> mmc_hostname(host->mmc),
> @@ -1721,11 +1721,11 @@ static void bcm2835_sdhost_request(struct mmc_host *mmc, struct mmc_request *mrq
> bcm2835_sdhost_finish_command(host, &flags);
> }
>
> - log_event("CMD ", (u32)mrq->cmd->opcode,
> + log_event("CMD ", mrq->cmd->opcode,
> mrq->data ? (u32)mrq->data->blksz : 0);
> mmiowb();
>
> - log_event("REQ>", (u32)mrq, 0);
> + log_event("REQ>", mrq, 0);
> spin_unlock_irqrestore(&host->lock, flags);
> }
>
> @@ -1781,7 +1781,7 @@ static void bcm2835_sdhost_cmd_wait_work(struct work_struct *work)
>
> spin_lock_irqsave(&host->lock, flags);
>
> - log_event("CWK<", (u32)host->cmd, (u32)host->mrq);
> + log_event("CWK<", host->cmd, host->mrq);
>
> /*
> * If this tasklet gets rescheduled while running, it will
> @@ -1796,7 +1796,7 @@ static void bcm2835_sdhost_cmd_wait_work(struct work_struct *work)
>
> mmiowb();
>
> - log_event("CWK>", (u32)host->cmd, 0);
> + log_event("CWK>", host->cmd, 0);
>
> spin_unlock_irqrestore(&host->lock, flags);
> }
> @@ -1812,7 +1812,7 @@ static void bcm2835_sdhost_tasklet_finish(unsigned long param)
>
> spin_lock_irqsave(&host->lock, flags);
>
> - log_event("TSK<", (u32)host->mrq, 0);
> + log_event("TSK<", host->mrq, 0);
> /*
> * If this tasklet gets rescheduled while running, it will
> * be run again afterwards but without any active request.
> @@ -1880,7 +1880,7 @@ static void bcm2835_sdhost_tasklet_finish(unsigned long param)
> }
>
> mmc_request_done(host->mmc, mrq);
> - log_event("TSK>", (u32)mrq, 0);
> + log_event("TSK>", mrq, 0);
> }
>
> int bcm2835_sdhost_add_host(struct bcm2835_host *host)
> --
> 2.20.1
>
>
> --
> kernel-team mailing list
> kernel-team at lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team
More information about the kernel-team
mailing list