aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2026-04-19 08:51:32 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2026-04-19 08:51:32 -0700
commitbea8d77e45a8b77f2beca1affc9aa7ed28f39b17 (patch)
treed8b2decebcc2b6b58bc2df244c89b77a4f2ce2c7
parent99ef60d119f3b2621067dd5fc1ea4a37360709e4 (diff)
parentbf9c95f3eeefb7fc4b4a6380cc23f1dca744e379 (diff)
Merge tag 'staging-7.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging
Pull staging driver updates from Greg KH: "Here is the "big" set of staging driver changes for 7.1-rc1. Nothing major in here at all, just lots of little cleanups for the staging drivers, driven by new developers getting their feet wet in kernel development. "Largest" thing in here is the change of some of the octeon variable types into proper kernel ones. Full details are in the shortlog. All of these have been in linux-next for a while with no reported issues" * tag 'staging-7.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (154 commits) staging: rtl8723bs: remove redundant & parentheses staging: most: dim2: replace BUG_ON() in poison_channel() staging: most: dim2: replace BUG_ON() in enqueue() staging: most: dim2: replace BUG_ON() in configure_channel() staging: most: dim2: replace BUG_ON() in service_done_flag() staging: most: dim2: replace BUG_ON() in try_start_dim_transfer() staging: rtl8723bs: remove unused RTL8188E antenna selection macros staging: rtl8723bs: remove redundant blank lines in basic_types.h staging: rtl8723bs: wrap complex macros with parentheses staging: rtl8723bs: remove unused WRITEEF/READEF byte macros staging: rtl8723bs: rename camelCase variable staging: greybus: audio: fix error message for BTN_3 button staging: rtl8723bs: rename variables to snake_case staging: rtl8723bs: fix spelling in comment staging: rtl8723bs: cleanup return in sdio_init() staging: rtl8723bs: use direct returns in sdio_dvobj_init() staging: rtl8723bs: remove unused arg at odm_interface.h greybus: raw: fix use-after-free if write is called after disconnect greybus: raw: fix use-after-free on cdev close staging: rtl8723bs: fix logical continuations in xmit_linux.c ...
-rw-r--r--drivers/staging/axis-fifo/axis-fifo.c59
-rw-r--r--drivers/staging/fbtft/Kconfig6
-rw-r--r--drivers/staging/fbtft/README29
-rw-r--r--drivers/staging/fbtft/fb_agm1264k-fl.c2
-rw-r--r--drivers/staging/fbtft/fb_hx8340bn.c8
-rw-r--r--drivers/staging/fbtft/fb_hx8353d.c13
-rw-r--r--drivers/staging/fbtft/fb_hx8357d.c14
-rw-r--r--drivers/staging/fbtft/fb_ili9163.c2
-rw-r--r--drivers/staging/fbtft/fb_ili9340.c12
-rw-r--r--drivers/staging/fbtft/fb_ili9341.c12
-rw-r--r--drivers/staging/fbtft/fb_ili9481.c12
-rw-r--r--drivers/staging/fbtft/fb_ili9486.c12
-rw-r--r--drivers/staging/fbtft/fb_s6d02a1.c12
-rw-r--r--drivers/staging/fbtft/fb_st7735r.c12
-rw-r--r--drivers/staging/fbtft/fb_tinylcd.c14
-rw-r--r--drivers/staging/fbtft/fbtft-core.c13
-rw-r--r--drivers/staging/greybus/Documentation/firmware/authenticate.c2
-rw-r--r--drivers/staging/greybus/Kconfig2
-rw-r--r--drivers/staging/greybus/arche-apb-ctrl.c10
-rw-r--r--drivers/staging/greybus/arche-platform.c10
-rw-r--r--drivers/staging/greybus/audio_codec.c2
-rw-r--r--drivers/staging/greybus/audio_manager.c12
-rw-r--r--drivers/staging/greybus/audio_manager.h7
-rw-r--r--drivers/staging/greybus/audio_manager_module.c13
-rw-r--r--drivers/staging/greybus/loopback.c18
-rw-r--r--drivers/staging/greybus/pwm.c2
-rw-r--r--drivers/staging/greybus/raw.c92
-rw-r--r--drivers/staging/greybus/sdio.c4
-rw-r--r--drivers/staging/most/Documentation/driver_usage.txt10
-rw-r--r--drivers/staging/most/dim2/dim2.c98
-rw-r--r--drivers/staging/most/dim2/hal.c7
-rw-r--r--drivers/staging/most/net/net.c1
-rw-r--r--drivers/staging/nvec/nvec.c21
-rw-r--r--drivers/staging/octeon/ethernet-rx.c2
-rw-r--r--drivers/staging/octeon/ethernet-tx.c2
-rw-r--r--drivers/staging/octeon/octeon-stubs.h1614
-rw-r--r--drivers/staging/rtl8723bs/core/rtw_ap.c51
-rw-r--r--drivers/staging/rtl8723bs/core/rtw_btcoex.c1
-rw-r--r--drivers/staging/rtl8723bs/core/rtw_cmd.c113
-rw-r--r--drivers/staging/rtl8723bs/core/rtw_efuse.c24
-rw-r--r--drivers/staging/rtl8723bs/core/rtw_ieee80211.c133
-rw-r--r--drivers/staging/rtl8723bs/core/rtw_io.c9
-rw-r--r--drivers/staging/rtl8723bs/core/rtw_ioctl_set.c21
-rw-r--r--drivers/staging/rtl8723bs/core/rtw_mlme.c205
-rw-r--r--drivers/staging/rtl8723bs/core/rtw_mlme_ext.c63
-rw-r--r--drivers/staging/rtl8723bs/core/rtw_pwrctrl.c104
-rw-r--r--drivers/staging/rtl8723bs/core/rtw_recv.c142
-rw-r--r--drivers/staging/rtl8723bs/core/rtw_security.c110
-rw-r--r--drivers/staging/rtl8723bs/core/rtw_sta_mgt.c36
-rw-r--r--drivers/staging/rtl8723bs/core/rtw_wlan_util.c16
-rw-r--r--drivers/staging/rtl8723bs/core/rtw_xmit.c15
-rw-r--r--drivers/staging/rtl8723bs/hal/HalBtc8723b1Ant.c60
-rw-r--r--drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c36
-rw-r--r--drivers/staging/rtl8723bs/hal/hal_btcoex.c7
-rw-r--r--drivers/staging/rtl8723bs/hal/hal_com.c52
-rw-r--r--drivers/staging/rtl8723bs/hal/hal_com_phycfg.c24
-rw-r--r--drivers/staging/rtl8723bs/hal/odm.c4
-rw-r--r--drivers/staging/rtl8723bs/hal/odm.h43
-rw-r--r--drivers/staging/rtl8723bs/hal/odm_CfoTracking.c8
-rw-r--r--drivers/staging/rtl8723bs/hal/odm_DIG.c36
-rw-r--r--drivers/staging/rtl8723bs/hal/odm_RegConfig8723B.c6
-rw-r--r--drivers/staging/rtl8723bs/hal/odm_interface.h12
-rw-r--r--drivers/staging/rtl8723bs/hal/odm_types.h4
-rw-r--r--drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c2
-rw-r--r--drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c9
-rw-r--r--drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c1
-rw-r--r--drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c1
-rw-r--r--drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c6
-rw-r--r--drivers/staging/rtl8723bs/hal/sdio_halinit.c11
-rw-r--r--drivers/staging/rtl8723bs/hal/sdio_ops.c12
-rw-r--r--drivers/staging/rtl8723bs/include/basic_types.h38
-rw-r--r--drivers/staging/rtl8723bs/include/hal_com.h2
-rw-r--r--drivers/staging/rtl8723bs/include/hal_data.h2
-rw-r--r--drivers/staging/rtl8723bs/include/ieee80211.h32
-rw-r--r--drivers/staging/rtl8723bs/include/ioctl_cfg80211.h60
-rw-r--r--drivers/staging/rtl8723bs/include/rtl8192c_recv.h4
-rw-r--r--drivers/staging/rtl8723bs/include/rtl8723b_hal.h2
-rw-r--r--drivers/staging/rtl8723bs/include/rtw_cmd.h2
-rw-r--r--drivers/staging/rtl8723bs/include/rtw_efuse.h19
-rw-r--r--drivers/staging/rtl8723bs/include/rtw_mlme.h36
-rw-r--r--drivers/staging/rtl8723bs/include/rtw_mlme_ext.h4
-rw-r--r--drivers/staging/rtl8723bs/include/wlan_bssdef.h5
-rw-r--r--drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c43
-rw-r--r--drivers/staging/rtl8723bs/os_dep/os_intfs.c18
-rw-r--r--drivers/staging/rtl8723bs/os_dep/sdio_intf.c25
-rw-r--r--drivers/staging/rtl8723bs/os_dep/xmit_linux.c9
-rw-r--r--drivers/staging/sm750fb/ddk750_mode.c2
-rw-r--r--drivers/staging/sm750fb/ddk750_swi2c.c2
-rw-r--r--drivers/staging/sm750fb/sm750.c91
-rw-r--r--drivers/staging/sm750fb/sm750_hw.c26
-rw-r--r--drivers/staging/vme_user/vme_user.h10
91 files changed, 1719 insertions, 2251 deletions
diff --git a/drivers/staging/axis-fifo/axis-fifo.c b/drivers/staging/axis-fifo/axis-fifo.c
index aa90b27197cf..3aa2aa870ea9 100644
--- a/drivers/staging/axis-fifo/axis-fifo.c
+++ b/drivers/staging/axis-fifo/axis-fifo.c
@@ -71,8 +71,8 @@ struct axis_fifo {
unsigned int rx_fifo_depth;
unsigned int tx_fifo_depth;
- int has_rx_fifo;
- int has_tx_fifo;
+ u32 has_rx_fifo;
+ u32 has_tx_fifo;
wait_queue_head_t read_queue;
struct mutex read_lock; /* lock for reading */
@@ -392,60 +392,39 @@ static int axis_fifo_parse_dt(struct axis_fifo *fifo)
ret = of_property_read_u32(node, "xlnx,axi-str-rxd-tdata-width",
&value);
- if (ret) {
- dev_err(fifo->dt_device, "missing xlnx,axi-str-rxd-tdata-width property\n");
- goto end;
- } else if (value != 32) {
- dev_err(fifo->dt_device, "xlnx,axi-str-rxd-tdata-width only supports 32 bits\n");
- ret = -EIO;
- goto end;
- }
+ if (ret)
+ return ret;
+ if (value != 32)
+ return -EINVAL;
ret = of_property_read_u32(node, "xlnx,axi-str-txd-tdata-width",
&value);
- if (ret) {
- dev_err(fifo->dt_device, "missing xlnx,axi-str-txd-tdata-width property\n");
- goto end;
- } else if (value != 32) {
- dev_err(fifo->dt_device, "xlnx,axi-str-txd-tdata-width only supports 32 bits\n");
- ret = -EIO;
- goto end;
- }
+ if (ret)
+ return ret;
+ if (value != 32)
+ return -EINVAL;
ret = of_property_read_u32(node, "xlnx,rx-fifo-depth",
&fifo->rx_fifo_depth);
- if (ret) {
- dev_err(fifo->dt_device, "missing xlnx,rx-fifo-depth property\n");
- ret = -EIO;
- goto end;
- }
+ if (ret)
+ return ret;
ret = of_property_read_u32(node, "xlnx,tx-fifo-depth",
&fifo->tx_fifo_depth);
- if (ret) {
- dev_err(fifo->dt_device, "missing xlnx,tx-fifo-depth property\n");
- ret = -EIO;
- goto end;
- }
+ if (ret)
+ return ret;
ret = of_property_read_u32(node, "xlnx,use-rx-data",
&fifo->has_rx_fifo);
- if (ret) {
- dev_err(fifo->dt_device, "missing xlnx,use-rx-data property\n");
- ret = -EIO;
- goto end;
- }
+ if (ret)
+ return ret;
ret = of_property_read_u32(node, "xlnx,use-tx-data",
&fifo->has_tx_fifo);
- if (ret) {
- dev_err(fifo->dt_device, "missing xlnx,use-tx-data property\n");
- ret = -EIO;
- goto end;
- }
+ if (ret)
+ return ret;
-end:
- return ret;
+ return 0;
}
static int axis_fifo_probe(struct platform_device *pdev)
diff --git a/drivers/staging/fbtft/Kconfig b/drivers/staging/fbtft/Kconfig
index 578412a2f379..92943564cb91 100644
--- a/drivers/staging/fbtft/Kconfig
+++ b/drivers/staging/fbtft/Kconfig
@@ -86,7 +86,11 @@ config FB_TFT_PCD8544
config FB_TFT_RA8875
tristate "FB driver for the RA8875 LCD Controller"
help
- Generic Framebuffer support for RA8875
+ This enables generic framebuffer support for the RAiO RA8875
+ display controller. The controller is intended for medium size text/graphic
+ mixed displays with a resolution of up to 800x480 pixels.
+
+ Say Y if you have such a display that utilizes this controller.
config FB_TFT_S6D02A1
tristate "FB driver for the S6D02A1 LCD Controller"
diff --git a/drivers/staging/fbtft/README b/drivers/staging/fbtft/README
index ba4c74c92e4c..91f152d622bd 100644
--- a/drivers/staging/fbtft/README
+++ b/drivers/staging/fbtft/README
@@ -6,27 +6,12 @@ The module 'fbtft' makes writing drivers for some of these displays very easy.
Development is done on a Raspberry Pi running the Raspbian "wheezy" distribution.
-INSTALLATION
- Download kernel sources
+For new hardware support consider using DRM subsystem (see TODO).
- From Linux 3.15
- cd drivers/video/fbdev/fbtft
- git clone https://github.com/notro/fbtft.git
+NOTE:
- Add to drivers/video/fbdev/Kconfig: source "drivers/video/fbdev/fbtft/Kconfig"
- Add to drivers/video/fbdev/Makefile: obj-y += fbtft/
-
- Before Linux 3.15
- cd drivers/video
- git clone https://github.com/notro/fbtft.git
-
- Add to drivers/video/Kconfig: source "drivers/video/fbtft/Kconfig"
- Add to drivers/video/Makefile: obj-y += fbtft/
-
- Enable driver(s) in menuconfig and build the kernel
-
-
-See wiki for more information: https://github.com/notro/fbtft/wiki
-
-
-Source: https://github.com/notro/fbtft/
+The driver is in maintenance mode, only performance issue or bug fixes
+are accepted, which effectively means the patches must be tested on
+the real hardware (the patch must be accompanied with the information
+what hardware is that). The treewide changes may also be accepted as
+an exception.
diff --git a/drivers/staging/fbtft/fb_agm1264k-fl.c b/drivers/staging/fbtft/fb_agm1264k-fl.c
index af2dbebefc72..6fc8f4e9c814 100644
--- a/drivers/staging/fbtft/fb_agm1264k-fl.c
+++ b/drivers/staging/fbtft/fb_agm1264k-fl.c
@@ -376,7 +376,7 @@ static int write_vmem(struct fbtft_par *par, size_t offset, size_t len)
/* write bitmap */
gpiod_set_value(par->RS, 1); /* RS->1 (data mode) */
- par->fbtftops.write(par, buf, len);
+ ret = par->fbtftops.write(par, buf, len);
if (ret < 0)
dev_err(par->info->device,
"write failed and returned: %d\n",
diff --git a/drivers/staging/fbtft/fb_hx8340bn.c b/drivers/staging/fbtft/fb_hx8340bn.c
index 2fd7b87ea0ce..ca27914f1412 100644
--- a/drivers/staging/fbtft/fb_hx8340bn.c
+++ b/drivers/staging/fbtft/fb_hx8340bn.c
@@ -106,13 +106,6 @@ static int init_display(struct fbtft_par *par)
return 0;
}
-static void set_addr_win(struct fbtft_par *par, int xs, int ys, int xe, int ye)
-{
- write_reg(par, MIPI_DCS_SET_COLUMN_ADDRESS, 0x00, xs, 0x00, xe);
- write_reg(par, MIPI_DCS_SET_PAGE_ADDRESS, 0x00, ys, 0x00, ye);
- write_reg(par, MIPI_DCS_WRITE_MEMORY_START);
-}
-
static int set_var(struct fbtft_par *par)
{
/* MADCTL - Memory data access control */
@@ -207,7 +200,6 @@ static struct fbtft_display display = {
.gamma = DEFAULT_GAMMA,
.fbtftops = {
.init_display = init_display,
- .set_addr_win = set_addr_win,
.set_var = set_var,
.set_gamma = set_gamma,
},
diff --git a/drivers/staging/fbtft/fb_hx8353d.c b/drivers/staging/fbtft/fb_hx8353d.c
index 3e73b69b6a27..f6cd82df4da6 100644
--- a/drivers/staging/fbtft/fb_hx8353d.c
+++ b/drivers/staging/fbtft/fb_hx8353d.c
@@ -61,18 +61,6 @@ static int init_display(struct fbtft_par *par)
return 0;
};
-static void set_addr_win(struct fbtft_par *par, int xs, int ys, int xe, int ye)
-{
- /* column address */
- write_reg(par, 0x2a, xs >> 8, xs & 0xff, xe >> 8, xe & 0xff);
-
- /* Row address */
- write_reg(par, 0x2b, ys >> 8, ys & 0xff, ye >> 8, ye & 0xff);
-
- /* memory write */
- write_reg(par, 0x2c);
-}
-
#define my BIT(7)
#define mx BIT(6)
#define mv BIT(5)
@@ -130,7 +118,6 @@ static struct fbtft_display display = {
.gamma = DEFAULT_GAMMA,
.fbtftops = {
.init_display = init_display,
- .set_addr_win = set_addr_win,
.set_var = set_var,
.set_gamma = set_gamma,
},
diff --git a/drivers/staging/fbtft/fb_hx8357d.c b/drivers/staging/fbtft/fb_hx8357d.c
index 94a357e8fdf6..7b9f020a956f 100644
--- a/drivers/staging/fbtft/fb_hx8357d.c
+++ b/drivers/staging/fbtft/fb_hx8357d.c
@@ -129,19 +129,6 @@ static int init_display(struct fbtft_par *par)
return 0;
}
-static void set_addr_win(struct fbtft_par *par, int xs, int ys, int xe, int ye)
-{
- write_reg(par, MIPI_DCS_SET_COLUMN_ADDRESS,
- xs >> 8, xs & 0xff, /* XSTART */
- xe >> 8, xe & 0xff); /* XEND */
-
- write_reg(par, MIPI_DCS_SET_PAGE_ADDRESS,
- ys >> 8, ys & 0xff, /* YSTART */
- ye >> 8, ye & 0xff); /* YEND */
-
- write_reg(par, MIPI_DCS_WRITE_MEMORY_START);
-}
-
#define HX8357D_MADCTL_MY 0x80
#define HX8357D_MADCTL_MX 0x40
#define HX8357D_MADCTL_MV 0x20
@@ -184,7 +171,6 @@ static struct fbtft_display display = {
.gamma_len = 14,
.fbtftops = {
.init_display = init_display,
- .set_addr_win = set_addr_win,
.set_var = set_var,
},
};
diff --git a/drivers/staging/fbtft/fb_ili9163.c b/drivers/staging/fbtft/fb_ili9163.c
index 6582a2c90aaf..a2b5033a9860 100644
--- a/drivers/staging/fbtft/fb_ili9163.c
+++ b/drivers/staging/fbtft/fb_ili9163.c
@@ -60,7 +60,7 @@
* configure to constrain the memory and resolution to a fixed dimension (in
* that case 128x128) but they leaved those pins configured for 128x160 so
* there was several pixel memory addressing problems.
- * I solved by setup several parameters that dinamically fix the resolution as
+ * I solved by setup several parameters that dynamically fix the resolution as
* needit so below the parameters for this display. If you have a strain or a
* correct display (can happen with chinese) you can copy those parameters and
* create setup for different displays.
diff --git a/drivers/staging/fbtft/fb_ili9340.c b/drivers/staging/fbtft/fb_ili9340.c
index 704236bcaf3f..023d8cb96f95 100644
--- a/drivers/staging/fbtft/fb_ili9340.c
+++ b/drivers/staging/fbtft/fb_ili9340.c
@@ -78,17 +78,6 @@ static int init_display(struct fbtft_