1. 10 Nov, 2023 23 commits
    • Uwe Kleine-König's avatar
      fbdev: amifb: Convert to platform remove callback returning void · dce21778
      Uwe Kleine-König authored
      The .remove() callback for a platform driver returns an int which makes
      many driver authors wrongly assume it's possible to do error handling by
      returning an error code. However the value returned is ignored (apart
      from emitting a warning) and this typically results in resource leaks.
      
      To improve here there is a quest to make the remove callback return
      void. In the first step of this quest all drivers are converted to
      .remove_new(), which already returns void. Eventually after all drivers
      are converted, .remove_new() will be renamed to .remove().
      
      Trivially convert this driver from always returning zero in the remove
      callback to the void returning variant.
      Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Reviewed-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      dce21778
    • Uwe Kleine-König's avatar
      fbdev: amifb: Mark driver struct with __refdata to prevent section mismatch warning · 67e1ab5b
      Uwe Kleine-König authored
      As described in the added code comment, a reference to .exit.text is ok
      for drivers registered via module_platform_driver_probe(). Make this
      explicit to prevent a section mismatch warning.
      Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Reviewed-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      67e1ab5b
    • Arnd Bergmann's avatar
      fbdev: hyperv_fb: fix uninitialized local variable use · cca202a5
      Arnd Bergmann authored
      When CONFIG_SYSFB is disabled, the hyperv_fb driver can now run into
      undefined behavior on a gen2 VM, as indicated by this smatch warning:
      
      drivers/video/fbdev/hyperv_fb.c:1077 hvfb_getmem() error: uninitialized symbol 'base'.
      drivers/video/fbdev/hyperv_fb.c:1077 hvfb_getmem() error: uninitialized symbol 'size'.
      
      Since there is no way to know the actual framebuffer in this configuration,
      just return an allocation failure here, which should avoid the build
      warning and the undefined behavior.
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Reported-by: default avatarDan Carpenter <dan.carpenter@linaro.org>
      Closes: https://lore.kernel.org/r/202311070802.YCpvehaz-lkp@intel.com/
      Fixes: a07b50d8 ("hyperv: avoid dependency on screen_info")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      cca202a5
    • Uwe Kleine-König's avatar
      fbdev: omapfb/tpd12s015: Convert to platform remove callback returning void · 2e2389ca
      Uwe Kleine-König authored
      The .remove() callback for a platform driver returns an int which makes
      many driver authors wrongly assume it's possible to do error handling by
      returning an error code. However the value returned is ignored (apart
      from emitting a warning) and this typically results in resource leaks.
      
      To improve here there is a quest to make the remove callback return
      void. In the first step of this quest all drivers are converted to
      .remove_new(), which already returns void. Eventually after all drivers
      are converted, .remove_new() will be renamed to .remove().
      
      Trivially convert this driver from always returning zero in the remove
      callback to the void returning variant.
      Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      2e2389ca
    • Uwe Kleine-König's avatar
      fbdev: omapfb/tfp410: Convert to platform remove callback returning void · a23f29d0
      Uwe Kleine-König authored
      The .remove() callback for a platform driver returns an int which makes
      many driver authors wrongly assume it's possible to do error handling by
      returning an error code. However the value returned is ignored (apart
      from emitting a warning) and this typically results in resource leaks.
      
      To improve here there is a quest to make the remove callback return
      void. In the first step of this quest all drivers are converted to
      .remove_new(), which already returns void. Eventually after all drivers
      are converted, .remove_new() will be renamed to .remove().
      
      Trivially convert this driver from always returning zero in the remove
      callback to the void returning variant.
      Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      a23f29d0
    • Uwe Kleine-König's avatar
      fbdev: omapfb/sharp-ls037v7dw01: Convert to platform remove callback returning void · b0d61e8c
      Uwe Kleine-König authored
      The .remove() callback for a platform driver returns an int which makes
      many driver authors wrongly assume it's possible to do error handling by
      returning an error code. However the value returned is ignored (apart
      from emitting a warning) and this typically results in resource leaks.
      
      To improve here there is a quest to make the remove callback return
      void. In the first step of this quest all drivers are converted to
      .remove_new(), which already returns void. Eventually after all drivers
      are converted, .remove_new() will be renamed to .remove().
      
      Trivially convert this driver from always returning zero in the remove
      callback to the void returning variant.
      Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      b0d61e8c
    • Uwe Kleine-König's avatar
      fbdev: omapfb/opa362: Convert to platform remove callback returning void · fe83fc52
      Uwe Kleine-König authored
      The .remove() callback for a platform driver returns an int which makes
      many driver authors wrongly assume it's possible to do error handling by
      returning an error code. However the value returned is ignored (apart
      from emitting a warning) and this typically results in resource leaks.
      
      To improve here there is a quest to make the remove callback return
      void. In the first step of this quest all drivers are converted to
      .remove_new(), which already returns void. Eventually after all drivers
      are converted, .remove_new() will be renamed to .remove().
      
      Trivially convert this driver from always returning zero in the remove
      callback to the void returning variant.
      Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      fe83fc52
    • Uwe Kleine-König's avatar
      fbdev: omapfb/hdmi: Convert to platform remove callback returning void · 34948a36
      Uwe Kleine-König authored
      The .remove() callback for a platform driver returns an int which makes
      many driver authors wrongly assume it's possible to do error handling by
      returning an error code. However the value returned is ignored (apart
      from emitting a warning) and this typically results in resource leaks.
      
      To improve here there is a quest to make the remove callback return
      void. In the first step of this quest all drivers are converted to
      .remove_new(), which already returns void. Eventually after all drivers
      are converted, .remove_new() will be renamed to .remove().
      
      Trivially convert this driver from always returning zero in the remove
      callback to the void returning variant.
      Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      34948a36
    • Uwe Kleine-König's avatar
      fbdev: omapfb/dvi: Convert to platform remove callback returning void · ebfb1334
      Uwe Kleine-König authored
      The .remove() callback for a platform driver returns an int which makes
      many driver authors wrongly assume it's possible to do error handling by
      returning an error code. However the value returned is ignored (apart
      from emitting a warning) and this typically results in resource leaks.
      
      To improve here there is a quest to make the remove callback return
      void. In the first step of this quest all drivers are converted to
      .remove_new(), which already returns void. Eventually after all drivers
      are converted, .remove_new() will be renamed to .remove().
      
      Trivially convert this driver from always returning zero in the remove
      callback to the void returning variant.
      Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      ebfb1334
    • Uwe Kleine-König's avatar
      fbdev: omapfb/dsi-cm: Convert to platform remove callback returning void · da21ff39
      Uwe Kleine-König authored
      The .remove() callback for a platform driver returns an int which makes
      many driver authors wrongly assume it's possible to do error handling by
      returning an error code. However the value returned is ignored (apart
      from emitting a warning) and this typically results in resource leaks.
      
      To improve here there is a quest to make the remove callback return
      void. In the first step of this quest all drivers are converted to
      .remove_new(), which already returns void. Eventually after all drivers
      are converted, .remove_new() will be renamed to .remove().
      
      Trivially convert this driver from always returning zero in the remove
      callback to the void returning variant.
      Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      da21ff39
    • Uwe Kleine-König's avatar
      fbdev: omapfb/dpi: Convert to platform remove callback returning void · d5d8b9df
      Uwe Kleine-König authored
      The .remove() callback for a platform driver returns an int which makes
      many driver authors wrongly assume it's possible to do error handling by
      returning an error code. However the value returned is ignored (apart
      from emitting a warning) and this typically results in resource leaks.
      
      To improve here there is a quest to make the remove callback return
      void. In the first step of this quest all drivers are converted to
      .remove_new(), which already returns void. Eventually after all drivers
      are converted, .remove_new() will be renamed to .remove().
      
      Trivially convert this driver from always returning zero in the remove
      callback to the void returning variant.
      Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      d5d8b9df
    • Uwe Kleine-König's avatar
      fbdev: omapfb/analog-tv: Convert to platform remove callback returning void · 26553eb8
      Uwe Kleine-König authored
      The .remove() callback for a platform driver returns an int which makes
      many driver authors wrongly assume it's possible to do error handling by
      returning an error code. However the value returned is ignored (apart
      from emitting a warning) and this typically results in resource leaks.
      
      To improve here there is a quest to make the remove callback return
      void. In the first step of this quest all drivers are converted to
      .remove_new(), which already returns void. Eventually after all drivers
      are converted, .remove_new() will be renamed to .remove().
      
      Trivially convert this driver from always returning zero in the remove
      callback to the void returning variant.
      Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      26553eb8
    • Uwe Kleine-König's avatar
      fbdev: atmel_lcdfb: Convert to platform remove callback returning void · 42a0148a
      Uwe Kleine-König authored
      The .remove() callback for a platform driver returns an int which makes
      many driver authors wrongly assume it's possible to do error handling by
      returning an error code. However the value returned is ignored (apart
      from emitting a warning) and this typically results in resource leaks.
      
      To improve here there is a quest to make the remove callback return
      void. In the first step of this quest all drivers are converted to
      .remove_new(), which already returns void. Eventually after all drivers
      are converted, .remove_new() will be renamed to .remove().
      
      Trivially convert this driver from always returning zero in the remove
      callback to the void returning variant.
      Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      42a0148a
    • Uwe Kleine-König's avatar
      fbdev: omapfb/tpd12s015: Don't put .remove() in .exit.text and drop suppress_bind_attrs · 3e9ec977
      Uwe Kleine-König authored
      On today's platforms the memory savings of putting the remove function
      in .exit isn't that relevant any more. It only matters for built-in
      drivers and typically saves a few 100k.
      
      The downside is that the driver cannot be unbound at runtime which is
      ancient and also slightly complicates testing. Also it requires to mark
      the driver struct with __refdata which is needed to suppress a (W=1)
      modpost warning:
      
      	WARNING: modpost: drivers/video/fbdev/omap2/omapfb/displays/encoder-tpd12s015: section mismatch in reference: tpd_driver+0x4 (section: .data) -> tpd_remove (section: .exit.text)
      
      To simplify matters, move the remove callback to .text and drop
      .suppress_bind_attrs = true.
      Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      3e9ec977
    • Uwe Kleine-König's avatar
      fbdev: omapfb/tfp410: Don't put .remove() in .exit.text and drop suppress_bind_attrs · 20bcc282
      Uwe Kleine-König authored
      On today's platforms the memory savings of putting the remove function
      in .exit isn't that relevant any more. It only matters for built-in
      drivers and typically saves a few 100k.
      
      The downside is that the driver cannot be unbound at runtime which is
      ancient and also slightly complicates testing. Also it requires to mark
      the driver struct with __refdata which is needed to suppress a (W=1)
      modpost warning:
      
      	WARNING: modpost: drivers/video/fbdev/omap2/omapfb/displays/encoder-tfp410: section mismatch in reference: tfp410_driver+0x4 (section: .data) -> tfp410_remove (section: .exit.text)
      
      To simplify matters, move the remove callback to .text and drop
      .suppress_bind_attrs = true.
      Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      20bcc282
    • Uwe Kleine-König's avatar
      fbdev: omapfb/sharp-ls037v7dw01: Don't put .remove() in .exit.text and drop suppress_bind_attrs · 6a06fc77
      Uwe Kleine-König authored
      On today's platforms the memory savings of putting the remove function
      in .exit isn't that relevant any more. It only matters for built-in
      drivers and typically saves a few 100k.
      
      The downside is that the driver cannot be unbound at runtime which is
      ancient and also slightly complicates testing. Also it requires to mark
      the driver struct with __refdata which is needed to suppress a (W=1)
      modpost warning:
      
      	WARNING: modpost: drivers/video/fbdev/omap2/omapfb/displays/panel-sharp-ls037v7dw01: section mismatch in reference: sharp_ls_driver+0x4 (section: .data) -> sharp_ls_remove (section: .exit.text)
      
      To simplify matters, move the remove callback to .text and drop
      .suppress_bind_attrs = true.
      Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      6a06fc77
    • Uwe Kleine-König's avatar
      fbdev: omapfb/opa362: Don't put .remove() in .exit.text and drop suppress_bind_attrs · 7462e460
      Uwe Kleine-König authored
      On today's platforms the memory savings of putting the remove function
      in .exit isn't that relevant any more. It only matters for built-in
      drivers and typically saves a few 100k.
      
      The downside is that the driver cannot be unbound at runtime which is
      ancient and also slightly complicates testing. Also it requires to mark
      the driver struct with __refdata which is needed to suppress a (W=1)
      modpost warning:
      
      	WARNING: modpost: drivers/video/fbdev/omap2/omapfb/displays/encoder-tfp410: section mismatch in reference: tfp410_driver+0x4 (section: .data) -> tfp410_remove (section: .exit.text)
      
      To simplify matters, move the remove callback to .text and drop
      .suppress_bind_attrs = true.
      Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      7462e460
    • Uwe Kleine-König's avatar
      fbdev: omapfb/hdmi: Don't put .remove() in .exit.text and drop suppress_bind_attrs · 1fc9ea05
      Uwe Kleine-König authored
      On today's platforms the memory savings of putting the remove function
      in .exit isn't that relevant any more. It only matters for built-in
      drivers and typically saves a few 100k.
      
      The downside is that the driver cannot be unbound at runtime which is
      ancient and also slightly complicates testing. Also it requires to mark
      the driver struct with __refdata which is needed to suppress a (W=1)
      modpost warning:
      
      	WARNING: modpost: drivers/video/fbdev/omap2/omapfb/displays/connector-hdmi: section mismatch in reference: hdmi_connector_driver+0x4 (section: .data) -> hdmic_remove (section: .exit.text)
      
      To simplify matters, move the remove callback to .text and drop
      .suppress_bind_attrs = true.
      Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      1fc9ea05
    • Uwe Kleine-König's avatar
      fbdev: omapfb/dvi: Don't put .remove() in .exit.text and drop suppress_bind_attrs · f004d911
      Uwe Kleine-König authored
      On today's platforms the memory savings of putting the remove function
      in .exit isn't that relevant any more. It only matters for built-in
      drivers and typically saves a few 100k.
      
      The downside is that the driver cannot be unbound at runtime which is
      ancient and also slightly complicates testing. Also it requires to mark
      the driver struct with __refdata which is needed to suppress a (W=1)
      modpost warning:
      
      	WARNING: modpost: drivers/video/fbdev/omap2/omapfb/displays/connector-dvi: section mismatch in reference: dvi_connector_driver+0x4 (section: .data) -> dvic_remove (section: .exit.text)
      
      To simplify matters, move the remove callback to .text and drop
      .suppress_bind_attrs = true.
      Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      f004d911
    • Uwe Kleine-König's avatar
      fbdev: omapfb/dsi-cm: Don't put .remove() in .exit.text and drop suppress_bind_attrs · b02e6f70
      Uwe Kleine-König authored
      On today's platforms the memory savings of putting the remove function
      in .exit isn't that relevant any more. It only matters for built-in
      drivers and typically saves a few 100k.
      
      The downside is that the driver cannot be unbound at runtime which is
      ancient and also slightly complicates testing. Also it requires to mark
      the driver struct with __refdata which is needed to suppress a (W=1)
      modpost warning:
      
      	WARNING: modpost: drivers/video/fbdev/omap2/omapfb/displays/panel-dsi-cm: section mismatch in reference: dsicm_driver+0x4 (section: .data) -> dsicm_remove (section: .exit.text)
      
      To simplify matters, move the remove callback to .text and drop
      .suppress_bind_attrs = true.
      Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      b02e6f70
    • Uwe Kleine-König's avatar
      fbdev: omapfb/dpi: Don't put .remove() in .exit.text and drop suppress_bind_attrs · bfaee697
      Uwe Kleine-König authored
      On today's platforms the memory savings of putting the remove function
      in .exit isn't that relevant any more. It only matters for built-in
      drivers and typically saves a few 100k.
      
      The downside is that the driver cannot be unbound at runtime which is
      ancient and also slightly complicates testing. Also it requires to mark
      the driver struct with __refdata which is needed to suppress a (W=1)
      modpost warning:
      
      	WARNING: modpost: drivers/video/fbdev/omap2/omapfb/displays/panel-dpi: section mismatch in reference: panel_dpi_driver+0x4 (section: .data) -> panel_dpi_remove (section: .exit.text)
      
      To simplify matters, move the remove callback to .text and drop
      .suppress_bind_attrs = true.
      Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      bfaee697
    • Uwe Kleine-König's avatar
      fbdev: omapfb/analog-tv: Don't put .remove() in .exit.text and drop suppress_bind_attrs · 7fbbc086
      Uwe Kleine-König authored
      On today's platforms the memory savings of putting the remove function
      in .exit isn't that relevant any more. It only matters for built-in
      drivers and typically saves a few 100k.
      
      The downside is that the driver cannot be unbound at runtime which is
      ancient and also slightly complicates testing. Also it requires to mark
      the driver struct with __refdata which is needed to suppress a (W=1)
      modpost warning:
      
      	WARNING: modpost: drivers/video/fbdev/omap2/omapfb/displays/connector-analog-tv: section mismatch in reference: tvc_connector_driver+0x4 (section: .data) -> tvc_remove (section: .exit.text)
      
      To simplify matters, move the remove callback to .text and drop
      .suppress_bind_attrs = true.
      Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      7fbbc086
    • Uwe Kleine-König's avatar
      fbdev: atmel_lcdfb: Stop using platform_driver_probe() · 13c8fb98
      Uwe Kleine-König authored
      On today's platforms the benefit of platform_driver_probe() isn't that
      relevant any more. It allows to drop some code after booting (or module
      loading) for .probe() and discard the .remove() function completely if
      the driver is built-in. This typically saves a few 100k.
      
      The downside of platform_driver_probe() is that the driver cannot be
      bound and unbound at runtime which is ancient and also slightly
      complicates testing. There are also thoughts to deprecate
      platform_driver_probe() because it adds some complexity in the driver
      core for little gain. Also many drivers don't use it correctly. This
      driver for example misses to mark the driver struct with __refdata which
      is needed to suppress a (W=1) modpost warning:
      
      	WARNING: modpost: drivers/video/fbdev/atmel_lcdfb: section mismatch in reference: atmel_lcdfb_driver+0x4 (section: .data) -> atmel_lcdfb_remove (section: .exit.text)
      
      [folded in patch by Nathan Chancellor]
      Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Signed-off-by: default avatarNathan Chancellor <nathan@kernel.org>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      13c8fb98
  2. 07 Nov, 2023 7 commits
  3. 06 Nov, 2023 3 commits
    • Linus Torvalds's avatar
      Merge tag 'media/v6.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · be3ca57c
      Linus Torvalds authored
      Pull media updates from Mauro Carvalho Chehab:
      
       - the old V4L2 core videobuf kAPI was finally removed. All media
         drivers should now be using VB2 kAPI
      
       - new automotive driver: mgb4
      
       - new platform video driver: npcm-video
      
       - new sensor driver: mt9m114
      
       - new TI driver used in conjunction with Cadence CSI2RX IP to bridge
         TI-specific parts
      
       - ir-rx51 was removed and the N900 DT binding was moved to the
         pwm-ir-tx generic driver
      
       - drop atomisp-specific ov5693, using the upstream driver instead
      
       - the camss driver has gained RDI3 support for VFE 17x
      
       - the atomisp driver now detects ISP2400 or ISP2401 at run time. No
         need to set it up at build time anymore
      
       - lots of driver fixes, cleanups and improvements
      
      * tag 'media/v6.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (377 commits)
        media: nuvoton: VIDEO_NPCM_VCD_ECE should depend on ARCH_NPCM
        media: venus: Fix firmware path for resources
        media: venus: hfi_cmds: Replace one-element array with flex-array member and use __counted_by
        media: venus: hfi_parser: Add check to keep the number of codecs within range
        media: venus: hfi: add checks to handle capabilities from firmware
        media: venus: hfi: fix the check to handle session buffer requirement
        media: venus: hfi: add checks to perform sanity on queue pointers
        media: platform: cadence: select MIPI_DPHY dependency
        media: MAINTAINERS: Fix path for J721E CSI2RX bindings
        media: cec: meson: always include meson sub-directory in Makefile
        media: videobuf2: Fix IS_ERR checking in vb2_dc_put_userptr()
        media: platform: mtk-mdp3: fix uninitialized variable in mdp_path_config()
        media: mediatek: vcodec: using encoder device to alloc/free encoder memory
        media: imx-jpeg: notify source chagne event when the first picture parsed
        media: cx231xx: Use EP5_BUF_SIZE macro
        media: siano: Drop unnecessary error check for debugfs_create_dir/file()
        media: mediatek: vcodec: Handle invalid encoder vsi
        media: aspeed: Drop unnecessary error check for debugfs_create_file()
        Documentation: media: buffer.rst: fix V4L2_BUF_FLAG_PREPARED
        Documentation: media: gen-errors.rst: fix confusing ENOTTY description
        ...
      be3ca57c
    • Linus Torvalds's avatar
      Merge tag 'rtc-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux · d2f51b35
      Linus Torvalds authored
      Pull RTC updates from Alexandre Belloni:
       "There is a new driver for the RTC of the Mstar SSD202D SoC. The
        rtc7301 driver gains support for byte addresses to support the
        USRobotics USR8200. Then we have many non user visible changes and
        typo fixes.
      
        Summary:
      
        Subsytem:
         - convert platform drivers to remove_new
         - prevent modpost warnings for unremovable platform drivers
      
        New driver:
         - Mstar SSD202D
      
        Drivers:
         - brcmstb-waketimer: support level alarm_irq
         - ep93xx: add DT support
         - rtc7301: support byte-addressed IO"
      
      * tag 'rtc-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (28 commits)
        dt-bindings: rtc: Add Mstar SSD202D RTC
        rtc: Add support for the SSD202D RTC
        rtc: at91rm9200: annotate at91_rtc_remove with __exit again
        dt-bindings: rtc: microcrystal,rv3032: Document wakeup-source property
        dt-bindings: rtc: pcf8523: Convert to YAML
        dt-bindings: rtc: mcp795: move to trivial-rtc
        rtc: ep93xx: add DT support for Cirrus EP93xx
        dt-bindings: rtc: Add Cirrus EP93xx
        dt-bindings: rtc: pcf2123: convert to YAML
        rtc: efi: fixed typo in efi_procfs()
        rtc: omap: Use device_get_match_data()
        rtc: pcf85363: fix wrong mask/val parameters in regmap_update_bits call
        rtc: rtc7301: Support byte-addressed IO
        rtc: rtc7301: Rewrite bindings in schema
        rtc: sh: Convert to platform remove callback returning void
        rtc: pxa: Convert to platform remove callback returning void
        rtc: mv: Convert to platform remove callback returning void
        rtc: imxdi: Convert to platform remove callback returning void
        rtc: at91rm9200: Convert to platform remove callback returning void
        rtc: pcap: Drop no-op remove function
        ...
      d2f51b35
    • Linus Torvalds's avatar
      Merge tag 'mailbox-v6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/jassibrar/mailbox · 7b2c9e41
      Linus Torvalds authored
      Pull mailbox updates from Jassi Brar:
      
       - imx: add support for TX Doorbell v2
      
       - mtk: implement runtime PM
      
       - zynqmp: add destination mailbox compatible
      
       - qcom:
          - add another clock provider for IPQ
          - add SM8650 compatible
      
       - misc: use preferred device_get_match_data()
      
      * tag 'mailbox-v6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/jassibrar/mailbox:
        dt-bindings: mailbox: qcom-ipcc: document the SM8650 Inter-Processor Communication Controller
        mailbox: mtk-cmdq-mailbox: Implement Runtime PM with autosuspend
        mailbox: Use device_get_match_data()
        dt-bindings: zynqmp: add destination mailbox compatible
        dt-bindings: mailbox: qcom: add one more clock provider for IPQ mailbox
        mailbox: imx: support channel type tx doorbell v2
        dt-bindings: mailbox: fsl,mu: add new tx doorbell channel
      7b2c9e41
  4. 05 Nov, 2023 7 commits
    • Linus Torvalds's avatar
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · 77fa2fbe
      Linus Torvalds authored
      Pull virtio updates from Michael Tsirkin:
       "vhost,virtio,vdpa: features, fixes, cleanups.
      
        vdpa/mlx5:
         - VHOST_BACKEND_F_ENABLE_AFTER_DRIVER_OK
         - new maintainer
      
        vdpa:
         - support for vq descriptor mappings
         - decouple reset of iotlb mapping from device reset
      
        and fixes, cleanups all over the place"
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost: (34 commits)
        vdpa_sim: implement .reset_map support
        vdpa/mlx5: implement .reset_map driver op
        vhost-vdpa: clean iotlb map during reset for older userspace
        vdpa: introduce .compat_reset operation callback
        vhost-vdpa: introduce IOTLB_PERSIST backend feature bit
        vhost-vdpa: reset vendor specific mapping to initial state in .release
        vdpa: introduce .reset_map operation callback
        virtio_pci: add check for common cfg size
        virtio-blk: fix implicit overflow on virtio_max_dma_size
        virtio_pci: add build offset check for the new common cfg items
        virtio: add definition of VIRTIO_F_NOTIF_CONFIG_DATA feature bit
        vduse: make vduse_class constant
        vhost-scsi: Spelling s/preceeding/preceding/g
        virtio: kdoc for struct virtio_pci_modern_device
        vdpa: Update sysfs ABI documentation
        MAINTAINERS: Add myself as mlx5_vdpa driver
        virtio-balloon: correct the comment of virtballoon_migratepage()
        mlx5_vdpa: offer VHOST_BACKEND_F_ENABLE_AFTER_DRIVER_OK
        vdpa/mlx5: Update cvq iotlb mapping on ASID change
        vdpa/mlx5: Make iotlb helper functions more generic
        ...
      77fa2fbe
    • Linus Torvalds's avatar
      Merge tag 'firewire-updates-6.7' of... · 1cfb7511
      Linus Torvalds authored
      Merge tag 'firewire-updates-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394
      
      Pull firewire update from Takashi Sakamoto:
       "A slight change for flexible length of array in core function.
      
        Kees Cook provides a patch to annotate the array embedded in fw_node
        structure referring to structure member for the length of array. The
        annotation would be defined by future extension of C compilers, and
        used for access bound-check at run-time enabled by UBSAN and
        FORTIFY_SOURCE"
      
      * tag 'firewire-updates-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394:
        firewire: Annotate struct fw_node with __counted_by
      1cfb7511
    • Linus Torvalds's avatar
      Merge tag 'i2c-for-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 3d05e493
      Linus Torvalds authored
      Pull i2c updates from Wolfram Sang:
       "I2C has largely driver updates for 6.7, i.e. feature additions (like
        adding transfers while in atomic mode), using new helpers (like
        devm_clk_get_enabled), new IDs, documentation fixes and additions...
        you name it.
      
        The core got a memleak fix and better support for nested muxes"
      
      * tag 'i2c-for-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (53 commits)
        i2c: s3c2410: make i2c_s3c_irq_nextbyte() void
        i2c: qcom-geni: add ACPI device id for sc8180x
        Documentation: i2c: add fault code for not supporting 10 bit addresses
        i2c: sun6i-p2wi: Prevent potential division by zero
        i2c: mux: demux-pinctrl: Convert to use sysfs_emit_at() API
        i2c: i801: Use new helper acpi_use_parent_companion
        ACPI: Add helper acpi_use_parent_companion
        MAINTAINERS: add YAML file for i2c-demux-pinctrl
        i2c: core: fix lockdep warning for sparsely nested adapter chain
        i2c: axxia: eliminate kernel-doc warnings
        dt-bindings: i2c: i2c-demux-pinctrl: Convert to json-schema
        i2c: stm32f7: Use devm_clk_get_enabled()
        i2c: stm32f4: Use devm_clk_get_enabled()
        i2c: stm32f7: add description of atomic in struct stm32f7_i2c_dev
        i2c: fix memleak in i2c_new_client_device()
        i2c: exynos5: Calculate t_scl_l, t_scl_h according to i2c spec
        i2c: i801: Simplify class-based client device instantiation
        i2c: exynos5: add support for atomic transfers
        i2c: at91-core: Use devm_clk_get_enabled()
        eeprom: at24: add ST M24C64-D Additional Write lockable page support
        ...
      3d05e493
    • Linus Torvalds's avatar
      Merge tag 'ubifs-for-linus-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs · 2153fc3d
      Linus Torvalds authored
      Pull UBI and UBIFS updates from Richard Weinberger:
      
       - UBI Fastmap improvements
      
       - Minor issues found by static analysis bots in both UBI and UBIFS
      
       - Fix for wrong dentry length UBIFS in fscrypt mode
      
      * tag 'ubifs-for-linus-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs:
        ubifs: ubifs_link: Fix wrong name len calculating when UBIFS is encrypted
        ubi: block: Fix use-after-free in ubiblock_cleanup
        ubifs: fix possible dereference after free
        ubi: fastmap: Add control in 'UBI_IOCATT' ioctl to reserve PEBs for filling pools
        ubi: fastmap: Add module parameter to control reserving filling pool PEBs
        ubi: fastmap: Fix lapsed wear leveling for first 64 PEBs
        ubi: fastmap: Get wl PEB even ec beyonds the 'max' if free PEBs are run out
        ubi: fastmap: may_reserve_for_fm: Don't reserve PEB if fm_anchor exists
        ubi: fastmap: Remove unneeded break condition while filling pools
        ubi: fastmap: Wait until there are enough free PEBs before filling pools
        ubi: fastmap: Use free pebs reserved for bad block handling
        ubi: Replace erase_block() with sync_erase()
        ubi: fastmap: Allocate memory with GFP_NOFS in ubi_update_fastmap
        ubi: fastmap: erase_block: Get erase counter from wl_entry rather than flash
        ubi: fastmap: Fix missed ec updating after erasing old fastmap data block
        ubifs: Fix missing error code err
        ubifs: Fix memory leak of bud->log_hash
        ubifs: Fix some kernel-doc comments
      2153fc3d
    • Kees Cook's avatar
      firewire: Annotate struct fw_node with __counted_by · c12d7aa7
      Kees Cook authored
      Prepare for the coming implementation by GCC and Clang of the __counted_by
      attribute. Flexible array members annotated with __counted_by can have
      their accesses bounds-checked at run-time checking via CONFIG_UBSAN_BOUNDS
      (for array indexing) and CONFIG_FORTIFY_SOURCE (for strcpy/memcpy-family
      functions).
      
      As found with Coccinelle[1], add __counted_by for struct fw_node.
      
      [1] https://github.com/kees/kernel-tools/blob/trunk/coccinelle/examples/counted_by.cocci
      
      Cc: Takashi Sakamoto <o-takashi@sakamocchi.jp>
      Cc: linux1394-devel@lists.sourceforge.net
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      Reviewed-by: default avatarGustavo A. R. Silva <gustavoars@kernel.org>
      Link: https://lore.kernel.org/r/20230922175334.work.335-kees@kernel.orgSigned-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      c12d7aa7
    • Linus Torvalds's avatar
      Merge tag 'i3c/for-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux · 1c410411
      Linus Torvalds authored
      Pull i3c updates from Alexandre Belloni:
       "There are now more fixes because as stated in my previous pull
        request, people now have access to actual hardware.
      
        Core:
      
         - handle IBI in the proper order
      
        Drivers:
      
         - cdns: fix status register access
      
         - mipi-i3c-hci: many fixes now that the driver has been actually
           tested
      
         - svc: many IBI fixes, correct compatible string, fix hot join corner
           cases"
      
      * tag 'i3c/for-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux: (29 commits)
        i3c: master: handle IBIs in order they came
        i3c: master: mipi-i3c-hci: Fix a kernel panic for accessing DAT_data.
        i3c: master: svc: fix compatibility string mismatch with binding doc
        i3c: master: svc: fix random hot join failure since timeout error
        i3c: master: svc: fix SDA keep low when polling IBIWON timeout happen
        i3c: master: svc: fix check wrong status register in irq handler
        i3c: master: svc: fix ibi may not return mandatory data byte
        i3c: master: svc: fix wrong data return when IBI happen during start frame
        i3c: master: svc: fix race condition in ibi work thread
        i3c: Fix typo "Provisional ID" to "Provisioned ID"
        i3c: Fix potential refcount leak in i3c_master_register_new_i3c_devs
        i3c: mipi-i3c-hci: Resume controller after aborted transfer
        i3c: mipi-i3c-hci: Resume controller explicitly
        i3c: mipi-i3c-hci: Fix missing xfer->completion in hci_cmd_v1_daa()
        i3c: mipi-i3c-hci: Do not unmap region not mapped for transfer
        i3c: mipi-i3c-hci: Set number of SW enabled Ring Bundles earlier
        i3c: mipi-i3c-hci: Fix race between bus cleanup and interrupt
        i3c: mipi-i3c-hci: Set ring start request together with enable
        i3c: mipi-i3c-hci: Remove BUG() when Ring Abort request times out
        i3c: mipi-i3c-hci: Fix out of bounds access in hci_dma_irq_handler
        ...
      1c410411
    • Linus Torvalds's avatar
      Merge tag 'cxl-for-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl · b8cc56d0
      Linus Torvalds authored
      Pull CXL (Compute Express Link) updates from Dan Williams:
       "The main new functionality this time is work to allow Linux to
        natively handle CXL link protocol errors signalled via PCIe AER for
        current generation CXL platforms. This required some enlightenment of
        the PCIe AER core to workaround the fact that current generation RCH
        (Restricted CXL Host) platforms physically hide topology details and
        registers via a mechanism called RCRB (Root Complex Register Block).
      
        The next major highlight is reworks to address bugs in parsing region
        configurations for next generation VH (Virtual Host) topologies. The
        old broken algorithm is replaced with a simpler one that significantly
        increases the number of region configurations supported by Linux. This
        is again relevant for error handling so that forward and reverse
        address translation of memory errors can be carried out by Linux for
        memory regions instantiated by platform firmware.
      
        As for other cross-tree work, the ACPI table parsing code has been
        refactored for reuse parsing the "CDAT" structure which is an
        ACPI-like data structure that is reported by CXL devices. That work is
        in preparation for v6.8 support for CXL QoS. Think of this as dynamic
        generation of NUMA node topology information generated by Linux rather
        than platform firmware.
      
        Lastly, a number of internal object lifetime issues have been resolved
        along with misc. fixes and feature updates (decoders_committed sysfs
        ABI).
      
        Summary:
      
         - Add support for RCH (Restricted CXL Host) Error recovery
      
         - Fix several region assembly bugs
      
         - Fix mem-device lifetime issues relative to the sanitize command and
           RCH topology.
      
         - Refactor ACPI table parsing for CDAT parsing re-use in preparation
           for CXL QOS support"
      
      * tag 'cxl-for-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl: (50 commits)
        lib/fw_table: Remove acpi_parse_entries_array() export
        cxl/pci: Change CXL AER support check to use native AER
        cxl/hdm: Remove broken error path
        cxl/hdm: Fix && vs || bug
        acpi: Move common tables helper functions to common lib
        cxl: Add support for reading CXL switch CDAT table
        cxl: Add checksum verification to CDAT from CXL
        cxl: Export QTG ids from CFMWS to sysfs as qos_class attribute
        cxl: Add decoders_committed sysfs attribute to cxl_port
        cxl: Add cxl_decoders_committed() helper
        cxl/core/regs: Rework cxl_map_pmu_regs() to use map->dev for devm
        cxl/core/regs: Rename phys_addr in cxl_map_component_regs()
        PCI/AER: Unmask RCEC internal errors to enable RCH downstream port error handling
        PCI/AER: Forward RCH downstream port-detected errors to the CXL.mem dev handler
        cxl/pci: Disable root port interrupts in RCH mode
        cxl/pci: Add RCH downstream port error logging
        cxl/pci: Map RCH downstream AER registers for logging protocol errors
        cxl/pci: Update CXL error logging to use RAS register address
        PCI/AER: Refactor cper_print_aer() for use by CXL driver module
        cxl/pci: Add RCH downstream port AER register discovery
        ...
      b8cc56d0