Enabling CONFIG_NETFILTER_FAMILY_BRIDGE causes the new element,
hooks_bridge[] to be added to netns_nf. Since the KMI is frozen
this could not be added.
The only instantiation of struct netns_nf is as an embedded field
of struct net. So instead of adding the field to struct netns_nf,
a new "struct ext_net" is added that contains struct net and
the new hooks_bridge[] field. An accessor function,
get_nf_hooks_bridge() is added to get a pointer to the new
field.
There is a global init_net of type struct net which must be special
cased since it is not a member of a struct ext_net. All other
instances of struct net are allocated via net_alloc() which now
allocates a struct ext_net.
Since CONFIG_NETFILTER_FAMILY_BRIDGE is a hidden config that is
needed for vendor modules, it is enabled via init/Kconfig.gki.
Bug: 316040984
Fixes: 0145780bfc78 ("fix KASAN-related kernel crash by KMI W/A for NETFILTER_FAMILY_BRIDGE")
Change-Id: I2c7384e3df9b88f12464dc0138986fed12ca626a
Signed-off-by: Norihiko Hama <Norihiko.Hama@alpsalpine.com>
Select hidden Kconfig: NET_DEVLINK.
Required by device drivers to provide unified interface to expose
device info, capture coredump and perform device flash.
Bug: 283707518
Change-Id: I1cc5b7dce36c79549cd7f1d9b755f7bab3973f0e
Signed-off-by: michael cai <michael.cai@mediatek.com>
Signed-off-by: lambert wang <lambert.wang@mediatek.com>
(without this net tests fail, CONFIG_GKI_HACKS_TO_FIX
doesn't work, as it causes compilation failures due
to enabling tons of other things)
Bug: 252915518
Test: TreeHugger, manually with uml net nests
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I9dae7f6be3828a1bdb71560dd9126ebed5cda9e5
REGMAP_SPMI is a hidden symbol normally selected by other SPMI drivers,
but it wasn't built-in to GKI like other REGMAP APIs so vendors had to
build it downstream.
This is a small amount of code and can be modularized later.
For allmodconfig, select SPMI via Kconfig.gki instead of gki_defconfig,
because otherwise allmodconfig will build SPMI=m and REGMAP_SPMI=y,
which is not allowed.
Bug: 248307451
Signed-off-by: Alistair Delva <adelva@google.com>
Change-Id: Ic3833e3a2dc44386c12a2422562994a1581a549c
* It also adds INTERCONNECT_QCOM under
GKI_HIDDEN_DRM_CONFIGS
* Short term solution needed for building the
following drivers that are not modularizable:
* drivers/net/can/spi/mcp251xfd/mcp251xfd.ko
* drivers/interconnect/qcom/icc-rpmh.ko
* drivers/interconnect/qcom/qnoc-sm8450.ko
* It adds two objects to the common kernel:
$ find -name rx-offload.o
__common_kernel_aarch64/drivers/net/can/dev/rx-offload.o
$ find -name icc-common.o
__common_kernel_aarch64/drivers/interconnect/qcom/icc-common.o
Bug: 233404531
Signed-off-by: Ulises Mendez Martinez <umendez@google.com>
Change-Id: Idac61705c360dfde8683b685b8c291f293657d11
The upstream commit 817819b27e ("media: Replace dependency on
VIDEO_V4L2_SUBDEV_API with select") made VIDEO_V4L2_SUBDEV_API hidden to
clean up the code. Since GKI wants to include this config without
including the specific vendor drivers that select this config, add it to
the GKI_HIDDEN_MEDIA_CONFIGS.
Fixes: 817819b27e ("media: Replace dependency on VIDEO_V4L2_SUBDEV_API with select")
Signed-off-by: Will McVicker <willmcvicker@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I3db3b4cb2de0a1e3a282c5bdb5b584892a8b1fcc
The virtio video driver v2 [1] uses videobuf2 structure
vb2_dma_sg_memops, when virtio device supports non-contiguous DMA video
buffers.
DMA SG memory allocator for videobuf2
(drivers/media/common/videobuf2/videobuf2-dma-sg.c) is a common code and
has no hardware dependencies.
[1]: https://lore.kernel.org/all/20200218202753.652093-2-dmitry.sepp@opensynergy.com/
Bug: 219998156
Signed-off-by: Mikhail Golubev <Mikhail.Golubev@opensynergy.com>
Change-Id: I897898090d7a97b13202c05aae28955595e09468
Due to some drm Kconfig dependancy changes in the drm merge in 5.17-rc1,
the select option of DRM_KMS_CMA_HELPER and DRM_GEM_CMA_HELPER need to
be removed in order to be able to properly build an allmodconfig kernel.
Fixes: 4b2b5e142f ("drm: Move GEM memory managers into modules")
Fixes: 09717af7d1 ("drm: Remove CONFIG_DRM_KMS_CMA_HELPER option")
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I0b74e37d046aaae6bfeacec1695faf4780703622
Add hidden configs to ASYNC_TX_ENABLE_CHANNEL_SWITCH so they are
enabled for loadable DMA modules built out-of-tree
Bug: 177807056
Signed-off-by: Adrian-CJ Hung <adrian-cj.hung@mediatek.com>
Change-Id: I36866ad4d93eab9a826928ac8f0dc8cac84c232c
Signed-off-by: Giuliano Procida <gprocida@google.com>
(cherry picked from commit 0dc97b664f834a1f25ae5cb3a653e131da1d2798)
Add a hidden config option to select PHYLINK which is widely used by
ethernet devices. This also removes PHYLIB=y from gki_defconfig because
it is selected by CONFIG_PHYLINK.
Bug: 190472243
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
Change-Id: I590f7576daddab6786d19ffc789e51816770e5e3
Enable hidden config SND_SOC_TOPOLOGY need by SND_SOC=m
Bug: 153682187
Change-Id: I47dabfaa6f0d138f78fbc1c9fc0d4ac3c7c73986
Signed-off-by: Gyeongtaek Lee <gt82.lee@samsung.com>
When testing GKI with out-of-tree PCIe support as modules, it was
discovered some hidden Kconfigs are required for DPHYs. Add here so
out of tree PCIe drivers and PHYs can be built in a separate tree.
Bug: 179406580
Change-Id: Ic27c678b4e0dd4c29d354ff1139d453b99a3744f
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Drop the explicit disable of CONFIG_ETHERNET from gki_defconfig so
wired networking support is enabled by default.
Also, when testing GKI with out-of-tree wired networking modules, it
was discovered that a few hidden Kconfigs are required. Add them here
so out of tree net drivers can be built in a separate tree.
Bug: 179406580
Change-Id: Ia66742e514ae1a3c9f8d0ec1d92eb40b68d12ce7
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
DMA_VIRTUAL_CHANNELS depends on DMADEVICES and DMA_VIRTUAL_CHANNELS
is selected by GKI_HIDDEN_SND_SOC_CONFIGS.
To fix unmet dependency in x86_64, select DMADEVICES under
GKI_HIDDEN_SND_SOC_CONFIGS.
Also, drop CONFIG_DMADEVICES=y in arch/arm64/configs/gki_defconfig.
WARNING: unmet direct dependencies detected for DMA_VIRTUAL_CHANNELS
Depends on [n]: DMADEVICES [=n]
Selected by [y]:
- GKI_HIDDEN_SND_SOC_CONFIGS [=y]
Bug: 174628645
Signed-off-by: Miles Chen <miles.chen@mediatek.com>
Change-Id: I1de491c10542f1b7c9c8754c65415b028d3bc922
it use vb2_dma_contig_memops as default mem_ops in csi driver
drivers/media/platform/mxc/capture/mx6s_capture.c still not upstream to linux community.
q->mem_ops = &vb2_dma_contig_memops;
mem_ops is need in videobuf2-core.c to operate dma buffer.
videobuf2-dma-contig.c is common code which have no hardware involved
Bug: 160195378
Signed-off-by: zhang sanshan <pete.zhang@nxp.com>
Change-Id: Ib084ff96bd4f92aa36f8abb8d4b62a0e9be62e6c
audio driver us edma to instore data.
fsl-edma used api in virt-dma, like vchan_init to dma opt.
There is not hardware involved. build-in DMA_VIRTUAL_CHANNELS
Bug: 160627323
Bug: 174628645
Signed-off-by: zhang sanshan <pete.zhang@nxp.com>
Signed-off-by: Miles Chen <miles.chen@mediatek.com>
Change-Id: I5427cb6ef3725163f396836bfd3ebe23037c06f2
CEC_{CORE,NOTIFIER,PIN} are hidden options which are selected by
drivers. Select them here so the ABI surface is available to
modules.
Bug: 162507365
Bug: 164180803
Change-Id: Idf8d072388b387442d967bf1c6d3be1f9a734ab6
Signed-off-by: Alistair Delva <adelva@google.com>
In v5.8, commit c3c0c2e18d ("pinctrl: qcom: Handle
broken/missing PDC dual edge IRQs on sc7180"), a new dependency
was added on the IRQ_DOMAIN_HIERARCHY and
IRQ_FASTEOI_HIERARCHY_HANDLERS for PINCTRL_MSM.
These are not module options and need to be built in, so they
need to be included in the GKI config.
Fixes: c3c0c2e18d ("pinctrl: qcom: Handle broken/missing PDC dual edge IRQs on sc7180")
Signed-off-by: John Stultz <john.stultz@linaro.org>
Change-Id: Ia9ceb1e0dc56e8860caed5ecff334fcfdcd4b224
Needed by some GPU/DRM drivers that are built out-of-tree
Bug: 159733980
Signed-off-by: Todd Kjos <tkjos@google.com>
Change-Id: Ia156d1b0a74c82d9f15b144131aff2ddeead0672
Used by some Linux hypervisor support to tell userspace which hypervisor
it is being run under.
Bug: 157224726
Change-Id: Ia1cb56e665af6b60f6a51b5e81dd7abed240f812
Signed-off-by: Alistair Delva <adelva@google.com>
This feature is only used by arm/arm64 boards but it builds on x86 too
so enable it everywhere for build coverage.
Bug: 153699377
Bug: 154880035
Change-Id: I30c78c394c7d95a02d75d39101c414d37b824024
Signed-off-by: Alistair Delva <adelva@google.com>
Add hidden configs to GKI_HACKS_TO_FIX so they are enabled for loadable
GPU modules built out-of-tree.
Bug: 154525079
Test: rebuild kernel binary and pass checkvintf
Change-Id: I51871132b6a0bd1a55f5db7a9f90177cbc20ef86
Signed-off-by: Yiwei Zhang <zzyiwei@google.com>
To switch the QCOM_SCM driver to be loaded from a module,
we need to also switch QCOM_PDC and QCOM_ARM_SMMU to also
load from a module.
Bug: 153049053
Signed-off-by: John Stultz <john.stultz@linaro.org>
Change-Id: I0509628322b20dea5f7e16e973d93d369c0c2bff
When certain DRM drivers, such as virtio-gpu, are built out of tree,
they might depend on parts of DRM, such as DRM_TTM, that are not
included in all configs.
This CL adds the config to GKI_HACKS_TO_FIX, allowing DRM drivers that
use DRM_TTM to link successfully against GKI.
Test: Build and run virtio-gpu as an external module
Change-Id: I1ae869b7394a6059c0f3880bdc65a0b3ceb3e004
Bug: 153580313
Signed-off-by: Lingfeng Yang <lfy@google.com>
RPMSG is used on various SoC platforms downstream. Enable the subsystem
in the gki_defconfig. This also enables RPMSG_CHAR.
Bug: 146449535
Change-Id: Ib4a6e5a438681a9835398cdb8917045191e1fbe6
Signed-off-by: Alistair Delva <adelva@google.com>
One of the hidden defconfigs that must be enabled for SoC
devices to be able to register themselves with the SoC bus.
Bug: 152265482
Test: Builds
Signed-off-by: Sandeep Patil <sspatil@google.com>
Change-Id: Ia56f4b0618f8d64acdf44cbb346313119460f745
(cherry picked from commit 1f3f85de1c59b1cc03b0e0067855c367c97a7cc5)
The configuration is only selected by other drivers, so add it in
the list of hidden gki configurations. USB_PHY also autoselects
CONFIG_EXTCON, so EXTCON now disappears from gki_defconfig
Bug: 151969174
Test: Builds
Signed-off-by: Sandeep Patil <sspatil@google.com>
Change-Id: I0cc55d2f06fcb5a46daf0578629e1f0a653ac48b
With the recent changes to support clks as modules, as well as
efforts to get rpmh/rpmhpd/rpmpd working as a module the
GKI_QCOM_CLKS_CONFIGS entry is no longer needed.
So remove it!
Bug: 146449535
Change-Id: I364d57e8447a599a9ca838b6f5d9cd23d9a1353e
Signed-off-by: John Stultz <john.stultz@linaro.org>
Cuttlefish and Goldfish both rely on the virtio console and
HVC_DRIVER is a binary config which is a dep for that driver.
Bug: 150620456
Test: Treehugger
Signed-off-by: Ram Muthiah <rammuthiah@google.com>
Change-Id: I54e7d95da4fcddd534d0f0f48b5c546cd2f2718d
There was a desire to see COMMON_CLK_QCOM set as a module
instead of building it in. So this patch removes it and
a few dependent modules from the built in list, and adds
them to the db845c_gki.fragment file as modules.
Bug: 149414941
Change-Id: I6fecab5f529c5db1d7788e330ce8815dc22c4d1f
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Saravana Kannan <saravanak@google.com>
SND_VMASTER must be builtin to the GKI for leaf configs of this
config such as SND_8X0 and AC_97 to be loaded as modules.
CRYPTO_ENGINE is now used by Android userspace.
Enable as part of GKI.
Bug: 130424539
Bug: 139431025
Test: Treehugger
Change-Id: I2cd422a88a3ec0bc6bbf59d9faa3616e42cc2038
Signed-off-by: Ram Muthiah <rammuthiah@google.com>
QCOM_SCM is needed to be able to boot on db845c and is normally
selected by modules such as QCOM_RMTFS_MEM.
This dependency got accidentally dropped before the holidays
when I moved the QCOM_RMTFS_MEM to a module instead of a gki
built in.
Signed-off-by: John Stultz <john.stultz@linaro.org>
Bug: 146449535
Change-Id: Icf9b6fec1d45247ee67e50d6c13c6e410e3d8c12
Add a Kconfig.gki option to enable qcom clk drivers.
This is needed as the qcom clk drivers are also used as power
domain sources. Unfortunately the powerdomain logic stops
returning EPROBE_DEFER when initcall_done is true (after
initcalls, but before modules load). This results in the drivers
(in our case, the smmu which is built in) that depend on the clk
provided power-domain to fail to load.
This issue seems to be due to the following commit, which when
reverted resolve the problem and allows dependent drivers to
still load once the clk modules are loaded:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e01afc32502555beb2057ddd74401be38475d851
I'm working with the patch author and Bjorn to try to find
a good upstream solution, but in the meantime, set the qcom
clks to =y for now.
Bug: 146449535
Change-Id: Iaf6655a22243335083c0f7b3a673e795cea68021
Signed-off-by: John Stultz <john.stultz@linaro.org>
This allows pinctrl drivers to work as a module on qcom hardware
Change-Id: I6df13dd45985751afcdaa7c27c3674f06bbbc083
Bug: 146449535
Signed-off-by: John Stultz <john.stultz@linaro.org>
In order to work with the modularized DRM_MSM driver, we
need to enable CONFIG_WANT_DEV_COREDUMP
Change-Id: Ieeab292a0aad851edd49d368156fc18fe78fccb7
Bug: 146449535
Signed-off-by: John Stultz <john.stultz@linaro.org>
Fix missing dependency for CONFIG_VIDEOBUF2_CORE for
'allmodconfig' builds. Since CONFIG_MEDIA_SUPPORT is
always selected, drop it from gki_defconfig
Fixes: 649238947d ("ANDROID: init: GKI: enable hidden configs
for media")
Test: successful 'allmodconfig' build
Change-Id: I1dd5ff154c1aeb90457c23dc233cb32595bd9bed
Signed-off-by: Todd Kjos <tkjos@google.com>
Add hidden configs to GKI_HACKS_to_fIX so they are
enabled for loadable media modules build out-of-tree
Bug: 142892658
Test: Built for arm64/x86_64. Boot on cuttlefish
Change-Id: I137a89f69822332324a1f4a3a1150be9cd66709d
Signed-off-by: Todd Kjos <tkjos@google.com>