Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.1.71
Manually rebased:
gemini/patches-6.1/0002-usb-fotg210-Collect-pieces-of-dual-mode-controller.patch
All patches automatically rebased.
Build system: x86/64
Build-tested: x86/64/AMD Cezanne
Run-tested: x86/64/AMD Cezanne
Signed-off-by: John Audia <therealgraysky@proton.me>
-LINUX_VERSION-6.1 = .70
-LINUX_KERNEL_HASH-6.1.70 = ed1365266456c07696a7499581aec5d851ca2296f4f6f90f23d189ea5a56afef
+LINUX_VERSION-6.1 = .71
+LINUX_KERNEL_HASH-6.1.71 = 2df774dd53f9ffd4e57ebf804cf597709295df6a304fe261d25220a134b7f041
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
-@@ -3633,6 +3633,7 @@ static int __spi_validate_bits_per_word(
+@@ -3675,6 +3675,7 @@ static int spi_set_cs_timing(struct spi_
*/
int spi_setup(struct spi_device *spi)
{
*/
int spi_setup(struct spi_device *spi)
{
unsigned bad_bits, ugly_bits;
int status = 0;
unsigned bad_bits, ugly_bits;
int status = 0;
-@@ -3653,6 +3654,14 @@ int spi_setup(struct spi_device *spi)
+@@ -3695,6 +3696,14 @@ int spi_setup(struct spi_device *spi)
(SPI_TX_DUAL | SPI_TX_QUAD | SPI_TX_OCTAL |
SPI_RX_DUAL | SPI_RX_QUAD | SPI_RX_OCTAL)))
return -EINVAL;
(SPI_TX_DUAL | SPI_TX_QUAD | SPI_TX_OCTAL |
SPI_RX_DUAL | SPI_RX_QUAD | SPI_RX_OCTAL)))
return -EINVAL;
+obj-$(CONFIG_USB_FOTG210_UDC) += fotg210-udc.o
--- a/drivers/usb/host/fotg210-hcd.c
+++ /dev/null
+obj-$(CONFIG_USB_FOTG210_UDC) += fotg210-udc.o
--- a/drivers/usb/host/fotg210-hcd.c
+++ /dev/null
-// SPDX-License-Identifier: GPL-2.0+
-/* Faraday FOTG210 EHCI-like driver
- *
-// SPDX-License-Identifier: GPL-2.0+
-/* Faraday FOTG210 EHCI-like driver
- *
- temp = size;
- size -= temp;
- next += temp;
- temp = size;
- size -= temp;
- next += temp;
-- if (temp == size)
-- goto done;
- }
-
- temp = snprintf(next, size, "\n");
- }
-
- temp = snprintf(next, size, "\n");
- size -= temp;
- next += temp;
-
- size -= temp;
- next += temp;
-
- *sizep = size;
- *nextp = next;
-}
- *sizep = size;
- *nextp = next;
-}
* of_find_node_by_phandle - Find a node given a phandle
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
* of_find_node_by_phandle - Find a node given a phandle
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
-@@ -2315,8 +2315,8 @@ of_register_spi_device(struct spi_contro
+@@ -2326,8 +2326,8 @@ of_register_spi_device(struct spi_contro
}
/* Select device driver */
}
/* Select device driver */
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
-@@ -1374,6 +1374,70 @@ static int spi_transfer_wait(struct spi_
+@@ -1385,6 +1385,70 @@ static int spi_transfer_wait(struct spi_
static void _spi_transfer_delay_ns(u32 ns)
{
if (!ns)
static void _spi_transfer_delay_ns(u32 ns)
{
if (!ns)
-@@ -2208,6 +2272,75 @@ void spi_flush_queue(struct spi_controll
+@@ -2219,6 +2283,75 @@ void spi_flush_queue(struct spi_controll
/*-------------------------------------------------------------------------*/
#if defined(CONFIG_OF)
/*-------------------------------------------------------------------------*/
#if defined(CONFIG_OF)
static int of_spi_parse_dt(struct spi_controller *ctlr, struct spi_device *spi,
struct device_node *nc)
{
static int of_spi_parse_dt(struct spi_controller *ctlr, struct spi_device *spi,
struct device_node *nc)
{
-@@ -2326,6 +2459,10 @@ of_register_spi_device(struct spi_contro
+@@ -2337,6 +2470,10 @@ of_register_spi_device(struct spi_contro
spi->dev.of_node = nc;
--- a/include/linux/spi/spi.h
+++ b/include/linux/spi/spi.h
spi->dev.of_node = nc;
--- a/include/linux/spi/spi.h
+++ b/include/linux/spi/spi.h
-@@ -298,6 +298,40 @@ struct spi_driver {
+@@ -318,6 +318,40 @@ struct spi_driver {
struct device_driver driver;
};
struct device_driver driver;
};
static inline struct spi_driver *to_spi_driver(struct device_driver *drv)
{
return drv ? container_of(drv, struct spi_driver, driver) : NULL;
static inline struct spi_driver *to_spi_driver(struct device_driver *drv)
{
return drv ? container_of(drv, struct spi_driver, driver) : NULL;
-@@ -683,6 +717,11 @@ struct spi_controller {
+@@ -703,6 +737,11 @@ struct spi_controller {
void *dummy_rx;
void *dummy_tx;
void *dummy_rx;
void *dummy_tx;
int (*fw_translate_cs)(struct spi_controller *ctlr, unsigned cs);
/*
int (*fw_translate_cs)(struct spi_controller *ctlr, unsigned cs);
/*
-@@ -1490,6 +1529,9 @@ spi_register_board_info(struct spi_board
+@@ -1510,6 +1549,9 @@ spi_register_board_info(struct spi_board