projects
/
oweals
/
openwrt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
kernel: bump 4.14 to 4.14.41
[oweals/openwrt.git]
/
target
/
linux
/
ramips
/
patches-4.14
/
0043-spi-add-mt7621-support.patch
diff --git
a/target/linux/ramips/patches-4.14/0043-spi-add-mt7621-support.patch
b/target/linux/ramips/patches-4.14/0043-spi-add-mt7621-support.patch
index 5f939e3e40d1d706813e0455b1e736166ce0ac25..d9bc48d69b0977b1db6e7c1eaec6f0e839ced560 100644
(file)
--- a/
target/linux/ramips/patches-4.14/0043-spi-add-mt7621-support.patch
+++ b/
target/linux/ramips/patches-4.14/0043-spi-add-mt7621-support.patch
@@
-38,7
+38,7
@@
Signed-off-by: John Crispin <blogic@openwrt.org>
obj-$(CONFIG_SPI_OC_TINY) += spi-oc-tiny.o
--- /dev/null
+++ b/drivers/spi/spi-mt7621.c
obj-$(CONFIG_SPI_OC_TINY) += spi-oc-tiny.o
--- /dev/null
+++ b/drivers/spi/spi-mt7621.c
-@@ -0,0 +1,49
1
@@
+@@ -0,0 +1,49
4
@@
+/*
+ * spi-mt7621.c -- MediaTek MT7621 SPI controller driver
+ *
+/*
+ * spi-mt7621.c -- MediaTek MT7621 SPI controller driver
+ *
@@
-106,7
+106,6
@@
Signed-off-by: John Crispin <blogic@openwrt.org>
+ unsigned int sys_freq;
+ unsigned int speed;
+ struct clk *clk;
+ unsigned int sys_freq;
+ unsigned int speed;
+ struct clk *clk;
-+ spinlock_t lock;
+
+ struct mt7621_spi_ops *ops;
+};
+
+ struct mt7621_spi_ops *ops;
+};
@@
-132,9
+131,11
@@
Signed-off-by: John Crispin <blogic@openwrt.org>
+
+ master |= 7 << 29;
+ master |= 1 << 2;
+
+ master |= 7 << 29;
+ master |= 1 << 2;
++#ifdef CONFIG_SOC_MT7620
+ if (duplex)
+ master |= 1 << 10;
+ else
+ if (duplex)
+ master |= 1 << 10;
+ else
++#endif
+ master &= ~(1 << 10);
+
+ mt7621_spi_write(rs, MT7621_SPI_MASTER, master);
+ master &= ~(1 << 10);
+
+ mt7621_spi_write(rs, MT7621_SPI_MASTER, master);
@@
-309,6
+310,7
@@
Signed-off-by: John Crispin <blogic@openwrt.org>
+ return 0;
+}
+
+ return 0;
+}
+
++#ifdef CONFIG_SOC_MT7620
+static int mt7621_spi_transfer_full_duplex(struct spi_master *master,
+ struct spi_message *m)
+{
+static int mt7621_spi_transfer_full_duplex(struct spi_master *master,
+ struct spi_message *m)
+{
@@
-393,15
+395,18
@@
Signed-off-by: John Crispin <blogic@openwrt.org>
+
+ return 0;
+}
+
+ return 0;
+}
++#endif
+
+static int mt7621_spi_transfer_one_message(struct spi_master *master,
+ struct spi_message *m)
+{
+ struct spi_device *spi = m->spi;
+
+static int mt7621_spi_transfer_one_message(struct spi_master *master,
+ struct spi_message *m)
+{
+ struct spi_device *spi = m->spi;
++#ifdef CONFIG_SOC_MT7620
+ int cs = spi->chip_select;
+
+ if (cs)
+ return mt7621_spi_transfer_full_duplex(master, m);
+ int cs = spi->chip_select;
+
+ if (cs)
+ return mt7621_spi_transfer_full_duplex(master, m);
++#endif
+ return mt7621_spi_transfer_half_duplex(master, m);
+}
+
+ return mt7621_spi_transfer_half_duplex(master, m);
+}
+
@@
-438,7
+443,6
@@
Signed-off-by: John Crispin <blogic@openwrt.org>
+ const struct of_device_id *match;
+ struct spi_master *master;
+ struct mt7621_spi *rs;
+ const struct of_device_id *match;
+ struct spi_master *master;
+ struct mt7621_spi *rs;
-+ unsigned long flags;
+ void __iomem *base;
+ struct resource *r;
+ int status = 0;
+ void __iomem *base;
+ struct resource *r;
+ int status = 0;
@@
-490,7
+494,6
@@
Signed-off-by: John Crispin <blogic@openwrt.org>
+ rs->sys_freq = clk_get_rate(rs->clk);
+ rs->ops = ops;
+ dev_info(&pdev->dev, "sys_freq: %u\n", rs->sys_freq);
+ rs->sys_freq = clk_get_rate(rs->clk);
+ rs->ops = ops;
+ dev_info(&pdev->dev, "sys_freq: %u\n", rs->sys_freq);
-+ spin_lock_irqsave(&rs->lock, flags);
+
+ device_reset(&pdev->dev);
+
+
+ device_reset(&pdev->dev);
+