mirror of
git://git.yoctoproject.org/linux-yocto.git
synced 2025-07-06 05:45:29 +02:00
spi: synquacer: switch to use modern name
Change legacy name master to modern name host or controller. No functional changed. Signed-off-by: Yang Yingliang <yangyingliang@huawei.com> Link: https://msgid.link/r/20231128093031.3707034-10-yangyingliang@huawei.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
90bbb007a0
commit
3524d1b727
|
@ -225,11 +225,11 @@ static int write_fifo(struct synquacer_spi *sspi)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int synquacer_spi_config(struct spi_master *master,
|
static int synquacer_spi_config(struct spi_controller *host,
|
||||||
struct spi_device *spi,
|
struct spi_device *spi,
|
||||||
struct spi_transfer *xfer)
|
struct spi_transfer *xfer)
|
||||||
{
|
{
|
||||||
struct synquacer_spi *sspi = spi_master_get_devdata(master);
|
struct synquacer_spi *sspi = spi_controller_get_devdata(host);
|
||||||
unsigned int speed, mode, bpw, cs, bus_width, transfer_mode;
|
unsigned int speed, mode, bpw, cs, bus_width, transfer_mode;
|
||||||
u32 rate, val, div;
|
u32 rate, val, div;
|
||||||
|
|
||||||
|
@ -263,7 +263,7 @@ static int synquacer_spi_config(struct spi_master *master,
|
||||||
}
|
}
|
||||||
|
|
||||||
sspi->transfer_mode = transfer_mode;
|
sspi->transfer_mode = transfer_mode;
|
||||||
rate = master->max_speed_hz;
|
rate = host->max_speed_hz;
|
||||||
|
|
||||||
div = DIV_ROUND_UP(rate, speed);
|
div = DIV_ROUND_UP(rate, speed);
|
||||||
if (div > 254) {
|
if (div > 254) {
|
||||||
|
@ -350,11 +350,11 @@ static int synquacer_spi_config(struct spi_master *master,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int synquacer_spi_transfer_one(struct spi_master *master,
|
static int synquacer_spi_transfer_one(struct spi_controller *host,
|
||||||
struct spi_device *spi,
|
struct spi_device *spi,
|
||||||
struct spi_transfer *xfer)
|
struct spi_transfer *xfer)
|
||||||
{
|
{
|
||||||
struct synquacer_spi *sspi = spi_master_get_devdata(master);
|
struct synquacer_spi *sspi = spi_controller_get_devdata(host);
|
||||||
int ret;
|
int ret;
|
||||||
int status = 0;
|
int status = 0;
|
||||||
u32 words;
|
u32 words;
|
||||||
|
@ -378,7 +378,7 @@ static int synquacer_spi_transfer_one(struct spi_master *master,
|
||||||
if (bpw == 8 && !(xfer->len % 4) && !(spi->mode & SPI_LSB_FIRST))
|
if (bpw == 8 && !(xfer->len % 4) && !(spi->mode & SPI_LSB_FIRST))
|
||||||
xfer->bits_per_word = 32;
|
xfer->bits_per_word = 32;
|
||||||
|
|
||||||
ret = synquacer_spi_config(master, spi, xfer);
|
ret = synquacer_spi_config(host, spi, xfer);
|
||||||
|
|
||||||
/* restore */
|
/* restore */
|
||||||
xfer->bits_per_word = bpw;
|
xfer->bits_per_word = bpw;
|
||||||
|
@ -482,7 +482,7 @@ static int synquacer_spi_transfer_one(struct spi_master *master,
|
||||||
|
|
||||||
static void synquacer_spi_set_cs(struct spi_device *spi, bool enable)
|
static void synquacer_spi_set_cs(struct spi_device *spi, bool enable)
|
||||||
{
|
{
|
||||||
struct synquacer_spi *sspi = spi_master_get_devdata(spi->master);
|
struct synquacer_spi *sspi = spi_controller_get_devdata(spi->controller);
|
||||||
u32 val;
|
u32 val;
|
||||||
|
|
||||||
val = readl(sspi->regs + SYNQUACER_HSSPI_REG_DMSTART);
|
val = readl(sspi->regs + SYNQUACER_HSSPI_REG_DMSTART);
|
||||||
|
@ -517,11 +517,11 @@ static int synquacer_spi_wait_status_update(struct synquacer_spi *sspi,
|
||||||
return -EBUSY;
|
return -EBUSY;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int synquacer_spi_enable(struct spi_master *master)
|
static int synquacer_spi_enable(struct spi_controller *host)
|
||||||
{
|
{
|
||||||
u32 val;
|
u32 val;
|
||||||
int status;
|
int status;
|
||||||
struct synquacer_spi *sspi = spi_master_get_devdata(master);
|
struct synquacer_spi *sspi = spi_controller_get_devdata(host);
|
||||||
|
|
||||||
/* Disable module */
|
/* Disable module */
|
||||||
writel(0, sspi->regs + SYNQUACER_HSSPI_REG_MCTRL);
|
writel(0, sspi->regs + SYNQUACER_HSSPI_REG_MCTRL);
|
||||||
|
@ -601,18 +601,18 @@ static irqreturn_t sq_spi_tx_handler(int irq, void *priv)
|
||||||
static int synquacer_spi_probe(struct platform_device *pdev)
|
static int synquacer_spi_probe(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct device_node *np = pdev->dev.of_node;
|
struct device_node *np = pdev->dev.of_node;
|
||||||
struct spi_master *master;
|
struct spi_controller *host;
|
||||||
struct synquacer_spi *sspi;
|
struct synquacer_spi *sspi;
|
||||||
int ret;
|
int ret;
|
||||||
int rx_irq, tx_irq;
|
int rx_irq, tx_irq;
|
||||||
|
|
||||||
master = spi_alloc_master(&pdev->dev, sizeof(*sspi));
|
host = spi_alloc_host(&pdev->dev, sizeof(*sspi));
|
||||||
if (!master)
|
if (!host)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
platform_set_drvdata(pdev, master);
|
platform_set_drvdata(pdev, host);
|
||||||
|
|
||||||
sspi = spi_master_get_devdata(master);
|
sspi = spi_controller_get_devdata(host);
|
||||||
sspi->dev = &pdev->dev;
|
sspi->dev = &pdev->dev;
|
||||||
|
|
||||||
init_completion(&sspi->transfer_done);
|
init_completion(&sspi->transfer_done);
|
||||||
|
@ -625,7 +625,7 @@ static int synquacer_spi_probe(struct platform_device *pdev)
|
||||||
|
|
||||||
sspi->clk_src_type = SYNQUACER_HSSPI_CLOCK_SRC_IHCLK; /* Default */
|
sspi->clk_src_type = SYNQUACER_HSSPI_CLOCK_SRC_IHCLK; /* Default */
|
||||||
device_property_read_u32(&pdev->dev, "socionext,ihclk-rate",
|
device_property_read_u32(&pdev->dev, "socionext,ihclk-rate",
|
||||||
&master->max_speed_hz); /* for ACPI */
|
&host->max_speed_hz); /* for ACPI */
|
||||||
|
|
||||||
if (dev_of_node(&pdev->dev)) {
|
if (dev_of_node(&pdev->dev)) {
|
||||||
if (device_property_match_string(&pdev->dev,
|
if (device_property_match_string(&pdev->dev,
|
||||||
|
@ -655,21 +655,21 @@ static int synquacer_spi_probe(struct platform_device *pdev)
|
||||||
goto put_spi;
|
goto put_spi;
|
||||||
}
|
}
|
||||||
|
|
||||||
master->max_speed_hz = clk_get_rate(sspi->clk);
|
host->max_speed_hz = clk_get_rate(sspi->clk);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!master->max_speed_hz) {
|
if (!host->max_speed_hz) {
|
||||||
dev_err(&pdev->dev, "missing clock source\n");
|
dev_err(&pdev->dev, "missing clock source\n");
|
||||||
ret = -EINVAL;
|
ret = -EINVAL;
|
||||||
goto disable_clk;
|
goto disable_clk;
|
||||||
}
|
}
|
||||||
master->min_speed_hz = master->max_speed_hz / 254;
|
host->min_speed_hz = host->max_speed_hz / 254;
|
||||||
|
|
||||||
sspi->aces = device_property_read_bool(&pdev->dev,
|
sspi->aces = device_property_read_bool(&pdev->dev,
|
||||||
"socionext,set-aces");
|
"socionext,set-aces");
|
||||||
sspi->rtm = device_property_read_bool(&pdev->dev, "socionext,use-rtm");
|
sspi->rtm = device_property_read_bool(&pdev->dev, "socionext,use-rtm");
|
||||||
|
|
||||||
master->num_chipselect = SYNQUACER_HSSPI_NUM_CHIP_SELECT;
|
host->num_chipselect = SYNQUACER_HSSPI_NUM_CHIP_SELECT;
|
||||||
|
|
||||||
rx_irq = platform_get_irq(pdev, 0);
|
rx_irq = platform_get_irq(pdev, 0);
|
||||||
if (rx_irq <= 0) {
|
if (rx_irq <= 0) {
|
||||||
|
@ -699,27 +699,27 @@ static int synquacer_spi_probe(struct platform_device *pdev)
|
||||||
goto disable_clk;
|
goto disable_clk;
|
||||||
}
|
}
|
||||||
|
|
||||||
master->dev.of_node = np;
|
host->dev.of_node = np;
|
||||||
master->dev.fwnode = pdev->dev.fwnode;
|
host->dev.fwnode = pdev->dev.fwnode;
|
||||||
master->auto_runtime_pm = true;
|
host->auto_runtime_pm = true;
|
||||||
master->bus_num = pdev->id;
|
host->bus_num = pdev->id;
|
||||||
|
|
||||||
master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_TX_DUAL | SPI_RX_DUAL |
|
host->mode_bits = SPI_CPOL | SPI_CPHA | SPI_TX_DUAL | SPI_RX_DUAL |
|
||||||
SPI_TX_QUAD | SPI_RX_QUAD;
|
SPI_TX_QUAD | SPI_RX_QUAD;
|
||||||
master->bits_per_word_mask = SPI_BPW_MASK(32) | SPI_BPW_MASK(24) |
|
host->bits_per_word_mask = SPI_BPW_MASK(32) | SPI_BPW_MASK(24) |
|
||||||
SPI_BPW_MASK(16) | SPI_BPW_MASK(8);
|
SPI_BPW_MASK(16) | SPI_BPW_MASK(8);
|
||||||
|
|
||||||
master->set_cs = synquacer_spi_set_cs;
|
host->set_cs = synquacer_spi_set_cs;
|
||||||
master->transfer_one = synquacer_spi_transfer_one;
|
host->transfer_one = synquacer_spi_transfer_one;
|
||||||
|
|
||||||
ret = synquacer_spi_enable(master);
|
ret = synquacer_spi_enable(host);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto disable_clk;
|
goto disable_clk;
|
||||||
|
|
||||||
pm_runtime_set_active(sspi->dev);
|
pm_runtime_set_active(sspi->dev);
|
||||||
pm_runtime_enable(sspi->dev);
|
pm_runtime_enable(sspi->dev);
|
||||||
|
|
||||||
ret = devm_spi_register_master(sspi->dev, master);
|
ret = devm_spi_register_controller(sspi->dev, host);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto disable_pm;
|
goto disable_pm;
|
||||||
|
|
||||||
|
@ -730,15 +730,15 @@ disable_pm:
|
||||||
disable_clk:
|
disable_clk:
|
||||||
clk_disable_unprepare(sspi->clk);
|
clk_disable_unprepare(sspi->clk);
|
||||||
put_spi:
|
put_spi:
|
||||||
spi_master_put(master);
|
spi_controller_put(host);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void synquacer_spi_remove(struct platform_device *pdev)
|
static void synquacer_spi_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct spi_master *master = platform_get_drvdata(pdev);
|
struct spi_controller *host = platform_get_drvdata(pdev);
|
||||||
struct synquacer_spi *sspi = spi_master_get_devdata(master);
|
struct synquacer_spi *sspi = spi_controller_get_devdata(host);
|
||||||
|
|
||||||
pm_runtime_disable(sspi->dev);
|
pm_runtime_disable(sspi->dev);
|
||||||
|
|
||||||
|
@ -747,11 +747,11 @@ static void synquacer_spi_remove(struct platform_device *pdev)
|
||||||
|
|
||||||
static int __maybe_unused synquacer_spi_suspend(struct device *dev)
|
static int __maybe_unused synquacer_spi_suspend(struct device *dev)
|
||||||
{
|
{
|
||||||
struct spi_master *master = dev_get_drvdata(dev);
|
struct spi_controller *host = dev_get_drvdata(dev);
|
||||||
struct synquacer_spi *sspi = spi_master_get_devdata(master);
|
struct synquacer_spi *sspi = spi_controller_get_devdata(host);
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
ret = spi_master_suspend(master);
|
ret = spi_controller_suspend(host);
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
@ -763,8 +763,8 @@ static int __maybe_unused synquacer_spi_suspend(struct device *dev)
|
||||||
|
|
||||||
static int __maybe_unused synquacer_spi_resume(struct device *dev)
|
static int __maybe_unused synquacer_spi_resume(struct device *dev)
|
||||||
{
|
{
|
||||||
struct spi_master *master = dev_get_drvdata(dev);
|
struct spi_controller *host = dev_get_drvdata(dev);
|
||||||
struct synquacer_spi *sspi = spi_master_get_devdata(master);
|
struct synquacer_spi *sspi = spi_controller_get_devdata(host);
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
if (!pm_runtime_suspended(dev)) {
|
if (!pm_runtime_suspended(dev)) {
|
||||||
|
@ -778,7 +778,7 @@ static int __maybe_unused synquacer_spi_resume(struct device *dev)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = synquacer_spi_enable(master);
|
ret = synquacer_spi_enable(host);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
clk_disable_unprepare(sspi->clk);
|
clk_disable_unprepare(sspi->clk);
|
||||||
dev_err(dev, "failed to enable spi (%d)\n", ret);
|
dev_err(dev, "failed to enable spi (%d)\n", ret);
|
||||||
|
@ -786,7 +786,7 @@ static int __maybe_unused synquacer_spi_resume(struct device *dev)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = spi_master_resume(master);
|
ret = spi_controller_resume(host);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
clk_disable_unprepare(sspi->clk);
|
clk_disable_unprepare(sspi->clk);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user