All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	patches@lists.linux.dev,
	"Linus Walleij" <linus.walleij@linaro.org>,
	"Shawn Guo" <shawnguo@kernel.org>,
	"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
	"Robin Gong" <yibin.gong@nxp.com>,
	"Trent Piepho" <tpiepho@impinj.com>,
	"Clark Wang" <xiaoning.wang@nxp.com>,
	"Sascha Hauer" <s.hauer@pengutronix.de>,
	"Pengutronix Kernel Team" <kernel@pengutronix.de>,
	"Fabio Estevam" <festevam@gmail.com>,
	"NXP Linux Team" <linux-imx@nxp.com>,
	"Mark Brown" <broonie@kernel.org>,
	"Sasha Levin" <sashal@kernel.org>
Subject: [PATCH 5.4 121/282] spi: imx/fsl-lpspi: Convert to GPIO descriptors
Date: Mon, 15 May 2023 18:28:19 +0200	[thread overview]
Message-ID: <20230515161725.863084393@linuxfoundation.org> (raw)
In-Reply-To: <20230515161722.146344674@linuxfoundation.org>

From: Linus Walleij <linus.walleij@linaro.org>

[ Upstream commit 8cdcd8aeee2819199ec7f68114b77b04c10611d3 ]

This converts the two Freescale i.MX SPI drivers
Freescale i.MX (CONFIG_SPI_IMX) and Freescale i.MX LPSPI
(CONFIG_SPI_FSL_LPSPI) to use GPIO descriptors handled in
the SPI core for GPIO chip selects whether defined in
the device tree or a board file.

The reason why both are converted at the same time is
that they were both using the same platform data and
platform device population helpers when using
board files intertwining the code so this gives a cleaner
cut.

The platform device creation was passing a platform data
container from each boardfile down to the driver using
struct spi_imx_master from <linux/platform_data/spi-imx.h>,
but this was only conveying the number of chipselects and
an int * array of the chipselect GPIO numbers.

The imx27 and imx31 platforms had code passing the
now-unused platform data when creating the platform devices,
this has been repurposed to pass around GPIO descriptor
tables. The platform data struct that was just passing an
array of integers and number of chip selects for the GPIO
lines has been removed.

The number of chipselects used to be passed from the board
file, because this number also limits the number of native
chipselects that the platform can use. To deal with this we
just augment the i.MX (CONFIG_SPI_IMX) driver to support 3
chipselects if the platform does not define "num-cs" as a
device property (such as from the device tree). This covers
all the legacy boards as these use <= 3 native chip selects
(or GPIO lines, and in that case the number of chip selects
is determined by the core from the number of available
GPIO lines). Any new boards should use device tree, so
this is a reasonable simplification to cover all old
boards.

The LPSPI driver never assigned the number of chipselects
and thus always fall back to the core default of 1 chip
select if no GPIOs are defined in the device tree.

The Freescale i.MX driver was already partly utilizing
the SPI core to obtain the GPIO numbers from the device tree,
so this completes the transtion to let the core handle all
of it.

All board files and the core i.MX boardfile registration
code is augmented to account for these changes.

This has been compile-tested with the imx_v4_v5_defconfig
and the imx_v6_v7_defconfig.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Shawn Guo <shawnguo@kernel.org>
Cc: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Cc: Robin Gong <yibin.gong@nxp.com>
Cc: Trent Piepho <tpiepho@impinj.com>
Cc: Clark Wang <xiaoning.wang@nxp.com>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: NXP Linux Team <linux-imx@nxp.com>
Link: https://lore.kernel.org/r/20200625200252.207614-1-linus.walleij@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Stable-dep-of: 11951c9e3f36 ("spi: imx: Don't skip cleanup in remove's error path")
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 arch/arm/mach-imx/devices-imx27.h            | 10 +--
 arch/arm/mach-imx/devices-imx31.h            | 10 +--
 arch/arm/mach-imx/devices/devices-common.h   |  5 +-
 arch/arm/mach-imx/devices/platform-spi_imx.c |  9 +-
 arch/arm/mach-imx/mach-mx27_3ds.c            | 40 ++++++---
 arch/arm/mach-imx/mach-mx31_3ds.c            | 13 +--
 arch/arm/mach-imx/mach-mx31lilly.c           | 14 +--
 arch/arm/mach-imx/mach-mx31lite.c            | 19 +---
 arch/arm/mach-imx/mach-mx31moboard.c         | 12 +--
 arch/arm/mach-imx/mach-pca100.c              | 21 +++--
 arch/arm/mach-imx/mach-pcm037_eet.c          |  7 +-
 drivers/spi/spi-fsl-lpspi.c                  | 47 +---------
 drivers/spi/spi-imx.c                        | 92 ++++----------------
 include/linux/platform_data/spi-imx.h        | 33 -------
 14 files changed, 88 insertions(+), 244 deletions(-)
 delete mode 100644 include/linux/platform_data/spi-imx.h

diff --git a/arch/arm/mach-imx/devices-imx27.h b/arch/arm/mach-imx/devices-imx27.h
index f89f4ae0e1ca6..583a1d773d682 100644
--- a/arch/arm/mach-imx/devices-imx27.h
+++ b/arch/arm/mach-imx/devices-imx27.h
@@ -75,11 +75,11 @@ extern const struct imx_mxc_w1_data imx27_mxc_w1_data;
 	imx_add_mxc_w1(&imx27_mxc_w1_data)
 
 extern const struct imx_spi_imx_data imx27_cspi_data[];
-#define imx27_add_cspi(id, pdata)	\
-	imx_add_spi_imx(&imx27_cspi_data[id], pdata)
-#define imx27_add_spi_imx0(pdata)	imx27_add_cspi(0, pdata)
-#define imx27_add_spi_imx1(pdata)	imx27_add_cspi(1, pdata)
-#define imx27_add_spi_imx2(pdata)	imx27_add_cspi(2, pdata)
+#define imx27_add_cspi(id, gtable) \
+	imx_add_spi_imx(&imx27_cspi_data[id], gtable)
+#define imx27_add_spi_imx0(gtable)	imx27_add_cspi(0, gtable)
+#define imx27_add_spi_imx1(gtable)	imx27_add_cspi(1, gtable)
+#define imx27_add_spi_imx2(gtable)	imx27_add_cspi(2, gtable)
 
 extern const struct imx_pata_imx_data imx27_pata_imx_data;
 #define imx27_add_pata_imx() \
diff --git a/arch/arm/mach-imx/devices-imx31.h b/arch/arm/mach-imx/devices-imx31.h
index 5a4ba35a47ed0..f7cc623725322 100644
--- a/arch/arm/mach-imx/devices-imx31.h
+++ b/arch/arm/mach-imx/devices-imx31.h
@@ -69,11 +69,11 @@ extern const struct imx_mxc_w1_data imx31_mxc_w1_data;
 	imx_add_mxc_w1(&imx31_mxc_w1_data)
 
 extern const struct imx_spi_imx_data imx31_cspi_data[];
-#define imx31_add_cspi(id, pdata)	\
-	imx_add_spi_imx(&imx31_cspi_data[id], pdata)
-#define imx31_add_spi_imx0(pdata)	imx31_add_cspi(0, pdata)
-#define imx31_add_spi_imx1(pdata)	imx31_add_cspi(1, pdata)
-#define imx31_add_spi_imx2(pdata)	imx31_add_cspi(2, pdata)
+#define imx31_add_cspi(id, gtable) \
+	imx_add_spi_imx(&imx31_cspi_data[id], gtable)
+#define imx31_add_spi_imx0(gtable)	imx31_add_cspi(0, gtable)
+#define imx31_add_spi_imx1(gtable)	imx31_add_cspi(1, gtable)
+#define imx31_add_spi_imx2(gtable)	imx31_add_cspi(2, gtable)
 
 extern const struct imx_pata_imx_data imx31_pata_imx_data;
 #define imx31_add_pata_imx() \
diff --git a/arch/arm/mach-imx/devices/devices-common.h b/arch/arm/mach-imx/devices/devices-common.h
index 2a685adec1df7..f8f3e4967c31f 100644
--- a/arch/arm/mach-imx/devices/devices-common.h
+++ b/arch/arm/mach-imx/devices/devices-common.h
@@ -6,6 +6,7 @@
 #include <linux/kernel.h>
 #include <linux/platform_device.h>
 #include <linux/init.h>
+#include <linux/gpio/machine.h>
 #include <linux/platform_data/dma-imx-sdma.h>
 
 extern struct device mxc_aips_bus;
@@ -276,7 +277,6 @@ struct platform_device *__init imx_add_sdhci_esdhc_imx(
 		const struct imx_sdhci_esdhc_imx_data *data,
 		const struct esdhc_platform_data *pdata);
 
-#include <linux/platform_data/spi-imx.h>
 struct imx_spi_imx_data {
 	const char *devid;
 	int id;
@@ -285,8 +285,7 @@ struct imx_spi_imx_data {
 	int irq;
 };
 struct platform_device *__init imx_add_spi_imx(
-		const struct imx_spi_imx_data *data,
-		const struct spi_imx_master *pdata);
+	const struct imx_spi_imx_data *data, struct gpiod_lookup_table *gtable);
 
 struct platform_device *imx_add_imx_dma(char *name, resource_size_t iobase,
 					int irq, int irq_err);
diff --git a/arch/arm/mach-imx/devices/platform-spi_imx.c b/arch/arm/mach-imx/devices/platform-spi_imx.c
index f2cafa52c1872..27747bf628a31 100644
--- a/arch/arm/mach-imx/devices/platform-spi_imx.c
+++ b/arch/arm/mach-imx/devices/platform-spi_imx.c
@@ -3,6 +3,7 @@
  * Copyright (C) 2009-2010 Pengutronix
  * Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de>
  */
+#include <linux/gpio/machine.h>
 #include "../hardware.h"
 #include "devices-common.h"
 
@@ -57,8 +58,7 @@ const struct imx_spi_imx_data imx35_cspi_data[] __initconst = {
 #endif /* ifdef CONFIG_SOC_IMX35 */
 
 struct platform_device *__init imx_add_spi_imx(
-		const struct imx_spi_imx_data *data,
-		const struct spi_imx_master *pdata)
+	const struct imx_spi_imx_data *data, struct gpiod_lookup_table *gtable)
 {
 	struct resource res[] = {
 		{
@@ -71,7 +71,8 @@ struct platform_device *__init imx_add_spi_imx(
 			.flags = IORESOURCE_IRQ,
 		},
 	};
-
+	if (gtable)
+		gpiod_add_lookup_table(gtable);
 	return imx_add_platform_device(data->devid, data->id,
-			res, ARRAY_SIZE(res), pdata, sizeof(*pdata));
+			res, ARRAY_SIZE(res), NULL, 0);
 }
diff --git a/arch/arm/mach-imx/mach-mx27_3ds.c b/arch/arm/mach-imx/mach-mx27_3ds.c
index 7b8325fb5b413..51204521b903b 100644
--- a/arch/arm/mach-imx/mach-mx27_3ds.c
+++ b/arch/arm/mach-imx/mach-mx27_3ds.c
@@ -304,18 +304,34 @@ static struct imx_ssi_platform_data mx27_3ds_ssi_pdata = {
 };
 
 /* SPI */
-static int spi1_chipselect[] = {SPI1_SS0};
-
-static const struct spi_imx_master spi1_pdata __initconst = {
-	.chipselect	= spi1_chipselect,
-	.num_chipselect	= ARRAY_SIZE(spi1_chipselect),
+static struct gpiod_lookup_table mx27_spi1_gpiod_table = {
+	.dev_id = "imx27-cspi.0", /* Actual device name for spi1 */
+	.table = {
+		/*
+		 * The i.MX27 has the i.MX21 GPIO controller, the SPI1 CS GPIO
+		 * SPI1_SS0 is numbered IMX_GPIO_NR(4, 28).
+		 *
+		 * This is in "bank 4" which is subtracted by one in the macro
+		 * so this is actually bank 3 on "imx21-gpio.3".
+		 */
+		GPIO_LOOKUP_IDX("imx21-gpio.3", 28, "cs", 0, GPIO_ACTIVE_LOW),
+		{ },
+	},
 };
 
-static int spi2_chipselect[] = {SPI2_SS0};
-
-static const struct spi_imx_master spi2_pdata __initconst = {
-	.chipselect	= spi2_chipselect,
-	.num_chipselect	= ARRAY_SIZE(spi2_chipselect),
+static struct gpiod_lookup_table mx27_spi2_gpiod_table = {
+	.dev_id = "imx27-cspi.1", /* Actual device name for spi2 */
+	.table = {
+		/*
+		 * The i.MX27 has the i.MX21 GPIO controller, the SPI2 CS GPIO
+		 * SPI2_SS0 is numbered IMX_GPIO_NR(4, 21).
+		 *
+		 * This is in "bank 4" which is subtracted by one in the macro
+		 * so this is actually bank 3 on "imx21-gpio.3".
+		 */
+		GPIO_LOOKUP_IDX("imx21-gpio.3", 21, "cs", 0, GPIO_ACTIVE_LOW),
+		{ },
+	},
 };
 
 static struct imx_fb_videomode mx27_3ds_modes[] = {
@@ -389,8 +405,8 @@ static void __init mx27pdk_init(void)
 	imx27_add_imx_keypad(&mx27_3ds_keymap_data);
 	imx27_add_imx2_wdt();
 
-	imx27_add_spi_imx1(&spi2_pdata);
-	imx27_add_spi_imx0(&spi1_pdata);
+	imx27_add_spi_imx1(&mx27_spi2_gpiod_table);
+	imx27_add_spi_imx0(&mx27_spi1_gpiod_table);
 
 	imx27_add_imx_i2c(0, &mx27_3ds_i2c0_data);
 	imx27_add_imx_fb(&mx27_3ds_fb_data);
diff --git a/arch/arm/mach-imx/mach-mx31_3ds.c b/arch/arm/mach-imx/mach-mx31_3ds.c
index 716d2ad511035..99295ce8d0549 100644
--- a/arch/arm/mach-imx/mach-mx31_3ds.c
+++ b/arch/arm/mach-imx/mach-mx31_3ds.c
@@ -364,15 +364,6 @@ static struct imx_ssi_platform_data mx31_3ds_ssi_pdata = {
 	.flags = IMX_SSI_DMA | IMX_SSI_NET,
 };
 
-/* SPI */
-static const struct spi_imx_master spi0_pdata __initconst = {
-	.num_chipselect	= 3,
-};
-
-static const struct spi_imx_master spi1_pdata __initconst = {
-	.num_chipselect	= 3,
-};
-
 static struct spi_board_info mx31_3ds_spi_devs[] __initdata = {
 	{
 		.modalias	= "mc13783",
@@ -548,14 +539,14 @@ static void __init mx31_3ds_init(void)
 	imx31_add_imx_uart0(&uart_pdata);
 	imx31_add_mxc_nand(&mx31_3ds_nand_board_info);
 
-	imx31_add_spi_imx1(&spi1_pdata);
+	imx31_add_spi_imx1(NULL);
 
 	imx31_add_imx_keypad(&mx31_3ds_keymap_data);
 
 	imx31_add_imx2_wdt();
 	imx31_add_imx_i2c0(&mx31_3ds_i2c0_data);
 
-	imx31_add_spi_imx0(&spi0_pdata);
+	imx31_add_spi_imx0(NULL);
 	imx31_add_ipu_core();
 	imx31_add_mx3_sdc_fb(&mx3fb_pdata);
 
diff --git a/arch/arm/mach-imx/mach-mx31lilly.c b/arch/arm/mach-imx/mach-mx31lilly.c
index 8f725248299e1..4b955ccc92cdc 100644
--- a/arch/arm/mach-imx/mach-mx31lilly.c
+++ b/arch/arm/mach-imx/mach-mx31lilly.c
@@ -215,16 +215,6 @@ static void __init lilly1131_usb_init(void)
 		imx31_add_mxc_ehci_hs(2, &usbh2_pdata);
 }
 
-/* SPI */
-
-static const struct spi_imx_master spi0_pdata __initconst = {
-	.num_chipselect = 3,
-};
-
-static const struct spi_imx_master spi1_pdata __initconst = {
-	.num_chipselect = 3,
-};
-
 static struct mc13xxx_platform_data mc13783_pdata __initdata = {
 	.flags = MC13XXX_USE_RTC | MC13XXX_USE_TOUCHSCREEN,
 };
@@ -281,8 +271,8 @@ static void __init mx31lilly_board_init(void)
 	mxc_iomux_alloc_pin(MX31_PIN_CSPI2_SS1__SS1, "SPI2_SS1");
 	mxc_iomux_alloc_pin(MX31_PIN_CSPI2_SS2__SS2, "SPI2_SS2");
 
-	imx31_add_spi_imx0(&spi0_pdata);
-	imx31_add_spi_imx1(&spi1_pdata);
+	imx31_add_spi_imx0(NULL);
+	imx31_add_spi_imx1(NULL);
 
 	regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies));
 }
diff --git a/arch/arm/mach-imx/mach-mx31lite.c b/arch/arm/mach-imx/mach-mx31lite.c
index c0055f57c02dd..aaccf52f7ac16 100644
--- a/arch/arm/mach-imx/mach-mx31lite.c
+++ b/arch/arm/mach-imx/mach-mx31lite.c
@@ -73,11 +73,6 @@ static const struct imxuart_platform_data uart_pdata __initconst = {
 	.flags = IMXUART_HAVE_RTSCTS,
 };
 
-/* SPI */
-static const struct spi_imx_master spi0_pdata __initconst = {
-	.num_chipselect	= 3,
-};
-
 static const struct mxc_nand_platform_data
 mx31lite_nand_board_info __initconst  = {
 	.width = 1,
@@ -111,16 +106,6 @@ static struct platform_device smsc911x_device = {
 	},
 };
 
-/*
- * SPI
- *
- * The MC13783 is the only hard-wired SPI device on the module.
- */
-
-static const struct spi_imx_master spi1_pdata __initconst = {
-	.num_chipselect	= 1,
-};
-
 static struct mc13xxx_platform_data mc13783_pdata __initdata = {
 	.flags = MC13XXX_USE_RTC,
 };
@@ -246,13 +231,13 @@ static void __init mx31lite_init(void)
 				      "mx31lite");
 
 	imx31_add_imx_uart0(&uart_pdata);
-	imx31_add_spi_imx0(&spi0_pdata);
+	imx31_add_spi_imx0(NULL);
 
 	/* NOR and NAND flash */
 	platform_device_register(&physmap_flash_device);
 	imx31_add_mxc_nand(&mx31lite_nand_board_info);
 
-	imx31_add_spi_imx1(&spi1_pdata);
+	imx31_add_spi_imx1(NULL);
 
 	regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies));
 }
diff --git a/arch/arm/mach-imx/mach-mx31moboard.c b/arch/arm/mach-imx/mach-mx31moboard.c
index 36f08f45b0cad..96845a4eaf57e 100644
--- a/arch/arm/mach-imx/mach-mx31moboard.c
+++ b/arch/arm/mach-imx/mach-mx31moboard.c
@@ -143,10 +143,6 @@ static const struct imxi2c_platform_data moboard_i2c1_data __initconst = {
 	.bitrate = 100000,
 };
 
-static const struct spi_imx_master moboard_spi1_pdata __initconst = {
-	.num_chipselect	= 3,
-};
-
 static struct regulator_consumer_supply sdhc_consumers[] = {
 	{
 		.dev_name = "imx31-mmc.0",
@@ -287,10 +283,6 @@ static struct spi_board_info moboard_spi_board_info[] __initdata = {
 	},
 };
 
-static const struct spi_imx_master moboard_spi2_pdata __initconst = {
-	.num_chipselect	= 2,
-};
-
 #define SDHC1_CD IOMUX_TO_GPIO(MX31_PIN_ATA_CS0)
 #define SDHC1_WP IOMUX_TO_GPIO(MX31_PIN_ATA_CS1)
 
@@ -514,8 +506,8 @@ static void __init mx31moboard_init(void)
 	imx31_add_imx_i2c0(&moboard_i2c0_data);
 	imx31_add_imx_i2c1(&moboard_i2c1_data);
 
-	imx31_add_spi_imx1(&moboard_spi1_pdata);
-	imx31_add_spi_imx2(&moboard_spi2_pdata);
+	imx31_add_spi_imx1(NULL);
+	imx31_add_spi_imx2(NULL);
 
 	mx31moboard_init_cam();
 
diff --git a/arch/arm/mach-imx/mach-pca100.c b/arch/arm/mach-imx/mach-pca100.c
index 2e28e1b5cddfd..27a3678e0658a 100644
--- a/arch/arm/mach-imx/mach-pca100.c
+++ b/arch/arm/mach-imx/mach-pca100.c
@@ -14,6 +14,7 @@
 #include <linux/irq.h>
 #include <linux/delay.h>
 #include <linux/gpio.h>
+#include <linux/gpio/machine.h>
 #include <linux/usb/otg.h>
 #include <linux/usb/ulpi.h>
 
@@ -188,11 +189,19 @@ static struct spi_board_info pca100_spi_board_info[] __initdata = {
 	},
 };
 
-static int pca100_spi_cs[] = {SPI1_SS0, SPI1_SS1};
-
-static const struct spi_imx_master pca100_spi0_data __initconst = {
-	.chipselect	= pca100_spi_cs,
-	.num_chipselect = ARRAY_SIZE(pca100_spi_cs),
+static struct gpiod_lookup_table pca100_spi0_gpiod_table = {
+	.dev_id = "imx27-cspi.0", /* Actual device name for spi0 */
+	.table = {
+		/*
+		 * The i.MX27 has the i.MX21 GPIO controller, port D is
+		 * bank 3 and thus named "imx21-gpio.3".
+		 * SPI1_SS0 is GPIO_PORTD + 28
+		 * SPI1_SS1 is GPIO_PORTD + 27
+		 */
+		GPIO_LOOKUP_IDX("imx21-gpio.3", 28, "cs", 0, GPIO_ACTIVE_LOW),
+		GPIO_LOOKUP_IDX("imx21-gpio.3", 27, "cs", 1, GPIO_ACTIVE_LOW),
+		{ },
+	},
 };
 
 static void pca100_ac97_warm_reset(struct snd_ac97 *ac97)
@@ -362,7 +371,7 @@ static void __init pca100_init(void)
 	mxc_gpio_mode(GPIO_PORTD | 27 | GPIO_GPIO | GPIO_IN);
 	spi_register_board_info(pca100_spi_board_info,
 				ARRAY_SIZE(pca100_spi_board_info));
-	imx27_add_spi_imx0(&pca100_spi0_data);
+	imx27_add_spi_imx0(&pca100_spi0_gpiod_table);
 
 	imx27_add_imx_fb(&pca100_fb_data);
 
diff --git a/arch/arm/mach-imx/mach-pcm037_eet.c b/arch/arm/mach-imx/mach-pcm037_eet.c
index 51f5142920cf5..8b0e03a595c19 100644
--- a/arch/arm/mach-imx/mach-pcm037_eet.c
+++ b/arch/arm/mach-imx/mach-pcm037_eet.c
@@ -52,11 +52,6 @@ static struct spi_board_info pcm037_spi_dev[] = {
 	},
 };
 
-/* Platform Data for MXC CSPI */
-static const struct spi_imx_master pcm037_spi1_pdata __initconst = {
-	.num_chipselect = 2,
-};
-
 /* GPIO-keys input device */
 static struct gpio_keys_button pcm037_gpio_keys[] = {
 	{
@@ -163,7 +158,7 @@ int __init pcm037_eet_init_devices(void)
 
 	/* SPI */
 	spi_register_board_info(pcm037_spi_dev, ARRAY_SIZE(pcm037_spi_dev));
-	imx31_add_spi_imx0(&pcm037_spi1_pdata);
+	imx31_add_spi_imx0(NULL);
 
 	imx_add_gpio_keys(&pcm037_gpio_keys_platform_data);
 
diff --git a/drivers/spi/spi-fsl-lpspi.c b/drivers/spi/spi-fsl-lpspi.c
index 58b2da91be1c0..a813c192a018d 100644
--- a/drivers/spi/spi-fsl-lpspi.c
+++ b/drivers/spi/spi-fsl-lpspi.c
@@ -11,7 +11,6 @@
 #include <linux/dmaengine.h>
 #include <linux/dma-mapping.h>
 #include <linux/err.h>
-#include <linux/gpio.h>
 #include <linux/interrupt.h>
 #include <linux/io.h>
 #include <linux/irq.h>
@@ -19,11 +18,9 @@
 #include <linux/module.h>
 #include <linux/of.h>
 #include <linux/of_device.h>
-#include <linux/of_gpio.h>
 #include <linux/pinctrl/consumer.h>
 #include <linux/platform_device.h>
 #include <linux/platform_data/dma-imx.h>
-#include <linux/platform_data/spi-imx.h>
 #include <linux/pm_runtime.h>
 #include <linux/slab.h>
 #include <linux/spi/spi.h>
@@ -227,20 +224,6 @@ static int lpspi_unprepare_xfer_hardware(struct spi_controller *controller)
 	return 0;
 }
 
-static int fsl_lpspi_prepare_message(struct spi_controller *controller,
-				     struct spi_message *msg)
-{
-	struct fsl_lpspi_data *fsl_lpspi =
-					spi_controller_get_devdata(controller);
-	struct spi_device *spi = msg->spi;
-	int gpio = fsl_lpspi->chipselect[spi->chip_select];
-
-	if (gpio_is_valid(gpio))
-		gpio_direction_output(gpio, spi->mode & SPI_CS_HIGH ? 0 : 1);
-
-	return 0;
-}
-
 static void fsl_lpspi_write_tx_fifo(struct fsl_lpspi_data *fsl_lpspi)
 {
 	u8 txfifo_cnt;
@@ -835,13 +818,10 @@ static int fsl_lpspi_init_rpm(struct fsl_lpspi_data *fsl_lpspi)
 
 static int fsl_lpspi_probe(struct platform_device *pdev)
 {
-	struct device_node *np = pdev->dev.of_node;
 	struct fsl_lpspi_data *fsl_lpspi;
 	struct spi_controller *controller;
-	struct spi_imx_master *lpspi_platform_info =
-		dev_get_platdata(&pdev->dev);
 	struct resource *res;
-	int i, ret, irq;
+	int ret, irq;
 	u32 temp;
 	bool is_slave;
 
@@ -871,6 +851,8 @@ static int fsl_lpspi_probe(struct platform_device *pdev)
 	controller->dev.of_node = pdev->dev.of_node;
 	controller->bus_num = pdev->id;
 	controller->slave_abort = fsl_lpspi_slave_abort;
+	if (!fsl_lpspi->is_slave)
+		controller->use_gpio_descriptors = true;
 
 	ret = devm_spi_register_controller(&pdev->dev, controller);
 	if (ret < 0) {
@@ -878,29 +860,6 @@ static int fsl_lpspi_probe(struct platform_device *pdev)
 		goto out_controller_put;
 	}
 
-	if (!fsl_lpspi->is_slave) {
-		for (i = 0; i < controller->num_chipselect; i++) {
-			int cs_gpio = of_get_named_gpio(np, "cs-gpios", i);
-
-			if (!gpio_is_valid(cs_gpio) && lpspi_platform_info)
-				cs_gpio = lpspi_platform_info->chipselect[i];
-
-			fsl_lpspi->chipselect[i] = cs_gpio;
-			if (!gpio_is_valid(cs_gpio))
-				continue;
-
-			ret = devm_gpio_request(&pdev->dev,
-						fsl_lpspi->chipselect[i],
-						DRIVER_NAME);
-			if (ret) {
-				dev_err(&pdev->dev, "can't get cs gpios\n");
-				goto out_controller_put;
-			}
-		}
-		controller->cs_gpios = fsl_lpspi->chipselect;
-		controller->prepare_message = fsl_lpspi_prepare_message;
-	}
-
 	init_completion(&fsl_lpspi->xfer_done);
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
diff --git a/drivers/spi/spi-imx.c b/drivers/spi/spi-imx.c
index 9d593675257e0..90793fc321358 100644
--- a/drivers/spi/spi-imx.c
+++ b/drivers/spi/spi-imx.c
@@ -8,7 +8,6 @@
 #include <linux/dmaengine.h>
 #include <linux/dma-mapping.h>
 #include <linux/err.h>
-#include <linux/gpio.h>
 #include <linux/interrupt.h>
 #include <linux/io.h>
 #include <linux/irq.h>
@@ -21,10 +20,9 @@
 #include <linux/types.h>
 #include <linux/of.h>
 #include <linux/of_device.h>
-#include <linux/of_gpio.h>
+#include <linux/property.h>
 
 #include <linux/platform_data/dma-imx.h>
-#include <linux/platform_data/spi-imx.h>
 
 #define DRIVER_NAME "spi_imx"
 
@@ -727,7 +725,7 @@ static int mx31_prepare_transfer(struct spi_imx_data *spi_imx,
 		reg |= MX31_CSPICTRL_POL;
 	if (spi->mode & SPI_CS_HIGH)
 		reg |= MX31_CSPICTRL_SSPOL;
-	if (!gpio_is_valid(spi->cs_gpio))
+	if (!spi->cs_gpiod)
 		reg |= (spi->chip_select) <<
 			(is_imx35_cspi(spi_imx) ? MX35_CSPICTRL_CS_SHIFT :
 						  MX31_CSPICTRL_CS_SHIFT);
@@ -827,7 +825,7 @@ static int mx21_prepare_transfer(struct spi_imx_data *spi_imx,
 		reg |= MX21_CSPICTRL_POL;
 	if (spi->mode & SPI_CS_HIGH)
 		reg |= MX21_CSPICTRL_SSPOL;
-	if (!gpio_is_valid(spi->cs_gpio))
+	if (!spi->cs_gpiod)
 		reg |= spi->chip_select << MX21_CSPICTRL_CS_SHIFT;
 
 	writel(reg, spi_imx->base + MXC_CSPICTRL);
@@ -1056,20 +1054,6 @@ static const struct of_device_id spi_imx_dt_ids[] = {
 };
 MODULE_DEVICE_TABLE(of, spi_imx_dt_ids);
 
-static void spi_imx_chipselect(struct spi_device *spi, int is_active)
-{
-	int active = is_active != BITBANG_CS_INACTIVE;
-	int dev_is_lowactive = !(spi->mode & SPI_CS_HIGH);
-
-	if (spi->mode & SPI_NO_CS)
-		return;
-
-	if (!gpio_is_valid(spi->cs_gpio))
-		return;
-
-	gpio_set_value(spi->cs_gpio, dev_is_lowactive ^ active);
-}
-
 static void spi_imx_set_burst_len(struct spi_imx_data *spi_imx, int n_bits)
 {
 	u32 ctrl;
@@ -1535,15 +1519,6 @@ static int spi_imx_setup(struct spi_device *spi)
 	dev_dbg(&spi->dev, "%s: mode %d, %u bpw, %d hz\n", __func__,
 		 spi->mode, spi->bits_per_word, spi->max_speed_hz);
 
-	if (spi->mode & SPI_NO_CS)
-		return 0;
-
-	if (gpio_is_valid(spi->cs_gpio))
-		gpio_direction_output(spi->cs_gpio,
-				      spi->mode & SPI_CS_HIGH ? 0 : 1);
-
-	spi_imx_chipselect(spi, BITBANG_CS_INACTIVE);
-
 	return 0;
 }
 
@@ -1601,20 +1576,14 @@ static int spi_imx_probe(struct platform_device *pdev)
 	struct device_node *np = pdev->dev.of_node;
 	const struct of_device_id *of_id =
 			of_match_device(spi_imx_dt_ids, &pdev->dev);
-	struct spi_imx_master *mxc_platform_info =
-			dev_get_platdata(&pdev->dev);
 	struct spi_master *master;
 	struct spi_imx_data *spi_imx;
 	struct resource *res;
-	int i, ret, irq, spi_drctl;
+	int ret, irq, spi_drctl;
 	const struct spi_imx_devtype_data *devtype_data = of_id ? of_id->data :
 		(struct spi_imx_devtype_data *)pdev->id_entry->driver_data;
 	bool slave_mode;
-
-	if (!np && !mxc_platform_info) {
-		dev_err(&pdev->dev, "can't get the platform data\n");
-		return -EINVAL;
-	}
+	u32 val;
 
 	slave_mode = devtype_data->has_slavemode &&
 			of_property_read_bool(np, "spi-slave");
@@ -1637,6 +1606,7 @@ static int spi_imx_probe(struct platform_device *pdev)
 
 	master->bits_per_word_mask = SPI_BPW_RANGE_MASK(1, 32);
 	master->bus_num = np ? -1 : pdev->id;
+	master->use_gpio_descriptors = true;
 
 	spi_imx = spi_master_get_devdata(master);
 	spi_imx->bitbang.master = master;
@@ -1645,28 +1615,17 @@ static int spi_imx_probe(struct platform_device *pdev)
 
 	spi_imx->devtype_data = devtype_data;
 
-	/* Get number of chip selects, either platform data or OF */
-	if (mxc_platform_info) {
-		master->num_chipselect = mxc_platform_info->num_chipselect;
-		if (mxc_platform_info->chipselect) {
-			master->cs_gpios = devm_kcalloc(&master->dev,
-				master->num_chipselect, sizeof(int),
-				GFP_KERNEL);
-			if (!master->cs_gpios)
-				return -ENOMEM;
-
-			for (i = 0; i < master->num_chipselect; i++)
-				master->cs_gpios[i] = mxc_platform_info->chipselect[i];
-		}
-	} else {
-		u32 num_cs;
-
-		if (!of_property_read_u32(np, "num-cs", &num_cs))
-			master->num_chipselect = num_cs;
-		/* If not preset, default value of 1 is used */
-	}
+	/*
+	 * Get number of chip selects from device properties. This can be
+	 * coming from device tree or boardfiles, if it is not defined,
+	 * a default value of 3 chip selects will be used, as all the legacy
+	 * board files have <= 3 chip selects.
+	 */
+	if (!device_property_read_u32(&pdev->dev, "num-cs", &val))
+		master->num_chipselect = val;
+	else
+		master->num_chipselect = 3;
 
-	spi_imx->bitbang.chipselect = spi_imx_chipselect;
 	spi_imx->bitbang.setup_transfer = spi_imx_setupxfer;
 	spi_imx->bitbang.txrx_bufs = spi_imx_transfer;
 	spi_imx->bitbang.master->setup = spi_imx_setup;
@@ -1751,31 +1710,12 @@ static int spi_imx_probe(struct platform_device *pdev)
 		goto out_clk_put;
 	}
 
-	/* Request GPIO CS lines, if any */
-	if (!spi_imx->slave_mode && master->cs_gpios) {
-		for (i = 0; i < master->num_chipselect; i++) {
-			if (!gpio_is_valid(master->cs_gpios[i]))
-				continue;
-
-			ret = devm_gpio_request(&pdev->dev,
-						master->cs_gpios[i],
-						DRIVER_NAME);
-			if (ret) {
-				dev_err(&pdev->dev, "Can't get CS GPIO %i\n",
-					master->cs_gpios[i]);
-				goto out_spi_bitbang;
-			}
-		}
-	}
-
 	dev_info(&pdev->dev, "probed\n");
 
 	clk_disable(spi_imx->clk_ipg);
 	clk_disable(spi_imx->clk_per);
 	return ret;
 
-out_spi_bitbang:
-	spi_bitbang_stop(&spi_imx->bitbang);
 out_clk_put:
 	clk_disable_unprepare(spi_imx->clk_ipg);
 out_put_per:
diff --git a/include/linux/platform_data/spi-imx.h b/include/linux/platform_data/spi-imx.h
deleted file mode 100644
index 328f670d10bd7..0000000000000
--- a/include/linux/platform_data/spi-imx.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-
-#ifndef __MACH_SPI_H_
-#define __MACH_SPI_H_
-
-/*
- * struct spi_imx_master - device.platform_data for SPI controller devices.
- * @chipselect: Array of chipselects for this master or NULL.  Numbers >= 0
- *              mean GPIO pins, -ENOENT means internal CSPI chipselect
- *              matching the position in the array.  E.g., if chipselect[1] =
- *              -ENOENT then a SPI slave using chip select 1 will use the
- *              native SS1 line of the CSPI.  Omitting the array will use
- *              all native chip selects.
-
- *              Normally you want to use gpio based chip selects as the CSPI
- *              module tries to be intelligent about when to assert the
- *              chipselect:  The CSPI module deasserts the chipselect once it
- *              runs out of input data.  The other problem is that it is not
- *              possible to mix between high active and low active chipselects
- *              on one single bus using the internal chipselects.
- *              Unfortunately, on some SoCs, Freescale decided to put some
- *              chipselects on dedicated pins which are not usable as gpios,
- *              so we have to support the internal chipselects.
- *
- * @num_chipselect: If @chipselect is specified, ARRAY_SIZE(chipselect),
- *                  otherwise the number of native chip selects.
- */
-struct spi_imx_master {
-	int	*chipselect;
-	int	num_chipselect;
-};
-
-#endif /* __MACH_SPI_H_*/
-- 
2.39.2




  parent reply	other threads:[~2023-05-15 17:58 UTC|newest]

Thread overview: 299+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-15 16:26 [PATCH 5.4 000/282] 5.4.243-rc1 review Greg Kroah-Hartman
2023-05-15 16:26 ` [PATCH 5.4 001/282] counter: 104-quad-8: Fix race condition between FLAG and CNTR reads Greg Kroah-Hartman
2023-05-15 16:26 ` [PATCH 5.4 002/282] wifi: brcmfmac: slab-out-of-bounds read in brcmf_get_assoc_ies() Greg Kroah-Hartman
2023-05-15 16:26 ` [PATCH 5.4 003/282] drm/fb-helper: set x/yres_virtual in drm_fb_helper_check_var Greg Kroah-Hartman
2023-05-15 16:26 ` [PATCH 5.4 004/282] bluetooth: Perform careful capability checks in hci_sock_ioctl() Greg Kroah-Hartman
2023-05-15 16:26 ` [PATCH 5.4 005/282] USB: serial: option: add UNISOC vendor and TOZED LT70C product Greg Kroah-Hartman
2023-05-15 16:26 ` [PATCH 5.4 006/282] iio: adc: palmas_gpadc: fix NULL dereference on rmmod Greg Kroah-Hartman
2023-05-15 16:26 ` [PATCH 5.4 007/282] ASoC: Intel: bytcr_rt5640: Add quirk for the Acer Iconia One 7 B1-750 Greg Kroah-Hartman
2023-05-15 16:26 ` [PATCH 5.4 008/282] asm-generic/io.h: suppress endianness warnings for readq() and writeq() Greg Kroah-Hartman
2023-05-15 16:26 ` [PATCH 5.4 009/282] IMA: allow/fix UML builds Greg Kroah-Hartman
2023-05-15 16:26   ` Greg Kroah-Hartman
2023-05-15 16:26 ` [PATCH 5.4 010/282] USB: dwc3: fix runtime pm imbalance on probe errors Greg Kroah-Hartman
2023-05-15 16:26 ` [PATCH 5.4 011/282] USB: dwc3: fix runtime pm imbalance on unbind Greg Kroah-Hartman
2023-05-15 16:26 ` [PATCH 5.4 012/282] perf sched: Cast PTHREAD_STACK_MIN to int as it may turn into sysconf(__SC_THREAD_STACK_MIN_VALUE) Greg Kroah-Hartman
2023-05-15 16:26 ` [PATCH 5.4 013/282] staging: iio: resolver: ads1210: fix config mode Greg Kroah-Hartman
2023-05-15 16:26 ` [PATCH 5.4 014/282] debugfs: regset32: Add Runtime PM support Greg Kroah-Hartman
2023-05-15 16:26 ` [PATCH 5.4 015/282] xhci: fix debugfs register accesses while suspended Greg Kroah-Hartman
2023-05-15 16:26 ` [PATCH 5.4 016/282] MIPS: fw: Allow firmware to pass a empty env Greg Kroah-Hartman
2023-05-15 16:26 ` [PATCH 5.4 017/282] ipmi:ssif: Add send_retries increment Greg Kroah-Hartman
2023-05-15 16:26 ` [PATCH 5.4 018/282] ipmi: fix SSIF not responding under certain cond Greg Kroah-Hartman
2023-05-15 16:26 ` [PATCH 5.4 019/282] kheaders: Use array declaration instead of char Greg Kroah-Hartman
2023-05-15 16:26 ` [PATCH 5.4 020/282] pwm: meson: Fix axg ao mux parents Greg Kroah-Hartman
2023-05-15 16:26 ` [PATCH 5.4 021/282] pwm: meson: Fix g12a ao clk81 name Greg Kroah-Hartman
2023-05-15 16:26 ` [PATCH 5.4 022/282] ring-buffer: Sync IRQ works before buffer destruction Greg Kroah-Hartman
2023-05-15 16:26 ` [PATCH 5.4 023/282] reiserfs: Add security prefix to xattr name in reiserfs_security_write() Greg Kroah-Hartman
2023-05-15 16:26 ` [PATCH 5.4 024/282] KVM: nVMX: Emulate NOPs in L2, and PAUSE if its not intercepted Greg Kroah-Hartman
2023-05-15 16:26 ` [PATCH 5.4 025/282] i2c: omap: Fix standard mode false ACK readings Greg Kroah-Hartman
2023-05-15 16:26 ` [PATCH 5.4 026/282] Revert "ubifs: dirty_cow_znode: Fix memleak in error handling path" Greg Kroah-Hartman
2023-05-15 16:26 ` [PATCH 5.4 027/282] ubifs: Fix memleak when insert_old_idx() failed Greg Kroah-Hartman
2023-05-15 16:26 ` [PATCH 5.4 028/282] ubi: Fix return value overwrite issue in try_write_vid_and_data() Greg Kroah-Hartman
2023-05-15 16:26 ` [PATCH 5.4 029/282] ubifs: Free memory for tmpfile name Greg Kroah-Hartman
2023-05-15 16:26 ` [PATCH 5.4 030/282] selinux: fix Makefile dependencies of flask.h Greg Kroah-Hartman
2023-05-15 16:26 ` [PATCH 5.4 031/282] selinux: ensure av_permissions.h is built when needed Greg Kroah-Hartman
2023-05-15 16:26 ` [PATCH 5.4 032/282] tpm, tpm_tis: Do not skip reset of original interrupt vector Greg Kroah-Hartman
2023-05-15 16:26 ` [PATCH 5.4 033/282] erofs: stop parsing non-compact HEAD index if clusterofs is invalid Greg Kroah-Hartman
2023-05-15 16:26 ` [PATCH 5.4 034/282] erofs: fix potential overflow calculating xattr_isize Greg Kroah-Hartman
2023-05-15 16:26 ` [PATCH 5.4 035/282] drm/rockchip: Drop unbalanced obj unref Greg Kroah-Hartman
2023-05-15 16:26 ` [PATCH 5.4 036/282] drm/vgem: add missing mutex_destroy Greg Kroah-Hartman
2023-05-15 16:26 ` [PATCH 5.4 037/282] drm/probe-helper: Cancel previous job before starting new one Greg Kroah-Hartman
2023-05-15 16:26 ` [PATCH 5.4 038/282] arm64: dts: renesas: r8a77990: Remove bogus voltages from OPP table Greg Kroah-Hartman
2023-05-15 16:26 ` [PATCH 5.4 039/282] arm64: dts: renesas: r8a774c0: " Greg Kroah-Hartman
2023-05-15 16:26 ` [PATCH 5.4 040/282] EDAC/skx: Fix overflows on the DRAM row address mapping arrays Greg Kroah-Hartman
2023-05-15 16:26 ` [PATCH 5.4 041/282] ARM: dts: qcom: ipq4019: Fix the PCI I/O port range Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 042/282] ARM: dts: qcom: ipq8064: reduce pci IO size to 64K Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 043/282] ARM: dts: qcom: ipq8064: Fix the PCI I/O port range Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 044/282] media: bdisp: Add missing check for create_workqueue Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 045/282] media: uapi: add MEDIA_BUS_FMT_METADATA_FIXED media bus format Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 046/282] media: av7110: prevent underflow in write_ts_to_decoder() Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 047/282] firmware: qcom_scm: Clear download bit during reboot Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 048/282] drm/msm: fix unbalanced pm_runtime_enable in adreno_gpu_{init, cleanup} Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 049/282] drm/msm/adreno: Defer enabling runpm until hw_init() Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 050/282] drm/msm/adreno: drop bogus pm_runtime_set_active() Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 051/282] mmc: sdhci-of-esdhc: fix quirk to ignore command inhibit for data Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 052/282] drm/lima/lima_drv: Add missing unwind goto in lima_pdev_probe() Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 053/282] regulator: core: Consistently set mutex_owner when using ww_mutex_lock_slow() Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 054/282] regulator: core: Avoid lockdep reports when resolving supplies Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 055/282] x86/apic: Fix atomic update of offset in reserve_eilvt_offset() Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 056/282] media: dm1105: Fix use after free bug in dm1105_remove due to race condition Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 057/282] media: saa7134: fix use after free bug in saa7134_finidev " Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 058/282] media: rcar_fdp1: simplify error check logic at fdp_open() Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 059/282] media: rcar_fdp1: fix pm_runtime_get_sync() usage count Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 060/282] media: rcar_fdp1: Make use of the helper function devm_platform_ioremap_resource() Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 061/282] media: rcar_fdp1: Fix the correct variable assignments Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 062/282] media: rcar_fdp1: Fix refcount leak in probe and remove function Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 063/282] media: rc: gpio-ir-recv: Fix support for wake-up Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 064/282] regulator: stm32-pwr: fix of_iomap leak Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 065/282] x86/ioapic: Dont return 0 from arch_dynirq_lower_bound() Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 066/282] arm64: kgdb: Set PSTATE.SS to 1 to re-enable single-step Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 067/282] debugobject: Prevent init race with static objects Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 068/282] timekeeping: Split jiffies seqlock Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 069/282] tick/sched: Use tick_next_period for lockless quick check Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 070/282] tick/sched: Reduce seqcount held scope in tick_do_update_jiffies64() Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 071/282] tick/sched: Optimize tick_do_update_jiffies64() further Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 072/282] tick: Get rid of tick_period Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 073/282] tick/common: Align tick period with the HZ tick Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 074/282] wifi: ath6kl: minor fix for allocation size Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 075/282] wifi: ath9k: hif_usb: fix memory leak of remain_skbs Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 076/282] wifi: ath5k: fix an off by one check in ath5k_eeprom_read_freq_list() Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 077/282] wifi: ath6kl: reduce WARN to dev_dbg() in callback Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 078/282] tools: bpftool: Remove invalid \ json escape Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 079/282] wifi: rtw88: mac: Return the original error from rtw_pwr_seq_parser() Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 080/282] wifi: rtw88: mac: Return the original error from rtw_mac_power_switch() Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 081/282] scm: fix MSG_CTRUNC setting condition for SO_PASSSEC Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 082/282] vlan: partially enable SIOCSHWTSTAMP in container Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 083/282] net/packet: annotate accesses to po->xmit Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 084/282] net/packet: convert po->origdev to an atomic flag Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 085/282] net/packet: convert po->auxdata " Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 086/282] scsi: target: iscsit: Fix TAS handling during conn cleanup Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 087/282] scsi: megaraid: Fix mega_cmd_done() CMDID_INT_CMDS Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 088/282] f2fs: handle dqget error in f2fs_transfer_project_quota() Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 089/282] rtlwifi: Start changing RT_TRACE into rtl_dbg Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 090/282] rtlwifi: Replace RT_TRACE with rtl_dbg Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 091/282] wifi: rtlwifi: fix incorrect error codes in rtl_debugfs_set_write_rfreg() Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 092/282] wifi: rtlwifi: fix incorrect error codes in rtl_debugfs_set_write_reg() Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 093/282] bpftool: Fix bug for long instructions in program CFG dumps Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 094/282] crypto: drbg - make drbg_prepare_hrng() handle jent instantiation errors Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 095/282] crypto: drbg - Only fail when jent is unavailable in FIPS mode Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 096/282] scsi: lpfc: Fix ioremap issues in lpfc_sli4_pci_mem_setup() Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 097/282] bpf, sockmap: fix deadlocks in the sockhash and sockmap Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 098/282] nvme: handle the persistent internal error AER Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 099/282] nvme: fix async event trace event Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 100/282] nvme-fcloop: fix "inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage" Greg Kroah-Hartman
2023-05-15 16:27 ` [PATCH 5.4 101/282] bpf, sockmap: Revert buggy deadlock fix in the sockhash and sockmap Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 102/282] md/raid10: fix leak of r10bio->remaining for recovery Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 103/282] md/raid10: fix memleak for conf->bio_split Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 104/282] md: update the optimal I/O size on reshape Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 105/282] md/raid10: fix memleak of md thread Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 106/282] wifi: iwlwifi: make the loop for card preparation effective Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 107/282] wifi: iwlwifi: mvm: check firmware response size Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 108/282] ixgbe: Allow flow hash to be set via ethtool Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 109/282] ixgbe: Enable setting RSS table to default values Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 110/282] bpf: Dont EFAULT for getsockopt with optval=NULL Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 111/282] netfilter: nf_tables: dont write table validation state without mutex Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 112/282] ipv4: Fix potential uninit variable access bug in __ip_make_skb() Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 113/282] Revert "Bluetooth: btsdio: fix use after free bug in btsdio_remove due to unfinished work" Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 114/282] netlink: Use copy_to_user() for optval in netlink_getsockopt() Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 115/282] net: amd: Fix link leak when verifying config failed Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 116/282] tcp/udp: Fix memleaks of sk and zerocopy skbs with TX timestamp Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 117/282] pstore: Revert pmsg_lock back to a normal mutex Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 118/282] usb: host: xhci-rcar: remove leftover quirk handling Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 119/282] fpga: bridge: fix kernel-doc parameter description Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 120/282] iio: light: max44009: add missing OF device matching Greg Kroah-Hartman
2023-05-15 16:28 ` Greg Kroah-Hartman [this message]
2023-05-15 16:28 ` [PATCH 5.4 122/282] spi: imx: enable runtime pm support Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 123/282] spi: spi-imx: using pm_runtime_resume_and_get instead of pm_runtime_get_sync Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 124/282] spi: imx: Dont skip cleanup in removes error path Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 125/282] usb: gadget: udc: renesas_usb3: Fix use after free bug in renesas_usb3_remove due to race condition Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 126/282] PCI: imx6: Install the fault handler only on compatible match Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 127/282] genirq: Add IRQF_NO_AUTOEN for request_irq/nmi() Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 128/282] ASoC: es8316: Use IRQF_NO_AUTOEN when requesting the IRQ Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 129/282] ASoC: es8316: Handle optional IRQ assignment Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 130/282] linux/vt_buffer.h: allow either builtin or modular for macros Greg Kroah-Hartman
2023-05-15 16:28   ` Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 131/282] spi: qup: Dont skip cleanup in removes error path Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 132/282] spi: fsl-spi: Fix CPM/QE mode Litte Endian Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 133/282] vmci_host: fix a race condition in vmci_host_poll() causing GPF Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 134/282] of: Fix modalias string generation Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 135/282] ia64: mm/contig: fix section mismatch warning/error Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 136/282] ia64: salinfo: placate defined-but-not-used warning Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 137/282] scripts/gdb: bail early if there are no clocks Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 138/282] PM: domains: Fix up terminology with parent/child Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 139/282] scripts/gdb: bail early if there are no generic PD Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 140/282] mtd: spi-nor: cadence-quadspi: Make driver independent of flash geometry Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 141/282] mtd: spi-nor: cadence-quadspi: Provide a way to disable DAC mode Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 142/282] mtd: spi-nor: cadence-quadspi: Dont initialize rx_dma_complete on failure Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 143/282] mtd: spi-nor: cadence-quadspi: Handle probe deferral while requesting DMA channel Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 144/282] spi: cadence-quadspi: fix suspend-resume implementations Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 145/282] uapi/linux/const.h: prefer ISO-friendly __typeof__ Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 146/282] sh: sq: Fix incorrect element size for allocating bitmap buffer Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 147/282] usb: chipidea: fix missing goto in `ci_hdrc_probe` Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 148/282] usb: mtu3: fix kernel panic at qmu transfer done irq handler Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 149/282] firmware: stratix10-svc: Fix an NULL vs IS_ERR() bug in probe Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 150/282] tty: serial: fsl_lpuart: adjust buffer length to the intended size Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 151/282] serial: 8250: Add missing wakeup event reporting Greg Kroah-Hartman
2023-05-16  3:11   ` Florian Fainelli
2023-05-16  3:21     ` Florian Fainelli
2023-05-15 16:28 ` [PATCH 5.4 152/282] staging: rtl8192e: Fix W_DISABLE# does not work after stop/start Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 153/282] spmi: Add a check for remove callback when removing a SPMI driver Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 154/282] macintosh/windfarm_smu_sat: Add missing of_node_put() Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 155/282] powerpc/mpc512x: fix resource printk format warning Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 156/282] powerpc/wii: fix resource printk format warnings Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 157/282] powerpc/sysdev/tsi108: " Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 158/282] macintosh: via-pmu-led: requires ATA to be set Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 159/282] powerpc/rtas: use memmove for potentially overlapping buffer copy Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 160/282] perf/core: Fix hardlockup failure caused by perf throttle Greg Kroah-Hartman
2023-05-15 16:28 ` [PATCH 5.4 161/282] RDMA/siw: Fix potential page_array out of range access Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 162/282] RDMA/rdmavt: Delete unnecessary NULL check Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 163/282] rtc: omap: include header for omap_rtc_power_off_program prototype Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 164/282] RDMA/mlx4: Prevent shift wrapping in set_user_sq_size() Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 165/282] rtc: meson-vrtc: Use ktime_get_real_ts64() to get the current time Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 166/282] power: supply: generic-adc-battery: fix unit scaling Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 167/282] clk: add missing of_node_put() in "assigned-clocks" property parsing Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 168/282] RDMA/siw: Remove namespace check from siw_netdev_event() Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 169/282] IB/hfi1: Fix SDMA mmu_rb_node not being evicted in LRU order Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 170/282] NFSv4.1: Always send a RECLAIM_COMPLETE after establishing lease Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 171/282] firmware: raspberrypi: Keep count of all consumers Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 172/282] firmware: raspberrypi: Introduce devm_rpi_firmware_get() Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 173/282] input: raspberrypi-ts: Release firmware handle when not needed Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 174/282] Input: raspberrypi-ts - fix refcount leak in rpi_ts_probe Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 175/282] SUNRPC: remove the maximum number of retries in call_bind_status Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 176/282] RDMA/mlx5: Use correct device num_ports when modify DC Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 177/282] clocksource/drivers/davinci: Avoid trailing \n hidden in pr_fmt() Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 178/282] clocksource: davinci: axe a pointless __GFP_NOFAIL Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 179/282] clocksource/drivers/davinci: Fix memory leak in davinci_timer_register when init fails Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 180/282] openrisc: Properly store r31 to pt_regs on unhandled exceptions Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 181/282] ext4: fix use-after-free read in ext4_find_extent for bigalloc + inline Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 182/282] leds: TI_LMU_COMMON: select REGMAP instead of depending on it Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 183/282] dmaengine: mv_xor_v2: Fix an error code Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 184/282] pwm: mtk-disp: Dont check the return code of pwmchip_remove() Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 185/282] pwm: mtk-disp: Adjust the clocks to avoid them mismatch Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 186/282] pwm: mtk-disp: Disable shadow registers before setting backlight values Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 187/282] phy: tegra: xusb: Add missing tegra_xusb_port_unregister for usb2_port and ulpi_port Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 188/282] dmaengine: dw-edma: Fix to change for continuous transfer Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 189/282] dmaengine: dw-edma: Fix to enable to issue dma request on DMA processing Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 190/282] dmaengine: at_xdmac: do not enable all cyclic channels Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 191/282] afs: Fix updating of i_size with dv jump from server Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 192/282] parisc: Fix argument pointer in real64_call_asm() Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 193/282] nilfs2: do not write dirty data after degenerating to read-only Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 194/282] nilfs2: fix infinite loop in nilfs_mdt_get_block() Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 195/282] md/raid10: fix null-ptr-deref in raid10_sync_request Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 196/282] mailbox: zynqmp: Fix IPI isr handling Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 197/282] mailbox: zynqmp: Fix typo in IPI documentation Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 198/282] wifi: rtl8xxxu: RTL8192EU always needs full init Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 199/282] clk: rockchip: rk3399: allow clk_cifout to force clk_cifout_src to reparent Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 200/282] scripts/gdb: fix lx-timerlist for Python3 Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 201/282] btrfs: scrub: reject unsupported scrub flags Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 202/282] s390/dasd: fix hanging blockdevice after request requeue Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 203/282] dm clone: call kmem_cache_destroy() in dm_clone_init() error path Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 204/282] dm integrity: call kmem_cache_destroy() in dm_integrity_init() " Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 205/282] dm flakey: fix a crash with invalid table line Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 206/282] dm ioctl: fix nested locking in table_clear() to remove deadlock concern Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 207/282] perf auxtrace: Fix address filter entire kernel size Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 208/282] perf intel-pt: Fix CYC timestamps after standalone CBR Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 209/282] debugobject: Ensure pool refill (again) Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 210/282] netfilter: nf_tables: deactivate anonymous set from preparation phase Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 211/282] nohz: Add TICK_DEP_BIT_RCU Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 212/282] tick/nohz: Fix cpu_is_hotpluggable() by checking with nohz subsystem Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 213/282] mailbox: zynq: Switch to flexible array to simplify code Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 214/282] mailbox: zynqmp: Fix counts of child nodes Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 215/282] dm verity: skip redundant verity_handle_err() on I/O errors Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 216/282] dm verity: fix error handling for check_at_most_once on FEC Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 217/282] crypto: inside-secure - irq balance Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 218/282] crypto: safexcel - Cleanup ring IRQ workqueues on load failure Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 219/282] kernel/relay.c: fix read_pos error when multiple readers Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 220/282] relayfs: fix out-of-bounds access in relay_file_read Greg Kroah-Hartman
2023-05-15 16:29 ` [PATCH 5.4 221/282] net/ncsi: clear Tx enable mode when handling a Config required AEN Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 222/282] net/sched: cls_api: remove block_cb from driver_list before freeing Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 223/282] sit: update dev->needed_headroom in ipip6_tunnel_bind_dev() Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 224/282] net: dsa: mv88e6xxx: add mv88e6321 rsvd2cpu Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 225/282] writeback: fix call of incorrect macro Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 226/282] net/sched: act_mirred: Add carrier check Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 227/282] rxrpc: Fix hard call timeout units Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 228/282] ionic: remove noise from ethtool rxnfc error msg Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 229/282] af_packet: Dont send zero-byte data in packet_sendmsg_spkt() Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 230/282] drm/amdgpu: add a missing lock for AMDGPU_SCHED Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 231/282] ALSA: caiaq: input: Add error handling for unsupported input methods in `snd_usb_caiaq_input_init` Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 232/282] net: dsa: mt7530: fix corrupt frames using trgmii on 40 MHz XTAL MT7621 Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 233/282] virtio_net: split free_unused_bufs() Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 234/282] virtio_net: suppress cpu stall when free_unused_bufs Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 235/282] net: bcmgenet: Remove phy_stop() from bcmgenet_netif_stop() Greg Kroah-Hartman
2023-05-16  3:12   ` Florian Fainelli
2023-05-15 16:30 ` [PATCH 5.4 236/282] perf vendor events power9: Remove UTF-8 characters from JSON files Greg Kroah-Hartman
2023-05-15 16:30   ` Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 237/282] perf map: Delete two variable initialisations before null pointer checks in sort__sym_from_cmp() Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 238/282] perf symbols: Fix return incorrect build_id size in elf_read_build_id() Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 239/282] btrfs: fix btrfs_prev_leaf() to not return the same key twice Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 240/282] btrfs: dont free qgroup space unless specified Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 241/282] btrfs: print-tree: parent bytenr must be aligned to sector size Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 242/282] cifs: fix pcchunk length type in smb2_copychunk_range Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 243/282] platform/x86: touchscreen_dmi: Add info for the Dexp Ursus KX210i Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 244/282] inotify: Avoid reporting event with invalid wd Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 245/282] sh: math-emu: fix macro redefined warning Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 246/282] sh: init: use OF_EARLY_FLATTREE for early init Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 247/282] sh: nmi_debug: fix return value of __setup handler Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 248/282] remoteproc: stm32: Call of_node_put() on iteration error Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 249/282] remoteproc: st: " Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 250/282] ARM: dts: exynos: fix WM8960 clock name in Itop Elite Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 251/282] ARM: dts: s5pv210: correct MIPI CSIS clock name Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 252/282] f2fs: fix potential corruption when moving a directory Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 253/282] drm/panel: otm8009a: Set backlight parent to panel device Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 254/282] drm/amdgpu: fix an amdgpu_irq_put() issue in gmc_v9_0_hw_fini() Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 255/282] drm/amdgpu/gfx: disable gfx9 cp_ecc_error_irq only when enabling legacy gfx ras Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 256/282] drm/amdgpu: disable sdma ecc irq only when sdma RAS is enabled in suspend Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 257/282] HID: wacom: Set a default resolution for older tablets Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 258/282] HID: wacom: insert timestamp to packed Bluetooth (BT) events Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 259/282] ext4: fix WARNING in mb_find_extent Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 260/282] ext4: avoid a potential slab-out-of-bounds in ext4_group_desc_csum Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 261/282] ext4: fix data races when using cached status extents Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 262/282] ext4: improve error recovery code paths in __ext4_remount() Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 263/282] ext4: fix deadlock when converting an inline directory in nojournal mode Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 264/282] ext4: add bounds checking in get_max_inline_xattr_value_size() Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 265/282] ext4: bail out of ext4_xattr_ibody_get() fails for any reason Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 266/282] ext4: remove a BUG_ON in ext4_mb_release_group_pa() Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 267/282] ext4: fix invalid free tracking in ext4_xattr_move_to_block() Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 268/282] tty: Prevent writing chars during tcsetattr TCSADRAIN/FLUSH Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 269/282] serial: 8250: Fix serial8250_tx_empty() race with DMA Tx Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 270/282] drbd: correctly submit flush bio on barrier Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 271/282] PCI: pciehp: Use down_read/write_nested(reset_lock) to fix lockdep errors Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 272/282] PCI: pciehp: Fix AB-BA deadlock between reset_lock and device_lock Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 273/282] printk: declare printk_deferred_{enter,safe}() in include/linux/printk.h Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 274/282] PM: domains: Restore comment indentation for generic_pm_domain.child_links Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 275/282] spi: imx: fix runtime pm support for !CONFIG_PM Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 276/282] spi: imx: fix reference leak in two imx operations Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 277/282] drm/msm: Fix double pm_runtime_disable() call Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 278/282] firmware: raspberrypi: fix possible memory leak in rpi_firmware_probe() Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 279/282] drm/msm/adreno: Fix null ptr access in adreno_gpu_cleanup() Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 280/282] drm/exynos: move to use request_irq by IRQF_NO_AUTOEN flag Greg Kroah-Hartman
2023-05-15 16:30 ` [PATCH 5.4 281/282] mm/page_alloc: fix potential deadlock on zonelist_update_seq seqlock Greg Kroah-Hartman
2023-05-15 16:31 ` [PATCH 5.4 282/282] drm/amd/display: Fix hang when skipping modeset Greg Kroah-Hartman
2023-05-15 20:09 ` [PATCH 5.4 000/282] 5.4.243-rc1 review Chris Paterson
2023-05-16  1:32 ` Shuah Khan
2023-05-16  9:12 ` Sudip Mukherjee (Codethink)
2023-05-16 11:20 ` Harshit Mogalapalli
2023-05-16 19:10 ` Naresh Kamboju
2023-05-17  3:52 ` Guenter Roeck
2023-05-17  8:25   ` Greg Kroah-Hartman
2023-05-17  8:26     ` Greg Kroah-Hartman
2023-05-17  8:58       ` Greg Kroah-Hartman
2023-05-17  7:55 ` Jon Hunter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230515161725.863084393@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=broonie@kernel.org \
    --cc=festevam@gmail.com \
    --cc=kernel@pengutronix.de \
    --cc=linus.walleij@linaro.org \
    --cc=linux-imx@nxp.com \
    --cc=patches@lists.linux.dev \
    --cc=s.hauer@pengutronix.de \
    --cc=sashal@kernel.org \
    --cc=shawnguo@kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=tpiepho@impinj.com \
    --cc=u.kleine-koenig@pengutronix.de \
    --cc=xiaoning.wang@nxp.com \
    --cc=yibin.gong@nxp.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.