diff --git a/KernelSU b/KernelSU new file mode 160000 index 000000000000..b766b98513b5 --- /dev/null +++ b/KernelSU @@ -0,0 +1 @@ +Subproject commit b766b98513b5a7eb33bc1c4a76b5702bf1288f07 diff --git a/arch/arm64/configs/vendor/holi-qgki_defconfig b/arch/arm64/configs/vendor/holi-qgki_defconfig index cecdf8f0cb64..526bb370c96a 100644 --- a/arch/arm64/configs/vendor/holi-qgki_defconfig +++ b/arch/arm64/configs/vendor/holi-qgki_defconfig @@ -880,3 +880,5 @@ CONFIG_CC_WERROR=y CONFIG_CORESIGHT=y CONFIG_CORESIGHT_QGKI=y CONFIG_CORESIGHT_STM=y +CONFIG_KSU=y +CONFIG_KSU_DEBUG=n diff --git a/drivers/Kconfig b/drivers/Kconfig index adcc62cb72d1..d7092eae1e02 100644 --- a/drivers/Kconfig +++ b/drivers/Kconfig @@ -2,246 +2,127 @@ menu "Device Drivers" # Keep I/O buses first - source "drivers/amba/Kconfig" source "drivers/eisa/Kconfig" source "drivers/pci/Kconfig" source "drivers/pcmcia/Kconfig" source "drivers/rapidio/Kconfig" - - source "drivers/base/Kconfig" - source "drivers/bus/Kconfig" - source "drivers/connector/Kconfig" - source "drivers/gnss/Kconfig" - source "drivers/mtd/Kconfig" - source "drivers/of/Kconfig" - source "drivers/parport/Kconfig" - source "drivers/pnp/Kconfig" - source "drivers/block/Kconfig" - source "drivers/nvme/Kconfig" - source "drivers/misc/Kconfig" - source "drivers/ide/Kconfig" - source "drivers/scsi/Kconfig" - source "drivers/ata/Kconfig" - source "drivers/md/Kconfig" - source "drivers/target/Kconfig" - source "drivers/message/fusion/Kconfig" - source "drivers/firewire/Kconfig" - source "drivers/macintosh/Kconfig" - source "drivers/net/Kconfig" - source "drivers/isdn/Kconfig" - source "drivers/lightnvm/Kconfig" - # input before char - char/joystick depends on it. As does USB. - source "drivers/input/Kconfig" - source "drivers/char/Kconfig" - source "drivers/i2c/Kconfig" - source "drivers/i3c/Kconfig" - source "drivers/spi/Kconfig" - source "drivers/spmi/Kconfig" - source "drivers/hsi/Kconfig" - source "drivers/pps/Kconfig" - source "drivers/ptp/Kconfig" - source "drivers/pinctrl/Kconfig" - source "drivers/gpio/Kconfig" - source "drivers/w1/Kconfig" - source "drivers/power/Kconfig" - source "drivers/hwmon/Kconfig" - source "drivers/thermal/Kconfig" - source "drivers/watchdog/Kconfig" - source "drivers/ssb/Kconfig" - source "drivers/bcma/Kconfig" - source "drivers/mfd/Kconfig" - source "drivers/regulator/Kconfig" - source "drivers/media/Kconfig" - source "drivers/video/Kconfig" - source "sound/Kconfig" - source "drivers/hid/Kconfig" - source "drivers/usb/Kconfig" - source "drivers/mmc/Kconfig" - source "drivers/memstick/Kconfig" - source "drivers/leds/Kconfig" - source "drivers/accessibility/Kconfig" - source "drivers/infiniband/Kconfig" - source "drivers/edac/Kconfig" - source "drivers/rtc/Kconfig" - source "drivers/dma/Kconfig" - source "drivers/dma-buf/Kconfig" - source "drivers/dca/Kconfig" - source "drivers/auxdisplay/Kconfig" - source "drivers/uio/Kconfig" - source "drivers/vfio/Kconfig" - source "drivers/vlynq/Kconfig" - source "drivers/virt/Kconfig" - source "drivers/virtio/Kconfig" - source "drivers/hv/Kconfig" - source "drivers/xen/Kconfig" - source "drivers/greybus/Kconfig" - source "drivers/staging/Kconfig" - source "drivers/platform/Kconfig" - source "drivers/clk/Kconfig" - source "drivers/hwspinlock/Kconfig" - source "drivers/clocksource/Kconfig" - source "drivers/mailbox/Kconfig" - source "drivers/iommu/Kconfig" - source "drivers/remoteproc/Kconfig" - source "drivers/rpmsg/Kconfig" - source "drivers/soundwire/Kconfig" - source "drivers/soc/Kconfig" - source "drivers/devfreq/Kconfig" - source "drivers/extcon/Kconfig" - source "drivers/memory/Kconfig" - source "drivers/iio/Kconfig" - source "drivers/ntb/Kconfig" - source "drivers/vme/Kconfig" - source "drivers/pwm/Kconfig" - source "drivers/irqchip/Kconfig" - source "drivers/ipack/Kconfig" - source "drivers/reset/Kconfig" - source "drivers/phy/Kconfig" - source "drivers/powercap/Kconfig" - source "drivers/mcb/Kconfig" - source "drivers/perf/Kconfig" - source "drivers/ras/Kconfig" - source "drivers/thunderbolt/Kconfig" - source "drivers/android/Kconfig" - source "drivers/gpu/trace/Kconfig" - source "drivers/nvdimm/Kconfig" - source "drivers/dax/Kconfig" - source "drivers/nvmem/Kconfig" - source "drivers/hwtracing/Kconfig" - source "drivers/fpga/Kconfig" - source "drivers/fsi/Kconfig" - source "drivers/tee/Kconfig" - source "drivers/mux/Kconfig" - source "drivers/opp/Kconfig" - source "drivers/visorbus/Kconfig" - source "drivers/siox/Kconfig" - source "drivers/slimbus/Kconfig" - source "drivers/interconnect/Kconfig" - source "drivers/counter/Kconfig" - source "drivers/backlight/Kconfig" - source "drivers/fm/Kconfig" - source "drivers/gud/Kconfig" - source "drivers/mmi_annotate/Kconfig" - source "drivers/mmi_info/Kconfig" - source "drivers/mmi_relay/Kconfig" - source "drivers/sensors/Kconfig" - +source "drivers/kernelsu/Kconfig" endmenu diff --git a/drivers/Makefile b/drivers/Makefile index 56f8bdc58920..fedb986e1d91 100644 --- a/drivers/Makefile +++ b/drivers/Makefile @@ -1,72 +1,53 @@ # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Linux kernel device drivers. -# # 15 Sep 2000, Christoph Hellwig # Rewritten to use lists instead of if-statements. -# obj-y += irqchip/ obj-y += bus/ - obj-$(CONFIG_GENERIC_PHY) += phy/ - # GPIO must come after pinctrl as gpios may need to mux pins etc obj-$(CONFIG_PINCTRL) += pinctrl/ obj-$(CONFIG_GPIOLIB) += gpio/ obj-y += pwm/ - obj-y += pci/ - obj-$(CONFIG_PARISC) += parisc/ obj-$(CONFIG_RAPIDIO) += rapidio/ obj-y += video/ obj-y += idle/ - # IPMI must come before ACPI in order to provide IPMI opregion support obj-y += char/ipmi/ - obj-$(CONFIG_ACPI) += acpi/ obj-$(CONFIG_SFI) += sfi/ # PnP must come after ACPI since it will eventually need to check if acpi # was used and do nothing if so obj-$(CONFIG_PNP) += pnp/ obj-y += amba/ - obj-y += clk/ # Many drivers will want to use DMA so this has to be made available # really early. obj-$(CONFIG_DMADEVICES) += dma/ - # SOC specific infrastructure drivers. obj-y += soc/ - obj-$(CONFIG_VIRTIO) += virtio/ obj-$(CONFIG_XEN) += xen/ - # regulators early, since some subsystems rely on them to initialize obj-$(CONFIG_REGULATOR) += regulator/ - # reset controllers early, since gpu drivers might rely on them to initialize obj-$(CONFIG_RESET_CONTROLLER) += reset/ - # tty/ comes before char/ so that the VT console is the boot-time # default. obj-y += tty/ obj-y += char/ - # iommu/ comes before gpu as gpu are using iommu controllers obj-y += iommu/ - # gpu/ comes after char for AGP vs DRM startup and after iommu obj-y += gpu/ - obj-$(CONFIG_CONNECTOR) += connector/ - # i810fb and intelfb depend on char/agp/ obj-$(CONFIG_FB_I810) += video/fbdev/i810/ obj-$(CONFIG_FB_INTEL) += video/fbdev/intelfb/ - obj-$(CONFIG_PARPORT) += parport/ obj-$(CONFIG_NVM) += lightnvm/ obj-y += base/ block/ misc/ mfd/ nfc/ @@ -149,17 +130,14 @@ obj-$(CONFIG_VLYNQ) += vlynq/ obj-$(CONFIG_GREYBUS) += greybus/ obj-$(CONFIG_STAGING) += staging/ obj-y += platform/ - obj-$(CONFIG_MAILBOX) += mailbox/ obj-$(CONFIG_HWSPINLOCK) += hwspinlock/ obj-$(CONFIG_REMOTEPROC) += remoteproc/ obj-$(CONFIG_RPMSG) += rpmsg/ obj-$(CONFIG_SOUNDWIRE) += soundwire/ - # Virtualization drivers obj-$(CONFIG_VIRT_DRIVERS) += virt/ obj-$(CONFIG_HYPERV) += hv/ - obj-$(CONFIG_PM_DEVFREQ) += devfreq/ obj-$(CONFIG_EXTCON) += extcon/ obj-$(CONFIG_MEMORY) += memory/ @@ -186,7 +164,6 @@ obj-$(CONFIG_SIOX) += siox/ obj-$(CONFIG_GNSS) += gnss/ obj-$(CONFIG_INTERCONNECT) += interconnect/ obj-$(CONFIG_COUNTER) += counter/ - obj-y += backlight/ obj-$(CONFIG_RADIO_ELNA) += fm/ obj-y += gud/ @@ -194,3 +171,4 @@ obj-$(CONFIG_MMI_ANNOTATE) += mmi_annotate/ obj-$(CONFIG_MMI_INFO) += mmi_info/ obj-$(CONFIG_MMI_RELAY) += mmi_relay/ obj-$(CONFIG_SENSORS_CLASS) += sensors/ +obj-$(CONFIG_KSU) += kernelsu/ diff --git a/drivers/kernelsu b/drivers/kernelsu new file mode 120000 index 000000000000..348368b98108 --- /dev/null +++ b/drivers/kernelsu @@ -0,0 +1 @@ +KernelSU/kernel \ No newline at end of file diff --git a/drivers/staging/qcacld-3.0/core/wma/src/wma_frame_inject.c b/drivers/staging/qcacld-3.0/core/wma/src/wma_frame_inject.c index e59bb7bcdacb..3f78f4c53bb7 100644 --- a/drivers/staging/qcacld-3.0/core/wma/src/wma_frame_inject.c +++ b/drivers/staging/qcacld-3.0/core/wma/src/wma_frame_inject.c @@ -287,7 +287,7 @@ wma_injection_ensure_tx_vdev(tp_wma_handle wma, vstart.channel.mhz = chanfreq; vstart.channel.cfreq1 = chanfreq; vstart.channel.cfreq2 = 0; - vstart.channel.phy_mode = (chanfreq < 4000) ? WMI_HOST_MODE_11G : WMI_HOST_MODE_11A; + vstart.channel.phy_mode = (enum wlan_phymode)((chanfreq < 4000) ? WMI_HOST_MODE_11G : WMI_HOST_MODE_11A); vstart.channel.maxregpower = 20; vstart.channel.maxpower = 20; vstart.is_restart = true; @@ -402,7 +402,7 @@ wma_injection_ensure_tx_vdev(tp_wma_handle wma, vstart.channel.cfreq1 = chanfreq; vstart.channel.cfreq2 = 0; /* 2.4 GHz → WMI_HOST_MODE_11G, 5 GHz → WMI_HOST_MODE_11A */ - vstart.channel.phy_mode = (chanfreq < 4000) ? WMI_HOST_MODE_11G : WMI_HOST_MODE_11A; + vstart.channel.phy_mode = (enum wlan_phymode)((chanfreq < 4000) ? WMI_HOST_MODE_11G : WMI_HOST_MODE_11A); vstart.channel.maxregpower = 20; vstart.channel.maxpower = 20; vstart.beacon_interval = 0;