# CzechLight stuff:
# userspace access to the I2C bus
CONFIG_I2C_CHARDEV=y
# FTDI USB-to-serial
CONFIG_USB_SERIAL=m
CONFIG_USB_SERIAL_FTDI_SIO=m
# generic EEPROM
CONFIG_EEPROM_AT24=y
# ADT7463 hwmon
CONFIG_SENSORS_LM85=y

# systemd bits
CONFIG_DEVTMPFS=y
CONFIG_CGROUPS=y
CONFIG_INOTIFY_USER=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EPOLL=y
CONFIG_NET=y
CONFIG_SYSFS=y
CONFIG_PROC_FS=y
CONFIG_FHANDLE=y
CONFIG_CRYPTO_USER_API_HASH=y
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_SHA256=y
CONFIG_SYSFS_DEPRECATED=n
CONFIG_UEVENT_HELPER_PATH=""
CONFIG_FW_LOADER_USER_HELPER=n
CONFIG_DMIID=y
CONFIG_BLK_DEV_BSG=y
CONFIG_NET_NS=y
CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
CONFIG_USER_NS=y
CONFIG_IPV6=y
CONFIG_AUTOFS4_FS=y
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_EXT4_POSIX_ACL=y
CONFIG_SECCOMP=y
CONFIG_SECCOMP_FILTER=y
CONFIG_CHECKPOINT_RESTORE=y
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_CFS_BANDWIDTH=y
CONFIG_RT_GROUP_SCHED=n

# rauc
CONFIG_BLK_DEV_LOOP=y
CONFIG_SQUASHFS=y

# These are not needed, let's nuke them
CONFIG_SOUND=n
CONFIG_MD=n
CONFIG_MACINTOSH_DRIVERS=n
CONFIG_USB_NET_DRIVERS=n
CONFIG_WLAN=n
CONFIG_FDDI=n

# Watchdog bits
CONFIG_WATCHDOG_NOWAYOUT=y
CONFIG_WATCHDOG_SYSFS=y

# protecting /etc
CONFIG_OVERLAY_FS=y

# better logging
CONFIG_LOG_BUF_SHIFT=18

# LED blinking, yay
CONFIG_LEDS_TRIGGER_ONESHOT=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
CONFIG_LEDS_TRIGGER_PANIC=y
CONFIG_LED_TRIGGER_PHY=y

# network bridging for the OSC
CONFIG_BRIDGE=y
