Post Go back to editing

Install the device driver on the Raspberry Pi 5

Category: Software
Product Number: AD4000
Software Version: Raspberry Pi 5, Debian 12, linux-headers-6.6.74+rpt-rpi-2712

Hello,

does anyone have experience installing the device driver from the AD4000 on the Raspberry Pi 5 under the operating system Debian 12.

Device diver:

https://github.com/analogdevicesinc/linux/blob/main/drivers/iio/adc/ad4000.c

When I try to compile the driver, I get a lot of error messages.

pi@raspberrypi:~/Desktop/Neu $ make
make -C /usr/lib/modules/6.6.74+rpt-rpi-2712/build M=/home/pi/Desktop/Neu modules
make[1]: Verzeichnis „/usr/src/linux-headers-6.6.74+rpt-rpi-2712“ wird betreten
  CC [M]  /home/pi/Desktop/Neu/ad4000.o
In file included from /usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cputype.h:228,
                 from /usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:11,
                 from /usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/ptrace.h:11,
                 from /usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/irqflags.h:10,
                 from /usr/src/linux-headers-6.6.74+rpt-common-rpi/include/linux/irqflags.h:17,
                 from /usr/src/linux-headers-6.6.74+rpt-common-rpi/include/linux/rcupdate.h:26,
                 from /usr/src/linux-headers-6.6.74+rpt-common-rpi/include/linux/rculist.h:11,
                 from /usr/src/linux-headers-6.6.74+rpt-common-rpi/include/linux/pid.h:5,
                 from /usr/src/linux-headers-6.6.74+rpt-common-rpi/include/linux/sched.h:14,
                 from /usr/src/linux-headers-6.6.74+rpt-common-rpi/include/linux/ratelimit.h:6,
                 from /usr/src/linux-headers-6.6.74+rpt-common-rpi/include/linux/dev_printk.h:16,
                 from /usr/src/linux-headers-6.6.74+rpt-common-rpi/include/linux/device.h:15,
                 from /home/pi/Desktop/Neu/ad4000.c:11:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cputype.h: In function ‘read_cpuid_cachetype’:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cputype.h:230:55: error: ‘SYS_CTR_EL0’ undeclared (first use in this function); did you mean ‘SYS_TCR_EL1’?
  230 | #define read_cpuid(reg)                 read_sysreg_s(SYS_ ## reg)
      |                                                       ^~~~
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/sysreg.h:1077:46: note: in definition of macro ‘read_sysreg_s’
 1077 |         u32 __maybe_unused __check_r = (u32)(r);                        \
      |                                              ^
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cputype.h:309:16: note: in expansion of macro ‘read_cpuid’
  309 |         return read_cpuid(CTR_EL0);
      |                ^~~~~~~~~~
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cputype.h:230:55: note: each undeclared identifier is reported only once for each function it appears in
  230 | #define read_cpuid(reg)                 read_sysreg_s(SYS_ ## reg)
      |                                                       ^~~~
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/sysreg.h:1077:46: note: in definition of macro ‘read_sysreg_s’
 1077 |         u32 __maybe_unused __check_r = (u32)(r);                        \
      |                                              ^
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cputype.h:309:16: note: in expansion of macro ‘read_cpuid’
  309 |         return read_cpuid(CTR_EL0);
      |                ^~~~~~~~~~
In file included from /usr/src/linux-headers-6.6.74+rpt-common-rpi/include/linux/math.h:6,
                 from /usr/src/linux-headers-6.6.74+rpt-common-rpi/include/linux/kernel.h:26,
                 from /usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:25:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/div64.h: In function ‘__div64_32’:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/div64.h:30:17: error: expected string literal before ‘__asmeq’
   30 |         asm(    __asmeq("%0", "r0")
      |                 ^~~~~~~
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/div64.h:26:31: warning: unused variable ‘__base’ [-Wunused-variable]
   26 |         register unsigned int __base      asm("r4") = base;
      |                               ^~~~~~
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h: In function ‘system_capabilities_finalized’:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:443:43: error: ‘ARM64_ALWAYS_SYSTEM’ undeclared (first use in this function)
  443 |         return alternative_has_cap_likely(ARM64_ALWAYS_SYSTEM);
      |                                           ^~~~~~~~~~~~~~~~~~~
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h: In function ‘cpuid_feature_cap_perfmon_field’:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:546:20: error: ‘ID_AA64DFR0_EL1_PMUVer_IMP_DEF’ undeclared (first use in this function)
  546 |         if (val == ID_AA64DFR0_EL1_PMUVer_IMP_DEF)
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h: In function ‘id_aa64mmfr0_mixed_endian_el0’:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:590:60: error: ‘ID_AA64MMFR0_EL1_BIGEND_SHIFT’ undeclared (first use in this function); did you mean ‘ID_AA64MMFR0_EL1_TGRAN_SHIFT’?
  590 |         return cpuid_feature_extract_unsigned_field(mmfr0, ID_AA64MMFR0_EL1_BIGEND_SHIFT) == 0x1 ||
      |                                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                            ID_AA64MMFR0_EL1_TGRAN_SHIFT
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:591:61: error: ‘ID_AA64MMFR0_EL1_BIGENDEL0_SHIFT’ undeclared (first use in this function); did you mean ‘ID_AA64MMFR0_EL1_TGRAN_SHIFT’?
  591 |                 cpuid_feature_extract_unsigned_field(mmfr0, ID_AA64MMFR0_EL1_BIGENDEL0_SHIFT) == 0x1;
      |                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                             ID_AA64MMFR0_EL1_TGRAN_SHIFT
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h: In function ‘id_aa64pfr0_32bit_el1’:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:596:62: error: ‘ID_AA64PFR0_EL1_EL1_SHIFT’ undeclared (first use in this function); did you mean ‘ID_AA64MMFR0_EL1_TGRAN_SHIFT’?
  596 |         u32 val = cpuid_feature_extract_unsigned_field(pfr0, ID_AA64PFR0_EL1_EL1_SHIFT);
      |                                                              ^~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                              ID_AA64MMFR0_EL1_TGRAN_SHIFT
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h: In function ‘id_aa64pfr0_32bit_el0’:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:603:62: error: ‘ID_AA64PFR0_EL1_EL0_SHIFT’ undeclared (first use in this function); did you mean ‘ID_AA64MMFR0_EL1_TGRAN_SHIFT’?
  603 |         u32 val = cpuid_feature_extract_unsigned_field(pfr0, ID_AA64PFR0_EL1_EL0_SHIFT);
      |                                                              ^~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                              ID_AA64MMFR0_EL1_TGRAN_SHIFT
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h: In function ‘id_aa64pfr0_sve’:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:610:62: error: ‘ID_AA64PFR0_EL1_SVE_SHIFT’ undeclared (first use in this function); did you mean ‘ID_AA64MMFR0_EL1_TGRAN_SHIFT’?
  610 |         u32 val = cpuid_feature_extract_unsigned_field(pfr0, ID_AA64PFR0_EL1_SVE_SHIFT);
      |                                                              ^~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                              ID_AA64MMFR0_EL1_TGRAN_SHIFT
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h: In function ‘id_aa64pfr1_sme’:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:617:62: error: ‘ID_AA64PFR1_EL1_SME_SHIFT’ undeclared (first use in this function); did you mean ‘ID_AA64MMFR0_EL1_TGRAN_SHIFT’?
  617 |         u32 val = cpuid_feature_extract_unsigned_field(pfr1, ID_AA64PFR1_EL1_SME_SHIFT);
      |                                                              ^~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                              ID_AA64MMFR0_EL1_TGRAN_SHIFT
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h: In function ‘id_aa64pfr1_mte’:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:624:62: error: ‘ID_AA64PFR1_EL1_MTE_SHIFT’ undeclared (first use in this function); did you mean ‘ID_AA64MMFR0_EL1_TGRAN_SHIFT’?
  624 |         u32 val = cpuid_feature_extract_unsigned_field(pfr1, ID_AA64PFR1_EL1_MTE_SHIFT);
      |                                                              ^~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                              ID_AA64MMFR0_EL1_TGRAN_SHIFT
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:626:23: error: ‘ID_AA64PFR1_EL1_MTE_MTE2’ undeclared (first use in this function)
  626 |         return val >= ID_AA64PFR1_EL1_MTE_MTE2;
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h: In function ‘cpu_supports_mixed_endian_el0’:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cputype.h:230:55: error: ‘SYS_ID_AA64MMFR0_EL1’ undeclared (first use in this function)
  230 | #define read_cpuid(reg)                 read_sysreg_s(SYS_ ## reg)
      |                                                       ^~~~
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/sysreg.h:1077:46: note: in definition of macro ‘read_sysreg_s’
 1077 |         u32 __maybe_unused __check_r = (u32)(r);                        \
      |                                              ^
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:637:46: note: in expansion of macro ‘read_cpuid’
  637 |         return id_aa64mmfr0_mixed_endian_el0(read_cpuid(ID_AA64MMFR0_EL1));
      |                                              ^~~~~~~~~~
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h: In function ‘supports_csv2p3’:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:647:38: error: ‘SYS_ID_AA64PFR0_EL1’ undeclared (first use in this function); did you mean ‘SYS_ICC_AP1R0_EL1’?
  647 |                 pfr0 = read_sysreg_s(SYS_ID_AA64PFR0_EL1);
      |                                      ^~~~~~~~~~~~~~~~~~~
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/sysreg.h:1077:46: note: in definition of macro ‘read_sysreg_s’
 1077 |         u32 __maybe_unused __check_r = (u32)(r);                        \
      |                                              ^
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:652:57: error: ‘ID_AA64PFR0_EL1_CSV2_SHIFT’ undeclared (first use in this function); did you mean ‘ID_AA64MMFR0_EL1_TGRAN_SHIFT’?
  652 |                                                         ID_AA64PFR0_EL1_CSV2_SHIFT);
      |                                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                         ID_AA64MMFR0_EL1_TGRAN_SHIFT
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h: In function ‘supports_clearbhb’:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:661:39: error: ‘SYS_ID_AA64ISAR2_EL1’ undeclared (first use in this function)
  661 |                 isar2 = read_sysreg_s(SYS_ID_AA64ISAR2_EL1);
      |                                       ^~~~~~~~~~~~~~~~~~~~
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/sysreg.h:1077:46: note: in definition of macro ‘read_sysreg_s’
 1077 |         u32 __maybe_unused __check_r = (u32)(r);                        \
      |                                              ^
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:666:53: error: ‘ID_AA64ISAR2_EL1_CLRBHB_SHIFT’ undeclared (first use in this function); did you mean ‘ID_AA64MMFR0_EL1_TGRAN_SHIFT’?
  666 |                                                     ID_AA64ISAR2_EL1_CLRBHB_SHIFT);
      |                                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                     ID_AA64MMFR0_EL1_TGRAN_SHIFT
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h: In function ‘system_supports_32bit_el0’:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:674:43: error: ‘SYS_ID_AA64PFR0_EL1’ undeclared (first use in this function); did you mean ‘SYS_ICC_AP1R0_EL1’?
  674 |         u64 pfr0 = read_sanitised_ftr_reg(SYS_ID_AA64PFR0_EL1);
      |                                           ^~~~~~~~~~~~~~~~~~~
      |                                           SYS_ICC_AP1R0_EL1
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h: In function ‘system_supports_4kb_granule’:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:685:40: error: ‘SYS_ID_AA64MMFR0_EL1’ undeclared (first use in this function)
  685 |         mmfr0 = read_sanitised_ftr_reg(SYS_ID_AA64MMFR0_EL1);
      |                                        ^~~~~~~~~~~~~~~~~~~~
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:687:49: error: ‘ID_AA64MMFR0_EL1_TGRAN4_SHIFT’ undeclared (first use in this function); did you mean ‘ID_AA64MMFR0_EL1_TGRAN_SHIFT’?
  687 |                                                 ID_AA64MMFR0_EL1_TGRAN4_SHIFT);
      |                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                 ID_AA64MMFR0_EL1_TGRAN_SHIFT
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h: In function ‘system_supports_64kb_granule’:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:698:40: error: ‘SYS_ID_AA64MMFR0_EL1’ undeclared (first use in this function)
  698 |         mmfr0 = read_sanitised_ftr_reg(SYS_ID_AA64MMFR0_EL1);
      |                                        ^~~~~~~~~~~~~~~~~~~~
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:700:49: error: ‘ID_AA64MMFR0_EL1_TGRAN64_SHIFT’ undeclared (first use in this function); did you mean ‘ID_AA64MMFR0_EL1_TGRAN_SHIFT’?
  700 |                                                 ID_AA64MMFR0_EL1_TGRAN64_SHIFT);
      |                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                 ID_AA64MMFR0_EL1_TGRAN_SHIFT
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h: In function ‘system_supports_16kb_granule’:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:711:40: error: ‘SYS_ID_AA64MMFR0_EL1’ undeclared (first use in this function)
  711 |         mmfr0 = read_sanitised_ftr_reg(SYS_ID_AA64MMFR0_EL1);
      |                                        ^~~~~~~~~~~~~~~~~~~~
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:713:49: error: ‘ID_AA64MMFR0_EL1_TGRAN16_SHIFT’ undeclared (first use in this function); did you mean ‘ID_AA64MMFR0_EL1_TGRAN_SHIFT’?
  713 |                                                 ID_AA64MMFR0_EL1_TGRAN16_SHIFT);
      |                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                 ID_AA64MMFR0_EL1_TGRAN_SHIFT
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h: In function ‘system_supports_mixed_endian_el0’:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:721:69: error: ‘SYS_ID_AA64MMFR0_EL1’ undeclared (first use in this function)
  721 |         return id_aa64mmfr0_mixed_endian_el0(read_sanitised_ftr_reg(SYS_ID_AA64MMFR0_EL1));
      |                                                                     ^~~~~~~~~~~~~~~~~~~~
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h: In function ‘system_supports_mixed_endian’:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:729:40: error: ‘SYS_ID_AA64MMFR0_EL1’ undeclared (first use in this function)
  729 |         mmfr0 = read_sanitised_ftr_reg(SYS_ID_AA64MMFR0_EL1);
      |                                        ^~~~~~~~~~~~~~~~~~~~
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:731:49: error: ‘ID_AA64MMFR0_EL1_BIGEND_SHIFT’ undeclared (first use in this function); did you mean ‘ID_AA64MMFR0_EL1_TGRAN_SHIFT’?
  731 |                                                 ID_AA64MMFR0_EL1_BIGEND_SHIFT);
      |                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                 ID_AA64MMFR0_EL1_TGRAN_SHIFT
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h: In function ‘system_supports_sme’:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:762:37: error: ‘ARM64_SME’ undeclared (first use in this function); did you mean ‘ARM64_SVE’?
  762 |                 cpus_have_const_cap(ARM64_SME);
      |                                     ^~~~~~~~~
      |                                     ARM64_SVE
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h: In function ‘system_supports_sme2’:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:768:37: error: ‘ARM64_SME2’ undeclared (first use in this function); did you mean ‘ARM64_SVE’?
  768 |                 cpus_have_const_cap(ARM64_SME2);
      |                                     ^~~~~~~~~~
      |                                     ARM64_SVE
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h: In function ‘system_supports_fa64’:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:774:37: error: ‘ARM64_SME_FA64’ undeclared (first use in this function)
  774 |                 cpus_have_const_cap(ARM64_SME_FA64);
      |                                     ^~~~~~~~~~~~~~
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h: In function ‘system_uses_irq_prio_masking’:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:808:36: error: ‘ARM64_HAS_GIC_PRIO_MASKING’ undeclared (first use in this function); did you mean ‘ARM64_HAS_IRQ_PRIO_MASKING’?
  808 |                cpus_have_const_cap(ARM64_HAS_GIC_PRIO_MASKING);
      |                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                    ARM64_HAS_IRQ_PRIO_MASKING
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h: In function ‘id_aa64mmfr0_parange_to_phys_shift’:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:840:14: error: ‘ID_AA64MMFR0_EL1_PARANGE_32’ undeclared (first use in this function); did you mean ‘ID_AA64MMFR0_EL1_PARANGE_MAX’?
  840 |         case ID_AA64MMFR0_EL1_PARANGE_32: return 32;
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
      |              ID_AA64MMFR0_EL1_PARANGE_MAX
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:841:14: error: ‘ID_AA64MMFR0_EL1_PARANGE_36’ undeclared (first use in this function); did you mean ‘ID_AA64MMFR0_EL1_PARANGE_MAX’?
  841 |         case ID_AA64MMFR0_EL1_PARANGE_36: return 36;
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
      |              ID_AA64MMFR0_EL1_PARANGE_MAX
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:842:14: error: ‘ID_AA64MMFR0_EL1_PARANGE_40’ undeclared (first use in this function); did you mean ‘ID_AA64MMFR0_EL1_PARANGE_MAX’?
  842 |         case ID_AA64MMFR0_EL1_PARANGE_40: return 40;
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
      |              ID_AA64MMFR0_EL1_PARANGE_MAX
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:843:14: error: ‘ID_AA64MMFR0_EL1_PARANGE_42’ undeclared (first use in this function); did you mean ‘ID_AA64MMFR0_EL1_PARANGE_MAX’?
  843 |         case ID_AA64MMFR0_EL1_PARANGE_42: return 42;
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
      |              ID_AA64MMFR0_EL1_PARANGE_MAX
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:844:14: error: ‘ID_AA64MMFR0_EL1_PARANGE_44’ undeclared (first use in this function); did you mean ‘ID_AA64MMFR0_EL1_PARANGE_MAX’?
  844 |         case ID_AA64MMFR0_EL1_PARANGE_44: return 44;
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
      |              ID_AA64MMFR0_EL1_PARANGE_MAX
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:845:14: error: ‘ID_AA64MMFR0_EL1_PARANGE_48’ undeclared (first use in this function); did you mean ‘ID_AA64MMFR0_EL1_PARANGE_MAX’?
  845 |         case ID_AA64MMFR0_EL1_PARANGE_48: return 48;
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
      |              ID_AA64MMFR0_EL1_PARANGE_MAX
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:846:14: error: ‘ID_AA64MMFR0_EL1_PARANGE_52’ undeclared (first use in this function); did you mean ‘ID_AA64MMFR0_EL1_PARANGE_MAX’?
  846 |         case ID_AA64MMFR0_EL1_PARANGE_52: return 52;
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
      |              ID_AA64MMFR0_EL1_PARANGE_MAX
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h: In function ‘cpu_has_hw_af’:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:870:40: error: ‘SYS_ID_AA64MMFR1_EL1’ undeclared (first use in this function)
  870 |         mmfr1 = read_sanitised_ftr_reg(SYS_ID_AA64MMFR1_EL1);
      |                                        ^~~~~~~~~~~~~~~~~~~~
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:872:49: error: ‘ID_AA64MMFR1_EL1_HAFDBS_SHIFT’ undeclared (first use in this function); did you mean ‘ID_AA64MMFR0_EL1_TGRAN_SHIFT’?
  872 |                                                 ID_AA64MMFR1_EL1_HAFDBS_SHIFT);
      |                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                 ID_AA64MMFR0_EL1_TGRAN_SHIFT
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h: In function ‘cpu_has_pan’:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cputype.h:230:55: error: ‘SYS_ID_AA64MMFR1_EL1’ undeclared (first use in this function)
  230 | #define read_cpuid(reg)                 read_sysreg_s(SYS_ ## reg)
      |                                                       ^~~~
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/sysreg.h:1077:46: note: in definition of macro ‘read_sysreg_s’
 1077 |         u32 __maybe_unused __check_r = (u32)(r);                        \
      |                                              ^
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:877:21: note: in expansion of macro ‘read_cpuid’
  877 |         u64 mmfr1 = read_cpuid(ID_AA64MMFR1_EL1);
      |                     ^~~~~~~~~~
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:879:53: error: ‘ID_AA64MMFR1_EL1_PAN_SHIFT’ undeclared (first use in this function); did you mean ‘ID_AA64MMFR0_EL1_TGRAN_SHIFT’?
  879 |                                                     ID_AA64MMFR1_EL1_PAN_SHIFT);
      |                                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                     ID_AA64MMFR0_EL1_TGRAN_SHIFT
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h: In function ‘get_vmid_bits’:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:900:49: error: ‘ID_AA64MMFR1_EL1_VMIDBits_SHIFT’ undeclared (first use in this function); did you mean ‘ID_AA64MMFR0_EL1_TGRAN_SHIFT’?
  900 |                                                 ID_AA64MMFR1_EL1_VMIDBits_SHIFT);
      |                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                 ID_AA64MMFR0_EL1_TGRAN_SHIFT
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cpufeature.h:901:26: error: ‘ID_AA64MMFR1_EL1_VMIDBits_16’ undeclared (first use in this function)
  901 |         if (vmid_bits == ID_AA64MMFR1_EL1_VMIDBits_16)
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/irqflags.h: In function ‘__irqflags_uses_pmr’:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/irqflags.h:27:45: error: ‘ARM64_HAS_GIC_PRIO_MASKING’ undeclared (first use in this function); did you mean ‘ARM64_HAS_IRQ_PRIO_MASKING’?
   27 |                alternative_has_cap_unlikely(ARM64_HAS_GIC_PRIO_MASKING);
      |                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                             ARM64_HAS_IRQ_PRIO_MASKING
In file included from <command-line>:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cache.h: In function ‘cache_type_cwg’:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cache.h:80:30: error: ‘CTR_EL0_CWG_MASK’ undeclared (first use in this function)
   80 |         return SYS_FIELD_GET(CTR_EL0, CWG, read_cpuid_cachetype());
      |                              ^~~~~~~
/usr/src/linux-headers-6.6.74+rpt-common-rpi/include/linux/compiler_types.h:442:23: note: in definition of macro ‘__compiletime_assert’
  442 |                 if (!(condition))                                       \
      |                       ^~~~~~~~~
/usr/src/linux-headers-6.6.74+rpt-common-rpi/include/linux/compiler_types.h:462:9: note: in expansion of macro ‘_compiletime_assert’
  462 |         _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |         ^~~~~~~~~~~~~~~~~~~
/usr/src/linux-headers-6.6.74+rpt-common-rpi/include/linux/build_bug.h:39:37: note: in expansion of macro ‘compiletime_assert’
   39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
      |                                     ^~~~~~~~~~~~~~~~~~
/usr/src/linux-headers-6.6.74+rpt-common-rpi/include/linux/bitfield.h:65:17: note: in expansion of macro ‘BUILD_BUG_ON_MSG’
   65 |                 BUILD_BUG_ON_MSG(!__builtin_constant_p(_mask),          \
      |                 ^~~~~~~~~~~~~~~~
/usr/src/linux-headers-6.6.74+rpt-common-rpi/include/linux/bitfield.h:154:17: note: in expansion of macro ‘__BF_FIELD_CHECK’
  154 |                 __BF_FIELD_CHECK(_mask, _reg, 0U, "FIELD_GET: ");       \
      |                 ^~~~~~~~~~~~~~~~
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/sysreg.h:1115:18: note: in expansion of macro ‘FIELD_GET’
 1115 |                  FIELD_GET(reg##_##field##_MASK, val)
      |                  ^~~~~~~~~
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cache.h:80:16: note: in expansion of macro ‘SYS_FIELD_GET’
   80 |         return SYS_FIELD_GET(CTR_EL0, CWG, read_cpuid_cachetype());
      |                ^~~~~~~~~~~~~
In file included from /usr/src/linux-headers-6.6.74+rpt-common-rpi/include/linux/bits.h:6,
                 from /home/pi/Desktop/Neu/ad4000.c:7:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cache.h: In function ‘read_cpuid_effective_cachetype’:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cache.h:116:25: error: ‘CTR_EL0_IDC_SHIFT’ undeclared (first use in this function); did you mean ‘SCTLR_ELx_EE_SHIFT’?
  116 |         if (!(ctr & BIT(CTR_EL0_IDC_SHIFT))) {
      |                         ^~~~~~~~~~~~~~~~~
/usr/src/linux-headers-6.6.74+rpt-common-rpi/include/vdso/bits.h:7:44: note: in definition of macro ‘BIT’
    7 | #define BIT(nr)                 (UL(1) << (nr))
      |                                            ^~
In file included from /usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/hw_breakpoint.h:11,
                 from /usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/processor.h:39,
                 from /usr/src/linux-headers-6.6.74+rpt-common-rpi/include/linux/rcupdate.h:31:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/virt.h: In function ‘has_hvhe’:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/virt.h:151:36: error: ‘ARM64_KVM_HVHE’ undeclared (first use in this function)
  151 |         return cpus_have_final_cap(ARM64_KVM_HVHE);
      |                                    ^~~~~~~~~~~~~~
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/hw_breakpoint.h: In function ‘get_num_brps’:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/hw_breakpoint.h:142:43: error: ‘SYS_ID_AA64DFR0_EL1’ undeclared (first use in this function); did you mean ‘SYS_ICC_AP1R0_EL1’?
  142 |         u64 dfr0 = read_sanitised_ftr_reg(SYS_ID_AA64DFR0_EL1);
      |                                           ^~~~~~~~~~~~~~~~~~~
      |                                           SYS_ICC_AP1R0_EL1
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/hw_breakpoint.h:145:49: error: ‘ID_AA64DFR0_EL1_BRPs_SHIFT’ undeclared (first use in this function); did you mean ‘ID_AA64MMFR0_EL1_TGRAN_SHIFT’?
  145 |                                                 ID_AA64DFR0_EL1_BRPs_SHIFT);
      |                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                 ID_AA64MMFR0_EL1_TGRAN_SHIFT
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/hw_breakpoint.h: In function ‘get_num_wrps’:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/hw_breakpoint.h:151:43: error: ‘SYS_ID_AA64DFR0_EL1’ undeclared (first use in this function); did you mean ‘SYS_ICC_AP1R0_EL1’?
  151 |         u64 dfr0 = read_sanitised_ftr_reg(SYS_ID_AA64DFR0_EL1);
      |                                           ^~~~~~~~~~~~~~~~~~~
      |                                           SYS_ICC_AP1R0_EL1
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/hw_breakpoint.h:154:49: error: ‘ID_AA64DFR0_EL1_WRPs_SHIFT’ undeclared (first use in this function); did you mean ‘ID_AA64MMFR0_EL1_TGRAN_SHIFT’?
  154 |                                                 ID_AA64DFR0_EL1_WRPs_SHIFT);
      |                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                 ID_AA64MMFR0_EL1_TGRAN_SHIFT
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/mte-kasan.h: In function ‘mte_set_mem_tag_range’:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/cputype.h:230:55: error: ‘SYS_DCZID_EL0’ undeclared (first use in this function); did you mean ‘SYS_MDCCSR_EL0’?
  230 | #define read_cpuid(reg)                 read_sysreg_s(SYS_ ## reg)
      |                                                       ^~~~
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/sysreg.h:1077:46: note: in definition of macro ‘read_sysreg_s’
 1077 |         u32 __maybe_unused __check_r = (u32)(r);                        \
      |                                              ^
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/mte-kasan.h:157:17: note: in expansion of macro ‘read_cpuid’
  157 |         dczid = read_cpuid(DCZID_EL0);
      |                 ^~~~~~~~~~
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/processor.h: In function ‘thread_get_cur_vl’:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/processor.h:202:54: error: ‘SVCR_SM_MASK’ undeclared (first use in this function); did you mean ‘TCR_SH0_MASK’?
  202 |         if (system_supports_sme() && (thread->svcr & SVCR_SM_MASK))
      |                                                      ^~~~~~~~~~~~
      |                                                      TCR_SH0_MASK
In file included from /usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/processor.h:374:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/fpsimd.h: In function ‘thread_sm_enabled’:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/fpsimd.h:79:57: error: ‘SVCR_SM_MASK’ undeclared (first use in this function); did you mean ‘TCR_SH0_MASK’?
   79 |         return system_supports_sme() && (thread->svcr & SVCR_SM_MASK);
      |                                                         ^~~~~~~~~~~~
      |                                                         TCR_SH0_MASK
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/fpsimd.h: In function ‘thread_za_enabled’:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/fpsimd.h:84:57: error: ‘SVCR_ZA_MASK’ undeclared (first use in this function)
   84 |         return system_supports_sme() && (thread->svcr & SVCR_ZA_MASK);
      |                                                         ^~~~~~~~~~~~
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/fpsimd.h: In function ‘write_vl’:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/fpsimd.h:225:37: error: ‘SYS_ZCR_EL1’ undeclared (first use in this function); did you mean ‘SYS_TCR_EL1’?
  225 |                 tmp = read_sysreg_s(SYS_ZCR_EL1) & ~ZCR_ELx_LEN_MASK;
      |                                     ^~~~~~~~~~~
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/sysreg.h:1077:46: note: in definition of macro ‘read_sysreg_s’
 1077 |         u32 __maybe_unused __check_r = (u32)(r);                        \
      |                                              ^
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/fpsimd.h:225:53: error: ‘ZCR_ELx_LEN_MASK’ undeclared (first use in this function)
  225 |                 tmp = read_sysreg_s(SYS_ZCR_EL1) & ~ZCR_ELx_LEN_MASK;
      |                                                     ^~~~~~~~~~~~~~~~
In file included from /usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/uaccess.h:24,
                 from /usr/src/linux-headers-6.6.74+rpt-common-rpi/include/linux/uaccess.h:11,
                 from /usr/src/linux-headers-6.6.74+rpt-common-rpi/include/linux/sched/task.h:11,
                 from /usr/src/linux-headers-6.6.74+rpt-common-rpi/include/linux/sched/signal.h:9,
                 from /usr/src/linux-headers-6.6.74+rpt-common-rpi/include/linux/rcuwait.h:6,
                 from /usr/src/linux-headers-6.6.74+rpt-common-rpi/include/linux/percpu-rwsem.h:7,
                 from /usr/src/linux-headers-6.6.74+rpt-common-rpi/include/linux/fs.h:33,
                 from /usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/elf.h:141,
                 from /usr/src/linux-headers-6.6.74+rpt-common-rpi/include/linux/elf.h:6,
                 from /usr/src/linux-headers-6.6.74+rpt-common-rpi/include/linux/module.h:19,
                 from /usr/src/linux-headers-6.6.74+rpt-common-rpi/include/linux/device/driver.h:21,
                 from /usr/src/linux-headers-6.6.74+rpt-common-rpi/include/linux/device.h:32:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/mte.h: In function ‘mte_disable_tco_entry’:
/usr/src/linux-headers-6.6.74+rpt-common-rpi/arch/arm64/include/asm/mte.h:176:48: error: ‘SCTLR_EL1_TCF0_SHIFT’ undeclared (first use in this function); did you mean ‘SCTLR_ELx_ENIA_SHIFT’?
  176 |             (task->thread.sctlr_user & (1UL << SCTLR_EL1_TCF0_SHIFT)))
      |                                                ^~~~~~~~~~~~~~~~~~~~
      |                                                SCTLR_ELx_ENIA_SHIFT
/home/pi/Desktop/Neu/ad4000.c: In function ‘ad4000_read_raw’:
/home/pi/Desktop/Neu/ad4000.c:361:17: error: implicit declaration of function ‘iio_device_claim_direct_scoped’; did you mean ‘iio_device_claim_direct_mode’? [-Werror=implicit-function-declaration]
  361 |                 iio_device_claim_direct_scoped(return -EBUSY, indio_dev)
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                 iio_device_claim_direct_mode
/home/pi/Desktop/Neu/ad4000.c:361:48: error: expected expression before ‘return’
  361 |                 iio_device_claim_direct_scoped(return -EBUSY, indio_dev)
      |                                                ^~~~~~
/home/pi/Desktop/Neu/ad4000.c:361:73: error: expected ‘;’ before ‘return’
  361 |                 iio_device_claim_direct_scoped(return -EBUSY, indio_dev)
      |                                                                         ^
      |                                                                         ;
  362 |                         return ad4000_single_conversion(indio_dev, chan, val);
      |                         ~~~~~~                                           
/home/pi/Desktop/Neu/ad4000.c: In function ‘ad4000_write_raw’:
/home/pi/Desktop/Neu/ad4000.c:419:48: error: expected expression before ‘return’
  419 |                 iio_device_claim_direct_scoped(return -EBUSY, indio_dev) {
      |                                                ^~~~~~
/home/pi/Desktop/Neu/ad4000.c:419:73: error: expected ‘;’ before ‘{’ token
  419 |                 iio_device_claim_direct_scoped(return -EBUSY, indio_dev) {
      |                                                                         ^~
      |                                                                         ;
/home/pi/Desktop/Neu/ad4000.c:415:13: warning: unused variable ‘ret’ [-Wunused-variable]
  415 |         int ret;
      |             ^~~
/home/pi/Desktop/Neu/ad4000.c:414:14: warning: unused variable ‘span_comp_en’ [-Wunused-variable]
  414 |         bool span_comp_en;
      |              ^~~~~~~~~~~~
/home/pi/Desktop/Neu/ad4000.c:413:22: warning: unused variable ‘reg_val’ [-Wunused-variable]
  413 |         unsigned int reg_val;
      |                      ^~~~~~~
/home/pi/Desktop/Neu/ad4000.c:412:30: warning: unused variable ‘st’ [-Wunused-variable]
  412 |         struct ad4000_state *st = iio_priv(indio_dev);
      |                              ^~
/home/pi/Desktop/Neu/ad4000.c: In function ‘ad4000_prepare_3wire_mode_message’:
/home/pi/Desktop/Neu/ad4000.c:505:16: error: implicit declaration of function ‘devm_spi_optimize_message’ [-Werror=implicit-function-declaration]
  505 |         return devm_spi_optimize_message(&st->spi->dev, st->spi, &st->msg);
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/pi/Desktop/Neu/ad4000.c: In function ‘ad4000_probe’:
/home/pi/Desktop/Neu/ad4000.c:571:15: error: implicit declaration of function ‘devm_regulator_get_enable_read_voltage’; did you mean ‘devm_regulator_get_enable_optional’? [-Werror=implicit-function-declaration]
  571 |         ret = devm_regulator_get_enable_read_voltage(dev, "ref");
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |               devm_regulator_get_enable_optional
/home/pi/Desktop/Neu/ad4000.c:582:15: error: implicit declaration of function ‘device_property_match_property_string’; did you mean ‘device_property_match_string’? [-Werror=implicit-function-declaration]
  582 |         ret = device_property_match_property_string(dev, "adi,sdi-pin",
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |               device_property_match_string
/home/pi/Desktop/Neu/ad4000.c:601:30: error: ‘SPI_MOSI_IDLE_HIGH’ undeclared (first use in this function); did you mean ‘SPI_MOSI_IDLE_LOW’?
  601 |                 spi->mode |= SPI_MOSI_IDLE_HIGH;
      |                              ^~~~~~~~~~~~~~~~~~
      |                              SPI_MOSI_IDLE_LOW
/home/pi/Desktop/Neu/ad4000.c: At top level:
/home/pi/Desktop/Neu/ad4000.c:327:12: warning: ‘ad4000_single_conversion’ defined but not used [-Wunused-function]
  327 | static int ad4000_single_conversion(struct iio_dev *indio_dev,
      |            ^~~~~~~~~~~~~~~~~~~~~~~~
/home/pi/Desktop/Neu/ad4000.c:292:12: warning: ‘ad4000_read_reg’ defined but not used [-Wunused-function]
  292 | static int ad4000_read_reg(struct ad4000_state *st, unsigned int *val)
      |            ^~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[3]: *** [/usr/src/linux-headers-6.6.74+rpt-common-rpi/scripts/Makefile.build:248: /home/pi/Desktop/Neu/ad4000.o] Fehler 1
make[2]: *** [/usr/src/linux-headers-6.6.74+rpt-common-rpi/Makefile:1946: /home/pi/Desktop/Neu] Fehler 2
make[1]: *** [/usr/src/linux-headers-6.6.74+rpt-common-rpi/Makefile:246: __sub-make] Fehler 2
make[1]: Verzeichnis „/usr/src/linux-headers-6.6.74+rpt-rpi-2712“ wird verlassen
make: *** [Makefile:7: all] Fehler 2


Could someone help me with this.