[PATCH v4 3/3] drm/loongson: Add interrupt driver for LS7A
Add LS7A DC vsync interrupt enable and close function, and register irq_handler function interface. Add vbrank event processing flow. v4: - Replace drm_irq_install with devm_request_irq. - Delete the irq_ hooks in drm_driver. v3: - Improve code readability. - Use the to_pci_dev function to get pci_dev. v2: - Added error handling in the loongson_drm_load function. Signed-off-by: lichenyang --- drivers/gpu/drm/loongson/Makefile| 1 + drivers/gpu/drm/loongson/loongson_crtc.c | 40 +++- drivers/gpu/drm/loongson/loongson_drv.c | 6 ++ drivers/gpu/drm/loongson/loongson_drv.h | 12 drivers/gpu/drm/loongson/loongson_irq.c | 80 5 files changed, 137 insertions(+), 2 deletions(-) create mode 100644 drivers/gpu/drm/loongson/loongson_irq.c diff --git a/drivers/gpu/drm/loongson/Makefile b/drivers/gpu/drm/loongson/Makefile index a842e85cf6ca..a046c42d8273 100644 --- a/drivers/gpu/drm/loongson/Makefile +++ b/drivers/gpu/drm/loongson/Makefile @@ -11,5 +11,6 @@ loongson-y := loongson_connector.o \ loongson_drv.o \ loongson_encoder.o \ loongson_i2c.o \ + loongson_irq.o \ loongson_plane.o obj-$(CONFIG_DRM_LOONGSON) += loongson.o diff --git a/drivers/gpu/drm/loongson/loongson_crtc.c b/drivers/gpu/drm/loongson/loongson_crtc.c index b9eee34deab2..a0d13b641f85 100644 --- a/drivers/gpu/drm/loongson/loongson_crtc.c +++ b/drivers/gpu/drm/loongson/loongson_crtc.c @@ -154,19 +154,25 @@ static void loongson_crtc_mode_set_nofb(struct drm_crtc *crtc) } static void loongson_crtc_atomic_enable(struct drm_crtc *crtc, - struct drm_atomic_state *old_state) + struct drm_atomic_state *old_crtc_state) { struct drm_device *dev = crtc->dev; struct loongson_device *ldev = to_loongson_device(dev); struct loongson_crtc *lcrtc = to_loongson_crtc(crtc); u32 reg_offset = lcrtc->reg_offset; + if (lcrtc->cfg_reg & CFG_ENABLE) + goto vblank_on; + lcrtc->cfg_reg |= CFG_ENABLE; ls7a_mm_wreg(ldev, FB_CFG_REG + reg_offset, lcrtc->cfg_reg); + +vblank_on: + drm_crtc_vblank_on(crtc); } static void loongson_crtc_atomic_disable(struct drm_crtc *crtc, -struct drm_atomic_state *old_state) +struct drm_atomic_state *old_crtc_state) { struct drm_device *dev = crtc->dev; struct loongson_device *ldev = to_loongson_device(dev); @@ -175,6 +181,33 @@ static void loongson_crtc_atomic_disable(struct drm_crtc *crtc, lcrtc->cfg_reg &= ~CFG_ENABLE; ls7a_mm_wreg(ldev, FB_CFG_REG + reg_offset, lcrtc->cfg_reg); + + spin_lock_irq(&crtc->dev->event_lock); + if (crtc->state->event) { + drm_crtc_send_vblank_event(crtc, crtc->state->event); + crtc->state->event = NULL; + } + spin_unlock_irq(&crtc->dev->event_lock); + + drm_crtc_vblank_off(crtc); +} + +static void loongson_crtc_atomic_flush(struct drm_crtc *crtc, + struct drm_atomic_state *state) +{ + struct drm_pending_vblank_event *event = crtc->state->event; + + if (!event) + return; + + crtc->state->event = NULL; + + spin_lock_irq(&crtc->dev->event_lock); + if (drm_crtc_vblank_get(crtc) == 0) + drm_crtc_arm_vblank_event(crtc, event); + else + drm_crtc_send_vblank_event(crtc, event); + spin_unlock_irq(&crtc->dev->event_lock); } static enum drm_mode_status loongson_mode_valid(struct drm_crtc *crtc, @@ -194,6 +227,7 @@ static enum drm_mode_status loongson_mode_valid(struct drm_crtc *crtc, static const struct drm_crtc_helper_funcs loongson_crtc_helper_funcs = { .mode_valid = loongson_mode_valid, + .atomic_flush = loongson_crtc_atomic_flush, .atomic_enable = loongson_crtc_atomic_enable, .atomic_disable = loongson_crtc_atomic_disable, .mode_set_nofb = loongson_crtc_mode_set_nofb, @@ -205,6 +239,8 @@ static const struct drm_crtc_funcs loongson_crtc_funcs = { .reset = drm_atomic_helper_crtc_reset, .atomic_duplicate_state = drm_atomic_helper_crtc_duplicate_state, .atomic_destroy_state = drm_atomic_helper_crtc_destroy_state, + .enable_vblank = loongson_crtc_enable_vblank, + .disable_vblank = loongson_crtc_disable_vblank, }; int loongson_crtc_init(struct loongson_device *ldev, int index) diff --git a/drivers/gpu/drm/loongson/loongson_drv.c b/drivers/gpu/drm/loongson/loongson_drv.c index 4c02cbe1a5e6..67676fe61cad 100644 --- a/drivers/gpu/drm/loongson/loongson_drv.c +++ b/drivers/gpu/drm/loongson/loongson_drv.c @@ -164,6 +164,12 @@ static int loongson_driver_init(struct drm_device *dev) goto err; } + ret = loongson_irq_init(ldev); + if (ret) { + dev_err(dev->dev
[PATCH v4 2/3] drm/loongson: Add GPIO and I2C driver for loongson drm.
Implement use GPIO and I2C driver to detect connector and fetch EDID via DDC. v3: - Change some driver log to the drm_ version. v2: - Optimize the error handling process. - Delete loongson_i2c_bus_match and loongson_i2c_add function. - Optimize part of the code flow. Signed-off-by: lichenyang --- drivers/gpu/drm/loongson/Makefile | 1 + drivers/gpu/drm/loongson/loongson_connector.c | 59 - drivers/gpu/drm/loongson/loongson_drv.c | 15 +- drivers/gpu/drm/loongson/loongson_drv.h | 11 + drivers/gpu/drm/loongson/loongson_i2c.c | 249 ++ drivers/gpu/drm/loongson/loongson_i2c.h | 36 +++ 6 files changed, 366 insertions(+), 5 deletions(-) create mode 100644 drivers/gpu/drm/loongson/loongson_i2c.c create mode 100644 drivers/gpu/drm/loongson/loongson_i2c.h diff --git a/drivers/gpu/drm/loongson/Makefile b/drivers/gpu/drm/loongson/Makefile index d73ad44fe1d5..a842e85cf6ca 100644 --- a/drivers/gpu/drm/loongson/Makefile +++ b/drivers/gpu/drm/loongson/Makefile @@ -10,5 +10,6 @@ loongson-y := loongson_connector.o \ loongson_device.o \ loongson_drv.o \ loongson_encoder.o \ + loongson_i2c.o \ loongson_plane.o obj-$(CONFIG_DRM_LOONGSON) += loongson.o diff --git a/drivers/gpu/drm/loongson/loongson_connector.c b/drivers/gpu/drm/loongson/loongson_connector.c index a4762d8f9987..bdf7d651d6d1 100644 --- a/drivers/gpu/drm/loongson/loongson_connector.c +++ b/drivers/gpu/drm/loongson/loongson_connector.c @@ -4,12 +4,56 @@ static int loongson_get_modes(struct drm_connector *connector) { - int count; + struct drm_device *dev = connector->dev; + struct loongson_connector *lconnector = + to_loongson_connector(connector); + struct i2c_adapter *adapter = lconnector->i2c->adapter; + struct edid *edid = NULL; + u32 ret; - count = drm_add_modes_noedid(connector, 1920, 1080); - drm_set_preferred_mode(connector, 1024, 768); + edid = drm_get_edid(connector, adapter); + if (edid) { + drm_connector_update_edid_property(connector, edid); + ret = drm_add_edid_modes(connector, edid); + } else { + drm_warn(dev, "Failed to read EDID\n"); + ret = drm_add_modes_noedid(connector, 1920, 1080); + drm_set_preferred_mode(connector, 1024, 768); + } - return count; + return ret; +} + +static bool is_connected(struct loongson_connector *lconnector) +{ + struct i2c_adapter *adapter = lconnector->i2c->adapter; + unsigned char start = 0x0; + struct i2c_msg msgs = { + .addr = DDC_ADDR, + .flags = 0, + .len = 1, + .buf = &start, + }; + + if (!lconnector->i2c) + return false; + + if (i2c_transfer(adapter, &msgs, 1) != 1) + return false; + + return true; +} + +static enum drm_connector_status +loongson_detect(struct drm_connector *connector, bool force) +{ + struct loongson_connector *lconnector = + to_loongson_connector(connector); + + if (is_connected(lconnector)) + return connector_status_connected; + + return connector_status_disconnected; } static const struct drm_connector_helper_funcs loongson_connector_helper = { @@ -17,6 +61,7 @@ static const struct drm_connector_helper_funcs loongson_connector_helper = { }; static const struct drm_connector_funcs loongson_connector_funcs = { + .detect = loongson_detect, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = drm_connector_cleanup, .reset = drm_atomic_helper_connector_reset, @@ -36,6 +81,12 @@ int loongson_connector_init(struct loongson_device *ldev, int index) lconnector->ldev = ldev; lconnector->id = index; + lconnector->i2c_id = index; + + lconnector->i2c = &ldev->i2c_bus[lconnector->i2c_id]; + if (!lconnector->i2c) + drm_err(dev, "connector-%d match i2c-%d err\n", index, + lconnector->i2c_id); ldev->mode_info[index].connector = lconnector; connector = &lconnector->base; diff --git a/drivers/gpu/drm/loongson/loongson_drv.c b/drivers/gpu/drm/loongson/loongson_drv.c index 2224a03adc1a..4c02cbe1a5e6 100644 --- a/drivers/gpu/drm/loongson/loongson_drv.c +++ b/drivers/gpu/drm/loongson/loongson_drv.c @@ -12,9 +12,10 @@ /* Interface history: * 0.1 - original. + * 0.2 - add i2c and connector detect. */ #define DRIVER_MAJOR 0 -#define DRIVER_MINOR 1 +#define DRIVER_MINOR 2 static const struct drm_mode_config_funcs loongson_mode_funcs = { .fb_create = drm_gem_fb_create, @@ -76,6 +77,18 @@ static int loongson_device_init(struct drm_device *dev) if (!ldev->io) return -ENOMEM; + ret = loongson_dc_gpio_init(ldev); + if (ret) { +
[PATCH v4 1/3] drm/loongson: Add DRM Driver for Loongson 7A1000 bridge chip
From: Chenyang Li This patch adds an initial DRM driver for the Loongson LS7A1000 bridge chip(LS7A). The LS7A bridge chip contains two display controllers, support dual display output. The maximum support for each channel display is to 1920x1080@60Hz. At present, DC device detection and DRM driver registration are completed, the crtc/plane/encoder/connector objects has been implemented. On Loongson 3A4000 CPU and 7A1000 system, we have achieved the use of dual screen, and support dual screen clone mode and expansion mode. v10: - Replace the drmm_ version functions. - Replace the simple_encoder version function. - Alphabetize file names. v9: - Optimize the error handling process. - Remove the useless flags parameter. - Fix some incorrect use of variables and constructs. v8: - Update the atomic_update function interface. v7: - The pixel clock is limited to less than 173000. v6: - Remove spin_lock in mmio reg read and write. - TO_UNCAC is replac with ioremap. - Fix error arguments in crtc_atomic_enable/disable/mode_valid. v5: - Change the name of the chip to LS7A. - Change magic value in crtc to macros. - Correct mistakes words. - Change the register operation function prefix to ls7a. v4: - Move the mode_valid function to the crtc. v3: - Move the mode_valid function to the connector and optimize it. - Fix num_crtc calculation method. v2: - Complete the case of 32-bit color in CRTC. Signed-off-by: Chenyang Li --- drivers/gpu/drm/Kconfig | 2 + drivers/gpu/drm/Makefile | 1 + drivers/gpu/drm/loongson/Kconfig | 14 + drivers/gpu/drm/loongson/Makefile | 14 + drivers/gpu/drm/loongson/loongson_connector.c | 47 +++ drivers/gpu/drm/loongson/loongson_crtc.c | 238 +++ drivers/gpu/drm/loongson/loongson_device.c| 35 +++ drivers/gpu/drm/loongson/loongson_drv.c | 271 ++ drivers/gpu/drm/loongson/loongson_drv.h | 149 ++ drivers/gpu/drm/loongson/loongson_encoder.c | 21 ++ drivers/gpu/drm/loongson/loongson_plane.c | 92 ++ 11 files changed, 884 insertions(+) create mode 100644 drivers/gpu/drm/loongson/Kconfig create mode 100644 drivers/gpu/drm/loongson/Makefile create mode 100644 drivers/gpu/drm/loongson/loongson_connector.c create mode 100644 drivers/gpu/drm/loongson/loongson_crtc.c create mode 100644 drivers/gpu/drm/loongson/loongson_device.c create mode 100644 drivers/gpu/drm/loongson/loongson_drv.c create mode 100644 drivers/gpu/drm/loongson/loongson_drv.h create mode 100644 drivers/gpu/drm/loongson/loongson_encoder.c create mode 100644 drivers/gpu/drm/loongson/loongson_plane.c diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig index 7ff89690a976..08562d9be6e3 100644 --- a/drivers/gpu/drm/Kconfig +++ b/drivers/gpu/drm/Kconfig @@ -365,6 +365,8 @@ source "drivers/gpu/drm/xen/Kconfig" source "drivers/gpu/drm/vboxvideo/Kconfig" +source "drivers/gpu/drm/loongson/Kconfig" + source "drivers/gpu/drm/lima/Kconfig" source "drivers/gpu/drm/panfrost/Kconfig" diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile index a118692a6df7..29c05b8cf2ad 100644 --- a/drivers/gpu/drm/Makefile +++ b/drivers/gpu/drm/Makefile @@ -119,6 +119,7 @@ obj-$(CONFIG_DRM_PL111) += pl111/ obj-$(CONFIG_DRM_TVE200) += tve200/ obj-$(CONFIG_DRM_XEN) += xen/ obj-$(CONFIG_DRM_VBOXVIDEO) += vboxvideo/ +obj-$(CONFIG_DRM_LOONGSON) += loongson/ obj-$(CONFIG_DRM_LIMA) += lima/ obj-$(CONFIG_DRM_PANFROST) += panfrost/ obj-$(CONFIG_DRM_ASPEED_GFX) += aspeed/ diff --git a/drivers/gpu/drm/loongson/Kconfig b/drivers/gpu/drm/loongson/Kconfig new file mode 100644 index ..3cf42a4cca08 --- /dev/null +++ b/drivers/gpu/drm/loongson/Kconfig @@ -0,0 +1,14 @@ +# SPDX-License-Identifier: GPL-2.0-only + +config DRM_LOONGSON + tristate "DRM support for LS7A bridge chipset" + depends on DRM && PCI + depends on CPU_LOONGSON64 + select DRM_KMS_HELPER + select DRM_VRAM_HELPER + select DRM_TTM + select DRM_TTM_HELPER + default n + help + Support the display controllers found on the Loongson LS7A + bridge. diff --git a/drivers/gpu/drm/loongson/Makefile b/drivers/gpu/drm/loongson/Makefile new file mode 100644 index ..d73ad44fe1d5 --- /dev/null +++ b/drivers/gpu/drm/loongson/Makefile @@ -0,0 +1,14 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Makefile for loongson drm drivers. +# This driver provides support for the +# Direct Rendering Infrastructure (DRI) + +ccflags-y := -Iinclude/drm +loongson-y := loongson_connector.o \ + loongson_crtc.o \ + loongson_device.o \ + loongson_drv.o \ + loongson_encoder.o \ + loongson_plane.o +obj-$(CONFIG_DRM_LOONGSON) += loongson.o diff --git a/drivers/gpu/drm/loongson/loongson_connector.c b/drivers/gpu/drm/loongson/loongson_connector.c new file mode 100644 index ..a4762d8f9987 --- /dev/null +++ b/drivers/gpu/dr
[staging:staging-testing 160/164] drivers/staging/r8188eu/core/rtw_mlme.c:762:24: warning: variable 'pmlmeext' set but not used
tree: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git staging-testing head: 9b6818c1ac0e545c632265e4bf0aa1171347ebea commit: 78f2b22efc8f7649dcde44143e78149457f1162c [160/164] staging: r8188eu: fix include directory mess config: arc-allyesconfig (attached as .config) compiler: arceb-elf-gcc (GCC) 10.3.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git/commit/?id=78f2b22efc8f7649dcde44143e78149457f1162c git remote add staging https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git git fetch --no-tags staging staging-testing git checkout 78f2b22efc8f7649dcde44143e78149457f1162c # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross ARCH=arc If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All warnings (new ones prefixed by >>): drivers/staging/r8188eu/core/rtw_mlme.c: In function 'rtw_surveydone_event_callback': >> drivers/staging/r8188eu/core/rtw_mlme.c:762:24: warning: variable 'pmlmeext' >> set but not used [-Wunused-but-set-variable] 762 | struct mlme_ext_priv *pmlmeext; |^~~~ In file included from drivers/staging/r8188eu/core/../include/drv_types.h:25, from drivers/staging/r8188eu/core/rtw_mlme.c:8: At top level: drivers/staging/r8188eu/core/../include/rtw_security.h:312:28: warning: 'K' defined but not used [-Wunused-const-variable=] 312 | static const unsigned long K[64] = { |^ -- drivers/staging/r8188eu/core/rtw_sta_mgt.c: In function 'rtw_mfree_all_stainfo': >> drivers/staging/r8188eu/core/rtw_sta_mgt.c:169:19: warning: variable 'psta' >> set but not used [-Wunused-but-set-variable] 169 | struct sta_info *psta = NULL; | ^~~~ In file included from drivers/staging/r8188eu/core/../include/drv_types.h:25, from drivers/staging/r8188eu/core/rtw_sta_mgt.c:7: At top level: drivers/staging/r8188eu/core/../include/rtw_security.h:312:28: warning: 'K' defined but not used [-Wunused-const-variable=] 312 | static const unsigned long K[64] = { |^ -- drivers/staging/r8188eu/hal/rtl8188eu_recv.c: In function 'rtl8188eu_init_recv_priv': >> drivers/staging/r8188eu/hal/rtl8188eu_recv.c:41:8: warning: cast between >> incompatible function types from 'void (*)(void *)' to 'void (*)(long >> unsigned int)' [-Wcast-function-type] 41 |(void(*)(unsigned long))rtl8188eu_recv_tasklet, |^ In file included from drivers/staging/r8188eu/hal/../include/drv_types.h:25, from drivers/staging/r8188eu/hal/rtl8188eu_recv.c:6: At top level: drivers/staging/r8188eu/hal/../include/rtw_security.h:312:28: warning: 'K' defined but not used [-Wunused-const-variable=] 312 | static const unsigned long K[64] = { |^ -- drivers/staging/r8188eu/hal/rtl8188eu_xmit.c: In function 'rtl8188eu_init_xmit_priv': >> drivers/staging/r8188eu/hal/rtl8188eu_xmit.c:17:8: warning: cast between >> incompatible function types from 'void (*)(void *)' to 'void (*)(long >> unsigned int)' [-Wcast-function-type] 17 |(void(*)(unsigned long))rtl8188eu_xmit_tasklet, |^ In file included from drivers/staging/r8188eu/hal/../include/drv_types.h:25, from drivers/staging/r8188eu/hal/rtl8188eu_xmit.c:6: At top level: drivers/staging/r8188eu/hal/../include/rtw_security.h:312:28: warning: 'K' defined but not used [-Wunused-const-variable=] 312 | static const unsigned long K[64] = { |^ -- drivers/staging/r8188eu/os_dep/osdep_service.c: In function 'rtw_buf_update': >> drivers/staging/r8188eu/os_dep/osdep_service.c:393:6: warning: variable >> 'ori_len' set but not used [-Wunused-but-set-variable] 393 | u32 ori_len = 0, dup_len = 0; | ^~~ In file included from drivers/staging/r8188eu/os_dep/../include/drv_types.h:25, from drivers/staging/r8188eu/os_dep/osdep_service.c:7: At top level: drivers/staging/r8188eu/os_dep/../include/rtw_security.h:312:28: warning: 'K' defined but not used [-Wunused-const-variable=] 312 | static const unsigned long K[64] = { |^ -- >> drivers/staging/r8188eu/core/rtw_security.c:1666: warning: This comment >> starts with '/**', but isn't a kernel-doc comment. Refer >> Documentation/doc-guide/kernel-doc.rst * Expand the cipher key into the encryption key schedule. drivers/staging/r8188eu/core/rtw_security.c:1691: warning: Function para
[staging:staging-next] BUILD SUCCESS WITH WARNING 7aaabc37943f383ec8d8e51b7fc43ae60fac4206
tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git staging-next branch HEAD: 7aaabc37943f383ec8d8e51b7fc43ae60fac4206 staging/vc04_services: Remove all strcpy() uses in favor of strscpy() possible Warning in current branch: drivers/misc/hi6421v600-irq.c:249:2-9: line 249 is redundant because platform_get_irq() already prints an error Warning ids grouped by kconfigs: gcc_recent_errors |-- i386-randconfig-c001-20210730 | `-- drivers-misc-hi6421v600-irq.c:line-is-redundant-because-platform_get_irq()-already-prints-an-error |-- m68k-randconfig-c003-20210730 | `-- drivers-misc-hi6421v600-irq.c:line-is-redundant-because-platform_get_irq()-already-prints-an-error |-- nds32-randconfig-c004-20210730 | `-- drivers-misc-hi6421v600-irq.c:line-is-redundant-because-platform_get_irq()-already-prints-an-error `-- x86_64-randconfig-c002-20210730 `-- drivers-misc-hi6421v600-irq.c:line-is-redundant-because-platform_get_irq()-already-prints-an-error elapsed time: 1720m configs tested: 140 configs skipped: 3 gcc tested configs: arm defconfig arm64allyesconfig arm64 defconfig arm allyesconfig arm allmodconfig i386 randconfig-c001-20210730 i386 randconfig-c001-20210728 sh sh7785lcr_32bit_defconfig m68kstmark2_defconfig sh sh7770_generic_defconfig powerpc currituck_defconfig mips ip32_defconfig h8300 defconfig mips cobalt_defconfig armclps711x_defconfig arm bcm2835_defconfig m68km5307c3_defconfig sh sdk7786_defconfig mips mpc30x_defconfig mips ci20_defconfig arm socfpga_defconfig arm h3600_defconfig powerpcklondike_defconfig arm footbridge_defconfig armmps2_defconfig sh defconfig powerpc bluestone_defconfig openriscdefconfig arm milbeaut_m10v_defconfig microblaze defconfig nios2 10m50_defconfig sh r7780mp_defconfig arm palmz72_defconfig powerpc tqm8540_defconfig powerpc mpc8315_rdb_defconfig m68kmvme16x_defconfig mips cu1000-neo_defconfig powerpc pseries_defconfig alphaallyesconfig x86_64allnoconfig ia64 allmodconfig ia64defconfig ia64 allyesconfig m68k allmodconfig m68kdefconfig m68k allyesconfig nios2 defconfig arc allyesconfig nds32 allnoconfig nds32 defconfig nios2allyesconfig cskydefconfig alpha defconfig xtensa allyesconfig h8300allyesconfig arc defconfig sh allmodconfig parisc defconfig s390 allyesconfig s390 allmodconfig parisc allyesconfig s390defconfig i386 allyesconfig sparcallyesconfig sparc defconfig i386defconfig mips allyesconfig mips allmodconfig powerpc allyesconfig powerpc allmodconfig powerpc allnoconfig x86_64 randconfig-a006-20210728 x86_64 randconfig-a003-20210728 x86_64 randconfig-a001-20210728 x86_64 randconfig-a004-20210728 x86_64 randconfig-a005-20210728 x86_64 randconfig-a002-20210728 i386 randconfig-a005-20210728 i386 randconfig-a003-20210728 i386 randconfig-a004-20210728 i386 randconfig-a002-20210728 i386 randconfig-a001-20210728 i386 randconfig-a006-20210728 i386 randconfig-a005-20210730 i386 randconfig-a004-20210730 i386
[staging:staging-testing] BUILD SUCCESS WITH WARNING 9b6818c1ac0e545c632265e4bf0aa1171347ebea
tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git staging-testing branch HEAD: 9b6818c1ac0e545c632265e4bf0aa1171347ebea staging: rtl8723bs: put condition parentheses at the end of a line Warning reports: https://lore.kernel.org/lkml/202107310213.wgo8czvi-...@intel.com Warning in current branch: drivers/staging/r8188eu/core/rtw_ieee80211.c:938: warning: expecting prototype for ieee802_11_parse_elems(). Prototype was for rtw_ieee802_11_parse_elems() instead drivers/staging/r8188eu/core/rtw_mlme.c:762:24: warning: variable 'pmlmeext' set but not used [-Wunused-but-set-variable] drivers/staging/r8188eu/core/rtw_security.c:1666: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst drivers/staging/r8188eu/core/rtw_security.c:1691: warning: expecting prototype for omac1_aes_128(). Prototype was for rtw_use_tkipkey_handler() instead drivers/staging/r8188eu/core/rtw_sta_mgt.c:169:19: warning: variable 'psta' set but not used [-Wunused-but-set-variable] drivers/staging/r8188eu/hal/rtl8188e_phycfg.c:104: warning: expecting prototype for Function(). Prototype was for rtl8188e_PHY_SetBBReg() instead drivers/staging/r8188eu/hal/rtl8188e_phycfg.c:144: warning: expecting prototype for Function(). Prototype was for phy_RFSerialRead() instead drivers/staging/r8188eu/hal/rtl8188e_phycfg.c:243: warning: expecting prototype for Function(). Prototype was for phy_RFSerialWrite() instead drivers/staging/r8188eu/hal/rtl8188e_phycfg.c:287: warning: expecting prototype for Function(). Prototype was for rtl8188e_PHY_QueryRFReg() instead drivers/staging/r8188eu/hal/rtl8188e_phycfg.c:323: warning: expecting prototype for Function(). Prototype was for rtl8188e_PHY_SetRFReg() instead drivers/staging/r8188eu/hal/rtl8188e_phycfg.c:389: warning: expecting prototype for Function(). Prototype was for phy_InitBBRFRegisterDefinition() instead drivers/staging/r8188eu/hal/rtl8188e_phycfg.c:46: warning: expecting prototype for Function(). Prototype was for phy_CalculateBitShift() instead drivers/staging/r8188eu/hal/rtl8188e_phycfg.c:76: warning: expecting prototype for Function(). Prototype was for rtl8188e_PHY_QueryBBReg() instead drivers/staging/r8188eu/hal/rtl8188eu_recv.c:41:8: warning: cast between incompatible function types from 'void (*)(void *)' to 'void (*)(long unsigned int)' [-Wcast-function-type] drivers/staging/r8188eu/hal/rtl8188eu_xmit.c:17:8: warning: cast between incompatible function types from 'void (*)(void *)' to 'void (*)(long unsigned int)' [-Wcast-function-type] drivers/staging/r8188eu/os_dep/ioctl_linux.c:110: warning: expecting prototype for hwaddr_aton(). Prototype was for hwaddr_aton_i() instead drivers/staging/r8188eu/os_dep/osdep_service.c:393:6: warning: variable 'ori_len' set but not used [-Wunused-but-set-variable] drivers/staging/r8188eu/os_dep/rtw_android.c:53: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst Warning ids grouped by kconfigs: gcc_recent_errors |-- alpha-allyesconfig | |-- drivers-staging-r8188eu-core-rtw_ieee80211.c:warning:expecting-prototype-for-ieee802_11_parse_elems().-Prototype-was-for-rtw_ieee802_11_parse_elems()-instead | |-- drivers-staging-r8188eu-core-rtw_mlme.c:warning:variable-pmlmeext-set-but-not-used | |-- drivers-staging-r8188eu-core-rtw_security.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst | |-- drivers-staging-r8188eu-core-rtw_security.c:warning:expecting-prototype-for-omac1_aes_128().-Prototype-was-for-rtw_use_tkipkey_handler()-instead | |-- drivers-staging-r8188eu-core-rtw_sta_mgt.c:warning:variable-psta-set-but-not-used | |-- drivers-staging-r8188eu-hal-rtl8188e_phycfg.c:warning:expecting-prototype-for-Function().-Prototype-was-for-phy_CalculateBitShift()-instead | |-- drivers-staging-r8188eu-hal-rtl8188e_phycfg.c:warning:expecting-prototype-for-Function().-Prototype-was-for-phy_InitBBRFRegisterDefinition()-instead | |-- drivers-staging-r8188eu-hal-rtl8188e_phycfg.c:warning:expecting-prototype-for-Function().-Prototype-was-for-phy_RFSerialRead()-instead | |-- drivers-staging-r8188eu-hal-rtl8188e_phycfg.c:warning:expecting-prototype-for-Function().-Prototype-was-for-phy_RFSerialWrite()-instead | |-- drivers-staging-r8188eu-hal-rtl8188e_phycfg.c:warning:expecting-prototype-for-Function().-Prototype-was-for-rtl8188e_PHY_QueryBBReg()-instead | |-- drivers-staging-r8188eu-hal-rtl8188e_phycfg.c:warning:expecting-prototype-for-Function().-Prototype-was-for-rtl8188e_PHY_QueryRFReg()-instead | |-- drivers-staging-r8188eu-hal-rtl8188e_phycfg.c:warning:expecting-prototype-for-Function().-Prototype-was-for-rtl8188e_PHY_SetBBReg()-instead | |-- drivers-staging-r8188eu-hal-rtl8188e_phycfg.c:warning:expecting-prototype-for-Function().-Prototype-was-for-rtl8188e_PHY_SetRFReg()-instead | |-- dr