linux-agl: add pfifo patchset for fixing CAN failures
[AGL/meta-agl.git] / meta-agl-bsp / recipes-kernel / linux / linux-agl.inc
1 FILESEXTRAPATHS_prepend := "${THISDIR}/linux:"
2
3 DEPENDS += "kern-tools-native"
4
5 # canbus qdisc pfifo change
6 SRC_URI_append = " file://net-sch_generic-Use-pfifo_fast-as-fallback-scheduler.patch"
7
8 # bbe target has this upstream patch already
9 SRC_URI_remove_bbe = " file://net-sch_generic-Use-pfifo_fast-as-fallback-scheduler.patch"
10
11 # returns all the elements from the src uri that are .cfg files
12 def find_cfgs(d):
13     sources=src_patches(d, True)
14     sources_list=[]
15     for s in sources:
16         if s.endswith('.cfg'):
17             sources_list.append(s)
18
19     return sources_list
20
21 do_configure_append () {
22     [ ! -f .config ] && cp -a ${WORKDIR}/defconfig .config
23     # Need to clear CONFIG_LSM for 5.1+ kernels to ensure it'll get
24     # regenerated to reflect configuration changes (e.g. SMACK).
25     sed -i '/^CONFIG_LSM/d' .config
26     merge_config.sh -m .config ${@" ".join(find_cfgs(d))}
27     yes '' | make oldconfig
28 }
29
30 # Extra configuration options for the AGL kernel
31 SRC_URI_append = "\
32             file://can-bus.cfg \
33             file://usb.cfg \
34             file://uvc.cfg \
35             file://joystick.cfg \
36             file://fanotify.cfg \
37             file://uinput.cfg \
38             file://hid.cfg \
39             file://drm.cfg \
40             file://btusb.cfg \
41             file://usbaudio.cfg \
42             file://usbmodem.cfg \
43             file://i2c-led.cfg \
44             file://nfc.cfg \
45             "
46 KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/can-bus.cfg"
47 # Enable support for usb video class for usb camera devices
48 KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/uvc.cfg"
49 # Enable support for joystick devices
50 KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/joystick.cfg"
51 KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/fanotify.cfg"
52 KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/uinput.cfg"
53 KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/hid.cfg"
54 # Enable DRM support for graphics
55 KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/drm.cfg"
56 # Enable Bluetooth USB devices
57 KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/btusb.cfg"
58 # Enable USB audio devices
59 KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/usbaudio.cfg"
60 # Enable I2C and LED for demontrator
61 KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/i2c-led.cfg"
62 # Enable NFC devices
63 KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/nfc.cfg"
64
65 # Enable required features for the agl-netboot feature
66 SRC_URI_append_netboot = " file://nbd.cfg \
67         file://ramdisk.cfg"
68 KERNEL_CONFIG_FRAGMENTS_append_netboot = " ${WORKDIR}/nbd.cfg ${WORKDIR}/ramdisk.cfg"
69
70 # Enable support for TP-Link TL-W722N USB Wifi adapter
71 SRC_URI_append = " file://ath9k_htc.cfg"
72 KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/ath9k_htc.cfg"
73
74 # Enable support for RTLSDR
75 SRC_URI_append = " file://rtl_sdr.cfg"
76 KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/rtl_sdr.cfg"
77
78 # Additional drivers for virtual machines
79 # OVERRIDES save us some c'n'p below ...
80 OVERRIDES_prepend_qemux86 = "virtualmachine:"
81 OVERRIDES_prepend_qemux86-64 = "virtualmachine:"
82 SRC_URI_append_virtualmachine = " file://vbox-vmware-sata.cfg"
83 KERNEL_CONFIG_FRAGMENTS_append_virtualmachine = " ${WORKDIR}/vbox-vmware-sata.cfg"
84
85 # Enable support for smack
86 KERNEL_CONFIG_FRAGMENTS_append_with-lsm-smack = "\
87        ${WORKDIR}/audit.cfg \
88        ${WORKDIR}/smack.cfg \
89        ${WORKDIR}/smack-default-lsm.cfg \
90 "
91
92 # ALSA support and other sound related configuration
93 SRC_URI_append = " file://sound.cfg"
94 KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/sound.cfg"
95
96 # iio-dummy-device support for test iiodevice
97 SRC_URI_append = " file://iiodevice.cfg"
98 KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/iiodevice.cfg"
99
100 # external rtc support via e.g. http://wiki.seeedstudio.com/Grove-RTC/
101 SRC_URI_append = " file://rtc.cfg"
102 KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/rtc.cfg"
103
104 # netfilter options
105 SRC_URI_append = " file://netfilter.cfg"
106 KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/netfilter.cfg"