*** Moving to: ./ADUCM/ADUCM36x/SPI/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/ADUCM/ADUCM36x/SPI ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./AVR/MEGA/I2C/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/AVR/MEGA/I2C ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./AVR/MEGA/ADC/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/AVR/MEGA/ADC ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
Compiling hal.c
Compiling hal_st.c
Compiling hal_buffers.c
Compiling hal_queues.c
Compiling hal_flash.c
Compiling hal_mmcsd.c
Compiling hal_adc.c
Compiling hal_pal.c
Compiling hal_serial.c
Compiling board.c
Compiling hal_lld.c
Compiling hal_adc_lld.c
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:68:26: error: conflicting types for 'ADCDriver'; have 'struct ADCDriver'
   68 | typedef struct ADCDriver ADCDriver;
      |                          ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal.c:25:
../../../../os/hal/include/hal_adc.h:82:31: note: previous declaration of 'ADCDriver' with type 'ADCDriver' {aka 'struct hal_adc_driver'}
   82 | typedef struct hal_adc_driver ADCDriver;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:104:3: error: conflicting types for 'ADCConversionGroup'; have 'struct <anonymous>'
  104 | } ADCConversionGroup;
      |   ^~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal.c:25:
../../../../os/hal/include/hal_adc.h:97:44: note: previous declaration of 'ADCConversionGroup' with type 'ADCConversionGroup' {aka 'struct hal_adc_configuration_group'}
   97 | typedef struct hal_adc_configuration_group ADCConversionGroup;
      |                                            ^~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:116:3: error: conflicting types for 'ADCConfig'; have 'struct <anonymous>'
  116 | } ADCConfig;
      |   ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal.c:25:
../../../../os/hal/include/hal_adc.h:87:31: note: previous declaration of 'ADCConfig' with type 'ADCConfig' {aka 'struct hal_adc_config'}
   87 | typedef struct hal_adc_config ADCConfig;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal.c:25:
../../../../os/hal/include/hal_adc.h:109:16: error: conflicting types for 'adccallback_t'; have 'void (*)(ADCDriver *)'
  109 | typedef void (*adccallback_t)(ADCDriver *adcp);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:78:16: note: previous declaration of 'adccallback_t' with type 'adccallback_t' {aka 'void (*)(ADCDriver *, unsigned int *, unsigned int)'}
   78 | typedef void (*adccallback_t)(ADCDriver *adcp, adcsample_t *buffer, size_t n);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_st.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:68:26: error: conflicting types for 'ADCDriver'; have 'struct ADCDriver'
   68 | typedef struct ADCDriver ADCDriver;
      |                          ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_st.c:25:
../../../../os/hal/include/hal_adc.h:82:31: note: previous declaration of 'ADCDriver' with type 'ADCDriver' {aka 'struct hal_adc_driver'}
   82 | typedef struct hal_adc_driver ADCDriver;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_st.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:104:3: error: conflicting types for 'ADCConversionGroup'; have 'struct <anonymous>'
  104 | } ADCConversionGroup;
      |   ^~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_st.c:25:
../../../../os/hal/include/hal_adc.h:97:44: note: previous declaration of 'ADCConversionGroup' with type 'ADCConversionGroup' {aka 'struct hal_adc_configuration_group'}
   97 | typedef struct hal_adc_configuration_group ADCConversionGroup;
      |                                            ^~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_st.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:116:3: error: conflicting types for 'ADCConfig'; have 'struct <anonymous>'
  116 | } ADCConfig;
      |   ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_st.c:25:
../../../../os/hal/include/hal_adc.h:87:31: note: previous declaration of 'ADCConfig' with type 'ADCConfig' {aka 'struct hal_adc_config'}
   87 | typedef struct hal_adc_config ADCConfig;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_st.c:25:
../../../../os/hal/include/hal_adc.h:109:16: error: conflicting types for 'adccallback_t'; have 'void (*)(ADCDriver *)'
  109 | typedef void (*adccallback_t)(ADCDriver *adcp);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_st.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:78:16: note: previous declaration of 'adccallback_t' with type 'adccallback_t' {aka 'void (*)(ADCDriver *, unsigned int *, unsigned int)'}
   78 | typedef void (*adccallback_t)(ADCDriver *adcp, adcsample_t *buffer, size_t n);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal.c:25:
../../../../os/hal/include/hal_adc.h:118:53: error: unknown type name 'adcerror_t'; did you mean 'ps_error_t'?
  118 | typedef void (*adcerrorcallback_t)(ADCDriver *adcp, adcerror_t err);
      |                                                     ^~~~~~~~~~
      |                                                     ps_error_t
../../../../os/hal/include/hal_adc.h:144:3: error: unknown type name 'adcerrorcallback_t'
  144 |   adcerrorcallback_t        error_cb;
      |   ^~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_adc.h:146:3: error: expected specifier-qualifier-list before 'adc_lld_configuration_group_fields'
  146 |   adc_lld_configuration_group_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_adc.h:154:3: error: expected specifier-qualifier-list before 'adc_lld_config_fields'
  154 |   adc_lld_config_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_adc.h:197:3: error: expected specifier-qualifier-list before 'adc_lld_driver_fields'
  197 |   adc_lld_driver_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_st.c:25:
../../../../os/hal/include/hal_adc.h:118:53: error: unknown type name 'adcerror_t'; did you mean 'ps_error_t'?
  118 | typedef void (*adcerrorcallback_t)(ADCDriver *adcp, adcerror_t err);
      |                                                     ^~~~~~~~~~
      |                                                     ps_error_t
../../../../os/hal/include/hal_adc.h:144:3: error: unknown type name 'adcerrorcallback_t'
  144 |   adcerrorcallback_t        error_cb;
      |   ^~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_adc.h:146:3: error: expected specifier-qualifier-list before 'adc_lld_configuration_group_fields'
  146 |   adc_lld_configuration_group_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_adc.h:154:3: error: expected specifier-qualifier-list before 'adc_lld_config_fields'
  154 |   adc_lld_config_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_adc.h:197:3: error: expected specifier-qualifier-list before 'adc_lld_driver_fields'
  197 |   adc_lld_driver_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_queues.c:40:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:68:26: error: conflicting types for 'ADCDriver'; have 'struct ADCDriver'
   68 | typedef struct ADCDriver ADCDriver;
      |                          ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_queues.c:40:
../../../../os/hal/include/hal_adc.h:82:31: note: previous declaration of 'ADCDriver' with type 'ADCDriver' {aka 'struct hal_adc_driver'}
   82 | typedef struct hal_adc_driver ADCDriver;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_queues.c:40:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:104:3: error: conflicting types for 'ADCConversionGroup'; have 'struct <anonymous>'
  104 | } ADCConversionGroup;
      |   ^~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_queues.c:40:
../../../../os/hal/include/hal_adc.h:97:44: note: previous declaration of 'ADCConversionGroup' with type 'ADCConversionGroup' {aka 'struct hal_adc_configuration_group'}
   97 | typedef struct hal_adc_configuration_group ADCConversionGroup;
      |                                            ^~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_flash.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:68:26: error: conflicting types for 'ADCDriver'; have 'struct ADCDriver'
   68 | typedef struct ADCDriver ADCDriver;
      |                          ^~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_queues.c:40:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:116:3: error: conflicting types for 'ADCConfig'; have 'struct <anonymous>'
  116 | } ADCConfig;
      |   ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_queues.c:40:
../../../../os/hal/include/hal_adc.h:87:31: note: previous declaration of 'ADCConfig' with type 'ADCConfig' {aka 'struct hal_adc_config'}
   87 | typedef struct hal_adc_config ADCConfig;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_flash.c:25:
../../../../os/hal/include/hal_adc.h:82:31: note: previous declaration of 'ADCDriver' with type 'ADCDriver' {aka 'struct hal_adc_driver'}
   82 | typedef struct hal_adc_driver ADCDriver;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_buffers.c:41:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:68:26: error: conflicting types for 'ADCDriver'; have 'struct ADCDriver'
   68 | typedef struct ADCDriver ADCDriver;
      |                          ^~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_flash.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:104:3: error: conflicting types for 'ADCConversionGroup'; have 'struct <anonymous>'
  104 | } ADCConversionGroup;
      |   ^~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_buffers.c:41:
../../../../os/hal/include/hal_adc.h:82:31: note: previous declaration of 'ADCDriver' with type 'ADCDriver' {aka 'struct hal_adc_driver'}
   82 | typedef struct hal_adc_driver ADCDriver;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_flash.c:25:
../../../../os/hal/include/hal_adc.h:97:44: note: previous declaration of 'ADCConversionGroup' with type 'ADCConversionGroup' {aka 'struct hal_adc_configuration_group'}
   97 | typedef struct hal_adc_configuration_group ADCConversionGroup;
      |                                            ^~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_queues.c:40:
../../../../os/hal/include/hal_adc.h:109:16: error: conflicting types for 'adccallback_t'; have 'void (*)(ADCDriver *)'
  109 | typedef void (*adccallback_t)(ADCDriver *adcp);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_queues.c:40:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:78:16: note: previous declaration of 'adccallback_t' with type 'adccallback_t' {aka 'void (*)(ADCDriver *, unsigned int *, unsigned int)'}
   78 | typedef void (*adccallback_t)(ADCDriver *adcp, adcsample_t *buffer, size_t n);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_flash.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:116:3: error: conflicting types for 'ADCConfig'; have 'struct <anonymous>'
  116 | } ADCConfig;
      |   ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_flash.c:25:
../../../../os/hal/include/hal_adc.h:87:31: note: previous declaration of 'ADCConfig' with type 'ADCConfig' {aka 'struct hal_adc_config'}
   87 | typedef struct hal_adc_config ADCConfig;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_buffers.c:41:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:104:3: error: conflicting types for 'ADCConversionGroup'; have 'struct <anonymous>'
  104 | } ADCConversionGroup;
      |   ^~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_buffers.c:41:
../../../../os/hal/include/hal_adc.h:97:44: note: previous declaration of 'ADCConversionGroup' with type 'ADCConversionGroup' {aka 'struct hal_adc_configuration_group'}
   97 | typedef struct hal_adc_configuration_group ADCConversionGroup;
      |                                            ^~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_buffers.c:41:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:116:3: error: conflicting types for 'ADCConfig'; have 'struct <anonymous>'
  116 | } ADCConfig;
      |   ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_buffers.c:41:
../../../../os/hal/include/hal_adc.h:87:31: note: previous declaration of 'ADCConfig' with type 'ADCConfig' {aka 'struct hal_adc_config'}
   87 | typedef struct hal_adc_config ADCConfig;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_flash.c:25:
../../../../os/hal/include/hal_adc.h:109:16: error: conflicting types for 'adccallback_t'; have 'void (*)(ADCDriver *)'
  109 | typedef void (*adccallback_t)(ADCDriver *adcp);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_flash.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:78:16: note: previous declaration of 'adccallback_t' with type 'adccallback_t' {aka 'void (*)(ADCDriver *, unsigned int *, unsigned int)'}
   78 | typedef void (*adccallback_t)(ADCDriver *adcp, adcsample_t *buffer, size_t n);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_buffers.c:41:
../../../../os/hal/include/hal_adc.h:109:16: error: conflicting types for 'adccallback_t'; have 'void (*)(ADCDriver *)'
  109 | typedef void (*adccallback_t)(ADCDriver *adcp);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_mmcsd.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:68:26: error: conflicting types for 'ADCDriver'; have 'struct ADCDriver'
   68 | typedef struct ADCDriver ADCDriver;
      |                          ^~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_buffers.c:41:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:78:16: note: previous declaration of 'adccallback_t' with type 'adccallback_t' {aka 'void (*)(ADCDriver *, unsigned int *, unsigned int)'}
   78 | typedef void (*adccallback_t)(ADCDriver *adcp, adcsample_t *buffer, size_t n);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_mmcsd.c:25:
../../../../os/hal/include/hal_adc.h:82:31: note: previous declaration of 'ADCDriver' with type 'ADCDriver' {aka 'struct hal_adc_driver'}
   82 | typedef struct hal_adc_driver ADCDriver;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_mmcsd.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:104:3: error: conflicting types for 'ADCConversionGroup'; have 'struct <anonymous>'
  104 | } ADCConversionGroup;
      |   ^~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_mmcsd.c:25:
../../../../os/hal/include/hal_adc.h:97:44: note: previous declaration of 'ADCConversionGroup' with type 'ADCConversionGroup' {aka 'struct hal_adc_configuration_group'}
   97 | typedef struct hal_adc_configuration_group ADCConversionGroup;
      |                                            ^~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_mmcsd.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:116:3: error: conflicting types for 'ADCConfig'; have 'struct <anonymous>'
  116 | } ADCConfig;
      |   ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_mmcsd.c:25:
../../../../os/hal/include/hal_adc.h:87:31: note: previous declaration of 'ADCConfig' with type 'ADCConfig' {aka 'struct hal_adc_config'}
   87 | typedef struct hal_adc_config ADCConfig;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_mmcsd.c:25:
../../../../os/hal/include/hal_adc.h:109:16: error: conflicting types for 'adccallback_t'; have 'void (*)(ADCDriver *)'
  109 | typedef void (*adccallback_t)(ADCDriver *adcp);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_mmcsd.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:78:16: note: previous declaration of 'adccallback_t' with type 'adccallback_t' {aka 'void (*)(ADCDriver *, unsigned int *, unsigned int)'}
   78 | typedef void (*adccallback_t)(ADCDriver *adcp, adcsample_t *buffer, size_t n);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_pal.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:68:26: error: conflicting types for 'ADCDriver'; have 'struct ADCDriver'
   68 | typedef struct ADCDriver ADCDriver;
      |                          ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_pal.c:25:
../../../../os/hal/include/hal_adc.h:82:31: note: previous declaration of 'ADCDriver' with type 'ADCDriver' {aka 'struct hal_adc_driver'}
   82 | typedef struct hal_adc_driver ADCDriver;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_queues.c:40:
../../../../os/hal/include/hal_adc.h:118:53: error: unknown type name 'adcerror_t'; did you mean 'ps_error_t'?
  118 | typedef void (*adcerrorcallback_t)(ADCDriver *adcp, adcerror_t err);
      |                                                     ^~~~~~~~~~
      |                                                     ps_error_t
../../../../os/hal/include/hal_adc.h:144:3: error: unknown type name 'adcerrorcallback_t'
  144 |   adcerrorcallback_t        error_cb;
      |   ^~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_adc.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:68:26: error: conflicting types for 'ADCDriver'; have 'struct ADCDriver'
   68 | typedef struct ADCDriver ADCDriver;
      |                          ^~~~~~~~~
../../../../os/hal/include/hal_adc.h:146:3: error: expected specifier-qualifier-list before 'adc_lld_configuration_group_fields'
  146 |   adc_lld_configuration_group_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_pal.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:104:3: error: conflicting types for 'ADCConversionGroup'; have 'struct <anonymous>'
  104 | } ADCConversionGroup;
      |   ^~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_adc.c:25:
../../../../os/hal/include/hal_adc.h:82:31: note: previous declaration of 'ADCDriver' with type 'ADCDriver' {aka 'struct hal_adc_driver'}
   82 | typedef struct hal_adc_driver ADCDriver;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_pal.c:25:
../../../../os/hal/include/hal_adc.h:97:44: note: previous declaration of 'ADCConversionGroup' with type 'ADCConversionGroup' {aka 'struct hal_adc_configuration_group'}
   97 | typedef struct hal_adc_configuration_group ADCConversionGroup;
      |                                            ^~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_adc.h:154:3: error: expected specifier-qualifier-list before 'adc_lld_config_fields'
  154 |   adc_lld_config_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_flash.c:25:
../../../../os/hal/include/hal_adc.h:118:53: error: unknown type name 'adcerror_t'; did you mean 'ps_error_t'?
  118 | typedef void (*adcerrorcallback_t)(ADCDriver *adcp, adcerror_t err);
      |                                                     ^~~~~~~~~~
      |                                                     ps_error_t
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_pal.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:116:3: error: conflicting types for 'ADCConfig'; have 'struct <anonymous>'
  116 | } ADCConfig;
      |   ^~~~~~~~~
../../../../os/hal/include/hal_adc.h:197:3: error: expected specifier-qualifier-list before 'adc_lld_driver_fields'
  197 |   adc_lld_driver_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_pal.c:25:
../../../../os/hal/include/hal_adc.h:87:31: note: previous declaration of 'ADCConfig' with type 'ADCConfig' {aka 'struct hal_adc_config'}
   87 | typedef struct hal_adc_config ADCConfig;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_adc.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:104:3: error: conflicting types for 'ADCConversionGroup'; have 'struct <anonymous>'
  104 | } ADCConversionGroup;
      |   ^~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_adc.h:144:3: error: unknown type name 'adcerrorcallback_t'
  144 |   adcerrorcallback_t        error_cb;
      |   ^~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_adc.c:25:
../../../../os/hal/include/hal_adc.h:97:44: note: previous declaration of 'ADCConversionGroup' with type 'ADCConversionGroup' {aka 'struct hal_adc_configuration_group'}
   97 | typedef struct hal_adc_configuration_group ADCConversionGroup;
      |                                            ^~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_adc.h:146:3: error: expected specifier-qualifier-list before 'adc_lld_configuration_group_fields'
  146 |   adc_lld_configuration_group_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_adc.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:116:3: error: conflicting types for 'ADCConfig'; have 'struct <anonymous>'
  116 | } ADCConfig;
      |   ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_buffers.c:41:
../../../../os/hal/include/hal_adc.h:118:53: error: unknown type name 'adcerror_t'; did you mean 'ps_error_t'?
  118 | typedef void (*adcerrorcallback_t)(ADCDriver *adcp, adcerror_t err);
      |                                                     ^~~~~~~~~~
      |                                                     ps_error_t
../../../../os/hal/include/hal_adc.h:154:3: error: expected specifier-qualifier-list before 'adc_lld_config_fields'
  154 |   adc_lld_config_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_adc.c:25:
../../../../os/hal/include/hal_adc.h:87:31: note: previous declaration of 'ADCConfig' with type 'ADCConfig' {aka 'struct hal_adc_config'}
   87 | typedef struct hal_adc_config ADCConfig;
      |                               ^~~~~~~~~
../../../../os/hal/include/hal_adc.h:144:3: error: unknown type name 'adcerrorcallback_t'
  144 |   adcerrorcallback_t        error_cb;
      |   ^~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_pal.c:25:
../../../../os/hal/include/hal_adc.h:109:16: error: conflicting types for 'adccallback_t'; have 'void (*)(ADCDriver *)'
  109 | typedef void (*adccallback_t)(ADCDriver *adcp);
      |                ^~~~~~~~~~~~~
../../../../os/hal/include/hal_adc.h:197:3: error: expected specifier-qualifier-list before 'adc_lld_driver_fields'
  197 |   adc_lld_driver_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_adc.h:146:3: error: expected specifier-qualifier-list before 'adc_lld_configuration_group_fields'
  146 |   adc_lld_configuration_group_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_pal.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:78:16: note: previous declaration of 'adccallback_t' with type 'adccallback_t' {aka 'void (*)(ADCDriver *, unsigned int *, unsigned int)'}
   78 | typedef void (*adccallback_t)(ADCDriver *adcp, adcsample_t *buffer, size_t n);
      |                ^~~~~~~~~~~~~
../../../../os/hal/include/hal_adc.h:154:3: error: expected specifier-qualifier-list before 'adc_lld_config_fields'
  154 |   adc_lld_config_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_adc.c:25:
../../../../os/hal/include/hal_adc.h:109:16: error: conflicting types for 'adccallback_t'; have 'void (*)(ADCDriver *)'
  109 | typedef void (*adccallback_t)(ADCDriver *adcp);
      |                ^~~~~~~~~~~~~
../../../../os/hal/include/hal_adc.h:197:3: error: expected specifier-qualifier-list before 'adc_lld_driver_fields'
  197 |   adc_lld_driver_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_adc.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:78:16: note: previous declaration of 'adccallback_t' with type 'adccallback_t' {aka 'void (*)(ADCDriver *, unsigned int *, unsigned int)'}
   78 | typedef void (*adccallback_t)(ADCDriver *adcp, adcsample_t *buffer, size_t n);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_mmcsd.c:25:
../../../../os/hal/include/hal_adc.h:118:53: error: unknown type name 'adcerror_t'; did you mean 'ps_error_t'?
  118 | typedef void (*adcerrorcallback_t)(ADCDriver *adcp, adcerror_t err);
      |                                                     ^~~~~~~~~~
      |                                                     ps_error_t
../../../../os/hal/include/hal_adc.h:144:3: error: unknown type name 'adcerrorcallback_t'
  144 |   adcerrorcallback_t        error_cb;
      |   ^~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_adc.h:146:3: error: expected specifier-qualifier-list before 'adc_lld_configuration_group_fields'
  146 |   adc_lld_configuration_group_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_adc.h:154:3: error: expected specifier-qualifier-list before 'adc_lld_config_fields'
  154 |   adc_lld_config_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_adc.h:197:3: error: expected specifier-qualifier-list before 'adc_lld_driver_fields'
  197 |   adc_lld_driver_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_pal.c:25:
../../../../os/hal/include/hal_adc.h:118:53: error: unknown type name 'adcerror_t'; did you mean 'ps_error_t'?
  118 | typedef void (*adcerrorcallback_t)(ADCDriver *adcp, adcerror_t err);
      |                                                     ^~~~~~~~~~
      |                                                     ps_error_t
../../../../os/hal/include/hal_adc.h:144:3: error: unknown type name 'adcerrorcallback_t'
  144 |   adcerrorcallback_t        error_cb;
      |   ^~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_adc.h:146:3: error: expected specifier-qualifier-list before 'adc_lld_configuration_group_fields'
  146 |   adc_lld_configuration_group_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_adc.c:25:
../../../../os/hal/include/hal_adc.h:118:53: error: unknown type name 'adcerror_t'; did you mean 'ps_error_t'?
  118 | typedef void (*adcerrorcallback_t)(ADCDriver *adcp, adcerror_t err);
      |                                                     ^~~~~~~~~~
      |                                                     ps_error_t
../../../../os/hal/include/hal_adc.h:154:3: error: expected specifier-qualifier-list before 'adc_lld_config_fields'
  154 |   adc_lld_config_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_adc.h:144:3: error: unknown type name 'adcerrorcallback_t'
  144 |   adcerrorcallback_t        error_cb;
      |   ^~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_adc.h:146:3: error: expected specifier-qualifier-list before 'adc_lld_configuration_group_fields'
  146 |   adc_lld_configuration_group_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_adc.h:197:3: error: expected specifier-qualifier-list before 'adc_lld_driver_fields'
  197 |   adc_lld_driver_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_adc.h:154:3: error: expected specifier-qualifier-list before 'adc_lld_config_fields'
  154 |   adc_lld_config_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_adc.h:197:3: error: expected specifier-qualifier-list before 'adc_lld_driver_fields'
  197 |   adc_lld_driver_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/ports/AVR/MEGA/ATMEGAxx/hal_lld.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:68:26: error: conflicting types for 'ADCDriver'; have 'struct ADCDriver'
   68 | typedef struct ADCDriver ADCDriver;
      |                          ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/ports/AVR/MEGA/ATMEGAxx/hal_lld.c:25:
../../../../os/hal/include/hal_adc.h:82:31: note: previous declaration of 'ADCDriver' with type 'ADCDriver' {aka 'struct hal_adc_driver'}
   82 | typedef struct hal_adc_driver ADCDriver;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/ports/AVR/MEGA/ATMEGAxx/hal_lld.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:104:3: error: conflicting types for 'ADCConversionGroup'; have 'struct <anonymous>'
  104 | } ADCConversionGroup;
      |   ^~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/ports/AVR/MEGA/ATMEGAxx/hal_lld.c:25:
../../../../os/hal/include/hal_adc.h:97:44: note: previous declaration of 'ADCConversionGroup' with type 'ADCConversionGroup' {aka 'struct hal_adc_configuration_group'}
   97 | typedef struct hal_adc_configuration_group ADCConversionGroup;
      |                                            ^~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/ports/AVR/MEGA/ATMEGAxx/hal_lld.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:116:3: error: conflicting types for 'ADCConfig'; have 'struct <anonymous>'
  116 | } ADCConfig;
      |   ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/ports/AVR/MEGA/ATMEGAxx/hal_lld.c:25:
../../../../os/hal/include/hal_adc.h:87:31: note: previous declaration of 'ADCConfig' with type 'ADCConfig' {aka 'struct hal_adc_config'}
   87 | typedef struct hal_adc_config ADCConfig;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/ports/AVR/MEGA/ATMEGAxx/hal_lld.c:25:
../../../../os/hal/include/hal_adc.h:109:16: error: conflicting types for 'adccallback_t'; have 'void (*)(ADCDriver *)'
  109 | typedef void (*adccallback_t)(ADCDriver *adcp);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/ports/AVR/MEGA/ATMEGAxx/hal_lld.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:78:16: note: previous declaration of 'adccallback_t' with type 'adccallback_t' {aka 'void (*)(ADCDriver *, unsigned int *, unsigned int)'}
   78 | typedef void (*adccallback_t)(ADCDriver *adcp, adcsample_t *buffer, size_t n);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:68:26: error: conflicting types for 'ADCDriver'; have 'struct ADCDriver'
   68 | typedef struct ADCDriver ADCDriver;
      |                          ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.c:25:
../../../../os/hal/include/hal_adc.h:82:31: note: previous declaration of 'ADCDriver' with type 'ADCDriver' {aka 'struct hal_adc_driver'}
   82 | typedef struct hal_adc_driver ADCDriver;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:104:3: error: conflicting types for 'ADCConversionGroup'; have 'struct <anonymous>'
  104 | } ADCConversionGroup;
      |   ^~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.c:25:
../../../../os/hal/include/hal_adc.h:97:44: note: previous declaration of 'ADCConversionGroup' with type 'ADCConversionGroup' {aka 'struct hal_adc_configuration_group'}
   97 | typedef struct hal_adc_configuration_group ADCConversionGroup;
      |                                            ^~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:116:3: error: conflicting types for 'ADCConfig'; have 'struct <anonymous>'
  116 | } ADCConfig;
      |   ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.c:25:
../../../../os/hal/include/hal_adc.h:87:31: note: previous declaration of 'ADCConfig' with type 'ADCConfig' {aka 'struct hal_adc_config'}
   87 | typedef struct hal_adc_config ADCConfig;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.c:25:
../../../../os/hal/include/hal_adc.h:109:16: error: conflicting types for 'adccallback_t'; have 'void (*)(ADCDriver *)'
  109 | typedef void (*adccallback_t)(ADCDriver *adcp);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:78:16: note: previous declaration of 'adccallback_t' with type 'adccallback_t' {aka 'void (*)(ADCDriver *, unsigned int *, unsigned int)'}
   78 | typedef void (*adccallback_t)(ADCDriver *adcp, adcsample_t *buffer, size_t n);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/boards/ARDUINO_MEGA/board.c:17:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:68:26: error: conflicting types for 'ADCDriver'; have 'struct ADCDriver'
   68 | typedef struct ADCDriver ADCDriver;
      |                          ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/ports/AVR/MEGA/ATMEGAxx/hal_lld.c:25:
../../../../os/hal/include/hal_adc.h:118:53: error: unknown type name 'adcerror_t'; did you mean 'ps_error_t'?
  118 | typedef void (*adcerrorcallback_t)(ADCDriver *adcp, adcerror_t err);
      |                                                     ^~~~~~~~~~
      |                                                     ps_error_t
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/boards/ARDUINO_MEGA/board.c:17:
../../../../os/hal/include/hal_adc.h:82:31: note: previous declaration of 'ADCDriver' with type 'ADCDriver' {aka 'struct hal_adc_driver'}
   82 | typedef struct hal_adc_driver ADCDriver;
      |                               ^~~~~~~~~
../../../../os/hal/include/hal_adc.h:144:3: error: unknown type name 'adcerrorcallback_t'
  144 |   adcerrorcallback_t        error_cb;
      |   ^~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_adc.h:146:3: error: expected specifier-qualifier-list before 'adc_lld_configuration_group_fields'
  146 |   adc_lld_configuration_group_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_adc.h:154:3: error: expected specifier-qualifier-list before 'adc_lld_config_fields'
  154 |   adc_lld_config_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/boards/ARDUINO_MEGA/board.c:17:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:104:3: error: conflicting types for 'ADCConversionGroup'; have 'struct <anonymous>'
  104 | } ADCConversionGroup;
      |   ^~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_adc.h:197:3: error: expected specifier-qualifier-list before 'adc_lld_driver_fields'
  197 |   adc_lld_driver_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/boards/ARDUINO_MEGA/board.c:17:
../../../../os/hal/include/hal_adc.h:97:44: note: previous declaration of 'ADCConversionGroup' with type 'ADCConversionGroup' {aka 'struct hal_adc_configuration_group'}
   97 | typedef struct hal_adc_configuration_group ADCConversionGroup;
      |                                            ^~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/boards/ARDUINO_MEGA/board.c:17:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:116:3: error: conflicting types for 'ADCConfig'; have 'struct <anonymous>'
  116 | } ADCConfig;
      |   ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/boards/ARDUINO_MEGA/board.c:17:
../../../../os/hal/include/hal_adc.h:87:31: note: previous declaration of 'ADCConfig' with type 'ADCConfig' {aka 'struct hal_adc_config'}
   87 | typedef struct hal_adc_config ADCConfig;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.c:25:
../../../../os/hal/include/hal_adc.h:118:53: error: unknown type name 'adcerror_t'; did you mean 'ps_error_t'?
  118 | typedef void (*adcerrorcallback_t)(ADCDriver *adcp, adcerror_t err);
      |                                                     ^~~~~~~~~~
      |                                                     ps_error_t
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/boards/ARDUINO_MEGA/board.c:17:
../../../../os/hal/include/hal_adc.h:109:16: error: conflicting types for 'adccallback_t'; have 'void (*)(ADCDriver *)'
  109 | typedef void (*adccallback_t)(ADCDriver *adcp);
      |                ^~~~~~~~~~~~~
../../../../os/hal/include/hal_adc.h:144:3: error: unknown type name 'adcerrorcallback_t'
  144 |   adcerrorcallback_t        error_cb;
      |   ^~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/boards/ARDUINO_MEGA/board.c:17:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:78:16: note: previous declaration of 'adccallback_t' with type 'adccallback_t' {aka 'void (*)(ADCDriver *, unsigned int *, unsigned int)'}
   78 | typedef void (*adccallback_t)(ADCDriver *adcp, adcsample_t *buffer, size_t n);
      |                ^~~~~~~~~~~~~
../../../../os/hal/include/hal_adc.h:146:3: error: expected specifier-qualifier-list before 'adc_lld_configuration_group_fields'
  146 |   adc_lld_configuration_group_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_adc.h:154:3: error: expected specifier-qualifier-list before 'adc_lld_config_fields'
  154 |   adc_lld_config_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_adc.h:197:3: error: expected specifier-qualifier-list before 'adc_lld_driver_fields'
  197 |   adc_lld_driver_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
make: *** [../../../../os/common/ports/AVR/compilers/GCC/rules.mk:175: build/obj/hal.o] Error 1
make: *** Waiting for unfinished jobs....
make: *** [../../../../os/common/ports/AVR/compilers/GCC/rules.mk:175: build/obj/hal_st.o] Error 1
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/boards/ARDUINO_MEGA/board.c:17:
../../../../os/hal/include/hal_adc.h:118:53: error: unknown type name 'adcerror_t'; did you mean 'ps_error_t'?
  118 | typedef void (*adcerrorcallback_t)(ADCDriver *adcp, adcerror_t err);
      |                                                     ^~~~~~~~~~
      |                                                     ps_error_t
../../../../os/hal/include/hal_adc.h:144:3: error: unknown type name 'adcerrorcallback_t'
  144 |   adcerrorcallback_t        error_cb;
      |   ^~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_adc.h:146:3: error: expected specifier-qualifier-list before 'adc_lld_configuration_group_fields'
  146 |   adc_lld_configuration_group_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_adc.h:154:3: error: expected specifier-qualifier-list before 'adc_lld_config_fields'
  154 |   adc_lld_config_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_adc.h:197:3: error: expected specifier-qualifier-list before 'adc_lld_driver_fields'
  197 |   adc_lld_driver_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
make: *** [../../../../os/common/ports/AVR/compilers/GCC/rules.mk:175: build/obj/hal_mmcsd.o] Error 1
make: *** [../../../../os/common/ports/AVR/compilers/GCC/rules.mk:175: build/obj/hal_flash.o] Error 1
make: *** [../../../../os/common/ports/AVR/compilers/GCC/rules.mk:175: build/obj/hal_pal.o] Error 1
make: *** [../../../../os/common/ports/AVR/compilers/GCC/rules.mk:175: build/obj/hal_lld.o] Error 1
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.c: In function '__vector_29':
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.c:105:24: error: too few arguments to function 'ADCD1.grpp->end_cb'
  105 |     _adc_isr_half_code(&ADCD1);
../../../../os/hal/include/hal_adc.h:296:6: note: in definition of macro '_adc_isr_half_code'
  296 |     (adcp)->grpp->end_cb(adcp);                                             \
      |      ^~~~
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.c:109:24: error: too few arguments to function 'ADCD1.grpp->end_cb'
  109 |     _adc_isr_full_code(&ADCD1);
../../../../os/hal/include/hal_adc.h:319:8: note: in definition of macro '_adc_isr_full_code'
  319 |       (adcp)->grpp->end_cb(adcp);                                           \
      |        ^~~~
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.c:109:24: error: too few arguments to function 'ADCD1.grpp->end_cb'
  109 |     _adc_isr_full_code(&ADCD1);
../../../../os/hal/include/hal_adc.h:330:8: note: in definition of macro '_adc_isr_full_code'
  330 |       (adcp)->grpp->end_cb(adcp);                                           \
      |        ^~~~
make: *** [../../../../os/common/ports/AVR/compilers/GCC/rules.mk:175: build/obj/hal_queues.o] Error 1
make: *** [../../../../os/common/ports/AVR/compilers/GCC/rules.mk:175: build/obj/hal_adc.o] Error 1
make: *** [../../../../os/common/ports/AVR/compilers/GCC/rules.mk:175: build/obj/hal_adc_lld.o] Error 1
make: *** [../../../../os/common/ports/AVR/compilers/GCC/rules.mk:175: build/obj/hal_buffers.o] Error 1
make: *** [../../../../os/common/ports/AVR/compilers/GCC/rules.mk:175: build/obj/board.o] Error 1
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_serial.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:68:26: error: conflicting types for 'ADCDriver'; have 'struct ADCDriver'
   68 | typedef struct ADCDriver ADCDriver;
      |                          ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_serial.c:25:
../../../../os/hal/include/hal_adc.h:82:31: note: previous declaration of 'ADCDriver' with type 'ADCDriver' {aka 'struct hal_adc_driver'}
   82 | typedef struct hal_adc_driver ADCDriver;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_serial.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:104:3: error: conflicting types for 'ADCConversionGroup'; have 'struct <anonymous>'
  104 | } ADCConversionGroup;
      |   ^~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_serial.c:25:
../../../../os/hal/include/hal_adc.h:97:44: note: previous declaration of 'ADCConversionGroup' with type 'ADCConversionGroup' {aka 'struct hal_adc_configuration_group'}
   97 | typedef struct hal_adc_configuration_group ADCConversionGroup;
      |                                            ^~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_serial.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:116:3: error: conflicting types for 'ADCConfig'; have 'struct <anonymous>'
  116 | } ADCConfig;
      |   ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_serial.c:25:
../../../../os/hal/include/hal_adc.h:87:31: note: previous declaration of 'ADCConfig' with type 'ADCConfig' {aka 'struct hal_adc_config'}
   87 | typedef struct hal_adc_config ADCConfig;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_serial.c:25:
../../../../os/hal/include/hal_adc.h:109:16: error: conflicting types for 'adccallback_t'; have 'void (*)(ADCDriver *)'
  109 | typedef void (*adccallback_t)(ADCDriver *adcp);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_adc.h:101,
                 from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_serial.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/ADCv1/hal_adc_lld.h:78:16: note: previous declaration of 'adccallback_t' with type 'adccallback_t' {aka 'void (*)(ADCDriver *, unsigned int *, unsigned int)'}
   78 | typedef void (*adccallback_t)(ADCDriver *adcp, adcsample_t *buffer, size_t n);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:269,
                 from ../../../../os/hal/src/hal_serial.c:25:
../../../../os/hal/include/hal_adc.h:118:53: error: unknown type name 'adcerror_t'; did you mean 'ps_error_t'?
  118 | typedef void (*adcerrorcallback_t)(ADCDriver *adcp, adcerror_t err);
      |                                                     ^~~~~~~~~~
      |                                                     ps_error_t
../../../../os/hal/include/hal_adc.h:144:3: error: unknown type name 'adcerrorcallback_t'
  144 |   adcerrorcallback_t        error_cb;
      |   ^~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_adc.h:146:3: error: expected specifier-qualifier-list before 'adc_lld_configuration_group_fields'
  146 |   adc_lld_configuration_group_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_adc.h:154:3: error: expected specifier-qualifier-list before 'adc_lld_config_fields'
  154 |   adc_lld_config_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_adc.h:197:3: error: expected specifier-qualifier-list before 'adc_lld_driver_fields'
  197 |   adc_lld_driver_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
make: *** [../../../../os/common/ports/AVR/compilers/GCC/rules.mk:175: build/obj/hal_serial.o] Error 1
*** Moving to: ./AVR/MEGA/GPT/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/AVR/MEGA/GPT ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./AVR/MEGA/EXT/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/AVR/MEGA/EXT ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
Compiling main.c
main.c:32:19: error: unknown type name 'EXTDriver'
   32 | static void extcb(EXTDriver *extp, expchannel_t channel) {
      |                   ^~~~~~~~~
main.c:32:36: error: unknown type name 'expchannel_t'
   32 | static void extcb(EXTDriver *extp, expchannel_t channel) {
      |                                    ^~~~~~~~~~~~
main.c:45:14: error: unknown type name 'EXTConfig'
   45 | static const EXTConfig extcfg = {
      |              ^~~~~~~~~
main.c:46:3: warning: braces around scalar initializer
   46 |   {
      |   ^
main.c:46:3: note: (near initialization for 'extcfg')
main.c:47:5: warning: braces around scalar initializer
   47 |     {EXT_CH_MODE_DISABLED , NULL},      /* INT0 Config. */
      |     ^
main.c:47:5: note: (near initialization for 'extcfg')
main.c:47:6: error: 'EXT_CH_MODE_DISABLED' undeclared here (not in a function); did you mean 'PAL_EVENT_MODE_DISABLED'?
   47 |     {EXT_CH_MODE_DISABLED , NULL},      /* INT0 Config. */
      |      ^~~~~~~~~~~~~~~~~~~~
      |      PAL_EVENT_MODE_DISABLED
main.c:47:29: warning: excess elements in scalar initializer
   47 |     {EXT_CH_MODE_DISABLED , NULL},      /* INT0 Config. */
      |                             ^~~~
main.c:47:29: note: (near initialization for 'extcfg')
main.c:48:5: warning: braces around scalar initializer
   48 |     {EXT_CH_MODE_DISABLED , NULL},      /* INT1 Config. */
      |     ^
main.c:48:5: note: (near initialization for 'extcfg')
main.c:48:29: warning: excess elements in scalar initializer
   48 |     {EXT_CH_MODE_DISABLED , NULL},      /* INT1 Config. */
      |                             ^~~~
main.c:48:29: note: (near initialization for 'extcfg')
main.c:48:5: warning: excess elements in scalar initializer
   48 |     {EXT_CH_MODE_DISABLED , NULL},      /* INT1 Config. */
      |     ^
main.c:48:5: note: (near initialization for 'extcfg')
main.c:49:5: warning: braces around scalar initializer
   49 |     {EXT_CH_MODE_DISABLED , NULL},      /* INT2 Config. */
      |     ^
main.c:49:5: note: (near initialization for 'extcfg')
main.c:49:29: warning: excess elements in scalar initializer
   49 |     {EXT_CH_MODE_DISABLED , NULL},      /* INT2 Config. */
      |                             ^~~~
main.c:49:29: note: (near initialization for 'extcfg')
main.c:49:5: warning: excess elements in scalar initializer
   49 |     {EXT_CH_MODE_DISABLED , NULL},      /* INT2 Config. */
      |     ^
main.c:49:5: note: (near initialization for 'extcfg')
main.c:50:5: warning: braces around scalar initializer
   50 |     {EXT_CH_MODE_DISABLED , NULL},      /* INT3 Config. */
      |     ^
main.c:50:5: note: (near initialization for 'extcfg')
main.c:50:29: warning: excess elements in scalar initializer
   50 |     {EXT_CH_MODE_DISABLED , NULL},      /* INT3 Config. */
      |                             ^~~~
main.c:50:29: note: (near initialization for 'extcfg')
main.c:50:5: warning: excess elements in scalar initializer
   50 |     {EXT_CH_MODE_DISABLED , NULL},      /* INT3 Config. */
      |     ^
main.c:50:5: note: (near initialization for 'extcfg')
main.c:51:5: warning: braces around scalar initializer
   51 |     {EXT_CH_MODE_RISING_EDGE , extcb},  /* INT4 Config. */
      |     ^
main.c:51:5: note: (near initialization for 'extcfg')
main.c:51:6: error: 'EXT_CH_MODE_RISING_EDGE' undeclared here (not in a function); did you mean 'PAL_EVENT_MODE_RISING_EDGE'?
   51 |     {EXT_CH_MODE_RISING_EDGE , extcb},  /* INT4 Config. */
      |      ^~~~~~~~~~~~~~~~~~~~~~~
      |      PAL_EVENT_MODE_RISING_EDGE
main.c:51:32: error: 'extcb' undeclared here (not in a function); did you mean 'extcfg'?
   51 |     {EXT_CH_MODE_RISING_EDGE , extcb},  /* INT4 Config. */
      |                                ^~~~~
      |                                extcfg
main.c:51:32: warning: excess elements in scalar initializer
main.c:51:32: note: (near initialization for 'extcfg')
main.c:51:5: warning: excess elements in scalar initializer
   51 |     {EXT_CH_MODE_RISING_EDGE , extcb},  /* INT4 Config. */
      |     ^
main.c:51:5: note: (near initialization for 'extcfg')
main.c:52:5: warning: braces around scalar initializer
   52 |     {EXT_CH_MODE_DISABLED , NULL},      /* INT5 Config. */
      |     ^
main.c:52:5: note: (near initialization for 'extcfg')
main.c:52:29: warning: excess elements in scalar initializer
   52 |     {EXT_CH_MODE_DISABLED , NULL},      /* INT5 Config. */
      |                             ^~~~
main.c:52:29: note: (near initialization for 'extcfg')
main.c:52:5: warning: excess elements in scalar initializer
   52 |     {EXT_CH_MODE_DISABLED , NULL},      /* INT5 Config. */
      |     ^
main.c:52:5: note: (near initialization for 'extcfg')
main.c: In function 'main':
main.c:83:3: warning: implicit declaration of function 'extStart' [-Wimplicit-function-declaration]
   83 |   extStart(&EXTD1, &extcfg);
      |   ^~~~~~~~
main.c:83:13: error: 'EXTD1' undeclared (first use in this function)
   83 |   extStart(&EXTD1, &extcfg);
      |             ^~~~~
main.c:83:13: note: each undeclared identifier is reported only once for each function it appears in
main.c:84:3: warning: implicit declaration of function 'extChannelEnable' [-Wimplicit-function-declaration]
   84 |   extChannelEnable(&EXTD1, INT4);
      |   ^~~~~~~~~~~~~~~~
make: *** [../../../../os/common/ports/AVR/compilers/GCC/rules.mk:175: build/obj/main.o] Error 1
*** Moving to: ./AVR/MEGA/SPI/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/AVR/MEGA/SPI ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
Compiling hal.c
Compiling hal_st.c
Compiling hal_buffers.c
Compiling hal_queues.c
Compiling hal_flash.c
Compiling hal_mmcsd.c
Compiling hal_pal.c
Compiling hal_serial.c
Compiling hal_spi.c
Compiling board.c
Compiling hal_lld.c
Compiling hal_pal_lld.c
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_queues.c:40:
../../../../os/hal/ports/AVR/MEGA/LLD/SPIv1/hal_spi_lld.h:103:26: error: conflicting types for 'SPIDriver'; have 'struct SPIDriver'
  103 | typedef struct SPIDriver SPIDriver;
      |                          ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_queues.c:40:
../../../../os/hal/include/hal_spi.h:127:31: note: previous declaration of 'SPIDriver' with type 'SPIDriver' {aka 'struct hal_spi_driver'}
  127 | typedef struct hal_spi_driver SPIDriver;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_queues.c:40:
../../../../os/hal/ports/AVR/MEGA/LLD/SPIv1/hal_spi_lld.h:111:16: error: conflicting types for 'spicallback_t'; have 'void (*)(SPIDriver *)'
  111 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_queues.c:40:
../../../../os/hal/include/hal_spi.h:139:16: note: previous declaration of 'spicallback_t' with type 'spicallback_t' {aka 'void (*)(struct hal_spi_driver *)'}
  139 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_queues.c:40:
../../../../os/hal/ports/AVR/MEGA/LLD/SPIv1/hal_spi_lld.h:140:3: error: conflicting types for 'SPIConfig'; have 'struct <anonymous>'
  140 | } SPIConfig;
      |   ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_queues.c:40:
../../../../os/hal/include/hal_spi.h:131:31: note: previous declaration of 'SPIConfig' with type 'SPIConfig' {aka 'struct hal_spi_config'}
  131 | typedef struct hal_spi_config SPIConfig;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_queues.c:40:
../../../../os/hal/include/hal_spi.h:149:6: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  149 | #if (SPI_SUPPORTS_CIRCULAR == TRUE) || defined(__DOXYGEN__)
      |      ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:186:3: error: expected specifier-qualifier-list before 'spi_lld_config_fields'
  186 |   spi_lld_config_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:217:3: error: expected specifier-qualifier-list before 'spi_lld_driver_fields'
  217 |   spi_lld_driver_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:510:5: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  510 | #if SPI_SUPPORTS_CIRCULAR == TRUE
      |     ^~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_st.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/SPIv1/hal_spi_lld.h:103:26: error: conflicting types for 'SPIDriver'; have 'struct SPIDriver'
  103 | typedef struct SPIDriver SPIDriver;
      |                          ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_st.c:25:
../../../../os/hal/include/hal_spi.h:127:31: note: previous declaration of 'SPIDriver' with type 'SPIDriver' {aka 'struct hal_spi_driver'}
  127 | typedef struct hal_spi_driver SPIDriver;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_st.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/SPIv1/hal_spi_lld.h:111:16: error: conflicting types for 'spicallback_t'; have 'void (*)(SPIDriver *)'
  111 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_st.c:25:
../../../../os/hal/include/hal_spi.h:139:16: note: previous declaration of 'spicallback_t' with type 'spicallback_t' {aka 'void (*)(struct hal_spi_driver *)'}
  139 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_st.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/SPIv1/hal_spi_lld.h:140:3: error: conflicting types for 'SPIConfig'; have 'struct <anonymous>'
  140 | } SPIConfig;
      |   ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_st.c:25:
../../../../os/hal/include/hal_spi.h:131:31: note: previous declaration of 'SPIConfig' with type 'SPIConfig' {aka 'struct hal_spi_config'}
  131 | typedef struct hal_spi_config SPIConfig;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_st.c:25:
../../../../os/hal/include/hal_spi.h:149:6: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  149 | #if (SPI_SUPPORTS_CIRCULAR == TRUE) || defined(__DOXYGEN__)
      |      ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:186:3: error: expected specifier-qualifier-list before 'spi_lld_config_fields'
  186 |   spi_lld_config_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:217:3: error: expected specifier-qualifier-list before 'spi_lld_driver_fields'
  217 |   spi_lld_driver_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/SPIv1/hal_spi_lld.h:103:26: error: conflicting types for 'SPIDriver'; have 'struct SPIDriver'
  103 | typedef struct SPIDriver SPIDriver;
      |                          ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal.c:25:
../../../../os/hal/include/hal_spi.h:127:31: note: previous declaration of 'SPIDriver' with type 'SPIDriver' {aka 'struct hal_spi_driver'}
  127 | typedef struct hal_spi_driver SPIDriver;
      |                               ^~~~~~~~~
../../../../os/hal/include/hal_spi.h:510:5: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  510 | #if SPI_SUPPORTS_CIRCULAR == TRUE
      |     ^~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/SPIv1/hal_spi_lld.h:111:16: error: conflicting types for 'spicallback_t'; have 'void (*)(SPIDriver *)'
  111 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal.c:25:
../../../../os/hal/include/hal_spi.h:139:16: note: previous declaration of 'spicallback_t' with type 'spicallback_t' {aka 'void (*)(struct hal_spi_driver *)'}
  139 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/SPIv1/hal_spi_lld.h:140:3: error: conflicting types for 'SPIConfig'; have 'struct <anonymous>'
  140 | } SPIConfig;
      |   ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal.c:25:
../../../../os/hal/include/hal_spi.h:131:31: note: previous declaration of 'SPIConfig' with type 'SPIConfig' {aka 'struct hal_spi_config'}
  131 | typedef struct hal_spi_config SPIConfig;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal.c:25:
../../../../os/hal/include/hal_spi.h:149:6: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  149 | #if (SPI_SUPPORTS_CIRCULAR == TRUE) || defined(__DOXYGEN__)
      |      ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:186:3: error: expected specifier-qualifier-list before 'spi_lld_config_fields'
  186 |   spi_lld_config_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:217:3: error: expected specifier-qualifier-list before 'spi_lld_driver_fields'
  217 |   spi_lld_driver_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:510:5: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  510 | #if SPI_SUPPORTS_CIRCULAR == TRUE
      |     ^~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_buffers.c:41:
../../../../os/hal/ports/AVR/MEGA/LLD/SPIv1/hal_spi_lld.h:103:26: error: conflicting types for 'SPIDriver'; have 'struct SPIDriver'
  103 | typedef struct SPIDriver SPIDriver;
      |                          ^~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_mmcsd.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/SPIv1/hal_spi_lld.h:103:26: error: conflicting types for 'SPIDriver'; have 'struct SPIDriver'
  103 | typedef struct SPIDriver SPIDriver;
      |                          ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_buffers.c:41:
../../../../os/hal/include/hal_spi.h:127:31: note: previous declaration of 'SPIDriver' with type 'SPIDriver' {aka 'struct hal_spi_driver'}
  127 | typedef struct hal_spi_driver SPIDriver;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_mmcsd.c:25:
../../../../os/hal/include/hal_spi.h:127:31: note: previous declaration of 'SPIDriver' with type 'SPIDriver' {aka 'struct hal_spi_driver'}
  127 | typedef struct hal_spi_driver SPIDriver;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_buffers.c:41:
../../../../os/hal/ports/AVR/MEGA/LLD/SPIv1/hal_spi_lld.h:111:16: error: conflicting types for 'spicallback_t'; have 'void (*)(SPIDriver *)'
  111 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_mmcsd.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/SPIv1/hal_spi_lld.h:111:16: error: conflicting types for 'spicallback_t'; have 'void (*)(SPIDriver *)'
  111 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_buffers.c:41:
../../../../os/hal/include/hal_spi.h:139:16: note: previous declaration of 'spicallback_t' with type 'spicallback_t' {aka 'void (*)(struct hal_spi_driver *)'}
  139 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_mmcsd.c:25:
../../../../os/hal/include/hal_spi.h:139:16: note: previous declaration of 'spicallback_t' with type 'spicallback_t' {aka 'void (*)(struct hal_spi_driver *)'}
  139 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_buffers.c:41:
../../../../os/hal/ports/AVR/MEGA/LLD/SPIv1/hal_spi_lld.h:140:3: error: conflicting types for 'SPIConfig'; have 'struct <anonymous>'
  140 | } SPIConfig;
      |   ^~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_mmcsd.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/SPIv1/hal_spi_lld.h:140:3: error: conflicting types for 'SPIConfig'; have 'struct <anonymous>'
  140 | } SPIConfig;
      |   ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_buffers.c:41:
../../../../os/hal/include/hal_spi.h:131:31: note: previous declaration of 'SPIConfig' with type 'SPIConfig' {aka 'struct hal_spi_config'}
  131 | typedef struct hal_spi_config SPIConfig;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_mmcsd.c:25:
../../../../os/hal/include/hal_spi.h:131:31: note: previous declaration of 'SPIConfig' with type 'SPIConfig' {aka 'struct hal_spi_config'}
  131 | typedef struct hal_spi_config SPIConfig;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_mmcsd.c:25:
../../../../os/hal/include/hal_spi.h:149:6: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  149 | #if (SPI_SUPPORTS_CIRCULAR == TRUE) || defined(__DOXYGEN__)
      |      ^~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_buffers.c:41:
../../../../os/hal/include/hal_spi.h:149:6: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  149 | #if (SPI_SUPPORTS_CIRCULAR == TRUE) || defined(__DOXYGEN__)
      |      ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:186:3: error: expected specifier-qualifier-list before 'spi_lld_config_fields'
  186 |   spi_lld_config_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:186:3: error: expected specifier-qualifier-list before 'spi_lld_config_fields'
  186 |   spi_lld_config_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:217:3: error: expected specifier-qualifier-list before 'spi_lld_driver_fields'
  217 |   spi_lld_driver_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:217:3: error: expected specifier-qualifier-list before 'spi_lld_driver_fields'
  217 |   spi_lld_driver_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:510:5: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  510 | #if SPI_SUPPORTS_CIRCULAR == TRUE
      |     ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:510:5: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  510 | #if SPI_SUPPORTS_CIRCULAR == TRUE
      |     ^~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_serial.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/SPIv1/hal_spi_lld.h:103:26: error: conflicting types for 'SPIDriver'; have 'struct SPIDriver'
  103 | typedef struct SPIDriver SPIDriver;
      |                          ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_serial.c:25:
../../../../os/hal/include/hal_spi.h:127:31: note: previous declaration of 'SPIDriver' with type 'SPIDriver' {aka 'struct hal_spi_driver'}
  127 | typedef struct hal_spi_driver SPIDriver;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_serial.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/SPIv1/hal_spi_lld.h:111:16: error: conflicting types for 'spicallback_t'; have 'void (*)(SPIDriver *)'
  111 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_serial.c:25:
../../../../os/hal/include/hal_spi.h:139:16: note: previous declaration of 'spicallback_t' with type 'spicallback_t' {aka 'void (*)(struct hal_spi_driver *)'}
  139 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_serial.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/SPIv1/hal_spi_lld.h:140:3: error: conflicting types for 'SPIConfig'; have 'struct <anonymous>'
  140 | } SPIConfig;
      |   ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_serial.c:25:
../../../../os/hal/include/hal_spi.h:131:31: note: previous declaration of 'SPIConfig' with type 'SPIConfig' {aka 'struct hal_spi_config'}
  131 | typedef struct hal_spi_config SPIConfig;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_serial.c:25:
../../../../os/hal/include/hal_spi.h:149:6: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  149 | #if (SPI_SUPPORTS_CIRCULAR == TRUE) || defined(__DOXYGEN__)
      |      ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:186:3: error: expected specifier-qualifier-list before 'spi_lld_config_fields'
  186 |   spi_lld_config_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:217:3: error: expected specifier-qualifier-list before 'spi_lld_driver_fields'
  217 |   spi_lld_driver_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:510:5: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  510 | #if SPI_SUPPORTS_CIRCULAR == TRUE
      |     ^~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_spi.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/SPIv1/hal_spi_lld.h:103:26: error: conflicting types for 'SPIDriver'; have 'struct SPIDriver'
  103 | typedef struct SPIDriver SPIDriver;
      |                          ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_spi.c:25:
../../../../os/hal/include/hal_spi.h:127:31: note: previous declaration of 'SPIDriver' with type 'SPIDriver' {aka 'struct hal_spi_driver'}
  127 | typedef struct hal_spi_driver SPIDriver;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_spi.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/SPIv1/hal_spi_lld.h:111:16: error: conflicting types for 'spicallback_t'; have 'void (*)(SPIDriver *)'
  111 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_spi.c:25:
../../../../os/hal/include/hal_spi.h:139:16: note: previous declaration of 'spicallback_t' with type 'spicallback_t' {aka 'void (*)(struct hal_spi_driver *)'}
  139 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_spi.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/SPIv1/hal_spi_lld.h:140:3: error: conflicting types for 'SPIConfig'; have 'struct <anonymous>'
  140 | } SPIConfig;
      |   ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_spi.c:25:
../../../../os/hal/include/hal_spi.h:131:31: note: previous declaration of 'SPIConfig' with type 'SPIConfig' {aka 'struct hal_spi_config'}
  131 | typedef struct hal_spi_config SPIConfig;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_spi.c:25:
../../../../os/hal/include/hal_spi.h:149:6: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  149 | #if (SPI_SUPPORTS_CIRCULAR == TRUE) || defined(__DOXYGEN__)
      |      ^~~~~~~~~~~~~~~~~~~~~
make: *** [../../../../os/common/ports/AVR/compilers/GCC/rules.mk:175: build/obj/hal_st.o] Error 1
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_flash.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/SPIv1/hal_spi_lld.h:103:26: error: conflicting types for 'SPIDriver'; have 'struct SPIDriver'
  103 | typedef struct SPIDriver SPIDriver;
      |                          ^~~~~~~~~
../../../../os/hal/include/hal_spi.h:186:3: error: expected specifier-qualifier-list before 'spi_lld_config_fields'
  186 |   spi_lld_config_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
make: *** Waiting for unfinished jobs....
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_flash.c:25:
../../../../os/hal/include/hal_spi.h:127:31: note: previous declaration of 'SPIDriver' with type 'SPIDriver' {aka 'struct hal_spi_driver'}
  127 | typedef struct hal_spi_driver SPIDriver;
      |                               ^~~~~~~~~
../../../../os/hal/include/hal_spi.h:217:3: error: expected specifier-qualifier-list before 'spi_lld_driver_fields'
  217 |   spi_lld_driver_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_flash.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/SPIv1/hal_spi_lld.h:111:16: error: conflicting types for 'spicallback_t'; have 'void (*)(SPIDriver *)'
  111 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_flash.c:25:
../../../../os/hal/include/hal_spi.h:139:16: note: previous declaration of 'spicallback_t' with type 'spicallback_t' {aka 'void (*)(struct hal_spi_driver *)'}
  139 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_flash.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/SPIv1/hal_spi_lld.h:140:3: error: conflicting types for 'SPIConfig'; have 'struct <anonymous>'
  140 | } SPIConfig;
      |   ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_flash.c:25:
../../../../os/hal/include/hal_spi.h:131:31: note: previous declaration of 'SPIConfig' with type 'SPIConfig' {aka 'struct hal_spi_config'}
  131 | typedef struct hal_spi_config SPIConfig;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_flash.c:25:
../../../../os/hal/include/hal_spi.h:149:6: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  149 | #if (SPI_SUPPORTS_CIRCULAR == TRUE) || defined(__DOXYGEN__)
      |      ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:510:5: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  510 | #if SPI_SUPPORTS_CIRCULAR == TRUE
      |     ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:186:3: error: expected specifier-qualifier-list before 'spi_lld_config_fields'
  186 |   spi_lld_config_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:217:3: error: expected specifier-qualifier-list before 'spi_lld_driver_fields'
  217 |   spi_lld_driver_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
make: *** [../../../../os/common/ports/AVR/compilers/GCC/rules.mk:175: build/obj/hal_queues.o] Error 1
../../../../os/hal/include/hal_spi.h:510:5: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  510 | #if SPI_SUPPORTS_CIRCULAR == TRUE
      |     ^~~~~~~~~~~~~~~~~~~~~
make: *** [../../../../os/common/ports/AVR/compilers/GCC/rules.mk:175: build/obj/hal_mmcsd.o] Error 1
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/ports/AVR/MEGA/ATMEGAxx/hal_lld.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/SPIv1/hal_spi_lld.h:103:26: error: conflicting types for 'SPIDriver'; have 'struct SPIDriver'
  103 | typedef struct SPIDriver SPIDriver;
      |                          ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/ports/AVR/MEGA/ATMEGAxx/hal_lld.c:25:
../../../../os/hal/include/hal_spi.h:127:31: note: previous declaration of 'SPIDriver' with type 'SPIDriver' {aka 'struct hal_spi_driver'}
  127 | typedef struct hal_spi_driver SPIDriver;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/ports/AVR/MEGA/ATMEGAxx/hal_lld.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/SPIv1/hal_spi_lld.h:111:16: error: conflicting types for 'spicallback_t'; have 'void (*)(SPIDriver *)'
  111 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/ports/AVR/MEGA/ATMEGAxx/hal_lld.c:25:
../../../../os/hal/include/hal_spi.h:139:16: note: previous declaration of 'spicallback_t' with type 'spicallback_t' {aka 'void (*)(struct hal_spi_driver *)'}
  139 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/ports/AVR/MEGA/ATMEGAxx/hal_lld.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/SPIv1/hal_spi_lld.h:140:3: error: conflicting types for 'SPIConfig'; have 'struct <anonymous>'
  140 | } SPIConfig;
      |   ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/ports/AVR/MEGA/ATMEGAxx/hal_lld.c:25:
../../../../os/hal/include/hal_spi.h:131:31: note: previous declaration of 'SPIConfig' with type 'SPIConfig' {aka 'struct hal_spi_config'}
  131 | typedef struct hal_spi_config SPIConfig;
      |                               ^~~~~~~~~
make: *** [../../../../os/common/ports/AVR/compilers/GCC/rules.mk:175: build/obj/hal.o] Error 1
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/ports/AVR/MEGA/ATMEGAxx/hal_lld.c:25:
../../../../os/hal/include/hal_spi.h:149:6: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  149 | #if (SPI_SUPPORTS_CIRCULAR == TRUE) || defined(__DOXYGEN__)
      |      ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:186:3: error: expected specifier-qualifier-list before 'spi_lld_config_fields'
  186 |   spi_lld_config_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:217:3: error: expected specifier-qualifier-list before 'spi_lld_driver_fields'
  217 |   spi_lld_driver_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:510:5: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  510 | #if SPI_SUPPORTS_CIRCULAR == TRUE
      |     ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/src/hal_spi.c:264:6: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  264 | #if (SPI_SUPPORTS_CIRCULAR == TRUE) || defined(__DOXYGEN__)
      |      ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/src/hal_spi.c: In function 'spiIgnore':
../../../../os/hal/src/hal_spi.c:325:5: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  325 | #if SPI_SUPPORTS_CIRCULAR
      |     ^~~~~~~~~~~~~~~~~~~~~
make: *** [../../../../os/common/ports/AVR/compilers/GCC/rules.mk:175: build/obj/hal_serial.o] Error 1
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/ports/AVR/MEGA/LLD/GPIOv1/hal_pal_lld.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/SPIv1/hal_spi_lld.h:103:26: error: conflicting types for 'SPIDriver'; have 'struct SPIDriver'
  103 | typedef struct SPIDriver SPIDriver;
      |                          ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/ports/AVR/MEGA/LLD/GPIOv1/hal_pal_lld.c:25:
../../../../os/hal/include/hal_spi.h:127:31: note: previous declaration of 'SPIDriver' with type 'SPIDriver' {aka 'struct hal_spi_driver'}
  127 | typedef struct hal_spi_driver SPIDriver;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/ports/AVR/MEGA/LLD/GPIOv1/hal_pal_lld.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/SPIv1/hal_spi_lld.h:111:16: error: conflicting types for 'spicallback_t'; have 'void (*)(SPIDriver *)'
  111 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/ports/AVR/MEGA/LLD/GPIOv1/hal_pal_lld.c:25:
../../../../os/hal/include/hal_spi.h:139:16: note: previous declaration of 'spicallback_t' with type 'spicallback_t' {aka 'void (*)(struct hal_spi_driver *)'}
  139 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
../../../../os/hal/src/hal_spi.c: In function 'spiExchange':
../../../../os/hal/src/hal_spi.c:359:5: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  359 | #if SPI_SUPPORTS_CIRCULAR
      |     ^~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/ports/AVR/MEGA/LLD/GPIOv1/hal_pal_lld.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/SPIv1/hal_spi_lld.h:140:3: error: conflicting types for 'SPIConfig'; have 'struct <anonymous>'
  140 | } SPIConfig;
      |   ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/ports/AVR/MEGA/LLD/GPIOv1/hal_pal_lld.c:25:
../../../../os/hal/include/hal_spi.h:131:31: note: previous declaration of 'SPIConfig' with type 'SPIConfig' {aka 'struct hal_spi_config'}
  131 | typedef struct hal_spi_config SPIConfig;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_pal.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/SPIv1/hal_spi_lld.h:103:26: error: conflicting types for 'SPIDriver'; have 'struct SPIDriver'
  103 | typedef struct SPIDriver SPIDriver;
      |                          ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_pal.c:25:
../../../../os/hal/include/hal_spi.h:127:31: note: previous declaration of 'SPIDriver' with type 'SPIDriver' {aka 'struct hal_spi_driver'}
  127 | typedef struct hal_spi_driver SPIDriver;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_pal.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/SPIv1/hal_spi_lld.h:111:16: error: conflicting types for 'spicallback_t'; have 'void (*)(SPIDriver *)'
  111 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_pal.c:25:
../../../../os/hal/include/hal_spi.h:139:16: note: previous declaration of 'spicallback_t' with type 'spicallback_t' {aka 'void (*)(struct hal_spi_driver *)'}
  139 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_pal.c:25:
../../../../os/hal/ports/AVR/MEGA/LLD/SPIv1/hal_spi_lld.h:140:3: error: conflicting types for 'SPIConfig'; have 'struct <anonymous>'
  140 | } SPIConfig;
      |   ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/ports/AVR/MEGA/LLD/GPIOv1/hal_pal_lld.c:25:
../../../../os/hal/include/hal_spi.h:149:6: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  149 | #if (SPI_SUPPORTS_CIRCULAR == TRUE) || defined(__DOXYGEN__)
      |      ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/src/hal_spi.c: In function 'spiSend':
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_pal.c:25:
../../../../os/hal/include/hal_spi.h:131:31: note: previous declaration of 'SPIConfig' with type 'SPIConfig' {aka 'struct hal_spi_config'}
  131 | typedef struct hal_spi_config SPIConfig;
      |                               ^~~~~~~~~
../../../../os/hal/src/hal_spi.c:389:5: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  389 | #if SPI_SUPPORTS_CIRCULAR
      |     ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:186:3: error: expected specifier-qualifier-list before 'spi_lld_config_fields'
  186 |   spi_lld_config_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:217:3: error: expected specifier-qualifier-list before 'spi_lld_driver_fields'
  217 |   spi_lld_driver_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_pal.c:25:
../../../../os/hal/include/hal_spi.h:149:6: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  149 | #if (SPI_SUPPORTS_CIRCULAR == TRUE) || defined(__DOXYGEN__)
      |      ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:186:3: error: expected specifier-qualifier-list before 'spi_lld_config_fields'
  186 |   spi_lld_config_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:217:3: error: expected specifier-qualifier-list before 'spi_lld_driver_fields'
  217 |   spi_lld_driver_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/src/hal_spi.c: In function 'spiReceive':
../../../../os/hal/src/hal_spi.c:419:5: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  419 | #if SPI_SUPPORTS_CIRCULAR
      |     ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:510:5: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  510 | #if SPI_SUPPORTS_CIRCULAR == TRUE
      |     ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:510:5: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  510 | #if SPI_SUPPORTS_CIRCULAR == TRUE
      |     ^~~~~~~~~~~~~~~~~~~~~
make: *** [../../../../os/common/ports/AVR/compilers/GCC/rules.mk:175: build/obj/hal_buffers.o] Error 1
make: *** [../../../../os/common/ports/AVR/compilers/GCC/rules.mk:175: build/obj/hal_flash.o] Error 1
make: *** [../../../../os/common/ports/AVR/compilers/GCC/rules.mk:175: build/obj/hal_lld.o] Error 1
make: *** [../../../../os/common/ports/AVR/compilers/GCC/rules.mk:175: build/obj/hal_pal.o] Error 1
make: *** [../../../../os/common/ports/AVR/compilers/GCC/rules.mk:175: build/obj/hal_pal_lld.o] Error 1
make: *** [../../../../os/common/ports/AVR/compilers/GCC/rules.mk:175: build/obj/hal_spi.o] Error 1
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/boards/ARDUINO_MEGA/board.c:17:
../../../../os/hal/ports/AVR/MEGA/LLD/SPIv1/hal_spi_lld.h:103:26: error: conflicting types for 'SPIDriver'; have 'struct SPIDriver'
  103 | typedef struct SPIDriver SPIDriver;
      |                          ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/boards/ARDUINO_MEGA/board.c:17:
../../../../os/hal/include/hal_spi.h:127:31: note: previous declaration of 'SPIDriver' with type 'SPIDriver' {aka 'struct hal_spi_driver'}
  127 | typedef struct hal_spi_driver SPIDriver;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/boards/ARDUINO_MEGA/board.c:17:
../../../../os/hal/ports/AVR/MEGA/LLD/SPIv1/hal_spi_lld.h:111:16: error: conflicting types for 'spicallback_t'; have 'void (*)(SPIDriver *)'
  111 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/boards/ARDUINO_MEGA/board.c:17:
../../../../os/hal/include/hal_spi.h:139:16: note: previous declaration of 'spicallback_t' with type 'spicallback_t' {aka 'void (*)(struct hal_spi_driver *)'}
  139 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/boards/ARDUINO_MEGA/board.c:17:
../../../../os/hal/ports/AVR/MEGA/LLD/SPIv1/hal_spi_lld.h:140:3: error: conflicting types for 'SPIConfig'; have 'struct <anonymous>'
  140 | } SPIConfig;
      |   ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/boards/ARDUINO_MEGA/board.c:17:
../../../../os/hal/include/hal_spi.h:131:31: note: previous declaration of 'SPIConfig' with type 'SPIConfig' {aka 'struct hal_spi_config'}
  131 | typedef struct hal_spi_config SPIConfig;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/boards/ARDUINO_MEGA/board.c:17:
../../../../os/hal/include/hal_spi.h:149:6: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  149 | #if (SPI_SUPPORTS_CIRCULAR == TRUE) || defined(__DOXYGEN__)
      |      ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:186:3: error: expected specifier-qualifier-list before 'spi_lld_config_fields'
  186 |   spi_lld_config_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:217:3: error: expected specifier-qualifier-list before 'spi_lld_driver_fields'
  217 |   spi_lld_driver_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:510:5: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  510 | #if SPI_SUPPORTS_CIRCULAR == TRUE
      |     ^~~~~~~~~~~~~~~~~~~~~
make: *** [../../../../os/common/ports/AVR/compilers/GCC/rules.mk:175: build/obj/board.o] Error 1
*** Moving to: ./AVR/MEGA/PWM/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/AVR/MEGA/PWM ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./AVR/MEGA/ICU/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/AVR/MEGA/ICU ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./AVR/XMEGA/SERIAL/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/AVR/XMEGA/SERIAL ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./AVR/XMEGA/TEST-SUITE-OSLIB/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/AVR/XMEGA/TEST-SUITE-OSLIB ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
Linking build/ch.elf
/opt/avr-gcc-11.1.0-x64-linux/bin/../lib/gcc/avr/11.1.0/../../../../avr/bin/ld: build/obj/ch_test.o: in function `test_execute_inner':
ch_test.c:(.text.test_execute_inner+0x9c): undefined reference to `__text_end__'
/opt/avr-gcc-11.1.0-x64-linux/bin/../lib/gcc/avr/11.1.0/../../../../avr/bin/ld: ch_test.c:(.text.test_execute_inner+0x9e): undefined reference to `__text_end__'
/opt/avr-gcc-11.1.0-x64-linux/bin/../lib/gcc/avr/11.1.0/../../../../avr/bin/ld: ch_test.c:(.text.test_execute_inner+0xa0): undefined reference to `__text_base__'
/opt/avr-gcc-11.1.0-x64-linux/bin/../lib/gcc/avr/11.1.0/../../../../avr/bin/ld: ch_test.c:(.text.test_execute_inner+0xa2): undefined reference to `__text_base__'
/opt/avr-gcc-11.1.0-x64-linux/bin/../lib/gcc/avr/11.1.0/../../../../avr/bin/ld: ch_test.c:(.text.test_execute_inner+0xb2): undefined reference to `__rodata_end__'
/opt/avr-gcc-11.1.0-x64-linux/bin/../lib/gcc/avr/11.1.0/../../../../avr/bin/ld: ch_test.c:(.text.test_execute_inner+0xb4): undefined reference to `__rodata_end__'
/opt/avr-gcc-11.1.0-x64-linux/bin/../lib/gcc/avr/11.1.0/../../../../avr/bin/ld: ch_test.c:(.text.test_execute_inner+0xb6): undefined reference to `__rodata_base__'
/opt/avr-gcc-11.1.0-x64-linux/bin/../lib/gcc/avr/11.1.0/../../../../avr/bin/ld: ch_test.c:(.text.test_execute_inner+0xb8): undefined reference to `__rodata_base__'
/opt/avr-gcc-11.1.0-x64-linux/bin/../lib/gcc/avr/11.1.0/../../../../avr/bin/ld: ch_test.c:(.text.test_execute_inner+0xc8): undefined reference to `__data_end__'
/opt/avr-gcc-11.1.0-x64-linux/bin/../lib/gcc/avr/11.1.0/../../../../avr/bin/ld: ch_test.c:(.text.test_execute_inner+0xca): undefined reference to `__data_end__'
/opt/avr-gcc-11.1.0-x64-linux/bin/../lib/gcc/avr/11.1.0/../../../../avr/bin/ld: ch_test.c:(.text.test_execute_inner+0xcc): undefined reference to `__data_base__'
/opt/avr-gcc-11.1.0-x64-linux/bin/../lib/gcc/avr/11.1.0/../../../../avr/bin/ld: ch_test.c:(.text.test_execute_inner+0xce): undefined reference to `__data_base__'
/opt/avr-gcc-11.1.0-x64-linux/bin/../lib/gcc/avr/11.1.0/../../../../avr/bin/ld: ch_test.c:(.text.test_execute_inner+0xde): undefined reference to `__bss_end__'
/opt/avr-gcc-11.1.0-x64-linux/bin/../lib/gcc/avr/11.1.0/../../../../avr/bin/ld: ch_test.c:(.text.test_execute_inner+0xe0): undefined reference to `__bss_end__'
/opt/avr-gcc-11.1.0-x64-linux/bin/../lib/gcc/avr/11.1.0/../../../../avr/bin/ld: ch_test.c:(.text.test_execute_inner+0xe2): undefined reference to `__bss_base__'
/opt/avr-gcc-11.1.0-x64-linux/bin/../lib/gcc/avr/11.1.0/../../../../avr/bin/ld: ch_test.c:(.text.test_execute_inner+0xe4): undefined reference to `__bss_base__'
collect2: error: ld returned 1 exit status
make: *** [../../../../os/common/ports/AVR/compilers/GCC/rules.mk:202: build/ch.elf] Error 1
*** Moving to: ./AVR/XMEGA/SPI/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/AVR/XMEGA/SPI ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
Compiling hal.c
Compiling hal_st.c
Compiling hal_buffers.c
Compiling hal_queues.c
Compiling hal_flash.c
Compiling hal_mmcsd.c
Compiling hal_mmc_spi.c
Compiling hal_pal.c
Compiling hal_serial.c
Compiling hal_spi.c
Compiling board.c
Compiling hal_lld.c
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal.c:25:
../../../../os/hal/ports/AVR/XMEGA/LLD/SPIv1/hal_spi_lld.h:131:26: error: conflicting types for 'SPIDriver'; have 'struct SPIDriver'
  131 | typedef struct SPIDriver SPIDriver;
      |                          ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal.c:25:
../../../../os/hal/include/hal_spi.h:127:31: note: previous declaration of 'SPIDriver' with type 'SPIDriver' {aka 'struct hal_spi_driver'}
  127 | typedef struct hal_spi_driver SPIDriver;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal.c:25:
../../../../os/hal/ports/AVR/XMEGA/LLD/SPIv1/hal_spi_lld.h:139:16: error: conflicting types for 'spicallback_t'; have 'void (*)(SPIDriver *)'
  139 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal.c:25:
../../../../os/hal/include/hal_spi.h:139:16: note: previous declaration of 'spicallback_t' with type 'spicallback_t' {aka 'void (*)(struct hal_spi_driver *)'}
  139 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal.c:25:
../../../../os/hal/ports/AVR/XMEGA/LLD/SPIv1/hal_spi_lld.h:171:3: error: conflicting types for 'SPIConfig'; have 'struct <anonymous>'
  171 | } SPIConfig;
      |   ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal.c:25:
../../../../os/hal/include/hal_spi.h:131:31: note: previous declaration of 'SPIConfig' with type 'SPIConfig' {aka 'struct hal_spi_config'}
  131 | typedef struct hal_spi_config SPIConfig;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal.c:25:
../../../../os/hal/include/hal_spi.h:149:6: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  149 | #if (SPI_SUPPORTS_CIRCULAR == TRUE) || defined(__DOXYGEN__)
      |      ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:186:3: error: expected specifier-qualifier-list before 'spi_lld_config_fields'
  186 |   spi_lld_config_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:217:3: error: expected specifier-qualifier-list before 'spi_lld_driver_fields'
  217 |   spi_lld_driver_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:510:5: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  510 | #if SPI_SUPPORTS_CIRCULAR == TRUE
      |     ^~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_flash.c:25:
../../../../os/hal/ports/AVR/XMEGA/LLD/SPIv1/hal_spi_lld.h:131:26: error: conflicting types for 'SPIDriver'; have 'struct SPIDriver'
  131 | typedef struct SPIDriver SPIDriver;
      |                          ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_flash.c:25:
../../../../os/hal/include/hal_spi.h:127:31: note: previous declaration of 'SPIDriver' with type 'SPIDriver' {aka 'struct hal_spi_driver'}
  127 | typedef struct hal_spi_driver SPIDriver;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_flash.c:25:
../../../../os/hal/ports/AVR/XMEGA/LLD/SPIv1/hal_spi_lld.h:139:16: error: conflicting types for 'spicallback_t'; have 'void (*)(SPIDriver *)'
  139 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_flash.c:25:
../../../../os/hal/include/hal_spi.h:139:16: note: previous declaration of 'spicallback_t' with type 'spicallback_t' {aka 'void (*)(struct hal_spi_driver *)'}
  139 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_flash.c:25:
../../../../os/hal/ports/AVR/XMEGA/LLD/SPIv1/hal_spi_lld.h:171:3: error: conflicting types for 'SPIConfig'; have 'struct <anonymous>'
  171 | } SPIConfig;
      |   ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_flash.c:25:
../../../../os/hal/include/hal_spi.h:131:31: note: previous declaration of 'SPIConfig' with type 'SPIConfig' {aka 'struct hal_spi_config'}
  131 | typedef struct hal_spi_config SPIConfig;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_flash.c:25:
../../../../os/hal/include/hal_spi.h:149:6: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  149 | #if (SPI_SUPPORTS_CIRCULAR == TRUE) || defined(__DOXYGEN__)
      |      ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:186:3: error: expected specifier-qualifier-list before 'spi_lld_config_fields'
  186 |   spi_lld_config_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:217:3: error: expected specifier-qualifier-list before 'spi_lld_driver_fields'
  217 |   spi_lld_driver_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_mmcsd.c:25:
../../../../os/hal/ports/AVR/XMEGA/LLD/SPIv1/hal_spi_lld.h:131:26: error: conflicting types for 'SPIDriver'; have 'struct SPIDriver'
  131 | typedef struct SPIDriver SPIDriver;
      |                          ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_mmcsd.c:25:
../../../../os/hal/include/hal_spi.h:127:31: note: previous declaration of 'SPIDriver' with type 'SPIDriver' {aka 'struct hal_spi_driver'}
  127 | typedef struct hal_spi_driver SPIDriver;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_mmcsd.c:25:
../../../../os/hal/ports/AVR/XMEGA/LLD/SPIv1/hal_spi_lld.h:139:16: error: conflicting types for 'spicallback_t'; have 'void (*)(SPIDriver *)'
  139 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_mmcsd.c:25:
../../../../os/hal/include/hal_spi.h:139:16: note: previous declaration of 'spicallback_t' with type 'spicallback_t' {aka 'void (*)(struct hal_spi_driver *)'}
  139 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_buffers.c:41:
../../../../os/hal/ports/AVR/XMEGA/LLD/SPIv1/hal_spi_lld.h:131:26: error: conflicting types for 'SPIDriver'; have 'struct SPIDriver'
  131 | typedef struct SPIDriver SPIDriver;
      |                          ^~~~~~~~~
../../../../os/hal/include/hal_spi.h:510:5: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  510 | #if SPI_SUPPORTS_CIRCULAR == TRUE
      |     ^~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_mmcsd.c:25:
../../../../os/hal/ports/AVR/XMEGA/LLD/SPIv1/hal_spi_lld.h:171:3: error: conflicting types for 'SPIConfig'; have 'struct <anonymous>'
  171 | } SPIConfig;
      |   ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_buffers.c:41:
../../../../os/hal/include/hal_spi.h:127:31: note: previous declaration of 'SPIDriver' with type 'SPIDriver' {aka 'struct hal_spi_driver'}
  127 | typedef struct hal_spi_driver SPIDriver;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_mmcsd.c:25:
../../../../os/hal/include/hal_spi.h:131:31: note: previous declaration of 'SPIConfig' with type 'SPIConfig' {aka 'struct hal_spi_config'}
  131 | typedef struct hal_spi_config SPIConfig;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_buffers.c:41:
../../../../os/hal/ports/AVR/XMEGA/LLD/SPIv1/hal_spi_lld.h:139:16: error: conflicting types for 'spicallback_t'; have 'void (*)(SPIDriver *)'
  139 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_buffers.c:41:
../../../../os/hal/include/hal_spi.h:139:16: note: previous declaration of 'spicallback_t' with type 'spicallback_t' {aka 'void (*)(struct hal_spi_driver *)'}
  139 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_buffers.c:41:
../../../../os/hal/ports/AVR/XMEGA/LLD/SPIv1/hal_spi_lld.h:171:3: error: conflicting types for 'SPIConfig'; have 'struct <anonymous>'
  171 | } SPIConfig;
      |   ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_buffers.c:41:
../../../../os/hal/include/hal_spi.h:131:31: note: previous declaration of 'SPIConfig' with type 'SPIConfig' {aka 'struct hal_spi_config'}
  131 | typedef struct hal_spi_config SPIConfig;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_mmcsd.c:25:
../../../../os/hal/include/hal_spi.h:149:6: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  149 | #if (SPI_SUPPORTS_CIRCULAR == TRUE) || defined(__DOXYGEN__)
      |      ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:186:3: error: expected specifier-qualifier-list before 'spi_lld_config_fields'
  186 |   spi_lld_config_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:217:3: error: expected specifier-qualifier-list before 'spi_lld_driver_fields'
  217 |   spi_lld_driver_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_buffers.c:41:
../../../../os/hal/include/hal_spi.h:149:6: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  149 | #if (SPI_SUPPORTS_CIRCULAR == TRUE) || defined(__DOXYGEN__)
      |      ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:186:3: error: expected specifier-qualifier-list before 'spi_lld_config_fields'
  186 |   spi_lld_config_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:217:3: error: expected specifier-qualifier-list before 'spi_lld_driver_fields'
  217 |   spi_lld_driver_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:510:5: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  510 | #if SPI_SUPPORTS_CIRCULAR == TRUE
      |     ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:510:5: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  510 | #if SPI_SUPPORTS_CIRCULAR == TRUE
      |     ^~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_pal.c:25:
../../../../os/hal/ports/AVR/XMEGA/LLD/SPIv1/hal_spi_lld.h:131:26: error: conflicting types for 'SPIDriver'; have 'struct SPIDriver'
  131 | typedef struct SPIDriver SPIDriver;
      |                          ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_pal.c:25:
../../../../os/hal/include/hal_spi.h:127:31: note: previous declaration of 'SPIDriver' with type 'SPIDriver' {aka 'struct hal_spi_driver'}
  127 | typedef struct hal_spi_driver SPIDriver;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_pal.c:25:
../../../../os/hal/ports/AVR/XMEGA/LLD/SPIv1/hal_spi_lld.h:139:16: error: conflicting types for 'spicallback_t'; have 'void (*)(SPIDriver *)'
  139 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_pal.c:25:
../../../../os/hal/include/hal_spi.h:139:16: note: previous declaration of 'spicallback_t' with type 'spicallback_t' {aka 'void (*)(struct hal_spi_driver *)'}
  139 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_pal.c:25:
../../../../os/hal/ports/AVR/XMEGA/LLD/SPIv1/hal_spi_lld.h:171:3: error: conflicting types for 'SPIConfig'; have 'struct <anonymous>'
  171 | } SPIConfig;
      |   ^~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_serial.c:25:
../../../../os/hal/ports/AVR/XMEGA/LLD/SPIv1/hal_spi_lld.h:131:26: error: conflicting types for 'SPIDriver'; have 'struct SPIDriver'
  131 | typedef struct SPIDriver SPIDriver;
      |                          ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_pal.c:25:
../../../../os/hal/include/hal_spi.h:131:31: note: previous declaration of 'SPIConfig' with type 'SPIConfig' {aka 'struct hal_spi_config'}
  131 | typedef struct hal_spi_config SPIConfig;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_mmc_spi.c:30:
../../../../os/hal/ports/AVR/XMEGA/LLD/SPIv1/hal_spi_lld.h:131:26: error: conflicting types for 'SPIDriver'; have 'struct SPIDriver'
  131 | typedef struct SPIDriver SPIDriver;
      |                          ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_serial.c:25:
../../../../os/hal/include/hal_spi.h:127:31: note: previous declaration of 'SPIDriver' with type 'SPIDriver' {aka 'struct hal_spi_driver'}
  127 | typedef struct hal_spi_driver SPIDriver;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_mmc_spi.c:30:
../../../../os/hal/include/hal_spi.h:127:31: note: previous declaration of 'SPIDriver' with type 'SPIDriver' {aka 'struct hal_spi_driver'}
  127 | typedef struct hal_spi_driver SPIDriver;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_serial.c:25:
../../../../os/hal/ports/AVR/XMEGA/LLD/SPIv1/hal_spi_lld.h:139:16: error: conflicting types for 'spicallback_t'; have 'void (*)(SPIDriver *)'
  139 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_serial.c:25:
../../../../os/hal/include/hal_spi.h:139:16: note: previous declaration of 'spicallback_t' with type 'spicallback_t' {aka 'void (*)(struct hal_spi_driver *)'}
  139 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_mmc_spi.c:30:
../../../../os/hal/ports/AVR/XMEGA/LLD/SPIv1/hal_spi_lld.h:139:16: error: conflicting types for 'spicallback_t'; have 'void (*)(SPIDriver *)'
  139 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_mmc_spi.c:30:
../../../../os/hal/include/hal_spi.h:139:16: note: previous declaration of 'spicallback_t' with type 'spicallback_t' {aka 'void (*)(struct hal_spi_driver *)'}
  139 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_serial.c:25:
../../../../os/hal/ports/AVR/XMEGA/LLD/SPIv1/hal_spi_lld.h:171:3: error: conflicting types for 'SPIConfig'; have 'struct <anonymous>'
  171 | } SPIConfig;
      |   ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_pal.c:25:
../../../../os/hal/include/hal_spi.h:149:6: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  149 | #if (SPI_SUPPORTS_CIRCULAR == TRUE) || defined(__DOXYGEN__)
      |      ^~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_serial.c:25:
../../../../os/hal/include/hal_spi.h:131:31: note: previous declaration of 'SPIConfig' with type 'SPIConfig' {aka 'struct hal_spi_config'}
  131 | typedef struct hal_spi_config SPIConfig;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_mmc_spi.c:30:
../../../../os/hal/ports/AVR/XMEGA/LLD/SPIv1/hal_spi_lld.h:171:3: error: conflicting types for 'SPIConfig'; have 'struct <anonymous>'
  171 | } SPIConfig;
      |   ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_mmc_spi.c:30:
../../../../os/hal/include/hal_spi.h:131:31: note: previous declaration of 'SPIConfig' with type 'SPIConfig' {aka 'struct hal_spi_config'}
  131 | typedef struct hal_spi_config SPIConfig;
      |                               ^~~~~~~~~
../../../../os/hal/include/hal_spi.h:186:3: error: expected specifier-qualifier-list before 'spi_lld_config_fields'
  186 |   spi_lld_config_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:217:3: error: expected specifier-qualifier-list before 'spi_lld_driver_fields'
  217 |   spi_lld_driver_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_st.c:25:
../../../../os/hal/ports/AVR/XMEGA/LLD/SPIv1/hal_spi_lld.h:131:26: error: conflicting types for 'SPIDriver'; have 'struct SPIDriver'
  131 | typedef struct SPIDriver SPIDriver;
      |                          ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_serial.c:25:
../../../../os/hal/include/hal_spi.h:149:6: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  149 | #if (SPI_SUPPORTS_CIRCULAR == TRUE) || defined(__DOXYGEN__)
      |      ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:186:3: error: expected specifier-qualifier-list before 'spi_lld_config_fields'
  186 |   spi_lld_config_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_mmc_spi.c:30:
../../../../os/hal/include/hal_spi.h:149:6: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  149 | #if (SPI_SUPPORTS_CIRCULAR == TRUE) || defined(__DOXYGEN__)
      |      ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:217:3: error: expected specifier-qualifier-list before 'spi_lld_driver_fields'
  217 |   spi_lld_driver_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_st.c:25:
../../../../os/hal/include/hal_spi.h:127:31: note: previous declaration of 'SPIDriver' with type 'SPIDriver' {aka 'struct hal_spi_driver'}
  127 | typedef struct hal_spi_driver SPIDriver;
      |                               ^~~~~~~~~
../../../../os/hal/include/hal_spi.h:186:3: error: expected specifier-qualifier-list before 'spi_lld_config_fields'
  186 |   spi_lld_config_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_st.c:25:
../../../../os/hal/ports/AVR/XMEGA/LLD/SPIv1/hal_spi_lld.h:139:16: error: conflicting types for 'spicallback_t'; have 'void (*)(SPIDriver *)'
  139 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:217:3: error: expected specifier-qualifier-list before 'spi_lld_driver_fields'
  217 |   spi_lld_driver_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_st.c:25:
../../../../os/hal/include/hal_spi.h:139:16: note: previous declaration of 'spicallback_t' with type 'spicallback_t' {aka 'void (*)(struct hal_spi_driver *)'}
  139 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_st.c:25:
../../../../os/hal/ports/AVR/XMEGA/LLD/SPIv1/hal_spi_lld.h:171:3: error: conflicting types for 'SPIConfig'; have 'struct <anonymous>'
  171 | } SPIConfig;
      |   ^~~~~~~~~
../../../../os/hal/include/hal_spi.h:510:5: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  510 | #if SPI_SUPPORTS_CIRCULAR == TRUE
      |     ^~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_st.c:25:
../../../../os/hal/include/hal_spi.h:131:31: note: previous declaration of 'SPIConfig' with type 'SPIConfig' {aka 'struct hal_spi_config'}
  131 | typedef struct hal_spi_config SPIConfig;
      |                               ^~~~~~~~~
../../../../os/hal/include/hal_spi.h:510:5: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  510 | #if SPI_SUPPORTS_CIRCULAR == TRUE
      |     ^~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_st.c:25:
../../../../os/hal/include/hal_spi.h:149:6: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  149 | #if (SPI_SUPPORTS_CIRCULAR == TRUE) || defined(__DOXYGEN__)
      |      ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:510:5: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  510 | #if SPI_SUPPORTS_CIRCULAR == TRUE
      |     ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:186:3: error: expected specifier-qualifier-list before 'spi_lld_config_fields'
  186 |   spi_lld_config_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:217:3: error: expected specifier-qualifier-list before 'spi_lld_driver_fields'
  217 |   spi_lld_driver_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
make: *** [../../../../os/common/ports/AVR/compilers/GCC/rules.mk:174: build/obj/hal.o] Error 1
make: *** Waiting for unfinished jobs....
../../../../os/hal/include/hal_spi.h:510:5: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  510 | #if SPI_SUPPORTS_CIRCULAR == TRUE
      |     ^~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_queues.c:40:
../../../../os/hal/ports/AVR/XMEGA/LLD/SPIv1/hal_spi_lld.h:131:26: error: conflicting types for 'SPIDriver'; have 'struct SPIDriver'
  131 | typedef struct SPIDriver SPIDriver;
      |                          ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_queues.c:40:
../../../../os/hal/include/hal_spi.h:127:31: note: previous declaration of 'SPIDriver' with type 'SPIDriver' {aka 'struct hal_spi_driver'}
  127 | typedef struct hal_spi_driver SPIDriver;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_queues.c:40:
../../../../os/hal/ports/AVR/XMEGA/LLD/SPIv1/hal_spi_lld.h:139:16: error: conflicting types for 'spicallback_t'; have 'void (*)(SPIDriver *)'
  139 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_queues.c:40:
../../../../os/hal/include/hal_spi.h:139:16: note: previous declaration of 'spicallback_t' with type 'spicallback_t' {aka 'void (*)(struct hal_spi_driver *)'}
  139 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_queues.c:40:
../../../../os/hal/ports/AVR/XMEGA/LLD/SPIv1/hal_spi_lld.h:171:3: error: conflicting types for 'SPIConfig'; have 'struct <anonymous>'
  171 | } SPIConfig;
      |   ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_queues.c:40:
../../../../os/hal/include/hal_spi.h:131:31: note: previous declaration of 'SPIConfig' with type 'SPIConfig' {aka 'struct hal_spi_config'}
  131 | typedef struct hal_spi_config SPIConfig;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_queues.c:40:
../../../../os/hal/include/hal_spi.h:149:6: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  149 | #if (SPI_SUPPORTS_CIRCULAR == TRUE) || defined(__DOXYGEN__)
      |      ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:186:3: error: expected specifier-qualifier-list before 'spi_lld_config_fields'
  186 |   spi_lld_config_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:217:3: error: expected specifier-qualifier-list before 'spi_lld_driver_fields'
  217 |   spi_lld_driver_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_spi.c:25:
../../../../os/hal/ports/AVR/XMEGA/LLD/SPIv1/hal_spi_lld.h:131:26: error: conflicting types for 'SPIDriver'; have 'struct SPIDriver'
  131 | typedef struct SPIDriver SPIDriver;
      |                          ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_spi.c:25:
../../../../os/hal/include/hal_spi.h:127:31: note: previous declaration of 'SPIDriver' with type 'SPIDriver' {aka 'struct hal_spi_driver'}
  127 | typedef struct hal_spi_driver SPIDriver;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_spi.c:25:
../../../../os/hal/ports/AVR/XMEGA/LLD/SPIv1/hal_spi_lld.h:139:16: error: conflicting types for 'spicallback_t'; have 'void (*)(SPIDriver *)'
  139 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_spi.c:25:
../../../../os/hal/include/hal_spi.h:139:16: note: previous declaration of 'spicallback_t' with type 'spicallback_t' {aka 'void (*)(struct hal_spi_driver *)'}
  139 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_spi.c:25:
../../../../os/hal/ports/AVR/XMEGA/LLD/SPIv1/hal_spi_lld.h:171:3: error: conflicting types for 'SPIConfig'; have 'struct <anonymous>'
  171 | } SPIConfig;
      |   ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_spi.c:25:
../../../../os/hal/include/hal_spi.h:131:31: note: previous declaration of 'SPIConfig' with type 'SPIConfig' {aka 'struct hal_spi_config'}
  131 | typedef struct hal_spi_config SPIConfig;
      |                               ^~~~~~~~~
../../../../os/hal/include/hal_spi.h:510:5: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  510 | #if SPI_SUPPORTS_CIRCULAR == TRUE
      |     ^~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/src/hal_spi.c:25:
../../../../os/hal/include/hal_spi.h:149:6: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  149 | #if (SPI_SUPPORTS_CIRCULAR == TRUE) || defined(__DOXYGEN__)
      |      ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:186:3: error: expected specifier-qualifier-list before 'spi_lld_config_fields'
  186 |   spi_lld_config_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:217:3: error: expected specifier-qualifier-list before 'spi_lld_driver_fields'
  217 |   spi_lld_driver_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:510:5: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  510 | #if SPI_SUPPORTS_CIRCULAR == TRUE
      |     ^~~~~~~~~~~~~~~~~~~~~
make: *** [../../../../os/common/ports/AVR/compilers/GCC/rules.mk:174: build/obj/hal_flash.o] Error 1
make: *** [../../../../os/common/ports/AVR/compilers/GCC/rules.mk:174: build/obj/hal_st.o] Error 1
make: *** [../../../../os/common/ports/AVR/compilers/GCC/rules.mk:174: build/obj/hal_pal.o] Error 1
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/ports/AVR/XMEGA/ATXMEGAxxxA4U/hal_lld.c:25:
../../../../os/hal/ports/AVR/XMEGA/LLD/SPIv1/hal_spi_lld.h:131:26: error: conflicting types for 'SPIDriver'; have 'struct SPIDriver'
  131 | typedef struct SPIDriver SPIDriver;
      |                          ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/ports/AVR/XMEGA/ATXMEGAxxxA4U/hal_lld.c:25:
../../../../os/hal/include/hal_spi.h:127:31: note: previous declaration of 'SPIDriver' with type 'SPIDriver' {aka 'struct hal_spi_driver'}
  127 | typedef struct hal_spi_driver SPIDriver;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/ports/AVR/XMEGA/ATXMEGAxxxA4U/hal_lld.c:25:
../../../../os/hal/ports/AVR/XMEGA/LLD/SPIv1/hal_spi_lld.h:139:16: error: conflicting types for 'spicallback_t'; have 'void (*)(SPIDriver *)'
  139 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/ports/AVR/XMEGA/ATXMEGAxxxA4U/hal_lld.c:25:
../../../../os/hal/include/hal_spi.h:139:16: note: previous declaration of 'spicallback_t' with type 'spicallback_t' {aka 'void (*)(struct hal_spi_driver *)'}
  139 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/ports/AVR/XMEGA/ATXMEGAxxxA4U/hal_lld.c:25:
../../../../os/hal/ports/AVR/XMEGA/LLD/SPIv1/hal_spi_lld.h:171:3: error: conflicting types for 'SPIConfig'; have 'struct <anonymous>'
  171 | } SPIConfig;
      |   ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/ports/AVR/XMEGA/ATXMEGAxxxA4U/hal_lld.c:25:
../../../../os/hal/include/hal_spi.h:131:31: note: previous declaration of 'SPIConfig' with type 'SPIConfig' {aka 'struct hal_spi_config'}
  131 | typedef struct hal_spi_config SPIConfig;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/ports/AVR/XMEGA/ATXMEGAxxxA4U/hal_lld.c:25:
../../../../os/hal/include/hal_spi.h:149:6: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  149 | #if (SPI_SUPPORTS_CIRCULAR == TRUE) || defined(__DOXYGEN__)
      |      ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:186:3: error: expected specifier-qualifier-list before 'spi_lld_config_fields'
  186 |   spi_lld_config_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:217:3: error: expected specifier-qualifier-list before 'spi_lld_driver_fields'
  217 |   spi_lld_driver_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/src/hal_spi.c:264:6: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  264 | #if (SPI_SUPPORTS_CIRCULAR == TRUE) || defined(__DOXYGEN__)
      |      ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:510:5: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  510 | #if SPI_SUPPORTS_CIRCULAR == TRUE
      |     ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/src/hal_spi.c: In function 'spiIgnore':
../../../../os/hal/src/hal_spi.c:325:5: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  325 | #if SPI_SUPPORTS_CIRCULAR
      |     ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/src/hal_spi.c: In function 'spiExchange':
../../../../os/hal/src/hal_spi.c:359:5: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  359 | #if SPI_SUPPORTS_CIRCULAR
      |     ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/src/hal_spi.c: In function 'spiSend':
../../../../os/hal/src/hal_spi.c:389:5: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  389 | #if SPI_SUPPORTS_CIRCULAR
      |     ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/src/hal_spi.c: In function 'spiReceive':
../../../../os/hal/src/hal_spi.c:419:5: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  419 | #if SPI_SUPPORTS_CIRCULAR
      |     ^~~~~~~~~~~~~~~~~~~~~
make: *** [../../../../os/common/ports/AVR/compilers/GCC/rules.mk:174: build/obj/hal_serial.o] Error 1
make: *** [../../../../os/common/ports/AVR/compilers/GCC/rules.mk:174: build/obj/hal_mmcsd.o] Error 1
make: *** [../../../../os/common/ports/AVR/compilers/GCC/rules.mk:174: build/obj/hal_buffers.o] Error 1
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/boards/MT-DB-X4/board.c:17:
../../../../os/hal/ports/AVR/XMEGA/LLD/SPIv1/hal_spi_lld.h:131:26: error: conflicting types for 'SPIDriver'; have 'struct SPIDriver'
  131 | typedef struct SPIDriver SPIDriver;
      |                          ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/boards/MT-DB-X4/board.c:17:
../../../../os/hal/include/hal_spi.h:127:31: note: previous declaration of 'SPIDriver' with type 'SPIDriver' {aka 'struct hal_spi_driver'}
  127 | typedef struct hal_spi_driver SPIDriver;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/boards/MT-DB-X4/board.c:17:
../../../../os/hal/ports/AVR/XMEGA/LLD/SPIv1/hal_spi_lld.h:139:16: error: conflicting types for 'spicallback_t'; have 'void (*)(SPIDriver *)'
  139 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/boards/MT-DB-X4/board.c:17:
../../../../os/hal/include/hal_spi.h:139:16: note: previous declaration of 'spicallback_t' with type 'spicallback_t' {aka 'void (*)(struct hal_spi_driver *)'}
  139 | typedef void (*spicallback_t)(SPIDriver *spip);
      |                ^~~~~~~~~~~~~
make: *** [../../../../os/common/ports/AVR/compilers/GCC/rules.mk:174: build/obj/hal_lld.o] Error 1
make: *** [../../../../os/common/ports/AVR/compilers/GCC/rules.mk:174: build/obj/hal_spi.o] Error 1
In file included from ../../../../os/hal/include/hal_spi.h:143,
                 from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/boards/MT-DB-X4/board.c:17:
../../../../os/hal/ports/AVR/XMEGA/LLD/SPIv1/hal_spi_lld.h:171:3: error: conflicting types for 'SPIConfig'; have 'struct <anonymous>'
  171 | } SPIConfig;
      |   ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/boards/MT-DB-X4/board.c:17:
../../../../os/hal/include/hal_spi.h:131:31: note: previous declaration of 'SPIConfig' with type 'SPIConfig' {aka 'struct hal_spi_config'}
  131 | typedef struct hal_spi_config SPIConfig;
      |                               ^~~~~~~~~
In file included from ../../../../os/hal/include/hal.h:284,
                 from ../../../../os/hal/boards/MT-DB-X4/board.c:17:
../../../../os/hal/include/hal_spi.h:149:6: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  149 | #if (SPI_SUPPORTS_CIRCULAR == TRUE) || defined(__DOXYGEN__)
      |      ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:186:3: error: expected specifier-qualifier-list before 'spi_lld_config_fields'
  186 |   spi_lld_config_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:217:3: error: expected specifier-qualifier-list before 'spi_lld_driver_fields'
  217 |   spi_lld_driver_fields;
      |   ^~~~~~~~~~~~~~~~~~~~~
../../../../os/hal/include/hal_spi.h:510:5: warning: "SPI_SUPPORTS_CIRCULAR" is not defined, evaluates to 0 [-Wundef]
  510 | #if SPI_SUPPORTS_CIRCULAR == TRUE
      |     ^~~~~~~~~~~~~~~~~~~~~
make: *** [../../../../os/common/ports/AVR/compilers/GCC/rules.mk:174: build/obj/hal_queues.o] Error 1
make: *** [../../../../os/common/ports/AVR/compilers/GCC/rules.mk:174: build/obj/hal_mmc_spi.o] Error 1
make: *** [../../../../os/common/ports/AVR/compilers/GCC/rules.mk:174: build/obj/board.o] Error 1
*** Moving to: ./AVR/XMEGA/WDT/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/AVR/XMEGA/WDT ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./AVR/XMEGA/AES/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/AVR/XMEGA/AES ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
Linking build/ch.elf
/opt/avr-gcc-11.1.0-x64-linux/bin/../lib/gcc/avr/11.1.0/../../../../avr/bin/ld: build/obj/main.o: in function `main':
main.c:(.text.startup.main+0xaa): undefined reference to `cryLoadTransientKey'
collect2: error: ld returned 1 exit status
make: *** [../../../../os/common/ports/AVR/compilers/GCC/rules.mk:202: build/ch.elf] Error 1
*** Moving to: ./AVR/XMEGA/USART/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/AVR/XMEGA/USART ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./AVR/multi/PAL/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/AVR/multi/PAL ~/Development/Repos/chibios_patch/Chibios_typedef/testhal

=== Building for Arduino-Mega ======================================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for Arduino-Mini ======================================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for Arduino-Nano ======================================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for Arduino-Uno =======================================
make[1]: Nothing to be done for 'all'.
====================================================================

~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F4xx/ADC/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F4xx/ADC ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F4xx/WDG/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F4xx/WDG ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F4xx/CAN/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F4xx/CAN ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F4xx/I2S/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F4xx/I2S ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F4xx/IRQ_STORM_FPU/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F4xx/IRQ_STORM_FPU ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F4xx/USB_CDC_IAD/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F4xx/USB_CDC_IAD ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F4xx/DAC/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F4xx/DAC ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F4xx/IRQ_STORM/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F4xx/IRQ_STORM ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F4xx/SDC/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F4xx/SDC ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F4xx/PWM-ICU/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F4xx/PWM-ICU ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F4xx/DAC_DUAL/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F4xx/DAC_DUAL ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F4xx/RTC/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F4xx/RTC ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F4xx/DMA_STORM/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F4xx/DMA_STORM ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F7xx/USB_RAW/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F7xx/USB_RAW ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F7xx/SPI/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F7xx/SPI ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F7xx/IRQ_STORM/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F7xx/IRQ_STORM ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F7xx/PWM-ICU/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F7xx/PWM-ICU ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F7xx/GPT-ADC/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F7xx/GPT-ADC ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F1xx/I2C/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F1xx/I2C ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F1xx/ADC/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F1xx/ADC ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F1xx/CAN/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F1xx/CAN ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F1xx/SPI/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F1xx/SPI ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F1xx/USB_CDC_F107/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F1xx/USB_CDC_F107 ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F1xx/USB_CDC/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F1xx/USB_CDC ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F1xx/UART/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F1xx/UART ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F1xx/IRQ_STORM/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F1xx/IRQ_STORM ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F1xx/PWM-ICU/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F1xx/PWM-ICU ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F1xx/RTC/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F1xx/RTC ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F37x/I2C/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F37x/I2C ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F37x/ADC/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F37x/ADC ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F37x/CAN/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F37x/CAN ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F37x/SPI/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F37x/SPI ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F37x/USB_CDC/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F37x/USB_CDC ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F37x/SDADC/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F37x/SDADC ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F37x/UART/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F37x/UART ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F37x/PWM-ICU/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F37x/PWM-ICU ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F0xx/ADC/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F0xx/ADC ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F0xx/WDG/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F0xx/WDG ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F0xx/CAN/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F0xx/CAN ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F0xx/USB_CDC/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F0xx/USB_CDC ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F0xx/IRQ_STORM/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F0xx/IRQ_STORM ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F0xx/PWM-ICU/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F0xx/PWM-ICU ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32L1xx/ADC/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32L1xx/ADC ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32L1xx/SPI/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32L1xx/SPI ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32L1xx/UART/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32L1xx/UART ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32L1xx/DAC/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32L1xx/DAC ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32L1xx/IRQ_STORM/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32L1xx/IRQ_STORM ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32L1xx/PWM-ICU/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32L1xx/PWM-ICU ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F3xx/ADC_DUAL/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F3xx/ADC_DUAL ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F3xx/ADC/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F3xx/ADC ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F3xx/WDG/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F3xx/WDG ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F3xx/CAN/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F3xx/CAN ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F3xx/USB_CDC_IAD/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F3xx/USB_CDC_IAD ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F3xx/DAC/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F3xx/DAC ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F3xx/IRQ_STORM/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F3xx/IRQ_STORM ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32F3xx/PWM-ICU/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32F3xx/PWM-ICU ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/multi/EFL-MFS/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/multi/EFL-MFS ~/Development/Repos/chibios_patch/Chibios_typedef/testhal

=== Building for STM32L476-Discovery ===============================
make[1]: Nothing to be done for 'all'.
====================================================================

~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/multi/TRNG/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/multi/TRNG ~/Development/Repos/chibios_patch/Chibios_typedef/testhal

=== Building for STM32L476-Discovery ===============================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32L4R5ZI-Nucleo144 =============================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32WB55RG-Nucleo64 ==============================
make[1]: Nothing to be done for 'all'.
====================================================================

~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/multi/ADC/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/multi/ADC ~/Development/Repos/chibios_patch/Chibios_typedef/testhal

=== Building for STM32H743ZI-Nucleo144 ===============================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32G071RB-Nucleo64 ==============================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32G474RE-Nucleo64 ==============================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32L053R8-Nucleo64 ==============================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32L476-Discovery ===============================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32L4R5ZI-Nucleo144 =============================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32WB55RG_Nucleo64 =============================
make[1]: Nothing to be done for 'all'.
====================================================================

~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/multi/CRYPTO/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/multi/CRYPTO ~/Development/Repos/chibios_patch/Chibios_typedef/testhal

=== Building for STM32F756ZG-Nucleo144 =============================
make[1]: Nothing to be done for 'all'.
====================================================================

~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/multi/WSPI-MFS/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/multi/WSPI-MFS ~/Development/Repos/chibios_patch/Chibios_typedef/testhal

=== Building for STM32L4R9-Discovery ===============================
make[1]: Nothing to be done for 'all'.

=== Building for STM32L476-Discovery ===============================
make[1]: Nothing to be done for 'all'.
====================================================================

~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/multi/SDMMC/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/multi/SDMMC ~/Development/Repos/chibios_patch/Chibios_typedef/testhal

=== Building for STM32L4R5ZI-Nucleo144 =============================
make[1]: Nothing to be done for 'all'.
====================================================================

~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/multi/SPI/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/multi/SPI ~/Development/Repos/chibios_patch/Chibios_typedef/testhal

=== Building for STM32F091-Nucleo64 ================================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32F303-Discovery ===============================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32F407-Discovery ===============================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32H743-Nucleo144 ===============================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32H755-Nucleo144 ===============================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32L476-Discovery ===============================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32L4R5-Nucleo144 ===============================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32L4R9-Discovery ===============================
make[1]: Nothing to be done for 'all'.
====================================================================

~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/multi/USB_CDC/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/multi/USB_CDC ~/Development/Repos/chibios_patch/Chibios_typedef/testhal

=== Building for STM32L476-Discovery ===============================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32L4R5-Nucleo144 ===============================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32F303-Discovery ===============================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32F407-Discovery ===============================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32F746-Discovery ===============================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32H743-Nucleo144 ===============================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32WB55CG_Nucleo48_USB ==========================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32WB55RG_Nucleo68 =============================
make[1]: Nothing to be done for 'all'.
====================================================================

~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/multi/SDMMC-FATFS/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/multi/SDMMC-FATFS ~/Development/Repos/chibios_patch/Chibios_typedef/testhal

=== Building for STM32L4R5ZI-Nucleo144 =============================
Compiling fatfs_diskio.c
Compiling fatfs_syscall.c
make[1]: *** No rule to make target 'ff.c', needed by 'build/stm32l4r9ai_discovery/obj/ff.o'. Stop.
make[1]: *** Waiting for unfinished jobs....
../../../../os/various/fatfs_bindings/fatfs_syscall.c:23:10: fatal error: ff.h: No such file or directory
   23 | #include "ff.h"
      |          ^~~~~~
compilation terminated.
../../../../os/various/fatfs_bindings/fatfs_diskio.c:10:10: fatal error: ff.h: No such file or directory
   10 | #include "ff.h"
      |          ^~~~~~
compilation terminated.
make[1]: *** [../../../../os/common/startup/ARMCMx/compilers/GCC/mk/rules.mk:190: build/stm32l4r9ai_discovery/obj/fatfs_diskio.o] Error 1
make[1]: *** [../../../../os/common/startup/ARMCMx/compilers/GCC/mk/rules.mk:190: build/stm32l4r9ai_discovery/obj/fatfs_syscall.o] Error 1
make: *** [Makefile:8: all] Error 2
*** Moving to: ./STM32/multi/PAL/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/multi/PAL ~/Development/Repos/chibios_patch/Chibios_typedef/testhal

=== Building for STM32F051-Discovery ===============================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32F103-Olimex ==================================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32F303-Discovery ===============================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32F373-Eval ====================================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32F407-Discovery ===============================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32F429-Discovery ===============================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32F746-Discovery ===============================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32L053-Discovery ===============================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32L151-Discovery ===============================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32L476-Discovery ===============================
make[1]: Nothing to be done for 'all'.
====================================================================

~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/multi/UART/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/multi/UART ~/Development/Repos/chibios_patch/Chibios_typedef/testhal

=== Building for STM32F091-Nucleo64 ================================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32F303-Discovery ===============================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32F407-Discovery ===============================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32F746-Discovery ===============================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32WB55RG_Nucleo64 =============================
make[1]: Nothing to be done for 'all'.
====================================================================

~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/multi/DAC/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/multi/DAC ~/Development/Repos/chibios_patch/Chibios_typedef/testhal

=== Building for STM32G474RE-Nucleo64 ==============================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32H743-Nucleo144 ===============================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32L476-Discovery ===============================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32L4R5ZI-Nucleo144 =============================
make[1]: Nothing to be done for 'all'.
====================================================================

~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/multi/RTC/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/multi/RTC ~/Development/Repos/chibios_patch/Chibios_typedef/testhal

=== Building for STM32F051-Discovery ===============================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32F303-Discovery ===============================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32F407-Discovery ===============================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32F746-Discovery ===============================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32L053-Discovery ===============================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32L476-Discovery ===============================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32L4R5-Nucleo144 ===============================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32G071-Nucleo64 ===============================
make[1]: Nothing to be done for 'all'.
====================================================================

=== Building for STM32WB55-Nucleo64 ===============================
make[1]: Nothing to be done for 'all'.
====================================================================

~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32L4xx/CAN/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32L4xx/CAN ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32L4xx/IRQ_STORM/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32L4xx/IRQ_STORM ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32L0xx/SPI/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32L0xx/SPI ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
*** Moving to: ./STM32/STM32L0xx/USB_CDC/Makefile ***
~/Development/Repos/chibios_patch/Chibios_typedef/testhal/STM32/STM32L0xx/USB_CDC ~/Development/Repos/chibios_patch/Chibios_typedef/testhal
make: Nothing to be done for 'all'.
~/Development/Repos/chibios_patch/Chibios_typedef/testhal
