#1146541 smifb2-dkms: module fails to build for Linux 7.2: error: passing argument 1 of 'drm_atomic_get_new_plane_state' from incompatible pointer type

Package:
smifb2-dkms
Source:
smifb2-dkms
Submitter:
Andreas Beckmann
Date:
2026-10-02 21:35:03 UTC
Severity:
normal
Tags:
#1146541#5
Date:
2026-09-02 20:39:16 UTC
From:
To:
Hi,

smifb2-dkms fails to build a module for Linux 7.2 in experimental:

DKMS (dkms-3.2.2) make.log for smifb2/2.4.3.0.19.g7a73b0c for kernel 7.2-amd64 (x86_64)
Wed Sep  2 19:45:13 UTC 2026

Building module(s)
# command: make -j14 KERNELRELEASE=7.2-amd64 -C /lib/modules/7.2-amd64/build M=/var/lib/dkms/smifb2/2.4.3.0.19.g7a73b0c/build
make: Entering directory '/usr/src/linux-headers-7.2-amd64'
make[1]: Entering directory '/var/lib/dkms/smifb2/2.4.3.0.19.g7a73b0c/build'
  CC [M]  smi_drv.o
  CC [M]  smi_main.o
  CC [M]  smi_mode.o
  CC [M]  smi_plane.o
  CC [M]  smi_ttm.o
  CC [M]  smi_prime.o
  CC [M]  hw750.o
  CC [M]  hw768.o
  CC [M]  smi_debugfs.o
  CC [M]  ddk750/ddk750_help.o
  CC [M]  ddk750/ddk750_chip.o
  CC [M]  ddk750/ddk750_clock.o
  CC [M]  ddk750/ddk750_mode.o
  CC [M]  ddk750/ddk750_power.o
  CC [M]  ddk750/ddk750_helper.o
  CC [M]  ddk750/ddk750_display.o
  CC [M]  ddk750/ddk750_2d.o
  CC [M]  ddk750/ddk750_edid.o
  CC [M]  ddk750/ddk750_swi2c.o
  CC [M]  ddk750/ddk750_hwi2c.o
smi_plane.c:47:40: warning: 'struct drm_atomic_state' declared inside parameter list will not be visible outside of this definition or declaration
   47 |                                 struct drm_atomic_state *atom_state
      |                                        ^~~~~~~~~~~~~~~~
smi_plane.c: In function 'smi_cursor_atomic_check':
smi_plane.c:52:72: error: passing argument 1 of 'drm_atomic_get_new_plane_state' from incompatible pointer type [-Wincompatible-pointer-types]
   52 |         struct drm_plane_state *state = drm_atomic_get_new_plane_state(atom_state, plane);
      |                                                                        ^~~~~~~~~~
      |                                                                        |
      |                                                                        struct drm_atomic_state *
In file included from smi_plane.c:10:
/usr/src/linux-headers-7.2-common/include/drm/drm_atomic.h:824:64: note: expected 'const struct drm_atomic_commit *' but argument is of type 'struct drm_atomic_state *'
  824 | drm_atomic_get_new_plane_state(const struct drm_atomic_commit *state,
      |                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
smi_plane.c: At top level:
smi_plane.c:75:40: warning: 'struct drm_atomic_state' declared inside parameter list will not be visible outside of this definition or declaration
   75 |                                 struct drm_atomic_state *atom_state
      |                                        ^~~~~~~~~~~~~~~~
smi_plane.c: In function 'smi_cursor_atomic_update':
smi_plane.c:80:76: error: passing argument 1 of 'drm_atomic_get_old_plane_state' from incompatible pointer type [-Wincompatible-pointer-types]
   80 |         struct drm_plane_state *old_state = drm_atomic_get_old_plane_state(atom_state, plane);
      |                                                                            ^~~~~~~~~~
      |                                                                            |
      |                                                                            struct drm_atomic_state *
/usr/src/linux-headers-7.2-common/include/drm/drm_atomic.h:809:64: note: expected 'const struct drm_atomic_commit *' but argument is of type 'struct drm_atomic_state *'
  809 | drm_atomic_get_old_plane_state(const struct drm_atomic_commit *state,
      |                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
smi_plane.c:81:76: error: passing argument 1 of 'drm_atomic_get_new_plane_state' from incompatible pointer type [-Wincompatible-pointer-types]
   81 |         struct drm_plane_state *new_state = drm_atomic_get_new_plane_state(atom_state, plane);
      |                                                                            ^~~~~~~~~~
      |                                                                            |
      |                                                                            struct drm_atomic_state *
/usr/src/linux-headers-7.2-common/include/drm/drm_atomic.h:824:64: note: expected 'const struct drm_atomic_commit *' but argument is of type 'struct drm_atomic_state *'
  824 | drm_atomic_get_new_plane_state(const struct drm_atomic_commit *state,
      |                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
smi_plane.c: At top level:
smi_plane.c:236:40: warning: 'struct drm_atomic_state' declared inside parameter list will not be visible outside of this definition or declaration
  236 |                                 struct drm_atomic_state *atom_state
      |                                        ^~~~~~~~~~~~~~~~
smi_plane.c: In function 'smi_cursor_atomic_disable':
smi_plane.c:241:76: error: passing argument 1 of 'drm_atomic_get_old_plane_state' from incompatible pointer type [-Wincompatible-pointer-types]
  241 |         struct drm_plane_state *old_state = drm_atomic_get_old_plane_state(atom_state, plane);
      |                                                                            ^~~~~~~~~~
      |                                                                            |
      |                                                                            struct drm_atomic_state *
/usr/src/linux-headers-7.2-common/include/drm/drm_atomic.h:809:64: note: expected 'const struct drm_atomic_commit *' but argument is of type 'struct drm_atomic_state *'
  809 | drm_atomic_get_old_plane_state(const struct drm_atomic_commit *state,
      |                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
smi_plane.c: At top level:
smi_plane.c:287:25: error: initialization of 'int (*)(struct drm_plane *, struct drm_atomic_commit *)' from incompatible pointer type 'int (*)(struct drm_plane *, struct drm_atomic_state *)' [-Wincompatible-pointer-types]
  287 |         .atomic_check = smi_cursor_atomic_check,
      |                         ^~~~~~~~~~~~~~~~~~~~~~~
smi_plane.c:287:25: note: (near initialization for 'smi_cursor_helper_funcs.atomic_check')
smi_plane.c:43:12: note: 'smi_cursor_atomic_check' declared here
   43 | static int smi_cursor_atomic_check(struct drm_plane *plane,
      |            ^~~~~~~~~~~~~~~~~~~~~~~
smi_plane.c:288:26: error: initialization of 'void (*)(struct drm_plane *, struct drm_atomic_commit *)' from incompatible pointer type 'void (*)(struct drm_plane *, struct drm_atomic_state *)' [-Wincompatible-pointer-types]
  288 |         .atomic_update = smi_cursor_atomic_update,
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~
smi_plane.c:288:26: note: (near initialization for 'smi_cursor_helper_funcs.atomic_update')
smi_plane.c:71:13: note: 'smi_cursor_atomic_update' declared here
   71 | static void smi_cursor_atomic_update(struct drm_plane *plane,
      |             ^~~~~~~~~~~~~~~~~~~~~~~~
smi_plane.c:289:27: error: initialization of 'void (*)(struct drm_plane *, struct drm_atomic_commit *)' from incompatible pointer type 'void (*)(struct drm_plane *, struct drm_atomic_state *)' [-Wincompatible-pointer-types]
  289 |         .atomic_disable = smi_cursor_atomic_disable,
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~
smi_plane.c:289:27: note: (near initialization for 'smi_cursor_helper_funcs.atomic_disable')
smi_plane.c:232:13: note: 'smi_cursor_atomic_disable' declared here
  232 | static void smi_cursor_atomic_disable(struct drm_plane *plane,
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~
smi_plane.c:378:40: warning: 'struct drm_atomic_state' declared inside parameter list will not be visible outside of this definition or declaration
  378 |                                 struct drm_atomic_state *atom_state
      |                                        ^~~~~~~~~~~~~~~~
smi_plane.c: In function 'smi_primary_plane_atomic_update':
smi_plane.c:383:72: error: passing argument 1 of 'drm_atomic_get_new_plane_state' from incompatible pointer type [-Wincompatible-pointer-types]
  383 |         struct drm_plane_state *state = drm_atomic_get_new_plane_state(atom_state,
      |                                                                        ^~~~~~~~~~
      |                                                                        |
      |                                                                        struct drm_atomic_state *
/usr/src/linux-headers-7.2-common/include/drm/drm_atomic.h:824:64: note: expected 'const struct drm_atomic_commit *' but argument is of type 'struct drm_atomic_state *'
  824 | drm_atomic_get_new_plane_state(const struct drm_atomic_commit *state,
      |                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
smi_plane.c: At top level:
smi_plane.c:470:16: warning: 'struct drm_atomic_state' declared inside parameter list will not be visible outside of this definition or declaration
  470 |         struct drm_atomic_state *atom_state
      |                ^~~~~~~~~~~~~~~~
smi_plane.c: In function 'smi_primary_plane_atomic_check':
smi_plane.c:475:72: error: passing argument 1 of 'drm_atomic_get_new_plane_state' from incompatible pointer type [-Wincompatible-pointer-types]
  475 |         struct drm_plane_state *state = drm_atomic_get_new_plane_state(atom_state, plane);
      |                                                                        ^~~~~~~~~~
      |                                                                        |
      |                                                                        struct drm_atomic_state *
/usr/src/linux-headers-7.2-common/include/drm/drm_atomic.h:824:64: note: expected 'const struct drm_atomic_commit *' but argument is of type 'struct drm_atomic_state *'
  824 | drm_atomic_get_new_plane_state(const struct drm_atomic_commit *state,
      |                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
smi_plane.c:488:48: error: passing argument 1 of 'drm_atomic_get_crtc_state' from incompatible pointer type [-Wincompatible-pointer-types]
  488 |         crtc_state = drm_atomic_get_crtc_state(atom_state, crtc);
      |                                                ^~~~~~~~~~
      |                                                |
      |                                                struct drm_atomic_state *
/usr/src/linux-headers-7.2-common/include/drm/drm_atomic.h:719:53: note: expected 'struct drm_atomic_commit *' but argument is of type 'struct drm_atomic_state *'
  719 | drm_atomic_get_crtc_state(struct drm_atomic_commit *state,
      |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
smi_plane.c: At top level:
smi_plane.c:512:25: error: initialization of 'int (*)(struct drm_plane *, struct drm_atomic_commit *)' from incompatible pointer type 'int (*)(struct drm_plane *, struct drm_atomic_state *)' [-Wincompatible-pointer-types]
  512 |         .atomic_check = smi_primary_plane_atomic_check,
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
smi_plane.c:512:25: note: (near initialization for 'smi_primary_plane_helper_funcs.atomic_check')
smi_plane.c:466:12: note: 'smi_primary_plane_atomic_check' declared here
  466 | static int smi_primary_plane_atomic_check(struct drm_plane *plane,
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
smi_plane.c:513:26: error: initialization of 'void (*)(struct drm_plane *, struct drm_atomic_commit *)' from incompatible pointer type 'void (*)(struct drm_plane *, struct drm_atomic_state *)' [-Wincompatible-pointer-types]
  513 |         .atomic_update = smi_primary_plane_atomic_update,
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
smi_plane.c:513:26: note: (near initialization for 'smi_primary_plane_helper_funcs.atomic_update')
smi_plane.c:374:13: note: 'smi_primary_plane_atomic_update' declared here
  374 | static void smi_primary_plane_atomic_update(struct drm_plane *plane,
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[3]: *** [/usr/src/linux-headers-7.2-common/scripts/Makefile.build:294: smi_plane.o] Error 1
make[3]: *** Waiting for unfinished jobs....
smi_mode.c:338:16: warning: 'struct drm_atomic_state' declared inside parameter list will not be visible outside of this definition or declaration
  338 |         struct drm_atomic_state *state)
      |                ^~~~~~~~~~~~~~~~
smi_mode.c:355:24: warning: 'struct drm_atomic_state' declared inside parameter list will not be visible outside of this definition or declaration
  355 |                 struct drm_atomic_state *state)
      |                        ^~~~~~~~~~~~~~~~
smi_mode.c:366:24: warning: 'struct drm_atomic_state' declared inside parameter list will not be visible outside of this definition or declaration
  366 |                 struct drm_atomic_state *state)
      |                        ^~~~~~~~~~~~~~~~
smi_mode.c:420:25: error: initialization of 'void (*)(struct drm_crtc *, struct drm_atomic_commit *)' from incompatible pointer type 'void (*)(struct drm_crtc *, struct drm_atomic_state *)' [-Wincompatible-pointer-types]
  420 |         .atomic_flush = smi_crtc_atomic_flush,
      |                         ^~~~~~~~~~~~~~~~~~~~~
smi_mode.c:420:25: note: (near initialization for 'smi_crtc_helper_funcs.atomic_flush')
smi_mode.c:336:13: note: 'smi_crtc_atomic_flush' declared here
  336 | static void smi_crtc_atomic_flush(struct drm_crtc *crtc,
      |             ^~~~~~~~~~~~~~~~~~~~~
smi_mode.c:421:26: error: initialization of 'void (*)(struct drm_crtc *, struct drm_atomic_commit *)' from incompatible pointer type 'void (*)(struct drm_crtc *, struct drm_atomic_state *)' [-Wincompatible-pointer-types]
  421 |         .atomic_enable = smi_crtc_atomic_enable,
      |                          ^~~~~~~~~~~~~~~~~~~~~~
smi_mode.c:421:26: note: (near initialization for 'smi_crtc_helper_funcs.atomic_enable')
smi_mode.c:353:13: note: 'smi_crtc_atomic_enable' declared here
  353 | static void smi_crtc_atomic_enable(struct drm_crtc *crtc,
      |             ^~~~~~~~~~~~~~~~~~~~~~
smi_mode.c:422:27: error: initialization of 'void (*)(struct drm_crtc *, struct drm_atomic_commit *)' from incompatible pointer type 'void (*)(struct drm_crtc *, struct drm_atomic_state *)' [-Wincompatible-pointer-types]
  422 |         .atomic_disable = smi_crtc_atomic_disable
      |                           ^~~~~~~~~~~~~~~~~~~~~~~
smi_mode.c:422:27: note: (near initialization for 'smi_crtc_helper_funcs.atomic_disable')
smi_mode.c:364:13: note: 'smi_crtc_atomic_disable' declared here
  364 | static void smi_crtc_atomic_disable(struct drm_crtc *crtc,
      |             ^~~~~~~~~~~~~~~~~~~~~~~
make[3]: *** [/usr/src/linux-headers-7.2-common/scripts/Makefile.build:294: smi_mode.o] Error 1
make[2]: *** [/usr/src/linux-headers-7.2-common/Makefile:2211: .] Error 2
make[1]: *** [/usr/src/linux-headers-7.2-common/Makefile:260: __sub-make] Error 2
make[1]: Leaving directory '/var/lib/dkms/smifb2/2.4.3.0.19.g7a73b0c/build'
make: *** [/usr/src/linux-headers-7.2-common/Makefile:260: __sub-make] Error 2
make: Leaving directory '/usr/src/linux-headers-7.2-amd64'

# exit code: 2
# elapsed time: 00:00:04
----------------------------------------------------------------


Andreas

#1146541#16
Date:
2026-10-02 21:34:07 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
smifb2, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1146541@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Sudip Mukherjee <sudipm.mukherjee@gmail.com> (supplier of updated smifb2 package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Fri, 02 Oct 2026 21:54:48 +0100
Source: smifb2
Architecture: source
Version: 2.5.1.3.gfa130ab-1
Distribution: unstable
Urgency: medium
Maintainer: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Changed-By: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Closes: 1146541
Changes:
 smifb2 (2.5.1.3.gfa130ab-1) unstable; urgency=medium
 .
   * New upstream version 2.5.1.3.gfa130ab (Closes: #1146541)
Checksums-Sha1:
 73e2b91d03b44e9030e1c2144f004252610f4bb7 1947 smifb2_2.5.1.3.gfa130ab-1.dsc
 5f447a3137d0eede0056e7c1c4c8b3a7bf3bfd5a 210444 smifb2_2.5.1.3.gfa130ab.orig.tar.xz
 6a229c6882a923d8f387e700bfc77848006770aa 4860 smifb2_2.5.1.3.gfa130ab-1.debian.tar.xz
 5aa51b76628b80d0f111ac4bc23234404cf18526 5733 smifb2_2.5.1.3.gfa130ab-1_amd64.buildinfo
Checksums-Sha256:
 512cb77816c8529b71aac0e33307047c79903d46b91709a3496f544a527ab4a4 1947 smifb2_2.5.1.3.gfa130ab-1.dsc
 dc47dd5baae04a4ec7d15020a54e4527c43c13b56a34799ec2626cc1f6b4a078 210444 smifb2_2.5.1.3.gfa130ab.orig.tar.xz
 2f102687a9dbea318acf6fe9ac254ccc7eef1950594952c1559dd4cf390f52f3 4860 smifb2_2.5.1.3.gfa130ab-1.debian.tar.xz
 34a9130fbf58bf208c261964d6ca23a97e6e0770f66f02cf5e357ecc59f5b347 5733 smifb2_2.5.1.3.gfa130ab-1_amd64.buildinfo
Files:
 2e4d0227b97bc807cb6413bbb2f8fe4d 1947 kernel optional smifb2_2.5.1.3.gfa130ab-1.dsc
 3f83143574e259e3b6169334eaec60b2 210444 kernel optional smifb2_2.5.1.3.gfa130ab.orig.tar.xz
 5f00ff2fba2bbe940ab541b082cb40d6 4860 kernel optional smifb2_2.5.1.3.gfa130ab-1.debian.tar.xz
 bd50d80273e2a0dd25d5f4b0a249a8fd 5733 kernel optional smifb2_2.5.1.3.gfa130ab-1_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEuDQJkCg9jZvBlJrHR5mjUUbRKzUFAmrAG04ACgkQR5mjUUbR
KzUEFw//c6IIBsLfZutgqxuv17TnVeDa17aARO4HDwalgCS2ZOdm2Pe4eM9OWPLu
FguEGrjGF+PE5FH2WwUibIEKBo8K/zUz5Aq6hNXZieDnbX2BNBz/3c7eES1qwf2R
TUvAj8D2yBTgQ8DY8as5K0NwfX4bcxoDC2Kj9VRBJk6/FagBnPF/G96xIcqcx4o2
ZK/dPJkwwz0nBdqBLmmB0vUeUmOasRQL0RB+23GKV5vAorpWcNKBJbB20JsjYECL
GF/6OqSfnf7Sn6pAFDISaFbO1g3g3qhJbaAZZpf/AiLgChliv/ZxBNnipQlax+QG
8v/KIMAfP4RA3cqJ5sSwGMmb6b4kpObj8h5B3E6wSNDOFhSl9gXIqLhbq1iaKODi
MRiqXELiGqO2NjNYSUMGaYZOS1wzc66s0aICc5CPyGVSdNV7nYbB4+87IXNwzhFQ
ui9NeUpbVHY8yZtJBmmxk04NLdT4LeaHV2/WmqJK9H9zOx1ZajMMYsrxHW2niSW1
XwRv+eAOqRS/c1nnC2P8pv+tnLASkicyW863iiNB6r9V59ZXIpEHbwGZWSgZrYMR
sz1pvERW/gH65ZPQAi+L/GtcBhNHciUFCNoqFz3gWqeAyyJGDIJk8jZh/bsbuB5a
IOsBO5nhtdE2VK73lA8kcZ20nBdOHyeqVhsHbwykJmH16MFxnAM=
=f7H3
-----END PGP SIGNATURE-----