* [PATCH v11 0/2] spi: loongson: add bus driver for the loongson spi
@ 2023-05-22 7:10 Yinbo Zhu
2023-05-22 7:10 ` [PATCH v11 1/2] dt-bindings: spi: add " Yinbo Zhu
` (3 more replies)
0 siblings, 4 replies; 29+ messages in thread
From: Yinbo Zhu @ 2023-05-22 7:10 UTC (permalink / raw)
To: Mark Brown, Rob Herring, Krzysztof Kozlowski, linux-spi,
devicetree, linux-kernel
Cc: Jianmin Lv, wanghongliang, Liu Peibao, loongson-kernel, Yinbo Zhu
Loongson platform support spi hardware controller and this series patch
was to add spi driver and binding support.
Change in v2:
1. This [PATCH v2 1/2] dt-bindings patch need depend on clk patch:
https://
lore.kernel.org/all/20230307115022.12846-1-zhuyinbo@loongson.cn/
2. Remove the clock-names in spi yaml file.
3. Add "loongson,ls7a-spi" compatible in spi yaml file.
4. Add an || COMPILE_TEST and drop && PCI then add some CONFIG_PCI
macro to limit some pci code.
5. Make the spi driver top code comment block that use C++ style.
6. Drop spi->max_speed_hz.
7. Add a spin_lock for loongson_spi_setup.
8. Add a timeout and cpu_relax() in loongson_spi_write_read_8bit.
9. Add spi_transfer_one and drop transfer and rework entire spi
driver that include some necessary changes.
10. Use module_init replace subsys_initcall.
11. About PM interface that I don't find any issue so I don't add
any changes.
Change in v3:
1. This [PATCH v3 1/2] dt-bindings patch need depend on clk patch:
https://
lore.kernel.org/all/20230323025229.2971-1-zhuyinbo@loongson.cn/
2. Drop the unused blank line in loongson,ls-spi.yaml file.
3. Replace clock minItems with clock maxItems in yaml file.
4. Separate spi driver into platform module, pci module and core
module.
5. Replace DIV_ROUND_UP with DIV_ROUND_UP_ULL to fix compile error
"undefined reference to `__aeabi_uldivmod'" and "__udivdi3 undefined"
that reported by test robot.
6. Remove the spin lock.
7. Clear the loongson_spi->hz and loongson_spi->mode in setup to fixup
the issue that multiple spi device transfer that maybe cause spi was
be misconfigured.
Change in v4:
1. This [PATCH v4 1/2] dt-bindings patch need depend on clk patch:
https://
lore.kernel.org/all/20230323025229.2971-1-zhuyinbo@loongson.cn/
2. Add "#include <linux/io.h>" in spi-loongson-core.c for fix the compile
issue which devm_ioremap no declaration.
3. Add "EXPORT_SYMBOL_GPL(loongson_spi_dev_pm_ops)" in
spi-loongson-core.c for fix the compile issue which
loongson_spi_dev_pm_ops undefined.
Change in v5:
1. Get rid of the clock patch's dependency and open-code the clock IDs.
2. Fixup checkpatch issue that by installed ply and gitpython package
locally, but this series of patch's code doesn't have any change.
Change in v6:
1. Remove the "#include <dt-bindings/clock/loongson,ls2k-clk.h>" in
yaml file.
Change in v7:
1. Remove the "loongson,ls7a-spi" and change yaml file name as
"loongson,ls2k-spi.yaml".
2. Use module_pci_driver and module_platform_driver to replace
module_init and module_exit.
3. Drop ".owner = THIS_MODULE" in spi platform driver.
4. Add devm_spi_alloc_master devm_spi_register_master to simplify code.
5. Add pci_disable_device() in loongson_spi_pci_unregister.
Change in v8:
1. Add reviewed-by information for spi bindings patch.
2. Fixup the uncorrect spi yaml file path in MAINTAINERS file.
3. Add spi_master_suspend and spi_master_resume in spi pm function.
Change in v9:
1. Make spi_master_suspend go first in pm suspend.
Change in v10:
1. Fix the compile issue about of_node_get and of_get_property no
declaration.
2. set config SPI_LOONGSON_CORE invisible.
3. Captial "spi" in commit log and Kconfig file.
4. Write header files in alphabetical order.
5. Use clamp_val, GENMASK() and BIT() in spi clock setting.
6. Optimize clock and mode setting code.
7. Use readb_poll_timeout in loongson_spi_write_read_8bit.
8. Remove some useless dmesg print.
9. Use device_set_node replace of_node_get.
10. Use dev_err_probe in code.
11. Use devm_clk_get_optional replace devm_clk_get.
12. Remove SPI_NO_CS for drop 2k500 non common type spi.
13. Use pcim_enable_device() and pcim_iomap_regions() in spi pci
driver.
14. Passing the remapped address in loongson_spi_init_master.
15. Remove the useless goto flag "err_out".
16. Use pci vendor id in pci_ids.h.
17. Use devm_platform_ioremap_resource in spi platform driver.
18. Remove the useless item in pci_device_id.
19. Remove the inned comma in of_device_id.
20. Add some headfile in spi_loongson.h.
21. Remove the useless extern for loongson_spi_init_master in
spi_loongson.h.
Change in v11:
1. Use spi_get_chipselect() to replace all spi->chip_select in
spi driver
Yinbo Zhu (2):
dt-bindings: spi: add loongson spi
spi: loongson: add bus driver for the loongson spi controller
.../bindings/spi/loongson,ls2k-spi.yaml | 41 +++
MAINTAINERS | 10 +
drivers/spi/Kconfig | 26 ++
drivers/spi/Makefile | 3 +
drivers/spi/spi-loongson-core.c | 279 ++++++++++++++++++
drivers/spi/spi-loongson-pci.c | 61 ++++
drivers/spi/spi-loongson-plat.c | 46 +++
drivers/spi/spi-loongson.h | 47 +++
8 files changed, 513 insertions(+)
--
2.20.1
^ permalink raw reply [flat|nested] 29+ messages in thread* [PATCH v11 1/2] dt-bindings: spi: add loongson spi 2023-05-22 7:10 [PATCH v11 0/2] spi: loongson: add bus driver for the loongson spi Yinbo Zhu @ 2023-05-22 7:10 ` Yinbo Zhu 2023-05-24 8:56 ` Conor Dooley 2023-05-22 7:10 ` [PATCH v11 2/2] spi: loongson: add bus driver for the loongson spi controller Yinbo Zhu ` (2 subsequent siblings) 3 siblings, 1 reply; 29+ messages in thread From: Yinbo Zhu @ 2023-05-22 7:10 UTC (permalink / raw) To: Mark Brown, Rob Herring, Krzysztof Kozlowski, linux-spi, devicetree, linux-kernel Cc: Jianmin Lv, wanghongliang, Liu Peibao, loongson-kernel, Yinbo Zhu, Krzysztof Kozlowski Add the Loongson platform spi binding with DT schema format using json-schema. Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> --- .../bindings/spi/loongson,ls2k-spi.yaml | 41 +++++++++++++++++++ MAINTAINERS | 6 +++ 2 files changed, 47 insertions(+) create mode 100644 Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml diff --git a/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml b/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml new file mode 100644 index 000000000000..d0be6e5378d7 --- /dev/null +++ b/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml @@ -0,0 +1,41 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/spi/loongson,ls2k-spi.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Loongson SPI controller + +maintainers: + - Yinbo Zhu <zhuyinbo@loongson.cn> + +allOf: + - $ref: /schemas/spi/spi-controller.yaml# + +properties: + compatible: + enum: + - loongson,ls2k-spi + + reg: + maxItems: 1 + + clocks: + maxItems: 1 + +required: + - compatible + - reg + - clocks + +unevaluatedProperties: false + +examples: + - | + spi0: spi@1fff0220{ + compatible = "loongson,ls2k-spi"; + reg = <0x1fff0220 0x10>; + clocks = <&clk 17>; + #address-cells = <1>; + #size-cells = <0>; + }; diff --git a/MAINTAINERS b/MAINTAINERS index fea4317faf75..e49c04c53c99 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -12201,6 +12201,12 @@ F: Documentation/devicetree/bindings/clock/loongson,ls2k-clk.yaml F: drivers/clk/clk-loongson2.c F: include/dt-bindings/clock/loongson,ls2k-clk.h +LOONGSON SPI DRIVER +M: Yinbo Zhu <zhuyinbo@loongson.cn> +L: linux-spi@vger.kernel.org +S: Maintained +F: Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml + LSILOGIC MPT FUSION DRIVERS (FC/SAS/SPI) M: Sathya Prakash <sathya.prakash@broadcom.com> M: Sreekanth Reddy <sreekanth.reddy@broadcom.com> -- 2.20.1 ^ permalink raw reply related [flat|nested] 29+ messages in thread
* Re: [PATCH v11 1/2] dt-bindings: spi: add loongson spi 2023-05-22 7:10 ` [PATCH v11 1/2] dt-bindings: spi: add " Yinbo Zhu @ 2023-05-24 8:56 ` Conor Dooley 2023-05-24 9:44 ` zhuyinbo 0 siblings, 1 reply; 29+ messages in thread From: Conor Dooley @ 2023-05-24 8:56 UTC (permalink / raw) To: Yinbo Zhu Cc: Mark Brown, Rob Herring, Krzysztof Kozlowski, linux-spi, devicetree, linux-kernel, Jianmin Lv, wanghongliang, Liu Peibao, loongson-kernel, Krzysztof Kozlowski [-- Attachment #1: Type: text/plain, Size: 1584 bytes --] On Mon, May 22, 2023 at 03:10:29PM +0800, Yinbo Zhu wrote: > Add the Loongson platform spi binding with DT schema format using > json-schema. > > Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn> > Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > --- > .../bindings/spi/loongson,ls2k-spi.yaml | 41 +++++++++++++++++++ > MAINTAINERS | 6 +++ > 2 files changed, 47 insertions(+) > create mode 100644 Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml > > diff --git a/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml b/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml > new file mode 100644 > index 000000000000..d0be6e5378d7 > --- /dev/null > +++ b/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml > @@ -0,0 +1,41 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/spi/loongson,ls2k-spi.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Loongson SPI controller > + > +maintainers: > + - Yinbo Zhu <zhuyinbo@loongson.cn> > + > +allOf: > + - $ref: /schemas/spi/spi-controller.yaml# > + > +properties: > + compatible: > + enum: > + - loongson,ls2k-spi I am sorry to jump in here at such a late stage with a (potentially) trivial question. "ls2k" is the SoC family rather than a specific model as far as I understand. The answer is probably yes, but do all SoCs in the family have an identical version of the IP? Cheers, Conor. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --] ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [PATCH v11 1/2] dt-bindings: spi: add loongson spi 2023-05-24 8:56 ` Conor Dooley @ 2023-05-24 9:44 ` zhuyinbo 2023-05-24 10:29 ` Conor Dooley 0 siblings, 1 reply; 29+ messages in thread From: zhuyinbo @ 2023-05-24 9:44 UTC (permalink / raw) To: Conor Dooley Cc: Mark Brown, Rob Herring, Krzysztof Kozlowski, linux-spi, devicetree, linux-kernel, Jianmin Lv, wanghongliang, Liu Peibao, loongson-kernel, Krzysztof Kozlowski, zhuyinbo 在 2023/5/24 下午4:56, Conor Dooley 写道: > On Mon, May 22, 2023 at 03:10:29PM +0800, Yinbo Zhu wrote: >> Add the Loongson platform spi binding with DT schema format using >> json-schema. >> >> Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn> >> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> >> --- >> .../bindings/spi/loongson,ls2k-spi.yaml | 41 +++++++++++++++++++ >> MAINTAINERS | 6 +++ >> 2 files changed, 47 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml >> >> diff --git a/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml b/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml >> new file mode 100644 >> index 000000000000..d0be6e5378d7 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml >> @@ -0,0 +1,41 @@ >> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/spi/loongson,ls2k-spi.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: Loongson SPI controller >> + >> +maintainers: >> + - Yinbo Zhu <zhuyinbo@loongson.cn> >> + >> +allOf: >> + - $ref: /schemas/spi/spi-controller.yaml# >> + >> +properties: >> + compatible: >> + enum: >> + - loongson,ls2k-spi > > I am sorry to jump in here at such a late stage with a (potentially) > trivial question. "ls2k" is the SoC family rather than a specific model > as far as I understand. > The answer is probably yes, but do all SoCs in the family have an > identical version of the IP? No, but the spi supported by this loongson spi driver are all the same identical version, and other type or verion spi will be supported as needed in the future. Thanks. ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [PATCH v11 1/2] dt-bindings: spi: add loongson spi 2023-05-24 9:44 ` zhuyinbo @ 2023-05-24 10:29 ` Conor Dooley 2023-05-25 2:22 ` zhuyinbo 0 siblings, 1 reply; 29+ messages in thread From: Conor Dooley @ 2023-05-24 10:29 UTC (permalink / raw) To: zhuyinbo Cc: Mark Brown, Rob Herring, Krzysztof Kozlowski, linux-spi, devicetree, linux-kernel, Jianmin Lv, wanghongliang, Liu Peibao, loongson-kernel, Krzysztof Kozlowski [-- Attachment #1: Type: text/plain, Size: 2288 bytes --] On Wed, May 24, 2023 at 05:44:38PM +0800, zhuyinbo wrote: > > > 在 2023/5/24 下午4:56, Conor Dooley 写道: > > On Mon, May 22, 2023 at 03:10:29PM +0800, Yinbo Zhu wrote: > > > Add the Loongson platform spi binding with DT schema format using > > > json-schema. > > > > > > Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn> > > > Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > > > --- > > > .../bindings/spi/loongson,ls2k-spi.yaml | 41 +++++++++++++++++++ > > > MAINTAINERS | 6 +++ > > > 2 files changed, 47 insertions(+) > > > create mode 100644 Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml > > > > > > diff --git a/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml b/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml > > > new file mode 100644 > > > index 000000000000..d0be6e5378d7 > > > --- /dev/null > > > +++ b/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml > > > @@ -0,0 +1,41 @@ > > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > > > +%YAML 1.2 > > > +--- > > > +$id: http://devicetree.org/schemas/spi/loongson,ls2k-spi.yaml# > > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > > + > > > +title: Loongson SPI controller > > > + > > > +maintainers: > > > + - Yinbo Zhu <zhuyinbo@loongson.cn> > > > + > > > +allOf: > > > + - $ref: /schemas/spi/spi-controller.yaml# > > > + > > > +properties: > > > + compatible: > > > + enum: > > > + - loongson,ls2k-spi > > > > I am sorry to jump in here at such a late stage with a (potentially) > > trivial question. "ls2k" is the SoC family rather than a specific model > > as far as I understand. > > The answer is probably yes, but do all SoCs in the family have an > > identical version of the IP? > > > No, but the spi supported by this loongson spi driver are all the same > identical version, and other type or verion spi will be supported as > needed in the future. Does having a catch-all compatible make sense then when not all SoCs in the ls2k family will actually be able to use this driver? Or am I misunderstanding and all ls2k SoCs do work with this driver and you were talking about other, future products? [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --] ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [PATCH v11 1/2] dt-bindings: spi: add loongson spi 2023-05-24 10:29 ` Conor Dooley @ 2023-05-25 2:22 ` zhuyinbo [not found] ` <2196dd29-93ee-00f7-65b4-ede73aa8ba77@linaro.org> [not found] ` <69d355ff-90e1-09d2-d4ff-0d7dedc8addb@linaro.org> 0 siblings, 2 replies; 29+ messages in thread From: zhuyinbo @ 2023-05-25 2:22 UTC (permalink / raw) To: Conor Dooley Cc: Mark Brown, Rob Herring, Krzysztof Kozlowski, linux-spi, devicetree, linux-kernel, Jianmin Lv, wanghongliang, Liu Peibao, loongson-kernel, Krzysztof Kozlowski, zhuyinbo 在 2023/5/24 下午6:29, Conor Dooley 写道: > On Wed, May 24, 2023 at 05:44:38PM +0800, zhuyinbo wrote: >> >> >> 在 2023/5/24 下午4:56, Conor Dooley 写道: >>> On Mon, May 22, 2023 at 03:10:29PM +0800, Yinbo Zhu wrote: >>>> Add the Loongson platform spi binding with DT schema format using >>>> json-schema. >>>> >>>> Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn> >>>> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> >>>> --- >>>> .../bindings/spi/loongson,ls2k-spi.yaml | 41 +++++++++++++++++++ >>>> MAINTAINERS | 6 +++ >>>> 2 files changed, 47 insertions(+) >>>> create mode 100644 Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml >>>> >>>> diff --git a/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml b/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml >>>> new file mode 100644 >>>> index 000000000000..d0be6e5378d7 >>>> --- /dev/null >>>> +++ b/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml >>>> @@ -0,0 +1,41 @@ >>>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) >>>> +%YAML 1.2 >>>> +--- >>>> +$id: http://devicetree.org/schemas/spi/loongson,ls2k-spi.yaml# >>>> +$schema: http://devicetree.org/meta-schemas/core.yaml# >>>> + >>>> +title: Loongson SPI controller >>>> + >>>> +maintainers: >>>> + - Yinbo Zhu <zhuyinbo@loongson.cn> >>>> + >>>> +allOf: >>>> + - $ref: /schemas/spi/spi-controller.yaml# >>>> + >>>> +properties: >>>> + compatible: >>>> + enum: >>>> + - loongson,ls2k-spi >>> >>> I am sorry to jump in here at such a late stage with a (potentially) >>> trivial question. "ls2k" is the SoC family rather than a specific model >>> as far as I understand. >>> The answer is probably yes, but do all SoCs in the family have an >>> identical version of the IP? >> >> >> No, but the spi supported by this loongson spi driver are all the same >> identical version, and other type or verion spi will be supported as >> needed in the future. > > Does having a catch-all compatible make sense then when not all SoCs in > the ls2k family will actually be able to use this driver? Yes, it is make sense as it can reduce the workload of the community. For the Loongson platform, the versions of spi peripherals are almost the same, except for a few or individual SoCs. And we have also discussed compatible internally, and we tend to define it this way. > Or am I misunderstanding and all ls2k SoCs do work with this driver and > you were talking about other, future products? Actually, in 2k500 has one special type spi was only one cs and their's register definition was different from common type spi thus this driver doesn't support but this driver can support another common type spi in 2k500. for this special type spi I will add support as needed in the future. Thanks, Yinbo. > ^ permalink raw reply [flat|nested] 29+ messages in thread
[parent not found: <2196dd29-93ee-00f7-65b4-ede73aa8ba77@linaro.org>]
* Re: [PATCH v11 1/2] dt-bindings: spi: add loongson spi [not found] ` <2196dd29-93ee-00f7-65b4-ede73aa8ba77@linaro.org> @ 2023-06-01 9:51 ` zhuyinbo 2023-06-01 15:30 ` Krzysztof Kozlowski 0 siblings, 1 reply; 29+ messages in thread From: zhuyinbo @ 2023-06-01 9:51 UTC (permalink / raw) To: Krzysztof Kozlowski, Conor Dooley Cc: Mark Brown, Rob Herring, Krzysztof Kozlowski, linux-spi, devicetree, linux-kernel, Jianmin Lv, wanghongliang, Liu Peibao, loongson-kernel, zhuyinbo 在 2023/6/1 上午3:46, Krzysztof Kozlowski 写道: > On 25/05/2023 04:22, zhuyinbo wrote: >> >> >> 在 2023/5/24 下午6:29, Conor Dooley 写道: >>> On Wed, May 24, 2023 at 05:44:38PM +0800, zhuyinbo wrote: >>>> >>>> >>>> 在 2023/5/24 下午4:56, Conor Dooley 写道: >>>>> On Mon, May 22, 2023 at 03:10:29PM +0800, Yinbo Zhu wrote: >>>>>> Add the Loongson platform spi binding with DT schema format using >>>>>> json-schema. >>>>>> >>>>>> Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn> >>>>>> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> >>>>>> --- >>>>>> .../bindings/spi/loongson,ls2k-spi.yaml | 41 +++++++++++++++++++ >>>>>> MAINTAINERS | 6 +++ >>>>>> 2 files changed, 47 insertions(+) >>>>>> create mode 100644 Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml >>>>>> >>>>>> diff --git a/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml b/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml >>>>>> new file mode 100644 >>>>>> index 000000000000..d0be6e5378d7 >>>>>> --- /dev/null >>>>>> +++ b/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml >>>>>> @@ -0,0 +1,41 @@ >>>>>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) >>>>>> +%YAML 1.2 >>>>>> +--- >>>>>> +$id: http://devicetree.org/schemas/spi/loongson,ls2k-spi.yaml# >>>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml# >>>>>> + >>>>>> +title: Loongson SPI controller >>>>>> + >>>>>> +maintainers: >>>>>> + - Yinbo Zhu <zhuyinbo@loongson.cn> >>>>>> + >>>>>> +allOf: >>>>>> + - $ref: /schemas/spi/spi-controller.yaml# >>>>>> + >>>>>> +properties: >>>>>> + compatible: >>>>>> + enum: >>>>>> + - loongson,ls2k-spi >>>>> >>>>> I am sorry to jump in here at such a late stage with a (potentially) >>>>> trivial question. "ls2k" is the SoC family rather than a specific model >>>>> as far as I understand. >>>>> The answer is probably yes, but do all SoCs in the family have an >>>>> identical version of the IP? >>>> >>>> >>>> No, but the spi supported by this loongson spi driver are all the same >>>> identical version, and other type or verion spi will be supported as >>>> needed in the future. >>> >>> Does having a catch-all compatible make sense then when not all SoCs in >>> the ls2k family will actually be able to use this driver? >> >> >> Yes, it is make sense as it can reduce the workload of the community. >> For the Loongson platform, the versions of spi peripherals are almost >> the same, except for a few or individual SoCs. And we have also >> discussed compatible internally, and we tend to define it this way. > > So you have chosen different path than what's clearly recommended by > community, existing experience and documentation: > > https://elixir.bootlin.com/linux/v6.1-rc1/source/Documentation/devicetree/bindings/writing-bindings.rst#L42 > > Family names are not accepted as specific compatibles. Whenever they > were accepted, it lead to problems. All the time. Thank you for your documentation and advice and the Loongson platform have loongson-2h (ls2h), loongson-2k (ls2k), loongson-2p (ls2p) or other series SoC, which loongson-2 seems to be the family name you mentioned and the "loongson,ls2k-spi" should be a speific compatible name. > > https://lore.kernel.org/all/20220822181701.GA89665-robh@kernel.org/ > https://lore.kernel.org/all/78651e07-6b3e-4243-8e1f-fcd1dfb3ffe1@www.fastmail.com/ > https://lore.kernel.org/all/288f56ba9cfad46354203b7698babe91@walle.cc/ > https://lore.kernel.org/all/106e443a-e765-51fe-b556-e4e7e2aa771c@linaro.org/ > and many many more discussions. > > You should choose carefully, because we will keep NAK-ing adding > properties to circumvent missing compatibles. I have read the documention and patch link that you mentioned and it seems to advice that We don't have wildcard names in the compatible string and use wildcard names that will cause issue. and the compatible "loongson,ls2k-spi" that wasn't a wildcard names, and if the loongson-2k spi controller hardware upgraded or changed the I will use "loongson,ls2k-spi-version" as a compatible, such as, "loongson,ls2k-spi-v1.1", "loongson,ls2k-spi-v1.1a" or other. >> >>> Or am I misunderstanding and all ls2k SoCs do work with this driver and >>> you were talking about other, future products? >> >> Actually, in 2k500 has one special type spi was only one cs and their's >> register definition was different from common type spi thus this driver >> doesn't support but this driver can support another common type spi in >> 2k500. for this special type spi I will add support as needed in the >> future. > > Bindings are for hardware, not driver. What does your driver support or > does not, matters less. okay, I got it, and the loongson spi bindings was for loongson spi controller hardware. if the spi controller hardware not changed in different ls2k SoC and the spi compatible should be same thus loongson spi compatible seems to be adhere to the bindings aggrement. Thanks ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [PATCH v11 1/2] dt-bindings: spi: add loongson spi 2023-06-01 9:51 ` zhuyinbo @ 2023-06-01 15:30 ` Krzysztof Kozlowski 2023-06-02 6:46 ` zhuyinbo 0 siblings, 1 reply; 29+ messages in thread From: Krzysztof Kozlowski @ 2023-06-01 15:30 UTC (permalink / raw) To: zhuyinbo, Conor Dooley Cc: Mark Brown, Rob Herring, Krzysztof Kozlowski, linux-spi, devicetree, linux-kernel, Jianmin Lv, wanghongliang, Liu Peibao, loongson-kernel On 01/06/2023 11:51, zhuyinbo wrote: >>> Yes, it is make sense as it can reduce the workload of the community. >>> For the Loongson platform, the versions of spi peripherals are almost >>> the same, except for a few or individual SoCs. And we have also >>> discussed compatible internally, and we tend to define it this way. >> >> So you have chosen different path than what's clearly recommended by >> community, existing experience and documentation: >> >> https://elixir.bootlin.com/linux/v6.1-rc1/source/Documentation/devicetree/bindings/writing-bindings.rst#L42 >> >> Family names are not accepted as specific compatibles. Whenever they >> were accepted, it lead to problems. All the time. > > > Thank you for your documentation and advice and the Loongson platform > have loongson-2h (ls2h), loongson-2k (ls2k), loongson-2p (ls2p) or other > series SoC, which loongson-2 seems to be the family name you mentioned > and the "loongson,ls2k-spi" should be a speific compatible name. > >> >> https://lore.kernel.org/all/20220822181701.GA89665-robh@kernel.org/ >> https://lore.kernel.org/all/78651e07-6b3e-4243-8e1f-fcd1dfb3ffe1@www.fastmail.com/ >> https://lore.kernel.org/all/288f56ba9cfad46354203b7698babe91@walle.cc/ >> https://lore.kernel.org/all/106e443a-e765-51fe-b556-e4e7e2aa771c@linaro.org/ >> and many many more discussions. >> >> You should choose carefully, because we will keep NAK-ing adding >> properties to circumvent missing compatibles. > > > I have read the documention and patch link that you mentioned and it > seems to advice that We don't have wildcard names in the compatible > string and use wildcard names that will cause issue. and the compatible > "loongson,ls2k-spi" that wasn't a wildcard names, and if the loongson-2k > spi controller hardware upgraded or changed the I will use > "loongson,ls2k-spi-version" as a compatible, such as, > "loongson,ls2k-spi-v1.1", "loongson,ls2k-spi-v1.1a" or other. Versions? Why? They received a lot of comments in the past, let me just paste to avoid repeating the same: https://lore.kernel.org/all/20220926231238.GA3132756-robh@kernel.org/ (and many more discussions on devicetree mailing list) > >>> >>>> Or am I misunderstanding and all ls2k SoCs do work with this driver and >>>> you were talking about other, future products? >>> >>> Actually, in 2k500 has one special type spi was only one cs and their's >>> register definition was different from common type spi thus this driver >>> doesn't support but this driver can support another common type spi in >>> 2k500. for this special type spi I will add support as needed in the >>> future. >> >> Bindings are for hardware, not driver. What does your driver support or >> does not, matters less. > > > okay, I got it, and the loongson spi bindings was for loongson spi > controller hardware. if the spi controller hardware not changed in > different ls2k SoC and the spi compatible should be same thus loongson > spi compatible seems to be adhere to the bindings aggrement. Specific compatible - yes. Unspecific - not, because you disregard the clear message in the guideline. Best regards, Krzysztof ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [PATCH v11 1/2] dt-bindings: spi: add loongson spi 2023-06-01 15:30 ` Krzysztof Kozlowski @ 2023-06-02 6:46 ` zhuyinbo 0 siblings, 0 replies; 29+ messages in thread From: zhuyinbo @ 2023-06-02 6:46 UTC (permalink / raw) To: Krzysztof Kozlowski, Conor Dooley Cc: Mark Brown, Rob Herring, Krzysztof Kozlowski, linux-spi, devicetree, linux-kernel, Jianmin Lv, wanghongliang, Liu Peibao, loongson-kernel, zhuyinbo 在 2023/6/1 下午11:30, Krzysztof Kozlowski 写道: > On 01/06/2023 11:51, zhuyinbo wrote: >>>> Yes, it is make sense as it can reduce the workload of the community. >>>> For the Loongson platform, the versions of spi peripherals are almost >>>> the same, except for a few or individual SoCs. And we have also >>>> discussed compatible internally, and we tend to define it this way. >>> >>> So you have chosen different path than what's clearly recommended by >>> community, existing experience and documentation: >>> >>> https://elixir.bootlin.com/linux/v6.1-rc1/source/Documentation/devicetree/bindings/writing-bindings.rst#L42 >>> >>> Family names are not accepted as specific compatibles. Whenever they >>> were accepted, it lead to problems. All the time. >> >> >> Thank you for your documentation and advice and the Loongson platform >> have loongson-2h (ls2h), loongson-2k (ls2k), loongson-2p (ls2p) or other >> series SoC, which loongson-2 seems to be the family name you mentioned >> and the "loongson,ls2k-spi" should be a speific compatible name. >> >>> >>> https://lore.kernel.org/all/20220822181701.GA89665-robh@kernel.org/ >>> https://lore.kernel.org/all/78651e07-6b3e-4243-8e1f-fcd1dfb3ffe1@www.fastmail.com/ >>> https://lore.kernel.org/all/288f56ba9cfad46354203b7698babe91@walle.cc/ >>> https://lore.kernel.org/all/106e443a-e765-51fe-b556-e4e7e2aa771c@linaro.org/ >>> and many many more discussions. >>> >>> You should choose carefully, because we will keep NAK-ing adding >>> properties to circumvent missing compatibles. >> >> >> I have read the documention and patch link that you mentioned and it >> seems to advice that We don't have wildcard names in the compatible >> string and use wildcard names that will cause issue. and the compatible >> "loongson,ls2k-spi" that wasn't a wildcard names, and if the loongson-2k >> spi controller hardware upgraded or changed the I will use >> "loongson,ls2k-spi-version" as a compatible, such as, >> "loongson,ls2k-spi-v1.1", "loongson,ls2k-spi-v1.1a" or other. > > Versions? Why? They received a lot of comments in the past, let me just > paste to avoid repeating the same: > > https://lore.kernel.org/all/20220926231238.GA3132756-robh@kernel.org/ > > (and many more discussions on devicetree mailing list) > I didn't notice the following words earlier about compatible in documention and I will use "loongson,ls2k1000-spi" as ls2k1000 SoC spi compatible, which is a very specific compatible. "For sub-blocks/components of bigger device (e.g. SoC blocks) use rather device-based compatible (e.g. SoC-based compatible), instead of custom versioning of that component.For example use "vendor,soc1234-i2c" instead of "vendor,i2c-v2". >> >>>> >>>>> Or am I misunderstanding and all ls2k SoCs do work with this driver and >>>>> you were talking about other, future products? >>>> >>>> Actually, in 2k500 has one special type spi was only one cs and their's >>>> register definition was different from common type spi thus this driver >>>> doesn't support but this driver can support another common type spi in >>>> 2k500. for this special type spi I will add support as needed in the >>>> future. >>> >>> Bindings are for hardware, not driver. What does your driver support or >>> does not, matters less. >> >> >> okay, I got it, and the loongson spi bindings was for loongson spi >> controller hardware. if the spi controller hardware not changed in >> different ls2k SoC and the spi compatible should be same thus loongson >> spi compatible seems to be adhere to the bindings aggrement. > > Specific compatible - yes. Unspecific - not, because you disregard the > clear message in the guideline. okay, I got it. Thanks. ^ permalink raw reply [flat|nested] 29+ messages in thread
[parent not found: <69d355ff-90e1-09d2-d4ff-0d7dedc8addb@linaro.org>]
* Re: [PATCH v11 1/2] dt-bindings: spi: add loongson spi [not found] ` <69d355ff-90e1-09d2-d4ff-0d7dedc8addb@linaro.org> @ 2023-06-01 11:38 ` zhuyinbo 0 siblings, 0 replies; 29+ messages in thread From: zhuyinbo @ 2023-06-01 11:38 UTC (permalink / raw) To: Krzysztof Kozlowski, Conor Dooley Cc: Mark Brown, Rob Herring, Krzysztof Kozlowski, linux-spi, devicetree, linux-kernel, Jianmin Lv, wanghongliang, Liu Peibao, loongson-kernel, zhuyinbo 在 2023/6/1 上午4:06, Krzysztof Kozlowski 写道: > On 25/05/2023 04:22, zhuyinbo wrote: >> >> >> 在 2023/5/24 下午6:29, Conor Dooley 写道: >>> On Wed, May 24, 2023 at 05:44:38PM +0800, zhuyinbo wrote: >>>> >>>> >>>> 在 2023/5/24 下午4:56, Conor Dooley 写道: >>>>> On Mon, May 22, 2023 at 03:10:29PM +0800, Yinbo Zhu wrote: >>>>>> Add the Loongson platform spi binding with DT schema format using >>>>>> json-schema. >>>>>> >>>>>> Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn> >>>>>> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> >>>>>> --- >>>>>> .../bindings/spi/loongson,ls2k-spi.yaml | 41 +++++++++++++++++++ >>>>>> MAINTAINERS | 6 +++ >>>>>> 2 files changed, 47 insertions(+) >>>>>> create mode 100644 Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml >>>>>> >>>>>> diff --git a/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml b/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml >>>>>> new file mode 100644 >>>>>> index 000000000000..d0be6e5378d7 >>>>>> --- /dev/null >>>>>> +++ b/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml >>>>>> @@ -0,0 +1,41 @@ >>>>>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) >>>>>> +%YAML 1.2 >>>>>> +--- >>>>>> +$id: http://devicetree.org/schemas/spi/loongson,ls2k-spi.yaml# >>>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml# >>>>>> + >>>>>> +title: Loongson SPI controller >>>>>> + >>>>>> +maintainers: >>>>>> + - Yinbo Zhu <zhuyinbo@loongson.cn> >>>>>> + >>>>>> +allOf: >>>>>> + - $ref: /schemas/spi/spi-controller.yaml# >>>>>> + >>>>>> +properties: >>>>>> + compatible: >>>>>> + enum: >>>>>> + - loongson,ls2k-spi >>>>> >>>>> I am sorry to jump in here at such a late stage with a (potentially) >>>>> trivial question. "ls2k" is the SoC family rather than a specific model >>>>> as far as I understand. >>>>> The answer is probably yes, but do all SoCs in the family have an >>>>> identical version of the IP? >>>> >>>> >>>> No, but the spi supported by this loongson spi driver are all the same >>>> identical version, and other type or verion spi will be supported as >>>> needed in the future. >>> >>> Does having a catch-all compatible make sense then when not all SoCs in >>> the ls2k family will actually be able to use this driver? >> >> >> Yes, it is make sense as it can reduce the workload of the community. > > I missed it - that's a great comment. Hm, I don't know... Reviewing > Loongson patches is quite a work, so I don't see here reduced workload. If we do not consider the differences in SPI hardware and consider the differences in SoC, it will result for each new a SoC adaptation, a new compatible patch needs to be submitted to the community but spi hardware was same and that will increase the workload of the community, It seems to be more appropriate that use same compatible when spi hardware was same and use different compatible when spi hardware was different. > > Please read existing guidelines: > https://elixir.bootlin.com/linux/v6.1-rc1/source/Documentation/devicetree/bindings/writing-bindings.rst > > All of them. > okay, I got it. Thanks. ^ permalink raw reply [flat|nested] 29+ messages in thread
* [PATCH v11 2/2] spi: loongson: add bus driver for the loongson spi controller 2023-05-22 7:10 [PATCH v11 0/2] spi: loongson: add bus driver for the loongson spi Yinbo Zhu 2023-05-22 7:10 ` [PATCH v11 1/2] dt-bindings: spi: add " Yinbo Zhu @ 2023-05-22 7:10 ` Yinbo Zhu 2023-05-23 12:54 ` andy.shevchenko 2023-05-24 12:07 ` kernel test robot 2023-05-22 10:34 ` [PATCH v11 0/2] spi: loongson: add bus driver for the loongson spi Mark Brown 2023-07-31 19:57 ` Mark Brown 3 siblings, 2 replies; 29+ messages in thread From: Yinbo Zhu @ 2023-05-22 7:10 UTC (permalink / raw) To: Mark Brown, Rob Herring, Krzysztof Kozlowski, linux-spi, devicetree, linux-kernel Cc: Jianmin Lv, wanghongliang, Liu Peibao, loongson-kernel, Yinbo Zhu This bus driver supports the Loongson SPI hardware controller in the Loongson platforms and supports to use DTS and PCI framework to register SPI device resources. Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn> --- MAINTAINERS | 4 + drivers/spi/Kconfig | 26 +++ drivers/spi/Makefile | 3 + drivers/spi/spi-loongson-core.c | 279 ++++++++++++++++++++++++++++++++ drivers/spi/spi-loongson-pci.c | 61 +++++++ drivers/spi/spi-loongson-plat.c | 46 ++++++ drivers/spi/spi-loongson.h | 47 ++++++ 7 files changed, 466 insertions(+) create mode 100644 drivers/spi/spi-loongson-core.c create mode 100644 drivers/spi/spi-loongson-pci.c create mode 100644 drivers/spi/spi-loongson-plat.c create mode 100644 drivers/spi/spi-loongson.h diff --git a/MAINTAINERS b/MAINTAINERS index e49c04c53c99..fd63c5a1c886 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -12206,6 +12206,10 @@ M: Yinbo Zhu <zhuyinbo@loongson.cn> L: linux-spi@vger.kernel.org S: Maintained F: Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml +F: drivers/spi/spi-loongson-core.c +F: drivers/spi/spi-loongson-pci.c +F: drivers/spi/spi-loongson-plat.c +F: drivers/spi/spi-loongson.h LSILOGIC MPT FUSION DRIVERS (FC/SAS/SPI) M: Sathya Prakash <sathya.prakash@broadcom.com> diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig index 3de2ebe8294a..6b953904792e 100644 --- a/drivers/spi/Kconfig +++ b/drivers/spi/Kconfig @@ -516,6 +516,32 @@ config SPI_LM70_LLP which interfaces to an LM70 temperature sensor using a parallel port. +config SPI_LOONGSON_CORE + tristate + depends on LOONGARCH || COMPILE_TEST + +config SPI_LOONGSON_PCI + tristate "Loongson SPI Controller PCI Driver Support" + select SPI_LOONGSON_CORE + depends on PCI && (LOONGARCH || COMPILE_TEST) + help + This bus driver supports the Loongson SPI hardware controller in + the Loongson platforms and supports to use PCI framework to + register SPI device resources. + Say Y or M here if you want to use the SPI controller on + Loongson platform. + +config SPI_LOONGSON_PLATFORM + tristate "Loongson SPI Controller Platform Driver Support" + select SPI_LOONGSON_CORE + depends on OF && (LOONGARCH || COMPILE_TEST) + help + This bus driver supports the Loongson SPI hardware controller in + the Loongson platforms and supports to use DTS framework to + register SPI device resources. + Say Y or M here if you want to use the SPI controller on + Loongson platform. + config SPI_LP8841_RTC tristate "ICP DAS LP-8841 SPI Controller for RTC" depends on MACH_PXA27X_DT || COMPILE_TEST diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile index 28c4817a8a74..3e933064d237 100644 --- a/drivers/spi/Makefile +++ b/drivers/spi/Makefile @@ -71,6 +71,9 @@ obj-$(CONFIG_SPI_INTEL_PLATFORM) += spi-intel-platform.o obj-$(CONFIG_SPI_LANTIQ_SSC) += spi-lantiq-ssc.o obj-$(CONFIG_SPI_JCORE) += spi-jcore.o obj-$(CONFIG_SPI_LM70_LLP) += spi-lm70llp.o +obj-$(CONFIG_SPI_LOONGSON_CORE) += spi-loongson-core.o +obj-$(CONFIG_SPI_LOONGSON_PCI) += spi-loongson-pci.o +obj-$(CONFIG_SPI_LOONGSON_PLATFORM) += spi-loongson-plat.o obj-$(CONFIG_SPI_LP8841_RTC) += spi-lp8841-rtc.o obj-$(CONFIG_SPI_MESON_SPICC) += spi-meson-spicc.o obj-$(CONFIG_SPI_MESON_SPIFC) += spi-meson-spifc.o diff --git a/drivers/spi/spi-loongson-core.c b/drivers/spi/spi-loongson-core.c new file mode 100644 index 000000000000..a556c60155d6 --- /dev/null +++ b/drivers/spi/spi-loongson-core.c @@ -0,0 +1,279 @@ +// SPDX-License-Identifier: GPL-2.0+ +// Loongson SPI Support +// Copyright (C) 2023 Loongson Technology Corporation Limited + +#include <linux/clk.h> +#include <linux/delay.h> +#include <linux/err.h> +#include <linux/init.h> +#include <linux/interrupt.h> +#include <linux/io.h> +#include <linux/iopoll.h> +#include <linux/kernel.h> +#include <linux/module.h> + +#include "spi-loongson.h" + +static inline void loongson_spi_write_reg(struct loongson_spi *spi, unsigned char reg, + unsigned char data) +{ + writeb(data, spi->base + reg); +} + +static inline char loongson_spi_read_reg(struct loongson_spi *spi, unsigned char reg) +{ + return readb(spi->base + reg); +} + +static void loongson_spi_set_cs(struct spi_device *spi, bool val) +{ + int cs; + struct loongson_spi *loongson_spi = spi_master_get_devdata(spi->master); + + cs = loongson_spi_read_reg(loongson_spi, LOONGSON_SPI_SFCS_REG) + & ~(0x11 << spi_get_chipselect(spi, 0)); + loongson_spi_write_reg(loongson_spi, LOONGSON_SPI_SFCS_REG, + (val ? (0x11 << spi_get_chipselect(spi, 0)) : + (0x1 << spi_get_chipselect(spi, 0))) | cs); +} + +static void loongson_spi_set_clk(struct loongson_spi *loongson_spi, unsigned int hz) +{ + unsigned char val; + unsigned int div, div_tmp; + const char rdiv[12] = {0, 1, 4, 2, 3, 5, 6, 7, 8, 9, 10, 11}; + + div = clamp_val(DIV_ROUND_UP_ULL(loongson_spi->clk_rate, hz), 2, 4096); + div_tmp = rdiv[fls(div - 1)]; + loongson_spi->spcr = (div_tmp & GENMASK(1, 0)) >> 0; + loongson_spi->sper = (div_tmp & GENMASK(3, 2)) >> 2; + val = loongson_spi_read_reg(loongson_spi, LOONGSON_SPI_SPCR_REG); + loongson_spi_write_reg(loongson_spi, LOONGSON_SPI_SPCR_REG, (val & ~3) | + loongson_spi->spcr); + val = loongson_spi_read_reg(loongson_spi, LOONGSON_SPI_SPER_REG); + loongson_spi_write_reg(loongson_spi, LOONGSON_SPI_SPER_REG, (val & ~3) | + loongson_spi->sper); + loongson_spi->hz = hz; +} + +static void loongson_spi_set_mode(struct loongson_spi *loongson_spi, + struct spi_device *spi) +{ + unsigned char val; + + val = loongson_spi_read_reg(loongson_spi, LOONGSON_SPI_SPCR_REG); + val &= ~(LOONGSON_SPI_SPCR_CPOL | LOONGSON_SPI_SPCR_CPHA); + if (spi->mode & SPI_CPOL) + val |= LOONGSON_SPI_SPCR_CPOL; + if (spi->mode & SPI_CPHA) + val |= LOONGSON_SPI_SPCR_CPHA; + + loongson_spi_write_reg(loongson_spi, LOONGSON_SPI_SPCR_REG, val); + loongson_spi->mode |= spi->mode; +} + +static int loongson_spi_update_state(struct loongson_spi *loongson_spi, + struct spi_device *spi, struct spi_transfer *t) +{ + unsigned int hz; + + if (t) + hz = t->speed_hz; + + if (hz && loongson_spi->hz != hz) + loongson_spi_set_clk(loongson_spi, hz); + + if ((spi->mode ^ loongson_spi->mode) & SPI_MODE_X_MASK) + loongson_spi_set_mode(loongson_spi, spi); + + return 0; +} + +static int loongson_spi_setup(struct spi_device *spi) +{ + struct loongson_spi *loongson_spi; + + loongson_spi = spi_master_get_devdata(spi->master); + if (spi->bits_per_word % 8) + return -EINVAL; + + if (spi_get_chipselect(spi, 0) >= spi->master->num_chipselect) + return -EINVAL; + + loongson_spi->hz = 0; + loongson_spi_set_cs(spi, 1); + + return 0; +} + +static int loongson_spi_write_read_8bit(struct spi_device *spi, const u8 **tx_buf, + u8 **rx_buf, unsigned int num) +{ + struct loongson_spi *loongson_spi = spi_master_get_devdata(spi->master); + + if (tx_buf && *tx_buf) + loongson_spi_write_reg(loongson_spi, LOONGSON_SPI_FIFO_REG, *((*tx_buf)++)); + else + loongson_spi_write_reg(loongson_spi, LOONGSON_SPI_FIFO_REG, 0); + readb_poll_timeout(loongson_spi->base + LOONGSON_SPI_SPSR_REG, loongson_spi->spsr, + (loongson_spi->spsr & 0x1) != 1, 1, MSEC_PER_SEC); + + if (rx_buf && *rx_buf) + *(*rx_buf)++ = loongson_spi_read_reg(loongson_spi, LOONGSON_SPI_FIFO_REG); + else + loongson_spi_read_reg(loongson_spi, LOONGSON_SPI_FIFO_REG); + + return 0; +} + +static unsigned int loongson_spi_write_read(struct spi_device *spi, struct spi_transfer *xfer) +{ + unsigned int count; + const u8 *tx = xfer->tx_buf; + u8 *rx = xfer->rx_buf; + + count = xfer->len; + + do { + if (loongson_spi_write_read_8bit(spi, &tx, &rx, count) < 0) + goto out; + count--; + } while (count); + +out: + return xfer->len - count; +} + +static int loongson_spi_prepare_message(struct spi_controller *ctlr, struct spi_message *m) +{ + struct loongson_spi *loongson_spi = spi_controller_get_devdata(ctlr); + + loongson_spi->para = loongson_spi_read_reg(loongson_spi, LOONGSON_SPI_PARA_REG); + loongson_spi_write_reg(loongson_spi, LOONGSON_SPI_PARA_REG, loongson_spi->para & ~1); + + return 0; +} + +static int loongson_spi_transfer_one(struct spi_controller *ctrl, struct spi_device *spi, + struct spi_transfer *xfer) +{ + struct loongson_spi *loongson_spi = spi_master_get_devdata(spi->master); + + loongson_spi_update_state(loongson_spi, spi, xfer); + if (xfer->len) + xfer->len = loongson_spi_write_read(spi, xfer); + + return 0; +} + +static int loongson_spi_unprepare_message(struct spi_controller *ctrl, struct spi_message *m) +{ + struct loongson_spi *loongson_spi = spi_controller_get_devdata(ctrl); + + loongson_spi_write_reg(loongson_spi, LOONGSON_SPI_PARA_REG, loongson_spi->para); + + return 0; +} + +static void loongson_spi_reginit(struct loongson_spi *loongson_spi_dev) +{ + unsigned char val; + + val = loongson_spi_read_reg(loongson_spi_dev, LOONGSON_SPI_SPCR_REG); + val &= ~LOONGSON_SPI_SPCR_SPE; + loongson_spi_write_reg(loongson_spi_dev, LOONGSON_SPI_SPCR_REG, val); + + loongson_spi_write_reg(loongson_spi_dev, LOONGSON_SPI_SPSR_REG, + (LOONGSON_SPI_SPSR_SPIF | LOONGSON_SPI_SPSR_WCOL)); + + val = loongson_spi_read_reg(loongson_spi_dev, LOONGSON_SPI_SPCR_REG); + val |= LOONGSON_SPI_SPCR_SPE; + loongson_spi_write_reg(loongson_spi_dev, LOONGSON_SPI_SPCR_REG, val); +} + +int loongson_spi_init_master(struct device *dev, void __iomem *regs) +{ + struct spi_master *master; + struct loongson_spi *spi; + struct clk *clk; + + master = devm_spi_alloc_master(dev, sizeof(struct loongson_spi)); + if (master == NULL) + return -ENOMEM; + + master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH; + master->setup = loongson_spi_setup; + master->prepare_message = loongson_spi_prepare_message; + master->transfer_one = loongson_spi_transfer_one; + master->unprepare_message = loongson_spi_unprepare_message; + master->set_cs = loongson_spi_set_cs; + master->num_chipselect = 4; + device_set_node(&master->dev, dev_fwnode(dev)); + dev_set_drvdata(dev, master); + + spi = spi_master_get_devdata(master); + spi->base = regs; + spi->master = master; + + clk = devm_clk_get_optional(dev, NULL); + if (!IS_ERR(clk)) + spi->clk_rate = clk_get_rate(clk); + else + return dev_err_probe(dev, PTR_ERR(clk), "unable to get clock\n"); + + loongson_spi_reginit(spi); + + spi->mode = 0; + + return devm_spi_register_master(dev, master); +} +EXPORT_SYMBOL_NS_GPL(loongson_spi_init_master, SPI_LOONGSON_CORE); + +static int __maybe_unused loongson_spi_suspend(struct device *dev) +{ + struct loongson_spi *loongson_spi; + struct spi_master *master; + + master = dev_get_drvdata(dev); + spi_master_suspend(master); + + loongson_spi = spi_master_get_devdata(master); + + loongson_spi->spcr = loongson_spi_read_reg(loongson_spi, LOONGSON_SPI_SPCR_REG); + loongson_spi->sper = loongson_spi_read_reg(loongson_spi, LOONGSON_SPI_SPER_REG); + loongson_spi->spsr = loongson_spi_read_reg(loongson_spi, LOONGSON_SPI_SPSR_REG); + loongson_spi->para = loongson_spi_read_reg(loongson_spi, LOONGSON_SPI_PARA_REG); + loongson_spi->sfcs = loongson_spi_read_reg(loongson_spi, LOONGSON_SPI_SFCS_REG); + loongson_spi->timi = loongson_spi_read_reg(loongson_spi, LOONGSON_SPI_TIMI_REG); + + return 0; +} + +static int __maybe_unused loongson_spi_resume(struct device *dev) +{ + struct loongson_spi *loongson_spi; + struct spi_master *master; + + master = dev_get_drvdata(dev); + loongson_spi = spi_master_get_devdata(master); + + loongson_spi_write_reg(loongson_spi, LOONGSON_SPI_SPCR_REG, loongson_spi->spcr); + loongson_spi_write_reg(loongson_spi, LOONGSON_SPI_SPER_REG, loongson_spi->sper); + loongson_spi_write_reg(loongson_spi, LOONGSON_SPI_SPSR_REG, loongson_spi->spsr); + loongson_spi_write_reg(loongson_spi, LOONGSON_SPI_PARA_REG, loongson_spi->para); + loongson_spi_write_reg(loongson_spi, LOONGSON_SPI_SFCS_REG, loongson_spi->sfcs); + loongson_spi_write_reg(loongson_spi, LOONGSON_SPI_TIMI_REG, loongson_spi->timi); + + spi_master_resume(master); + + return 0; +} + +const struct dev_pm_ops loongson_spi_dev_pm_ops = { + .suspend = loongson_spi_suspend, + .resume = loongson_spi_resume, +}; +EXPORT_SYMBOL_NS_GPL(loongson_spi_dev_pm_ops, SPI_LOONGSON_CORE); + +MODULE_DESCRIPTION("Loongson SPI core driver"); +MODULE_LICENSE("GPL"); diff --git a/drivers/spi/spi-loongson-pci.c b/drivers/spi/spi-loongson-pci.c new file mode 100644 index 000000000000..c351a689150a --- /dev/null +++ b/drivers/spi/spi-loongson-pci.c @@ -0,0 +1,61 @@ +// SPDX-License-Identifier: GPL-2.0+ +// PCI interface driver for Loongson SPI Support +// Copyright (C) 2023 Loongson Technology Corporation Limited + +#include <linux/pci.h> + +#include "spi-loongson.h" + +static int loongson_spi_pci_register(struct pci_dev *pdev, + const struct pci_device_id *ent) +{ + int ret; + void __iomem *reg_base; + struct device *dev = &pdev->dev; + int pci_bar = 0; + + ret = pcim_enable_device(pdev); + if (ret < 0) + return dev_err_probe(dev, ret, "cannot enable pci device\n"); + + ret = pcim_iomap_regions(pdev, BIT(pci_bar), pci_name(pdev)); + if (ret) + return dev_err_probe(dev, ret, "failed to request and remap memory\n"); + + reg_base = pcim_iomap_table(pdev)[pci_bar]; + + ret = loongson_spi_init_master(dev, reg_base); + if (ret) + return dev_err_probe(dev, ret, "failed to initialize master\n"); + + return 0; +} + +static void loongson_spi_pci_unregister(struct pci_dev *pdev) +{ + pcim_iounmap_regions(pdev, BIT(0)); + pci_disable_device(pdev); +} + +static struct pci_device_id loongson_spi_devices[] = { + { PCI_DEVICE(PCI_VENDOR_ID_LOONGSON, 0x7a0b) }, + { PCI_DEVICE(PCI_VENDOR_ID_LOONGSON, 0x7a1b) }, + { }, +}; +MODULE_DEVICE_TABLE(pci, loongson_spi_devices); + +static struct pci_driver loongson_spi_pci_driver = { + .name = "loongson-spi-pci", + .id_table = loongson_spi_devices, + .probe = loongson_spi_pci_register, + .remove = loongson_spi_pci_unregister, + .driver = { + .bus = &pci_bus_type, + .pm = &loongson_spi_dev_pm_ops, + }, +}; +module_pci_driver(loongson_spi_pci_driver); + +MODULE_DESCRIPTION("Loongson spi pci driver"); +MODULE_LICENSE("GPL"); +MODULE_IMPORT_NS(SPI_LOONGSON_CORE); diff --git a/drivers/spi/spi-loongson-plat.c b/drivers/spi/spi-loongson-plat.c new file mode 100644 index 000000000000..2e0388d84044 --- /dev/null +++ b/drivers/spi/spi-loongson-plat.c @@ -0,0 +1,46 @@ +// SPDX-License-Identifier: GPL-2.0+ +// Platform driver for Loongson SPI Support +// Copyright (C) 2023 Loongson Technology Corporation Limited + +#include <linux/of.h> +#include <linux/platform_device.h> + +#include "spi-loongson.h" + +static int loongson_spi_platform_probe(struct platform_device *pdev) +{ + int ret; + void __iomem *reg_base; + struct device *dev = &pdev->dev; + + reg_base = devm_platform_ioremap_resource(pdev, 0); + if (IS_ERR(reg_base)) + return PTR_ERR(reg_base); + + ret = loongson_spi_init_master(dev, reg_base); + if (ret) + return dev_err_probe(dev, ret, "failed to initialize master\n"); + + return ret; +} + +static const struct of_device_id loongson_spi_id_table[] = { + { .compatible = "loongson,ls2k-spi" }, + { } +}; +MODULE_DEVICE_TABLE(of, loongson_spi_id_table); + +static struct platform_driver loongson_spi_plat_driver = { + .probe = loongson_spi_platform_probe, + .driver = { + .name = "loongson-spi", + .bus = &platform_bus_type, + .pm = &loongson_spi_dev_pm_ops, + .of_match_table = loongson_spi_id_table, + }, +}; +module_platform_driver(loongson_spi_plat_driver); + +MODULE_DESCRIPTION("Loongson spi platform driver"); +MODULE_LICENSE("GPL"); +MODULE_IMPORT_NS(SPI_LOONGSON_CORE); diff --git a/drivers/spi/spi-loongson.h b/drivers/spi/spi-loongson.h new file mode 100644 index 000000000000..5dca9750efa3 --- /dev/null +++ b/drivers/spi/spi-loongson.h @@ -0,0 +1,47 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* Header File for Loongson SPI Driver. */ +/* Copyright (C) 2023 Loongson Technology Corporation Limited */ + +#ifndef __LINUX_SPI_LOONGSON_H +#define __LINUX_SPI_LOONGSON_H + +#include <linux/bits.h> +#include <linux/device.h> +#include <linux/pm.h> +#include <linux/spi/spi.h> +#include <linux/types.h> + +#define LOONGSON_SPI_SPCR_REG 0x00 +#define LOONGSON_SPI_SPSR_REG 0x01 +#define LOONGSON_SPI_FIFO_REG 0x02 +#define LOONGSON_SPI_SPER_REG 0x03 +#define LOONGSON_SPI_PARA_REG 0x04 +#define LOONGSON_SPI_SFCS_REG 0x05 +#define LOONGSON_SPI_TIMI_REG 0x06 + +/* Bits definition for Loongson SPI register */ +#define LOONGSON_SPI_PARA_MEM_EN BIT(0) +#define LOONGSON_SPI_SPCR_CPHA BIT(2) +#define LOONGSON_SPI_SPCR_CPOL BIT(3) +#define LOONGSON_SPI_SPCR_SPE BIT(6) +#define LOONGSON_SPI_SPSR_WCOL BIT(6) +#define LOONGSON_SPI_SPSR_SPIF BIT(7) + +struct loongson_spi { + struct spi_master *master; + void __iomem *base; + int cs_active; + unsigned int hz; + unsigned char spcr; + unsigned char sper; + unsigned char spsr; + unsigned char para; + unsigned char sfcs; + unsigned char timi; + unsigned int mode; + u64 clk_rate; +}; + +int loongson_spi_init_master(struct device *dev, void __iomem *reg); +extern const struct dev_pm_ops loongson_spi_dev_pm_ops; +#endif /* __LINUX_SPI_LOONGSON_H */ -- 2.20.1 ^ permalink raw reply related [flat|nested] 29+ messages in thread
* Re: [PATCH v11 2/2] spi: loongson: add bus driver for the loongson spi controller 2023-05-22 7:10 ` [PATCH v11 2/2] spi: loongson: add bus driver for the loongson spi controller Yinbo Zhu @ 2023-05-23 12:54 ` andy.shevchenko 2023-05-24 7:52 ` zhuyinbo 2023-05-24 12:07 ` kernel test robot 1 sibling, 1 reply; 29+ messages in thread From: andy.shevchenko @ 2023-05-23 12:54 UTC (permalink / raw) To: Yinbo Zhu Cc: Mark Brown, Rob Herring, Krzysztof Kozlowski, linux-spi, devicetree, linux-kernel, Jianmin Lv, wanghongliang, Liu Peibao, loongson-kernel Mon, May 22, 2023 at 03:10:30PM +0800, Yinbo Zhu kirjoitti: > This bus driver supports the Loongson SPI hardware controller in the > Loongson platforms and supports to use DTS and PCI framework to > register SPI device resources. It's polite to add reviewers of the previous versions to the Cc list. ... > +static void loongson_spi_set_clk(struct loongson_spi *loongson_spi, unsigned int hz) > +{ > + unsigned char val; > + unsigned int div, div_tmp; > + const char rdiv[12] = {0, 1, 4, 2, 3, 5, 6, 7, 8, 9, 10, 11}; static? > + > + div = clamp_val(DIV_ROUND_UP_ULL(loongson_spi->clk_rate, hz), 2, 4096); > + div_tmp = rdiv[fls(div - 1)]; > + loongson_spi->spcr = (div_tmp & GENMASK(1, 0)) >> 0; > + loongson_spi->sper = (div_tmp & GENMASK(3, 2)) >> 2; > + val = loongson_spi_read_reg(loongson_spi, LOONGSON_SPI_SPCR_REG); > + loongson_spi_write_reg(loongson_spi, LOONGSON_SPI_SPCR_REG, (val & ~3) | > + loongson_spi->spcr); > + val = loongson_spi_read_reg(loongson_spi, LOONGSON_SPI_SPER_REG); > + loongson_spi_write_reg(loongson_spi, LOONGSON_SPI_SPER_REG, (val & ~3) | > + loongson_spi->sper); > + loongson_spi->hz = hz; > +} ... > +static int loongson_spi_update_state(struct loongson_spi *loongson_spi, > + struct spi_device *spi, struct spi_transfer *t) > +{ > + unsigned int hz; > + > + if (t) > + hz = t->speed_hz; And if t is NULL? hz will be uninitialized. Don't you get a compiler warning? (Always test your code with `make W=1 ...`) > + if (hz && loongson_spi->hz != hz) > + loongson_spi_set_clk(loongson_spi, hz); > + > + if ((spi->mode ^ loongson_spi->mode) & SPI_MODE_X_MASK) > + loongson_spi_set_mode(loongson_spi, spi); > + > + return 0; > +} ... > + readb_poll_timeout(loongson_spi->base + LOONGSON_SPI_SPSR_REG, loongson_spi->spsr, > + (loongson_spi->spsr & 0x1) != 1, 1, MSEC_PER_SEC); Wouldn't be better to use ' == 0' in the conditional? Or if you think your approach is better (to show the exact expectation) the definition of the bit 0 might help #define LOONGSON_... BIT(0) readb_poll_timeout(loongson_spi->base + LOONGSON_SPI_SPSR_REG, loongson_spi->spsr, (loongson_spi->spsr & LOONGSON_...) != LOONGSON_..., 1, MSEC_PER_SEC); ... > + do { > + if (loongson_spi_write_read_8bit(spi, &tx, &rx, count) < 0) > + goto out; break; > + count--; > + } while (count); } while (--count); ? > +out: > + return xfer->len - count; Shouldn't you return an error code if the write failed? ... > + master = devm_spi_alloc_master(dev, sizeof(struct loongson_spi)); > + if (master == NULL) if (!master) > + return -ENOMEM; Why do you use deprecated naming? Can you use spi_controller* instead of spi_master* in all cases? ... > + master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH; = SPI_MODE_X_MASK | SPI_CS_HIGH; ... > + clk = devm_clk_get_optional(dev, NULL); > + if (!IS_ERR(clk)) > + spi->clk_rate = clk_get_rate(clk); > + else Redundant. Just check for the error first as it's very usual pattern in the Linux kernel. > + return dev_err_probe(dev, PTR_ERR(clk), "unable to get clock\n"); ... > +static void loongson_spi_pci_unregister(struct pci_dev *pdev) > +{ > + pcim_iounmap_regions(pdev, BIT(0)); Not needed due to 'm' in the API name, which means "managed". > + pci_disable_device(pdev); This is simply wrong. We don't do explicit clean up for managed resources. > +} That said, drop the ->remove() completely. ... > +static struct pci_device_id loongson_spi_devices[] = { > + { PCI_DEVICE(PCI_VENDOR_ID_LOONGSON, 0x7a0b) }, > + { PCI_DEVICE(PCI_VENDOR_ID_LOONGSON, 0x7a1b) }, > + { }, No comma for the terminator entry. It's by definition "terminating" something. > +}; ... > +#include <linux/of.h> There is no user of this header. Please, replace with what actually is being used (presumably mod_devicetable.h and maybe others). > +#include <linux/platform_device.h> > + > +#include "spi-loongson.h" > + > +static int loongson_spi_platform_probe(struct platform_device *pdev) > +{ > + int ret; > + void __iomem *reg_base; > + struct device *dev = &pdev->dev; > + > + reg_base = devm_platform_ioremap_resource(pdev, 0); > + if (IS_ERR(reg_base)) > + return PTR_ERR(reg_base); > + > + ret = loongson_spi_init_master(dev, reg_base); > + if (ret) > + return dev_err_probe(dev, ret, "failed to initialize master\n"); > + > + return ret; return 0; > +} ... > +#ifndef __LINUX_SPI_LOONGSON_H > +#define __LINUX_SPI_LOONGSON_H > + > +#include <linux/bits.h> > +#include <linux/device.h> This header is not used. > +#include <linux/pm.h> > +#include <linux/spi/spi.h> This neither. > +#include <linux/types.h> For them use forward declarations struct device; struct spi_controller; The rest of the inclusions is correct. ... > +#define LOONGSON_SPI_SPCR_REG 0x00 > +#define LOONGSON_SPI_SPSR_REG 0x01 > +#define LOONGSON_SPI_FIFO_REG 0x02 > +#define LOONGSON_SPI_SPER_REG 0x03 > +#define LOONGSON_SPI_PARA_REG 0x04 > +#define LOONGSON_SPI_SFCS_REG 0x05 > +#define LOONGSON_SPI_TIMI_REG 0x06 Where is this used outside of the main driver? > +/* Bits definition for Loongson SPI register */ > +#define LOONGSON_SPI_PARA_MEM_EN BIT(0) > +#define LOONGSON_SPI_SPCR_CPHA BIT(2) > +#define LOONGSON_SPI_SPCR_CPOL BIT(3) > +#define LOONGSON_SPI_SPCR_SPE BIT(6) > +#define LOONGSON_SPI_SPSR_WCOL BIT(6) > +#define LOONGSON_SPI_SPSR_SPIF BIT(7) > + > +struct loongson_spi { > + struct spi_master *master; > + void __iomem *base; > + int cs_active; > + unsigned int hz; > + unsigned char spcr; > + unsigned char sper; > + unsigned char spsr; > + unsigned char para; > + unsigned char sfcs; > + unsigned char timi; > + unsigned int mode; > + u64 clk_rate; > +}; > + > +int loongson_spi_init_master(struct device *dev, void __iomem *reg); > +extern const struct dev_pm_ops loongson_spi_dev_pm_ops; > +#endif /* __LINUX_SPI_LOONGSON_H */ -- With Best Regards, Andy Shevchenko ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [PATCH v11 2/2] spi: loongson: add bus driver for the loongson spi controller 2023-05-23 12:54 ` andy.shevchenko @ 2023-05-24 7:52 ` zhuyinbo 2023-05-24 8:42 ` Andy Shevchenko 0 siblings, 1 reply; 29+ messages in thread From: zhuyinbo @ 2023-05-24 7:52 UTC (permalink / raw) To: andy.shevchenko Cc: Mark Brown, Rob Herring, Krzysztof Kozlowski, linux-spi, devicetree, linux-kernel, Jianmin Lv, wanghongliang, Liu Peibao, loongson-kernel, zhuyinbo 在 2023/5/23 下午8:54, andy.shevchenko@gmail.com 写道: > Mon, May 22, 2023 at 03:10:30PM +0800, Yinbo Zhu kirjoitti: >> This bus driver supports the Loongson SPI hardware controller in the >> Loongson platforms and supports to use DTS and PCI framework to >> register SPI device resources. > > It's polite to add reviewers of the previous versions to the Cc list. okay, I got it. > > ... > >> +static void loongson_spi_set_clk(struct loongson_spi *loongson_spi, unsigned int hz) >> +{ >> + unsigned char val; >> + unsigned int div, div_tmp; > >> + const char rdiv[12] = {0, 1, 4, 2, 3, 5, 6, 7, 8, 9, 10, 11}; > > static? okay, I will define "static const char rdiv". > >> + >> + div = clamp_val(DIV_ROUND_UP_ULL(loongson_spi->clk_rate, hz), 2, 4096); >> + div_tmp = rdiv[fls(div - 1)]; >> + loongson_spi->spcr = (div_tmp & GENMASK(1, 0)) >> 0; >> + loongson_spi->sper = (div_tmp & GENMASK(3, 2)) >> 2; >> + val = loongson_spi_read_reg(loongson_spi, LOONGSON_SPI_SPCR_REG); >> + loongson_spi_write_reg(loongson_spi, LOONGSON_SPI_SPCR_REG, (val & ~3) | >> + loongson_spi->spcr); >> + val = loongson_spi_read_reg(loongson_spi, LOONGSON_SPI_SPER_REG); >> + loongson_spi_write_reg(loongson_spi, LOONGSON_SPI_SPER_REG, (val & ~3) | >> + loongson_spi->sper); >> + loongson_spi->hz = hz; >> +} > > ... > >> +static int loongson_spi_update_state(struct loongson_spi *loongson_spi, >> + struct spi_device *spi, struct spi_transfer *t) >> +{ >> + unsigned int hz; >> + >> + if (t) >> + hz = t->speed_hz; > > And if t is NULL? hz will be uninitialized. Don't you get a compiler warning? > (Always test your code with `make W=1 ...`) I alwasy use `make W=1` and I don't find any warnig, but that what you said was right and I will initial hz. > >> + if (hz && loongson_spi->hz != hz) >> + loongson_spi_set_clk(loongson_spi, hz); >> + >> + if ((spi->mode ^ loongson_spi->mode) & SPI_MODE_X_MASK) >> + loongson_spi_set_mode(loongson_spi, spi); >> + >> + return 0; >> +} > > ... > >> + readb_poll_timeout(loongson_spi->base + LOONGSON_SPI_SPSR_REG, loongson_spi->spsr, >> + (loongson_spi->spsr & 0x1) != 1, 1, MSEC_PER_SEC); > > Wouldn't be better to use ' == 0' in the conditional? Or if you think your > approach is better (to show the exact expectation) the definition of the bit 0 > might help > > #define LOONGSON_... BIT(0) okay, I got it. > > > readb_poll_timeout(loongson_spi->base + LOONGSON_SPI_SPSR_REG, loongson_spi->spsr, > (loongson_spi->spsr & LOONGSON_...) != LOONGSON_..., > 1, MSEC_PER_SEC); > > ... > >> + do { >> + if (loongson_spi_write_read_8bit(spi, &tx, &rx, count) < 0) > >> + goto out; > > break; > >> + count--; >> + } while (count); > > } while (--count); > > ? okay, I got it. > >> +out: >> + return xfer->len - count; > > Shouldn't you return an error code if the write failed? okay, I got it. I will add a error code for return when write failed. > > ... > >> + master = devm_spi_alloc_master(dev, sizeof(struct loongson_spi)); > >> + if (master == NULL) > > if (!master) > >> + return -ENOMEM; > > Why do you use deprecated naming? Can you use spi_controller* instead of > spi_master* in all cases? It seems was a personal code style issue and I don't find the differences between spi_controller and spi_master, Using spi_controller* is also acceptable to me and I will use spi_controller* instead of spi_master* in all cases. > > ... > >> + master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH; > > = SPI_MODE_X_MASK | SPI_CS_HIGH; > > ... > >> + clk = devm_clk_get_optional(dev, NULL); >> + if (!IS_ERR(clk)) >> + spi->clk_rate = clk_get_rate(clk); > >> + else > > Redundant. Just check for the error first as it's very usual pattern in the > Linux kernel. Like below ? clk = devm_clk_get_optional(dev, NULL); - if (!IS_ERR(clk)) - spi->clk_rate = clk_get_rate(clk); - else + if (IS_ERR(clk)) return dev_err_probe(dev, PTR_ERR(clk), "unable to get clock\n"); + spi->clk_rate = clk_get_rate(clk); loongson_spi_reginit(spi); > >> + return dev_err_probe(dev, PTR_ERR(clk), "unable to get clock\n"); > > ... > >> +static void loongson_spi_pci_unregister(struct pci_dev *pdev) >> +{ > >> + pcim_iounmap_regions(pdev, BIT(0)); > > Not needed due to 'm' in the API name, which means "managed". > >> + pci_disable_device(pdev); > > This is simply wrong. We don't do explicit clean up for managed resources. > >> +} > > That said, drop the ->remove() completely. okay, I will drop the ->remove() completely. > > ... > >> +static struct pci_device_id loongson_spi_devices[] = { >> + { PCI_DEVICE(PCI_VENDOR_ID_LOONGSON, 0x7a0b) }, >> + { PCI_DEVICE(PCI_VENDOR_ID_LOONGSON, 0x7a1b) }, >> + { }, > > No comma for the terminator entry. It's by definition "terminating" something. okay, I got it. > >> +}; > > ... > >> +#include <linux/of.h> > > There is no user of this header. Please, replace with what actually is being > used (presumably mod_devicetable.h and maybe others). > okay, I got it. >> +#include <linux/platform_device.h> >> + >> +#include "spi-loongson.h" >> + >> +static int loongson_spi_platform_probe(struct platform_device *pdev) >> +{ >> + int ret; >> + void __iomem *reg_base; >> + struct device *dev = &pdev->dev; >> + >> + reg_base = devm_platform_ioremap_resource(pdev, 0); >> + if (IS_ERR(reg_base)) >> + return PTR_ERR(reg_base); >> + >> + ret = loongson_spi_init_master(dev, reg_base); >> + if (ret) >> + return dev_err_probe(dev, ret, "failed to initialize master\n"); >> + >> + return ret; > > return 0; It seems was more appropriate that initialize ret then return ret. Do you think so ? > >> +} > > ... > >> +#ifndef __LINUX_SPI_LOONGSON_H >> +#define __LINUX_SPI_LOONGSON_H >> + >> +#include <linux/bits.h> > >> +#include <linux/device.h> > > This header is not used. okay, I got it. > >> +#include <linux/pm.h> > >> +#include <linux/spi/spi.h> > > This neither. That other .c file seems to need it and I will move it to other .c code file. > >> +#include <linux/types.h> > > > For them use forward declarations > > struct device; > struct spi_controller; > > The rest of the inclusions is correct. okay, I got it. > > ... > >> +#define LOONGSON_SPI_SPCR_REG 0x00 >> +#define LOONGSON_SPI_SPSR_REG 0x01 >> +#define LOONGSON_SPI_FIFO_REG 0x02 >> +#define LOONGSON_SPI_SPER_REG 0x03 >> +#define LOONGSON_SPI_PARA_REG 0x04 >> +#define LOONGSON_SPI_SFCS_REG 0x05 >> +#define LOONGSON_SPI_TIMI_REG 0x06 > > Where is this used outside of the main driver? These definitions are only used in core.c > >> +/* Bits definition for Loongson SPI register */ >> +#define LOONGSON_SPI_PARA_MEM_EN BIT(0) >> +#define LOONGSON_SPI_SPCR_CPHA BIT(2) >> +#define LOONGSON_SPI_SPCR_CPOL BIT(3) >> +#define LOONGSON_SPI_SPCR_SPE BIT(6) >> +#define LOONGSON_SPI_SPSR_WCOL BIT(6) >> +#define LOONGSON_SPI_SPSR_SPIF BIT(7) >> + >> +struct loongson_spi { >> + struct spi_master *master; >> + void __iomem *base; >> + int cs_active; >> + unsigned int hz; >> + unsigned char spcr; >> + unsigned char sper; >> + unsigned char spsr; >> + unsigned char para; >> + unsigned char sfcs; >> + unsigned char timi; >> + unsigned int mode; >> + u64 clk_rate; >> +}; >> + >> +int loongson_spi_init_master(struct device *dev, void __iomem *reg); >> +extern const struct dev_pm_ops loongson_spi_dev_pm_ops; >> +#endif /* __LINUX_SPI_LOONGSON_H */ > ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [PATCH v11 2/2] spi: loongson: add bus driver for the loongson spi controller 2023-05-24 7:52 ` zhuyinbo @ 2023-05-24 8:42 ` Andy Shevchenko 2023-05-24 10:19 ` Mark Brown 2023-05-25 3:34 ` zhuyinbo 0 siblings, 2 replies; 29+ messages in thread From: Andy Shevchenko @ 2023-05-24 8:42 UTC (permalink / raw) To: zhuyinbo Cc: Mark Brown, Rob Herring, Krzysztof Kozlowski, linux-spi, devicetree, linux-kernel, Jianmin Lv, wanghongliang, Liu Peibao, loongson-kernel On Wed, May 24, 2023 at 10:52 AM zhuyinbo <zhuyinbo@loongson.cn> wrote: > 在 2023/5/23 下午8:54, andy.shevchenko@gmail.com 写道: > > Mon, May 22, 2023 at 03:10:30PM +0800, Yinbo Zhu kirjoitti: ... > >> +static int loongson_spi_update_state(struct loongson_spi *loongson_spi, > >> + struct spi_device *spi, struct spi_transfer *t) > >> +{ > >> + unsigned int hz; > >> + > >> + if (t) > >> + hz = t->speed_hz; > > > > And if t is NULL? hz will be uninitialized. Don't you get a compiler warning? > > (Always test your code with `make W=1 ...`) > > I always use `make W=1` and I don't find any warning, but that what you > said was right and I will initial hz. Note, if hz == 0 when t == NULL, you can unify that check with the below. > >> + if (hz && loongson_spi->hz != hz) Something like if (t && _spi->hz != t->speed_hz) ...(..., t->speed_hz); In such a case you won't need a temporary variable. > >> + loongson_spi_set_clk(loongson_spi, hz); > >> + > >> + if ((spi->mode ^ loongson_spi->mode) & SPI_MODE_X_MASK) > >> + loongson_spi_set_mode(loongson_spi, spi); > >> + > >> + return 0; > >> +} ... > > Why do you use deprecated naming? Can you use spi_controller* instead of > > spi_master* in all cases? > > It seems was a personal code style issue and I don't find the > differences between spi_controller and spi_master, Using spi_controller* > is also acceptable to me and I will use spi_controller* instead of > spi_master* in all cases. Read this section (#4) in full https://kernel.org/doc/html/latest/process/coding-style.html#naming ... > >> + clk = devm_clk_get_optional(dev, NULL); > >> + if (!IS_ERR(clk)) > >> + spi->clk_rate = clk_get_rate(clk); > > > >> + else > > > > Redundant. Just check for the error first as it's very usual pattern in the > > Linux kernel. > > Like below ? > > clk = devm_clk_get_optional(dev, NULL); > - if (!IS_ERR(clk)) > - spi->clk_rate = clk_get_rate(clk); > - else > + if (IS_ERR(clk)) > return dev_err_probe(dev, PTR_ERR(clk), "unable to get > clock\n"); > > + spi->clk_rate = clk_get_rate(clk); Yes. > loongson_spi_reginit(spi); > >> + return dev_err_probe(dev, PTR_ERR(clk), "unable to get clock\n"); ... > >> + ret = loongson_spi_init_master(dev, reg_base); > >> + if (ret) > >> + return dev_err_probe(dev, ret, "failed to initialize master\n"); > >> + > >> + return ret; > > > > return 0; > > It seems was more appropriate that initialize ret then return ret. > Do you think so ? What do you mean and how does it help here? ... > >> +#include <linux/spi/spi.h> > > > > This neither. > > That other .c file seems to need it and I will move it to other .c > code file. Yes, please do. ... > >> +#define LOONGSON_SPI_SPCR_REG 0x00 > >> +#define LOONGSON_SPI_SPSR_REG 0x01 > >> +#define LOONGSON_SPI_FIFO_REG 0x02 > >> +#define LOONGSON_SPI_SPER_REG 0x03 > >> +#define LOONGSON_SPI_PARA_REG 0x04 > >> +#define LOONGSON_SPI_SFCS_REG 0x05 > >> +#define LOONGSON_SPI_TIMI_REG 0x06 > > > > Where is this used outside of the main driver? > > These definitions are only used in core.c Then the obvious question, why are they located in *.h? ... > >> +/* Bits definition for Loongson SPI register */ > >> +#define LOONGSON_SPI_PARA_MEM_EN BIT(0) > >> +#define LOONGSON_SPI_SPCR_CPHA BIT(2) > >> +#define LOONGSON_SPI_SPCR_CPOL BIT(3) > >> +#define LOONGSON_SPI_SPCR_SPE BIT(6) > >> +#define LOONGSON_SPI_SPSR_WCOL BIT(6) > >> +#define LOONGSON_SPI_SPSR_SPIF BIT(7) Similar question here. -- With Best Regards, Andy Shevchenko ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [PATCH v11 2/2] spi: loongson: add bus driver for the loongson spi controller 2023-05-24 8:42 ` Andy Shevchenko @ 2023-05-24 10:19 ` Mark Brown 2023-05-25 3:34 ` zhuyinbo 1 sibling, 0 replies; 29+ messages in thread From: Mark Brown @ 2023-05-24 10:19 UTC (permalink / raw) To: Andy Shevchenko Cc: zhuyinbo, Rob Herring, Krzysztof Kozlowski, linux-spi, devicetree, linux-kernel, Jianmin Lv, wanghongliang, Liu Peibao, loongson-kernel [-- Attachment #1: Type: text/plain, Size: 906 bytes --] On Wed, May 24, 2023 at 11:42:34AM +0300, Andy Shevchenko wrote: > On Wed, May 24, 2023 at 10:52 AM zhuyinbo <zhuyinbo@loongson.cn> wrote: > > >> +#define LOONGSON_SPI_SPCR_REG 0x00 > > >> +#define LOONGSON_SPI_SPSR_REG 0x01 > > >> +#define LOONGSON_SPI_FIFO_REG 0x02 > > >> +#define LOONGSON_SPI_SPER_REG 0x03 > > >> +#define LOONGSON_SPI_PARA_REG 0x04 > > >> +#define LOONGSON_SPI_SFCS_REG 0x05 > > >> +#define LOONGSON_SPI_TIMI_REG 0x06 > > > Where is this used outside of the main driver? > > These definitions are only used in core.c > Then the obvious question, why are they located in *.h? It's absolutely fine to put them in a header file, that's a perfectly normal way of writing code - it helps keep the driver a bit smaller by putting big piles of defines in a separate file, that can help make things a bit more manageable. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [PATCH v11 2/2] spi: loongson: add bus driver for the loongson spi controller 2023-05-24 8:42 ` Andy Shevchenko 2023-05-24 10:19 ` Mark Brown @ 2023-05-25 3:34 ` zhuyinbo 2023-05-25 9:16 ` Andy Shevchenko 1 sibling, 1 reply; 29+ messages in thread From: zhuyinbo @ 2023-05-25 3:34 UTC (permalink / raw) To: Andy Shevchenko Cc: Mark Brown, Rob Herring, Krzysztof Kozlowski, linux-spi, devicetree, linux-kernel, Jianmin Lv, wanghongliang, Liu Peibao, loongson-kernel, zhuyinbo 在 2023/5/24 下午4:42, Andy Shevchenko 写道: > On Wed, May 24, 2023 at 10:52 AM zhuyinbo <zhuyinbo@loongson.cn> wrote: >> 在 2023/5/23 下午8:54, andy.shevchenko@gmail.com 写道: >>> Mon, May 22, 2023 at 03:10:30PM +0800, Yinbo Zhu kirjoitti: > > ... > >>>> +static int loongson_spi_update_state(struct loongson_spi *loongson_spi, >>>> + struct spi_device *spi, struct spi_transfer *t) >>>> +{ >>>> + unsigned int hz; >>>> + >>>> + if (t) >>>> + hz = t->speed_hz; >>> >>> And if t is NULL? hz will be uninitialized. Don't you get a compiler warning? >>> (Always test your code with `make W=1 ...`) >> >> I always use `make W=1` and I don't find any warning, but that what you >> said was right and I will initial hz. > > Note, if hz == 0 when t == NULL, you can unify that check with the below. > >>>> + if (hz && loongson_spi->hz != hz) > > Something like > > if (t && _spi->hz != t->speed_hz) > ...(..., t->speed_hz); > > In such a case you won't need a temporary variable. okay, I got it. > >>>> + loongson_spi_set_clk(loongson_spi, hz); >>>> + >>>> + if ((spi->mode ^ loongson_spi->mode) & SPI_MODE_X_MASK) >>>> + loongson_spi_set_mode(loongson_spi, spi); >>>> + >>>> + return 0; >>>> +} > > ... > >>> Why do you use deprecated naming? Can you use spi_controller* instead of >>> spi_master* in all cases? >> >> It seems was a personal code style issue and I don't find the >> differences between spi_controller and spi_master, Using spi_controller* >> is also acceptable to me and I will use spi_controller* instead of >> spi_master* in all cases. > > Read this section (#4) in full > https://kernel.org/doc/html/latest/process/coding-style.html#naming okay, I got it. > > ... > >>>> + clk = devm_clk_get_optional(dev, NULL); >>>> + if (!IS_ERR(clk)) >>>> + spi->clk_rate = clk_get_rate(clk); >>> >>>> + else >>> >>> Redundant. Just check for the error first as it's very usual pattern in the >>> Linux kernel. >> >> Like below ? >> >> clk = devm_clk_get_optional(dev, NULL); >> - if (!IS_ERR(clk)) >> - spi->clk_rate = clk_get_rate(clk); >> - else >> + if (IS_ERR(clk)) >> return dev_err_probe(dev, PTR_ERR(clk), "unable to get >> clock\n"); >> >> + spi->clk_rate = clk_get_rate(clk); > > Yes. okay, I got it. > >> loongson_spi_reginit(spi); > >>>> + return dev_err_probe(dev, PTR_ERR(clk), "unable to get clock\n"); > > ... > >>>> + ret = loongson_spi_init_master(dev, reg_base); >>>> + if (ret) >>>> + return dev_err_probe(dev, ret, "failed to initialize master\n"); >>>> + >>>> + return ret; >>> >>> return 0; >> >> It seems was more appropriate that initialize ret then return ret. >> Do you think so ? > > What do you mean and how does it help here? I'm sorry, I was wrong before and the ret varible seems not to be initialized and it always record the return value for loongson_spi_init_master. It seems was appropriate that use "return ret" and I don't got your point that in probe for use "return 0" > > > ... > >>>> +#include <linux/spi/spi.h> >>> >>> This neither. >> >> That other .c file seems to need it and I will move it to other .c >> code file. > > Yes, please do. okay, I got it. Thanks, Yinbo ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [PATCH v11 2/2] spi: loongson: add bus driver for the loongson spi controller 2023-05-25 3:34 ` zhuyinbo @ 2023-05-25 9:16 ` Andy Shevchenko 2023-05-25 9:28 ` zhuyinbo 0 siblings, 1 reply; 29+ messages in thread From: Andy Shevchenko @ 2023-05-25 9:16 UTC (permalink / raw) To: zhuyinbo Cc: Mark Brown, Rob Herring, Krzysztof Kozlowski, linux-spi, devicetree, linux-kernel, Jianmin Lv, wanghongliang, Liu Peibao, loongson-kernel On Thu, May 25, 2023 at 6:34 AM zhuyinbo <zhuyinbo@loongson.cn> wrote: > 在 2023/5/24 下午4:42, Andy Shevchenko 写道: > > On Wed, May 24, 2023 at 10:52 AM zhuyinbo <zhuyinbo@loongson.cn> wrote: > >> 在 2023/5/23 下午8:54, andy.shevchenko@gmail.com 写道: > >>> Mon, May 22, 2023 at 03:10:30PM +0800, Yinbo Zhu kirjoitti: ... > >>>> + ret = loongson_spi_init_master(dev, reg_base); > >>>> + if (ret) > >>>> + return dev_err_probe(dev, ret, "failed to initialize master\n"); > >>>> + > >>>> + return ret; > >>> > >>> return 0; > >> > >> It seems was more appropriate that initialize ret then return ret. > >> Do you think so ? > > > > What do you mean and how does it help here? > > I'm sorry, I was wrong before and the ret varible seems not to be > initialized and it always record the return value for > loongson_spi_init_master. > > It seems was appropriate that use "return ret" and I don't got your > point that in probe for use "return 0" In the above excerpt you will return anything except 0 with return dev_err_probe(); line. Why do you still need to return ret; at the end of the function? -- With Best Regards, Andy Shevchenko ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [PATCH v11 2/2] spi: loongson: add bus driver for the loongson spi controller 2023-05-25 9:16 ` Andy Shevchenko @ 2023-05-25 9:28 ` zhuyinbo 0 siblings, 0 replies; 29+ messages in thread From: zhuyinbo @ 2023-05-25 9:28 UTC (permalink / raw) To: Andy Shevchenko Cc: Mark Brown, Rob Herring, Krzysztof Kozlowski, linux-spi, devicetree, linux-kernel, Jianmin Lv, wanghongliang, Liu Peibao, loongson-kernel, zhuyinbo 在 2023/5/25 下午5:16, Andy Shevchenko 写道: > On Thu, May 25, 2023 at 6:34 AM zhuyinbo <zhuyinbo@loongson.cn> wrote: >> 在 2023/5/24 下午4:42, Andy Shevchenko 写道: >>> On Wed, May 24, 2023 at 10:52 AM zhuyinbo <zhuyinbo@loongson.cn> wrote: >>>> 在 2023/5/23 下午8:54, andy.shevchenko@gmail.com 写道: >>>>> Mon, May 22, 2023 at 03:10:30PM +0800, Yinbo Zhu kirjoitti: > > ... > >>>>>> + ret = loongson_spi_init_master(dev, reg_base); >>>>>> + if (ret) >>>>>> + return dev_err_probe(dev, ret, "failed to initialize master\n"); >>>>>> + >>>>>> + return ret; >>>>> >>>>> return 0; >>>> >>>> It seems was more appropriate that initialize ret then return ret. >>>> Do you think so ? >>> >>> What do you mean and how does it help here? >> >> I'm sorry, I was wrong before and the ret varible seems not to be >> initialized and it always record the return value for >> loongson_spi_init_master. >> >> It seems was appropriate that use "return ret" and I don't got your >> point that in probe for use "return 0" > > In the above excerpt you will return anything except 0 with return > dev_err_probe(); line. Why do you still need to return ret; at the end > of the function? I'm sorry, I misread it and you are right and I will "return 0". Thanks, Yinbo. ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [PATCH v11 2/2] spi: loongson: add bus driver for the loongson spi controller 2023-05-22 7:10 ` [PATCH v11 2/2] spi: loongson: add bus driver for the loongson spi controller Yinbo Zhu 2023-05-23 12:54 ` andy.shevchenko @ 2023-05-24 12:07 ` kernel test robot 2023-05-25 2:26 ` zhuyinbo 1 sibling, 1 reply; 29+ messages in thread From: kernel test robot @ 2023-05-24 12:07 UTC (permalink / raw) To: Yinbo Zhu; +Cc: llvm, oe-kbuild-all [-- Attachment #1: Type: text/plain, Size: 3448 bytes --] Hi Yinbo, kernel test robot noticed the following build warnings: [auto build test WARNING on broonie-spi/for-next] [also build test WARNING on robh/for-next krzk-dt/for-next] [cannot apply to linus/master v6.4-rc3 next-20230524] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Yinbo-Zhu/dt-bindings-spi-add-loongson-spi/20230522-151320 base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next patch link: https://lore.kernel.org/r/20230522071030.5193-3-zhuyinbo%40loongson.cn patch subject: [PATCH v11 2/2] spi: loongson: add bus driver for the loongson spi controller config: arm-randconfig-r005-20230524 compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project 4faf3aaf28226a4e950c103a14f6fc1d1fdabb1b) reproduce (this is a W=1 build): mkdir -p ~/bin wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # install arm cross compiling tool for clang build # apt-get install binutils-arm-linux-gnueabi # https://github.com/intel-lab-lkp/linux/commit/5be581a056498d3c9b4265dd4f3a3925b7f6b339 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Yinbo-Zhu/dt-bindings-spi-add-loongson-spi/20230522-151320 git checkout 5be581a056498d3c9b4265dd4f3a3925b7f6b339 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang ~/bin/make.cross W=1 O=build_dir ARCH=arm olddefconfig COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang ~/bin/make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash drivers/spi/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202305241914.oPbPV8Lz-lkp@intel.com/ All warnings (new ones prefixed by >>): >> drivers/spi/spi-loongson-core.c:80:6: warning: variable 'hz' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized] if (t) ^ drivers/spi/spi-loongson-core.c:83:6: note: uninitialized use occurs here if (hz && loongson_spi->hz != hz) ^~ drivers/spi/spi-loongson-core.c:80:2: note: remove the 'if' if its condition is always true if (t) ^~~~~~ drivers/spi/spi-loongson-core.c:78:17: note: initialize the variable 'hz' to silence this warning unsigned int hz; ^ = 0 1 warning generated. vim +80 drivers/spi/spi-loongson-core.c 74 75 static int loongson_spi_update_state(struct loongson_spi *loongson_spi, 76 struct spi_device *spi, struct spi_transfer *t) 77 { 78 unsigned int hz; 79 > 80 if (t) 81 hz = t->speed_hz; 82 83 if (hz && loongson_spi->hz != hz) 84 loongson_spi_set_clk(loongson_spi, hz); 85 86 if ((spi->mode ^ loongson_spi->mode) & SPI_MODE_X_MASK) 87 loongson_spi_set_mode(loongson_spi, spi); 88 89 return 0; 90 } 91 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki [-- Attachment #2: config --] [-- Type: text/plain, Size: 158358 bytes --] # # Automatically generated file; DO NOT EDIT. # Linux/arm 6.4.0-rc1 Kernel Configuration # CONFIG_CC_VERSION_TEXT="clang version 17.0.0 (git://gitmirror/llvm_project 4faf3aaf28226a4e950c103a14f6fc1d1fdabb1b)" CONFIG_GCC_VERSION=0 CONFIG_CC_IS_CLANG=y CONFIG_CLANG_VERSION=170000 CONFIG_AS_IS_LLVM=y CONFIG_AS_VERSION=170000 CONFIG_LD_VERSION=0 CONFIG_LD_IS_LLD=y CONFIG_LLD_VERSION=170000 CONFIG_RUST_IS_AVAILABLE=y CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y CONFIG_TOOLS_SUPPORT_RELR=y CONFIG_CC_HAS_ASM_INLINE=y CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y CONFIG_PAHOLE_VERSION=125 CONFIG_IRQ_WORK=y CONFIG_THREAD_INFO_IN_TASK=y # # General setup # CONFIG_BROKEN_ON_SMP=y CONFIG_INIT_ENV_ARG_LIMIT=32 CONFIG_COMPILE_TEST=y # CONFIG_WERROR is not set CONFIG_LOCALVERSION="" CONFIG_BUILD_SALT="" CONFIG_HAVE_KERNEL_GZIP=y CONFIG_HAVE_KERNEL_LZMA=y CONFIG_HAVE_KERNEL_XZ=y CONFIG_HAVE_KERNEL_LZO=y CONFIG_HAVE_KERNEL_LZ4=y CONFIG_KERNEL_GZIP=y # CONFIG_KERNEL_LZMA is not set # CONFIG_KERNEL_XZ is not set # CONFIG_KERNEL_LZO is not set # CONFIG_KERNEL_LZ4 is not set CONFIG_DEFAULT_INIT="" CONFIG_DEFAULT_HOSTNAME="(none)" # CONFIG_SYSVIPC is not set CONFIG_WATCH_QUEUE=y CONFIG_USELIB=y CONFIG_HAVE_ARCH_AUDITSYSCALL=y # # IRQ subsystem # CONFIG_GENERIC_IRQ_PROBE=y CONFIG_GENERIC_IRQ_SHOW=y CONFIG_GENERIC_IRQ_SHOW_LEVEL=y CONFIG_HARDIRQS_SW_RESEND=y CONFIG_GENERIC_IRQ_CHIP=y CONFIG_IRQ_DOMAIN=y CONFIG_IRQ_SIM=y CONFIG_IRQ_DOMAIN_HIERARCHY=y CONFIG_IRQ_FASTEOI_HIERARCHY_HANDLERS=y CONFIG_IRQ_FORCED_THREADING=y CONFIG_SPARSE_IRQ=y # CONFIG_GENERIC_IRQ_DEBUGFS is not set # end of IRQ subsystem CONFIG_GENERIC_IRQ_MULTI_HANDLER=y CONFIG_GENERIC_CLOCKEVENTS=y CONFIG_TIME_KUNIT_TEST=y CONFIG_CONTEXT_TRACKING=y # # Timers subsystem # CONFIG_TICK_ONESHOT=y CONFIG_NO_HZ_COMMON=y # CONFIG_HZ_PERIODIC is not set CONFIG_NO_HZ_IDLE=y CONFIG_CONTEXT_TRACKING_USER=y # CONFIG_CONTEXT_TRACKING_USER_FORCE is not set # CONFIG_NO_HZ is not set # CONFIG_HIGH_RES_TIMERS is not set # end of Timers subsystem CONFIG_BPF=y CONFIG_HAVE_EBPF_JIT=y # # BPF subsystem # CONFIG_BPF_SYSCALL=y # CONFIG_BPF_UNPRIV_DEFAULT_OFF is not set # end of BPF subsystem CONFIG_PREEMPT_VOLUNTARY_BUILD=y # CONFIG_PREEMPT_NONE is not set CONFIG_PREEMPT_VOLUNTARY=y # CONFIG_PREEMPT is not set CONFIG_PREEMPT_COUNT=y # # CPU/Task time and stats accounting # CONFIG_VIRT_CPU_ACCOUNTING=y # CONFIG_TICK_CPU_ACCOUNTING is not set CONFIG_VIRT_CPU_ACCOUNTING_GEN=y CONFIG_IRQ_TIME_ACCOUNTING=y CONFIG_BSD_PROCESS_ACCT=y # CONFIG_BSD_PROCESS_ACCT_V3 is not set CONFIG_PSI=y CONFIG_PSI_DEFAULT_DISABLED=y # end of CPU/Task time and stats accounting CONFIG_CPU_ISOLATION=y # # RCU Subsystem # CONFIG_TINY_RCU=y CONFIG_RCU_EXPERT=y CONFIG_TINY_SRCU=y CONFIG_TASKS_RCU_GENERIC=y CONFIG_FORCE_TASKS_RCU=y CONFIG_TASKS_RCU=y CONFIG_FORCE_TASKS_RUDE_RCU=y CONFIG_TASKS_RUDE_RCU=y CONFIG_FORCE_TASKS_TRACE_RCU=y CONFIG_TASKS_TRACE_RCU=y CONFIG_RCU_NEED_SEGCBLIST=y # CONFIG_TASKS_TRACE_RCU_READ_MB is not set # end of RCU Subsystem # CONFIG_IKCONFIG is not set # CONFIG_IKHEADERS is not set CONFIG_LOG_BUF_SHIFT=17 CONFIG_PRINTK_INDEX=y CONFIG_GENERIC_SCHED_CLOCK=y # # Scheduler features # # end of Scheduler features CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough" CONFIG_GCC11_NO_ARRAY_BOUNDS=y CONFIG_CGROUPS=y CONFIG_PAGE_COUNTER=y CONFIG_CGROUP_FAVOR_DYNMODS=y CONFIG_MEMCG=y CONFIG_MEMCG_KMEM=y # CONFIG_BLK_CGROUP is not set CONFIG_CGROUP_SCHED=y CONFIG_FAIR_GROUP_SCHED=y # CONFIG_CFS_BANDWIDTH is not set CONFIG_RT_GROUP_SCHED=y # CONFIG_CGROUP_PIDS is not set # CONFIG_CGROUP_RDMA is not set # CONFIG_CGROUP_FREEZER is not set CONFIG_CGROUP_DEVICE=y CONFIG_CGROUP_CPUACCT=y # CONFIG_CGROUP_PERF is not set CONFIG_CGROUP_BPF=y CONFIG_CGROUP_MISC=y CONFIG_CGROUP_DEBUG=y CONFIG_SOCK_CGROUP_DATA=y CONFIG_NAMESPACES=y # CONFIG_UTS_NS is not set CONFIG_USER_NS=y # CONFIG_PID_NS is not set # CONFIG_CHECKPOINT_RESTORE is not set # CONFIG_SCHED_AUTOGROUP is not set CONFIG_RELAY=y CONFIG_BLK_DEV_INITRD=y CONFIG_INITRAMFS_SOURCE="" # CONFIG_RD_GZIP is not set CONFIG_RD_BZIP2=y CONFIG_RD_LZMA=y CONFIG_RD_XZ=y CONFIG_RD_LZO=y CONFIG_RD_LZ4=y CONFIG_RD_ZSTD=y # CONFIG_BOOT_CONFIG is not set CONFIG_INITRAMFS_PRESERVE_MTIME=y # CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set CONFIG_CC_OPTIMIZE_FOR_SIZE=y CONFIG_LD_ORPHAN_WARN=y CONFIG_LD_ORPHAN_WARN_LEVEL="warn" CONFIG_SYSCTL=y CONFIG_HAVE_UID16=y # CONFIG_EXPERT is not set CONFIG_UID16=y CONFIG_MULTIUSER=y CONFIG_SYSFS_SYSCALL=y CONFIG_FHANDLE=y CONFIG_POSIX_TIMERS=y CONFIG_PRINTK=y CONFIG_BUG=y CONFIG_ELF_CORE=y CONFIG_BASE_FULL=y CONFIG_FUTEX=y CONFIG_FUTEX_PI=y CONFIG_EPOLL=y CONFIG_SIGNALFD=y CONFIG_TIMERFD=y CONFIG_EVENTFD=y CONFIG_AIO=y CONFIG_IO_URING=y CONFIG_ADVISE_SYSCALLS=y CONFIG_MEMBARRIER=y CONFIG_KALLSYMS=y # CONFIG_KALLSYMS_SELFTEST is not set CONFIG_KALLSYMS_ALL=y CONFIG_KALLSYMS_BASE_RELATIVE=y CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y CONFIG_KCMP=y CONFIG_RSEQ=y # CONFIG_EMBEDDED is not set CONFIG_HAVE_PERF_EVENTS=y CONFIG_PERF_USE_VMALLOC=y # # Kernel Performance Events And Counters # CONFIG_PERF_EVENTS=y CONFIG_DEBUG_PERF_USE_VMALLOC=y # end of Kernel Performance Events And Counters CONFIG_SYSTEM_DATA_VERIFICATION=y CONFIG_PROFILING=y # end of General setup CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y CONFIG_NO_IOPORT_MAP=y CONFIG_STACKTRACE_SUPPORT=y CONFIG_LOCKDEP_SUPPORT=y CONFIG_GENERIC_HWEIGHT=y CONFIG_GENERIC_CALIBRATE_DELAY=y CONFIG_ARCH_SUPPORTS_UPROBES=y CONFIG_PHYS_OFFSET=0x00800000 CONFIG_GENERIC_BUG=y CONFIG_PGTABLE_LEVELS=2 # # System Type # # CONFIG_MMU is not set CONFIG_ARM_SINGLE_ARMV7M=y CONFIG_ARCH_MMAP_RND_BITS_MIN=8 CONFIG_ARCH_MMAP_RND_BITS_MAX=16 # CONFIG_ARCH_AT91 is not set CONFIG_ARCH_MXC=y # # Cortex-A/Cortex-M asymmetric multiprocessing platforms # CONFIG_SOC_IMX7D_CM4=y CONFIG_SOC_IMX7D=y CONFIG_SOC_IMX7ULP=y # CONFIG_SOC_IMXRT is not set CONFIG_SOC_VF610=y CONFIG_VF_USE_PIT_TIMER=y # CONFIG_ARCH_STM32 is not set CONFIG_ARCH_LPC18XX=y CONFIG_ARCH_MPS2=y # # Processor Type # CONFIG_CPU_V7M=y CONFIG_CPU_THUMBONLY=y CONFIG_CPU_THUMB_CAPABLE=y CONFIG_CPU_32v7M=y CONFIG_CPU_ABRT_NOMMU=y CONFIG_CPU_PABRT_LEGACY=y CONFIG_CPU_CACHE_NOP=y CONFIG_CPU_CACHE_V7M=y CONFIG_CPU_V7M_NUM_IRQ=112 # # Processor Features # CONFIG_ARM_THUMB=y CONFIG_CPU_LITTLE_ENDIAN=y # CONFIG_CPU_ICACHE_DISABLE is not set CONFIG_CPU_DCACHE_DISABLE=y # CONFIG_CPU_BPREDICT_DISABLE is not set CONFIG_ARM_L1_CACHE_SHIFT=5 # CONFIG_ARM_DMA_MEM_BUFFERABLE is not set CONFIG_SET_MEM_PARAM=y CONFIG_DRAM_BASE=0x00800000 CONFIG_DRAM_SIZE=0x00800000 CONFIG_REMAP_VECTORS_TO_RAM=y CONFIG_ARM_MPU=y # end of System Type # # Bus support # # end of Bus support # # Kernel Features # CONFIG_IRQSTACKS=y CONFIG_PAGE_OFFSET=0x00800000 CONFIG_HZ_FIXED=0 # CONFIG_HZ_100 is not set # CONFIG_HZ_200 is not set # CONFIG_HZ_250 is not set # CONFIG_HZ_300 is not set # CONFIG_HZ_500 is not set CONFIG_HZ_1000=y CONFIG_HZ=1000 CONFIG_THUMB2_KERNEL=y CONFIG_AEABI=y CONFIG_ARCH_SELECT_MEMORY_MODEL=y CONFIG_ARCH_FLATMEM_ENABLE=y CONFIG_ARCH_SPARSEMEM_ENABLE=y CONFIG_HW_PERF_EVENTS=y CONFIG_ARCH_FORCE_MAX_ORDER=10 CONFIG_PARAVIRT=y CONFIG_PARAVIRT_TIME_ACCOUNTING=y CONFIG_CC_HAVE_STACKPROTECTOR_TLS=y # end of Kernel Features # # Boot options # CONFIG_USE_OF=y CONFIG_ATAGS=y # CONFIG_DEPRECATED_PARAM_STRUCT is not set CONFIG_ZBOOT_ROM_TEXT=0x0 CONFIG_ZBOOT_ROM_BSS=0x0 # CONFIG_ARM_APPENDED_DTB is not set CONFIG_CMDLINE="" # CONFIG_XIP_KERNEL is not set # CONFIG_CRASH_DUMP is not set # CONFIG_AUTO_ZRELADDR is not set # end of Boot options # # CPU Power Management # # # CPU Frequency scaling # # CONFIG_CPU_FREQ is not set # end of CPU Frequency scaling # # CPU Idle # # CONFIG_CPU_IDLE is not set # end of CPU Idle # end of CPU Power Management # # Floating point emulation # # # At least one emulation must be selected # # end of Floating point emulation # # Power management options # # CONFIG_SUSPEND is not set # CONFIG_PM is not set CONFIG_APM_EMULATION=y CONFIG_ARCH_SUSPEND_POSSIBLE=y # end of Power management options CONFIG_AS_VFP_VMRS_FPINST=y # # General architecture-dependent options # CONFIG_ARCH_USE_BUILTIN_BSWAP=y CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y CONFIG_HAVE_NMI=y CONFIG_HAVE_ARCH_TRACEHOOK=y CONFIG_GENERIC_SMP_IDLE_THREAD=y CONFIG_GENERIC_IDLE_POLL_SETUP=y CONFIG_ARCH_HAS_FORTIFY_SOURCE=y CONFIG_ARCH_HAS_KEEPINITRD=y CONFIG_ARCH_HAS_SET_MEMORY=y CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y CONFIG_ARCH_32BIT_OFF_T=y CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y CONFIG_HAVE_RSEQ=y CONFIG_HAVE_PERF_REGS=y CONFIG_HAVE_PERF_USER_STACK_DUMP=y CONFIG_MMU_LAZY_TLB_REFCOUNT=y CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y CONFIG_HAVE_ARCH_SECCOMP=y CONFIG_HAVE_ARCH_SECCOMP_FILTER=y # CONFIG_SECCOMP is not set CONFIG_HAVE_STACKPROTECTOR=y CONFIG_STACKPROTECTOR=y # CONFIG_STACKPROTECTOR_STRONG is not set CONFIG_LTO_NONE=y CONFIG_HAVE_CONTEXT_TRACKING_USER=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y CONFIG_HAVE_MOD_ARCH_SPECIFIC=y CONFIG_MODULES_USE_ELF_REL=y CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y CONFIG_SOFTIRQ_ON_OWN_STACK=y CONFIG_ARCH_HAS_ELF_RANDOMIZE=y CONFIG_HAVE_EXIT_THREAD=y CONFIG_PAGE_SIZE_LESS_THAN_64KB=y CONFIG_PAGE_SIZE_LESS_THAN_256KB=y CONFIG_ISA_BUS_API=y CONFIG_CLONE_BACKWARDS=y CONFIG_OLD_SIGSUSPEND3=y CONFIG_OLD_SIGACTION=y CONFIG_COMPAT_32BIT_TIME=y CONFIG_LOCK_EVENT_COUNTS=y CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y CONFIG_HAVE_ARCH_PFN_VALID=y # # GCOV-based kernel profiling # # CONFIG_GCOV_KERNEL is not set CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y # end of GCOV-based kernel profiling CONFIG_HAVE_GCC_PLUGINS=y CONFIG_FUNCTION_ALIGNMENT=0 # end of General architecture-dependent options CONFIG_RT_MUTEXES=y CONFIG_BASE_SMALL=0 # CONFIG_MODULES is not set CONFIG_BLOCK=y CONFIG_BLOCK_LEGACY_AUTOLOAD=y CONFIG_BLK_CGROUP_PUNT_BIO=y CONFIG_BLK_DEV_BSG_COMMON=y CONFIG_BLK_ICQ=y CONFIG_BLK_DEV_BSGLIB=y CONFIG_BLK_DEV_INTEGRITY=y CONFIG_BLK_DEV_INTEGRITY_T10=y # CONFIG_BLK_DEV_ZONED is not set CONFIG_BLK_WBT=y CONFIG_BLK_WBT_MQ=y # CONFIG_BLK_DEBUG_FS is not set CONFIG_BLK_SED_OPAL=y CONFIG_BLK_INLINE_ENCRYPTION=y # CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK is not set # # Partition Types # CONFIG_PARTITION_ADVANCED=y CONFIG_ACORN_PARTITION=y CONFIG_ACORN_PARTITION_CUMANA=y # CONFIG_ACORN_PARTITION_EESOX is not set CONFIG_ACORN_PARTITION_ICS=y CONFIG_ACORN_PARTITION_ADFS=y CONFIG_ACORN_PARTITION_POWERTEC=y # CONFIG_ACORN_PARTITION_RISCIX is not set # CONFIG_AIX_PARTITION is not set # CONFIG_OSF_PARTITION is not set # CONFIG_AMIGA_PARTITION is not set # CONFIG_ATARI_PARTITION is not set # CONFIG_MAC_PARTITION is not set CONFIG_MSDOS_PARTITION=y # CONFIG_BSD_DISKLABEL is not set # CONFIG_MINIX_SUBPARTITION is not set # CONFIG_SOLARIS_X86_PARTITION is not set # CONFIG_UNIXWARE_DISKLABEL is not set # CONFIG_LDM_PARTITION is not set CONFIG_SGI_PARTITION=y # CONFIG_ULTRIX_PARTITION is not set # CONFIG_SUN_PARTITION is not set # CONFIG_KARMA_PARTITION is not set # CONFIG_EFI_PARTITION is not set # CONFIG_SYSV68_PARTITION is not set # CONFIG_CMDLINE_PARTITION is not set # end of Partition Types CONFIG_BLK_MQ_VIRTIO=y # # IO Schedulers # CONFIG_MQ_IOSCHED_DEADLINE=y CONFIG_MQ_IOSCHED_KYBER=y CONFIG_IOSCHED_BFQ=y # end of IO Schedulers CONFIG_ASN1=y CONFIG_UNINLINE_SPIN_UNLOCK=y CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y # # Executable file formats # # CONFIG_BINFMT_ELF_FDPIC is not set CONFIG_BINFMT_SCRIPT=y CONFIG_ARCH_HAS_BINFMT_FLAT=y CONFIG_BINFMT_FLAT=y CONFIG_BINFMT_FLAT_ARGVP_ENVP_ON_STACK=y # CONFIG_BINFMT_FLAT_OLD is not set CONFIG_BINFMT_ZFLAT=y # CONFIG_BINFMT_MISC is not set CONFIG_COREDUMP=y # end of Executable file formats # # Memory Management options # # # SLAB allocator options # # CONFIG_SLAB is not set CONFIG_SLUB=y CONFIG_SLAB_MERGE_DEFAULT=y CONFIG_SLAB_FREELIST_RANDOM=y CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_SLUB_STATS=y # end of SLAB allocator options CONFIG_SHUFFLE_PAGE_ALLOCATOR=y # CONFIG_COMPAT_BRK is not set CONFIG_SELECT_MEMORY_MODEL=y CONFIG_FLATMEM_MANUAL=y # CONFIG_SPARSEMEM_MANUAL is not set CONFIG_FLATMEM=y CONFIG_ARCH_KEEP_MEMBLOCK=y CONFIG_SPLIT_PTLOCK_CPUS=999999 CONFIG_PAGE_REPORTING=y CONFIG_NOMMU_INITIAL_TRIM_EXCESS=1 CONFIG_ARCH_WANT_GENERAL_HUGETLB=y CONFIG_NEED_PER_CPU_KM=y CONFIG_GENERIC_EARLY_IOREMAP=y CONFIG_ARCH_HAS_CURRENT_STACK_POINTER=y CONFIG_VM_EVENT_COUNTERS=y # CONFIG_PERCPU_STATS is not set # CONFIG_GUP_TEST is not set CONFIG_DMAPOOL_TEST=y # # Data Access Monitoring # # CONFIG_DAMON is not set # end of Data Access Monitoring # end of Memory Management options # CONFIG_NET is not set # # Device Drivers # CONFIG_ARM_AMBA=y CONFIG_PCCARD=y CONFIG_PCMCIA=y CONFIG_PCMCIA_LOAD_CIS=y # # PC-card bridges # CONFIG_OMAP_CF=y # # Generic Driver Options # CONFIG_AUXILIARY_BUS=y CONFIG_UEVENT_HELPER=y CONFIG_UEVENT_HELPER_PATH="" CONFIG_DEVTMPFS=y # CONFIG_DEVTMPFS_MOUNT is not set # CONFIG_DEVTMPFS_SAFE is not set # CONFIG_STANDALONE is not set CONFIG_PREVENT_FIRMWARE_BUILD=y # # Firmware loader # CONFIG_FW_LOADER=y CONFIG_FW_LOADER_PAGED_BUF=y CONFIG_FW_LOADER_SYSFS=y CONFIG_EXTRA_FIRMWARE="" CONFIG_FW_LOADER_USER_HELPER=y # CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set # CONFIG_FW_LOADER_COMPRESS is not set CONFIG_FW_UPLOAD=y # end of Firmware loader CONFIG_ALLOW_DEV_COREDUMP=y CONFIG_DEBUG_DRIVER=y CONFIG_DEBUG_DEVRES=y # CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set CONFIG_PM_QOS_KUNIT_TEST=y CONFIG_DRIVER_PE_KUNIT_TEST=y CONFIG_GENERIC_CPU_AUTOPROBE=y CONFIG_SOC_BUS=y CONFIG_REGMAP=y CONFIG_REGMAP_KUNIT=y CONFIG_REGMAP_I2C=y CONFIG_REGMAP_SPI=y CONFIG_REGMAP_SPMI=y CONFIG_REGMAP_W1=y CONFIG_REGMAP_MMIO=y CONFIG_REGMAP_IRQ=y CONFIG_REGMAP_RAM=y CONFIG_REGMAP_SCCB=y CONFIG_REGMAP_SPI_AVMM=y CONFIG_DMA_SHARED_BUFFER=y # CONFIG_DMA_FENCE_TRACE is not set CONFIG_FW_DEVLINK_SYNC_STATE_TIMEOUT=y # end of Generic Driver Options # # Bus devices # CONFIG_ARM_INTEGRATOR_LM=y CONFIG_BRCMSTB_GISB_ARB=y # CONFIG_BT1_APB is not set # CONFIG_BT1_AXI is not set CONFIG_MOXTET=y # CONFIG_HISILICON_LPC is not set # CONFIG_IMX_WEIM is not set CONFIG_INTEL_IXP4XX_EB=y # CONFIG_QCOM_EBI2 is not set # CONFIG_VEXPRESS_CONFIG is not set # CONFIG_FSL_MC_BUS is not set CONFIG_MHI_BUS=y # CONFIG_MHI_BUS_DEBUG is not set CONFIG_MHI_BUS_EP=y # end of Bus devices # # Firmware Drivers # # # ARM System Control and Management Interface Protocol # CONFIG_ARM_SCMI_PROTOCOL=y # CONFIG_ARM_SCMI_RAW_MODE_SUPPORT is not set CONFIG_ARM_SCMI_HAVE_TRANSPORT=y CONFIG_ARM_SCMI_HAVE_SHMEM=y CONFIG_ARM_SCMI_HAVE_MSG=y CONFIG_ARM_SCMI_TRANSPORT_MAILBOX=y CONFIG_ARM_SCMI_TRANSPORT_VIRTIO=y CONFIG_ARM_SCMI_TRANSPORT_VIRTIO_VERSION1_COMPLIANCE=y CONFIG_ARM_SCMI_TRANSPORT_VIRTIO_ATOMIC_ENABLE=y CONFIG_ARM_SCMI_POWER_DOMAIN=y # CONFIG_ARM_SCMI_POWER_CONTROL is not set # end of ARM System Control and Management Interface Protocol CONFIG_ARM_SCPI_PROTOCOL=y # CONFIG_ARM_SCPI_POWER_DOMAIN is not set CONFIG_QCOM_SCM=y CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT=y CONFIG_TURRIS_MOX_RWTM=y # CONFIG_BCM47XX_NVRAM is not set # CONFIG_GOOGLE_FIRMWARE is not set CONFIG_IMX_DSP=y # CONFIG_IMX_SCU is not set # # Tegra firmware driver # # end of Tegra firmware driver # end of Firmware Drivers CONFIG_GNSS=y CONFIG_GNSS_SERIAL=y # CONFIG_GNSS_MTK_SERIAL is not set CONFIG_GNSS_SIRF_SERIAL=y CONFIG_GNSS_UBX_SERIAL=y CONFIG_GNSS_USB=y # CONFIG_MTD is not set CONFIG_DTC=y CONFIG_OF=y # CONFIG_OF_UNITTEST is not set # CONFIG_OF_ALL_DTBS is not set CONFIG_OF_FLATTREE=y CONFIG_OF_EARLY_FLATTREE=y CONFIG_OF_KOBJ=y CONFIG_OF_DYNAMIC=y CONFIG_OF_ADDRESS=y CONFIG_OF_IRQ=y CONFIG_OF_RESERVED_MEM=y # CONFIG_OF_OVERLAY is not set CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y CONFIG_PARPORT=y # CONFIG_PARPORT_PC is not set # CONFIG_PARPORT_1284 is not set CONFIG_PARPORT_NOT_PC=y CONFIG_BLK_DEV=y # CONFIG_BLK_DEV_NULL_BLK is not set CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 # # DRBD disabled because PROC_FS or INET not selected # CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM_COUNT=16 CONFIG_BLK_DEV_RAM_SIZE=4096 # CONFIG_CDROM_PKTCDVD is not set CONFIG_VIRTIO_BLK=y CONFIG_BLK_DEV_UBLK=y CONFIG_BLKDEV_UBLK_LEGACY_OPCODES=y # # NVME Support # CONFIG_NVME_COMMON=y CONFIG_NVME_CORE=y CONFIG_NVME_MULTIPATH=y CONFIG_NVME_VERBOSE_ERRORS=y CONFIG_NVME_HWMON=y CONFIG_NVME_FABRICS=y # CONFIG_NVME_FC is not set # CONFIG_NVME_AUTH is not set CONFIG_NVME_TARGET=y # CONFIG_NVME_TARGET_PASSTHRU is not set CONFIG_NVME_TARGET_LOOP=y # CONFIG_NVME_TARGET_FC is not set CONFIG_NVME_TARGET_AUTH=y # end of NVME Support # # Misc devices # CONFIG_SENSORS_LIS3LV02D=y # CONFIG_AD525X_DPOT is not set CONFIG_DUMMY_IRQ=y # CONFIG_ICS932S401 is not set CONFIG_ATMEL_SSC=y CONFIG_ENCLOSURE_SERVICES=y CONFIG_SMPRO_ERRMON=y # CONFIG_SMPRO_MISC is not set CONFIG_GEHC_ACHC=y # CONFIG_HI6421V600_IRQ is not set CONFIG_QCOM_COINCELL=y CONFIG_QCOM_FASTRPC=y # CONFIG_APDS9802ALS is not set CONFIG_ISL29003=y CONFIG_ISL29020=y # CONFIG_SENSORS_TSL2550 is not set # CONFIG_SENSORS_BH1770 is not set CONFIG_SENSORS_APDS990X=y # CONFIG_HMC6352 is not set CONFIG_DS1682=y CONFIG_LATTICE_ECP3_CONFIG=y CONFIG_SRAM=y CONFIG_SRAM_EXEC=y # CONFIG_XILINX_SDFEC is not set CONFIG_MISC_RTSX=y # CONFIG_HISI_HIKEY_USB is not set # CONFIG_OPEN_DICE is not set CONFIG_VCPU_STALL_DETECTOR=y # CONFIG_C2PORT is not set # # EEPROM support # CONFIG_EEPROM_AT24=y # CONFIG_EEPROM_AT25 is not set CONFIG_EEPROM_LEGACY=y CONFIG_EEPROM_MAX6875=y CONFIG_EEPROM_93CX6=y # CONFIG_EEPROM_93XX46 is not set CONFIG_EEPROM_IDT_89HPESX=y CONFIG_EEPROM_EE1004=y # end of EEPROM support # # Texas Instruments shared transport line discipline # # end of Texas Instruments shared transport line discipline CONFIG_SENSORS_LIS3_SPI=y # CONFIG_SENSORS_LIS3_I2C is not set CONFIG_ALTERA_STAPL=y CONFIG_ECHO=y CONFIG_MISC_RTSX_USB=y CONFIG_PVPANIC=y CONFIG_PVPANIC_MMIO=y # end of Misc devices # # SCSI device support # CONFIG_SCSI_MOD=y # CONFIG_RAID_ATTRS is not set CONFIG_SCSI_COMMON=y CONFIG_SCSI=y CONFIG_SCSI_DMA=y # CONFIG_SCSI_PROC_FS is not set # # SCSI support type (disk, tape, CD-ROM) # # CONFIG_BLK_DEV_SD is not set # CONFIG_CHR_DEV_ST is not set # CONFIG_BLK_DEV_SR is not set # CONFIG_CHR_DEV_SG is not set CONFIG_BLK_DEV_BSG=y CONFIG_CHR_DEV_SCH=y CONFIG_SCSI_ENCLOSURE=y # CONFIG_SCSI_CONSTANTS is not set # CONFIG_SCSI_LOGGING is not set CONFIG_SCSI_SCAN_ASYNC=y # # SCSI Transports # # CONFIG_SCSI_SPI_ATTRS is not set # CONFIG_SCSI_SAS_ATTRS is not set # CONFIG_SCSI_SAS_LIBSAS is not set CONFIG_SCSI_SRP_ATTRS=y # end of SCSI Transports CONFIG_SCSI_LOWLEVEL=y CONFIG_ISCSI_BOOT_SYSFS=y # CONFIG_SCSI_HISI_SAS is not set CONFIG_SCSI_DEBUG=y CONFIG_SCSI_VIRTIO=y # CONFIG_SCSI_LOWLEVEL_PCMCIA is not set # CONFIG_SCSI_DH is not set # end of SCSI device support CONFIG_ATA=y CONFIG_SATA_HOST=y # CONFIG_ATA_VERBOSE_ERROR is not set CONFIG_ATA_FORCE=y # CONFIG_SATA_PMP is not set # # Controllers with non-SFF native interface # CONFIG_SATA_AHCI_PLATFORM=y # CONFIG_AHCI_BRCM is not set CONFIG_AHCI_DA850=y # CONFIG_AHCI_DM816 is not set # CONFIG_AHCI_DWC is not set CONFIG_AHCI_ST=y # CONFIG_AHCI_IMX is not set CONFIG_AHCI_CEVA=y # CONFIG_AHCI_MTK is not set CONFIG_AHCI_MVEBU=y CONFIG_AHCI_SUNXI=y CONFIG_AHCI_TEGRA=y CONFIG_AHCI_XGENE=y CONFIG_AHCI_QORIQ=y CONFIG_SATA_FSL=y CONFIG_SATA_GEMINI=y CONFIG_SATA_AHCI_SEATTLE=y CONFIG_ATA_SFF=y # # SFF controllers with custom DMA interface # # CONFIG_ATA_BMDMA is not set # # PIO-only SFF controllers # # CONFIG_PATA_IXP4XX_CF is not set # CONFIG_PATA_PCMCIA is not set CONFIG_PATA_PLATFORM=y CONFIG_PATA_OF_PLATFORM=y # # Generic fallback / legacy drivers # # CONFIG_MD is not set CONFIG_TARGET_CORE=y CONFIG_TCM_IBLOCK=y CONFIG_TCM_FILEIO=y CONFIG_TCM_PSCSI=y # CONFIG_LOOPBACK_TARGET is not set # CONFIG_REMOTE_TARGET is not set # # IEEE 1394 (FireWire) support # # CONFIG_FIREWIRE is not set # end of IEEE 1394 (FireWire) support # # Input device support # CONFIG_INPUT=y CONFIG_INPUT_LEDS=y CONFIG_INPUT_FF_MEMLESS=y CONFIG_INPUT_SPARSEKMAP=y CONFIG_INPUT_MATRIXKMAP=y CONFIG_INPUT_VIVALDIFMAP=y # # Userland interfaces # CONFIG_INPUT_MOUSEDEV=y CONFIG_INPUT_MOUSEDEV_PSAUX=y CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 # CONFIG_INPUT_JOYDEV is not set # CONFIG_INPUT_EVDEV is not set CONFIG_INPUT_EVBUG=y CONFIG_INPUT_KUNIT_TEST=y # # Input Device Drivers # CONFIG_INPUT_KEYBOARD=y CONFIG_KEYBOARD_ADP5588=y CONFIG_KEYBOARD_ADP5589=y CONFIG_KEYBOARD_ATKBD=y CONFIG_KEYBOARD_QT1050=y # CONFIG_KEYBOARD_QT1070 is not set # CONFIG_KEYBOARD_QT2160 is not set # CONFIG_KEYBOARD_CLPS711X is not set CONFIG_KEYBOARD_DLINK_DIR685=y CONFIG_KEYBOARD_LKKBD=y # CONFIG_KEYBOARD_EP93XX is not set CONFIG_KEYBOARD_GPIO=y # CONFIG_KEYBOARD_GPIO_POLLED is not set # CONFIG_KEYBOARD_TCA6416 is not set CONFIG_KEYBOARD_TCA8418=y CONFIG_KEYBOARD_MATRIX=y # CONFIG_KEYBOARD_LM8323 is not set CONFIG_KEYBOARD_LM8333=y CONFIG_KEYBOARD_LPC32XX=y # CONFIG_KEYBOARD_MAX7359 is not set CONFIG_KEYBOARD_MCS=y CONFIG_KEYBOARD_MPR121=y CONFIG_KEYBOARD_SNVS_PWRKEY=y CONFIG_KEYBOARD_IMX=y # CONFIG_KEYBOARD_NEWTON is not set CONFIG_KEYBOARD_NOMADIK=y # CONFIG_KEYBOARD_TEGRA is not set # CONFIG_KEYBOARD_OPENCORES is not set # CONFIG_KEYBOARD_PINEPHONE is not set CONFIG_KEYBOARD_PXA27x=y # CONFIG_KEYBOARD_PMIC8XXX is not set CONFIG_KEYBOARD_SAMSUNG=y # CONFIG_KEYBOARD_GOLDFISH_EVENTS is not set CONFIG_KEYBOARD_STOWAWAY=y CONFIG_KEYBOARD_ST_KEYSCAN=y CONFIG_KEYBOARD_SUNKBD=y CONFIG_KEYBOARD_SH_KEYSC=y CONFIG_KEYBOARD_IQS62X=y # CONFIG_KEYBOARD_OMAP4 is not set CONFIG_KEYBOARD_SPEAR=y CONFIG_KEYBOARD_TC3589X=y CONFIG_KEYBOARD_TM2_TOUCHKEY=y CONFIG_KEYBOARD_XTKBD=y # CONFIG_KEYBOARD_CAP11XX is not set CONFIG_KEYBOARD_BCM=y CONFIG_KEYBOARD_MT6779=y CONFIG_KEYBOARD_MTK_PMIC=y CONFIG_KEYBOARD_CYPRESS_SF=y CONFIG_INPUT_MOUSE=y CONFIG_MOUSE_PS2=y CONFIG_MOUSE_PS2_ALPS=y CONFIG_MOUSE_PS2_BYD=y CONFIG_MOUSE_PS2_LOGIPS2PP=y CONFIG_MOUSE_PS2_SYNAPTICS=y CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y CONFIG_MOUSE_PS2_CYPRESS=y CONFIG_MOUSE_PS2_TRACKPOINT=y # CONFIG_MOUSE_PS2_ELANTECH is not set CONFIG_MOUSE_PS2_SENTELIC=y CONFIG_MOUSE_PS2_TOUCHKIT=y CONFIG_MOUSE_PS2_FOCALTECH=y CONFIG_MOUSE_PS2_SMBUS=y # CONFIG_MOUSE_SERIAL is not set CONFIG_MOUSE_APPLETOUCH=y CONFIG_MOUSE_BCM5974=y CONFIG_MOUSE_CYAPA=y # CONFIG_MOUSE_ELAN_I2C is not set CONFIG_MOUSE_VSXXXAA=y CONFIG_MOUSE_GPIO=y CONFIG_MOUSE_SYNAPTICS_I2C=y CONFIG_MOUSE_SYNAPTICS_USB=y # CONFIG_INPUT_JOYSTICK is not set CONFIG_INPUT_TABLET=y CONFIG_TABLET_USB_ACECAD=y CONFIG_TABLET_USB_AIPTEK=y CONFIG_TABLET_USB_HANWANG=y # CONFIG_TABLET_USB_KBTAB is not set CONFIG_TABLET_USB_PEGASUS=y CONFIG_TABLET_SERIAL_WACOM4=y CONFIG_INPUT_TOUCHSCREEN=y CONFIG_TOUCHSCREEN_ADS7846=y CONFIG_TOUCHSCREEN_AD7877=y # CONFIG_TOUCHSCREEN_AD7879 is not set CONFIG_TOUCHSCREEN_AR1021_I2C=y # CONFIG_TOUCHSCREEN_ATMEL_MXT is not set # CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set # CONFIG_TOUCHSCREEN_BU21013 is not set CONFIG_TOUCHSCREEN_BU21029=y CONFIG_TOUCHSCREEN_CHIPONE_ICN8318=y # CONFIG_TOUCHSCREEN_CY8CTMA140 is not set CONFIG_TOUCHSCREEN_CY8CTMG110=y # CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set # CONFIG_TOUCHSCREEN_CYTTSP4_CORE is not set CONFIG_TOUCHSCREEN_CYTTSP5=y # CONFIG_TOUCHSCREEN_DYNAPRO is not set # CONFIG_TOUCHSCREEN_HAMPSHIRE is not set CONFIG_TOUCHSCREEN_EETI=y CONFIG_TOUCHSCREEN_EGALAX=y CONFIG_TOUCHSCREEN_EGALAX_SERIAL=y CONFIG_TOUCHSCREEN_EXC3000=y CONFIG_TOUCHSCREEN_FUJITSU=y CONFIG_TOUCHSCREEN_GOODIX=y # CONFIG_TOUCHSCREEN_HIDEEP is not set CONFIG_TOUCHSCREEN_HYCON_HY46XX=y # CONFIG_TOUCHSCREEN_HYNITRON_CSTXXX is not set # CONFIG_TOUCHSCREEN_ILI210X is not set CONFIG_TOUCHSCREEN_ILITEK=y # CONFIG_TOUCHSCREEN_IPROC is not set CONFIG_TOUCHSCREEN_S6SY761=y CONFIG_TOUCHSCREEN_GUNZE=y CONFIG_TOUCHSCREEN_EKTF2127=y CONFIG_TOUCHSCREEN_ELAN=y CONFIG_TOUCHSCREEN_ELO=y # CONFIG_TOUCHSCREEN_WACOM_W8001 is not set # CONFIG_TOUCHSCREEN_WACOM_I2C is not set CONFIG_TOUCHSCREEN_MAX11801=y CONFIG_TOUCHSCREEN_MCS5000=y CONFIG_TOUCHSCREEN_MMS114=y CONFIG_TOUCHSCREEN_MELFAS_MIP4=y # CONFIG_TOUCHSCREEN_MSG2638 is not set # CONFIG_TOUCHSCREEN_MTOUCH is not set # CONFIG_TOUCHSCREEN_NOVATEK_NVT_TS is not set # CONFIG_TOUCHSCREEN_IMAGIS is not set CONFIG_TOUCHSCREEN_IMX6UL_TSC=y CONFIG_TOUCHSCREEN_INEXIO=y # CONFIG_TOUCHSCREEN_MK712 is not set CONFIG_TOUCHSCREEN_PENMOUNT=y CONFIG_TOUCHSCREEN_EDT_FT5X06=y CONFIG_TOUCHSCREEN_RASPBERRYPI_FW=y CONFIG_TOUCHSCREEN_MIGOR=y CONFIG_TOUCHSCREEN_TOUCHRIGHT=y CONFIG_TOUCHSCREEN_TOUCHWIN=y # CONFIG_TOUCHSCREEN_PIXCIR is not set # CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set CONFIG_TOUCHSCREEN_WM831X=y # CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set # CONFIG_TOUCHSCREEN_MXS_LRADC is not set # CONFIG_TOUCHSCREEN_MX25 is not set CONFIG_TOUCHSCREEN_MC13783=y CONFIG_TOUCHSCREEN_TOUCHIT213=y CONFIG_TOUCHSCREEN_TS4800=y CONFIG_TOUCHSCREEN_TSC_SERIO=y CONFIG_TOUCHSCREEN_TSC200X_CORE=y CONFIG_TOUCHSCREEN_TSC2004=y CONFIG_TOUCHSCREEN_TSC2005=y # CONFIG_TOUCHSCREEN_TSC2007 is not set CONFIG_TOUCHSCREEN_PCAP=y # CONFIG_TOUCHSCREEN_RM_TS is not set CONFIG_TOUCHSCREEN_SILEAD=y CONFIG_TOUCHSCREEN_SIS_I2C=y CONFIG_TOUCHSCREEN_ST1232=y CONFIG_TOUCHSCREEN_STMFTS=y CONFIG_TOUCHSCREEN_SUN4I=y # CONFIG_TOUCHSCREEN_SUR40 is not set # CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set CONFIG_TOUCHSCREEN_SX8654=y # CONFIG_TOUCHSCREEN_TPS6507X is not set CONFIG_TOUCHSCREEN_ZET6223=y CONFIG_TOUCHSCREEN_ZFORCE=y CONFIG_TOUCHSCREEN_ROHM_BU21023=y # CONFIG_TOUCHSCREEN_IQS5XX is not set CONFIG_TOUCHSCREEN_ZINITIX=y CONFIG_TOUCHSCREEN_HIMAX_HX83112B=y # CONFIG_INPUT_MISC is not set CONFIG_RMI4_CORE=y # CONFIG_RMI4_I2C is not set CONFIG_RMI4_SPI=y CONFIG_RMI4_SMB=y # CONFIG_RMI4_F03 is not set CONFIG_RMI4_2D_SENSOR=y # CONFIG_RMI4_F11 is not set CONFIG_RMI4_F12=y CONFIG_RMI4_F30=y # CONFIG_RMI4_F34 is not set CONFIG_RMI4_F3A=y # CONFIG_RMI4_F54 is not set # CONFIG_RMI4_F55 is not set # # Hardware I/O ports # CONFIG_SERIO=y CONFIG_SERIO_SERPORT=y CONFIG_SERIO_PARKBD=y # CONFIG_SERIO_AMBAKMI is not set CONFIG_SERIO_LIBPS2=y CONFIG_SERIO_RAW=y # CONFIG_SERIO_ALTERA_PS2 is not set # CONFIG_SERIO_PS2MULT is not set # CONFIG_SERIO_ARC_PS2 is not set CONFIG_SERIO_APBPS2=y CONFIG_SERIO_OLPC_APSP=y CONFIG_SERIO_SUN4I_PS2=y CONFIG_SERIO_GPIO_PS2=y CONFIG_USERIO=y CONFIG_GAMEPORT=y CONFIG_GAMEPORT_NS558=y # CONFIG_GAMEPORT_L4 is not set # end of Hardware I/O ports # end of Input device support # # Character devices # CONFIG_TTY=y CONFIG_VT=y CONFIG_CONSOLE_TRANSLATIONS=y CONFIG_VT_CONSOLE=y CONFIG_HW_CONSOLE=y CONFIG_VT_HW_CONSOLE_BINDING=y CONFIG_UNIX98_PTYS=y # CONFIG_LEGACY_PTYS is not set # CONFIG_LEGACY_TIOCSTI is not set CONFIG_LDISC_AUTOLOAD=y # # Serial drivers # CONFIG_SERIAL_EARLYCON=y CONFIG_SERIAL_8250=y CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y CONFIG_SERIAL_8250_16550A_VARIANTS=y # CONFIG_SERIAL_8250_FINTEK is not set # CONFIG_SERIAL_8250_CONSOLE is not set CONFIG_SERIAL_8250_DMA=y CONFIG_SERIAL_8250_CS=y # CONFIG_SERIAL_8250_MEN_MCB is not set CONFIG_SERIAL_8250_NR_UARTS=4 CONFIG_SERIAL_8250_RUNTIME_UARTS=4 CONFIG_SERIAL_8250_EXTENDED=y CONFIG_SERIAL_8250_MANY_PORTS=y # CONFIG_SERIAL_8250_ASPEED_VUART is not set # CONFIG_SERIAL_8250_SHARE_IRQ is not set CONFIG_SERIAL_8250_DETECT_IRQ=y CONFIG_SERIAL_8250_RSA=y CONFIG_SERIAL_8250_DWLIB=y CONFIG_SERIAL_8250_DFL=y CONFIG_SERIAL_8250_DW=y CONFIG_SERIAL_8250_EM=y # CONFIG_SERIAL_8250_IOC3 is not set CONFIG_SERIAL_8250_RT288X=y # CONFIG_SERIAL_8250_OMAP is not set # CONFIG_SERIAL_8250_LPC18XX is not set CONFIG_SERIAL_8250_MT6577=y CONFIG_SERIAL_8250_UNIPHIER=y # CONFIG_SERIAL_8250_INGENIC is not set CONFIG_SERIAL_8250_PXA=y # CONFIG_SERIAL_8250_TEGRA is not set CONFIG_SERIAL_8250_BCM7271=y CONFIG_SERIAL_OF_PLATFORM=y # # Non-8250 serial port support # # CONFIG_SERIAL_AMBA_PL010 is not set # CONFIG_SERIAL_AMBA_PL011 is not set # CONFIG_SERIAL_EARLYCON_SEMIHOST is not set CONFIG_SERIAL_ATMEL=y CONFIG_SERIAL_ATMEL_CONSOLE=y # CONFIG_SERIAL_ATMEL_PDC is not set # CONFIG_SERIAL_ATMEL_TTYAT is not set CONFIG_SERIAL_MESON=y CONFIG_SERIAL_MESON_CONSOLE=y # CONFIG_SERIAL_CLPS711X is not set CONFIG_SERIAL_SAMSUNG=y CONFIG_SERIAL_SAMSUNG_UARTS=4 CONFIG_SERIAL_SAMSUNG_CONSOLE=y # CONFIG_SERIAL_TEGRA is not set CONFIG_SERIAL_TEGRA_TCU=y # CONFIG_SERIAL_TEGRA_TCU_CONSOLE is not set CONFIG_SERIAL_MAX3100=y CONFIG_SERIAL_MAX310X=y # CONFIG_SERIAL_IMX is not set # CONFIG_SERIAL_IMX_EARLYCON is not set CONFIG_SERIAL_UARTLITE=y CONFIG_SERIAL_UARTLITE_CONSOLE=y CONFIG_SERIAL_UARTLITE_NR_UARTS=1 CONFIG_SERIAL_SH_SCI=y CONFIG_SERIAL_SH_SCI_NR_UARTS=2 CONFIG_SERIAL_SH_SCI_CONSOLE=y CONFIG_SERIAL_HS_LPC32XX=y CONFIG_SERIAL_HS_LPC32XX_CONSOLE=y CONFIG_SERIAL_CORE=y CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_MSM=y CONFIG_SERIAL_MSM_CONSOLE=y # CONFIG_SERIAL_QCOM_GENI is not set # CONFIG_SERIAL_VT8500 is not set # CONFIG_SERIAL_OMAP is not set # CONFIG_SERIAL_SIFIVE is not set CONFIG_SERIAL_LANTIQ=y CONFIG_SERIAL_LANTIQ_CONSOLE=y # CONFIG_SERIAL_SCCNXP is not set CONFIG_SERIAL_SC16IS7XX=y # CONFIG_SERIAL_SC16IS7XX_I2C is not set # CONFIG_SERIAL_SC16IS7XX_SPI is not set CONFIG_SERIAL_TIMBERDALE=y # CONFIG_SERIAL_BCM63XX is not set CONFIG_SERIAL_ALTERA_JTAGUART=y # CONFIG_SERIAL_ALTERA_JTAGUART_CONSOLE is not set # CONFIG_SERIAL_ALTERA_UART is not set # CONFIG_SERIAL_MXS_AUART is not set CONFIG_SERIAL_XILINX_PS_UART=y CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y # CONFIG_SERIAL_MPS2_UART is not set CONFIG_SERIAL_ARC=y CONFIG_SERIAL_ARC_CONSOLE=y CONFIG_SERIAL_ARC_NR_PORTS=1 CONFIG_SERIAL_FSL_LPUART=y # CONFIG_SERIAL_FSL_LPUART_CONSOLE is not set CONFIG_SERIAL_FSL_LINFLEXUART=y CONFIG_SERIAL_FSL_LINFLEXUART_CONSOLE=y CONFIG_SERIAL_CONEXANT_DIGICOLOR=y CONFIG_SERIAL_CONEXANT_DIGICOLOR_CONSOLE=y # CONFIG_SERIAL_ST_ASC is not set CONFIG_SERIAL_MEN_Z135=y CONFIG_SERIAL_SPRD=y CONFIG_SERIAL_SPRD_CONSOLE=y # CONFIG_SERIAL_STM32 is not set CONFIG_SERIAL_MVEBU_UART=y # CONFIG_SERIAL_MVEBU_CONSOLE is not set # CONFIG_SERIAL_OWL is not set CONFIG_SERIAL_RDA=y # CONFIG_SERIAL_RDA_CONSOLE is not set # CONFIG_SERIAL_MILBEAUT_USIO is not set # CONFIG_SERIAL_LITEUART is not set CONFIG_SERIAL_SUNPLUS=y # CONFIG_SERIAL_SUNPLUS_CONSOLE is not set # end of Serial drivers CONFIG_SERIAL_MCTRL_GPIO=y CONFIG_SERIAL_NONSTANDARD=y CONFIG_N_HDLC=y CONFIG_GOLDFISH_TTY=y CONFIG_GOLDFISH_TTY_EARLY_CONSOLE=y # CONFIG_NULL_TTY is not set # CONFIG_HVC_DCC is not set # CONFIG_RPMSG_TTY is not set CONFIG_SERIAL_DEV_BUS=y CONFIG_SERIAL_DEV_CTRL_TTYPORT=y CONFIG_PRINTER=y CONFIG_LP_CONSOLE=y CONFIG_PPDEV=y # CONFIG_VIRTIO_CONSOLE is not set # CONFIG_IPMI_HANDLER is not set CONFIG_IPMI_KCS_BMC=y CONFIG_ASPEED_KCS_IPMI_BMC=y # CONFIG_NPCM7XX_KCS_IPMI_BMC is not set CONFIG_IPMI_KCS_BMC_CDEV_IPMI=y # CONFIG_IPMI_KCS_BMC_SERIO is not set CONFIG_ASPEED_BT_IPMI_BMC=y CONFIG_SSIF_IPMI_BMC=y # CONFIG_IPMB_DEVICE_INTERFACE is not set CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_TIMERIOMEM=y CONFIG_HW_RANDOM_ATMEL=y # CONFIG_HW_RANDOM_BA431 is not set # CONFIG_HW_RANDOM_BCM2835 is not set CONFIG_HW_RANDOM_IPROC_RNG200=y CONFIG_HW_RANDOM_IXP4XX=y CONFIG_HW_RANDOM_OMAP=y CONFIG_HW_RANDOM_OMAP3_ROM=y # CONFIG_HW_RANDOM_VIRTIO is not set CONFIG_HW_RANDOM_IMX_RNGC=y # CONFIG_HW_RANDOM_NOMADIK is not set # CONFIG_HW_RANDOM_STM32 is not set CONFIG_HW_RANDOM_POLARFIRE_SOC=y CONFIG_HW_RANDOM_MESON=y # CONFIG_HW_RANDOM_MTK is not set # CONFIG_HW_RANDOM_EXYNOS is not set CONFIG_HW_RANDOM_NPCM=y CONFIG_HW_RANDOM_KEYSTONE=y CONFIG_HW_RANDOM_CCTRNG=y # CONFIG_HW_RANDOM_XIPHERA is not set # CONFIG_HW_RANDOM_JH7110 is not set CONFIG_DEVMEM=y CONFIG_TCG_TPM=y CONFIG_HW_RANDOM_TPM=y CONFIG_TCG_TIS_CORE=y CONFIG_TCG_TIS=y # CONFIG_TCG_TIS_SPI is not set CONFIG_TCG_TIS_I2C=y CONFIG_TCG_TIS_SYNQUACER=y # CONFIG_TCG_TIS_I2C_CR50 is not set CONFIG_TCG_TIS_I2C_ATMEL=y CONFIG_TCG_TIS_I2C_INFINEON=y CONFIG_TCG_TIS_I2C_NUVOTON=y CONFIG_TCG_VTPM_PROXY=y CONFIG_TCG_TIS_ST33ZP24=y CONFIG_TCG_TIS_ST33ZP24_I2C=y # CONFIG_TCG_TIS_ST33ZP24_SPI is not set CONFIG_XILLYBUS_CLASS=y # CONFIG_XILLYBUS is not set CONFIG_XILLYUSB=y # end of Character devices # # I2C support # CONFIG_I2C=y CONFIG_I2C_BOARDINFO=y CONFIG_I2C_COMPAT=y CONFIG_I2C_CHARDEV=y CONFIG_I2C_MUX=y # # Multiplexer I2C Chip support # CONFIG_I2C_ARB_GPIO_CHALLENGE=y # CONFIG_I2C_MUX_GPIO is not set # CONFIG_I2C_MUX_GPMUX is not set CONFIG_I2C_MUX_LTC4306=y # CONFIG_I2C_MUX_PCA9541 is not set CONFIG_I2C_MUX_PCA954x=y CONFIG_I2C_MUX_PINCTRL=y CONFIG_I2C_MUX_REG=y CONFIG_I2C_DEMUX_PINCTRL=y CONFIG_I2C_MUX_MLXCPLD=y # end of Multiplexer I2C Chip support # CONFIG_I2C_HELPER_AUTO is not set CONFIG_I2C_SMBUS=y # # I2C Algorithms # CONFIG_I2C_ALGOBIT=y CONFIG_I2C_ALGOPCF=y CONFIG_I2C_ALGOPCA=y # end of I2C Algorithms # # I2C Hardware Bus support # CONFIG_I2C_HIX5HD2=y # # I2C system bus drivers (mostly embedded / system-on-chip) # CONFIG_I2C_ALTERA=y # CONFIG_I2C_ASPEED is not set # CONFIG_I2C_AT91 is not set # CONFIG_I2C_AXXIA is not set CONFIG_I2C_BCM2835=y CONFIG_I2C_BCM_IPROC=y # CONFIG_I2C_BCM_KONA is not set # CONFIG_I2C_BRCMSTB is not set # CONFIG_I2C_CADENCE is not set CONFIG_I2C_CBUS_GPIO=y CONFIG_I2C_DAVINCI=y # CONFIG_I2C_DESIGNWARE_PLATFORM is not set CONFIG_I2C_DIGICOLOR=y CONFIG_I2C_EMEV2=y CONFIG_I2C_EXYNOS5=y # CONFIG_I2C_GPIO is not set # CONFIG_I2C_GXP is not set CONFIG_I2C_HIGHLANDER=y CONFIG_I2C_HISI=y CONFIG_I2C_IMG=y CONFIG_I2C_IMX=y CONFIG_I2C_IMX_LPI2C=y CONFIG_I2C_IOP3XX=y CONFIG_I2C_JZ4780=y CONFIG_I2C_KEMPLD=y # CONFIG_I2C_LPC2K is not set CONFIG_I2C_LS2X=y CONFIG_I2C_MESON=y # CONFIG_I2C_MICROCHIP_CORE is not set CONFIG_I2C_MT65XX=y CONFIG_I2C_MT7621=y CONFIG_I2C_MV64XXX=y # CONFIG_I2C_MXS is not set CONFIG_I2C_NOMADIK=y # CONFIG_I2C_NPCM is not set # CONFIG_I2C_OCORES is not set CONFIG_I2C_OMAP=y CONFIG_I2C_OWL=y CONFIG_I2C_APPLE=y CONFIG_I2C_PCA_PLATFORM=y CONFIG_I2C_PNX=y # CONFIG_I2C_PXA is not set # CONFIG_I2C_QCOM_CCI is not set CONFIG_I2C_QCOM_GENI=y CONFIG_I2C_QUP=y CONFIG_I2C_RIIC=y # CONFIG_I2C_RK3X is not set # CONFIG_I2C_RZV2M is not set CONFIG_I2C_S3C2410=y # CONFIG_I2C_SH_MOBILE is not set CONFIG_I2C_SIMTEC=y CONFIG_I2C_SPRD=y # CONFIG_I2C_ST is not set CONFIG_I2C_STM32F4=y CONFIG_I2C_STM32F7=y CONFIG_I2C_SUN6I_P2WI=y CONFIG_I2C_SYNQUACER=y CONFIG_I2C_TEGRA=y # CONFIG_I2C_TEGRA_BPMP is not set CONFIG_I2C_UNIPHIER=y # CONFIG_I2C_UNIPHIER_F is not set # CONFIG_I2C_VERSATILE is not set CONFIG_I2C_WMT=y CONFIG_I2C_XILINX=y CONFIG_I2C_XLP9XX=y # CONFIG_I2C_RCAR is not set # # External I2C/SMBus adapter drivers # CONFIG_I2C_DIOLAN_U2C=y CONFIG_I2C_DLN2=y CONFIG_I2C_CP2615=y CONFIG_I2C_PARPORT=y # CONFIG_I2C_ROBOTFUZZ_OSIF is not set CONFIG_I2C_TAOS_EVM=y CONFIG_I2C_TINY_USB=y # # Other I2C/SMBus bus drivers # CONFIG_I2C_MLXCPLD=y # CONFIG_I2C_FSI is not set # CONFIG_I2C_VIRTIO is not set # end of I2C Hardware Bus support CONFIG_I2C_SLAVE=y CONFIG_I2C_SLAVE_EEPROM=y # CONFIG_I2C_SLAVE_TESTUNIT is not set CONFIG_I2C_DEBUG_CORE=y CONFIG_I2C_DEBUG_ALGO=y CONFIG_I2C_DEBUG_BUS=y # end of I2C support CONFIG_I3C=y CONFIG_CDNS_I3C_MASTER=y CONFIG_DW_I3C_MASTER=y CONFIG_AST2600_I3C_MASTER=y CONFIG_SVC_I3C_MASTER=y CONFIG_MIPI_I3C_HCI=y CONFIG_SPI=y # CONFIG_SPI_DEBUG is not set CONFIG_SPI_MASTER=y CONFIG_SPI_MEM=y # # SPI Master Controller Drivers # # CONFIG_SPI_ALTERA is not set CONFIG_SPI_ALTERA_CORE=y CONFIG_SPI_ALTERA_DFL=y CONFIG_SPI_AMLOGIC_SPIFC_A1=y CONFIG_SPI_AR934X=y # CONFIG_SPI_ATH79 is not set CONFIG_SPI_ARMADA_3700=y # CONFIG_SPI_ASPEED_SMC is not set # CONFIG_SPI_ATMEL is not set CONFIG_SPI_AT91_USART=y CONFIG_SPI_ATMEL_QUADSPI=y CONFIG_SPI_AXI_SPI_ENGINE=y CONFIG_SPI_BCM2835=y CONFIG_SPI_BCM2835AUX=y # CONFIG_SPI_BCM63XX is not set CONFIG_SPI_BCM63XX_HSSPI=y # CONFIG_SPI_BCM_QSPI is not set # CONFIG_SPI_BCMBCA_HSSPI is not set CONFIG_SPI_BITBANG=y CONFIG_SPI_BUTTERFLY=y CONFIG_SPI_CADENCE=y # CONFIG_SPI_CADENCE_QUADSPI is not set # CONFIG_SPI_CADENCE_XSPI is not set # CONFIG_SPI_CLPS711X is not set CONFIG_SPI_DAVINCI=y CONFIG_SPI_DESIGNWARE=y # CONFIG_SPI_DW_DMA is not set CONFIG_SPI_DW_MMIO=y CONFIG_SPI_DW_BT1=y CONFIG_SPI_DW_BT1_DIRMAP=y # CONFIG_SPI_DLN2 is not set CONFIG_SPI_EP93XX=y CONFIG_SPI_FSI=y # CONFIG_SPI_FSL_LPSPI is not set CONFIG_SPI_FSL_QUADSPI=y CONFIG_SPI_GXP=y # CONFIG_SPI_HISI_KUNPENG is not set # CONFIG_SPI_HISI_SFC_V3XX is not set # CONFIG_SPI_NXP_FLEXSPI is not set CONFIG_SPI_GPIO=y # CONFIG_SPI_IMG_SPFI is not set # CONFIG_SPI_IMX is not set CONFIG_SPI_INGENIC=y CONFIG_SPI_INTEL=y CONFIG_SPI_INTEL_PLATFORM=y # CONFIG_SPI_JCORE is not set # CONFIG_SPI_LM70_LLP is not set CONFIG_SPI_LOONGSON_CORE=y CONFIG_SPI_LOONGSON_PLATFORM=y # CONFIG_SPI_LP8841_RTC is not set CONFIG_SPI_FSL_LIB=y CONFIG_SPI_FSL_SPI=y # CONFIG_SPI_FSL_DSPI is not set CONFIG_SPI_MESON_SPICC=y # CONFIG_SPI_MESON_SPIFC is not set CONFIG_SPI_MICROCHIP_CORE=y CONFIG_SPI_MICROCHIP_CORE_QSPI=y CONFIG_SPI_MT65XX=y CONFIG_SPI_MT7621=y # CONFIG_SPI_MTK_NOR is not set CONFIG_SPI_WPCM_FIU=y # CONFIG_SPI_NPCM_FIU is not set # CONFIG_SPI_NPCM_PSPI is not set CONFIG_SPI_LANTIQ_SSC=y CONFIG_SPI_OC_TINY=y # CONFIG_SPI_OMAP_UWIRE is not set # CONFIG_SPI_OMAP24XX is not set # CONFIG_SPI_TI_QSPI is not set # CONFIG_SPI_ORION is not set CONFIG_SPI_PIC32=y CONFIG_SPI_PIC32_SQI=y CONFIG_SPI_PL022=y # CONFIG_SPI_PXA2XX is not set CONFIG_SPI_ROCKCHIP=y # CONFIG_SPI_ROCKCHIP_SFC is not set CONFIG_SPI_RSPI=y # CONFIG_SPI_QCOM_QSPI is not set CONFIG_SPI_QUP=y CONFIG_SPI_QCOM_GENI=y CONFIG_SPI_S3C64XX=y CONFIG_SPI_SC18IS602=y CONFIG_SPI_SH_MSIOF=y CONFIG_SPI_SH=y CONFIG_SPI_SH_HSPI=y CONFIG_SPI_SIFIVE=y CONFIG_SPI_SLAVE_MT27XX=y CONFIG_SPI_SN_F_OSPI=y CONFIG_SPI_SPRD=y CONFIG_SPI_SPRD_ADI=y CONFIG_SPI_STM32=y CONFIG_SPI_STM32_QSPI=y CONFIG_SPI_ST_SSC4=y # CONFIG_SPI_SUN4I is not set CONFIG_SPI_SUN6I=y # CONFIG_SPI_SUNPLUS_SP7021 is not set CONFIG_SPI_SYNQUACER=y # CONFIG_SPI_MXIC is not set # CONFIG_SPI_TEGRA210_QUAD is not set CONFIG_SPI_TEGRA114=y CONFIG_SPI_TEGRA20_SFLASH=y CONFIG_SPI_TEGRA20_SLINK=y # CONFIG_SPI_UNIPHIER is not set CONFIG_SPI_XCOMM=y CONFIG_SPI_XILINX=y CONFIG_SPI_XLP=y CONFIG_SPI_XTENSA_XTFPGA=y CONFIG_SPI_ZYNQ_QSPI=y CONFIG_SPI_ZYNQMP_GQSPI=y # CONFIG_SPI_AMD is not set # # SPI Multiplexer support # CONFIG_SPI_MUX=y # # SPI Protocol Masters # CONFIG_SPI_SPIDEV=y CONFIG_SPI_TLE62X0=y CONFIG_SPI_SLAVE=y # CONFIG_SPI_SLAVE_TIME is not set # CONFIG_SPI_SLAVE_SYSTEM_CONTROL is not set CONFIG_SPI_DYNAMIC=y CONFIG_SPMI=y CONFIG_SPMI_HISI3670=y CONFIG_SPMI_MSM_PMIC_ARB=y CONFIG_SPMI_MTK_PMIF=y CONFIG_HSI=y CONFIG_HSI_BOARDINFO=y # # HSI controllers # CONFIG_OMAP_SSI=y # # HSI clients # # CONFIG_HSI_CHAR is not set CONFIG_PPS=y CONFIG_PPS_DEBUG=y # # PPS clients support # CONFIG_PPS_CLIENT_KTIMER=y # CONFIG_PPS_CLIENT_LDISC is not set CONFIG_PPS_CLIENT_PARPORT=y CONFIG_PPS_CLIENT_GPIO=y # # PPS generators support # # # PTP clock support # CONFIG_PTP_1588_CLOCK_OPTIONAL=y # # Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. # # end of PTP clock support CONFIG_PINCTRL=y CONFIG_GENERIC_PINCTRL_GROUPS=y CONFIG_PINMUX=y CONFIG_GENERIC_PINMUX_FUNCTIONS=y CONFIG_PINCONF=y CONFIG_GENERIC_PINCONF=y # CONFIG_DEBUG_PINCTRL is not set # CONFIG_PINCTRL_AMD is not set # CONFIG_PINCTRL_AS3722 is not set CONFIG_PINCTRL_AT91PIO4=y # CONFIG_PINCTRL_BM1880 is not set # CONFIG_PINCTRL_CY8C95X0 is not set CONFIG_PINCTRL_DA850_PUPD=y CONFIG_PINCTRL_DA9062=y # CONFIG_PINCTRL_EQUILIBRIUM is not set # CONFIG_PINCTRL_INGENIC is not set CONFIG_PINCTRL_LOONGSON2=y # CONFIG_PINCTRL_LPC18XX is not set CONFIG_PINCTRL_MAX77620=y CONFIG_PINCTRL_MCP23S08_I2C=y CONFIG_PINCTRL_MCP23S08_SPI=y CONFIG_PINCTRL_MCP23S08=y CONFIG_PINCTRL_MICROCHIP_SGPIO=y CONFIG_PINCTRL_OCELOT=y CONFIG_PINCTRL_PISTACHIO=y # CONFIG_PINCTRL_ROCKCHIP is not set # CONFIG_PINCTRL_SINGLE is not set # CONFIG_PINCTRL_STMFX is not set # CONFIG_PINCTRL_SX150X is not set CONFIG_PINCTRL_MLXBF3=y # CONFIG_PINCTRL_OWL is not set CONFIG_PINCTRL_ASPEED=y CONFIG_PINCTRL_ASPEED_G4=y # CONFIG_PINCTRL_ASPEED_G5 is not set # CONFIG_PINCTRL_ASPEED_G6 is not set # CONFIG_PINCTRL_BCM281XX is not set CONFIG_PINCTRL_BCM2835=y # CONFIG_PINCTRL_BCM4908 is not set CONFIG_PINCTRL_BCM63XX=y CONFIG_PINCTRL_BCM6318=y # CONFIG_PINCTRL_BCM6328 is not set # CONFIG_PINCTRL_BCM6358 is not set CONFIG_PINCTRL_BCM6362=y # CONFIG_PINCTRL_BCM6368 is not set # CONFIG_PINCTRL_BCM63268 is not set # CONFIG_PINCTRL_IPROC_GPIO is not set # CONFIG_PINCTRL_CYGNUS_MUX is not set CONFIG_PINCTRL_NS=y # CONFIG_PINCTRL_NSP_GPIO is not set # CONFIG_PINCTRL_NS2_MUX is not set # CONFIG_PINCTRL_NSP_MUX is not set CONFIG_PINCTRL_BERLIN=y CONFIG_PINCTRL_AS370=y # CONFIG_PINCTRL_BERLIN_BG4CT is not set # CONFIG_PINCTRL_LOCHNAGAR is not set CONFIG_PINCTRL_MADERA=y CONFIG_PINCTRL_CS47L15=y CONFIG_PINCTRL_CS47L35=y CONFIG_PINCTRL_CS47L85=y CONFIG_PINCTRL_CS47L90=y CONFIG_PINCTRL_IMX=y CONFIG_PINCTRL_IMX7D=y CONFIG_PINCTRL_IMX7ULP=y CONFIG_PINCTRL_IMX8MM=y CONFIG_PINCTRL_IMX8MN=y CONFIG_PINCTRL_IMX8MP=y # CONFIG_PINCTRL_IMX8MQ is not set CONFIG_PINCTRL_IMX8ULP=y CONFIG_PINCTRL_IMXRT1050=y CONFIG_PINCTRL_IMX93=y CONFIG_PINCTRL_VF610=y # CONFIG_PINCTRL_IMXRT1170 is not set # # Intel pinctrl drivers # # end of Intel pinctrl drivers # # MediaTek pinctrl drivers # CONFIG_EINT_MTK=y CONFIG_PINCTRL_MTK=y CONFIG_PINCTRL_MTK_V2=y CONFIG_PINCTRL_MTK_MOORE=y CONFIG_PINCTRL_MTK_PARIS=y CONFIG_PINCTRL_MT2701=y # CONFIG_PINCTRL_MT7623 is not set # CONFIG_PINCTRL_MT7629 is not set # CONFIG_PINCTRL_MT8135 is not set CONFIG_PINCTRL_MT8127=y # CONFIG_PINCTRL_MT2712 is not set CONFIG_PINCTRL_MT6765=y # CONFIG_PINCTRL_MT6779 is not set # CONFIG_PINCTRL_MT6795 is not set CONFIG_PINCTRL_MT6797=y CONFIG_PINCTRL_MT7622=y CONFIG_PINCTRL_MT7981=y CONFIG_PINCTRL_MT7986=y # CONFIG_PINCTRL_MT8167 is not set # CONFIG_PINCTRL_MT8173 is not set CONFIG_PINCTRL_MT8183=y # CONFIG_PINCTRL_MT8186 is not set # CONFIG_PINCTRL_MT8188 is not set # CONFIG_PINCTRL_MT8192 is not set # CONFIG_PINCTRL_MT8195 is not set CONFIG_PINCTRL_MT8365=y # CONFIG_PINCTRL_MT8516 is not set CONFIG_PINCTRL_MT6397=y # end of MediaTek pinctrl drivers CONFIG_PINCTRL_MESON=y # CONFIG_PINCTRL_MESON8 is not set CONFIG_PINCTRL_MESON8B=y CONFIG_PINCTRL_MESON8_PMX=y CONFIG_PINCTRL_WPCM450=y # CONFIG_PINCTRL_NPCM7XX is not set CONFIG_PINCTRL_PXA=y # CONFIG_PINCTRL_PXA25X is not set CONFIG_PINCTRL_PXA27X=y CONFIG_PINCTRL_MSM=y # CONFIG_PINCTRL_APQ8064 is not set CONFIG_PINCTRL_APQ8084=y CONFIG_PINCTRL_IPQ4019=y CONFIG_PINCTRL_IPQ8064=y CONFIG_PINCTRL_IPQ5332=y CONFIG_PINCTRL_IPQ8074=y CONFIG_PINCTRL_IPQ6018=y CONFIG_PINCTRL_IPQ9574=y CONFIG_PINCTRL_MSM8226=y CONFIG_PINCTRL_MSM8660=y CONFIG_PINCTRL_MSM8960=y CONFIG_PINCTRL_MDM9607=y CONFIG_PINCTRL_MDM9615=y CONFIG_PINCTRL_MSM8X74=y CONFIG_PINCTRL_MSM8909=y # CONFIG_PINCTRL_MSM8916 is not set CONFIG_PINCTRL_MSM8953=y CONFIG_PINCTRL_MSM8976=y CONFIG_PINCTRL_MSM8994=y # CONFIG_PINCTRL_MSM8996 is not set CONFIG_PINCTRL_MSM8998=y CONFIG_PINCTRL_QCM2290=y CONFIG_PINCTRL_QCS404=y CONFIG_PINCTRL_QCOM_SPMI_PMIC=y CONFIG_PINCTRL_QCOM_SSBI_PMIC=y CONFIG_PINCTRL_QDU1000=y CONFIG_PINCTRL_SA8775P=y # CONFIG_PINCTRL_SC7180 is not set CONFIG_PINCTRL_SC7280=y CONFIG_PINCTRL_SC8180X=y CONFIG_PINCTRL_SC8280XP=y CONFIG_PINCTRL_SDM660=y # CONFIG_PINCTRL_SDM670 is not set CONFIG_PINCTRL_SDM845=y CONFIG_PINCTRL_SDX55=y # CONFIG_PINCTRL_SM6115 is not set CONFIG_PINCTRL_SM6125=y CONFIG_PINCTRL_SM6350=y # CONFIG_PINCTRL_SM6375 is not set CONFIG_PINCTRL_SDX65=y CONFIG_PINCTRL_SM7150=y # CONFIG_PINCTRL_SM8150 is not set CONFIG_PINCTRL_SM8250=y CONFIG_PINCTRL_SM8350=y # CONFIG_PINCTRL_SM8450 is not set # CONFIG_PINCTRL_SM8550 is not set # CONFIG_PINCTRL_LPASS_LPI is not set # # Renesas pinctrl drivers # CONFIG_PINCTRL_RENESAS=y CONFIG_PINCTRL_SH_PFC=y CONFIG_PINCTRL_SH_PFC_GPIO=y CONFIG_PINCTRL_SH_FUNC_GPIO=y # CONFIG_PINCTRL_PFC_EMEV2 is not set # CONFIG_PINCTRL_PFC_R8A77995 is not set CONFIG_PINCTRL_PFC_R8A7794=y CONFIG_PINCTRL_PFC_R8A77990=y # CONFIG_PINCTRL_PFC_R8A7779 is not set CONFIG_PINCTRL_PFC_R8A7790=y # CONFIG_PINCTRL_PFC_R8A77951 is not set CONFIG_PINCTRL_PFC_R8A7778=y CONFIG_PINCTRL_PFC_R8A7793=y # CONFIG_PINCTRL_PFC_R8A7791 is not set # CONFIG_PINCTRL_PFC_R8A77965 is not set # CONFIG_PINCTRL_PFC_R8A77960 is not set CONFIG_PINCTRL_PFC_R8A77961=y # CONFIG_PINCTRL_PFC_R8A779F0 is not set # CONFIG_PINCTRL_PFC_R8A7792 is not set CONFIG_PINCTRL_PFC_R8A77980=y CONFIG_PINCTRL_PFC_R8A77970=y CONFIG_PINCTRL_PFC_R8A779A0=y CONFIG_PINCTRL_PFC_R8A779G0=y CONFIG_PINCTRL_PFC_R8A7740=y CONFIG_PINCTRL_PFC_R8A73A4=y CONFIG_PINCTRL_RZA1=y CONFIG_PINCTRL_RZA2=y CONFIG_PINCTRL_RZG2L=y # CONFIG_PINCTRL_PFC_R8A77470 is not set CONFIG_PINCTRL_PFC_R8A7745=y CONFIG_PINCTRL_PFC_R8A7742=y # CONFIG_PINCTRL_PFC_R8A7743 is not set CONFIG_PINCTRL_PFC_R8A7744=y # CONFIG_PINCTRL_PFC_R8A774C0 is not set CONFIG_PINCTRL_PFC_R8A774E1=y CONFIG_PINCTRL_PFC_R8A774A1=y CONFIG_PINCTRL_PFC_R8A774B1=y CONFIG_PINCTRL_RZN1=y # CONFIG_PINCTRL_RZV2M is not set CONFIG_PINCTRL_PFC_SH7203=y # CONFIG_PINCTRL_PFC_SH7264 is not set # CONFIG_PINCTRL_PFC_SH7269 is not set # CONFIG_PINCTRL_PFC_SH7720 is not set # CONFIG_PINCTRL_PFC_SH7722 is not set # CONFIG_PINCTRL_PFC_SH7734 is not set CONFIG_PINCTRL_PFC_SH7757=y CONFIG_PINCTRL_PFC_SH7785=y # CONFIG_PINCTRL_PFC_SH7786 is not set CONFIG_PINCTRL_PFC_SH73A0=y # CONFIG_PINCTRL_PFC_SH7723 is not set CONFIG_PINCTRL_PFC_SH7724=y CONFIG_PINCTRL_PFC_SHX3=y # end of Renesas pinctrl drivers CONFIG_PINCTRL_SAMSUNG=y CONFIG_PINCTRL_EXYNOS=y CONFIG_PINCTRL_EXYNOS_ARM=y CONFIG_PINCTRL_EXYNOS_ARM64=y # CONFIG_PINCTRL_S3C64XX is not set CONFIG_PINCTRL_SPRD=y CONFIG_PINCTRL_SPRD_SC9860=y CONFIG_PINCTRL_STARFIVE_JH7100=y CONFIG_PINCTRL_STARFIVE_JH7110=y CONFIG_PINCTRL_STARFIVE_JH7110_SYS=y CONFIG_PINCTRL_STARFIVE_JH7110_AON=y CONFIG_PINCTRL_STM32=y # CONFIG_PINCTRL_STM32F429 is not set # CONFIG_PINCTRL_STM32F469 is not set # CONFIG_PINCTRL_STM32F746 is not set CONFIG_PINCTRL_STM32F769=y # CONFIG_PINCTRL_STM32H743 is not set # CONFIG_PINCTRL_STM32MP135 is not set CONFIG_PINCTRL_STM32MP157=y CONFIG_PINCTRL_TI_IODELAY=y # CONFIG_PINCTRL_UNIPHIER is not set CONFIG_PINCTRL_VISCONTI=y CONFIG_PINCTRL_TMPV7700=y CONFIG_GPIOLIB=y CONFIG_GPIOLIB_FASTPATH_LIMIT=512 CONFIG_OF_GPIO=y CONFIG_GPIOLIB_IRQCHIP=y # CONFIG_DEBUG_GPIO is not set CONFIG_GPIO_CDEV=y CONFIG_GPIO_CDEV_V1=y CONFIG_GPIO_GENERIC=y CONFIG_GPIO_REGMAP=y CONFIG_GPIO_MAX730X=y # # Memory mapped GPIO drivers # # CONFIG_GPIO_74XX_MMIO is not set # CONFIG_GPIO_ALTERA is not set CONFIG_GPIO_ASPEED=y # CONFIG_GPIO_ASPEED_SGPIO is not set CONFIG_GPIO_ATH79=y # CONFIG_GPIO_RASPBERRYPI_EXP is not set # CONFIG_GPIO_BCM_KONA is not set CONFIG_GPIO_BCM_XGS_IPROC=y CONFIG_GPIO_BRCMSTB=y CONFIG_GPIO_CADENCE=y CONFIG_GPIO_CLPS711X=y CONFIG_GPIO_DWAPB=y CONFIG_GPIO_EIC_SPRD=y CONFIG_GPIO_EM=y CONFIG_GPIO_FTGPIO010=y CONFIG_GPIO_GENERIC_PLATFORM=y CONFIG_GPIO_GRGPIO=y # CONFIG_GPIO_HISI is not set # CONFIG_GPIO_HLWD is not set CONFIG_GPIO_LOGICVC=y CONFIG_GPIO_LOONGSON_64BIT=y # CONFIG_GPIO_LPC18XX is not set CONFIG_GPIO_LPC32XX=y CONFIG_GPIO_MB86S7X=y CONFIG_GPIO_MENZ127=y CONFIG_GPIO_MPC8XXX=y # CONFIG_GPIO_MT7621 is not set CONFIG_GPIO_MXC=y CONFIG_GPIO_MXS=y CONFIG_GPIO_OMAP=y # CONFIG_GPIO_PL061 is not set # CONFIG_GPIO_PXA is not set CONFIG_GPIO_RCAR=y CONFIG_GPIO_RDA=y CONFIG_GPIO_ROCKCHIP=y # CONFIG_GPIO_SAMA5D2_PIOBU is not set CONFIG_GPIO_SIFIVE=y # CONFIG_GPIO_SIOX is not set CONFIG_GPIO_SNPS_CREG=y CONFIG_GPIO_SPRD=y CONFIG_GPIO_STP_XWAY=y CONFIG_GPIO_SYSCON=y CONFIG_GPIO_TANGIER=y # CONFIG_GPIO_TEGRA is not set CONFIG_GPIO_TEGRA186=y CONFIG_GPIO_TS4800=y CONFIG_GPIO_UNIPHIER=y CONFIG_GPIO_VF610=y # CONFIG_GPIO_VISCONTI is not set # CONFIG_GPIO_XGENE_SB is not set # CONFIG_GPIO_XILINX is not set CONFIG_GPIO_XLP=y # CONFIG_GPIO_ZEVIO is not set CONFIG_GPIO_AMD_FCH=y CONFIG_GPIO_IDT3243X=y # end of Memory mapped GPIO drivers # # I2C GPIO expanders # CONFIG_GPIO_ADNP=y CONFIG_GPIO_FXL6408=y CONFIG_GPIO_GW_PLD=y CONFIG_GPIO_MAX7300=y # CONFIG_GPIO_MAX732X is not set CONFIG_GPIO_PCA953X=y # CONFIG_GPIO_PCA953X_IRQ is not set # CONFIG_GPIO_PCA9570 is not set CONFIG_GPIO_PCF857X=y # CONFIG_GPIO_TPIC2810 is not set # CONFIG_GPIO_TS4900 is not set # end of I2C GPIO expanders # # MFD GPIO expanders # CONFIG_GPIO_ARIZONA=y CONFIG_GPIO_BD71815=y # CONFIG_GPIO_BD71828 is not set # CONFIG_GPIO_BD9571MWV is not set # CONFIG_GPIO_CRYSTAL_COVE is not set CONFIG_GPIO_DA9055=y CONFIG_GPIO_DLN2=y # CONFIG_HTC_EGPIO is not set CONFIG_GPIO_ELKHARTLAKE=y CONFIG_GPIO_KEMPLD=y CONFIG_GPIO_LP3943=y CONFIG_GPIO_MADERA=y CONFIG_GPIO_MAX77620=y CONFIG_GPIO_MAX77650=y CONFIG_GPIO_PMIC_EIC_SPRD=y # CONFIG_GPIO_RC5T583 is not set CONFIG_GPIO_SL28CPLD=y CONFIG_GPIO_TC3589X=y CONFIG_GPIO_TPS65218=y CONFIG_GPIO_TPS6586X=y CONFIG_GPIO_TPS65910=y CONFIG_GPIO_TPS65912=y # CONFIG_GPIO_TWL6040 is not set # CONFIG_GPIO_WM831X is not set # end of MFD GPIO expanders # # SPI GPIO expanders # CONFIG_GPIO_74X164=y # CONFIG_GPIO_MAX3191X is not set CONFIG_GPIO_MAX7301=y CONFIG_GPIO_MC33880=y # CONFIG_GPIO_PISOSR is not set # CONFIG_GPIO_XRA1403 is not set # CONFIG_GPIO_MOXTET is not set # end of SPI GPIO expanders # # USB GPIO expanders # # end of USB GPIO expanders # # Virtual GPIO drivers # # CONFIG_GPIO_AGGREGATOR is not set # CONFIG_GPIO_LATCH is not set CONFIG_GPIO_MOCKUP=y # CONFIG_GPIO_VIRTIO is not set CONFIG_GPIO_SIM=y # end of Virtual GPIO drivers CONFIG_W1=y # # 1-wire Bus Masters # CONFIG_W1_MASTER_DS2490=y CONFIG_W1_MASTER_DS2482=y # CONFIG_W1_MASTER_MXC is not set # CONFIG_W1_MASTER_GPIO is not set # CONFIG_HDQ_MASTER_OMAP is not set CONFIG_W1_MASTER_SGI=y # end of 1-wire Bus Masters # # 1-wire Slaves # # CONFIG_W1_SLAVE_THERM is not set CONFIG_W1_SLAVE_SMEM=y # CONFIG_W1_SLAVE_DS2405 is not set CONFIG_W1_SLAVE_DS2408=y # CONFIG_W1_SLAVE_DS2408_READBACK is not set # CONFIG_W1_SLAVE_DS2413 is not set CONFIG_W1_SLAVE_DS2406=y CONFIG_W1_SLAVE_DS2423=y CONFIG_W1_SLAVE_DS2805=y CONFIG_W1_SLAVE_DS2430=y # CONFIG_W1_SLAVE_DS2431 is not set CONFIG_W1_SLAVE_DS2433=y CONFIG_W1_SLAVE_DS2433_CRC=y CONFIG_W1_SLAVE_DS2438=y # CONFIG_W1_SLAVE_DS250X is not set CONFIG_W1_SLAVE_DS2780=y CONFIG_W1_SLAVE_DS2781=y CONFIG_W1_SLAVE_DS28E04=y CONFIG_W1_SLAVE_DS28E17=y # end of 1-wire Slaves # CONFIG_POWER_RESET is not set CONFIG_POWER_SUPPLY=y CONFIG_POWER_SUPPLY_DEBUG=y CONFIG_POWER_SUPPLY_HWMON=y CONFIG_APM_POWER=y # CONFIG_IP5XXX_POWER is not set CONFIG_WM831X_BACKUP=y CONFIG_WM831X_POWER=y # CONFIG_TEST_POWER is not set CONFIG_CHARGER_ADP5061=y # CONFIG_BATTERY_ACT8945A is not set CONFIG_BATTERY_CW2015=y # CONFIG_BATTERY_DS2760 is not set CONFIG_BATTERY_DS2780=y CONFIG_BATTERY_DS2781=y CONFIG_BATTERY_DS2782=y CONFIG_BATTERY_SAMSUNG_SDI=y CONFIG_BATTERY_SBS=y # CONFIG_CHARGER_SBS is not set CONFIG_MANAGER_SBS=y CONFIG_BATTERY_BQ27XXX=y CONFIG_BATTERY_BQ27XXX_I2C=y CONFIG_BATTERY_BQ27XXX_HDQ=y CONFIG_BATTERY_BQ27XXX_DT_UPDATES_NVM=y # CONFIG_BATTERY_DA9150 is not set CONFIG_BATTERY_MAX17040=y CONFIG_BATTERY_MAX17042=y CONFIG_BATTERY_MAX1721X=y CONFIG_CHARGER_ISP1704=y CONFIG_CHARGER_MAX8903=y # CONFIG_CHARGER_LP8727 is not set CONFIG_CHARGER_GPIO=y CONFIG_CHARGER_MANAGER=y CONFIG_CHARGER_LT3651=y CONFIG_CHARGER_LTC4162L=y CONFIG_CHARGER_MAX14577=y # CONFIG_CHARGER_DETECTOR_MAX14656 is not set CONFIG_CHARGER_MAX77650=y # CONFIG_CHARGER_MAX77693 is not set CONFIG_CHARGER_MAX77976=y CONFIG_CHARGER_MAX8998=y CONFIG_CHARGER_MT6360=y CONFIG_CHARGER_QCOM_SMBB=y CONFIG_CHARGER_BQ2415X=y CONFIG_CHARGER_BQ24190=y CONFIG_CHARGER_BQ24257=y # CONFIG_CHARGER_BQ24735 is not set CONFIG_CHARGER_BQ2515X=y CONFIG_CHARGER_BQ25890=y CONFIG_CHARGER_BQ25980=y CONFIG_CHARGER_BQ256XX=y CONFIG_CHARGER_SMB347=y # CONFIG_BATTERY_GAUGE_LTC2941 is not set CONFIG_BATTERY_GOLDFISH=y CONFIG_BATTERY_RT5033=y # CONFIG_CHARGER_RT9455 is not set CONFIG_CHARGER_RT9467=y # CONFIG_CHARGER_RT9471 is not set CONFIG_CHARGER_SC2731=y CONFIG_CHARGER_UCS1002=y # CONFIG_CHARGER_BD99954 is not set CONFIG_BATTERY_UG3105=y CONFIG_HWMON=y CONFIG_HWMON_VID=y CONFIG_HWMON_DEBUG_CHIP=y # # Native drivers # CONFIG_SENSORS_SMPRO=y # CONFIG_SENSORS_AD7314 is not set CONFIG_SENSORS_AD7414=y CONFIG_SENSORS_AD7418=y CONFIG_SENSORS_ADM1025=y CONFIG_SENSORS_ADM1026=y CONFIG_SENSORS_ADM1029=y CONFIG_SENSORS_ADM1031=y CONFIG_SENSORS_ADM1177=y CONFIG_SENSORS_ADM9240=y CONFIG_SENSORS_ADT7X10=y CONFIG_SENSORS_ADT7310=y CONFIG_SENSORS_ADT7410=y CONFIG_SENSORS_ADT7411=y CONFIG_SENSORS_ADT7462=y # CONFIG_SENSORS_ADT7470 is not set CONFIG_SENSORS_ADT7475=y CONFIG_SENSORS_AHT10=y CONFIG_SENSORS_AS370=y CONFIG_SENSORS_ASC7621=y CONFIG_SENSORS_AXI_FAN_CONTROL=y CONFIG_SENSORS_ARM_SCMI=y # CONFIG_SENSORS_ARM_SCPI is not set # CONFIG_SENSORS_ASB100 is not set CONFIG_SENSORS_ASPEED=y CONFIG_SENSORS_ATXP1=y CONFIG_SENSORS_BT1_PVT=y CONFIG_SENSORS_BT1_PVT_ALARMS=y CONFIG_SENSORS_DRIVETEMP=y CONFIG_SENSORS_DS620=y CONFIG_SENSORS_DS1621=y CONFIG_SENSORS_DA9055=y CONFIG_SENSORS_SPARX5=y CONFIG_SENSORS_F71805F=y CONFIG_SENSORS_F71882FG=y CONFIG_SENSORS_F75375S=y CONFIG_SENSORS_MC13783_ADC=y CONFIG_SENSORS_FSCHMD=y CONFIG_SENSORS_GL518SM=y CONFIG_SENSORS_GL520SM=y CONFIG_SENSORS_G760A=y CONFIG_SENSORS_G762=y CONFIG_SENSORS_GPIO_FAN=y CONFIG_SENSORS_GXP_FAN_CTRL=y CONFIG_SENSORS_HIH6130=y CONFIG_SENSORS_IT87=y CONFIG_SENSORS_JC42=y CONFIG_SENSORS_POWR1220=y CONFIG_SENSORS_LAN966X=y CONFIG_SENSORS_LINEAGE=y # CONFIG_SENSORS_LOCHNAGAR is not set CONFIG_SENSORS_LTC2945=y CONFIG_SENSORS_LTC2947=y # CONFIG_SENSORS_LTC2947_I2C is not set CONFIG_SENSORS_LTC2947_SPI=y # CONFIG_SENSORS_LTC2990 is not set CONFIG_SENSORS_LTC2992=y CONFIG_SENSORS_LTC4151=y CONFIG_SENSORS_LTC4215=y CONFIG_SENSORS_LTC4222=y CONFIG_SENSORS_LTC4245=y # CONFIG_SENSORS_LTC4260 is not set # CONFIG_SENSORS_LTC4261 is not set CONFIG_SENSORS_MAX1111=y CONFIG_SENSORS_MAX127=y # CONFIG_SENSORS_MAX16065 is not set CONFIG_SENSORS_MAX1619=y CONFIG_SENSORS_MAX1668=y CONFIG_SENSORS_MAX197=y CONFIG_SENSORS_MAX31722=y # CONFIG_SENSORS_MAX31730 is not set CONFIG_SENSORS_MAX31760=y CONFIG_SENSORS_MAX6620=y CONFIG_SENSORS_MAX6621=y CONFIG_SENSORS_MAX6639=y CONFIG_SENSORS_MAX6650=y # CONFIG_SENSORS_MAX6697 is not set CONFIG_SENSORS_MAX31790=y # CONFIG_SENSORS_MC34VR500 is not set CONFIG_SENSORS_MCP3021=y CONFIG_SENSORS_TC654=y CONFIG_SENSORS_TPS23861=y CONFIG_SENSORS_MR75203=y CONFIG_SENSORS_ADCXX=y CONFIG_SENSORS_LM63=y CONFIG_SENSORS_LM70=y CONFIG_SENSORS_LM73=y CONFIG_SENSORS_LM75=y CONFIG_SENSORS_LM77=y CONFIG_SENSORS_LM78=y # CONFIG_SENSORS_LM80 is not set # CONFIG_SENSORS_LM83 is not set CONFIG_SENSORS_LM85=y # CONFIG_SENSORS_LM87 is not set CONFIG_SENSORS_LM90=y CONFIG_SENSORS_LM92=y # CONFIG_SENSORS_LM93 is not set CONFIG_SENSORS_LM95234=y CONFIG_SENSORS_LM95241=y # CONFIG_SENSORS_LM95245 is not set CONFIG_SENSORS_PC87360=y CONFIG_SENSORS_PC87427=y # CONFIG_SENSORS_NCT6683 is not set CONFIG_SENSORS_NCT6775_CORE=y CONFIG_SENSORS_NCT6775_I2C=y # CONFIG_SENSORS_NCT7802 is not set # CONFIG_SENSORS_NPCM7XX is not set # CONFIG_SENSORS_NSA320 is not set # CONFIG_SENSORS_OCC_P8_I2C is not set CONFIG_SENSORS_OCC_P9_SBE=y CONFIG_SENSORS_OCC=y CONFIG_SENSORS_PCF8591=y CONFIG_SENSORS_PECI_CPUTEMP=y CONFIG_SENSORS_PECI_DIMMTEMP=y CONFIG_SENSORS_PECI=y CONFIG_PMBUS=y CONFIG_SENSORS_PMBUS=y # CONFIG_SENSORS_ACBEL_FSG032 is not set # CONFIG_SENSORS_ADM1266 is not set # CONFIG_SENSORS_ADM1275 is not set CONFIG_SENSORS_BEL_PFE=y # CONFIG_SENSORS_BPA_RS600 is not set CONFIG_SENSORS_DELTA_AHE50DC_FAN=y CONFIG_SENSORS_FSP_3Y=y # CONFIG_SENSORS_IBM_CFFPS is not set CONFIG_SENSORS_DPS920AB=y CONFIG_SENSORS_INSPUR_IPSPS=y # CONFIG_SENSORS_IR35221 is not set # CONFIG_SENSORS_IR36021 is not set # CONFIG_SENSORS_IR38064 is not set # CONFIG_SENSORS_IRPS5401 is not set CONFIG_SENSORS_ISL68137=y # CONFIG_SENSORS_LM25066 is not set # CONFIG_SENSORS_LT7182S is not set CONFIG_SENSORS_LTC2978=y CONFIG_SENSORS_LTC2978_REGULATOR=y CONFIG_SENSORS_LTC3815=y # CONFIG_SENSORS_MAX15301 is not set # CONFIG_SENSORS_MAX16064 is not set # CONFIG_SENSORS_MAX16601 is not set # CONFIG_SENSORS_MAX20730 is not set CONFIG_SENSORS_MAX20751=y CONFIG_SENSORS_MAX31785=y CONFIG_SENSORS_MAX34440=y CONFIG_SENSORS_MAX8688=y CONFIG_SENSORS_MP2888=y # CONFIG_SENSORS_MP2975 is not set CONFIG_SENSORS_MP5023=y CONFIG_SENSORS_MPQ7932_REGULATOR=y CONFIG_SENSORS_MPQ7932=y # CONFIG_SENSORS_PIM4328 is not set # CONFIG_SENSORS_PLI1209BC is not set CONFIG_SENSORS_PM6764TR=y CONFIG_SENSORS_PXE1610=y CONFIG_SENSORS_Q54SJ108A2=y CONFIG_SENSORS_STPDDC60=y # CONFIG_SENSORS_TDA38640 is not set CONFIG_SENSORS_TPS40422=y CONFIG_SENSORS_TPS53679=y # CONFIG_SENSORS_TPS546D24 is not set CONFIG_SENSORS_UCD9000=y CONFIG_SENSORS_UCD9200=y CONFIG_SENSORS_XDPE152=y CONFIG_SENSORS_XDPE122=y CONFIG_SENSORS_XDPE122_REGULATOR=y CONFIG_SENSORS_ZL6100=y CONFIG_SENSORS_PWM_FAN=y CONFIG_SENSORS_RASPBERRYPI_HWMON=y # CONFIG_SENSORS_SL28CPLD is not set CONFIG_SENSORS_SBTSI=y CONFIG_SENSORS_SBRMI=y # CONFIG_SENSORS_SHT15 is not set # CONFIG_SENSORS_SHT21 is not set # CONFIG_SENSORS_SHT3x is not set # CONFIG_SENSORS_SHT4x is not set # CONFIG_SENSORS_SHTC1 is not set # CONFIG_SENSORS_DME1737 is not set CONFIG_SENSORS_EMC1403=y # CONFIG_SENSORS_EMC2103 is not set # CONFIG_SENSORS_EMC2305 is not set CONFIG_SENSORS_EMC6W201=y CONFIG_SENSORS_SMSC47M1=y # CONFIG_SENSORS_SMSC47M192 is not set # CONFIG_SENSORS_SMSC47B397 is not set CONFIG_SENSORS_STTS751=y CONFIG_SENSORS_SFCTEMP=y CONFIG_SENSORS_SMM665=y # CONFIG_SENSORS_ADC128D818 is not set # CONFIG_SENSORS_ADS7828 is not set # CONFIG_SENSORS_ADS7871 is not set CONFIG_SENSORS_AMC6821=y # CONFIG_SENSORS_INA209 is not set # CONFIG_SENSORS_INA2XX is not set CONFIG_SENSORS_INA238=y # CONFIG_SENSORS_INA3221 is not set CONFIG_SENSORS_TC74=y # CONFIG_SENSORS_THMC50 is not set # CONFIG_SENSORS_TMP102 is not set CONFIG_SENSORS_TMP103=y # CONFIG_SENSORS_TMP108 is not set CONFIG_SENSORS_TMP401=y CONFIG_SENSORS_TMP421=y # CONFIG_SENSORS_TMP464 is not set # CONFIG_SENSORS_TMP513 is not set # CONFIG_SENSORS_VT1211 is not set # CONFIG_SENSORS_W83773G is not set CONFIG_SENSORS_W83781D=y # CONFIG_SENSORS_W83791D is not set CONFIG_SENSORS_W83792D=y CONFIG_SENSORS_W83793=y CONFIG_SENSORS_W83795=y CONFIG_SENSORS_W83795_FANCTRL=y CONFIG_SENSORS_W83L785TS=y CONFIG_SENSORS_W83L786NG=y CONFIG_SENSORS_W83627HF=y CONFIG_SENSORS_W83627EHF=y # CONFIG_SENSORS_WM831X is not set CONFIG_SENSORS_INTEL_M10_BMC_HWMON=y # CONFIG_THERMAL is not set # CONFIG_WATCHDOG is not set CONFIG_SSB_POSSIBLE=y CONFIG_SSB=y CONFIG_SSB_SPROM=y CONFIG_SSB_PCMCIAHOST_POSSIBLE=y CONFIG_SSB_PCMCIAHOST=y CONFIG_SSB_SDIOHOST_POSSIBLE=y # CONFIG_SSB_SDIOHOST is not set CONFIG_SSB_DRIVER_GPIO=y CONFIG_BCMA_POSSIBLE=y # CONFIG_BCMA is not set # # Multifunction device drivers # CONFIG_MFD_CORE=y # CONFIG_MFD_ACT8945A is not set # CONFIG_MFD_AS3711 is not set CONFIG_MFD_SMPRO=y CONFIG_MFD_AS3722=y # CONFIG_PMIC_ADP5520 is not set CONFIG_MFD_AAT2870_CORE=y CONFIG_MFD_AT91_USART=y # CONFIG_MFD_ATMEL_FLEXCOM is not set # CONFIG_MFD_ATMEL_HLCDC is not set CONFIG_MFD_BCM590XX=y CONFIG_MFD_BD9571MWV=y # CONFIG_MFD_AXP20X_I2C is not set CONFIG_MFD_MADERA=y # CONFIG_MFD_MADERA_I2C is not set # CONFIG_MFD_MADERA_SPI is not set CONFIG_MFD_MAX597X=y CONFIG_MFD_CS47L15=y CONFIG_MFD_CS47L35=y CONFIG_MFD_CS47L85=y CONFIG_MFD_CS47L90=y # CONFIG_MFD_CS47L92 is not set # CONFIG_PMIC_DA903X is not set # CONFIG_MFD_DA9052_SPI is not set # CONFIG_MFD_DA9052_I2C is not set CONFIG_MFD_DA9055=y CONFIG_MFD_DA9062=y # CONFIG_MFD_DA9063 is not set CONFIG_MFD_DA9150=y CONFIG_MFD_DLN2=y CONFIG_MFD_ENE_KB3930=y CONFIG_MFD_EXYNOS_LPASS=y # CONFIG_MFD_GATEWORKS_GSC is not set CONFIG_MFD_MC13XXX=y CONFIG_MFD_MC13XXX_SPI=y # CONFIG_MFD_MC13XXX_I2C is not set CONFIG_MFD_MP2629=y CONFIG_MFD_MXS_LRADC=y CONFIG_MFD_MX25_TSADC=y # CONFIG_MFD_HI6421_PMIC is not set CONFIG_MFD_HI6421_SPMI=y CONFIG_MFD_HI655X_PMIC=y CONFIG_INTEL_SOC_PMIC=y CONFIG_MFD_IQS62X=y CONFIG_MFD_KEMPLD=y CONFIG_MFD_88PM800=y CONFIG_MFD_88PM805=y # CONFIG_MFD_88PM860X is not set CONFIG_MFD_MAX14577=y CONFIG_MFD_MAX77620=y CONFIG_MFD_MAX77650=y CONFIG_MFD_MAX77686=y CONFIG_MFD_MAX77693=y CONFIG_MFD_MAX77714=y CONFIG_MFD_MAX77843=y CONFIG_MFD_MAX8907=y # CONFIG_MFD_MAX8925 is not set CONFIG_MFD_MAX8997=y CONFIG_MFD_MAX8998=y CONFIG_MFD_MT6360=y CONFIG_MFD_MT6370=y CONFIG_MFD_MT6397=y # CONFIG_MFD_MENF21BMC is not set # CONFIG_MFD_OCELOT is not set CONFIG_EZX_PCAP=y # CONFIG_MFD_CPCAP is not set # CONFIG_MFD_VIPERBOARD is not set CONFIG_MFD_NTXEC=y CONFIG_MFD_RETU=y # CONFIG_MFD_PCF50633 is not set CONFIG_MFD_PM8XXX=y CONFIG_MFD_SPMI_PMIC=y # CONFIG_MFD_SY7636A is not set CONFIG_MFD_RT4831=y CONFIG_MFD_RT5033=y # CONFIG_MFD_RT5120 is not set CONFIG_MFD_RC5T583=y # CONFIG_MFD_RK808 is not set # CONFIG_MFD_RN5T618 is not set CONFIG_MFD_SEC_CORE=y # CONFIG_MFD_SI476X_CORE is not set CONFIG_MFD_SIMPLE_MFD_I2C=y CONFIG_MFD_SL28CPLD=y # CONFIG_MFD_SM501 is not set # CONFIG_MFD_SKY81452 is not set # CONFIG_MFD_SC27XX_PMIC is not set # CONFIG_RZ_MTU3 is not set CONFIG_ABX500_CORE=y # CONFIG_MFD_STMPE is not set # CONFIG_MFD_SUN6I_PRCM is not set CONFIG_MFD_SYSCON=y # CONFIG_MFD_TI_AM335X_TSCADC is not set CONFIG_MFD_LP3943=y CONFIG_MFD_LP8788=y CONFIG_MFD_TI_LMU=y # CONFIG_MFD_PALMAS is not set # CONFIG_TPS6105X is not set # CONFIG_TPS65010 is not set # CONFIG_TPS6507X is not set # CONFIG_MFD_TPS65086 is not set # CONFIG_MFD_TPS65090 is not set # CONFIG_MFD_TPS65217 is not set # CONFIG_MFD_TI_LP873X is not set # CONFIG_MFD_TI_LP87565 is not set CONFIG_MFD_TPS65218=y CONFIG_MFD_TPS65219=y CONFIG_MFD_TPS6586X=y CONFIG_MFD_TPS65910=y CONFIG_MFD_TPS65912=y CONFIG_MFD_TPS65912_I2C=y CONFIG_MFD_TPS65912_SPI=y # CONFIG_TWL4030_CORE is not set CONFIG_TWL6040_CORE=y CONFIG_MFD_WL1273_CORE=y CONFIG_MFD_LM3533=y CONFIG_MFD_TC3589X=y # CONFIG_MFD_TQMX86 is not set CONFIG_MFD_LOCHNAGAR=y CONFIG_MFD_ARIZONA=y # CONFIG_MFD_ARIZONA_I2C is not set CONFIG_MFD_ARIZONA_SPI=y CONFIG_MFD_CS47L24=y # CONFIG_MFD_WM5102 is not set CONFIG_MFD_WM5110=y CONFIG_MFD_WM8997=y CONFIG_MFD_WM8998=y CONFIG_MFD_WM8400=y CONFIG_MFD_WM831X=y CONFIG_MFD_WM831X_I2C=y # CONFIG_MFD_WM831X_SPI is not set # CONFIG_MFD_WM8350_I2C is not set # CONFIG_MFD_WM8994 is not set # CONFIG_MFD_STW481X is not set CONFIG_MFD_ROHM_BD718XX=y CONFIG_MFD_ROHM_BD71828=y CONFIG_MFD_ROHM_BD957XMUF=y # CONFIG_MFD_STM32_LPTIMER is not set CONFIG_MFD_STM32_TIMERS=y CONFIG_MFD_STPMIC1=y CONFIG_MFD_STMFX=y # CONFIG_MFD_WCD934X is not set # CONFIG_MFD_ATC260X_I2C is not set CONFIG_MFD_KHADAS_MCU=y # CONFIG_MFD_ACER_A500_EC is not set CONFIG_MFD_QCOM_PM8008=y # CONFIG_RAVE_SP_CORE is not set CONFIG_MFD_INTEL_M10_BMC_CORE=y CONFIG_MFD_INTEL_M10_BMC_SPI=y CONFIG_MFD_INTEL_M10_BMC_PMCI=y # CONFIG_MFD_RSMU_I2C is not set CONFIG_MFD_RSMU_SPI=y # end of Multifunction device drivers CONFIG_REGULATOR=y # CONFIG_REGULATOR_DEBUG is not set CONFIG_REGULATOR_FIXED_VOLTAGE=y CONFIG_REGULATOR_VIRTUAL_CONSUMER=y # CONFIG_REGULATOR_USERSPACE_CONSUMER is not set # CONFIG_REGULATOR_88PG86X is not set # CONFIG_REGULATOR_88PM800 is not set CONFIG_REGULATOR_ACT8865=y CONFIG_REGULATOR_AD5398=y CONFIG_REGULATOR_ANATOP=y CONFIG_REGULATOR_AAT2870=y # CONFIG_REGULATOR_ARM_SCMI is not set CONFIG_REGULATOR_AS3722=y CONFIG_REGULATOR_BCM590XX=y CONFIG_REGULATOR_BD71815=y # CONFIG_REGULATOR_BD71828 is not set CONFIG_REGULATOR_BD718XX=y CONFIG_REGULATOR_BD9571MWV=y # CONFIG_REGULATOR_BD957XMUF is not set CONFIG_REGULATOR_DA9055=y CONFIG_REGULATOR_DA9062=y CONFIG_REGULATOR_DA9121=y CONFIG_REGULATOR_DA9210=y CONFIG_REGULATOR_DA9211=y CONFIG_REGULATOR_FAN53555=y CONFIG_REGULATOR_FAN53880=y CONFIG_REGULATOR_GPIO=y # CONFIG_REGULATOR_HI655X is not set CONFIG_REGULATOR_HI6421V600=y CONFIG_REGULATOR_ISL9305=y CONFIG_REGULATOR_ISL6271A=y # CONFIG_REGULATOR_LM363X is not set CONFIG_REGULATOR_LOCHNAGAR=y CONFIG_REGULATOR_LP3971=y CONFIG_REGULATOR_LP3972=y CONFIG_REGULATOR_LP872X=y CONFIG_REGULATOR_LP8755=y CONFIG_REGULATOR_LP8788=y CONFIG_REGULATOR_LTC3589=y CONFIG_REGULATOR_LTC3676=y CONFIG_REGULATOR_MAX14577=y CONFIG_REGULATOR_MAX1586=y # CONFIG_REGULATOR_MAX597X is not set # CONFIG_REGULATOR_MAX77620 is not set CONFIG_REGULATOR_MAX77650=y CONFIG_REGULATOR_MAX8649=y CONFIG_REGULATOR_MAX8660=y CONFIG_REGULATOR_MAX8893=y # CONFIG_REGULATOR_MAX8907 is not set CONFIG_REGULATOR_MAX8952=y # CONFIG_REGULATOR_MAX8997 is not set CONFIG_REGULATOR_MAX8998=y CONFIG_REGULATOR_MAX20086=y # CONFIG_REGULATOR_MAX20411 is not set CONFIG_REGULATOR_MAX77686=y CONFIG_REGULATOR_MAX77693=y CONFIG_REGULATOR_MAX77802=y CONFIG_REGULATOR_MAX77826=y # CONFIG_REGULATOR_MC13783 is not set # CONFIG_REGULATOR_MC13892 is not set CONFIG_REGULATOR_MCP16502=y CONFIG_REGULATOR_MP5416=y CONFIG_REGULATOR_MP8859=y # CONFIG_REGULATOR_MP886X is not set CONFIG_REGULATOR_MPQ7920=y CONFIG_REGULATOR_MT6311=y # CONFIG_REGULATOR_MT6315 is not set CONFIG_REGULATOR_MT6323=y # CONFIG_REGULATOR_MT6331 is not set CONFIG_REGULATOR_MT6332=y CONFIG_REGULATOR_MT6357=y CONFIG_REGULATOR_MT6358=y CONFIG_REGULATOR_MT6359=y # CONFIG_REGULATOR_MT6360 is not set CONFIG_REGULATOR_MT6370=y CONFIG_REGULATOR_MT6397=y CONFIG_REGULATOR_PBIAS=y CONFIG_REGULATOR_PCA9450=y CONFIG_REGULATOR_PCAP=y CONFIG_REGULATOR_PF8X00=y # CONFIG_REGULATOR_PFUZE100 is not set CONFIG_REGULATOR_PV88060=y CONFIG_REGULATOR_PV88080=y CONFIG_REGULATOR_PV88090=y # CONFIG_REGULATOR_QCOM_RPMH is not set CONFIG_REGULATOR_QCOM_SMD_RPM=y # CONFIG_REGULATOR_QCOM_SPMI is not set CONFIG_REGULATOR_QCOM_USB_VBUS=y # CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY is not set CONFIG_REGULATOR_RC5T583=y CONFIG_REGULATOR_ROHM=y CONFIG_REGULATOR_RT4801=y CONFIG_REGULATOR_RT4803=y # CONFIG_REGULATOR_RT4831 is not set CONFIG_REGULATOR_RT5033=y # CONFIG_REGULATOR_RT5190A is not set # CONFIG_REGULATOR_RT5739 is not set # CONFIG_REGULATOR_RT5759 is not set CONFIG_REGULATOR_RT6160=y CONFIG_REGULATOR_RT6190=y CONFIG_REGULATOR_RT6245=y CONFIG_REGULATOR_RTQ2134=y # CONFIG_REGULATOR_RTMV20 is not set # CONFIG_REGULATOR_RTQ6752 is not set # CONFIG_REGULATOR_S2MPA01 is not set CONFIG_REGULATOR_S2MPS11=y CONFIG_REGULATOR_S5M8767=y # CONFIG_REGULATOR_SC2731 is not set CONFIG_REGULATOR_SLG51000=y CONFIG_REGULATOR_STM32_BOOSTER=y CONFIG_REGULATOR_STM32_VREFBUF=y CONFIG_REGULATOR_STM32_PWR=y # CONFIG_REGULATOR_STPMIC1 is not set # CONFIG_REGULATOR_TI_ABB is not set # CONFIG_REGULATOR_STW481X_VMMC is not set CONFIG_REGULATOR_SY8106A=y # CONFIG_REGULATOR_SY8824X is not set CONFIG_REGULATOR_SY8827N=y CONFIG_REGULATOR_TPS51632=y CONFIG_REGULATOR_TPS62360=y CONFIG_REGULATOR_TPS6286X=y CONFIG_REGULATOR_TPS65023=y CONFIG_REGULATOR_TPS6507X=y CONFIG_REGULATOR_TPS65132=y CONFIG_REGULATOR_TPS65218=y CONFIG_REGULATOR_TPS65219=y CONFIG_REGULATOR_TPS6524X=y # CONFIG_REGULATOR_TPS6586X is not set CONFIG_REGULATOR_TPS65910=y CONFIG_REGULATOR_TPS65912=y CONFIG_REGULATOR_TPS68470=y # CONFIG_REGULATOR_UNIPHIER is not set CONFIG_REGULATOR_VCTRL=y # CONFIG_REGULATOR_WM831X is not set # CONFIG_REGULATOR_WM8400 is not set CONFIG_REGULATOR_QCOM_LABIBB=y CONFIG_RC_CORE=y # CONFIG_LIRC is not set CONFIG_RC_MAP=y CONFIG_RC_DECODERS=y # CONFIG_IR_IMON_DECODER is not set CONFIG_IR_JVC_DECODER=y # CONFIG_IR_MCE_KBD_DECODER is not set CONFIG_IR_NEC_DECODER=y # CONFIG_IR_RC5_DECODER is not set # CONFIG_IR_RC6_DECODER is not set # CONFIG_IR_RCMM_DECODER is not set # CONFIG_IR_SANYO_DECODER is not set # CONFIG_IR_SHARP_DECODER is not set # CONFIG_IR_SONY_DECODER is not set CONFIG_IR_XMP_DECODER=y CONFIG_RC_DEVICES=y # CONFIG_IR_ENE is not set CONFIG_IR_FINTEK=y CONFIG_IR_GPIO_CIR=y CONFIG_IR_HIX5HD2=y CONFIG_IR_IGORPLUGUSB=y CONFIG_IR_IGUANA=y CONFIG_IR_IMON=y CONFIG_IR_IMON_RAW=y CONFIG_IR_ITE_CIR=y # CONFIG_IR_MCEUSB is not set CONFIG_IR_MESON=y CONFIG_IR_MESON_TX=y CONFIG_IR_MTK=y CONFIG_IR_NUVOTON=y # CONFIG_IR_REDRAT3 is not set CONFIG_IR_RX51=y CONFIG_IR_SERIAL=y # CONFIG_IR_SERIAL_TRANSMITTER is not set # CONFIG_IR_STREAMZAP is not set # CONFIG_IR_SUNXI is not set CONFIG_IR_TOY=y # CONFIG_IR_TTUSBIR is not set CONFIG_IR_WINBOND_CIR=y CONFIG_RC_ATI_REMOTE=y CONFIG_RC_LOOPBACK=y CONFIG_RC_ST=y # CONFIG_RC_XBOX_DVD is not set CONFIG_IR_IMG=y CONFIG_IR_IMG_RAW=y # CONFIG_IR_IMG_HW is not set CONFIG_CEC_CORE=y CONFIG_CEC_NOTIFIER=y CONFIG_CEC_PIN=y # # CEC support # CONFIG_MEDIA_CEC_RC=y # CONFIG_CEC_PIN_ERROR_INJ is not set # CONFIG_MEDIA_CEC_SUPPORT is not set # end of CEC support CONFIG_MEDIA_SUPPORT=y # CONFIG_MEDIA_SUPPORT_FILTER is not set # CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set # # Media device types # CONFIG_MEDIA_CAMERA_SUPPORT=y CONFIG_MEDIA_ANALOG_TV_SUPPORT=y CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y CONFIG_MEDIA_RADIO_SUPPORT=y CONFIG_MEDIA_SDR_SUPPORT=y CONFIG_MEDIA_PLATFORM_SUPPORT=y CONFIG_MEDIA_TEST_SUPPORT=y # end of Media device types # # Media core support # CONFIG_VIDEO_DEV=y CONFIG_MEDIA_CONTROLLER=y CONFIG_DVB_CORE=y # end of Media core support # # Video4Linux options # CONFIG_VIDEO_V4L2_I2C=y CONFIG_VIDEO_V4L2_SUBDEV_API=y # CONFIG_VIDEO_ADV_DEBUG is not set # CONFIG_VIDEO_FIXED_MINOR_RANGES is not set CONFIG_VIDEO_TUNER=y CONFIG_V4L2_MEM2MEM_DEV=y CONFIG_V4L2_FLASH_LED_CLASS=y CONFIG_V4L2_FWNODE=y CONFIG_V4L2_ASYNC=y # end of Video4Linux options # # Media controller options # CONFIG_MEDIA_CONTROLLER_DVB=y CONFIG_MEDIA_CONTROLLER_REQUEST_API=y # end of Media controller options # # Digital TV options # # CONFIG_DVB_MMAP is not set CONFIG_DVB_MAX_ADAPTERS=16 CONFIG_DVB_DYNAMIC_MINORS=y CONFIG_DVB_DEMUX_SECTION_LOSS_LOG=y # CONFIG_DVB_ULE_DEBUG is not set # end of Digital TV options # # Media drivers # # # Media drivers # CONFIG_MEDIA_USB_SUPPORT=y # # Webcam devices # # CONFIG_USB_GSPCA is not set CONFIG_USB_PWC=y CONFIG_USB_PWC_DEBUG=y CONFIG_USB_PWC_INPUT_EVDEV=y CONFIG_USB_S2255=y CONFIG_USB_VIDEO_CLASS=y # CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV is not set # # Analog TV USB devices # # CONFIG_VIDEO_HDPVR is not set CONFIG_VIDEO_PVRUSB2=y # CONFIG_VIDEO_PVRUSB2_SYSFS is not set CONFIG_VIDEO_PVRUSB2_DVB=y # CONFIG_VIDEO_STK1160_COMMON is not set # # Analog/digital TV USB devices # CONFIG_VIDEO_AU0828=y CONFIG_VIDEO_AU0828_V4L2=y CONFIG_VIDEO_AU0828_RC=y CONFIG_VIDEO_CX231XX=y # CONFIG_VIDEO_CX231XX_RC is not set CONFIG_VIDEO_CX231XX_DVB=y # # Digital TV USB devices # CONFIG_DVB_AS102=y CONFIG_DVB_B2C2_FLEXCOP_USB=y # CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG is not set CONFIG_DVB_USB_V2=y CONFIG_DVB_USB_AF9015=y # CONFIG_DVB_USB_AF9035 is not set CONFIG_DVB_USB_ANYSEE=y CONFIG_DVB_USB_AU6610=y CONFIG_DVB_USB_AZ6007=y CONFIG_DVB_USB_CE6230=y # CONFIG_DVB_USB_DVBSKY is not set CONFIG_DVB_USB_EC168=y CONFIG_DVB_USB_GL861=y CONFIG_DVB_USB_LME2510=y CONFIG_DVB_USB_MXL111SF=y CONFIG_DVB_USB_RTL28XXU=y # CONFIG_DVB_USB_ZD1301 is not set CONFIG_DVB_USB=y # CONFIG_DVB_USB_DEBUG is not set # CONFIG_DVB_USB_A800 is not set CONFIG_DVB_USB_AF9005=y # CONFIG_DVB_USB_AF9005_REMOTE is not set # CONFIG_DVB_USB_AZ6027 is not set CONFIG_DVB_USB_CINERGY_T2=y CONFIG_DVB_USB_CXUSB=y # CONFIG_DVB_USB_CXUSB_ANALOG is not set # CONFIG_DVB_USB_DIB0700 is not set CONFIG_DVB_USB_DIB3000MC=y CONFIG_DVB_USB_DIBUSB_MB=y # CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set # CONFIG_DVB_USB_DIBUSB_MC is not set CONFIG_DVB_USB_DIGITV=y CONFIG_DVB_USB_DTT200U=y CONFIG_DVB_USB_DTV5100=y # CONFIG_DVB_USB_DW2102 is not set CONFIG_DVB_USB_GP8PSK=y # CONFIG_DVB_USB_M920X is not set CONFIG_DVB_USB_NOVA_T_USB2=y CONFIG_DVB_USB_OPERA1=y CONFIG_DVB_USB_PCTV452E=y CONFIG_DVB_USB_TECHNISAT_USB2=y CONFIG_DVB_USB_TTUSB2=y CONFIG_DVB_USB_UMT_010=y CONFIG_DVB_USB_VP702X=y CONFIG_DVB_USB_VP7045=y CONFIG_SMS_USB_DRV=y # # Webcam, TV (analog/digital) USB devices # CONFIG_VIDEO_EM28XX=y # CONFIG_VIDEO_EM28XX_V4L2 is not set CONFIG_VIDEO_EM28XX_DVB=y # CONFIG_VIDEO_EM28XX_RC is not set # # Software defined radio USB devices # CONFIG_USB_AIRSPY=y CONFIG_USB_HACKRF=y CONFIG_USB_MSI2500=y CONFIG_RADIO_ADAPTERS=y # CONFIG_RADIO_SAA7706H is not set CONFIG_RADIO_SHARK=y # CONFIG_RADIO_SHARK2 is not set # CONFIG_RADIO_SI4713 is not set CONFIG_RADIO_TEA575X=y CONFIG_RADIO_TEA5764=y # CONFIG_RADIO_TEA5764_XTAL is not set CONFIG_RADIO_TEF6862=y CONFIG_RADIO_WL1273=y # CONFIG_USB_DSBR is not set CONFIG_USB_KEENE=y CONFIG_USB_MA901=y CONFIG_USB_MR800=y CONFIG_USB_RAREMONO=y CONFIG_RADIO_SI470X=y # CONFIG_USB_SI470X is not set # CONFIG_I2C_SI470X is not set CONFIG_V4L_RADIO_ISA_DRIVERS=y # CONFIG_RADIO_AZTECH is not set # CONFIG_RADIO_CADET is not set # CONFIG_RADIO_GEMTEK is not set CONFIG_RADIO_ISA=y CONFIG_RADIO_RTRACK=y CONFIG_RADIO_RTRACK2=y CONFIG_RADIO_RTRACK2_PORT=30c CONFIG_RADIO_RTRACK_PORT=30f CONFIG_RADIO_SF16FMI=y CONFIG_RADIO_SF16FMR2=y CONFIG_RADIO_TERRATEC=y CONFIG_RADIO_TRUST=y CONFIG_RADIO_TRUST_PORT=350 # CONFIG_RADIO_TYPHOON is not set # CONFIG_RADIO_ZOLTRIX is not set # CONFIG_MEDIA_PLATFORM_DRIVERS is not set # # MMC/SDIO DVB adapters # CONFIG_SMS_SDIO_DRV=y CONFIG_V4L_TEST_DRIVERS=y CONFIG_VIDEO_VIM2M=y # CONFIG_VIDEO_VICODEC is not set CONFIG_VIDEO_VIMC=y CONFIG_VIDEO_VISL=y CONFIG_VISL_DEBUGFS=y # CONFIG_DVB_TEST_DRIVERS is not set CONFIG_MEDIA_COMMON_OPTIONS=y # # common driver options # CONFIG_CYPRESS_FIRMWARE=y CONFIG_TTPCI_EEPROM=y CONFIG_UVC_COMMON=y CONFIG_VIDEO_CX2341X=y CONFIG_VIDEO_TVEEPROM=y CONFIG_DVB_B2C2_FLEXCOP=y CONFIG_SMS_SIANO_MDTV=y CONFIG_SMS_SIANO_RC=y # CONFIG_SMS_SIANO_DEBUGFS is not set CONFIG_VIDEO_V4L2_TPG=y CONFIG_VIDEOBUF2_CORE=y CONFIG_VIDEOBUF2_V4L2=y CONFIG_VIDEOBUF2_MEMOPS=y CONFIG_VIDEOBUF2_DMA_CONTIG=y CONFIG_VIDEOBUF2_VMALLOC=y CONFIG_VIDEOBUF2_DMA_SG=y # end of Media drivers # # Media ancillary drivers # CONFIG_VIDEO_IR_I2C=y # # Camera sensor devices # CONFIG_VIDEO_APTINA_PLL=y CONFIG_VIDEO_CCS_PLL=y CONFIG_VIDEO_AR0521=y CONFIG_VIDEO_HI556=y # CONFIG_VIDEO_HI846 is not set CONFIG_VIDEO_HI847=y # CONFIG_VIDEO_IMX208 is not set CONFIG_VIDEO_IMX214=y CONFIG_VIDEO_IMX219=y CONFIG_VIDEO_IMX258=y CONFIG_VIDEO_IMX274=y CONFIG_VIDEO_IMX290=y CONFIG_VIDEO_IMX296=y # CONFIG_VIDEO_IMX319 is not set CONFIG_VIDEO_IMX334=y CONFIG_VIDEO_IMX335=y CONFIG_VIDEO_IMX355=y CONFIG_VIDEO_IMX412=y CONFIG_VIDEO_IMX415=y CONFIG_VIDEO_MAX9271_LIB=y CONFIG_VIDEO_MT9M001=y CONFIG_VIDEO_MT9M111=y CONFIG_VIDEO_MT9P031=y # CONFIG_VIDEO_MT9T112 is not set CONFIG_VIDEO_MT9V011=y CONFIG_VIDEO_MT9V032=y CONFIG_VIDEO_MT9V111=y CONFIG_VIDEO_OG01A1B=y CONFIG_VIDEO_OV02A10=y CONFIG_VIDEO_OV08D10=y CONFIG_VIDEO_OV08X40=y CONFIG_VIDEO_OV13858=y # CONFIG_VIDEO_OV13B10 is not set # CONFIG_VIDEO_OV2640 is not set CONFIG_VIDEO_OV2659=y # CONFIG_VIDEO_OV2680 is not set # CONFIG_VIDEO_OV2685 is not set CONFIG_VIDEO_OV2740=y # CONFIG_VIDEO_OV4689 is not set # CONFIG_VIDEO_OV5640 is not set CONFIG_VIDEO_OV5645=y CONFIG_VIDEO_OV5647=y CONFIG_VIDEO_OV5670=y # CONFIG_VIDEO_OV5675 is not set # CONFIG_VIDEO_OV5693 is not set CONFIG_VIDEO_OV5695=y CONFIG_VIDEO_OV6650=y # CONFIG_VIDEO_OV7251 is not set CONFIG_VIDEO_OV7640=y # CONFIG_VIDEO_OV7670 is not set CONFIG_VIDEO_OV772X=y CONFIG_VIDEO_OV7740=y CONFIG_VIDEO_OV8856=y CONFIG_VIDEO_OV9282=y CONFIG_VIDEO_OV9640=y # CONFIG_VIDEO_OV9650 is not set CONFIG_VIDEO_OV9734=y # CONFIG_VIDEO_RDACM20 is not set CONFIG_VIDEO_RDACM21=y CONFIG_VIDEO_RJ54N1=y CONFIG_VIDEO_S5C73M3=y CONFIG_VIDEO_S5K5BAF=y # CONFIG_VIDEO_S5K6A3 is not set # CONFIG_VIDEO_ST_VGXY61 is not set CONFIG_VIDEO_CCS=y CONFIG_VIDEO_ET8EK8=y # end of Camera sensor devices # # Lens drivers # CONFIG_VIDEO_AD5820=y # CONFIG_VIDEO_AK7375 is not set CONFIG_VIDEO_DW9714=y CONFIG_VIDEO_DW9768=y CONFIG_VIDEO_DW9807_VCM=y # end of Lens drivers # # Flash devices # # CONFIG_VIDEO_ADP1653 is not set # CONFIG_VIDEO_LM3560 is not set CONFIG_VIDEO_LM3646=y # end of Flash devices # # Audio decoders, processors and mixers # CONFIG_VIDEO_CS3308=y # CONFIG_VIDEO_CS5345 is not set CONFIG_VIDEO_CS53L32A=y CONFIG_VIDEO_MSP3400=y # CONFIG_VIDEO_SONY_BTF_MPX is not set CONFIG_VIDEO_TDA7432=y CONFIG_VIDEO_TDA9840=y CONFIG_VIDEO_TEA6415C=y # CONFIG_VIDEO_TEA6420 is not set CONFIG_VIDEO_TLV320AIC23B=y CONFIG_VIDEO_TVAUDIO=y CONFIG_VIDEO_UDA1342=y CONFIG_VIDEO_VP27SMPX=y CONFIG_VIDEO_WM8739=y CONFIG_VIDEO_WM8775=y # end of Audio decoders, processors and mixers # # RDS decoders # CONFIG_VIDEO_SAA6588=y # end of RDS decoders # # Video decoders # # CONFIG_VIDEO_ADV7180 is not set # CONFIG_VIDEO_ADV7183 is not set CONFIG_VIDEO_ADV748X=y CONFIG_VIDEO_ADV7604=y CONFIG_VIDEO_ADV7604_CEC=y # CONFIG_VIDEO_ADV7842 is not set CONFIG_VIDEO_BT819=y # CONFIG_VIDEO_BT856 is not set # CONFIG_VIDEO_BT866 is not set CONFIG_VIDEO_ISL7998X=y CONFIG_VIDEO_KS0127=y # CONFIG_VIDEO_MAX9286 is not set CONFIG_VIDEO_ML86V7667=y # CONFIG_VIDEO_SAA7110 is not set CONFIG_VIDEO_SAA711X=y # CONFIG_VIDEO_TC358743 is not set CONFIG_VIDEO_TVP514X=y CONFIG_VIDEO_TVP5150=y CONFIG_VIDEO_TVP7002=y # CONFIG_VIDEO_TW2804 is not set # CONFIG_VIDEO_TW9903 is not set CONFIG_VIDEO_TW9906=y CONFIG_VIDEO_TW9910=y CONFIG_VIDEO_VPX3220=y # # Video and audio decoders # # CONFIG_VIDEO_SAA717X is not set CONFIG_VIDEO_CX25840=y # end of Video decoders # # Video encoders # CONFIG_VIDEO_ADV7170=y CONFIG_VIDEO_ADV7175=y CONFIG_VIDEO_ADV7343=y CONFIG_VIDEO_ADV7393=y CONFIG_VIDEO_ADV7511=y # CONFIG_VIDEO_ADV7511_CEC is not set # CONFIG_VIDEO_AK881X is not set CONFIG_VIDEO_SAA7127=y CONFIG_VIDEO_SAA7185=y # CONFIG_VIDEO_THS8200 is not set # end of Video encoders # # Video improvement chips # CONFIG_VIDEO_UPD64031A=y # CONFIG_VIDEO_UPD64083 is not set # end of Video improvement chips # # Audio/Video compression chips # CONFIG_VIDEO_SAA6752HS=y # end of Audio/Video compression chips # # SDR tuner chips # CONFIG_SDR_MAX2175=y # end of SDR tuner chips # # Miscellaneous helper chips # CONFIG_VIDEO_I2C=y CONFIG_VIDEO_M52790=y CONFIG_VIDEO_ST_MIPID02=y CONFIG_VIDEO_THS7303=y # end of Miscellaneous helper chips # # Media SPI Adapters # CONFIG_CXD2880_SPI_DRV=y CONFIG_VIDEO_GS1662=y # end of Media SPI Adapters CONFIG_MEDIA_TUNER=y # # Customize TV tuners # # CONFIG_MEDIA_TUNER_E4000 is not set # CONFIG_MEDIA_TUNER_FC0011 is not set # CONFIG_MEDIA_TUNER_FC0012 is not set CONFIG_MEDIA_TUNER_FC0013=y CONFIG_MEDIA_TUNER_FC2580=y CONFIG_MEDIA_TUNER_IT913X=y # CONFIG_MEDIA_TUNER_M88RS6000T is not set # CONFIG_MEDIA_TUNER_MAX2165 is not set # CONFIG_MEDIA_TUNER_MC44S803 is not set CONFIG_MEDIA_TUNER_MSI001=y # CONFIG_MEDIA_TUNER_MT2060 is not set CONFIG_MEDIA_TUNER_MT2063=y CONFIG_MEDIA_TUNER_MT20XX=y # CONFIG_MEDIA_TUNER_MT2131 is not set CONFIG_MEDIA_TUNER_MT2266=y CONFIG_MEDIA_TUNER_MXL301RF=y # CONFIG_MEDIA_TUNER_MXL5005S is not set CONFIG_MEDIA_TUNER_MXL5007T=y CONFIG_MEDIA_TUNER_QM1D1B0004=y CONFIG_MEDIA_TUNER_QM1D1C0042=y CONFIG_MEDIA_TUNER_QT1010=y CONFIG_MEDIA_TUNER_R820T=y CONFIG_MEDIA_TUNER_SI2157=y CONFIG_MEDIA_TUNER_SIMPLE=y CONFIG_MEDIA_TUNER_TDA18212=y # CONFIG_MEDIA_TUNER_TDA18218 is not set # CONFIG_MEDIA_TUNER_TDA18250 is not set CONFIG_MEDIA_TUNER_TDA18271=y CONFIG_MEDIA_TUNER_TDA827X=y CONFIG_MEDIA_TUNER_TDA8290=y CONFIG_MEDIA_TUNER_TDA9887=y CONFIG_MEDIA_TUNER_TEA5761=y CONFIG_MEDIA_TUNER_TEA5767=y CONFIG_MEDIA_TUNER_TUA9001=y # CONFIG_MEDIA_TUNER_XC2028 is not set CONFIG_MEDIA_TUNER_XC4000=y CONFIG_MEDIA_TUNER_XC5000=y # end of Customize TV tuners # # Customise DVB Frontends # # # Multistandard (satellite) frontends # CONFIG_DVB_M88DS3103=y CONFIG_DVB_MXL5XX=y # CONFIG_DVB_STB0899 is not set CONFIG_DVB_STB6100=y CONFIG_DVB_STV090x=y CONFIG_DVB_STV0910=y CONFIG_DVB_STV6110x=y # CONFIG_DVB_STV6111 is not set # # Multistandard (cable + terrestrial) frontends # CONFIG_DVB_DRXK=y CONFIG_DVB_MN88472=y # CONFIG_DVB_MN88473 is not set CONFIG_DVB_SI2165=y # CONFIG_DVB_TDA18271C2DD is not set # # DVB-S (satellite) frontends # CONFIG_DVB_CX24110=y CONFIG_DVB_CX24116=y CONFIG_DVB_CX24117=y # CONFIG_DVB_CX24120 is not set # CONFIG_DVB_CX24123 is not set CONFIG_DVB_DS3000=y CONFIG_DVB_MB86A16=y CONFIG_DVB_MT312=y # CONFIG_DVB_S5H1420 is not set # CONFIG_DVB_SI21XX is not set # CONFIG_DVB_STB6000 is not set # CONFIG_DVB_STV0288 is not set CONFIG_DVB_STV0299=y # CONFIG_DVB_STV0900 is not set # CONFIG_DVB_STV6110 is not set CONFIG_DVB_TDA10071=y CONFIG_DVB_TDA10086=y CONFIG_DVB_TDA8083=y CONFIG_DVB_TDA8261=y CONFIG_DVB_TDA826X=y CONFIG_DVB_TS2020=y CONFIG_DVB_TUA6100=y # CONFIG_DVB_TUNER_CX24113 is not set CONFIG_DVB_TUNER_ITD1000=y CONFIG_DVB_VES1X93=y CONFIG_DVB_ZL10036=y # CONFIG_DVB_ZL10039 is not set # # DVB-T (terrestrial) frontends # CONFIG_DVB_AF9013=y CONFIG_DVB_AS102_FE=y CONFIG_DVB_CX22700=y CONFIG_DVB_CX22702=y CONFIG_DVB_CXD2820R=y CONFIG_DVB_CXD2841ER=y CONFIG_DVB_DIB3000MB=y CONFIG_DVB_DIB3000MC=y CONFIG_DVB_DIB7000M=y # CONFIG_DVB_DIB7000P is not set CONFIG_DVB_DIB9000=y CONFIG_DVB_DRXD=y CONFIG_DVB_EC100=y CONFIG_DVB_GP8PSK_FE=y CONFIG_DVB_L64781=y # CONFIG_DVB_MT352 is not set CONFIG_DVB_NXT6000=y CONFIG_DVB_RTL2830=y CONFIG_DVB_RTL2832=y CONFIG_DVB_RTL2832_SDR=y # CONFIG_DVB_S5H1432 is not set CONFIG_DVB_SI2168=y # CONFIG_DVB_SP887X is not set CONFIG_DVB_STV0367=y # CONFIG_DVB_TDA10048 is not set CONFIG_DVB_TDA1004X=y # CONFIG_DVB_ZD1301_DEMOD is not set CONFIG_DVB_ZL10353=y CONFIG_DVB_CXD2880=y # # DVB-C (cable) frontends # CONFIG_DVB_STV0297=y CONFIG_DVB_TDA10021=y CONFIG_DVB_TDA10023=y CONFIG_DVB_VES1820=y # # ATSC (North American/Korean Terrestrial/Cable DTV) frontends # CONFIG_DVB_AU8522=y CONFIG_DVB_AU8522_DTV=y CONFIG_DVB_AU8522_V4L=y CONFIG_DVB_BCM3510=y CONFIG_DVB_LG2160=y CONFIG_DVB_LGDT3305=y CONFIG_DVB_LGDT3306A=y # CONFIG_DVB_LGDT330X is not set CONFIG_DVB_MXL692=y CONFIG_DVB_NXT200X=y # CONFIG_DVB_OR51132 is not set # CONFIG_DVB_OR51211 is not set CONFIG_DVB_S5H1409=y CONFIG_DVB_S5H1411=y # # ISDB-T (terrestrial) frontends # CONFIG_DVB_DIB8000=y # CONFIG_DVB_MB86A20S is not set # CONFIG_DVB_S921 is not set # # ISDB-S (satellite) & ISDB-T (terrestrial) frontends # CONFIG_DVB_MN88443X=y CONFIG_DVB_TC90522=y # # Digital terrestrial only tuners/PLL # # CONFIG_DVB_PLL is not set CONFIG_DVB_TUNER_DIB0070=y CONFIG_DVB_TUNER_DIB0090=y # # SEC control devices for DVB-S # # CONFIG_DVB_A8293 is not set # CONFIG_DVB_AF9033 is not set # CONFIG_DVB_ASCOT2E is not set CONFIG_DVB_ATBM8830=y CONFIG_DVB_HELENE=y CONFIG_DVB_HORUS3A=y CONFIG_DVB_ISL6405=y CONFIG_DVB_ISL6421=y CONFIG_DVB_ISL6423=y CONFIG_DVB_IX2505V=y # CONFIG_DVB_LGS8GL5 is not set CONFIG_DVB_LGS8GXX=y CONFIG_DVB_LNBH25=y CONFIG_DVB_LNBH29=y CONFIG_DVB_LNBP21=y CONFIG_DVB_LNBP22=y # CONFIG_DVB_M88RS2000 is not set CONFIG_DVB_TDA665x=y CONFIG_DVB_DRX39XYJ=y # # Common Interface (EN50221) controller drivers # CONFIG_DVB_CXD2099=y CONFIG_DVB_SP2=y # end of Customise DVB Frontends # # Tools to develop new frontends # CONFIG_DVB_DUMMY_FE=y # end of Media ancillary drivers # # Graphics support # CONFIG_VIDEO_CMDLINE=y CONFIG_VIDEO_NOMODESET=y CONFIG_TEGRA_HOST1X_CONTEXT_BUS=y CONFIG_TEGRA_HOST1X=y CONFIG_TEGRA_HOST1X_FIREWALL=y CONFIG_IMX_IPUV3_CORE=y CONFIG_DRM=y CONFIG_DRM_MIPI_DBI=y CONFIG_DRM_MIPI_DSI=y CONFIG_DRM_DEBUG_MM=y CONFIG_DRM_KUNIT_TEST_HELPERS=y CONFIG_DRM_KUNIT_TEST=y CONFIG_DRM_KMS_HELPER=y # CONFIG_DRM_LOAD_EDID_FIRMWARE is not set CONFIG_DRM_DP_AUX_BUS=y CONFIG_DRM_DISPLAY_HELPER=y CONFIG_DRM_DISPLAY_DP_HELPER=y CONFIG_DRM_DISPLAY_HDCP_HELPER=y CONFIG_DRM_DISPLAY_HDMI_HELPER=y CONFIG_DRM_DP_AUX_CHARDEV=y CONFIG_DRM_DP_CEC=y CONFIG_DRM_BUDDY=y CONFIG_DRM_GEM_DMA_HELPER=y # # I2C encoder or helper chips # CONFIG_DRM_I2C_CH7006=y # CONFIG_DRM_I2C_SIL164 is not set CONFIG_DRM_I2C_NXP_TDA998X=y # CONFIG_DRM_I2C_NXP_TDA9950 is not set # end of I2C encoder or helper chips # # ARM devices # CONFIG_DRM_HDLCD=y # CONFIG_DRM_HDLCD_SHOW_UNDERRUN is not set # CONFIG_DRM_MALI_DISPLAY is not set CONFIG_DRM_KOMEDA=y # end of ARM devices CONFIG_DRM_KMB_DISPLAY=y CONFIG_DRM_RCAR_DU=y # CONFIG_DRM_RCAR_USE_CMM is not set CONFIG_DRM_RCAR_DW_HDMI=y # CONFIG_DRM_RCAR_USE_LVDS is not set # CONFIG_DRM_RCAR_USE_MIPI_DSI is not set CONFIG_DRM_RZG2L_MIPI_DSI=y CONFIG_DRM_SHMOBILE=y CONFIG_DRM_SUN4I=y CONFIG_DRM_SUN4I_HDMI=y CONFIG_DRM_SUN4I_HDMI_CEC=y # CONFIG_DRM_SUN4I_BACKEND is not set # CONFIG_DRM_SUN6I_DSI is not set # CONFIG_DRM_SUN8I_DW_HDMI is not set CONFIG_DRM_SUN8I_MIXER=y CONFIG_DRM_SUN8I_TCON_TOP=y CONFIG_DRM_TILCDC=y CONFIG_DRM_FSL_DCU=y CONFIG_DRM_TEGRA=y # CONFIG_DRM_TEGRA_DEBUG is not set # CONFIG_DRM_TEGRA_STAGING is not set CONFIG_DRM_PANEL=y # # Display Panels # CONFIG_DRM_PANEL_ABT_Y030XX067A=y CONFIG_DRM_PANEL_ARM_VERSATILE=y CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596=y # CONFIG_DRM_PANEL_AUO_A030JTN01 is not set CONFIG_DRM_PANEL_BOE_BF060Y8M_AJ0=y CONFIG_DRM_PANEL_BOE_HIMAX8279D=y # CONFIG_DRM_PANEL_BOE_TV101WUM_NL6 is not set CONFIG_DRM_PANEL_DSI_CM=y CONFIG_DRM_PANEL_LVDS=y # CONFIG_DRM_PANEL_EBBG_FT8719 is not set CONFIG_DRM_PANEL_ELIDA_KD35T133=y # CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02 is not set CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=y # CONFIG_DRM_PANEL_HIMAX_HX8394 is not set # CONFIG_DRM_PANEL_ILITEK_IL9322 is not set # CONFIG_DRM_PANEL_ILITEK_ILI9341 is not set CONFIG_DRM_PANEL_ILITEK_ILI9881C=y CONFIG_DRM_PANEL_INNOLUX_EJ030NA=y CONFIG_DRM_PANEL_INNOLUX_P079ZCA=y CONFIG_DRM_PANEL_JADARD_JD9365DA_H3=y CONFIG_DRM_PANEL_JDI_LT070ME05000=y # CONFIG_DRM_PANEL_JDI_R63452 is not set CONFIG_DRM_PANEL_KHADAS_TS050=y CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04=y CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W=y CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829=y CONFIG_DRM_PANEL_SAMSUNG_LD9040=y CONFIG_DRM_PANEL_LG_LB035Q02=y # CONFIG_DRM_PANEL_LG_LG4573 is not set CONFIG_DRM_PANEL_MAGNACHIP_D53E6EA8966=y # CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set CONFIG_DRM_PANEL_NEWVISION_NV3051D=y CONFIG_DRM_PANEL_NEWVISION_NV3052C=y CONFIG_DRM_PANEL_NOVATEK_NT35510=y # CONFIG_DRM_PANEL_NOVATEK_NT35560 is not set CONFIG_DRM_PANEL_NOVATEK_NT35950=y CONFIG_DRM_PANEL_NOVATEK_NT36523=y CONFIG_DRM_PANEL_NOVATEK_NT36672A=y CONFIG_DRM_PANEL_NOVATEK_NT39016=y CONFIG_DRM_PANEL_MANTIX_MLAF057WE51=y CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO=y CONFIG_DRM_PANEL_ORISETECH_OTA5601A=y CONFIG_DRM_PANEL_ORISETECH_OTM8009A=y CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS=y # CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=y CONFIG_DRM_PANEL_RAYDIUM_RM67191=y # CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set CONFIG_DRM_PANEL_RONBO_RB070D30=y CONFIG_DRM_PANEL_SAMSUNG_DB7430=y CONFIG_DRM_PANEL_SAMSUNG_S6D16D0=y CONFIG_DRM_PANEL_SAMSUNG_S6D27A1=y CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2=y CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=y CONFIG_DRM_PANEL_SAMSUNG_S6E63M0=y CONFIG_DRM_PANEL_SAMSUNG_S6E63M0_SPI=y CONFIG_DRM_PANEL_SAMSUNG_S6E63M0_DSI=y # CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01 is not set CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=y CONFIG_DRM_PANEL_SAMSUNG_SOFEF00=y CONFIG_DRM_PANEL_SEIKO_43WVF1G=y CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=y CONFIG_DRM_PANEL_SHARP_LS037V7DW01=y CONFIG_DRM_PANEL_SHARP_LS043T1LE01=y CONFIG_DRM_PANEL_SHARP_LS060T1SX01=y # CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set CONFIG_DRM_PANEL_SITRONIX_ST7703=y CONFIG_DRM_PANEL_SITRONIX_ST7789V=y # CONFIG_DRM_PANEL_SONY_ACX565AKM is not set CONFIG_DRM_PANEL_SONY_TD4353_JDI=y # CONFIG_DRM_PANEL_SONY_TULIP_TRULY_NT35521 is not set CONFIG_DRM_PANEL_TDO_TL070WSH30=y CONFIG_DRM_PANEL_TPO_TD028TTEC1=y CONFIG_DRM_PANEL_TPO_TD043MTEA1=y # CONFIG_DRM_PANEL_TPO_TPG110 is not set # CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set CONFIG_DRM_PANEL_VISIONOX_RM69299=y CONFIG_DRM_PANEL_VISIONOX_VTDR6130=y CONFIG_DRM_PANEL_WIDECHIPS_WS2401=y CONFIG_DRM_PANEL_XINPENG_XPP055C272=y # end of Display Panels CONFIG_DRM_BRIDGE=y CONFIG_DRM_PANEL_BRIDGE=y # # Display Interface Bridges # CONFIG_DRM_CHIPONE_ICN6211=y # CONFIG_DRM_CHRONTEL_CH7033 is not set CONFIG_DRM_CROS_EC_ANX7688=y CONFIG_DRM_DISPLAY_CONNECTOR=y CONFIG_DRM_FSL_LDB=y # CONFIG_DRM_ITE_IT6505 is not set CONFIG_DRM_LONTIUM_LT8912B=y CONFIG_DRM_LONTIUM_LT9211=y # CONFIG_DRM_LONTIUM_LT9611 is not set CONFIG_DRM_LONTIUM_LT9611UXC=y # CONFIG_DRM_ITE_IT66121 is not set CONFIG_DRM_LVDS_CODEC=y CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW=y CONFIG_DRM_NWL_MIPI_DSI=y CONFIG_DRM_NXP_PTN3460=y CONFIG_DRM_PARADE_PS8622=y # CONFIG_DRM_PARADE_PS8640 is not set # CONFIG_DRM_SAMSUNG_DSIM is not set CONFIG_DRM_SIL_SII8620=y CONFIG_DRM_SII902X=y # CONFIG_DRM_SII9234 is not set # CONFIG_DRM_SIMPLE_BRIDGE is not set CONFIG_DRM_THINE_THC63LVD1024=y # CONFIG_DRM_TOSHIBA_TC358762 is not set # CONFIG_DRM_TOSHIBA_TC358764 is not set CONFIG_DRM_TOSHIBA_TC358767=y CONFIG_DRM_TOSHIBA_TC358768=y CONFIG_DRM_TOSHIBA_TC358775=y CONFIG_DRM_TI_DLPC3433=y # CONFIG_DRM_TI_TFP410 is not set # CONFIG_DRM_TI_SN65DSI83 is not set CONFIG_DRM_TI_SN65DSI86=y # CONFIG_DRM_TI_TPD12S015 is not set CONFIG_DRM_ANALOGIX_ANX6345=y CONFIG_DRM_ANALOGIX_ANX78XX=y CONFIG_DRM_ANALOGIX_DP=y CONFIG_DRM_ANALOGIX_ANX7625=y # CONFIG_DRM_I2C_ADV7511 is not set # CONFIG_DRM_CDNS_DSI is not set CONFIG_DRM_CDNS_MHDP8546=y # CONFIG_DRM_CDNS_MHDP8546_J721E is not set CONFIG_DRM_IMX8QM_LDB=y CONFIG_DRM_IMX8QXP_LDB=y CONFIG_DRM_IMX8QXP_PIXEL_COMBINER=y CONFIG_DRM_IMX8QXP_PIXEL_LINK_TO_DPI=y CONFIG_DRM_DW_HDMI=y # CONFIG_DRM_DW_HDMI_I2S_AUDIO is not set CONFIG_DRM_DW_HDMI_CEC=y # end of Display Interface Bridges # CONFIG_DRM_IMX is not set CONFIG_DRM_IMX_LCDC=y CONFIG_DRM_LOGICVC=y CONFIG_DRM_MXS=y CONFIG_DRM_MXSFB=y CONFIG_DRM_IMX_LCDIF=y CONFIG_DRM_MESON=y CONFIG_DRM_MESON_DW_HDMI=y # CONFIG_DRM_ARCPGU is not set CONFIG_DRM_PANEL_MIPI_DBI=y CONFIG_TINYDRM_HX8357D=y CONFIG_TINYDRM_ILI9163=y CONFIG_TINYDRM_ILI9225=y # CONFIG_TINYDRM_ILI9341 is not set CONFIG_TINYDRM_ILI9486=y CONFIG_TINYDRM_MI0283QT=y # CONFIG_TINYDRM_REPAPER is not set # CONFIG_TINYDRM_ST7586 is not set # CONFIG_TINYDRM_ST7735R is not set # CONFIG_DRM_PL111 is not set # CONFIG_DRM_TIDSS is not set CONFIG_DRM_SPRD=y CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y CONFIG_DRM_LIB_RANDOM=y # # Frame buffer Devices # # CONFIG_FB is not set CONFIG_MMP_DISP=y CONFIG_MMP_DISP_CONTROLLER=y CONFIG_MMP_DISP_SPI=y # CONFIG_MMP_PANEL_TPOHVGA is not set # end of Frame buffer Devices # # Backlight & LCD device support # # CONFIG_LCD_CLASS_DEVICE is not set CONFIG_BACKLIGHT_CLASS_DEVICE=y CONFIG_BACKLIGHT_KTD253=y CONFIG_BACKLIGHT_KTZ8866=y CONFIG_BACKLIGHT_LM3533=y CONFIG_BACKLIGHT_OMAP1=y # CONFIG_BACKLIGHT_MT6370 is not set CONFIG_BACKLIGHT_QCOM_WLED=y # CONFIG_BACKLIGHT_RT4831 is not set # CONFIG_BACKLIGHT_WM831X is not set # CONFIG_BACKLIGHT_ADP8860 is not set # CONFIG_BACKLIGHT_ADP8870 is not set CONFIG_BACKLIGHT_AAT2870=y # CONFIG_BACKLIGHT_LM3639 is not set # CONFIG_BACKLIGHT_GPIO is not set CONFIG_BACKLIGHT_LV5207LP=y CONFIG_BACKLIGHT_BD6107=y CONFIG_BACKLIGHT_ARCXCNN=y # CONFIG_BACKLIGHT_LED is not set # end of Backlight & LCD device support CONFIG_VIDEOMODE_HELPERS=y CONFIG_HDMI=y # # Console display driver support # CONFIG_DUMMY_CONSOLE=y # end of Console display driver support # end of Graphics support CONFIG_DRM_ACCEL=y # CONFIG_SOUND is not set # CONFIG_HID_SUPPORT is not set CONFIG_USB_OHCI_LITTLE_ENDIAN=y CONFIG_USB_SUPPORT=y CONFIG_USB_COMMON=y # CONFIG_USB_LED_TRIG is not set CONFIG_USB_ULPI_BUS=y # CONFIG_USB_CONN_GPIO is not set CONFIG_USB_ARCH_HAS_HCD=y CONFIG_USB=y CONFIG_USB_ANNOUNCE_NEW_DEVICES=y # # Miscellaneous USB options # # CONFIG_USB_DEFAULT_PERSIST is not set # CONFIG_USB_FEW_INIT_RETRIES is not set CONFIG_USB_DYNAMIC_MINORS=y CONFIG_USB_OTG_PRODUCTLIST=y CONFIG_USB_LEDS_TRIGGER_USBPORT=y CONFIG_USB_AUTOSUSPEND_DELAY=2 CONFIG_USB_MON=y # # USB Host Controller Drivers # CONFIG_USB_C67X00_HCD=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_DBGCAP=y # CONFIG_USB_XHCI_PCI_RENESAS is not set CONFIG_USB_XHCI_PLATFORM=y CONFIG_USB_XHCI_HISTB=y CONFIG_USB_XHCI_MTK=y CONFIG_USB_XHCI_MVEBU=y # CONFIG_USB_XHCI_RCAR is not set # CONFIG_USB_BRCMSTB is not set # CONFIG_USB_EHCI_HCD is not set CONFIG_USB_OXU210HP_HCD=y # CONFIG_USB_ISP116X_HCD is not set CONFIG_USB_ISP1362_HCD=y # CONFIG_USB_MAX3421_HCD is not set # CONFIG_USB_OHCI_HCD is not set CONFIG_USB_SL811_HCD=y # CONFIG_USB_SL811_HCD_ISO is not set CONFIG_USB_SL811_CS=y # CONFIG_USB_R8A66597_HCD is not set CONFIG_USB_RENESAS_USBHS_HCD=y # CONFIG_USB_HCD_SSB is not set CONFIG_USB_HCD_TEST_MODE=y CONFIG_USB_RENESAS_USBHS=y # # USB Device Class drivers # CONFIG_USB_ACM=y CONFIG_USB_PRINTER=y # CONFIG_USB_WDM is not set CONFIG_USB_TMC=y # # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may # # # also be needed; see USB_STORAGE Help for more info # # CONFIG_USB_STORAGE is not set # # USB Imaging devices # CONFIG_USB_MDC800=y # CONFIG_USB_MICROTEK is not set # # USB dual-mode controller drivers # # CONFIG_USB_CDNS_SUPPORT is not set CONFIG_USB_FOTG210=y # CONFIG_USB_FOTG210_HCD is not set # CONFIG_USB_FOTG210_UDC is not set CONFIG_USB_MTU3=y CONFIG_USB_MTU3_HOST=y # CONFIG_USB_MTU3_GADGET is not set # CONFIG_USB_MTU3_DUAL_ROLE is not set # CONFIG_USB_MTU3_DEBUG is not set CONFIG_USB_MUSB_HDRC=y # CONFIG_USB_MUSB_HOST is not set CONFIG_USB_MUSB_GADGET=y # CONFIG_USB_MUSB_DUAL_ROLE is not set # # Platform Glue Layer # CONFIG_USB_MUSB_TUSB6010=y # CONFIG_USB_MUSB_DSPS is not set # CONFIG_USB_MUSB_UX500 is not set # CONFIG_USB_MUSB_JZ4740 is not set # # MUSB DMA mode # # CONFIG_MUSB_PIO_ONLY is not set # CONFIG_USB_DWC3 is not set CONFIG_USB_DWC2=y # CONFIG_USB_DWC2_HOST is not set # # Gadget/Dual-role mode requires USB Gadget support to be enabled # # CONFIG_USB_DWC2_PERIPHERAL is not set CONFIG_USB_DWC2_DUAL_ROLE=y CONFIG_USB_DWC2_DEBUG=y # CONFIG_USB_DWC2_VERBOSE is not set CONFIG_USB_DWC2_TRACK_MISSED_SOFS=y CONFIG_USB_DWC2_DEBUG_PERIODIC=y CONFIG_USB_CHIPIDEA=y CONFIG_USB_CHIPIDEA_UDC=y CONFIG_USB_CHIPIDEA_MSM=y CONFIG_USB_CHIPIDEA_IMX=y CONFIG_USB_CHIPIDEA_GENERIC=y CONFIG_USB_CHIPIDEA_TEGRA=y CONFIG_USB_ISP1760=y CONFIG_USB_ISP1760_HCD=y CONFIG_USB_ISP1761_UDC=y # CONFIG_USB_ISP1760_HOST_ROLE is not set # CONFIG_USB_ISP1760_GADGET_ROLE is not set CONFIG_USB_ISP1760_DUAL_ROLE=y # # USB port drivers # CONFIG_USB_SERIAL=y CONFIG_USB_SERIAL_CONSOLE=y CONFIG_USB_SERIAL_GENERIC=y # CONFIG_USB_SERIAL_SIMPLE is not set # CONFIG_USB_SERIAL_AIRCABLE is not set CONFIG_USB_SERIAL_ARK3116=y # CONFIG_USB_SERIAL_BELKIN is not set CONFIG_USB_SERIAL_CH341=y # CONFIG_USB_SERIAL_WHITEHEAT is not set CONFIG_USB_SERIAL_DIGI_ACCELEPORT=y CONFIG_USB_SERIAL_CP210X=y CONFIG_USB_SERIAL_CYPRESS_M8=y CONFIG_USB_SERIAL_EMPEG=y CONFIG_USB_SERIAL_FTDI_SIO=y CONFIG_USB_SERIAL_VISOR=y CONFIG_USB_SERIAL_IPAQ=y # CONFIG_USB_SERIAL_IR is not set # CONFIG_USB_SERIAL_EDGEPORT is not set CONFIG_USB_SERIAL_EDGEPORT_TI=y CONFIG_USB_SERIAL_F81232=y CONFIG_USB_SERIAL_F8153X=y # CONFIG_USB_SERIAL_GARMIN is not set # CONFIG_USB_SERIAL_IPW is not set CONFIG_USB_SERIAL_IUU=y CONFIG_USB_SERIAL_KEYSPAN_PDA=y CONFIG_USB_SERIAL_KEYSPAN=y # CONFIG_USB_SERIAL_KLSI is not set CONFIG_USB_SERIAL_KOBIL_SCT=y CONFIG_USB_SERIAL_MCT_U232=y CONFIG_USB_SERIAL_METRO=y CONFIG_USB_SERIAL_MOS7720=y CONFIG_USB_SERIAL_MOS7715_PARPORT=y # CONFIG_USB_SERIAL_MOS7840 is not set CONFIG_USB_SERIAL_MXUPORT=y # CONFIG_USB_SERIAL_NAVMAN is not set CONFIG_USB_SERIAL_PL2303=y CONFIG_USB_SERIAL_OTI6858=y # CONFIG_USB_SERIAL_QCAUX is not set # CONFIG_USB_SERIAL_QUALCOMM is not set CONFIG_USB_SERIAL_SPCP8X5=y # CONFIG_USB_SERIAL_SAFE is not set CONFIG_USB_SERIAL_SIERRAWIRELESS=y # CONFIG_USB_SERIAL_SYMBOL is not set CONFIG_USB_SERIAL_TI=y CONFIG_USB_SERIAL_CYBERJACK=y CONFIG_USB_SERIAL_WWAN=y CONFIG_USB_SERIAL_OPTION=y CONFIG_USB_SERIAL_OMNINET=y CONFIG_USB_SERIAL_OPTICON=y CONFIG_USB_SERIAL_XSENS_MT=y CONFIG_USB_SERIAL_WISHBONE=y CONFIG_USB_SERIAL_SSU100=y CONFIG_USB_SERIAL_QT2=y CONFIG_USB_SERIAL_UPD78F0730=y # CONFIG_USB_SERIAL_XR is not set CONFIG_USB_SERIAL_DEBUG=y # # USB Miscellaneous drivers # # CONFIG_USB_USS720 is not set CONFIG_USB_EMI62=y CONFIG_USB_EMI26=y # CONFIG_USB_ADUTUX is not set CONFIG_USB_SEVSEG=y CONFIG_USB_LEGOTOWER=y # CONFIG_USB_LCD is not set CONFIG_USB_CYPRESS_CY7C63=y CONFIG_USB_CYTHERM=y CONFIG_USB_IDMOUSE=y CONFIG_USB_APPLEDISPLAY=y # CONFIG_USB_QCOM_EUD is not set # CONFIG_APPLE_MFI_FASTCHARGE is not set CONFIG_USB_SISUSBVGA=y CONFIG_USB_LD=y CONFIG_USB_TRANCEVIBRATOR=y # CONFIG_USB_IOWARRIOR is not set CONFIG_USB_TEST=y CONFIG_USB_EHSET_TEST_FIXTURE=y # CONFIG_USB_ISIGHTFW is not set # CONFIG_USB_YUREX is not set CONFIG_USB_EZUSB_FX2=y # CONFIG_USB_HUB_USB251XB is not set CONFIG_USB_HSIC_USB3503=y CONFIG_USB_HSIC_USB4604=y CONFIG_USB_LINK_LAYER_TEST=y # CONFIG_USB_CHAOSKEY is not set CONFIG_BRCM_USB_PINMAP=y CONFIG_USB_ONBOARD_HUB=y # # USB Physical Layer drivers # CONFIG_USB_PHY=y # CONFIG_NOP_USB_XCEIV is not set CONFIG_USB_GPIO_VBUS=y CONFIG_TAHVO_USB=y CONFIG_TAHVO_USB_HOST_BY_DEFAULT=y # CONFIG_USB_ISP1301 is not set CONFIG_USB_MXS_PHY=y # CONFIG_USB_TEGRA_PHY is not set CONFIG_USB_ULPI=y CONFIG_USB_ULPI_VIEWPORT=y # end of USB Physical Layer drivers CONFIG_USB_GADGET=y # CONFIG_USB_GADGET_DEBUG is not set CONFIG_USB_GADGET_DEBUG_FILES=y # CONFIG_USB_GADGET_DEBUG_FS is not set CONFIG_USB_GADGET_VBUS_DRAW=2 CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 # CONFIG_U_SERIAL_CONSOLE is not set # # USB Peripheral Controller # # CONFIG_USB_LPC32XX is not set CONFIG_USB_FUSB300=y CONFIG_USB_GR_UDC=y CONFIG_USB_R8A66597=y CONFIG_USB_RENESAS_USBHS_UDC=y CONFIG_USB_RZV2M_USB3DRD=y # CONFIG_USB_RENESAS_USB3 is not set CONFIG_USB_RENESAS_USBF=y CONFIG_USB_PXA27X=y # CONFIG_USB_MV_UDC is not set CONFIG_USB_MV_U3D=y # CONFIG_USB_SNP_UDC_PLAT is not set CONFIG_USB_M66592=y CONFIG_USB_BDC_UDC=y CONFIG_USB_NET2272=y # CONFIG_USB_NET2272_DMA is not set # CONFIG_USB_GADGET_XILINX is not set CONFIG_USB_MAX3420_UDC=y CONFIG_USB_ASPEED_UDC=y CONFIG_USB_ASPEED_VHUB=y CONFIG_USB_DUMMY_HCD=y # end of USB Peripheral Controller CONFIG_USB_LIBCOMPOSITE=y CONFIG_USB_F_ACM=y CONFIG_USB_F_SS_LB=y CONFIG_USB_U_SERIAL=y CONFIG_USB_F_SERIAL=y CONFIG_USB_F_OBEX=y CONFIG_USB_F_MASS_STORAGE=y CONFIG_USB_F_FS=y CONFIG_USB_F_UVC=y CONFIG_USB_F_PRINTER=y CONFIG_USB_F_TCM=y CONFIG_USB_CONFIGFS=y CONFIG_USB_CONFIGFS_SERIAL=y # CONFIG_USB_CONFIGFS_ACM is not set CONFIG_USB_CONFIGFS_OBEX=y CONFIG_USB_CONFIGFS_MASS_STORAGE=y # CONFIG_USB_CONFIGFS_F_LB_SS is not set CONFIG_USB_CONFIGFS_F_FS=y # CONFIG_USB_CONFIGFS_F_HID is not set CONFIG_USB_CONFIGFS_F_UVC=y CONFIG_USB_CONFIGFS_F_PRINTER=y CONFIG_USB_CONFIGFS_F_TCM=y # # USB Gadget precomposed configurations # CONFIG_USB_ZERO=y CONFIG_USB_GADGETFS=y CONFIG_USB_FUNCTIONFS=y CONFIG_USB_FUNCTIONFS_GENERIC=y CONFIG_USB_MASS_STORAGE=y # CONFIG_USB_GADGET_TARGET is not set # CONFIG_USB_G_SERIAL is not set CONFIG_USB_G_PRINTER=y CONFIG_USB_G_ACM_MS=y # CONFIG_USB_G_HID is not set CONFIG_USB_G_DBGP=y CONFIG_USB_G_DBGP_PRINTK=y # CONFIG_USB_G_DBGP_SERIAL is not set CONFIG_USB_G_WEBCAM=y CONFIG_USB_RAW_GADGET=y # end of USB Gadget precomposed configurations CONFIG_TYPEC=y # CONFIG_TYPEC_TCPM is not set CONFIG_TYPEC_UCSI=y CONFIG_UCSI_CCG=y CONFIG_UCSI_STM32G0=y CONFIG_TYPEC_TPS6598X=y CONFIG_TYPEC_ANX7411=y CONFIG_TYPEC_RT1719=y CONFIG_TYPEC_HD3SS3220=y # CONFIG_TYPEC_STUSB160X is not set # CONFIG_TYPEC_QCOM_PMIC is not set CONFIG_TYPEC_WUSB3801=y # # USB Type-C Multiplexer/DeMultiplexer Switch support # CONFIG_TYPEC_MUX_FSA4480=y CONFIG_TYPEC_MUX_GPIO_SBU=y # CONFIG_TYPEC_MUX_PI3USB30532 is not set # end of USB Type-C Multiplexer/DeMultiplexer Switch support # # USB Type-C Alternate Mode drivers # CONFIG_TYPEC_DP_ALTMODE=y CONFIG_TYPEC_NVIDIA_ALTMODE=y # end of USB Type-C Alternate Mode drivers CONFIG_USB_ROLE_SWITCH=y CONFIG_MMC=y CONFIG_PWRSEQ_EMMC=y # CONFIG_PWRSEQ_SIMPLE is not set CONFIG_MMC_BLOCK=y CONFIG_MMC_BLOCK_MINORS=8 # CONFIG_SDIO_UART is not set # CONFIG_MMC_TEST is not set # CONFIG_MMC_CRYPTO is not set # # MMC/SD/SDIO Host Controller Drivers # # CONFIG_MMC_DEBUG is not set CONFIG_MMC_SUNPLUS=y # CONFIG_MMC_ARMMMCI is not set # CONFIG_MMC_SDHCI is not set # CONFIG_MMC_MESON_GX is not set CONFIG_MMC_MESON_MX_SDHC=y CONFIG_MMC_MESON_MX_SDIO=y CONFIG_MMC_MOXART=y # CONFIG_MMC_OMAP_HS is not set CONFIG_MMC_MXC=y CONFIG_MMC_MVSDIO=y # CONFIG_MMC_DAVINCI is not set # CONFIG_MMC_SPI is not set CONFIG_MMC_TMIO_CORE=y CONFIG_MMC_SDHI=y CONFIG_MMC_SDHI_SYS_DMAC=y # CONFIG_MMC_SDHI_INTERNAL_DMAC is not set CONFIG_MMC_UNIPHIER=y CONFIG_MMC_DW=y CONFIG_MMC_DW_PLTFM=y CONFIG_MMC_DW_BLUEFIELD=y CONFIG_MMC_DW_EXYNOS=y CONFIG_MMC_DW_HI3798CV200=y CONFIG_MMC_DW_K3=y CONFIG_MMC_SH_MMCIF=y CONFIG_MMC_VUB300=y CONFIG_MMC_USHC=y CONFIG_MMC_USDHI6ROL0=y CONFIG_MMC_REALTEK_USB=y CONFIG_MMC_CQHCI=y CONFIG_MMC_HSQ=y CONFIG_MMC_BCM2835=y # CONFIG_MMC_MTK is not set CONFIG_MMC_OWL=y # CONFIG_MMC_LITEX is not set CONFIG_SCSI_UFSHCD=y CONFIG_SCSI_UFS_BSG=y # CONFIG_SCSI_UFS_CRYPTO is not set # CONFIG_SCSI_UFS_HPB is not set # CONFIG_SCSI_UFS_FAULT_INJECTION is not set # CONFIG_SCSI_UFS_HWMON is not set CONFIG_SCSI_UFSHCD_PLATFORM=y # CONFIG_SCSI_UFS_CDNS_PLATFORM is not set CONFIG_SCSI_UFS_DWC_TC_PLATFORM=y CONFIG_SCSI_UFS_HISI=y CONFIG_SCSI_UFS_RENESAS=y # CONFIG_SCSI_UFS_TI_J721E is not set CONFIG_SCSI_UFS_EXYNOS=y CONFIG_SCSI_UFS_SPRD=y # CONFIG_MEMSTICK is not set CONFIG_NEW_LEDS=y CONFIG_LEDS_CLASS=y CONFIG_LEDS_CLASS_FLASH=y CONFIG_LEDS_CLASS_MULTICOLOR=y # CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set # # LED drivers # CONFIG_LEDS_AN30259A=y CONFIG_LEDS_ARIEL=y CONFIG_LEDS_AW2013=y CONFIG_LEDS_BCM6328=y # CONFIG_LEDS_BCM6358 is not set # CONFIG_LEDS_CR0014114 is not set CONFIG_LEDS_EL15203000=y # CONFIG_LEDS_TURRIS_OMNIA is not set # CONFIG_LEDS_LM3530 is not set # CONFIG_LEDS_LM3532 is not set # CONFIG_LEDS_LM3533 is not set # CONFIG_LEDS_LM3642 is not set CONFIG_LEDS_LM3692X=y # CONFIG_LEDS_MT6323 is not set CONFIG_LEDS_COBALT_QUBE=y # CONFIG_LEDS_COBALT_RAQ is not set CONFIG_LEDS_PCA9532=y # CONFIG_LEDS_PCA9532_GPIO is not set CONFIG_LEDS_GPIO=y CONFIG_LEDS_LP3944=y CONFIG_LEDS_LP3952=y # CONFIG_LEDS_LP50XX is not set CONFIG_LEDS_LP55XX_COMMON=y # CONFIG_LEDS_LP5521 is not set # CONFIG_LEDS_LP5523 is not set # CONFIG_LEDS_LP5562 is not set CONFIG_LEDS_LP8501=y # CONFIG_LEDS_LP8788 is not set # CONFIG_LEDS_LP8860 is not set CONFIG_LEDS_PCA955X=y CONFIG_LEDS_PCA955X_GPIO=y CONFIG_LEDS_PCA963X=y CONFIG_LEDS_WM831X_STATUS=y CONFIG_LEDS_DAC124S085=y CONFIG_LEDS_REGULATOR=y CONFIG_LEDS_BD2606MVV=y # CONFIG_LEDS_BD2802 is not set # CONFIG_LEDS_LT3593 is not set # CONFIG_LEDS_MC13783 is not set # CONFIG_LEDS_NS2 is not set CONFIG_LEDS_NETXBIG=y # CONFIG_LEDS_TCA6507 is not set CONFIG_LEDS_TLC591XX=y # CONFIG_LEDS_MAX77650 is not set CONFIG_LEDS_MAX8997=y CONFIG_LEDS_LM355x=y CONFIG_LEDS_OT200=y CONFIG_LEDS_IS31FL319X=y CONFIG_LEDS_IS31FL32XX=y # # LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM) # # CONFIG_LEDS_BLINKM is not set CONFIG_LEDS_SYSCON=y CONFIG_LEDS_PM8058=y # CONFIG_LEDS_MLXREG is not set # CONFIG_LEDS_USER is not set # CONFIG_LEDS_SPI_BYTE is not set CONFIG_LEDS_TI_LMU_COMMON=y CONFIG_LEDS_LM3697=y CONFIG_LEDS_LM36274=y # CONFIG_LEDS_IP30 is not set # CONFIG_LEDS_BCM63138 is not set # CONFIG_LEDS_LGM is not set # # Flash and Torch LED drivers # CONFIG_LEDS_AAT1290=y # CONFIG_LEDS_AS3645A is not set CONFIG_LEDS_KTD2692=y # CONFIG_LEDS_LM3601X is not set CONFIG_LEDS_MAX77693=y CONFIG_LEDS_MT6360=y # CONFIG_LEDS_MT6370_FLASH is not set # CONFIG_LEDS_QCOM_FLASH is not set # CONFIG_LEDS_RT4505 is not set # CONFIG_LEDS_RT8515 is not set # CONFIG_LEDS_SGM3140 is not set # # RGB LED drivers # CONFIG_LEDS_MT6370_RGB=y # # LED Triggers # CONFIG_LEDS_TRIGGERS=y # CONFIG_LEDS_TRIGGER_TIMER is not set CONFIG_LEDS_TRIGGER_ONESHOT=y # CONFIG_LEDS_TRIGGER_DISK is not set CONFIG_LEDS_TRIGGER_HEARTBEAT=y CONFIG_LEDS_TRIGGER_BACKLIGHT=y # CONFIG_LEDS_TRIGGER_CPU is not set # CONFIG_LEDS_TRIGGER_ACTIVITY is not set # CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set # # iptables trigger is under Netfilter config (LED target) # CONFIG_LEDS_TRIGGER_TRANSIENT=y CONFIG_LEDS_TRIGGER_CAMERA=y CONFIG_LEDS_TRIGGER_PANIC=y CONFIG_LEDS_TRIGGER_PATTERN=y # CONFIG_LEDS_TRIGGER_AUDIO is not set CONFIG_LEDS_TRIGGER_TTY=y # # Simple LED drivers # # CONFIG_ACCESSIBILITY is not set CONFIG_EDAC_ATOMIC_SCRUB=y CONFIG_EDAC_SUPPORT=y CONFIG_RTC_LIB=y CONFIG_RTC_MC146818_LIB=y CONFIG_RTC_CLASS=y # CONFIG_RTC_HCTOSYS is not set # CONFIG_RTC_SYSTOHC is not set # CONFIG_RTC_DEBUG is not set CONFIG_RTC_LIB_KUNIT_TEST=y # CONFIG_RTC_NVMEM is not set # # RTC interfaces # CONFIG_RTC_INTF_SYSFS=y CONFIG_RTC_INTF_PROC=y CONFIG_RTC_INTF_DEV=y CONFIG_RTC_INTF_DEV_UIE_EMUL=y CONFIG_RTC_DRV_TEST=y # # I2C RTC drivers # CONFIG_RTC_DRV_88PM80X=y # CONFIG_RTC_DRV_ABB5ZES3 is not set # CONFIG_RTC_DRV_ABEOZ9 is not set CONFIG_RTC_DRV_ABX80X=y CONFIG_RTC_DRV_BRCMSTB=y # CONFIG_RTC_DRV_AS3722 is not set # CONFIG_RTC_DRV_DS1307 is not set CONFIG_RTC_DRV_DS1374=y CONFIG_RTC_DRV_DS1672=y CONFIG_RTC_DRV_HYM8563=y # CONFIG_RTC_DRV_LP8788 is not set # CONFIG_RTC_DRV_MAX6900 is not set CONFIG_RTC_DRV_MAX8907=y CONFIG_RTC_DRV_MAX8998=y CONFIG_RTC_DRV_MAX8997=y CONFIG_RTC_DRV_MAX77686=y CONFIG_RTC_DRV_NCT3018Y=y CONFIG_RTC_DRV_RS5C372=y # CONFIG_RTC_DRV_ISL1208 is not set # CONFIG_RTC_DRV_ISL12022 is not set CONFIG_RTC_DRV_ISL12026=y # CONFIG_RTC_DRV_X1205 is not set # CONFIG_RTC_DRV_PCF8523 is not set # CONFIG_RTC_DRV_PCF85063 is not set CONFIG_RTC_DRV_PCF85363=y CONFIG_RTC_DRV_PCF8563=y CONFIG_RTC_DRV_PCF8583=y # CONFIG_RTC_DRV_M41T80 is not set # CONFIG_RTC_DRV_BD70528 is not set CONFIG_RTC_DRV_BQ32K=y CONFIG_RTC_DRV_TPS6586X=y CONFIG_RTC_DRV_TPS65910=y # CONFIG_RTC_DRV_RC5T583 is not set # CONFIG_RTC_DRV_S35390A is not set CONFIG_RTC_DRV_FM3130=y CONFIG_RTC_DRV_RX8010=y CONFIG_RTC_DRV_RX8581=y CONFIG_RTC_DRV_RX8025=y CONFIG_RTC_DRV_EM3027=y CONFIG_RTC_DRV_RV3028=y # CONFIG_RTC_DRV_RV3032 is not set CONFIG_RTC_DRV_RV8803=y CONFIG_RTC_DRV_S5M=y # CONFIG_RTC_DRV_SD3078 is not set # # SPI RTC drivers # CONFIG_RTC_DRV_M41T93=y CONFIG_RTC_DRV_M41T94=y CONFIG_RTC_DRV_DS1302=y CONFIG_RTC_DRV_DS1305=y CONFIG_RTC_DRV_DS1343=y CONFIG_RTC_DRV_DS1347=y CONFIG_RTC_DRV_DS1390=y CONFIG_RTC_DRV_MAX6916=y CONFIG_RTC_DRV_R9701=y CONFIG_RTC_DRV_RX4581=y # CONFIG_RTC_DRV_RS5C348 is not set CONFIG_RTC_DRV_MAX6902=y CONFIG_RTC_DRV_PCF2123=y # CONFIG_RTC_DRV_MCP795 is not set CONFIG_RTC_I2C_AND_SPI=y # # SPI and I2C RTC drivers # CONFIG_RTC_DRV_DS3232=y CONFIG_RTC_DRV_DS3232_HWMON=y CONFIG_RTC_DRV_PCF2127=y # CONFIG_RTC_DRV_RV3029C2 is not set CONFIG_RTC_DRV_RX6110=y # # Platform RTC drivers # CONFIG_RTC_DRV_CMOS=y CONFIG_RTC_DRV_DS1286=y # CONFIG_RTC_DRV_DS1511 is not set CONFIG_RTC_DRV_DS1553=y CONFIG_RTC_DRV_DS1685_FAMILY=y # CONFIG_RTC_DRV_DS1685 is not set # CONFIG_RTC_DRV_DS1689 is not set # CONFIG_RTC_DRV_DS17285 is not set CONFIG_RTC_DRV_DS17485=y # CONFIG_RTC_DRV_DS17885 is not set CONFIG_RTC_DRV_DS1742=y CONFIG_RTC_DRV_DS2404=y CONFIG_RTC_DRV_DA9055=y CONFIG_RTC_DRV_DA9063=y # CONFIG_RTC_DRV_STK17TA8 is not set CONFIG_RTC_DRV_M48T86=y CONFIG_RTC_DRV_M48T35=y # CONFIG_RTC_DRV_M48T59 is not set # CONFIG_RTC_DRV_MSM6242 is not set # CONFIG_RTC_DRV_BQ4802 is not set # CONFIG_RTC_DRV_RP5C01 is not set CONFIG_RTC_DRV_GAMECUBE=y CONFIG_RTC_DRV_WM831X=y CONFIG_RTC_DRV_SC27XX=y CONFIG_RTC_DRV_SPEAR=y CONFIG_RTC_DRV_ZYNQMP=y # CONFIG_RTC_DRV_NTXEC is not set # # on-CPU RTC drivers # # CONFIG_RTC_DRV_ASM9260 is not set # CONFIG_RTC_DRV_DIGICOLOR is not set CONFIG_RTC_DRV_IMXDI=y # CONFIG_RTC_DRV_FSL_FTM_ALARM is not set CONFIG_RTC_DRV_MESON=y CONFIG_RTC_DRV_MESON_VRTC=y CONFIG_RTC_DRV_OMAP=y # CONFIG_RTC_DRV_S3C is not set # CONFIG_RTC_DRV_EP93XX is not set # CONFIG_RTC_DRV_PL030 is not set # CONFIG_RTC_DRV_PL031 is not set CONFIG_RTC_DRV_AT91RM9200=y # CONFIG_RTC_DRV_AT91SAM9 is not set # CONFIG_RTC_DRV_RZN1 is not set # CONFIG_RTC_DRV_GENERIC is not set CONFIG_RTC_DRV_VT8500=y CONFIG_RTC_DRV_SUN6I=y # CONFIG_RTC_DRV_SUNXI is not set # CONFIG_RTC_DRV_MV is not set # CONFIG_RTC_DRV_ARMADA38X is not set CONFIG_RTC_DRV_CADENCE=y # CONFIG_RTC_DRV_FTRTC010 is not set CONFIG_RTC_DRV_STMP=y CONFIG_RTC_DRV_PCAP=y # CONFIG_RTC_DRV_MC13XXX is not set CONFIG_RTC_DRV_JZ4740=y CONFIG_RTC_DRV_LPC24XX=y CONFIG_RTC_DRV_LPC32XX=y CONFIG_RTC_DRV_PM8XXX=y CONFIG_RTC_DRV_TEGRA=y CONFIG_RTC_DRV_MXC=y # CONFIG_RTC_DRV_MXC_V2 is not set CONFIG_RTC_DRV_SNVS=y # CONFIG_RTC_DRV_BBNSM is not set CONFIG_RTC_DRV_MOXART=y CONFIG_RTC_DRV_MT2712=y CONFIG_RTC_DRV_MT6397=y CONFIG_RTC_DRV_MT7622=y # CONFIG_RTC_DRV_XGENE is not set CONFIG_RTC_DRV_R7301=y CONFIG_RTC_DRV_STM32=y CONFIG_RTC_DRV_RTD119X=y # CONFIG_RTC_DRV_ASPEED is not set CONFIG_RTC_DRV_TI_K3=y # # HID Sensor RTC drivers # CONFIG_RTC_DRV_GOLDFISH=y CONFIG_RTC_DRV_MSC313=y CONFIG_DMADEVICES=y # CONFIG_DMADEVICES_DEBUG is not set # # DMA Devices # CONFIG_ASYNC_TX_ENABLE_CHANNEL_SWITCH=y CONFIG_DMA_ENGINE=y CONFIG_DMA_VIRTUAL_CHANNELS=y CONFIG_DMA_OF=y CONFIG_ALTERA_MSGDMA=y CONFIG_AMBA_PL08X=y CONFIG_APPLE_ADMAC=y # CONFIG_AXI_DMAC is not set CONFIG_BCM_SBA_RAID=y # CONFIG_DMA_JZ4780 is not set CONFIG_DMA_SA11X0=y CONFIG_DMA_SUN6I=y CONFIG_DW_AXI_DMAC=y # CONFIG_EP93XX_DMA is not set CONFIG_FSL_EDMA=y # CONFIG_FSL_QDMA is not set CONFIG_IMG_MDC_DMA=y # CONFIG_IMX_DMA is not set CONFIG_IMX_SDMA=y # CONFIG_INTEL_IDMA64 is not set CONFIG_K3_DMA=y # CONFIG_LPC18XX_DMAMUX is not set # CONFIG_MCF_EDMA is not set # CONFIG_MILBEAUT_HDMAC is not set CONFIG_MILBEAUT_XDMAC=y CONFIG_MMP_PDMA=y CONFIG_MMP_TDMA=y # CONFIG_MV_XOR is not set CONFIG_MXS_DMA=y CONFIG_MX3_IPU=y CONFIG_MX3_IPU_IRQS=4 # CONFIG_NBPFAXI_DMA is not set CONFIG_PL330_DMA=y CONFIG_STM32_DMA=y # CONFIG_STM32_DMAMUX is not set CONFIG_STM32_MDMA=y CONFIG_SPRD_DMA=y CONFIG_TEGRA20_APB_DMA=y CONFIG_TEGRA210_ADMA=y CONFIG_TIMB_DMA=y CONFIG_UNIPHIER_MDMAC=y CONFIG_UNIPHIER_XDMAC=y CONFIG_XGENE_DMA=y # CONFIG_XILINX_XDMA is not set # CONFIG_XILINX_ZYNQMP_DMA is not set # CONFIG_XILINX_ZYNQMP_DPDMA is not set CONFIG_MTK_HSDMA=y CONFIG_MTK_CQDMA=y CONFIG_MTK_UART_APDMA=y CONFIG_QCOM_ADM=y CONFIG_QCOM_BAM_DMA=y # CONFIG_QCOM_HIDMA_MGMT is not set CONFIG_QCOM_HIDMA=y # CONFIG_DW_DMAC is not set # CONFIG_SF_PDMA is not set CONFIG_RENESAS_DMA=y CONFIG_SH_DMAE_BASE=y CONFIG_SH_DMAE=y # CONFIG_RCAR_DMAC is not set CONFIG_RENESAS_USB_DMAC=y CONFIG_RZ_DMAC=y # CONFIG_TI_EDMA is not set # CONFIG_DMA_OMAP is not set CONFIG_INTEL_LDMA=y # # DMA Clients # CONFIG_ASYNC_TX_DMA=y CONFIG_DMATEST=y CONFIG_DMA_ENGINE_RAID=y # # DMABUF options # CONFIG_SYNC_FILE=y # CONFIG_SW_SYNC is not set CONFIG_UDMABUF=y # CONFIG_DMABUF_MOVE_NOTIFY is not set # CONFIG_DMABUF_DEBUG is not set CONFIG_DMABUF_SELFTESTS=y # CONFIG_DMABUF_HEAPS is not set CONFIG_DMABUF_SYSFS_STATS=y # end of DMABUF options # CONFIG_AUXDISPLAY is not set # CONFIG_PANEL is not set # CONFIG_VFIO is not set # CONFIG_VIRT_DRIVERS is not set CONFIG_VIRTIO_ANCHOR=y CONFIG_VIRTIO=y # CONFIG_VIRTIO_MENU is not set CONFIG_VHOST_IOTLB=y CONFIG_VHOST_TASK=y CONFIG_VHOST=y CONFIG_VHOST_MENU=y CONFIG_VHOST_SCSI=y # CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set # # Microsoft Hyper-V guest support # # end of Microsoft Hyper-V guest support # CONFIG_GREYBUS is not set CONFIG_COMEDI=y # CONFIG_COMEDI_DEBUG is not set CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB=2048 CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB=20480 CONFIG_COMEDI_MISC_DRIVERS=y # CONFIG_COMEDI_BOND is not set CONFIG_COMEDI_TEST=y # CONFIG_COMEDI_PARPORT is not set CONFIG_COMEDI_SSV_DNP=y # CONFIG_COMEDI_ISA_DRIVERS is not set CONFIG_COMEDI_PCMCIA_DRIVERS=y CONFIG_COMEDI_CB_DAS16_CS=y CONFIG_COMEDI_DAS08_CS=y CONFIG_COMEDI_NI_DAQ_700_CS=y CONFIG_COMEDI_NI_DAQ_DIO24_CS=y # CONFIG_COMEDI_NI_LABPC_CS is not set # CONFIG_COMEDI_NI_MIO_CS is not set # CONFIG_COMEDI_QUATECH_DAQP_CS is not set CONFIG_COMEDI_USB_DRIVERS=y CONFIG_COMEDI_DT9812=y CONFIG_COMEDI_NI_USB6501=y # CONFIG_COMEDI_USBDUX is not set CONFIG_COMEDI_USBDUXFAST=y CONFIG_COMEDI_USBDUXSIGMA=y # CONFIG_COMEDI_VMK80XX is not set CONFIG_COMEDI_8254=y CONFIG_COMEDI_8255=y CONFIG_COMEDI_8255_SA=y CONFIG_COMEDI_KCOMEDILIB=y CONFIG_COMEDI_DAS08=y CONFIG_COMEDI_TESTS=y # CONFIG_COMEDI_TESTS_EXAMPLE is not set # CONFIG_COMEDI_TESTS_NI_ROUTES is not set CONFIG_STAGING=y CONFIG_USB_EMXX=y # CONFIG_STAGING_MEDIA is not set CONFIG_STAGING_BOARD=y # CONFIG_BCM_VIDEOCORE is not set CONFIG_PI433=y # CONFIG_XIL_AXIS_FIFO is not set CONFIG_FIELDBUS_DEV=y CONFIG_HMS_ANYBUSS_BUS=y CONFIG_ARCX_ANYBUS_CONTROLLER=y # CONFIG_HMS_PROFINET is not set CONFIG_GOLDFISH=y # CONFIG_GOLDFISH_PIPE is not set CONFIG_CHROME_PLATFORMS=y # CONFIG_CROS_EC is not set # CONFIG_MELLANOX_PLATFORM is not set # CONFIG_OLPC_XO175 is not set CONFIG_SURFACE_PLATFORMS=y CONFIG_HAVE_CLK=y CONFIG_HAVE_CLK_PREPARE=y CONFIG_COMMON_CLK=y CONFIG_COMMON_CLK_WM831X=y # # Clock driver for ARM Reference designs # CONFIG_CLK_ICST=y # CONFIG_CLK_SP810 is not set # end of Clock driver for ARM Reference designs # CONFIG_CLK_HSDK is not set # CONFIG_LMK04832 is not set # CONFIG_COMMON_CLK_APPLE_NCO is not set CONFIG_COMMON_CLK_MAX77686=y # CONFIG_COMMON_CLK_MAX9485 is not set CONFIG_COMMON_CLK_HI655X=y # CONFIG_COMMON_CLK_SCMI is not set CONFIG_COMMON_CLK_SCPI=y # CONFIG_COMMON_CLK_SI5341 is not set # CONFIG_COMMON_CLK_SI5351 is not set # CONFIG_COMMON_CLK_SI514 is not set CONFIG_COMMON_CLK_SI544=y CONFIG_COMMON_CLK_SI570=y CONFIG_COMMON_CLK_BM1880=y CONFIG_COMMON_CLK_CDCE706=y CONFIG_COMMON_CLK_TPS68470=y CONFIG_COMMON_CLK_CDCE925=y CONFIG_COMMON_CLK_CS2000_CP=y CONFIG_COMMON_CLK_EN7523=y CONFIG_COMMON_CLK_FSL_FLEXSPI=y CONFIG_COMMON_CLK_FSL_SAI=y CONFIG_COMMON_CLK_GEMINI=y # CONFIG_COMMON_CLK_LAN966X is not set # CONFIG_COMMON_CLK_ASPEED is not set CONFIG_COMMON_CLK_S2MPS11=y CONFIG_CLK_TWL6040=y # CONFIG_COMMON_CLK_AXI_CLKGEN is not set CONFIG_CLK_QORIQ=y CONFIG_CLK_LS1028A_PLLDIG=y # CONFIG_COMMON_CLK_XGENE is not set # CONFIG_COMMON_CLK_LOCHNAGAR is not set # CONFIG_COMMON_CLK_LOONGSON2 is not set CONFIG_COMMON_CLK_NXP=y CONFIG_COMMON_CLK_OXNAS=y CONFIG_COMMON_CLK_RS9_PCIE=y # CONFIG_COMMON_CLK_SI521XX is not set CONFIG_COMMON_CLK_VC5=y CONFIG_COMMON_CLK_VC7=y # CONFIG_COMMON_CLK_MMP2_AUDIO is not set # CONFIG_COMMON_CLK_BD718XX is not set # CONFIG_COMMON_CLK_FIXED_MMIO is not set CONFIG_COMMON_CLK_SP7021=y CONFIG_CLK_ACTIONS=y # CONFIG_CLK_OWL_S500 is not set CONFIG_CLK_OWL_S700=y # CONFIG_CLK_OWL_S900 is not set CONFIG_CLK_ANALOGBITS_WRPLL_CLN28HPC=y # CONFIG_CLK_BAIKAL_T1 is not set CONFIG_CLK_BCM2711_DVP=y # CONFIG_CLK_BCM2835 is not set # CONFIG_CLK_BCM_63XX is not set # CONFIG_CLK_BCM_63XX_GATE is not set # CONFIG_CLK_BCM63268_TIMER is not set CONFIG_CLK_BCM_KONA=y CONFIG_COMMON_CLK_IPROC=y # CONFIG_CLK_BCM_CYGNUS is not set # CONFIG_CLK_BCM_HR2 is not set CONFIG_CLK_BCM_NSP=y CONFIG_CLK_BCM_NS2=y # CONFIG_CLK_BCM_SR is not set CONFIG_CLK_RASPBERRYPI=y CONFIG_COMMON_CLK_HI3516CV300=y CONFIG_COMMON_CLK_HI3519=y # CONFIG_COMMON_CLK_HI3559A is not set # CONFIG_COMMON_CLK_HI3660 is not set CONFIG_COMMON_CLK_HI3670=y # CONFIG_COMMON_CLK_HI3798CV200 is not set CONFIG_COMMON_CLK_HI6220=y CONFIG_RESET_HISI=y CONFIG_STUB_CLK_HI6220=y # CONFIG_COMMON_CLK_BOSTON is not set CONFIG_MXC_CLK=y CONFIG_CLK_IMX7D=y CONFIG_CLK_IMX7ULP=y CONFIG_CLK_VF610=y # CONFIG_CLK_IMX8MM is not set CONFIG_CLK_IMX8MN=y CONFIG_CLK_IMX8MP=y CONFIG_CLK_IMX8MQ=y CONFIG_CLK_IMX8ULP=y CONFIG_CLK_IMX93=y CONFIG_CLK_IMXRT1050=y # # Ingenic SoCs drivers # CONFIG_INGENIC_CGU_COMMON=y # CONFIG_INGENIC_CGU_JZ4740 is not set CONFIG_INGENIC_CGU_JZ4755=y # CONFIG_INGENIC_CGU_JZ4725B is not set CONFIG_INGENIC_CGU_JZ4760=y # CONFIG_INGENIC_CGU_JZ4770 is not set CONFIG_INGENIC_CGU_JZ4780=y CONFIG_INGENIC_CGU_X1000=y CONFIG_INGENIC_CGU_X1830=y # CONFIG_INGENIC_TCU_CLK is not set # end of Ingenic SoCs drivers CONFIG_COMMON_CLK_KEYSTONE=y CONFIG_TI_SYSCON_CLK=y # # Clock driver for MediaTek SoC # CONFIG_COMMON_CLK_MEDIATEK=y CONFIG_COMMON_CLK_MEDIATEK_FHCTL=y CONFIG_COMMON_CLK_MT2701=y # CONFIG_COMMON_CLK_MT2701_MMSYS is not set CONFIG_COMMON_CLK_MT2701_IMGSYS=y # CONFIG_COMMON_CLK_MT2701_VDECSYS is not set CONFIG_COMMON_CLK_MT2701_HIFSYS=y CONFIG_COMMON_CLK_MT2701_ETHSYS=y CONFIG_COMMON_CLK_MT2701_BDPSYS=y CONFIG_COMMON_CLK_MT2701_AUDSYS=y # CONFIG_COMMON_CLK_MT2701_G3DSYS is not set # CONFIG_COMMON_CLK_MT2712 is not set # CONFIG_COMMON_CLK_MT6765 is not set # CONFIG_COMMON_CLK_MT6779 is not set # CONFIG_COMMON_CLK_MT6795 is not set # CONFIG_COMMON_CLK_MT6797 is not set CONFIG_COMMON_CLK_MT7622=y CONFIG_COMMON_CLK_MT7622_ETHSYS=y CONFIG_COMMON_CLK_MT7622_HIFSYS=y # CONFIG_COMMON_CLK_MT7622_AUDSYS is not set CONFIG_COMMON_CLK_MT7629=y CONFIG_COMMON_CLK_MT7629_ETHSYS=y CONFIG_COMMON_CLK_MT7629_HIFSYS=y CONFIG_COMMON_CLK_MT7981=y CONFIG_COMMON_CLK_MT7981_ETHSYS=y CONFIG_COMMON_CLK_MT7986=y # CONFIG_COMMON_CLK_MT7986_ETHSYS is not set CONFIG_COMMON_CLK_MT8135=y # CONFIG_COMMON_CLK_MT8167 is not set CONFIG_COMMON_CLK_MT8173=y CONFIG_COMMON_CLK_MT8173_IMGSYS=y CONFIG_COMMON_CLK_MT8173_MMSYS=y CONFIG_COMMON_CLK_MT8173_VDECSYS=y # CONFIG_COMMON_CLK_MT8173_VENCSYS is not set # CONFIG_COMMON_CLK_MT8183 is not set CONFIG_COMMON_CLK_MT8186=y # CONFIG_COMMON_CLK_MT8186_CAMSYS is not set # CONFIG_COMMON_CLK_MT8186_IMGSYS is not set # CONFIG_COMMON_CLK_MT8186_IMP_IIC_WRAP is not set CONFIG_COMMON_CLK_MT8186_MCUSYS=y # CONFIG_COMMON_CLK_MT8186_MDPSYS is not set CONFIG_COMMON_CLK_MT8186_MFGCFG=y CONFIG_COMMON_CLK_MT8186_MMSYS=y CONFIG_COMMON_CLK_MT8186_VDECSYS=y CONFIG_COMMON_CLK_MT8186_VENCSYS=y # CONFIG_COMMON_CLK_MT8188 is not set CONFIG_COMMON_CLK_MT8192=y CONFIG_COMMON_CLK_MT8192_AUDSYS=y CONFIG_COMMON_CLK_MT8192_CAMSYS=y CONFIG_COMMON_CLK_MT8192_IMGSYS=y CONFIG_COMMON_CLK_MT8192_IMP_IIC_WRAP=y CONFIG_COMMON_CLK_MT8192_IPESYS=y CONFIG_COMMON_CLK_MT8192_MDPSYS=y CONFIG_COMMON_CLK_MT8192_MFGCFG=y CONFIG_COMMON_CLK_MT8192_MMSYS=y CONFIG_COMMON_CLK_MT8192_MSDC=y # CONFIG_COMMON_CLK_MT8192_SCP_ADSP is not set CONFIG_COMMON_CLK_MT8192_VDECSYS=y CONFIG_COMMON_CLK_MT8192_VENCSYS=y CONFIG_COMMON_CLK_MT8195=y CONFIG_COMMON_CLK_MT8195_APUSYS=y # CONFIG_COMMON_CLK_MT8195_AUDSYS is not set CONFIG_COMMON_CLK_MT8195_IMP_IIC_WRAP=y # CONFIG_COMMON_CLK_MT8195_MFGCFG is not set CONFIG_COMMON_CLK_MT8195_MSDC=y CONFIG_COMMON_CLK_MT8195_SCP_ADSP=y CONFIG_COMMON_CLK_MT8195_VDOSYS=y CONFIG_COMMON_CLK_MT8195_VPPSYS=y # CONFIG_COMMON_CLK_MT8195_CAMSYS is not set CONFIG_COMMON_CLK_MT8195_IMGSYS=y # CONFIG_COMMON_CLK_MT8195_IPESYS is not set CONFIG_COMMON_CLK_MT8195_WPESYS=y CONFIG_COMMON_CLK_MT8195_VDECSYS=y CONFIG_COMMON_CLK_MT8195_VENCSYS=y # CONFIG_COMMON_CLK_MT8365 is not set CONFIG_COMMON_CLK_MT8516=y CONFIG_COMMON_CLK_MT8516_AUDSYS=y # end of Clock driver for MediaTek SoC # # Clock support for Amlogic platforms # # CONFIG_COMMON_CLK_MESON8B is not set # end of Clock support for Amlogic platforms # CONFIG_MSTAR_MSC313_CPUPLL is not set CONFIG_MSTAR_MSC313_MPLL=y CONFIG_MCHP_CLK_MPFS=y # CONFIG_COMMON_CLK_PISTACHIO is not set # CONFIG_COMMON_CLK_QCOM is not set # CONFIG_CLK_MT7621 is not set # CONFIG_CLK_RENESAS is not set # CONFIG_COMMON_CLK_SAMSUNG is not set CONFIG_CLK_SIFIVE=y CONFIG_CLK_SIFIVE_PRCI=y CONFIG_CLK_INTEL_SOCFPGA=y # CONFIG_CLK_INTEL_SOCFPGA32 is not set CONFIG_CLK_INTEL_SOCFPGA64=y # CONFIG_SPRD_COMMON_CLK is not set CONFIG_CLK_STARFIVE_JH71X0=y # CONFIG_CLK_STARFIVE_JH7100 is not set CONFIG_CLK_STARFIVE_JH7110_SYS=y CONFIG_CLK_STARFIVE_JH7110_AON=y CONFIG_CLK_SUNXI=y # CONFIG_CLK_SUNXI_CLOCKS is not set CONFIG_CLK_SUNXI_PRCM_SUN6I=y CONFIG_CLK_SUNXI_PRCM_SUN8I=y CONFIG_CLK_SUNXI_PRCM_SUN9I=y # CONFIG_SUNXI_CCU is not set CONFIG_COMMON_CLK_TI_ADPLL=y CONFIG_CLK_UNIPHIER=y # CONFIG_COMMON_CLK_VISCONTI is not set # CONFIG_CLK_LGM_CGU is not set CONFIG_XILINX_VCU=y # CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set CONFIG_COMMON_CLK_ZYNQMP=y CONFIG_CLK_KUNIT_TEST=y CONFIG_CLK_GATE_KUNIT_TEST=y # CONFIG_HWSPINLOCK is not set # # Clock Source drivers # CONFIG_TIMER_OF=y CONFIG_TIMER_PROBE=y CONFIG_CLKSRC_MMIO=y # CONFIG_BCM2835_TIMER is not set CONFIG_BCM_KONA_TIMER=y # CONFIG_DAVINCI_TIMER is not set CONFIG_DIGICOLOR_TIMER=y # CONFIG_OMAP_DM_TIMER is not set CONFIG_DW_APB_TIMER=y # CONFIG_FTTMR010_TIMER is not set # CONFIG_IXP4XX_TIMER is not set # CONFIG_ROCKCHIP_TIMER is not set # CONFIG_ARMADA_370_XP_TIMER is not set CONFIG_MESON6_TIMER=y # CONFIG_ORION_TIMER is not set CONFIG_OWL_TIMER=y CONFIG_RDA_TIMER=y CONFIG_SUN4I_TIMER=y CONFIG_SUN5I_HSTIMER=y # CONFIG_TEGRA_TIMER is not set CONFIG_VT8500_TIMER=y CONFIG_NPCM7XX_TIMER=y CONFIG_CADENCE_TTC_TIMER=y CONFIG_ASM9260_TIMER=y # CONFIG_CLKSRC_NOMADIK_MTU is not set # CONFIG_CLKSRC_DBX500_PRCMU is not set # CONFIG_CLPS711X_TIMER is not set # CONFIG_MXS_TIMER is not set # CONFIG_NSPIRE_TIMER is not set CONFIG_KEYSTONE_TIMER=y # CONFIG_INTEGRATOR_AP_TIMER is not set CONFIG_CLKSRC_LPC32XX=y CONFIG_CLKSRC_PISTACHIO=y CONFIG_CLKSRC_TI_32K=y # CONFIG_CLKSRC_STM32 is not set # CONFIG_CLKSRC_STM32_LP is not set CONFIG_CLKSRC_MPS2=y # CONFIG_ARC_TIMERS is not set # CONFIG_ARM_GLOBAL_TIMER is not set CONFIG_ARM_TIMER_SP804=y CONFIG_ARMV7M_SYSTICK=y CONFIG_ATMEL_PIT=y CONFIG_ATMEL_ST=y CONFIG_ATMEL_TCB_CLKSRC=y # CONFIG_CLKSRC_EXYNOS_MCT is not set # CONFIG_CLKSRC_SAMSUNG_PWM is not set # CONFIG_FSL_FTM_TIMER is not set CONFIG_VF_PIT_TIMER=y CONFIG_OXNAS_RPS_TIMER=y CONFIG_MTK_TIMER=y # CONFIG_MTK_CPUX_TIMER is not set # CONFIG_CLKSRC_JCORE_PIT is not set CONFIG_SH_TIMER_CMT=y CONFIG_SH_TIMER_MTU2=y # CONFIG_RENESAS_OSTM is not set # CONFIG_SH_TIMER_TMU is not set CONFIG_EM_TIMER_STI=y CONFIG_CLKSRC_QCOM=y CONFIG_CLKSRC_VERSATILE=y # CONFIG_CLKSRC_PXA is not set CONFIG_CLKSRC_IMX_GPT=y CONFIG_CLKSRC_IMX_TPM=y CONFIG_TIMER_IMX_SYS_CTR=y # CONFIG_CLKSRC_ST_LPC is not set CONFIG_GXP_TIMER=y # CONFIG_MILBEAUT_TIMER is not set # CONFIG_MSC313E_TIMER is not set CONFIG_INGENIC_TIMER=y # CONFIG_INGENIC_SYSOST is not set CONFIG_INGENIC_OST=y CONFIG_MICROCHIP_PIT64B=y CONFIG_GOLDFISH_TIMER=y # end of Clock Source drivers CONFIG_MAILBOX=y CONFIG_ARM_MHU=y # CONFIG_ARM_MHU_V2 is not set CONFIG_IMX_MBOX=y CONFIG_PLATFORM_MHU=y # CONFIG_PL320_MBOX is not set CONFIG_ARMADA_37XX_RWTM_MBOX=y # CONFIG_ROCKCHIP_MBOX is not set CONFIG_ALTERA_MBOX=y CONFIG_MAILBOX_TEST=y CONFIG_POLARFIRE_SOC_MAILBOX=y # CONFIG_QCOM_APCS_IPC is not set # CONFIG_BCM_PDC_MBOX is not set CONFIG_STM32_IPCC=y # CONFIG_MTK_ADSP_MBOX is not set CONFIG_MTK_CMDQ_MBOX=y CONFIG_SUN6I_MSGBOX=y CONFIG_SPRD_MBOX=y CONFIG_QCOM_IPCC=y CONFIG_IOMMU_IOVA=y # # Remoteproc drivers # # CONFIG_REMOTEPROC is not set # end of Remoteproc drivers # # Rpmsg drivers # CONFIG_RPMSG=y CONFIG_RPMSG_CTRL=y CONFIG_RPMSG_NS=y CONFIG_RPMSG_QCOM_GLINK=y CONFIG_RPMSG_QCOM_GLINK_RPM=y CONFIG_RPMSG_VIRTIO=y # end of Rpmsg drivers # CONFIG_SOUNDWIRE is not set # # SOC (System On Chip) specific Drivers # # # Amlogic SoC drivers # CONFIG_MESON_CANVAS=y CONFIG_MESON_CLK_MEASURE=y CONFIG_MESON_GX_SOCINFO=y # CONFIG_MESON_MX_SOCINFO is not set # end of Amlogic SoC drivers # # Apple SoC drivers # CONFIG_APPLE_RTKIT=y # CONFIG_APPLE_SART is not set # end of Apple SoC drivers # # ASPEED SoC drivers # CONFIG_ASPEED_LPC_CTRL=y # CONFIG_ASPEED_LPC_SNOOP is not set CONFIG_ASPEED_UART_ROUTING=y CONFIG_ASPEED_P2A_CTRL=y CONFIG_ASPEED_SOCINFO=y # end of ASPEED SoC drivers CONFIG_AT91_SOC_ID=y # CONFIG_AT91_SOC_SFR is not set # # Broadcom SoC drivers # # CONFIG_BCM2835_POWER is not set CONFIG_SOC_BCM63XX=y CONFIG_SOC_BRCMSTB=y CONFIG_BCM63XX_POWER=y CONFIG_BCM_PMB=y # end of Broadcom SoC drivers # # NXP/Freescale QorIQ SoC drivers # # CONFIG_QUICC_ENGINE is not set # CONFIG_CPM_TSA is not set # CONFIG_DPAA2_CONSOLE is not set # end of NXP/Freescale QorIQ SoC drivers # # fujitsu SoC drivers # # end of fujitsu SoC drivers # # i.MX SoC drivers # CONFIG_SOC_IMX8M=y CONFIG_SOC_IMX9=y # end of i.MX SoC drivers # # IXP4xx SoC drivers # # CONFIG_IXP4XX_QMGR is not set CONFIG_IXP4XX_NPE=y # end of IXP4xx SoC drivers # # Enable LiteX SoC Builder specific drivers # CONFIG_LITEX=y CONFIG_LITEX_SOC_CONTROLLER=y # end of Enable LiteX SoC Builder specific drivers CONFIG_LOONGSON2_GUTS=y # # MediaTek SoC drivers # CONFIG_MTK_CMDQ=y CONFIG_MTK_DEVAPC=y CONFIG_MTK_INFRACFG=y # CONFIG_MTK_PMIC_WRAP is not set CONFIG_MTK_REGULATOR_COUPLER=y # CONFIG_MTK_SCPSYS is not set CONFIG_MTK_MMSYS=y CONFIG_MTK_SVS=y # end of MediaTek SoC drivers CONFIG_POLARFIRE_SOC_SYS_CTRL=y CONFIG_WPCM450_SOC=y # # Qualcomm SoC drivers # CONFIG_QCOM_COMMAND_DB=y CONFIG_QCOM_GENI_SE=y CONFIG_QCOM_GSBI=y CONFIG_QCOM_LLCC=y CONFIG_QCOM_RAMP_CTRL=y # CONFIG_QCOM_RPMH is not set CONFIG_QCOM_SMD_RPM=y CONFIG_QCOM_SPM=y CONFIG_QCOM_WCNSS_CTRL=y CONFIG_QCOM_ICC_BWMON=y # end of Qualcomm SoC drivers CONFIG_SOC_RENESAS=y # CONFIG_PWC_RZV2M is not set # CONFIG_RST_RCAR is not set CONFIG_SYSC_RCAR=y CONFIG_SYSC_RCAR_GEN4=y CONFIG_SYSC_R8A77995=y CONFIG_SYSC_R8A7794=y CONFIG_SYSC_R8A77990=y CONFIG_SYSC_R8A7779=y # CONFIG_SYSC_R8A7790 is not set # CONFIG_SYSC_R8A7795 is not set # CONFIG_SYSC_R8A7791 is not set CONFIG_SYSC_R8A77965=y CONFIG_SYSC_R8A77960=y CONFIG_SYSC_R8A77961=y CONFIG_SYSC_R8A779F0=y CONFIG_SYSC_R8A7792=y CONFIG_SYSC_R8A77980=y CONFIG_SYSC_R8A77970=y # CONFIG_SYSC_R8A779A0 is not set CONFIG_SYSC_R8A779G0=y # CONFIG_SYSC_RMOBILE is not set # CONFIG_SYSC_R8A77470 is not set CONFIG_SYSC_R8A7745=y # CONFIG_SYSC_R8A7742 is not set # CONFIG_SYSC_R8A7743 is not set CONFIG_SYSC_R8A774C0=y CONFIG_SYSC_R8A774E1=y # CONFIG_SYSC_R8A774A1 is not set CONFIG_SYSC_R8A774B1=y CONFIG_ROCKCHIP_GRF=y CONFIG_ROCKCHIP_IODOMAIN=y # CONFIG_SOC_SAMSUNG is not set # CONFIG_SOC_TEGRA20_VOLTAGE_COUPLER is not set # CONFIG_SOC_TEGRA30_VOLTAGE_COUPLER is not set CONFIG_SOC_TI=y CONFIG_UX500_SOC_ID=y # # Xilinx SoC drivers # # end of Xilinx SoC drivers # end of SOC (System On Chip) specific Drivers CONFIG_PM_DEVFREQ=y # # DEVFREQ Governors # CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y # CONFIG_DEVFREQ_GOV_PERFORMANCE is not set CONFIG_DEVFREQ_GOV_POWERSAVE=y CONFIG_DEVFREQ_GOV_USERSPACE=y CONFIG_DEVFREQ_GOV_PASSIVE=y # # DEVFREQ Drivers # CONFIG_ARM_EXYNOS_BUS_DEVFREQ=y CONFIG_ARM_IMX_BUS_DEVFREQ=y CONFIG_ARM_TEGRA_DEVFREQ=y CONFIG_ARM_MEDIATEK_CCI_DEVFREQ=y CONFIG_ARM_SUN8I_A33_MBUS_DEVFREQ=y CONFIG_PM_DEVFREQ_EVENT=y CONFIG_DEVFREQ_EVENT_EXYNOS_NOCP=y CONFIG_DEVFREQ_EVENT_EXYNOS_PPMU=y CONFIG_DEVFREQ_EVENT_ROCKCHIP_DFI=y CONFIG_EXTCON=y # # Extcon Device Drivers # # CONFIG_EXTCON_FSA9480 is not set CONFIG_EXTCON_GPIO=y CONFIG_EXTCON_MAX14577=y # CONFIG_EXTCON_MAX3355 is not set # CONFIG_EXTCON_MAX77693 is not set # CONFIG_EXTCON_MAX77843 is not set CONFIG_EXTCON_MAX8997=y CONFIG_EXTCON_PTN5150=y # CONFIG_EXTCON_QCOM_SPMI_MISC is not set # CONFIG_EXTCON_RT8973A is not set CONFIG_EXTCON_SM5502=y # CONFIG_EXTCON_USB_GPIO is not set CONFIG_EXTCON_USBC_TUSB320=y # CONFIG_MEMORY is not set # CONFIG_IIO is not set # CONFIG_PWM is not set # # IRQ chip support # CONFIG_IRQCHIP=y CONFIG_ARM_NVIC=y # CONFIG_AL_FIC is not set CONFIG_MADERA_IRQ=y CONFIG_JCORE_AIC=y CONFIG_RENESAS_INTC_IRQPIN=y # CONFIG_RENESAS_IRQC is not set CONFIG_RENESAS_RZA1_IRQC=y CONFIG_RENESAS_RZG2L_IRQC=y # CONFIG_SL28CPLD_INTC is not set CONFIG_TS4800_IRQ=y # CONFIG_XILINX_INTC is not set # CONFIG_INGENIC_TCU_IRQ is not set CONFIG_IRQ_UNIPHIER_AIDET=y CONFIG_MESON_IRQ_GPIO=y # CONFIG_IMX_IRQSTEER is not set # CONFIG_IMX_INTMUX is not set # CONFIG_IMX_MU_MSI is not set # CONFIG_EXYNOS_IRQ_COMBINER is not set # CONFIG_MST_IRQ is not set # CONFIG_MCHP_EIC is not set CONFIG_SUNPLUS_SP7021_INTC=y # end of IRQ chip support # CONFIG_IPACK_BUS is not set CONFIG_ARCH_HAS_RESET_CONTROLLER=y CONFIG_RESET_CONTROLLER=y CONFIG_RESET_A10SR=y CONFIG_RESET_ATH79=y CONFIG_RESET_AXS10X=y CONFIG_RESET_BCM6345=y CONFIG_RESET_BERLIN=y CONFIG_RESET_BRCMSTB=y CONFIG_RESET_BRCMSTB_RESCAL=y CONFIG_RESET_HSDK=y CONFIG_RESET_IMX7=y # CONFIG_RESET_INTEL_GW is not set # CONFIG_RESET_K210 is not set CONFIG_RESET_LANTIQ=y # CONFIG_RESET_LPC18XX is not set # CONFIG_RESET_MCHP_SPARX5 is not set CONFIG_RESET_MESON=y CONFIG_RESET_MESON_AUDIO_ARB=y CONFIG_RESET_NPCM=y CONFIG_RESET_PISTACHIO=y CONFIG_RESET_POLARFIRE_SOC=y # CONFIG_RESET_QCOM_AOSS is not set CONFIG_RESET_QCOM_PDC=y # CONFIG_RESET_RASPBERRYPI is not set CONFIG_RESET_RZG2L_USBPHY_CTRL=y CONFIG_RESET_SCMI=y CONFIG_RESET_SIMPLE=y # CONFIG_RESET_SOCFPGA is not set CONFIG_RESET_SUNPLUS=y CONFIG_RESET_SUNXI=y CONFIG_RESET_TI_SCI=y CONFIG_RESET_TI_SYSCON=y CONFIG_RESET_TI_TPS380X=y CONFIG_RESET_TN48M_CPLD=y CONFIG_RESET_UNIPHIER=y CONFIG_RESET_UNIPHIER_GLUE=y # CONFIG_RESET_ZYNQ is not set CONFIG_RESET_STARFIVE_JH71X0=y CONFIG_RESET_STARFIVE_JH7100=y CONFIG_RESET_STARFIVE_JH7110=y CONFIG_COMMON_RESET_HI3660=y CONFIG_COMMON_RESET_HI6220=y # # PHY Subsystem # CONFIG_GENERIC_PHY=y CONFIG_GENERIC_PHY_MIPI_DPHY=y CONFIG_PHY_LPC18XX_USB_OTG=y CONFIG_PHY_PISTACHIO_USB=y CONFIG_PHY_XGENE=y CONFIG_USB_LGM_PHY=y # CONFIG_PHY_CAN_TRANSCEIVER is not set CONFIG_PHY_SUN4I_USB=y CONFIG_PHY_SUN6I_MIPI_DPHY=y # CONFIG_PHY_SUN9I_USB is not set CONFIG_PHY_SUN50I_USB3=y CONFIG_PHY_MESON8_HDMI_TX=y # CONFIG_PHY_MESON8B_USB2 is not set CONFIG_PHY_MESON_GXL_USB2=y CONFIG_PHY_MESON_G12A_MIPI_DPHY_ANALOG=y CONFIG_PHY_MESON_G12A_USB2=y # CONFIG_PHY_MESON_G12A_USB3_PCIE is not set CONFIG_PHY_MESON_AXG_PCIE=y CONFIG_PHY_MESON_AXG_MIPI_PCIE_ANALOG=y CONFIG_PHY_MESON_AXG_MIPI_DPHY=y # # PHY drivers for Broadcom platforms # # CONFIG_PHY_BCM63XX_USBH is not set CONFIG_PHY_CYGNUS_PCIE=y # CONFIG_PHY_BCM_SR_USB is not set CONFIG_BCM_KONA_USB2_PHY=y # CONFIG_PHY_BCM_NS_USB2 is not set # CONFIG_PHY_NS2_USB_DRD is not set CONFIG_PHY_BRCM_SATA=y # CONFIG_PHY_BRCM_USB is not set CONFIG_PHY_BCM_SR_PCIE=y # end of PHY drivers for Broadcom platforms CONFIG_PHY_CADENCE_TORRENT=y # CONFIG_PHY_CADENCE_DPHY is not set CONFIG_PHY_CADENCE_DPHY_RX=y CONFIG_PHY_CADENCE_SIERRA=y CONFIG_PHY_CADENCE_SALVO=y # CONFIG_PHY_FSL_IMX8MQ_USB is not set CONFIG_PHY_MIXEL_LVDS_PHY=y CONFIG_PHY_MIXEL_MIPI_DPHY=y # CONFIG_PHY_FSL_IMX8M_PCIE is not set # CONFIG_PHY_FSL_LYNX_28G is not set # CONFIG_PHY_HI6220_USB is not set # CONFIG_PHY_HI3660_USB is not set # CONFIG_PHY_HI3670_USB is not set CONFIG_PHY_HI3670_PCIE=y CONFIG_PHY_HISTB_COMBPHY=y CONFIG_PHY_HISI_INNO_USB2=y CONFIG_PHY_INGENIC_USB=y # CONFIG_PHY_LANTIQ_VRX200_PCIE is not set CONFIG_PHY_LANTIQ_RCU_USB2=y CONFIG_ARMADA375_USBCLUSTER_PHY=y # CONFIG_PHY_BERLIN_SATA is not set # CONFIG_PHY_BERLIN_USB is not set # CONFIG_PHY_MVEBU_A3700_UTMI is not set CONFIG_PHY_MVEBU_A38X_COMPHY=y # CONFIG_PHY_MVEBU_CP110_UTMI is not set CONFIG_PHY_PXA_28NM_HSIC=y CONFIG_PHY_PXA_28NM_USB2=y # CONFIG_PHY_PXA_USB is not set # CONFIG_PHY_MMP3_USB is not set # CONFIG_PHY_MMP3_HSIC is not set CONFIG_PHY_MTK_PCIE=y # CONFIG_PHY_MTK_TPHY is not set CONFIG_PHY_MTK_UFS=y # CONFIG_PHY_MTK_XSPHY is not set CONFIG_PHY_MTK_HDMI=y CONFIG_PHY_MTK_MIPI_DSI=y CONFIG_PHY_MTK_DP=y CONFIG_PHY_SPARX5_SERDES=y CONFIG_PHY_LAN966X_SERDES=y CONFIG_PHY_MAPPHONE_MDM6600=y CONFIG_PHY_OCELOT_SERDES=y # CONFIG_PHY_ATH79_USB is not set CONFIG_PHY_QCOM_EDP=y CONFIG_PHY_QCOM_IPQ4019_USB=y # CONFIG_PHY_QCOM_PCIE2 is not set # CONFIG_PHY_QCOM_QMP is not set # CONFIG_PHY_QCOM_QUSB2 is not set CONFIG_PHY_QCOM_SNPS_EUSB2=y # CONFIG_PHY_QCOM_EUSB2_REPEATER is not set CONFIG_PHY_QCOM_USB_HS=y CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2=y CONFIG_PHY_QCOM_USB_HSIC=y CONFIG_PHY_QCOM_USB_HS_28NM=y CONFIG_PHY_QCOM_USB_SS=y CONFIG_PHY_QCOM_IPQ806X_USB=y # CONFIG_PHY_MT7621_PCI is not set CONFIG_PHY_RALINK_USB=y # CONFIG_PHY_R8A779F0_ETHERNET_SERDES is not set CONFIG_PHY_RCAR_GEN3_USB3=y # CONFIG_PHY_ROCKCHIP_DPHY_RX0 is not set # CONFIG_PHY_ROCKCHIP_INNO_HDMI is not set CONFIG_PHY_ROCKCHIP_INNO_USB2=y CONFIG_PHY_ROCKCHIP_INNO_CSIDPHY=y CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY=y CONFIG_PHY_ROCKCHIP_PCIE=y CONFIG_PHY_ROCKCHIP_SNPS_PCIE3=y CONFIG_PHY_ROCKCHIP_TYPEC=y CONFIG_PHY_EXYNOS_DP_VIDEO=y CONFIG_PHY_EXYNOS_MIPI_VIDEO=y # CONFIG_PHY_EXYNOS_PCIE is not set # CONFIG_PHY_SAMSUNG_UFS is not set CONFIG_PHY_SAMSUNG_USB2=y CONFIG_PHY_S5PV210_USB2=y CONFIG_PHY_UNIPHIER_USB2=y CONFIG_PHY_UNIPHIER_USB3=y CONFIG_PHY_UNIPHIER_PCIE=y CONFIG_PHY_UNIPHIER_AHCI=y CONFIG_PHY_ST_SPEAR1310_MIPHY=y # CONFIG_PHY_ST_SPEAR1340_MIPHY is not set CONFIG_PHY_STIH407_USB=y # CONFIG_PHY_STM32_USBPHYC is not set CONFIG_PHY_SUNPLUS_USB=y CONFIG_PHY_TEGRA194_P2U=y CONFIG_PHY_DA8XX_USB=y # CONFIG_PHY_DM816X_USB is not set CONFIG_PHY_AM654_SERDES=y CONFIG_PHY_J721E_WIZ=y CONFIG_OMAP_CONTROL_PHY=y CONFIG_TI_PIPE3=y # CONFIG_PHY_TUSB1210 is not set CONFIG_PHY_INTEL_KEEMBAY_EMMC=y CONFIG_PHY_INTEL_KEEMBAY_USB=y # CONFIG_PHY_INTEL_LGM_COMBO is not set CONFIG_PHY_INTEL_LGM_EMMC=y CONFIG_PHY_XILINX_ZYNQMP=y # end of PHY Subsystem CONFIG_POWERCAP=y # CONFIG_ARM_SCMI_POWERCAP is not set CONFIG_DTPM=y CONFIG_MCB=y # CONFIG_MCB_LPC is not set # # Performance monitor support # # CONFIG_ARM_CCN is not set CONFIG_ARM_CMN=y CONFIG_ARM_PMU=y # CONFIG_FSL_IMX8_DDR_PMU is not set # CONFIG_ARM_DMC620_PMU is not set CONFIG_ALIBABA_UNCORE_DRW_PMU=y CONFIG_MESON_DDR_PMU=y # end of Performance monitor support # CONFIG_RAS is not set # # Android # # end of Android # CONFIG_DAX is not set CONFIG_NVMEM=y CONFIG_NVMEM_SYSFS=y # # Layout Types # # CONFIG_NVMEM_LAYOUT_SL28_VPD is not set CONFIG_NVMEM_LAYOUT_ONIE_TLV=y # end of Layout Types # CONFIG_NVMEM_APPLE_EFUSES is not set CONFIG_NVMEM_BCM_OCOTP=y CONFIG_NVMEM_BRCM_NVRAM=y CONFIG_NVMEM_IMX_IIM=y # CONFIG_NVMEM_IMX_OCOTP is not set # CONFIG_NVMEM_JZ4780_EFUSE is not set # CONFIG_NVMEM_LAN9662_OTPC is not set # CONFIG_NVMEM_LAYERSCAPE_SFP is not set CONFIG_NVMEM_LPC18XX_EEPROM=y CONFIG_NVMEM_LPC18XX_OTP=y # CONFIG_NVMEM_MESON_MX_EFUSE is not set # CONFIG_NVMEM_MICROCHIP_OTPC is not set CONFIG_NVMEM_MTK_EFUSE=y CONFIG_NVMEM_MXS_OCOTP=y CONFIG_NVMEM_NINTENDO_OTP=y # CONFIG_NVMEM_QCOM_QFPROM is not set # CONFIG_NVMEM_RMEM is not set CONFIG_NVMEM_ROCKCHIP_EFUSE=y CONFIG_NVMEM_ROCKCHIP_OTP=y CONFIG_NVMEM_SC27XX_EFUSE=y CONFIG_NVMEM_SNVS_LPGPR=y CONFIG_NVMEM_SPMI_SDAM=y # CONFIG_NVMEM_SPRD_EFUSE is not set CONFIG_NVMEM_STM32_ROMEM=y CONFIG_NVMEM_SUNPLUS_OCOTP=y # CONFIG_NVMEM_UNIPHIER_EFUSE is not set # CONFIG_NVMEM_VF610_OCOTP is not set # # HW tracing support # CONFIG_STM=y CONFIG_STM_PROTO_BASIC=y # CONFIG_STM_PROTO_SYS_T is not set # CONFIG_STM_DUMMY is not set CONFIG_STM_SOURCE_CONSOLE=y CONFIG_STM_SOURCE_HEARTBEAT=y CONFIG_INTEL_TH=y # CONFIG_INTEL_TH_GTH is not set CONFIG_INTEL_TH_STH=y CONFIG_INTEL_TH_MSU=y # CONFIG_INTEL_TH_PTI is not set # CONFIG_INTEL_TH_DEBUG is not set # end of HW tracing support CONFIG_FPGA=y CONFIG_FPGA_MGR_SOCFPGA=y CONFIG_FPGA_MGR_SOCFPGA_A10=y # CONFIG_ALTERA_PR_IP_CORE is not set # CONFIG_FPGA_MGR_ALTERA_PS_SPI is not set # CONFIG_FPGA_MGR_ZYNQ_FPGA is not set CONFIG_FPGA_MGR_XILINX_SPI=y CONFIG_FPGA_MGR_ICE40_SPI=y # CONFIG_FPGA_MGR_MACHXO2_SPI is not set CONFIG_FPGA_BRIDGE=y CONFIG_ALTERA_FREEZE_BRIDGE=y # CONFIG_XILINX_PR_DECOUPLER is not set CONFIG_FPGA_REGION=y # CONFIG_OF_FPGA_REGION is not set CONFIG_FPGA_DFL=y CONFIG_FPGA_DFL_FME=y CONFIG_FPGA_DFL_FME_MGR=y # CONFIG_FPGA_DFL_FME_BRIDGE is not set CONFIG_FPGA_DFL_FME_REGION=y # CONFIG_FPGA_DFL_AFU is not set # CONFIG_FPGA_DFL_NIOS_INTEL_PAC_N3000 is not set # CONFIG_FPGA_MGR_ZYNQMP_FPGA is not set CONFIG_FPGA_MGR_VERSAL_FPGA=y CONFIG_FPGA_M10_BMC_SEC_UPDATE=y CONFIG_FPGA_MGR_MICROCHIP_SPI=y CONFIG_FPGA_MGR_LATTICE_SYSCONFIG=y CONFIG_FPGA_MGR_LATTICE_SYSCONFIG_SPI=y CONFIG_FSI=y CONFIG_FSI_NEW_DEV_NODE=y CONFIG_FSI_MASTER_GPIO=y CONFIG_FSI_MASTER_HUB=y CONFIG_FSI_MASTER_AST_CF=y # CONFIG_FSI_MASTER_ASPEED is not set # CONFIG_FSI_SCOM is not set CONFIG_FSI_SBEFIFO=y CONFIG_FSI_OCC=y # CONFIG_TEE is not set CONFIG_MULTIPLEXER=y # # Multiplexer drivers # # CONFIG_MUX_ADG792A is not set CONFIG_MUX_ADGS1408=y CONFIG_MUX_GPIO=y CONFIG_MUX_MMIO=y # end of Multiplexer drivers CONFIG_PM_OPP=y CONFIG_SIOX=y CONFIG_SIOX_BUS_GPIO=y CONFIG_SLIMBUS=y # CONFIG_SLIM_QCOM_CTRL is not set CONFIG_INTERCONNECT=y CONFIG_INTERCONNECT_IMX=y # CONFIG_INTERCONNECT_IMX8MM is not set CONFIG_INTERCONNECT_IMX8MN=y CONFIG_INTERCONNECT_IMX8MQ=y CONFIG_INTERCONNECT_IMX8MP=y # CONFIG_INTERCONNECT_QCOM_OSM_L3 is not set # CONFIG_INTERCONNECT_SAMSUNG is not set CONFIG_COUNTER=y CONFIG_104_QUAD_8=y CONFIG_FTM_QUADDEC=y # CONFIG_INTERRUPT_CNT is not set # CONFIG_MICROCHIP_TCB_CAPTURE is not set CONFIG_RZ_MTU3_CNT=y # CONFIG_STM32_LPTIMER_CNT is not set CONFIG_STM32_TIMER_CNT=y # CONFIG_TI_ECAP_CAPTURE is not set # CONFIG_TI_EQEP is not set # CONFIG_MOST is not set CONFIG_PECI=y CONFIG_PECI_CPU=y CONFIG_PECI_ASPEED=y # CONFIG_HTE is not set # end of Device Drivers # # File systems # CONFIG_VALIDATE_FS_PARSER=y CONFIG_FS_IOMAP=y CONFIG_LEGACY_DIRECT_IO=y CONFIG_EXT2_FS=y CONFIG_EXT2_FS_XATTR=y # CONFIG_EXT2_FS_POSIX_ACL is not set # CONFIG_EXT2_FS_SECURITY is not set # CONFIG_EXT3_FS is not set CONFIG_EXT4_FS=y # CONFIG_EXT4_FS_POSIX_ACL is not set CONFIG_EXT4_FS_SECURITY=y CONFIG_EXT4_DEBUG=y CONFIG_EXT4_KUNIT_TESTS=y CONFIG_JBD2=y CONFIG_JBD2_DEBUG=y CONFIG_FS_MBCACHE=y CONFIG_REISERFS_FS=y # CONFIG_REISERFS_CHECK is not set # CONFIG_REISERFS_PROC_INFO is not set CONFIG_REISERFS_FS_XATTR=y CONFIG_REISERFS_FS_POSIX_ACL=y CONFIG_REISERFS_FS_SECURITY=y CONFIG_JFS_FS=y # CONFIG_JFS_POSIX_ACL is not set CONFIG_JFS_SECURITY=y CONFIG_JFS_DEBUG=y # CONFIG_JFS_STATISTICS is not set CONFIG_XFS_FS=y # CONFIG_XFS_SUPPORT_V4 is not set CONFIG_XFS_SUPPORT_ASCII_CI=y CONFIG_XFS_QUOTA=y CONFIG_XFS_POSIX_ACL=y # CONFIG_XFS_RT is not set CONFIG_XFS_DRAIN_INTENTS=y CONFIG_XFS_ONLINE_SCRUB=y CONFIG_XFS_ONLINE_REPAIR=y CONFIG_XFS_DEBUG=y # CONFIG_XFS_ASSERT_FATAL is not set CONFIG_GFS2_FS=y CONFIG_BTRFS_FS=y # CONFIG_BTRFS_FS_POSIX_ACL is not set # CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set # CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set CONFIG_BTRFS_DEBUG=y # CONFIG_BTRFS_ASSERT is not set CONFIG_BTRFS_FS_REF_VERIFY=y CONFIG_NILFS2_FS=y CONFIG_F2FS_FS=y # CONFIG_F2FS_STAT_FS is not set CONFIG_F2FS_FS_XATTR=y CONFIG_F2FS_FS_POSIX_ACL=y # CONFIG_F2FS_FS_SECURITY is not set # CONFIG_F2FS_CHECK_FS is not set # CONFIG_F2FS_FAULT_INJECTION is not set # CONFIG_F2FS_FS_COMPRESSION is not set CONFIG_F2FS_IOSTAT=y CONFIG_FS_POSIX_ACL=y CONFIG_EXPORTFS=y # CONFIG_EXPORTFS_BLOCK_OPS is not set CONFIG_FILE_LOCKING=y # CONFIG_FS_ENCRYPTION is not set CONFIG_FS_VERITY=y CONFIG_FS_VERITY_BUILTIN_SIGNATURES=y CONFIG_FSNOTIFY=y # CONFIG_DNOTIFY is not set CONFIG_INOTIFY_USER=y # CONFIG_FANOTIFY is not set # CONFIG_QUOTA is not set CONFIG_QUOTACTL=y CONFIG_AUTOFS4_FS=y CONFIG_AUTOFS_FS=y # CONFIG_FUSE_FS is not set CONFIG_OVERLAY_FS=y CONFIG_OVERLAY_FS_REDIRECT_DIR=y CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y CONFIG_OVERLAY_FS_INDEX=y CONFIG_OVERLAY_FS_METACOPY=y # # Caches # # CONFIG_FSCACHE is not set # end of Caches # # CD-ROM/DVD Filesystems # CONFIG_ISO9660_FS=y # CONFIG_JOLIET is not set CONFIG_ZISOFS=y CONFIG_UDF_FS=y # end of CD-ROM/DVD Filesystems # # DOS/FAT/EXFAT/NT Filesystems # CONFIG_FAT_FS=y CONFIG_MSDOS_FS=y # CONFIG_VFAT_FS is not set CONFIG_FAT_DEFAULT_CODEPAGE=437 CONFIG_FAT_KUNIT_TEST=y CONFIG_EXFAT_FS=y CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8" # CONFIG_NTFS_FS is not set # CONFIG_NTFS3_FS is not set # end of DOS/FAT/EXFAT/NT Filesystems # # Pseudo filesystems # CONFIG_PROC_FS=y CONFIG_PROC_SYSCTL=y CONFIG_PROC_CHILDREN=y CONFIG_KERNFS=y CONFIG_SYSFS=y CONFIG_CONFIGFS_FS=y # end of Pseudo filesystems CONFIG_MISC_FILESYSTEMS=y CONFIG_ORANGEFS_FS=y # CONFIG_ADFS_FS is not set CONFIG_AFFS_FS=y # CONFIG_ECRYPT_FS is not set CONFIG_HFS_FS=y CONFIG_HFSPLUS_FS=y CONFIG_BEFS_FS=y CONFIG_BEFS_DEBUG=y # CONFIG_BFS_FS is not set # CONFIG_EFS_FS is not set CONFIG_CRAMFS=y CONFIG_CRAMFS_BLOCKDEV=y CONFIG_SQUASHFS=y # CONFIG_SQUASHFS_FILE_CACHE is not set CONFIG_SQUASHFS_FILE_DIRECT=y CONFIG_SQUASHFS_DECOMP_SINGLE=y CONFIG_SQUASHFS_DECOMP_MULTI=y CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y CONFIG_SQUASHFS_CHOICE_DECOMP_BY_MOUNT=y CONFIG_SQUASHFS_MOUNT_DECOMP_THREADS=y CONFIG_SQUASHFS_XATTR=y # CONFIG_SQUASHFS_ZLIB is not set CONFIG_SQUASHFS_LZ4=y # CONFIG_SQUASHFS_LZO is not set # CONFIG_SQUASHFS_XZ is not set # CONFIG_SQUASHFS_ZSTD is not set # CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set # CONFIG_SQUASHFS_EMBEDDED is not set CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 CONFIG_VXFS_FS=y CONFIG_MINIX_FS=y # CONFIG_OMFS_FS is not set # CONFIG_HPFS_FS is not set # CONFIG_QNX4FS_FS is not set CONFIG_QNX6FS_FS=y # CONFIG_QNX6FS_DEBUG is not set # CONFIG_ROMFS_FS is not set CONFIG_PSTORE=y CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240 # CONFIG_PSTORE_DEFLATE_COMPRESS is not set CONFIG_PSTORE_LZO_COMPRESS=y CONFIG_PSTORE_LZ4_COMPRESS=y CONFIG_PSTORE_LZ4HC_COMPRESS=y CONFIG_PSTORE_842_COMPRESS=y CONFIG_PSTORE_ZSTD_COMPRESS=y CONFIG_PSTORE_COMPRESS=y # CONFIG_PSTORE_LZO_COMPRESS_DEFAULT is not set CONFIG_PSTORE_LZ4_COMPRESS_DEFAULT=y # CONFIG_PSTORE_LZ4HC_COMPRESS_DEFAULT is not set # CONFIG_PSTORE_842_COMPRESS_DEFAULT is not set # CONFIG_PSTORE_ZSTD_COMPRESS_DEFAULT is not set CONFIG_PSTORE_COMPRESS_DEFAULT="lz4" CONFIG_PSTORE_CONSOLE=y CONFIG_PSTORE_PMSG=y CONFIG_PSTORE_RAM=y CONFIG_PSTORE_ZONE=y CONFIG_PSTORE_BLK=y CONFIG_PSTORE_BLK_BLKDEV="" CONFIG_PSTORE_BLK_KMSG_SIZE=64 CONFIG_PSTORE_BLK_MAX_REASON=2 CONFIG_PSTORE_BLK_PMSG_SIZE=64 CONFIG_PSTORE_BLK_CONSOLE_SIZE=64 CONFIG_SYSV_FS=y CONFIG_UFS_FS=y # CONFIG_UFS_FS_WRITE is not set # CONFIG_UFS_DEBUG is not set CONFIG_EROFS_FS=y CONFIG_EROFS_FS_DEBUG=y CONFIG_EROFS_FS_XATTR=y CONFIG_EROFS_FS_POSIX_ACL=y # CONFIG_EROFS_FS_SECURITY is not set CONFIG_EROFS_FS_ZIP=y CONFIG_EROFS_FS_ZIP_LZMA=y # CONFIG_EROFS_FS_PCPU_KTHREAD is not set CONFIG_NLS=y CONFIG_NLS_DEFAULT="iso8859-1" # CONFIG_NLS_CODEPAGE_437 is not set # CONFIG_NLS_CODEPAGE_737 is not set CONFIG_NLS_CODEPAGE_775=y CONFIG_NLS_CODEPAGE_850=y CONFIG_NLS_CODEPAGE_852=y CONFIG_NLS_CODEPAGE_855=y CONFIG_NLS_CODEPAGE_857=y CONFIG_NLS_CODEPAGE_860=y CONFIG_NLS_CODEPAGE_861=y CONFIG_NLS_CODEPAGE_862=y # CONFIG_NLS_CODEPAGE_863 is not set CONFIG_NLS_CODEPAGE_864=y CONFIG_NLS_CODEPAGE_865=y # CONFIG_NLS_CODEPAGE_866 is not set CONFIG_NLS_CODEPAGE_869=y # CONFIG_NLS_CODEPAGE_936 is not set CONFIG_NLS_CODEPAGE_950=y CONFIG_NLS_CODEPAGE_932=y # CONFIG_NLS_CODEPAGE_949 is not set CONFIG_NLS_CODEPAGE_874=y CONFIG_NLS_ISO8859_8=y CONFIG_NLS_CODEPAGE_1250=y CONFIG_NLS_CODEPAGE_1251=y CONFIG_NLS_ASCII=y CONFIG_NLS_ISO8859_1=y CONFIG_NLS_ISO8859_2=y # CONFIG_NLS_ISO8859_3 is not set CONFIG_NLS_ISO8859_4=y # CONFIG_NLS_ISO8859_5 is not set CONFIG_NLS_ISO8859_6=y # CONFIG_NLS_ISO8859_7 is not set CONFIG_NLS_ISO8859_9=y CONFIG_NLS_ISO8859_13=y # CONFIG_NLS_ISO8859_14 is not set # CONFIG_NLS_ISO8859_15 is not set CONFIG_NLS_KOI8_R=y CONFIG_NLS_KOI8_U=y # CONFIG_NLS_MAC_ROMAN is not set # CONFIG_NLS_MAC_CELTIC is not set CONFIG_NLS_MAC_CENTEURO=y # CONFIG_NLS_MAC_CROATIAN is not set # CONFIG_NLS_MAC_CYRILLIC is not set # CONFIG_NLS_MAC_GAELIC is not set CONFIG_NLS_MAC_GREEK=y CONFIG_NLS_MAC_ICELAND=y CONFIG_NLS_MAC_INUIT=y CONFIG_NLS_MAC_ROMANIAN=y # CONFIG_NLS_MAC_TURKISH is not set CONFIG_NLS_UTF8=y CONFIG_UNICODE=y CONFIG_UNICODE_NORMALIZATION_SELFTEST=y CONFIG_IO_WQ=y # end of File systems # # Security options # CONFIG_KEYS=y # CONFIG_KEYS_REQUEST_CACHE is not set # CONFIG_PERSISTENT_KEYRINGS is not set CONFIG_TRUSTED_KEYS=y # CONFIG_TRUSTED_KEYS_TPM is not set # # No trust source selected! # CONFIG_ENCRYPTED_KEYS=y # CONFIG_USER_DECRYPTED_DATA is not set CONFIG_KEY_DH_OPERATIONS=y # CONFIG_KEY_NOTIFICATIONS is not set CONFIG_SECURITY_DMESG_RESTRICT=y CONFIG_SECURITY=y CONFIG_SECURITYFS=y CONFIG_SECURITY_NETWORK=y CONFIG_SECURITY_PATH=y CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y # CONFIG_HARDENED_USERCOPY is not set # CONFIG_FORTIFY_SOURCE is not set CONFIG_STATIC_USERMODEHELPER=y CONFIG_STATIC_USERMODEHELPER_PATH="/sbin/usermode-helper" # CONFIG_SECURITY_LOADPIN is not set # CONFIG_SECURITY_YAMA is not set CONFIG_SECURITY_SAFESETID=y CONFIG_SECURITY_LOCKDOWN_LSM=y CONFIG_SECURITY_LOCKDOWN_LSM_EARLY=y CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE=y # CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY is not set # CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY is not set CONFIG_SECURITY_LANDLOCK=y # CONFIG_INTEGRITY is not set CONFIG_DEFAULT_SECURITY_DAC=y CONFIG_LSM="landlock,lockdown,yama,loadpin,safesetid,bpf" # # Kernel hardening options # # # Memory initialization # CONFIG_CC_HAS_AUTO_VAR_INIT_PATTERN=y CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO_BARE=y CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y # CONFIG_INIT_STACK_NONE is not set CONFIG_INIT_STACK_ALL_PATTERN=y # CONFIG_INIT_STACK_ALL_ZERO is not set CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y CONFIG_INIT_ON_FREE_DEFAULT_ON=y # end of Memory initialization CONFIG_CC_HAS_RANDSTRUCT=y # CONFIG_RANDSTRUCT_NONE is not set CONFIG_RANDSTRUCT_FULL=y CONFIG_RANDSTRUCT=y # end of Kernel hardening options # end of Security options CONFIG_XOR_BLOCKS=y CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y CONFIG_CRYPTO=y # # Crypto core or helper # CONFIG_CRYPTO_ALGAPI=y CONFIG_CRYPTO_ALGAPI2=y CONFIG_CRYPTO_AEAD=y CONFIG_CRYPTO_AEAD2=y CONFIG_CRYPTO_SKCIPHER=y CONFIG_CRYPTO_SKCIPHER2=y CONFIG_CRYPTO_HASH=y CONFIG_CRYPTO_HASH2=y CONFIG_CRYPTO_RNG=y CONFIG_CRYPTO_RNG2=y CONFIG_CRYPTO_RNG_DEFAULT=y CONFIG_CRYPTO_AKCIPHER2=y CONFIG_CRYPTO_AKCIPHER=y CONFIG_CRYPTO_KPP2=y CONFIG_CRYPTO_KPP=y CONFIG_CRYPTO_ACOMP2=y CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MANAGER2=y CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y CONFIG_CRYPTO_NULL=y CONFIG_CRYPTO_NULL2=y CONFIG_CRYPTO_CRYPTD=y CONFIG_CRYPTO_AUTHENC=y # end of Crypto core or helper # # Public-key cryptography # CONFIG_CRYPTO_RSA=y CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_DH_RFC7919_GROUPS=y CONFIG_CRYPTO_ECC=y # CONFIG_CRYPTO_ECDH is not set CONFIG_CRYPTO_ECDSA=y # CONFIG_CRYPTO_ECRDSA is not set CONFIG_CRYPTO_SM2=y # CONFIG_CRYPTO_CURVE25519 is not set # end of Public-key cryptography # # Block ciphers # CONFIG_CRYPTO_AES=y # CONFIG_CRYPTO_AES_TI is not set CONFIG_CRYPTO_ARIA=y CONFIG_CRYPTO_BLOWFISH=y CONFIG_CRYPTO_BLOWFISH_COMMON=y CONFIG_CRYPTO_CAMELLIA=y # CONFIG_CRYPTO_CAST5 is not set # CONFIG_CRYPTO_CAST6 is not set CONFIG_CRYPTO_DES=y CONFIG_CRYPTO_FCRYPT=y CONFIG_CRYPTO_SERPENT=y CONFIG_CRYPTO_SM4=y CONFIG_CRYPTO_SM4_GENERIC=y CONFIG_CRYPTO_TWOFISH=y CONFIG_CRYPTO_TWOFISH_COMMON=y # end of Block ciphers # # Length-preserving ciphers and modes # CONFIG_CRYPTO_ADIANTUM=y CONFIG_CRYPTO_CHACHA20=y CONFIG_CRYPTO_CBC=y # CONFIG_CRYPTO_CFB is not set CONFIG_CRYPTO_CTR=y # CONFIG_CRYPTO_CTS is not set CONFIG_CRYPTO_ECB=y CONFIG_CRYPTO_HCTR2=y CONFIG_CRYPTO_KEYWRAP=y CONFIG_CRYPTO_LRW=y CONFIG_CRYPTO_OFB=y CONFIG_CRYPTO_PCBC=y CONFIG_CRYPTO_XCTR=y # CONFIG_CRYPTO_XTS is not set CONFIG_CRYPTO_NHPOLY1305=y # end of Length-preserving ciphers and modes # # AEAD (authenticated encryption with associated data) ciphers # # CONFIG_CRYPTO_AEGIS128 is not set CONFIG_CRYPTO_CHACHA20POLY1305=y CONFIG_CRYPTO_CCM=y CONFIG_CRYPTO_GCM=y CONFIG_CRYPTO_SEQIV=y CONFIG_CRYPTO_ECHAINIV=y CONFIG_CRYPTO_ESSIV=y # end of AEAD (authenticated encryption with associated data) ciphers # # Hashes, digests, and MACs # CONFIG_CRYPTO_BLAKE2B=y CONFIG_CRYPTO_CMAC=y CONFIG_CRYPTO_GHASH=y CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_MD4=y CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_MICHAEL_MIC=y CONFIG_CRYPTO_POLYVAL=y CONFIG_CRYPTO_POLY1305=y # CONFIG_CRYPTO_RMD160 is not set CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_SHA512=y # CONFIG_CRYPTO_SHA3 is not set CONFIG_CRYPTO_SM3=y CONFIG_CRYPTO_SM3_GENERIC=y CONFIG_CRYPTO_STREEBOG=y CONFIG_CRYPTO_VMAC=y CONFIG_CRYPTO_WP512=y CONFIG_CRYPTO_XCBC=y CONFIG_CRYPTO_XXHASH=y # end of Hashes, digests, and MACs # # CRCs (cyclic redundancy checks) # CONFIG_CRYPTO_CRC32C=y CONFIG_CRYPTO_CRC32=y CONFIG_CRYPTO_CRCT10DIF=y CONFIG_CRYPTO_CRC64_ROCKSOFT=y # end of CRCs (cyclic redundancy checks) # # Compression # CONFIG_CRYPTO_DEFLATE=y CONFIG_CRYPTO_LZO=y CONFIG_CRYPTO_842=y CONFIG_CRYPTO_LZ4=y CONFIG_CRYPTO_LZ4HC=y CONFIG_CRYPTO_ZSTD=y # end of Compression # # Random number generation # CONFIG_CRYPTO_ANSI_CPRNG=y CONFIG_CRYPTO_DRBG_MENU=y CONFIG_CRYPTO_DRBG_HMAC=y # CONFIG_CRYPTO_DRBG_HASH is not set # CONFIG_CRYPTO_DRBG_CTR is not set CONFIG_CRYPTO_DRBG=y CONFIG_CRYPTO_JITTERENTROPY=y CONFIG_CRYPTO_KDF800108_CTR=y # end of Random number generation # # Userspace interface # # end of Userspace interface CONFIG_CRYPTO_HASH_INFO=y # # Accelerated Cryptographic Algorithms for CPU (arm) # CONFIG_CRYPTO_POLY1305_ARM=y # CONFIG_CRYPTO_BLAKE2S_ARM is not set CONFIG_CRYPTO_SHA1_ARM=y # CONFIG_CRYPTO_AES_ARM is not set CONFIG_CRYPTO_CHACHA20_NEON=y # end of Accelerated Cryptographic Algorithms for CPU (arm) # CONFIG_CRYPTO_HW is not set CONFIG_ASYMMETRIC_KEY_TYPE=y CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y CONFIG_X509_CERTIFICATE_PARSER=y CONFIG_PKCS8_PRIVATE_KEY_PARSER=y CONFIG_PKCS7_MESSAGE_PARSER=y # CONFIG_PKCS7_TEST_KEY is not set # CONFIG_SIGNED_PE_FILE_VERIFICATION is not set # CONFIG_FIPS_SIGNATURE_SELFTEST is not set # # Certificates for signature checking # CONFIG_SYSTEM_TRUSTED_KEYRING=y CONFIG_SYSTEM_TRUSTED_KEYS="" CONFIG_SYSTEM_EXTRA_CERTIFICATE=y CONFIG_SYSTEM_EXTRA_CERTIFICATE_SIZE=4096 CONFIG_SECONDARY_TRUSTED_KEYRING=y # CONFIG_SYSTEM_BLACKLIST_KEYRING is not set # end of Certificates for signature checking CONFIG_BINARY_PRINTF=y # # Library routines # CONFIG_RAID6_PQ=y CONFIG_RAID6_PQ_BENCHMARK=y CONFIG_LINEAR_RANGES=y # CONFIG_PACKING is not set CONFIG_BITREVERSE=y CONFIG_HAVE_ARCH_BITREVERSE=y CONFIG_GENERIC_STRNCPY_FROM_USER=y CONFIG_GENERIC_STRNLEN_USER=y CONFIG_CORDIC=y CONFIG_PRIME_NUMBERS=y CONFIG_RATIONAL=y CONFIG_GENERIC_PCI_IOMAP=y CONFIG_STMP_DEVICE=y CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y # # Crypto library routines # CONFIG_CRYPTO_LIB_UTILS=y CONFIG_CRYPTO_LIB_AES=y CONFIG_CRYPTO_LIB_GF128MUL=y CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=y CONFIG_CRYPTO_LIB_CHACHA_GENERIC=y CONFIG_CRYPTO_LIB_CHACHA=y CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=y CONFIG_CRYPTO_LIB_CURVE25519=y CONFIG_CRYPTO_LIB_DES=y CONFIG_CRYPTO_LIB_POLY1305_RSIZE=9 CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=y CONFIG_CRYPTO_LIB_POLY1305_GENERIC=y CONFIG_CRYPTO_LIB_POLY1305=y CONFIG_CRYPTO_LIB_CHACHA20POLY1305=y CONFIG_CRYPTO_LIB_SHA1=y CONFIG_CRYPTO_LIB_SHA256=y # end of Crypto library routines CONFIG_CRC_CCITT=y CONFIG_CRC16=y CONFIG_CRC_T10DIF=y CONFIG_CRC64_ROCKSOFT=y CONFIG_CRC_ITU_T=y CONFIG_CRC32=y # CONFIG_CRC32_SELFTEST is not set # CONFIG_CRC32_SLICEBY8 is not set # CONFIG_CRC32_SLICEBY4 is not set # CONFIG_CRC32_SARWATE is not set CONFIG_CRC32_BIT=y CONFIG_CRC64=y CONFIG_CRC4=y CONFIG_CRC7=y CONFIG_LIBCRC32C=y CONFIG_CRC8=y CONFIG_XXHASH=y CONFIG_RANDOM32_SELFTEST=y CONFIG_842_COMPRESS=y CONFIG_842_DECOMPRESS=y CONFIG_ZLIB_INFLATE=y CONFIG_ZLIB_DEFLATE=y CONFIG_LZO_COMPRESS=y CONFIG_LZO_DECOMPRESS=y CONFIG_LZ4_COMPRESS=y CONFIG_LZ4HC_COMPRESS=y CONFIG_LZ4_DECOMPRESS=y CONFIG_ZSTD_COMMON=y CONFIG_ZSTD_COMPRESS=y CONFIG_ZSTD_DECOMPRESS=y CONFIG_XZ_DEC=y CONFIG_XZ_DEC_X86=y CONFIG_XZ_DEC_POWERPC=y CONFIG_XZ_DEC_IA64=y CONFIG_XZ_DEC_ARM=y CONFIG_XZ_DEC_ARMTHUMB=y CONFIG_XZ_DEC_SPARC=y CONFIG_XZ_DEC_MICROLZMA=y CONFIG_XZ_DEC_BCJ=y CONFIG_XZ_DEC_TEST=y CONFIG_DECOMPRESS_BZIP2=y CONFIG_DECOMPRESS_LZMA=y CONFIG_DECOMPRESS_XZ=y CONFIG_DECOMPRESS_LZO=y CONFIG_DECOMPRESS_LZ4=y CONFIG_DECOMPRESS_ZSTD=y CONFIG_GENERIC_ALLOCATOR=y CONFIG_REED_SOLOMON=y CONFIG_REED_SOLOMON_ENC8=y CONFIG_REED_SOLOMON_DEC8=y CONFIG_REED_SOLOMON_ENC16=y CONFIG_REED_SOLOMON_DEC16=y CONFIG_INTERVAL_TREE=y CONFIG_ASSOCIATIVE_ARRAY=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT=y CONFIG_HAS_DMA=y CONFIG_DMA_OPS=y CONFIG_NEED_DMA_MAP_STATE=y CONFIG_ARCH_HAS_DMA_WRITE_COMBINE=y CONFIG_DMA_DECLARE_COHERENT=y CONFIG_ARCH_HAS_SETUP_DMA_OPS=y CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE=y CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU=y CONFIG_DMA_NONCOHERENT_MMAP=y CONFIG_DMA_GLOBAL_POOL=y # CONFIG_DMA_API_DEBUG is not set # CONFIG_DMA_MAP_BENCHMARK is not set CONFIG_SGL_ALLOC=y CONFIG_GLOB=y # CONFIG_GLOB_SELFTEST is not set CONFIG_GENERIC_ATOMIC64=y CONFIG_CLZ_TAB=y # CONFIG_IRQ_POLL is not set CONFIG_MPILIB=y CONFIG_LIBFDT=y CONFIG_OID_REGISTRY=y CONFIG_FONT_SUPPORT=y CONFIG_FONT_8x16=y CONFIG_FONT_AUTOSELECT=y CONFIG_SG_POOL=y CONFIG_ARCH_STACKWALK=y CONFIG_STACKDEPOT=y CONFIG_STACKDEPOT_ALWAYS_INIT=y CONFIG_REF_TRACKER=y CONFIG_SBITMAP=y CONFIG_PARMAN=y CONFIG_OBJAGG=y # end of Library routines CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y CONFIG_POLYNOMIAL=y # # Kernel hacking # # # printk and dmesg options # CONFIG_PRINTK_TIME=y CONFIG_PRINTK_CALLER=y # CONFIG_STACKTRACE_BUILD_ID is not set CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7 CONFIG_CONSOLE_LOGLEVEL_QUIET=4 CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 # CONFIG_BOOT_PRINTK_DELAY is not set # CONFIG_DYNAMIC_DEBUG is not set CONFIG_DYNAMIC_DEBUG_CORE=y # CONFIG_SYMBOLIC_ERRNAME is not set CONFIG_DEBUG_BUGVERBOSE=y # end of printk and dmesg options CONFIG_DEBUG_KERNEL=y # CONFIG_DEBUG_MISC is not set # # Compile-time checks and compiler options # CONFIG_DEBUG_INFO=y CONFIG_AS_HAS_NON_CONST_LEB128=y # CONFIG_DEBUG_INFO_NONE is not set # CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is not set # CONFIG_DEBUG_INFO_DWARF4 is not set CONFIG_DEBUG_INFO_DWARF5=y CONFIG_DEBUG_INFO_REDUCED=y CONFIG_DEBUG_INFO_COMPRESSED_NONE=y # CONFIG_DEBUG_INFO_COMPRESSED_ZLIB is not set # CONFIG_DEBUG_INFO_SPLIT is not set CONFIG_PAHOLE_HAS_SPLIT_BTF=y CONFIG_PAHOLE_HAS_BTF_TAG=y CONFIG_PAHOLE_HAS_LANG_EXCLUDE=y CONFIG_GDB_SCRIPTS=y CONFIG_FRAME_WARN=1024 CONFIG_STRIP_ASM_SYMS=y # CONFIG_HEADERS_INSTALL is not set CONFIG_SECTION_MISMATCH_WARN_ONLY=y CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y # end of Compile-time checks and compiler options # # Generic Kernel Debugging Instruments # CONFIG_MAGIC_SYSRQ=y CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 CONFIG_MAGIC_SYSRQ_SERIAL=y CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE="" CONFIG_DEBUG_FS=y # CONFIG_DEBUG_FS_ALLOW_ALL is not set # CONFIG_DEBUG_FS_DISALLOW_MOUNT is not set CONFIG_DEBUG_FS_ALLOW_NONE=y CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y # CONFIG_UBSAN is not set # end of Generic Kernel Debugging Instruments # # Networking Debugging # # end of Networking Debugging # # Memory Debugging # CONFIG_PAGE_EXTENSION=y # CONFIG_DEBUG_PAGEALLOC is not set CONFIG_SLUB_DEBUG=y CONFIG_SLUB_DEBUG_ON=y # CONFIG_PAGE_OWNER is not set # CONFIG_PAGE_POISONING is not set CONFIG_HAVE_DEBUG_KMEMLEAK=y # CONFIG_DEBUG_KMEMLEAK is not set CONFIG_DEBUG_OBJECTS=y CONFIG_DEBUG_OBJECTS_SELFTEST=y CONFIG_DEBUG_OBJECTS_FREE=y # CONFIG_DEBUG_OBJECTS_TIMERS is not set CONFIG_DEBUG_OBJECTS_WORK=y # CONFIG_DEBUG_OBJECTS_RCU_HEAD is not set # CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER is not set CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1 CONFIG_SHRINKER_DEBUG=y CONFIG_DEBUG_STACK_USAGE=y CONFIG_SCHED_STACK_END_CHECK=y # CONFIG_DEBUG_VM is not set CONFIG_DEBUG_NOMMU_REGIONS=y CONFIG_DEBUG_MEMORY_INIT=y CONFIG_CC_HAS_KASAN_GENERIC=y CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y # end of Memory Debugging CONFIG_DEBUG_SHIRQ=y # # Debug Oops, Lockups and Hangs # # CONFIG_PANIC_ON_OOPS is not set CONFIG_PANIC_ON_OOPS_VALUE=0 CONFIG_PANIC_TIMEOUT=0 CONFIG_LOCKUP_DETECTOR=y CONFIG_SOFTLOCKUP_DETECTOR=y CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y CONFIG_DETECT_HUNG_TASK=y CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set CONFIG_WQ_WATCHDOG=y # end of Debug Oops, Lockups and Hangs # # Scheduler Debugging # # CONFIG_SCHED_DEBUG is not set CONFIG_SCHED_INFO=y CONFIG_SCHEDSTATS=y # end of Scheduler Debugging # CONFIG_DEBUG_TIMEKEEPING is not set # # Lock Debugging (spinlocks, mutexes, etc...) # # CONFIG_DEBUG_RT_MUTEXES is not set CONFIG_DEBUG_SPINLOCK=y # CONFIG_DEBUG_MUTEXES is not set # CONFIG_DEBUG_RWSEMS is not set CONFIG_DEBUG_ATOMIC_SLEEP=y # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set # CONFIG_LOCK_TORTURE_TEST is not set CONFIG_WW_MUTEX_SELFTEST=y CONFIG_SCF_TORTURE_TEST=y # end of Lock Debugging (spinlocks, mutexes, etc...) CONFIG_DEBUG_IRQFLAGS=y CONFIG_STACKTRACE=y CONFIG_WARN_ALL_UNSEEDED_RANDOM=y CONFIG_DEBUG_KOBJECT=y # # Debug kernel data structures # # CONFIG_DEBUG_LIST is not set CONFIG_DEBUG_PLIST=y CONFIG_DEBUG_SG=y # CONFIG_DEBUG_NOTIFIERS is not set # CONFIG_BUG_ON_DATA_CORRUPTION is not set CONFIG_DEBUG_MAPLE_TREE=y # end of Debug kernel data structures # CONFIG_DEBUG_CREDENTIALS is not set # # RCU Debugging # CONFIG_TORTURE_TEST=y # CONFIG_RCU_SCALE_TEST is not set CONFIG_RCU_TORTURE_TEST=y # CONFIG_RCU_REF_SCALE_TEST is not set CONFIG_RCU_TRACE=y # CONFIG_RCU_EQS_DEBUG is not set # end of RCU Debugging CONFIG_DEBUG_WQ_FORCE_RR_CPU=y CONFIG_LATENCYTOP=y CONFIG_HAVE_FUNCTION_TRACER=y CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y CONFIG_HAVE_SYSCALL_TRACEPOINTS=y CONFIG_HAVE_C_RECORDMCOUNT=y CONFIG_HAVE_BUILDTIME_MCOUNT_SORT=y CONFIG_TRACE_CLOCK=y # CONFIG_SAMPLES is not set # # arm Debugging # CONFIG_UNWINDER_ARM=y CONFIG_ARM_UNWIND=y CONFIG_DEBUG_USER=y # CONFIG_DEBUG_LL is not set CONFIG_DEBUG_VF_UART_PORT=1 CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" CONFIG_CORESIGHT=y CONFIG_CORESIGHT_LINKS_AND_SINKS=y # CONFIG_CORESIGHT_LINK_AND_SINK_TMC is not set # CONFIG_CORESIGHT_SINK_TPIU is not set CONFIG_CORESIGHT_SINK_ETBV10=y # CONFIG_CORESIGHT_SOURCE_ETM3X is not set CONFIG_CORESIGHT_STM=y # CONFIG_CORESIGHT_CPU_DEBUG is not set CONFIG_CORESIGHT_CTI=y CONFIG_CORESIGHT_CTI_INTEGRATION_REGS=y # CONFIG_CORESIGHT_TPDM is not set CONFIG_CORESIGHT_TPDA=y # end of arm Debugging # # Kernel Testing and Coverage # CONFIG_KUNIT=y CONFIG_KUNIT_DEBUGFS=y CONFIG_KUNIT_TEST=y CONFIG_KUNIT_EXAMPLE_TEST=y CONFIG_KUNIT_ALL_TESTS=y # CONFIG_KUNIT_DEFAULT_ENABLED is not set # CONFIG_NOTIFIER_ERROR_INJECTION is not set CONFIG_FAULT_INJECTION=y # CONFIG_FAILSLAB is not set # CONFIG_FAIL_PAGE_ALLOC is not set CONFIG_FAULT_INJECTION_USERCOPY=y CONFIG_FAIL_MAKE_REQUEST=y CONFIG_FAIL_IO_TIMEOUT=y CONFIG_FAIL_FUTEX=y # CONFIG_FAULT_INJECTION_DEBUG_FS is not set # CONFIG_FAULT_INJECTION_CONFIGFS is not set CONFIG_ARCH_HAS_KCOV=y CONFIG_CC_HAS_SANCOV_TRACE_PC=y # CONFIG_KCOV is not set CONFIG_RUNTIME_TESTING_MENU=y CONFIG_TEST_DHRY=y CONFIG_LKDTM=y CONFIG_CPUMASK_KUNIT_TEST=y CONFIG_TEST_LIST_SORT=y CONFIG_TEST_MIN_HEAP=y CONFIG_TEST_SORT=y CONFIG_TEST_DIV64=y # CONFIG_BACKTRACE_SELF_TEST is not set CONFIG_TEST_REF_TRACKER=y CONFIG_RBTREE_TEST=y CONFIG_REED_SOLOMON_TEST=y CONFIG_INTERVAL_TREE_TEST=y CONFIG_ATOMIC64_SELFTEST=y # CONFIG_TEST_HEXDUMP is not set CONFIG_STRING_SELFTEST=y # CONFIG_TEST_STRING_HELPERS is not set # CONFIG_TEST_KSTRTOX is not set # CONFIG_TEST_PRINTF is not set CONFIG_TEST_SCANF=y CONFIG_TEST_BITMAP=y CONFIG_TEST_UUID=y # CONFIG_TEST_XARRAY is not set CONFIG_TEST_MAPLE_TREE=y CONFIG_TEST_RHASHTABLE=y CONFIG_TEST_IDA=y CONFIG_TEST_PARMAN=y # CONFIG_FIND_BIT_BENCHMARK is not set # CONFIG_TEST_FIRMWARE is not set # CONFIG_TEST_SYSCTL is not set CONFIG_BITFIELD_KUNIT=y CONFIG_HASH_KUNIT_TEST=y CONFIG_RESOURCE_KUNIT_TEST=y CONFIG_SYSCTL_KUNIT_TEST=y CONFIG_LIST_KUNIT_TEST=y CONFIG_HASHTABLE_KUNIT_TEST=y CONFIG_LINEAR_RANGES_TEST=y CONFIG_CMDLINE_KUNIT_TEST=y CONFIG_BITS_TEST=y CONFIG_SLUB_KUNIT_TEST=y CONFIG_RATIONAL_KUNIT_TEST=y CONFIG_MEMCPY_KUNIT_TEST=y # CONFIG_MEMCPY_SLOW_KUNIT_TEST is not set CONFIG_IS_SIGNED_TYPE_KUNIT_TEST=y CONFIG_OVERFLOW_KUNIT_TEST=y CONFIG_STACKINIT_KUNIT_TEST=y CONFIG_STRSCPY_KUNIT_TEST=y CONFIG_SIPHASH_KUNIT_TEST=y # CONFIG_TEST_UDELAY is not set # CONFIG_TEST_MEMCAT_P is not set CONFIG_TEST_OBJAGG=y CONFIG_TEST_MEMINIT=y # CONFIG_TEST_FREE_PAGES is not set CONFIG_ARCH_USE_MEMTEST=y # CONFIG_MEMTEST is not set # end of Kernel Testing and Coverage # # Rust hacking # # end of Rust hacking # end of Kernel hacking # # Documentation # # CONFIG_WARN_MISSING_DOCUMENTS is not set # CONFIG_WARN_ABI_ERRORS is not set # end of Documentation ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [PATCH v11 2/2] spi: loongson: add bus driver for the loongson spi controller 2023-05-24 12:07 ` kernel test robot @ 2023-05-25 2:26 ` zhuyinbo 0 siblings, 0 replies; 29+ messages in thread From: zhuyinbo @ 2023-05-25 2:26 UTC (permalink / raw) To: kernel test robot; +Cc: llvm, oe-kbuild-all, zhuyinbo 在 2023/5/24 下午8:07, kernel test robot 写道: > Hi Yinbo, > > kernel test robot noticed the following build warnings: > > [auto build test WARNING on broonie-spi/for-next] > [also build test WARNING on robh/for-next krzk-dt/for-next] > [cannot apply to linus/master v6.4-rc3 next-20230524] > [If your patch is applied to the wrong git tree, kindly drop us a note. > And when submitting patch, we suggest to use '--base' as documented in > https://git-scm.com/docs/git-format-patch#_base_tree_information] > > url: https://github.com/intel-lab-lkp/linux/commits/Yinbo-Zhu/dt-bindings-spi-add-loongson-spi/20230522-151320 > base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next > patch link: https://lore.kernel.org/r/20230522071030.5193-3-zhuyinbo%40loongson.cn > patch subject: [PATCH v11 2/2] spi: loongson: add bus driver for the loongson spi controller > config: arm-randconfig-r005-20230524 > compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project 4faf3aaf28226a4e950c103a14f6fc1d1fdabb1b) > reproduce (this is a W=1 build): > mkdir -p ~/bin > wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross > chmod +x ~/bin/make.cross > # install arm cross compiling tool for clang build > # apt-get install binutils-arm-linux-gnueabi > # https://github.com/intel-lab-lkp/linux/commit/5be581a056498d3c9b4265dd4f3a3925b7f6b339 > git remote add linux-review https://github.com/intel-lab-lkp/linux > git fetch --no-tags linux-review Yinbo-Zhu/dt-bindings-spi-add-loongson-spi/20230522-151320 > git checkout 5be581a056498d3c9b4265dd4f3a3925b7f6b339 > # save the config file > mkdir build_dir && cp config build_dir/.config > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang ~/bin/make.cross W=1 O=build_dir ARCH=arm olddefconfig > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang ~/bin/make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash drivers/spi/ > > If you fix the issue, kindly add following tag where applicable > | Reported-by: kernel test robot <lkp@intel.com> > | Closes: https://lore.kernel.org/oe-kbuild-all/202305241914.oPbPV8Lz-lkp@intel.com/ > > All warnings (new ones prefixed by >>): > >>> drivers/spi/spi-loongson-core.c:80:6: warning: variable 'hz' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized] > if (t) > ^ > drivers/spi/spi-loongson-core.c:83:6: note: uninitialized use occurs here > if (hz && loongson_spi->hz != hz) > ^~ > drivers/spi/spi-loongson-core.c:80:2: note: remove the 'if' if its condition is always true > if (t) > ^~~~~~ > drivers/spi/spi-loongson-core.c:78:17: note: initialize the variable 'hz' to silence this warning > unsigned int hz; > ^ > = 0 > 1 warning generated. This warning was due to hz uninitialized and I will fix it. Thanks. Yinbo > > > vim +80 drivers/spi/spi-loongson-core.c > > 74 > 75 static int loongson_spi_update_state(struct loongson_spi *loongson_spi, > 76 struct spi_device *spi, struct spi_transfer *t) > 77 { > 78 unsigned int hz; > 79 > > 80 if (t) > 81 hz = t->speed_hz; > 82 > 83 if (hz && loongson_spi->hz != hz) > 84 loongson_spi_set_clk(loongson_spi, hz); > 85 > 86 if ((spi->mode ^ loongson_spi->mode) & SPI_MODE_X_MASK) > 87 loongson_spi_set_mode(loongson_spi, spi); > 88 > 89 return 0; > 90 } > 91 > ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [PATCH v11 0/2] spi: loongson: add bus driver for the loongson spi 2023-05-22 7:10 [PATCH v11 0/2] spi: loongson: add bus driver for the loongson spi Yinbo Zhu 2023-05-22 7:10 ` [PATCH v11 1/2] dt-bindings: spi: add " Yinbo Zhu 2023-05-22 7:10 ` [PATCH v11 2/2] spi: loongson: add bus driver for the loongson spi controller Yinbo Zhu @ 2023-05-22 10:34 ` Mark Brown 2023-05-22 11:44 ` zhuyinbo 2023-07-31 19:57 ` Mark Brown 3 siblings, 1 reply; 29+ messages in thread From: Mark Brown @ 2023-05-22 10:34 UTC (permalink / raw) To: Yinbo Zhu Cc: Rob Herring, Krzysztof Kozlowski, linux-spi, devicetree, linux-kernel, Jianmin Lv, wanghongliang, Liu Peibao, loongson-kernel [-- Attachment #1: Type: text/plain, Size: 356 bytes --] On Mon, May 22, 2023 at 03:10:28PM +0800, Yinbo Zhu wrote: > Loongson platform support spi hardware controller and this series patch > was to add spi driver and binding support. To repeat what I previously asked you *please* send patches against my current tree, this doesn't even apply cleanly against Linus' tree never mind any of the branches in mine. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [PATCH v11 0/2] spi: loongson: add bus driver for the loongson spi 2023-05-22 10:34 ` [PATCH v11 0/2] spi: loongson: add bus driver for the loongson spi Mark Brown @ 2023-05-22 11:44 ` zhuyinbo 2023-05-22 11:56 ` Mark Brown 0 siblings, 1 reply; 29+ messages in thread From: zhuyinbo @ 2023-05-22 11:44 UTC (permalink / raw) To: Mark Brown Cc: Rob Herring, Krzysztof Kozlowski, linux-spi, devicetree, linux-kernel, Jianmin Lv, wanghongliang, Liu Peibao, loongson-kernel, zhuyinbo 在 2023/5/22 下午6:34, Mark Brown 写道: > On Mon, May 22, 2023 at 03:10:28PM +0800, Yinbo Zhu wrote: >> Loongson platform support spi hardware controller and this series patch >> was to add spi driver and binding support. > > To repeat what I previously asked you *please* send patches against my > current tree, this doesn't even apply cleanly against Linus' tree never > mind any of the branches in mine. Hi Mark, I was base on following tree and branch to apply my patch then to send it to upstrem: tree: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git branch: for-next The recently patch was as follows, It seems no issue for patch apply them, Maybe it is the 0/2 patch issue ? this 0/2 patch wasn't a valid patch and it need was skipped. 8f7b91d47211 spi: loongson: add bus driver for the loongson spi controller 193a72146430 dt-bindings: spi: add loongson spi b1f4091a9eff (spi/for-next) Merge remote-tracking branch 'spi/for-6.5' into spi-next 120e1aa2f2e6 (spi/for-6.5) spi: hisi-kunpeng: Fix error checking f2156989bf30 spi: cdns: Add compatible for AMD Pensando Elba SoC Thanks, Yinbo. > ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [PATCH v11 0/2] spi: loongson: add bus driver for the loongson spi 2023-05-22 11:44 ` zhuyinbo @ 2023-05-22 11:56 ` Mark Brown 2023-05-22 13:07 ` zhuyinbo 0 siblings, 1 reply; 29+ messages in thread From: Mark Brown @ 2023-05-22 11:56 UTC (permalink / raw) To: zhuyinbo Cc: Rob Herring, Krzysztof Kozlowski, linux-spi, devicetree, linux-kernel, Jianmin Lv, wanghongliang, Liu Peibao, loongson-kernel [-- Attachment #1: Type: text/plain, Size: 413 bytes --] On Mon, May 22, 2023 at 07:44:49PM +0800, zhuyinbo wrote: > The recently patch was as follows, It seems no issue for patch apply > them, Maybe it is the 0/2 patch issue ? this 0/2 patch wasn't a valid > patch and it need was skipped. What's causing problem is that you patched MAINTAINERS in both patches but also used the wrong subject line for the first patch so I was having to fix it up by hand every time. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [PATCH v11 0/2] spi: loongson: add bus driver for the loongson spi 2023-05-22 11:56 ` Mark Brown @ 2023-05-22 13:07 ` zhuyinbo 2023-05-22 13:10 ` Mark Brown 0 siblings, 1 reply; 29+ messages in thread From: zhuyinbo @ 2023-05-22 13:07 UTC (permalink / raw) To: Mark Brown Cc: Rob Herring, Krzysztof Kozlowski, linux-spi, devicetree, linux-kernel, Jianmin Lv, wanghongliang, Liu Peibao, loongson-kernel, zhuyinbo 在 2023/5/22 下午7:56, Mark Brown 写道: > On Mon, May 22, 2023 at 07:44:49PM +0800, zhuyinbo wrote: > >> The recently patch was as follows, It seems no issue for patch apply >> them, Maybe it is the 0/2 patch issue ? this 0/2 patch wasn't a valid >> patch and it need was skipped. > > What's causing problem is that you patched MAINTAINERS in both patches > but also used the wrong subject line for the first patch so I was having > to fix it up by hand every time. Hi Mark, I learn about what you said that bindings patch and spi driver change a same MAINTAINERS file, but It seems not cause apply fail if the patch series apply in order. I'm sorry, I don't understand the reason why my spi series patch apply failed, then I have a look about your spi ci tree and that what I need to do is just change the title of [1/2] patch like this in next version ? Correcting the title can solve the problem of patch series apply failure in your tree ? actually, I don't reproduce that apply faile issue in your current spi tree and for-next branch. spi: add loongson spi bindings Thanks Yinbo ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [PATCH v11 0/2] spi: loongson: add bus driver for the loongson spi 2023-05-22 13:07 ` zhuyinbo @ 2023-05-22 13:10 ` Mark Brown 2023-05-23 2:08 ` zhuyinbo 0 siblings, 1 reply; 29+ messages in thread From: Mark Brown @ 2023-05-22 13:10 UTC (permalink / raw) To: zhuyinbo Cc: Rob Herring, Krzysztof Kozlowski, linux-spi, devicetree, linux-kernel, Jianmin Lv, wanghongliang, Liu Peibao, loongson-kernel [-- Attachment #1: Type: text/plain, Size: 825 bytes --] On Mon, May 22, 2023 at 09:07:47PM +0800, zhuyinbo wrote: > 在 2023/5/22 下午7:56, Mark Brown 写道: > > What's causing problem is that you patched MAINTAINERS in both patches > > but also used the wrong subject line for the first patch so I was having > > to fix it up by hand every time. > spi series patch apply failed, then I have a look about your spi ci > tree and that what I need to do is just change the title of [1/2] patch > like this in next version ? Correcting the title can solve the problem > of patch series apply failure in your tree ? actually, I don't reproduce > that apply faile issue in your current spi tree and for-next branch. > spi: add loongson spi bindings That's a good title. The patches get reordered in the mailbox when I rewrite the title prior to applying them. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [PATCH v11 0/2] spi: loongson: add bus driver for the loongson spi 2023-05-22 13:10 ` Mark Brown @ 2023-05-23 2:08 ` zhuyinbo 2023-05-23 9:57 ` Mark Brown 0 siblings, 1 reply; 29+ messages in thread From: zhuyinbo @ 2023-05-23 2:08 UTC (permalink / raw) To: Mark Brown Cc: Rob Herring, Krzysztof Kozlowski, linux-spi, devicetree, linux-kernel, Jianmin Lv, wanghongliang, Liu Peibao, loongson-kernel, zhuyinbo 在 2023/5/22 下午9:10, Mark Brown 写道: > On Mon, May 22, 2023 at 09:07:47PM +0800, zhuyinbo wrote: >> 在 2023/5/22 下午7:56, Mark Brown 写道: > >>> What's causing problem is that you patched MAINTAINERS in both patches >>> but also used the wrong subject line for the first patch so I was having >>> to fix it up by hand every time. > >> spi series patch apply failed, then I have a look about your spi ci >> tree and that what I need to do is just change the title of [1/2] patch >> like this in next version ? Correcting the title can solve the problem >> of patch series apply failure in your tree ? actually, I don't reproduce >> that apply faile issue in your current spi tree and for-next branch. > >> spi: add loongson spi bindings > > That's a good title. The patches get reordered in the mailbox when I > rewrite the title prior to applying them. okay, I got it. thanks! and I noticed my v11 patch already exists in your ci tree that contain the title change and I whether need send the v12 that for fix the binding patch title ? Thanks, Yinbo > ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [PATCH v11 0/2] spi: loongson: add bus driver for the loongson spi 2023-05-23 2:08 ` zhuyinbo @ 2023-05-23 9:57 ` Mark Brown 2023-05-23 11:01 ` zhuyinbo 0 siblings, 1 reply; 29+ messages in thread From: Mark Brown @ 2023-05-23 9:57 UTC (permalink / raw) To: zhuyinbo Cc: Rob Herring, Krzysztof Kozlowski, linux-spi, devicetree, linux-kernel, Jianmin Lv, wanghongliang, Liu Peibao, loongson-kernel [-- Attachment #1: Type: text/plain, Size: 266 bytes --] On Tue, May 23, 2023 at 10:08:25AM +0800, zhuyinbo wrote: > okay, I got it. thanks! and I noticed my v11 patch already exists in > your ci tree that contain the title change and I whether need send the > v12 that for fix the binding patch title ? No, it's fine. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [PATCH v11 0/2] spi: loongson: add bus driver for the loongson spi 2023-05-23 9:57 ` Mark Brown @ 2023-05-23 11:01 ` zhuyinbo 0 siblings, 0 replies; 29+ messages in thread From: zhuyinbo @ 2023-05-23 11:01 UTC (permalink / raw) To: Mark Brown Cc: Rob Herring, Krzysztof Kozlowski, linux-spi, devicetree, linux-kernel, Jianmin Lv, wanghongliang, Liu Peibao, loongson-kernel, zhuyinbo 在 2023/5/23 下午5:57, Mark Brown 写道: > On Tue, May 23, 2023 at 10:08:25AM +0800, zhuyinbo wrote: > >> okay, I got it. thanks! and I noticed my v11 patch already exists in >> your ci tree that contain the title change and I whether need send the >> v12 that for fix the binding patch title ? > > No, it's fine. okay, I got it. Thanks. ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [PATCH v11 0/2] spi: loongson: add bus driver for the loongson spi 2023-05-22 7:10 [PATCH v11 0/2] spi: loongson: add bus driver for the loongson spi Yinbo Zhu ` (2 preceding siblings ...) 2023-05-22 10:34 ` [PATCH v11 0/2] spi: loongson: add bus driver for the loongson spi Mark Brown @ 2023-07-31 19:57 ` Mark Brown 3 siblings, 0 replies; 29+ messages in thread From: Mark Brown @ 2023-07-31 19:57 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, linux-spi, devicetree, linux-kernel, Yinbo Zhu Cc: Jianmin Lv, wanghongliang, Liu Peibao, loongson-kernel On Mon, 22 May 2023 15:10:28 +0800, Yinbo Zhu wrote: > Loongson platform support spi hardware controller and this series patch > was to add spi driver and binding support. > > Change in v2: > 1. This [PATCH v2 1/2] dt-bindings patch need depend on clk patch: > https:// > lore.kernel.org/all/20230307115022.12846-1-zhuyinbo@loongson.cn/ > 2. Remove the clock-names in spi yaml file. > 3. Add "loongson,ls7a-spi" compatible in spi yaml file. > 4. Add an || COMPILE_TEST and drop && PCI then add some CONFIG_PCI > macro to limit some pci code. > 5. Make the spi driver top code comment block that use C++ style. > 6. Drop spi->max_speed_hz. > 7. Add a spin_lock for loongson_spi_setup. > 8. Add a timeout and cpu_relax() in loongson_spi_write_read_8bit. > 9. Add spi_transfer_one and drop transfer and rework entire spi > driver that include some necessary changes. > 10. Use module_init replace subsys_initcall. > 11. About PM interface that I don't find any issue so I don't add > any changes. > Change in v3: > 1. This [PATCH v3 1/2] dt-bindings patch need depend on clk patch: > https:// > lore.kernel.org/all/20230323025229.2971-1-zhuyinbo@loongson.cn/ > 2. Drop the unused blank line in loongson,ls-spi.yaml file. > 3. Replace clock minItems with clock maxItems in yaml file. > 4. Separate spi driver into platform module, pci module and core > module. > 5. Replace DIV_ROUND_UP with DIV_ROUND_UP_ULL to fix compile error > "undefined reference to `__aeabi_uldivmod'" and "__udivdi3 undefined" > that reported by test robot. > 6. Remove the spin lock. > 7. Clear the loongson_spi->hz and loongson_spi->mode in setup to fixup > the issue that multiple spi device transfer that maybe cause spi was > be misconfigured. > Change in v4: > 1. This [PATCH v4 1/2] dt-bindings patch need depend on clk patch: > https:// > lore.kernel.org/all/20230323025229.2971-1-zhuyinbo@loongson.cn/ > 2. Add "#include <linux/io.h>" in spi-loongson-core.c for fix the compile > issue which devm_ioremap no declaration. > 3. Add "EXPORT_SYMBOL_GPL(loongson_spi_dev_pm_ops)" in > spi-loongson-core.c for fix the compile issue which > loongson_spi_dev_pm_ops undefined. > Change in v5: > 1. Get rid of the clock patch's dependency and open-code the clock IDs. > 2. Fixup checkpatch issue that by installed ply and gitpython package > locally, but this series of patch's code doesn't have any change. > Change in v6: > 1. Remove the "#include <dt-bindings/clock/loongson,ls2k-clk.h>" in > yaml file. > Change in v7: > 1. Remove the "loongson,ls7a-spi" and change yaml file name as > "loongson,ls2k-spi.yaml". > 2. Use module_pci_driver and module_platform_driver to replace > module_init and module_exit. > 3. Drop ".owner = THIS_MODULE" in spi platform driver. > 4. Add devm_spi_alloc_master devm_spi_register_master to simplify code. > 5. Add pci_disable_device() in loongson_spi_pci_unregister. > Change in v8: > 1. Add reviewed-by information for spi bindings patch. > 2. Fixup the uncorrect spi yaml file path in MAINTAINERS file. > 3. Add spi_master_suspend and spi_master_resume in spi pm function. > Change in v9: > 1. Make spi_master_suspend go first in pm suspend. > Change in v10: > 1. Fix the compile issue about of_node_get and of_get_property no > declaration. > 2. set config SPI_LOONGSON_CORE invisible. > 3. Captial "spi" in commit log and Kconfig file. > 4. Write header files in alphabetical order. > 5. Use clamp_val, GENMASK() and BIT() in spi clock setting. > 6. Optimize clock and mode setting code. > 7. Use readb_poll_timeout in loongson_spi_write_read_8bit. > 8. Remove some useless dmesg print. > 9. Use device_set_node replace of_node_get. > 10. Use dev_err_probe in code. > 11. Use devm_clk_get_optional replace devm_clk_get. > 12. Remove SPI_NO_CS for drop 2k500 non common type spi. > 13. Use pcim_enable_device() and pcim_iomap_regions() in spi pci > driver. > 14. Passing the remapped address in loongson_spi_init_master. > 15. Remove the useless goto flag "err_out". > 16. Use pci vendor id in pci_ids.h. > 17. Use devm_platform_ioremap_resource in spi platform driver. > 18. Remove the useless item in pci_device_id. > 19. Remove the inned comma in of_device_id. > 20. Add some headfile in spi_loongson.h. > 21. Remove the useless extern for loongson_spi_init_master in > spi_loongson.h. > Change in v11: > 1. Use spi_get_chipselect() to replace all spi->chip_select in > spi driver > > [...] Applied to https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next Thanks! [1/2] dt-bindings: spi: add loongson spi (no commit info) [2/2] spi: loongson: add bus driver for the loongson spi controller commit: 6c7a864007b66e60a3f64858a9555efed408b048 All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted. You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed. If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced. Please add any relevant lists and maintainers to the CCs when replying to this mail. Thanks, Mark ^ permalink raw reply [flat|nested] 29+ messages in thread
end of thread, other threads:[~2023-07-31 19:57 UTC | newest]
Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-05-22 7:10 [PATCH v11 0/2] spi: loongson: add bus driver for the loongson spi Yinbo Zhu
2023-05-22 7:10 ` [PATCH v11 1/2] dt-bindings: spi: add " Yinbo Zhu
2023-05-24 8:56 ` Conor Dooley
2023-05-24 9:44 ` zhuyinbo
2023-05-24 10:29 ` Conor Dooley
2023-05-25 2:22 ` zhuyinbo
[not found] ` <2196dd29-93ee-00f7-65b4-ede73aa8ba77@linaro.org>
2023-06-01 9:51 ` zhuyinbo
2023-06-01 15:30 ` Krzysztof Kozlowski
2023-06-02 6:46 ` zhuyinbo
[not found] ` <69d355ff-90e1-09d2-d4ff-0d7dedc8addb@linaro.org>
2023-06-01 11:38 ` zhuyinbo
2023-05-22 7:10 ` [PATCH v11 2/2] spi: loongson: add bus driver for the loongson spi controller Yinbo Zhu
2023-05-23 12:54 ` andy.shevchenko
2023-05-24 7:52 ` zhuyinbo
2023-05-24 8:42 ` Andy Shevchenko
2023-05-24 10:19 ` Mark Brown
2023-05-25 3:34 ` zhuyinbo
2023-05-25 9:16 ` Andy Shevchenko
2023-05-25 9:28 ` zhuyinbo
2023-05-24 12:07 ` kernel test robot
2023-05-25 2:26 ` zhuyinbo
2023-05-22 10:34 ` [PATCH v11 0/2] spi: loongson: add bus driver for the loongson spi Mark Brown
2023-05-22 11:44 ` zhuyinbo
2023-05-22 11:56 ` Mark Brown
2023-05-22 13:07 ` zhuyinbo
2023-05-22 13:10 ` Mark Brown
2023-05-23 2:08 ` zhuyinbo
2023-05-23 9:57 ` Mark Brown
2023-05-23 11:01 ` zhuyinbo
2023-07-31 19:57 ` Mark Brown
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.