mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-12 07:37:31 -04:00
drivers: irqchip: qcom-pdc: remove SPI config in SCM
SPI config registers for newer SoCs need not be done through secure firmware. Remove support for dependent SCM APIs. Change-Id: Ic67c808b1d74033a4f5e480f7af1f9d317a60499 Signed-off-by: Lina Iyer <ilina@codeaurora.org>
This commit is contained in:
parent
11b286fb73
commit
8b9e56781b
1 changed files with 6 additions and 26 deletions
|
|
@ -20,7 +20,6 @@
|
|||
#include <linux/slab.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
#include <linux/qcom_scm.h>
|
||||
#include <linux/ipc_logging.h>
|
||||
|
||||
#define PDC_MAX_IRQS 168
|
||||
|
|
@ -49,7 +48,6 @@ struct spi_cfg_regs {
|
|||
void __iomem *base;
|
||||
};
|
||||
resource_size_t size;
|
||||
bool scm_io;
|
||||
};
|
||||
|
||||
static DEFINE_RAW_SPINLOCK(pdc_lock);
|
||||
|
|
@ -145,27 +143,15 @@ static void qcom_pdc_gic_unmask(struct irq_data *d)
|
|||
static u32 __spi_pin_read(unsigned int pin)
|
||||
{
|
||||
void __iomem *cfg_reg = spi_cfg->base + pin * 4;
|
||||
u64 scm_cfg_reg = spi_cfg->start + pin * 4;
|
||||
|
||||
if (spi_cfg->scm_io) {
|
||||
unsigned int val;
|
||||
|
||||
qcom_scm_io_readl(scm_cfg_reg, &val);
|
||||
return val;
|
||||
} else {
|
||||
return readl(cfg_reg);
|
||||
}
|
||||
return readl_relaxed(cfg_reg);
|
||||
}
|
||||
|
||||
static void __spi_pin_write(unsigned int pin, unsigned int val)
|
||||
{
|
||||
void __iomem *cfg_reg = spi_cfg->base + pin * 4;
|
||||
u64 scm_cfg_reg = spi_cfg->start + pin * 4;
|
||||
|
||||
if (spi_cfg->scm_io)
|
||||
qcom_scm_io_writel(scm_cfg_reg, val);
|
||||
else
|
||||
writel(val, cfg_reg);
|
||||
writel_relaxed(val, cfg_reg);
|
||||
}
|
||||
|
||||
static int spi_configure_type(irq_hw_number_t hwirq, unsigned int type)
|
||||
|
|
@ -518,17 +504,11 @@ static int qcom_pdc_init(struct device_node *node, struct device_node *parent)
|
|||
ret = -ENOMEM;
|
||||
goto remove;
|
||||
}
|
||||
spi_cfg->scm_io = of_find_property(node,
|
||||
"qcom,scm-spi-cfg", NULL);
|
||||
spi_cfg->size = resource_size(&res);
|
||||
if (spi_cfg->scm_io) {
|
||||
spi_cfg->start = res.start;
|
||||
} else {
|
||||
spi_cfg->base = ioremap(res.start, spi_cfg->size);
|
||||
if (!spi_cfg->base) {
|
||||
ret = -ENOMEM;
|
||||
goto remove;
|
||||
}
|
||||
spi_cfg->base = ioremap(res.start, spi_cfg->size);
|
||||
if (!spi_cfg->base) {
|
||||
ret = -ENOMEM;
|
||||
goto remove;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue