SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
-ADD_LIBRARY(${PROJECT_NAME} MODULE display.c)
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${hal-backend-device-display_pkgs_LDFLAGS})
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${HAL_LIB_DIR} COMPONENT RuntimeLibraries)
+SET(HAL_BACKEND_DEVICE_DISPLAY_RPI3 ${PROJECT_NAME}.rpi3)
+ADD_LIBRARY(${HAL_BACKEND_DEVICE_DISPLAY_RPI3} MODULE display.c)
+TARGET_COMPILE_DEFINITIONS(${HAL_BACKEND_DEVICE_DISPLAY_RPI3} PUBLIC RPI3)
+TARGET_LINK_LIBRARIES(${HAL_BACKEND_DEVICE_DISPLAY_RPI3} ${hal-backend-device-display_pkgs_LDFLAGS})
+INSTALL(TARGETS ${HAL_BACKEND_DEVICE_DISPLAY_RPI3} DESTINATION ${HAL_LIB_DIR} COMPONENT RuntimeLibraries)
+
+SET(HAL_BACKEND_DEVICE_DISPLAY_RPI4 ${PROJECT_NAME}.rpi4)
+ADD_LIBRARY(${HAL_BACKEND_DEVICE_DISPLAY_RPI4} MODULE display.c)
+TARGET_COMPILE_DEFINITIONS(${HAL_BACKEND_DEVICE_DISPLAY_RPI4} PUBLIC RPI4)
+TARGET_LINK_LIBRARIES(${HAL_BACKEND_DEVICE_DISPLAY_RPI4} ${hal-backend-device-display_pkgs_LDFLAGS})
+INSTALL(TARGETS ${HAL_BACKEND_DEVICE_DISPLAY_RPI4} DESTINATION ${HAL_LIB_DIR} COMPONENT RuntimeLibraries)
#include </hal/include/device/hal-backend-common.h>
-#ifndef BACKLIGHT_PATH
+#if defined(RPI3)
#define BACKLIGHT_PATH "/sys/class/backlight/rpi_backlight"
+
+#elif defined(RPI4)
+#define BACKLIGHT_PATH "/sys/class/backlight/10-0045"
+
#endif
static int display_get_max_brightness(int *val)
rmdir rpi3
popd
+pushd %{_hal_libdir}
+ln -sf libhal-backend-device-display.rpi3.so libhal-backend-device-display.so
+popd
+
%post -n hal-backend-device-rpi4
pushd %{_hal_sysconfdir}/peripheral-io
mv rpi4/gpio.ini .
rmdir rpi4
popd
+pushd %{_hal_libdir}
+ln -sf libhal-backend-device-display.rpi4.so libhal-backend-device-display.so
+popd
+
%files
-%{_hal_libdir}/*.so*
+%{_hal_libdir}/libhal-backend-device-board.so
+%{_hal_libdir}/libhal-backend-device-haptic.so
+%{_hal_libdir}/libhal-backend-device-led.so
+%{_hal_libdir}/libhal-backend-device-memory.so
+%{_hal_libdir}/libhal-backend-device-thermal.so
+%{_hal_libdir}/libhal-backend-device-touchscreen.so
+%{_hal_libdir}/libhal-backend-device-usb-gadget.so
%{_hal_sysconfdir}/reboot/register_storage
%{_hal_sysconfdir}/peripheral-io/*.ini
%manifest %{name}.manifest
%files -n hal-backend-device-rpi3
%dir %{_hal_sysconfdir}/peripheral-io/rpi3
%{_hal_sysconfdir}/peripheral-io/rpi3/gpio.ini
+%{_hal_libdir}/libhal-backend-device-display.rpi3.so
%files -n hal-backend-device-rpi4
%dir %{_hal_sysconfdir}/peripheral-io/rpi4
%{_hal_sysconfdir}/peripheral-io/rpi4/gpio.ini
+%{_hal_libdir}/libhal-backend-device-display.rpi4.so