Bug#1052078: smifb2-dkms: module does not build for kernels w/o DRM or I2C

2023-09-17 Thread Sudip Mukherjee
On Sun, 17 Sept 2023 at 08:00, Andreas Beckmann  wrote:
>
> Package: smifb2-dkms
> Version: 2.2.3.4.g1828e79-1
> Severity: serious
>
> Hi,
>
> the smifb2 module does not build for the -cloud kernel due to missing
> I2C symbols and does not build for the armel and s390x kernels due to
> missign DRM symbols.
>
> https://ci.debian.net/packages/s/smifb2/
>
> Probably all that is needed is to add
>
> BUILD_EXCLUSIVE_CONFIG="CONFIG_DRM CONFIG_I2C"

Thanks a lot Andreas. I have not used dkms before and I was struggling
to find this out. And now that you have mentioned it, I can find it in
the man page.


-- 
Regards
Sudip



Bug#1052078: smifb2-dkms: module does not build for kernels w/o DRM or I2C

2023-09-17 Thread Andreas Beckmann
Package: smifb2-dkms
Version: 2.2.3.4.g1828e79-1
Severity: serious

Hi,

the smifb2 module does not build for the -cloud kernel due to missing
I2C symbols and does not build for the armel and s390x kernels due to
missign DRM symbols.

https://ci.debian.net/packages/s/smifb2/

Probably all that is needed is to add 

BUILD_EXCLUSIVE_CONFIG="CONFIG_DRM CONFIG_I2C"

to debian/smifb2-dkms.dkms in order to skip building the module for
kernels that don't have these config options enabled.

On arm64 the issue is a bit more involved, since there is an
incompatible redefinition of the macro FIELD_GET:

https://ci.debian.net/data/autopkgtest/testing/arm64/s/smifb2/36811223/log.gz

 84s   CC [M]  /var/lib/dkms/smifb2/2.2.3.4.g1828e79/build/ddk750/ddk750_chip.o
 84s In file included from 
/usr/src/linux-headers-6.4.0-2-common/arch/arm64/include/asm/mte.h:13,
 84s  from 
/usr/src/linux-headers-6.4.0-2-common/arch/arm64/include/asm/pgtable.h:12,
 84s  from 
/usr/src/linux-headers-6.4.0-2-common/include/linux/pgtable.h:6,
 84s  from 
/usr/src/linux-headers-6.4.0-2-common/arch/arm64/include/asm/io.h:12,
 84s  from 
/usr/src/linux-headers-6.4.0-2-common/include/linux/io.h:13,
 84s  from 
/var/lib/dkms/smifb2/2.2.3.4.g1828e79/build/ddk750/ddk750_help.h:7,
 84s  from 
/var/lib/dkms/smifb2/2.2.3.4.g1828e79/build/ddk750/ddk750_chip.c:7:
 84s /usr/src/linux-headers-6.4.0-2-common/include/linux/bitfield.h:152: 
warning: "FIELD_GET" redefined
 84s   152 | #define FIELD_GET(_mask, _reg) 
 \
 84s   |
 84s In file included from 
/var/lib/dkms/smifb2/2.2.3.4.g1828e79/build/ddk750/ddk750_chip.c:1:
 84s /var/lib/dkms/smifb2/2.2.3.4.g1828e79/build/ddk750/ddk750_defs.h:19: note: 
this is the location of the previous definition
 84s19 | #define FIELD_GET(x, reg, field) \
 84s   |
 84s /var/lib/dkms/smifb2/2.2.3.4.g1828e79/build/ddk750/ddk750_chip.c: In 
function ‘ddk750_getFrameBufSize’:
 84s /var/lib/dkms/smifb2/2.2.3.4.g1828e79/build/ddk750/ddk750_chip.c:45:86: 
error: macro "FIELD_GET" passed 3 arguments, but takes just 2
 84s45 | sizeSymbol = FIELD_GET(peekRegisterDWord(MISC_CTRL), 
MISC_CTRL, LOCALMEM_SIZE);
 84s   |
  ^
 84s /usr/src/linux-headers-6.4.0-2-common/include/linux/bitfield.h:152: note: 
macro "FIELD_GET" defined here
 84s   152 | #define FIELD_GET(_mask, _reg) 
 \
 84s   |
 84s /var/lib/dkms/smifb2/2.2.3.4.g1828e79/build/ddk750/ddk750_chip.c:45:22: 
error: ‘FIELD_GET’ undeclared (first use in this function); did you mean 
‘FOLL_GET’?
 84s45 | sizeSymbol = FIELD_GET(peekRegisterDWord(MISC_CTRL), 
MISC_CTRL, LOCALMEM_SIZE);
 84s   |  ^
 84s   |  FOLL_GET
 84s /var/lib/dkms/smifb2/2.2.3.4.g1828e79/build/ddk750/ddk750_chip.c:45:22: 
note: each undeclared identifier is reported only once for each function it 
appears in


Andreas

PS: the git repository is not yet populated