diff options
607 files changed, 1639 insertions, 682 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index a8b7bdeaa6..b532d3fe2f 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -276,6 +276,7 @@ config ARCH_ARM64_VIRT select SYS_SUPPORTS_64BIT_KERNEL select ARM_AMBA select BOARD_ARM_VIRT + select HW_HAS_PCI endchoice @@ -307,6 +308,7 @@ source "arch/arm/mach-zynqmp/Kconfig" config BOARD_ARM_VIRT bool select BOARD_ARM_GENERIC_DT + select BOARD_QEMU_VIRT select OF_OVERLAY config BOARD_ARM_GENERIC_DT diff --git a/arch/arm/boards/Makefile b/arch/arm/boards/Makefile index a841053c20..d7460142bb 100644 --- a/arch/arm/boards/Makefile +++ b/arch/arm/boards/Makefile @@ -107,6 +107,7 @@ obj-$(CONFIG_MACH_PM9263) += pm9263/ obj-$(CONFIG_MACH_PM9G45) += pm9g45/ obj-$(CONFIG_MACH_PROTONIC_IMX6) += protonic-imx6/ obj-$(CONFIG_MACH_PROTONIC_IMX8M) += protonic-imx8m/ +obj-$(CONFIG_MACH_PROTONIC_STM32MP1) += protonic-stm32mp1/ obj-$(CONFIG_MACH_QIL_A9260) += qil-a926x/ obj-$(CONFIG_MACH_QIL_A9G20) += qil-a926x/ obj-$(CONFIG_MACH_RADXA_ROCK) += radxa-rock/ @@ -166,7 +167,6 @@ obj-$(CONFIG_MACH_ZEDBOARD) += avnet-zedboard/ obj-$(CONFIG_MACH_ZYLONITE) += zylonite/ obj-$(CONFIG_MACH_VARISCITE_MX6) += variscite-mx6/ obj-$(CONFIG_MACH_VSCOM_BALTOS) += vscom-baltos/ -obj-$(CONFIG_BOARD_ARM_VIRT) += qemu-virt/ obj-$(CONFIG_MACH_WARP7) += element14-warp7/ obj-$(CONFIG_MACH_WEBASTO_CCBV2) += webasto-ccbv2/ obj-$(CONFIG_MACH_VF610_TWR) += freescale-vf610-twr/ diff --git a/arch/arm/boards/protonic-stm32mp1/Makefile b/arch/arm/boards/protonic-stm32mp1/Makefile new file mode 100644 index 0000000000..092c31d6b2 --- /dev/null +++ b/arch/arm/boards/protonic-stm32mp1/Makefile @@ -0,0 +1,2 @@ +lwl-y += lowlevel.o +obj-y += board.o diff --git a/arch/arm/boards/protonic-stm32mp1/board.c b/arch/arm/boards/protonic-stm32mp1/board.c new file mode 100644 index 0000000000..84a3d8eabc --- /dev/null +++ b/arch/arm/boards/protonic-stm32mp1/board.c @@ -0,0 +1,127 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +// SPDX-FileCopyrightText: 2021 David Jander, Protonic Holland +// SPDX-FileCopyrightText: 2021 Oleksij Rempel, Pengutronix + +#include <bootsource.h> +#include <common.h> +#include <init.h> +#include <mach/bbu.h> +#include <of_device.h> + +/* board specific flags */ +#define PRT_STM32_BOOTSRC_SD BIT(2) +#define PRT_STM32_BOOTSRC_EMMC BIT(1) +#define PRT_STM32_BOOTSRC_SPI_NOR BIT(0) + +struct prt_stm32_machine_data { + u32 flags; +}; + +struct prt_stm32_boot_dev { + char *name; + char *env; + char *dev; + int flags; + int boot_idx; + enum bootsource boot_src; +}; + +static const struct prt_stm32_boot_dev prt_stm32_boot_devs[] = { + { + .name = "emmc", + .env = "/chosen/environment-emmc", + .dev = "/dev/mmc1.ssbl", + .flags = PRT_STM32_BOOTSRC_EMMC, + .boot_src = BOOTSOURCE_MMC, + .boot_idx = 1, + }, { + .name = "qspi", + .env = "/chosen/environment-qspi", + .dev = "/dev/flash.ssbl", + .flags = PRT_STM32_BOOTSRC_SPI_NOR, + .boot_src = BOOTSOURCE_SPI_NOR, + .boot_idx = -1, + }, { + /* SD is optional boot source and should be last device in the + * list. */ + .name = "sd", + .env = "/chosen/environment-sd", + .dev = "/dev/mmc0.ssbl", + .flags = PRT_STM32_BOOTSRC_SD, + .boot_src = BOOTSOURCE_MMC, + .boot_idx = 0, + }, +}; + +static int prt_stm32_probe(struct device_d *dev) +{ + const struct prt_stm32_machine_data *dcfg; + char *env_path_back = NULL, *env_path = NULL; + int ret, i; + + dcfg = of_device_get_match_data(dev); + if (!dcfg) { + ret = -EINVAL; + goto exit_get_dcfg; + } + + for (i = 0; i < ARRAY_SIZE(prt_stm32_boot_devs); i++) { + const struct prt_stm32_boot_dev *bd = &prt_stm32_boot_devs[i]; + int bbu_flags = 0; + + /* skip not supported boot sources */ + if (!(bd->flags & dcfg->flags)) + continue; + + /* first device is build-in device */ + if (!env_path_back) + env_path_back = bd->env; + + if (bd->boot_src == bootsource_get() && (bd->boot_idx == -1 || + bd->boot_idx == bootsource_get_instance())) { + bbu_flags = BBU_HANDLER_FLAG_DEFAULT; + env_path = bd->env; + } + + ret = stm32mp_bbu_mmc_register_handler(bd->name, bd->dev, + bbu_flags); + if (ret < 0) + dev_warn(dev, "Failed to enable %s bbu (%pe)\n", + bd->name, ERR_PTR(ret)); + } + + if (!env_path) + env_path = env_path_back; + ret = of_device_enable_path(env_path); + if (ret < 0) + dev_warn(dev, "Failed to enable environment partition '%s' (%pe)\n", + env_path, ERR_PTR(ret)); + + return 0; + +exit_get_dcfg: + dev_err(dev, "Failed to get dcfg: %pe\n", ERR_PTR(ret)); + return ret; +} + +static const struct prt_stm32_machine_data prt_stm32_prtt1a = { + .flags = PRT_STM32_BOOTSRC_SD | PRT_STM32_BOOTSRC_SPI_NOR, +}; + +static const struct prt_stm32_machine_data prt_stm32_prtt1c = { + .flags = PRT_STM32_BOOTSRC_SD | PRT_STM32_BOOTSRC_EMMC, +}; + +static const struct of_device_id prt_stm32_of_match[] = { + { .compatible = "prt,prtt1a", .data = &prt_stm32_prtt1a }, + { .compatible = "prt,prtt1c", .data = &prt_stm32_prtt1c }, + { .compatible = "prt,prtt1s", .data = &prt_stm32_prtt1a }, + { /* sentinel */ }, +}; + +static struct driver_d prt_stm32_board_driver = { + .name = "board-protonic-stm32", + .probe = prt_stm32_probe, + .of_compatible = prt_stm32_of_match, +}; +postcore_platform_driver(prt_stm32_board_driver); diff --git a/arch/arm/boards/protonic-stm32mp1/lowlevel.c b/arch/arm/boards/protonic-stm32mp1/lowlevel.c new file mode 100644 index 0000000000..583f72dfe7 --- /dev/null +++ b/arch/arm/boards/protonic-stm32mp1/lowlevel.c @@ -0,0 +1,58 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +// SPDX-FileCopyrightText: 2021 David Jander, Protonic Holland + +#include <common.h> +#include <debug_ll.h> +#include <mach/entry.h> + +extern char __dtb_z_stm32mp151_prtt1a_start[]; +extern char __dtb_z_stm32mp151_prtt1c_start[]; +extern char __dtb_z_stm32mp151_prtt1s_start[]; + +static void setup_uart(void) +{ + /* first stage has set up the UART, so nothing to do here */ + putc_ll('>'); +} + +ENTRY_FUNCTION(start_prtt1a, r0, r1, r2) +{ + void *fdt; + + stm32mp_cpu_lowlevel_init(); + + if (IS_ENABLED(CONFIG_DEBUG_LL)) + setup_uart(); + + fdt = __dtb_z_stm32mp151_prtt1a_start + get_runtime_offset(); + + stm32mp1_barebox_entry(fdt); +} + +ENTRY_FUNCTION(start_prtt1c, r0, r1, r2) +{ + void *fdt; + + stm32mp_cpu_lowlevel_init(); + + if (IS_ENABLED(CONFIG_DEBUG_LL)) + setup_uart(); + + fdt = __dtb_z_stm32mp151_prtt1c_start + get_runtime_offset(); + + stm32mp1_barebox_entry(fdt); +} + +ENTRY_FUNCTION(start_prtt1s, r0, r1, r2) +{ + void *fdt; + + stm32mp_cpu_lowlevel_init(); + + if (IS_ENABLED(CONFIG_DEBUG_LL)) + setup_uart(); + + fdt = __dtb_z_stm32mp151_prtt1s_start + get_runtime_offset(); + + stm32mp1_barebox_entry(fdt); +} diff --git a/arch/arm/boards/qemu-virt/Makefile b/arch/arm/boards/qemu-virt/Makefile index 8451c7832d..dcfc2937d3 100644 --- a/arch/arm/boards/qemu-virt/Makefile +++ b/arch/arm/boards/qemu-virt/Makefile @@ -1,2 +1 @@ obj-y += board.o -obj-y += overlay-of-flash.dtb.o diff --git a/arch/arm/boards/rockchip-rk3568-evb/.gitignore b/arch/arm/boards/rockchip-rk3568-evb/.gitignore new file mode 100644 index 0000000000..f458f794b5 --- /dev/null +++ b/arch/arm/boards/rockchip-rk3568-evb/.gitignore @@ -0,0 +1 @@ +sdram-init.bin diff --git a/arch/arm/configs/qemu_virt64_defconfig b/arch/arm/configs/qemu_virt64_defconfig index 17509ce9d6..57e715bf8d 100644 --- a/arch/arm/configs/qemu_virt64_defconfig +++ b/arch/arm/configs/qemu_virt64_defconfig @@ -1,25 +1,31 @@ CONFIG_ARCH_ARM64_VIRT=y CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y +CONFIG_ARM_PSCI_CLIENT=y CONFIG_MMU=y # CONFIG_MMU_EARLY is not set +CONFIG_MALLOC_SIZE=0x0 CONFIG_KALLSYMS=y CONFIG_PROMPT="" CONFIG_HUSH_FANCY_PROMPT=y CONFIG_CMDLINE_EDITING=y CONFIG_AUTO_COMPLETE=y CONFIG_MENU=y -CONFIG_IMD=y +CONFIG_BOOTM_INITRD=y +CONFIG_BLSPEC=y CONFIG_CONSOLE_ACTIVATE_NONE=y CONFIG_CONSOLE_ALLOW_COLOR=y CONFIG_PARTITION_DISK_EFI=y CONFIG_DEFAULT_ENVIRONMENT_GENERIC_NEW=y -CONFIG_POLLER=y CONFIG_STATE=y CONFIG_BOOTCHOOSER=y CONFIG_RESET_SOURCE=y CONFIG_MACHINE_ID=y CONFIG_LONGHELP=y +CONFIG_CMD_IOMEM=y +CONFIG_CMD_IMD=y CONFIG_CMD_MEMINFO=y +CONFIG_CMD_POLLER=y +CONFIG_CMD_SLICE=y CONFIG_CMD_GO=y CONFIG_CMD_LOADB=y CONFIG_CMD_RESET=y @@ -32,6 +38,7 @@ CONFIG_CMD_MAGICVAR=y CONFIG_CMD_MAGICVAR_HELP=y CONFIG_CMD_SAVEENV=y CONFIG_CMD_FILETYPE=y +CONFIG_CMD_LN=y CONFIG_CMD_SHA256SUM=y CONFIG_CMD_UNCOMPRESS=y CONFIG_CMD_SLEEP=y @@ -41,6 +48,8 @@ CONFIG_CMD_LOGIN=y CONFIG_CMD_MENU=y CONFIG_CMD_MENU_MANAGEMENT=y CONFIG_CMD_PASSWD=y +CONFIG_CMD_SPLASH=y +CONFIG_CMD_FBTEST=y CONFIG_CMD_READLINE=y CONFIG_CMD_TIMEOUT=y CONFIG_CMD_CRC=y @@ -48,6 +57,7 @@ CONFIG_CMD_CRC_CMP=y CONFIG_CMD_DETECT=y CONFIG_CMD_FLASH=y CONFIG_CMD_POWEROFF=y +CONFIG_CMD_SMC=y CONFIG_CMD_BAREBOX_UPDATE=y CONFIG_CMD_OF_DIFF=y CONFIG_CMD_OF_NODE=y @@ -56,11 +66,20 @@ CONFIG_CMD_OF_DISPLAY_TIMINGS=y CONFIG_CMD_OF_FIXUP_STATUS=y CONFIG_CMD_OF_OVERLAY=y CONFIG_CMD_OFTREE=y +CONFIG_CMD_TIME=y CONFIG_CMD_STATE=y +CONFIG_NET=y +CONFIG_NET_NFS=y +CONFIG_NET_NETCONSOLE=y +CONFIG_NET_DHCP=y +CONFIG_NET_SNTP=y +CONFIG_NET_FASTBOOT=y CONFIG_OF_BAREBOX_DRIVERS=y CONFIG_OF_BAREBOX_ENV_IN_FS=y +CONFIG_OF_OVERLAY_LIVE=y CONFIG_SERIAL_AMBA_PL011=y CONFIG_VIRTIO_CONSOLE=y +CONFIG_DRIVER_NET_VIRTIO=y # CONFIG_SPI is not set CONFIG_MTD=y CONFIG_DRIVER_CFI=y @@ -68,11 +87,23 @@ CONFIG_CFI_BUFFER_WRITE=y CONFIG_DISK=y CONFIG_DISK_WRITE=y CONFIG_VIRTIO_BLK=y +CONFIG_VIDEO=y +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_DRIVER_VIDEO_BOCHS_PCI=y +CONFIG_SOUND=y +CONFIG_STATE_DRV=y +CONFIG_VIRTIO_INPUT=y CONFIG_HWRNG=y CONFIG_HW_RANDOM_VIRTIO=y # CONFIG_PINCTRL is not set +CONFIG_NVMEM=y +CONFIG_NVMEM_RMEM=y +CONFIG_PCI_ECAM_GENERIC=y +CONFIG_NVMEM_REBOOT_MODE=y CONFIG_VIRTIO_MMIO=y +CONFIG_VIRTIO_PCI=y CONFIG_FS_EXT4=y +CONFIG_FS_NFS=y CONFIG_FS_FAT=y CONFIG_FS_PSTORE=y CONFIG_FS_PSTORE_CONSOLE=y diff --git a/arch/arm/configs/stm32mp_defconfig b/arch/arm/configs/stm32mp_defconfig index eb3c95b12c..d682083d40 100644 --- a/arch/arm/configs/stm32mp_defconfig +++ b/arch/arm/configs/stm32mp_defconfig @@ -3,6 +3,7 @@ CONFIG_MACH_STM32MP15XX_DKX=y CONFIG_MACH_LXA_MC1=y CONFIG_MACH_SEEED_ODYSSEY=y CONFIG_MACH_STM32MP15X_EV1=y +CONFIG_MACH_PROTONIC_STM32MP1=y CONFIG_THUMB2_BAREBOX=y CONFIG_ARM_BOARD_APPEND_ATAG=y CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 88a079497a..552cca732f 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -94,6 +94,10 @@ lwl-$(CONFIG_MACH_PROTONIC_IMX6) += \ imx6ul-prti6g.dtb.o \ imx6ull-jozacp.dtb.o lwl-$(CONFIG_MACH_PROTONIC_IMX8M) += imx8mm-prt8mm.dtb.o +lwl-$(CONFIG_MACH_PROTONIC_STM32MP1) += \ + stm32mp151-prtt1a.dtb.o \ + stm32mp151-prtt1c.dtb.o \ + stm32mp151-prtt1s.dtb.o lwl-$(CONFIG_MACH_RADXA_ROCK) += rk3188-radxarock.dtb.o lwl-$(CONFIG_MACH_PHYTEC_SOM_RK3288) += rk3288-phycore-som.dtb.o lwl-$(CONFIG_MACH_REALQ7) += imx6q-dmo-edmqmx6.dtb.o diff --git a/arch/arm/dts/socfpga.dtsi b/arch/arm/dts/socfpga.dtsi index 7789c9d3b5..56dbf0b97d 100644 --- a/arch/arm/dts/socfpga.dtsi +++ b/arch/arm/dts/socfpga.dtsi @@ -4,6 +4,10 @@ }; }; +&mmc { + reset-names = "reset"; +}; + &watchdog0 { resets = <&rst L4WD0_RESET>; }; diff --git a/arch/arm/dts/stm32mp151-prtt1a.dts b/arch/arm/dts/stm32mp151-prtt1a.dts new file mode 100644 index 0000000000..0f3c50f3e9 --- /dev/null +++ b/arch/arm/dts/stm32mp151-prtt1a.dts @@ -0,0 +1,20 @@ +// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause) +// SPDX-FileCopyrightText: 2021 David Jander, Protonic Holland +// SPDX-FileCopyrightText: 2021 Oleksij Rempel, Pengutronix +/dts-v1/; + +#include "stm32mp151-prtt1l.dtsi" +#include "stm32mp151-prtt1l-net.dtsi" + +/ { + model = "Protonic PRTT1A"; + compatible = "prt,prtt1a", "st,stm32mp151"; + + chosen { + environment-sd { + compatible = "barebox,environment"; + device-path = &sdmmc1, "partname:barebox-environment"; + status = "disabled"; + }; + }; +}; diff --git a/arch/arm/dts/stm32mp151-prtt1c.dts b/arch/arm/dts/stm32mp151-prtt1c.dts new file mode 100644 index 0000000000..fc411f9719 --- /dev/null +++ b/arch/arm/dts/stm32mp151-prtt1c.dts @@ -0,0 +1,89 @@ +// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause) +// SPDX-FileCopyrightText: 2021 David Jander, Protonic Holland +// SPDX-FileCopyrightText: 2021 Oleksij Rempel, Pengutronix +/dts-v1/; + +#include "stm32mp151-prtt1l.dtsi" + +/ { + model = "Protonic PRTT1C"; + compatible = "prt,prtt1c", "st,stm32mp151"; + + chosen { + environment-sd { + compatible = "barebox,environment"; + device-path = &sdmmc1, "partname:barebox-environment"; + status = "disabled"; + }; + + environment-emmc { + compatible = "barebox,environment"; + device-path = &sdmmc2, "partname:barebox-environment"; + status = "disabled"; + }; + }; +}; + +ðernet0 { + pinctrl-0 = <ðernet0_rmii_pins_a>; + pinctrl-names = "default"; + phy-mode = "rmii"; + phy-reset-gpios = <&gpioa 3 GPIO_ACTIVE_LOW>; + status = "okay"; + + fixed-link { + speed = <100>; + full-duplex; + }; +}; + +&sdmmc2 { + pinctrl-names = "default"; + pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_a>; + disable-wp; + disable-cd; + no-removable; + no-sd; + no-sdio; + no-1-8-v; + st,neg-edge; + bus-width = <8>; + vmmc-supply = <&v3v3>; + vqmmc-supply = <&v3v3>; + status = "okay"; +}; + +ðernet0_rmii_pins_a { + pins1 { + pinmux = <STM32_PINMUX('B', 12, AF11)>, /* ETH1_RMII_TXD0 */ + <STM32_PINMUX('B', 13, AF11)>, /* ETH1_RMII_TXD1 */ + <STM32_PINMUX('B', 11, AF11)>, /* ETH1_RMII_TX_EN */ + <STM32_PINMUX('A', 2, AF11)>, /* ETH1_MDIO */ + <STM32_PINMUX('C', 1, AF11)>; /* ETH1_MDC */ + }; + pins2 { + pinmux = <STM32_PINMUX('C', 4, AF11)>, /* ETH1_RMII_RXD0 */ + <STM32_PINMUX('C', 5, AF11)>, /* ETH1_RMII_RXD1 */ + <STM32_PINMUX('A', 1, AF11)>, /* ETH1_RMII_REF_CLK input */ + <STM32_PINMUX('A', 7, AF11)>; /* ETH1_RMII_CRS_DV */ + }; +}; + +&sdmmc2_b4_pins_a { + pins1 { + pinmux = <STM32_PINMUX('B', 14, AF9)>, /* SDMMC2_D0 */ + <STM32_PINMUX('B', 7, AF10)>, /* SDMMC2_D1 */ + <STM32_PINMUX('B', 3, AF9)>, /* SDMMC2_D2 */ + <STM32_PINMUX('B', 4, AF9)>, /* SDMMC2_D3 */ + <STM32_PINMUX('G', 6, AF10)>; /* SDMMC2_CMD */ + }; +}; + +&sdmmc2_d47_pins_a { + pins { + pinmux = <STM32_PINMUX('A', 8, AF9)>, /* SDMMC2_D4 */ + <STM32_PINMUX('A', 9, AF10)>, /* SDMMC2_D5 */ + <STM32_PINMUX('C', 6, AF10)>, /* SDMMC2_D6 */ + <STM32_PINMUX('C', 7, AF10)>; /* SDMMC2_D7 */ + }; +}; diff --git a/arch/arm/dts/stm32mp151-prtt1l-net.dtsi b/arch/arm/dts/stm32mp151-prtt1l-net.dtsi new file mode 100644 index 0000000000..04f4d64aaa --- /dev/null +++ b/arch/arm/dts/stm32mp151-prtt1l-net.dtsi @@ -0,0 +1,36 @@ +// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause) +// SPDX-FileCopyrightText: 2021 David Jander, Protonic Holland +// SPDX-FileCopyrightText: 2021 Oleksij Rempel, Pengutronix + +ðernet0 { + pinctrl-0 = <ðernet0_rmii_pins_a>; + pinctrl-names = "default"; + phy-mode = "rmii"; + phy-reset-gpios = <&gpioa 3 GPIO_ACTIVE_LOW>; + status = "okay"; + + mdio0 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "snps,dwmac-mdio"; + phy0: ethernet-phy@0 { + reg = <0>; + }; + }; +}; + +ðernet0_rmii_pins_a { + pins1 { + pinmux = <STM32_PINMUX('B', 12, AF11)>, /* ETH1_RMII_TXD0 */ + <STM32_PINMUX('B', 13, AF11)>, /* ETH1_RMII_TXD1 */ + <STM32_PINMUX('B', 11, AF11)>, /* ETH1_RMII_TX_EN */ + <STM32_PINMUX('A', 2, AF11)>, /* ETH1_MDIO */ + <STM32_PINMUX('C', 1, AF11)>; /* ETH1_MDC */ + }; + pins2 { + pinmux = <STM32_PINMUX('C', 4, AF11)>, /* ETH1_RMII_RXD0 */ + <STM32_PINMUX('C', 5, AF11)>, /* ETH1_RMII_RXD1 */ + <STM32_PINMUX('A', 1, AF11)>, /* ETH1_RMII_REF_CLK input */ + <STM32_PINMUX('A', 7, AF11)>; /* ETH1_RMII_CRS_DV */ + }; +}; diff --git a/arch/arm/dts/stm32mp151-prtt1l.dtsi b/arch/arm/dts/stm32mp151-prtt1l.dtsi new file mode 100644 index 0000000000..80ae72dee2 --- /dev/null +++ b/arch/arm/dts/stm32mp151-prtt1l.dtsi @@ -0,0 +1,109 @@ +// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause) +// SPDX-FileCopyrightText: 2021 David Jander, Protonic Holland +// SPDX-FileCopyrightText: 2021 Oleksij Rempel, Pengutronix + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/input/input.h> +#include <arm/stm32mp151.dtsi> +#include <arm/stm32mp15-pinctrl.dtsi> +#include <arm/stm32mp15xxad-pinctrl.dtsi> + +#include "stm32mp151.dtsi" + +/ { + chosen { + stdout-path = "serial0:115200n8"; + }; + + aliases { + serial0 = &uart4; + ethernet0 = ðernet0; + }; + + v3v3: fixed-regulator-v3v3 { + compatible = "regulator-fixed"; + regulator-name = "v3v3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + }; + + led { + compatible = "gpio-leds"; + + led-0 { + label = "debug:red"; + gpios = <&gpioa 13 GPIO_ACTIVE_LOW>; + }; + + led-1 { + label = "debug:green"; + gpios = <&gpioa 14 GPIO_ACTIVE_LOW>; + linux,default-trigger = "heartbeat"; + }; + }; +}; + +&usbh_ehci { + phys = <&usbphyc_port0>; + phy-names = "usb"; + status = "okay"; +}; + +&usbotg_hs { + dr_mode = "host"; + pinctrl-0 = <&usbotg_hs_pins_a>; + pinctrl-names = "default"; + phys = <&usbphyc_port1 0>; + phy-names = "usb2-phy"; + status = "okay"; +}; + +&usbphyc { + status = "okay"; +}; + +&usbphyc_port1 { + phy-supply = <&v3v3>; +}; + +&sdmmc1 { + pinctrl-names = "default"; + pinctrl-0 = <&sdmmc1_b4_pins_a>; + st,neg-edge; + bus-width = <4>; + sd-uhs-sdr12; + sd-uhs-sdr25; + sd-uhs-sdr50; + sd-uhs-ddr50; + vmmc-supply = <&v3v3>; + vqmmc-supply = <&v3v3>; + status = "okay"; +}; + +&sdmmc1_b4_pins_a { + pins1 { + bias-pull-up; + }; + pins2 { + bias-pull-up; + }; +}; + +&uart4 { + pinctrl-names = "default"; + pinctrl-0 = <&uart4_pins_a>; + status = "okay"; +}; + +&uart4_pins_a { + pins1 { + pinmux = <STM32_PINMUX('B', 9, AF8)>; /* UART4_TX */ + bias-disable; + drive-push-pull; + slew-rate = <0>; + }; + pins2 { + pinmux = <STM32_PINMUX('B', 2, AF8)>; /* UART4_RX */ + bias-pull-up; + }; +}; diff --git a/arch/arm/dts/stm32mp151-prtt1s.dts b/arch/arm/dts/stm32mp151-prtt1s.dts new file mode 100644 index 0000000000..f9093d01ac --- /dev/null +++ b/arch/arm/dts/stm32mp151-prtt1s.dts @@ -0,0 +1,20 @@ +// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause) +// SPDX-FileCopyrightText: 2021 David Jander, Protonic Holland +// SPDX-FileCopyrightText: 2021 Oleksij Rempel, Pengutronix +/dts-v1/; + +#include "stm32mp151-prtt1l.dtsi" +#include "stm32mp151-prtt1l-net.dtsi" + +/ { + model = "Protonic PRTT1S"; + compatible = "prt,prtt1s", "st,stm32mp151"; + + chosen { + environment-sd { + compatible = "barebox,environment"; + device-path = &sdmmc1, "partname:barebox-environment"; + status = "disabled"; + }; + }; +}; diff --git a/arch/arm/mach-stm32mp/Kconfig b/arch/arm/mach-stm32mp/Kconfig index 95d3dc510d..8328eb899a 100644 --- a/arch/arm/mach-stm32mp/Kconfig +++ b/arch/arm/mach-stm32mp/Kconfig @@ -31,4 +31,11 @@ config MACH_STM32MP15X_EV1 as SSBL on any STM32MP15X-EVAL platform, like the STM32MP157C-EV1 +config MACH_PROTONIC_STM32MP1 + select ARCH_STM32MP157 + bool "Protonic PRTT1L family of boards" + help + Builds all barebox-prtt1*.img that can be deployed as SSBL + on the respective PRTT1L family board + endif diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig index a814a1a45b..8c66697185 100644 --- a/arch/riscv/Kconfig +++ b/arch/riscv/Kconfig @@ -14,6 +14,7 @@ config RISCV select HAS_ARCH_SJLJ select HAS_KALLSYMS select RISCV_TIMER if RISCV_SBI + select HW_HAS_PCI config ARCH_TEXT_BASE hex diff --git a/arch/riscv/Kconfig.socs b/arch/riscv/Kconfig.socs index bd4a44a575..9f2a4f825e 100644 --- a/arch/riscv/Kconfig.socs +++ b/arch/riscv/Kconfig.socs @@ -18,10 +18,21 @@ config SOC_VIRT select RISCV_S_MODE select BOARD_RISCV_GENERIC_DT select HAS_CACHE + select HAS_ASM_DEBUG_LL help Generates an image tht can be be booted by QEMU. The image is called barebox-dt-2nd.img +config BOARD_RISCV_VIRT + depends on SOC_VIRT + bool "QEMU Virt Machine" + select OF_OVERLAY + select BOARD_QEMU_VIRT + default y + help + Enables environment and state on top of QEMU RISC-V Virt machine + cfi-flash. + config BOARD_RISCVEMU depends on SOC_VIRT bool "TinyEMU Virt Machine (riscvemu)" diff --git a/arch/riscv/boards/litex-linux/lowlevel.c b/arch/riscv/boards/litex-linux/lowlevel.c index da23ef5633..6be3d62e64 100644 --- a/arch/riscv/boards/litex-linux/lowlevel.c +++ b/arch/riscv/boards/litex-linux/lowlevel.c @@ -10,12 +10,12 @@ ENTRY_FUNCTION(start_litex_linux, a0, a1, a2) extern char __dtb_z_litex_linux_start[]; void *fdt; + /* BIOS will have loaded us into RAM */ + barebox_nmon_entry(); putc_ll('>'); - /* On POR, we are running from read-only memory here. */ - fdt = __dtb_z_litex_linux_start + get_runtime_offset(); barebox_riscv_machine_entry(0x40000000, SZ_256M, fdt); diff --git a/arch/riscv/configs/virt32_defconfig b/arch/riscv/configs/virt32_defconfig index 218fee57b7..1d7b70fc0f 100644 --- a/arch/riscv/configs/virt32_defconfig +++ b/arch/riscv/configs/virt32_defconfig @@ -10,14 +10,10 @@ CONFIG_HUSH_FANCY_PROMPT=y CONFIG_CMDLINE_EDITING=y CONFIG_AUTO_COMPLETE=y CONFIG_MENU=y -CONFIG_IMD_TARGET=y CONFIG_CONSOLE_ALLOW_COLOR=y CONFIG_PBL_CONSOLE=y CONFIG_PARTITION_DISK_EFI=y CONFIG_DEFAULT_ENVIRONMENT_GENERIC_NEW=y -CONFIG_BAREBOXENV_TARGET=y -CONFIG_BAREBOXCRC32_TARGET=y -CONFIG_POLLER=y CONFIG_STATE=y CONFIG_STATE_CRYPTO=y CONFIG_BOOTCHOOSER=y @@ -47,6 +43,8 @@ CONFIG_CMD_SHA1SUM=y CONFIG_CMD_SHA256SUM=y CONFIG_CMD_MSLEEP=y CONFIG_CMD_SLEEP=y +CONFIG_CMD_DHCP=y +CONFIG_CMD_PING=y CONFIG_CMD_EDIT=y CONFIG_CMD_SPLASH=y CONFIG_CMD_FBTEST=y @@ -71,9 +69,17 @@ CONFIG_CMD_OF_FIXUP_STATUS=y CONFIG_CMD_OF_OVERLAY=y CONFIG_CMD_OFTREE=y CONFIG_CMD_TIME=y +CONFIG_CMD_STATE=y CONFIG_CMD_DHRYSTONE=y +CONFIG_NET=y +CONFIG_NET_NFS=y +CONFIG_NET_NETCONSOLE=y +CONFIG_NET_FASTBOOT=y +CONFIG_OF_BAREBOX_DRIVERS=y +CONFIG_OF_BAREBOX_ENV_IN_FS=y CONFIG_DRIVER_SERIAL_NS16550=y CONFIG_VIRTIO_CONSOLE=y +CONFIG_DRIVER_NET_VIRTIO=y CONFIG_DRIVER_SPI_GPIO=y CONFIG_I2C=y CONFIG_I2C_GPIO=y @@ -88,18 +94,24 @@ CONFIG_DISK_WRITE=y CONFIG_VIRTIO_BLK=y CONFIG_VIDEO=y CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_DRIVER_VIDEO_BOCHS_PCI=y CONFIG_DRIVER_VIDEO_SIMPLEFB_CLIENT=y CONFIG_CLOCKSOURCE_DUMMY_RATE=60000 +CONFIG_STATE_DRV=y CONFIG_EEPROM_AT24=y CONFIG_HWRNG=y CONFIG_HW_RANDOM_VIRTIO=y CONFIG_GPIO_GENERIC_PLATFORM=y # CONFIG_PINCTRL is not set +CONFIG_PCI_ECAM_GENERIC=y +CONFIG_BLK_DEV_NVME=y CONFIG_SYSCON_REBOOT_MODE=y CONFIG_POWER_RESET_SYSCON=y CONFIG_POWER_RESET_SYSCON_POWEROFF=y CONFIG_VIRTIO_MMIO=y CONFIG_FS_EXT4=y +CONFIG_FS_TFTP=y +CONFIG_FS_NFS=y CONFIG_FS_FAT=y CONFIG_FS_FAT_WRITE=y CONFIG_FS_FAT_LFN=y @@ -114,3 +126,6 @@ CONFIG_XZ_DECOMPRESS=y CONFIG_BASE64=y CONFIG_LZO_DECOMPRESS=y CONFIG_DIGEST_CRC32_GENERIC=y +CONFIG_IMD_TARGET=y +CONFIG_BAREBOXENV_TARGET=y +CONFIG_BAREBOXCRC32_TARGET=y diff --git a/arch/riscv/configs/virt64_defconfig b/arch/riscv/configs/virt64_defconfig index 04a4f1e2f4..8c66e3e574 100644 --- a/arch/riscv/configs/virt64_defconfig +++ b/arch/riscv/configs/virt64_defconfig @@ -1,5 +1,5 @@ -CONFIG_SOC_VIRT=y CONFIG_ARCH_RV64I=y +CONFIG_SOC_VIRT=y CONFIG_RISCV_OPTIMZED_STRING_FUNCTIONS=y CONFIG_STACK_SIZE=0x20000 CONFIG_MALLOC_SIZE=0x0 @@ -11,14 +11,10 @@ CONFIG_HUSH_FANCY_PROMPT=y CONFIG_CMDLINE_EDITING=y CONFIG_AUTO_COMPLETE=y CONFIG_MENU=y -CONFIG_IMD_TARGET=y CONFIG_CONSOLE_ALLOW_COLOR=y CONFIG_PBL_CONSOLE=y CONFIG_PARTITION_DISK_EFI=y CONFIG_DEFAULT_ENVIRONMENT_GENERIC_NEW=y -CONFIG_BAREBOXENV_TARGET=y -CONFIG_BAREBOXCRC32_TARGET=y -CONFIG_POLLER=y CONFIG_STATE=y CONFIG_STATE_CRYPTO=y CONFIG_BOOTCHOOSER=y @@ -48,6 +44,8 @@ CONFIG_CMD_SHA1SUM=y CONFIG_CMD_SHA256SUM=y CONFIG_CMD_MSLEEP=y CONFIG_CMD_SLEEP=y +CONFIG_CMD_DHCP=y +CONFIG_CMD_PING=y CONFIG_CMD_EDIT=y CONFIG_CMD_SPLASH=y CONFIG_CMD_FBTEST=y @@ -72,9 +70,17 @@ CONFIG_CMD_OF_FIXUP_STATUS=y CONFIG_CMD_OF_OVERLAY=y CONFIG_CMD_OFTREE=y CONFIG_CMD_TIME=y +CONFIG_CMD_STATE=y CONFIG_CMD_DHRYSTONE=y +CONFIG_NET=y +CONFIG_NET_NFS=y +CONFIG_NET_NETCONSOLE=y +CONFIG_NET_FASTBOOT=y +CONFIG_OF_BAREBOX_DRIVERS=y +CONFIG_OF_BAREBOX_ENV_IN_FS=y CONFIG_DRIVER_SERIAL_NS16550=y CONFIG_VIRTIO_CONSOLE=y +CONFIG_DRIVER_NET_VIRTIO=y CONFIG_DRIVER_SPI_GPIO=y CONFIG_I2C=y CONFIG_I2C_GPIO=y @@ -89,18 +95,24 @@ CONFIG_DISK_WRITE=y CONFIG_VIRTIO_BLK=y CONFIG_VIDEO=y CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_DRIVER_VIDEO_BOCHS_PCI=y CONFIG_DRIVER_VIDEO_SIMPLEFB_CLIENT=y CONFIG_CLOCKSOURCE_DUMMY_RATE=60000 +CONFIG_STATE_DRV=y CONFIG_EEPROM_AT24=y CONFIG_HWRNG=y CONFIG_HW_RANDOM_VIRTIO=y CONFIG_GPIO_GENERIC_PLATFORM=y # CONFIG_PINCTRL is not set +CONFIG_PCI_ECAM_GENERIC=y +CONFIG_BLK_DEV_NVME=y CONFIG_SYSCON_REBOOT_MODE=y CONFIG_POWER_RESET_SYSCON=y CONFIG_POWER_RESET_SYSCON_POWEROFF=y CONFIG_VIRTIO_MMIO=y CONFIG_FS_EXT4=y +CONFIG_FS_TFTP=y +CONFIG_FS_NFS=y CONFIG_FS_FAT=y CONFIG_FS_FAT_WRITE=y CONFIG_FS_FAT_LFN=y @@ -115,3 +127,6 @@ CONFIG_XZ_DECOMPRESS=y CONFIG_BASE64=y CONFIG_LZO_DECOMPRESS=y CONFIG_DIGEST_CRC32_GENERIC=y +CONFIG_IMD_TARGET=y +CONFIG_BAREBOXENV_TARGET=y +CONFIG_BAREBOXCRC32_TARGET=y diff --git a/arch/riscv/include/asm/debug_ll.h b/arch/riscv/include/asm/debug_ll.h index 9fe7833eef..867c96d797 100644 --- a/arch/riscv/include/asm/debug_ll.h +++ b/arch/riscv/include/asm/debug_ll.h @@ -17,13 +17,19 @@ #if defined CONFIG_DEBUG_ERIZO #define DEBUG_LL_UART_ADDR 0x90000000 #define DEBUG_LL_UART_CLK (24000000 / 16) +#define DEBUG_LL_UART_SHIFT 2 +#define DEBUG_LL_UART_IOSIZE32 #elif defined CONFIG_DEBUG_STARFIVE #define DEBUG_LL_UART_ADDR 0x12440000 #define DEBUG_LL_UART_CLK (100000000 / 16) -#endif - #define DEBUG_LL_UART_SHIFT 2 #define DEBUG_LL_UART_IOSIZE32 +#elif defined CONFIG_DEBUG_RISCV_VIRT +#define DEBUG_LL_UART_ADDR 0x10000000 +#define DEBUG_LL_UART_CLK (58982400 / 16) +#define DEBUG_LL_UART_SHIFT 0 +#define DEBUG_LL_UART_IOSIZE8 +#endif #define DEBUG_LL_UART_BPS CONFIG_BAUDRATE #define DEBUG_LL_UART_DIVISOR (DEBUG_LL_UART_CLK / DEBUG_LL_UART_BPS) diff --git a/arch/riscv/include/asm/pci.h b/arch/riscv/include/asm/pci.h new file mode 100644 index 0000000000..dd18499a37 --- /dev/null +++ b/arch/riscv/include/asm/pci.h @@ -0,0 +1,7 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +#ifndef __ASM_PCI_H +#define __ASM_PCI_H + +#define pcibios_assign_all_busses() 1 + +#endif diff --git a/commands/devinfo.c b/commands/devinfo.c index 2e2e48e42c..32fd55ebd5 100644 --- a/commands/devinfo.c +++ b/commands/devinfo.c @@ -85,7 +85,7 @@ static int do_devinfo(int argc, char *argv[]) if (dev->info) dev->info(dev); - if (dev->parent) + if (dev->parent && (!dev->bus || dev->bus->dev != dev->parent)) printf("Parent: %s\n", dev_name(dev->parent)); first = true; diff --git a/commands/of_dump.c b/commands/of_dump.c index 5223ba63ad..6f36b31514 100644 --- a/commands/of_dump.c +++ b/commands/of_dump.c @@ -23,8 +23,11 @@ static void of_print_nodenames(struct device_node *node) printf("%s\n", node->full_name); - list_for_each_entry(n, &node->children, parent_list) + list_for_each_entry(n, &node->children, parent_list) { + if (ctrlc()) + return; of_print_nodenames(n); + } } static int do_of_dump(int argc, char *argv[]) diff --git a/common/Kconfig b/common/Kconfig index 7386649a1a..814b820e2a 100644 --- a/common/Kconfig +++ b/common/Kconfig @@ -1,3 +1,5 @@ +source "common/boards/Kconfig" + config GREGORIAN_CALENDER bool @@ -1394,6 +1396,11 @@ config DEBUG_STARFIVE depends on SOC_STARFIVE select DEBUG_LL_NS16550 +config DEBUG_RISCV_VIRT + bool "RISC-V Virt ns16550 port" + depends on SOC_VIRT + select DEBUG_LL_NS16550 + config DEBUG_SIFIVE bool "SiFive serial0 port" depends on SOC_SIFIVE diff --git a/common/Makefile b/common/Makefile index 9ed279806a..f4496c4d9b 100644 --- a/common/Makefile +++ b/common/Makefile @@ -1,3 +1,4 @@ +obj-y += boards/ obj-y += memory.o obj-y += memory_display.o pbl-$(CONFIG_PBL_CONSOLE) += memory_display.o diff --git a/common/boards/Kconfig b/common/boards/Kconfig new file mode 100644 index 0000000000..e27273b767 --- /dev/null +++ b/common/boards/Kconfig @@ -0,0 +1,4 @@ +# SPDX-License-Identifier: GPL-2.0-only + +config BOARD_QEMU_VIRT + bool diff --git a/common/boards/Makefile b/common/boards/Makefile new file mode 100644 index 0000000000..5b4e429c13 --- /dev/null +++ b/common/boards/Makefile @@ -0,0 +1,3 @@ +# SPDX-License-Identifier: GPL-2.0-only + +obj-$(CONFIG_BOARD_QEMU_VIRT) += qemu-virt/ diff --git a/common/boards/qemu-virt/Makefile b/common/boards/qemu-virt/Makefile new file mode 100644 index 0000000000..88184e9a79 --- /dev/null +++ b/common/boards/qemu-virt/Makefile @@ -0,0 +1,7 @@ +# SPDX-License-Identifier: GPL-2.0-only + +obj-y += board.o +obj-y += overlay-of-flash.dtb.o +ifeq ($(CONFIG_RISCV),y) +DTC_CPP_FLAGS_overlay-of-flash.dtb := -DRISCV_VIRT=1 +endif diff --git a/arch/arm/boards/qemu-virt/board.c b/common/boards/qemu-virt/board.c index b2a3cb29ab..4064409c80 100644 --- a/arch/arm/boards/qemu-virt/board.c +++ b/common/boards/qemu-virt/board.c @@ -6,8 +6,7 @@ #include <common.h> #include <init.h> #include <of.h> -#include <asm/system_info.h> -#include <asm/barebox-arm.h> +#include <deep-probe.h> #ifdef CONFIG_64BIT #define MACHINE "virt64" @@ -15,38 +14,10 @@ #define MACHINE "virt" #endif -extern char __dtb_overlay_of_flash_start[]; - -static int replace_dtb(void) { - struct device_node *overlay; - void *fdt; - struct device_node *root; - - fdt = barebox_arm_boot_dtb(); - if (fdt) - pr_debug("using boarddata provided DTB\n"); - - if (!fdt) { - pr_debug("No DTB found\n"); - return 0; - } - - root = of_unflatten_dtb(fdt, INT_MAX); - - if (!of_device_is_compatible(root, "linux,dummy-virt")) { - of_delete_node(root); - return 0; - } - - overlay = of_unflatten_dtb(__dtb_overlay_of_flash_start, INT_MAX); - of_overlay_apply_tree(root, overlay); - - return barebox_register_of(root); -} - -pure_initcall(replace_dtb); +#ifdef CONFIG_ARM +#include <asm/system_info.h> -static int virt_probe(struct device_d *dev) +static inline void arm_virt_init(void) { const char *hostname = MACHINE; @@ -57,14 +28,36 @@ static int virt_probe(struct device_d *dev) barebox_set_model("ARM QEMU " MACHINE); barebox_set_hostname(hostname); +} + +#else +static inline void arm_virt_init(void) {} +#endif + +extern char __dtb_overlay_of_flash_start[]; + +static int virt_probe(struct device_d *dev) +{ + struct device_node *overlay; + void (*init)(void); + + init = device_get_match_data(dev); + if (init) + init(); + + overlay = of_unflatten_dtb(__dtb_overlay_of_flash_start, INT_MAX); + of_overlay_apply_tree(dev->device_node, overlay); + /* of_probe() will happen later at of_populate_initcall */ return 0; } static const struct of_device_id virt_of_match[] = { - { .compatible = "linux,dummy-virt" }, + { .compatible = "linux,dummy-virt", .data = arm_virt_init }, + { .compatible = "riscv-virtio" }, { /* Sentinel */}, }; +BAREBOX_DEEP_PROBE_ENABLE(virt_of_match); static struct driver_d virt_board_driver = { .name = "board-qemu-virt", diff --git a/arch/arm/boards/qemu-virt/overlay-of-flash.dts b/common/boards/qemu-virt/overlay-of-flash.dts index e00dc5d7e2..a271a45510 100644 --- a/arch/arm/boards/qemu-virt/overlay-of-flash.dts +++ b/common/boards/qemu-virt/overlay-of-flash.dts @@ -1,8 +1,17 @@ /dts-v1/; /plugin/; + +#ifdef RISCV_VIRT +#define PARTS_TARGET_PATH "/soc/flash@20000000" +#define ENV_DEVICE_PATH "/soc/flash@20000000/partitions/partition@3c00000" +#else +#define PARTS_TARGET_PATH "/flash@0" +#define ENV_DEVICE_PATH "/flash@0/partitions/partition@3c00000" +#endif + / { fragment@0 { - target-path = "/flash@0"; + target-path = PARTS_TARGET_PATH; __overlay__ { partitions { compatible = "fixed-partitions"; @@ -32,7 +41,7 @@ chosen { environment { compatible = "barebox,environment"; - device-path = "/flash@0/partitions/partition@3c00000"; + device-path = ENV_DEVICE_PATH; }; }; aliases { diff --git a/common/efi/Kconfig b/common/efi/Kconfig index b4d94f739c..15246ccbf0 100644 --- a/common/efi/Kconfig +++ b/common/efi/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only menu "EFI (Extensible Firmware Interface) Support" diff --git a/common/envfs-core.c b/common/envfs-core.c index 1898c1c8cb..0984d53873 100644 --- a/common/envfs-core.c +++ b/common/envfs-core.c @@ -12,6 +12,8 @@ * the default environment when building the barebox binary. So * do not add any new barebox related functions here! */ +#define pr_fmt(fmt) "envfs: " fmt + #ifdef __BAREBOX__ #include <common.h> #include <fs.h> @@ -23,6 +25,8 @@ #include <libfile.h> #else # define errno_str(x) ("void") +#define pr_info(fmt, ...) printf(pr_fmt(fmt), ##__VA_ARGS__) +#define pr_warn(fmt, ...) printf(pr_fmt(fmt), ##__VA_ARGS__) #endif static int dir_remove_action(const char *filename, struct stat *statbuf, @@ -39,17 +43,17 @@ static int dir_remove_action(const char *filename, struct stat *statbuf, int envfs_check_super(struct envfs_super *super, size_t *size) { if (ENVFS_32(super->magic) != ENVFS_MAGIC) { - printf("envfs: no envfs (magic mismatch) - envfs never written?\n"); + pr_info("no envfs (magic mismatch) - envfs never written?\n"); return -EIO; } if (crc32(0, super, sizeof(*super) - 4) != ENVFS_32(super->sb_crc)) { - printf("wrong crc on env superblock\n"); + pr_warn("wrong crc on env superblock\n"); return -EIO; } if (super->major < ENVFS_MAJOR) - printf("envfs version %d.%d loaded into %d.%d\n", + pr_info("version %d.%d loaded into %d.%d\n", super->major, super->minor, ENVFS_MAJOR, ENVFS_MINOR); @@ -64,7 +68,7 @@ int envfs_check_data(struct envfs_super *super, const void *buf, size_t size) crc = crc32(0, buf, size); if (crc != ENVFS_32(super->crc)) { - printf("wrong crc on env\n"); + pr_warn("wrong crc on env\n"); return -EIO; } @@ -93,7 +97,7 @@ int envfs_load_data(struct envfs_super *super, void *buf, size_t size, buf += sizeof(struct envfs_inode); if (ENVFS_32(inode->magic) != ENVFS_INODE_MAGIC) { - printf("envfs: wrong magic\n"); + pr_warn("wrong magic\n"); ret = -EIO; goto out; } diff --git a/common/state/backend_format_raw.c b/common/state/backend_format_raw.c index ea962606cc..1fecdeb9cf 100644 --- a/common/state/backend_format_raw.c +++ b/common/state/backend_format_raw.c @@ -115,11 +115,10 @@ static int backend_format_raw_verify(struct state_backend_format *format, header = (struct backend_raw_header *)buf; crc = crc32(0, header, sizeof(*header) - sizeof(uint32_t)); - if (crc != header->header_crc) { - dev_err(backend_raw->dev, "Error, invalid header crc in raw format, calculated 0x%08x, found 0x%08x\n", + if (crc != header->header_crc) + return dev_err_state_init(backend_raw->dev, header->header_crc ? -EINVAL : -ENOMEDIUM, + "header crc in raw format, calculated 0x%08x, found 0x%08x\n", crc, header->header_crc); - return -EINVAL; - } if (magic && magic != header->magic) { dev_err(backend_raw->dev, "Error, invalid magic in raw format 0x%08x, should be 0x%08x\n", diff --git a/common/state/backend_storage.c b/common/state/backend_storage.c index 7fc7acfdcb..72f8bcf521 100644 --- a/common/state/backend_storage.c +++ b/common/state/backend_storage.c @@ -144,6 +144,7 @@ int state_storage_read(struct state_backend_storage *storage, enum state_flags flags) { struct state_backend_storage_bucket *bucket, *bucket_used = NULL; + int zerobuckets = 0, totalbuckets = 0; int ret; dev_dbg(storage->dev, "Checking redundant buckets...\n"); @@ -152,6 +153,8 @@ int state_storage_read(struct state_backend_storage *storage, * one we want to use. */ list_for_each_entry(bucket, &storage->buckets, bucket_list) { + totalbuckets++; + ret = bucket->read(bucket, &bucket->buf, &bucket->len); if (ret == -EUCLEAN) bucket->needs_refresh = 1; @@ -163,19 +166,19 @@ int state_storage_read(struct state_backend_storage *storage, * .verify overwrites it with the length actually used. */ ret = format->verify(format, magic, bucket->buf, &bucket->len, flags); - if (!ret && !bucket_used) + if (ret == -ENOMEDIUM) + zerobuckets++; + else if (!ret && !bucket_used) bucket_used = bucket; - if (ret) + else if (ret) dev_info(storage->dev, "Ignoring broken bucket %d@0x%08llx...\n", bucket->num, (long long) bucket->offset); } dev_dbg(storage->dev, "Checking redundant buckets finished.\n"); - if (!bucket_used) { - dev_err(storage->dev, "Failed to find any valid state copy in any bucket\n"); - - return -ENOENT; - } + if (!bucket_used) + return dev_err_state_init(storage->dev, zerobuckets == totalbuckets ? -ENOMEDIUM : -ENOENT, + "no valid state copy in any bucket\n"); dev_info(storage->dev, "Using bucket %d@0x%08llx\n", bucket_used->num, (long long) bucket_used->offset); diff --git a/common/state/state.c b/common/state/state.c index 469ee62d40..8c34ae83e5 100644 --- a/common/state/state.c +++ b/common/state/state.c @@ -101,8 +101,8 @@ static int state_do_load(struct state *state, enum state_flags flags) ret = state_storage_read(&state->storage, state->format, state->magic, &buf, &len, flags); if (ret) { - dev_err(&state->dev, "Failed to read state with format %s, %d\n", - state->format->name, ret); + dev_err_state_init(&state->dev, ret, "format %s read failed\n", + state->format->name); goto out; } diff --git a/common/state/state.h b/common/state/state.h index 1881d92ea7..48572c5d41 100644 --- a/common/state/state.h +++ b/common/state/state.h @@ -1,5 +1,6 @@ #include <linux/types.h> #include <linux/list.h> +#include <linux/err.h> #include <driver.h> struct state; @@ -266,3 +267,16 @@ static inline int state_string_copy_to_raw(struct state_string *string, return 0; } + +#ifdef DEBUG +#define MSG_STATE_ZERO_INIT MSG_INFO +#else +#define MSG_STATE_ZERO_INIT MSG_DEBUG +#endif + +#define dev_err_state_init(dev, ret, fmt, ...) ({ \ + int __ret = (ret); \ + __dev_printf(__ret == -ENOMEDIUM ? MSG_STATE_ZERO_INIT : MSG_ERR, \ + (dev), "init error: %pe: " fmt, ERR_PTR(__ret), ##__VA_ARGS__); \ + __ret; \ +}) diff --git a/crypto/crc32.c b/crypto/crc32.c index 232c023adb..998cbc9de2 100644 --- a/crypto/crc32.c +++ b/crypto/crc32.c @@ -187,6 +187,18 @@ STATIC uint32_t crc32_no_comp(uint32_t crc, const void *_buf, unsigned int len) return crc; } +STATIC uint32_t crc32_be(uint32_t crc, const void *_buf, unsigned int len) +{ + const unsigned char *buf = _buf; + int i; + while (len--) { + crc ^= *buf++ << 24; + for (i = 0; i < 8; i++) + crc = (crc << 1) ^ ((crc & 0x80000000) ? 0x04c11db7 : 0); + } + return crc; +} + STATIC int file_crc(char *filename, ulong start, ulong size, ulong *crc, ulong *total) { diff --git a/drivers/Kconfig b/drivers/Kconfig index f8d58b0697..01b659b02c 100644 --- a/drivers/Kconfig +++ b/drivers/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only menu "Drivers" source "drivers/base/Kconfig" diff --git a/drivers/Makefile b/drivers/Makefile index 04ab9770fb..10ec145be5 100644 --- a/drivers/Makefile +++ b/drivers/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-y += base/ obj-y += block/ obj-$(CONFIG_ARM_AMBA) += amba/ diff --git a/drivers/aiodev/Kconfig b/drivers/aiodev/Kconfig index 6ed5ffe4cf..b0af2ebfd3 100644 --- a/drivers/aiodev/Kconfig +++ b/drivers/aiodev/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only # # Misc strange devices # diff --git a/drivers/aiodev/Makefile b/drivers/aiodev/Makefile index b2fa919c68..4c92a403a2 100644 --- a/drivers/aiodev/Makefile +++ b/drivers/aiodev/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_AIODEV) += core.o obj-$(CONFIG_IMX_THERMAL) += imx_thermal.o diff --git a/drivers/aiodev/core.c b/drivers/aiodev/core.c index 945494a6e7..9f5c422500 100644 --- a/drivers/aiodev/core.c +++ b/drivers/aiodev/core.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * core.c - Code implementing core functionality of AIODEV susbsystem * diff --git a/drivers/aiodev/imx_thermal.c b/drivers/aiodev/imx_thermal.c index ecc05ec9b7..0bc84ee160 100644 --- a/drivers/aiodev/imx_thermal.c +++ b/drivers/aiodev/imx_thermal.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * imx_thermal * diff --git a/drivers/aiodev/mc13xxx_adc.c b/drivers/aiodev/mc13xxx_adc.c index 5e4e44ebd4..13436e8936 100644 --- a/drivers/aiodev/mc13xxx_adc.c +++ b/drivers/aiodev/mc13xxx_adc.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * mc13xxx_adc * diff --git a/drivers/aiodev/rockchip_saradc.c b/drivers/aiodev/rockchip_saradc.c index 302f73c2c3..707df71950 100644 --- a/drivers/aiodev/rockchip_saradc.c +++ b/drivers/aiodev/rockchip_saradc.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2021, WolfVision GmbH * Author: Michael Riesch <michael.riesch@wolfvision.net> diff --git a/drivers/aiodev/stm32-adc-core.c b/drivers/aiodev/stm32-adc-core.c index 410e2a894e..43abed8386 100644 --- a/drivers/aiodev/stm32-adc-core.c +++ b/drivers/aiodev/stm32-adc-core.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2018, STMicroelectronics - All Rights Reserved * Author: Fabrice Gasnier <fabrice.gasnier@st.com> diff --git a/drivers/aiodev/stm32-adc-core.h b/drivers/aiodev/stm32-adc-core.h index de6c0b9495..29695c3e58 100644 --- a/drivers/aiodev/stm32-adc-core.h +++ b/drivers/aiodev/stm32-adc-core.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright (C) 2018, STMicroelectronics - All Rights Reserved * Author: Fabrice Gasnier <fabrice.gasnier@st.com>. diff --git a/drivers/aiodev/stm32-adc.c b/drivers/aiodev/stm32-adc.c index c99b995eaf..930708d4df 100644 --- a/drivers/aiodev/stm32-adc.c +++ b/drivers/aiodev/stm32-adc.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2018, STMicroelectronics - All Rights Reserved * Author: Fabrice Gasnier <fabrice.gasnier@st.com> diff --git a/drivers/amba/Kconfig b/drivers/amba/Kconfig index 57f72e4e68..444d4ce743 100644 --- a/drivers/amba/Kconfig +++ b/drivers/amba/Kconfig @@ -1,3 +1,3 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only config ARM_AMBA bool diff --git a/drivers/amba/Makefile b/drivers/amba/Makefile index 24e487624b..28a8dd76cf 100644 --- a/drivers/amba/Makefile +++ b/drivers/amba/Makefile @@ -1,3 +1,3 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-y += bus.o diff --git a/drivers/amba/bus.c b/drivers/amba/bus.c index aec66fd660..571aa0e8bf 100644 --- a/drivers/amba/bus.c +++ b/drivers/amba/bus.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2003 Deep Blue Solutions Ltd, All Rights Reserved. * Copyright (c) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig index 2a74031e43..010b7ad732 100644 --- a/drivers/ata/Kconfig +++ b/drivers/ata/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only menuconfig DISK select BLOCK select PARTITION diff --git a/drivers/ata/Makefile b/drivers/ata/Makefile index 2c5b9740dd..aeccf89ac1 100644 --- a/drivers/ata/Makefile +++ b/drivers/ata/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only # drive types obj-$(CONFIG_DISK_IDE_SFF) += ide-sff.o diff --git a/drivers/ata/ide-sff.c b/drivers/ata/ide-sff.c index dd8fab16aa..7884b62bab 100644 --- a/drivers/ata/ide-sff.c +++ b/drivers/ata/ide-sff.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <ata_drive.h> #include <io.h> diff --git a/drivers/ata/sata-imx.c b/drivers/ata/sata-imx.c index f423a9f2ae..9415e34055 100644 --- a/drivers/ata/sata-imx.c +++ b/drivers/ata/sata-imx.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <ata_drive.h> #include <io.h> diff --git a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c index 4f0ffd4f12..3b55c71d67 100644 --- a/drivers/ata/sata_mv.c +++ b/drivers/ata/sata_mv.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <clock.h> #include <driver.h> diff --git a/drivers/base/Kconfig b/drivers/base/Kconfig index a7abb79d27..5bc70aa1e5 100644 --- a/drivers/base/Kconfig +++ b/drivers/base/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only config PM_GENERIC_DOMAINS bool diff --git a/drivers/base/Makefile b/drivers/base/Makefile index 3fcd6f9056..59645c6f53 100644 --- a/drivers/base/Makefile +++ b/drivers/base/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-y += bus.o obj-y += driver.o obj-y += platform.o diff --git a/drivers/base/bus.c b/drivers/base/bus.c index d201e3f5e1..3c2bab937a 100644 --- a/drivers/base/bus.c +++ b/drivers/base/bus.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> */ diff --git a/drivers/base/driver.c b/drivers/base/driver.c index 3b22a95e17..dd965eb165 100644 --- a/drivers/base/driver.c +++ b/drivers/base/driver.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * driver.c - barebox driver model * @@ -10,6 +10,8 @@ * @brief barebox's driver model, and devinfo command */ +#define dev_err_probe dev_err_probe + #include <common.h> #include <command.h> #include <deep-probe.h> @@ -535,3 +537,50 @@ const void *device_get_match_data(struct device_d *dev) return NULL; } + +/** + * dev_err_probe - probe error check and log helper + * @loglevel: log level configured in source file + * @dev: the pointer to the struct device + * @err: error value to test + * @fmt: printf-style format string + * @...: arguments as specified in the format string + * + * This helper implements common pattern present in probe functions for error + * checking: print debug or error message depending if the error value is + * -EPROBE_DEFER and propagate error upwards. + * In case of -EPROBE_DEFER it sets also defer probe reason, which can be + * checked later by reading devices_deferred debugfs attribute. + * It replaces code sequence:: + * + * if (err != -EPROBE_DEFER) + * dev_err(dev, ...); + * else + * dev_dbg(dev, ...); + * return err; + * + * with:: + * + * return dev_err_probe(dev, err, ...); + * + * Returns @err. + * + */ +int dev_err_probe(const struct device_d *dev, int err, const char *fmt, ...); +int dev_err_probe(const struct device_d *dev, int err, const char *fmt, ...) +{ + struct va_format vaf; + va_list args; + + va_start(args, fmt); + vaf.fmt = fmt; + vaf.va = &args; + + dev_printf(err == -EPROBE_DEFER ? MSG_DEBUG : MSG_ERR, + dev, "error %pe: %pV", ERR_PTR(err), &vaf); + + va_end(args); + + return err; +} +EXPORT_SYMBOL_GPL(dev_err_probe); diff --git a/drivers/base/platform.c b/drivers/base/platform.c index 7de3d9557e..2fb73917b4 100644 --- a/drivers/base/platform.c +++ b/drivers/base/platform.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * bus.c - barebox driver model * diff --git a/drivers/base/power.c b/drivers/base/power.c index b68c9a11a5..96cac1a091 100644 --- a/drivers/base/power.c +++ b/drivers/base/power.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <driver.h> #include <errno.h> diff --git a/drivers/base/regmap/Makefile b/drivers/base/regmap/Makefile index 14a4a9372c..b136a72409 100644 --- a/drivers/base/regmap/Makefile +++ b/drivers/base/regmap/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-y += regmap.o obj-y += regmap-mmio.o obj-$(CONFIG_I2C) += regmap-i2c.o diff --git a/drivers/base/regmap/internal.h b/drivers/base/regmap/internal.h index be5e348f81..05f8f8d622 100644 --- a/drivers/base/regmap/internal.h +++ b/drivers/base/regmap/internal.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ #ifndef REGMAP_INTERNAL_H_ #define REGMAP_INTERNAL_H_ diff --git a/drivers/base/regmap/regmap-i2c.c b/drivers/base/regmap/regmap-i2c.c index 88b24ae6a8..5e3705162c 100644 --- a/drivers/base/regmap/regmap-i2c.c +++ b/drivers/base/regmap/regmap-i2c.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2021, Ahmad Fatoum, Pengutronix */ diff --git a/drivers/base/regmap/regmap-mmio.c b/drivers/base/regmap/regmap-mmio.c index 7ca95d6bea..c8422ca46f 100644 --- a/drivers/base/regmap/regmap-mmio.c +++ b/drivers/base/regmap/regmap-mmio.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only // // Register map access API - MMIO support // diff --git a/drivers/base/regmap/regmap.c b/drivers/base/regmap/regmap.c index c57c472f6d..35c462f962 100644 --- a/drivers/base/regmap/regmap.c +++ b/drivers/base/regmap/regmap.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Register map access API * diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig index e34b4929a8..68a11438dc 100644 --- a/drivers/block/Kconfig +++ b/drivers/block/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only config VIRTIO_BLK bool "Virtio block driver" depends on VIRTIO diff --git a/drivers/block/Makefile b/drivers/block/Makefile index 5748deec45..c50bdc1d02 100644 --- a/drivers/block/Makefile +++ b/drivers/block/Makefile @@ -1,3 +1,3 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_EFI_BOOTUP) += efi-block-io.o obj-$(CONFIG_VIRTIO_BLK) += virtio_blk.o diff --git a/drivers/block/efi-block-io.c b/drivers/block/efi-block-io.c index 5fd82296dc..ff0e467d2c 100644 --- a/drivers/block/efi-block-io.c +++ b/drivers/block/efi-block-io.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <driver.h> #include <init.h> diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c index 87ab505f83..660f3a7b6b 100644 --- a/drivers/block/virtio_blk.c +++ b/drivers/block/virtio_blk.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later /* * Copyright (C) 2018, Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi> * Copyright (C) 2018, Bin Meng <bmeng.cn@gmail.com> diff --git a/drivers/bus/Kconfig b/drivers/bus/Kconfig index b4237040a3..e622ed239c 100644 --- a/drivers/bus/Kconfig +++ b/drivers/bus/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only menu "Bus devices" config BUS_OMAP_GPMC diff --git a/drivers/bus/Makefile b/drivers/bus/Makefile index be2dacf5e8..2c54b3ea30 100644 --- a/drivers/bus/Makefile +++ b/drivers/bus/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_BUS_OMAP_GPMC) += omap-gpmc.o obj-$(CONFIG_IMX_WEIM) += imx-weim.o obj-$(CONFIG_MVEBU_MBUS) += mvebu-mbus.o diff --git a/drivers/bus/acpi.c b/drivers/bus/acpi.c index 54c6085657..63d3f618b4 100644 --- a/drivers/bus/acpi.c +++ b/drivers/bus/acpi.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2019 Ahmad Fatoum */ diff --git a/drivers/bus/imx-weim.c b/drivers/bus/imx-weim.c index 498e536064..01a35cfc9f 100644 --- a/drivers/bus/imx-weim.c +++ b/drivers/bus/imx-weim.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * EIM driver for Freescale's i.MX chips * diff --git a/drivers/bus/mvebu-mbus.c b/drivers/bus/mvebu-mbus.c index f0a1dfd2aa..46fe5dd398 100644 --- a/drivers/bus/mvebu-mbus.c +++ b/drivers/bus/mvebu-mbus.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Address map functions for Marvell EBU SoCs (Kirkwood, Armada * 370/XP, Dove, Orion5x and MV78xx0) diff --git a/drivers/bus/omap-gpmc.c b/drivers/bus/omap-gpmc.c index 960fd4658f..5f65d59911 100644 --- a/drivers/bus/omap-gpmc.c +++ b/drivers/bus/omap-gpmc.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * OMAP GPMC driver. Based upon the corresponding Linux Code * diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c index af52d839bd..ff9d2f81cd 100644 --- a/drivers/bus/ti-sysc.c +++ b/drivers/bus/ti-sysc.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright (C) 2019 Phytec Messtechnik GmbH, Teresa Remmet <t.remmet@phytec.de> */ diff --git a/drivers/clk/analogbits/Makefile b/drivers/clk/analogbits/Makefile index c893283ea5..e8a2ecdd50 100644 --- a/drivers/clk/analogbits/Makefile +++ b/drivers/clk/analogbits/Makefile @@ -1,3 +1,3 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-y += wrpll-cln28hpc.o diff --git a/drivers/clk/analogbits/wrpll-cln28hpc.c b/drivers/clk/analogbits/wrpll-cln28hpc.c index 5a3602649f..1aafaf2e65 100644 --- a/drivers/clk/analogbits/wrpll-cln28hpc.c +++ b/drivers/clk/analogbits/wrpll-cln28hpc.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2018-2019 SiFive, Inc. * Wesley Terpstra diff --git a/drivers/clk/at91/at91rm9200.c b/drivers/clk/at91/at91rm9200.c index 7f1f0ed2ce..dbefcd92d3 100644 --- a/drivers/clk/at91/at91rm9200.c +++ b/drivers/clk/at91/at91rm9200.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only // #include <driver.h> #include <regmap.h> diff --git a/drivers/clk/at91/at91sam9260.c b/drivers/clk/at91/at91sam9260.c index 50215b7a01..3348cc6637 100644 --- a/drivers/clk/at91/at91sam9260.c +++ b/drivers/clk/at91/at91sam9260.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <driver.h> #include <regmap.h> diff --git a/drivers/clk/at91/at91sam9g45.c b/drivers/clk/at91/at91sam9g45.c index a00a6a4342..95dc3d6e79 100644 --- a/drivers/clk/at91/at91sam9g45.c +++ b/drivers/clk/at91/at91sam9g45.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <driver.h> #include <regmap.h> diff --git a/drivers/clk/at91/at91sam9n12.c b/drivers/clk/at91/at91sam9n12.c index f06058febd..bf17099453 100644 --- a/drivers/clk/at91/at91sam9n12.c +++ b/drivers/clk/at91/at91sam9n12.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <driver.h> #include <regmap.h> diff --git a/drivers/clk/at91/at91sam9rl.c b/drivers/clk/at91/at91sam9rl.c index 51d71dcfca..19002c8dab 100644 --- a/drivers/clk/at91/at91sam9rl.c +++ b/drivers/clk/at91/at91sam9rl.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <driver.h> #include <regmap.h> diff --git a/drivers/clk/at91/at91sam9x5.c b/drivers/clk/at91/at91sam9x5.c index e59853e35d..f9f45ed6e8 100644 --- a/drivers/clk/at91/at91sam9x5.c +++ b/drivers/clk/at91/at91sam9x5.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <driver.h> #include <regmap.h> diff --git a/drivers/clk/at91/clk-i2s-mux.c b/drivers/clk/at91/clk-i2s-mux.c index 510ea24bbc..5e7040a5b7 100644 --- a/drivers/clk/at91/clk-i2s-mux.c +++ b/drivers/clk/at91/clk-i2s-mux.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2018 Microchip Technology Inc, * Codrin Ciubotariu <codrin.ciubotariu@microchip.com> diff --git a/drivers/clk/at91/clk-sam9x60-pll.c b/drivers/clk/at91/clk-sam9x60-pll.c index 744c3833bb..e94b3eec41 100644 --- a/drivers/clk/at91/clk-sam9x60-pll.c +++ b/drivers/clk/at91/clk-sam9x60-pll.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later /* * Copyright (C) 2019 Microchip Technology Inc. * diff --git a/drivers/clk/at91/sam9x60.c b/drivers/clk/at91/sam9x60.c index 9d54fa7fe1..5368b0dbc9 100644 --- a/drivers/clk/at91/sam9x60.c +++ b/drivers/clk/at91/sam9x60.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <driver.h> #include <regmap.h> diff --git a/drivers/clk/at91/sama5d2.c b/drivers/clk/at91/sama5d2.c index 1efa95d369..31c7259b91 100644 --- a/drivers/clk/at91/sama5d2.c +++ b/drivers/clk/at91/sama5d2.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <driver.h> #include <regmap.h> diff --git a/drivers/clk/at91/sama5d3.c b/drivers/clk/at91/sama5d3.c index 3f305ea5dd..f9c89dccee 100644 --- a/drivers/clk/at91/sama5d3.c +++ b/drivers/clk/at91/sama5d3.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <driver.h> #include <regmap.h> diff --git a/drivers/clk/at91/sama5d4.c b/drivers/clk/at91/sama5d4.c index 9a19dac5e3..2d6fc6df97 100644 --- a/drivers/clk/at91/sama5d4.c +++ b/drivers/clk/at91/sama5d4.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <driver.h> #include <regmap.h> diff --git a/drivers/clk/clk-bulk.c b/drivers/clk/clk-bulk.c index 0a0d0f2cb2..4510283962 100644 --- a/drivers/clk/clk-bulk.c +++ b/drivers/clk/clk-bulk.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright 2017 NXP * @@ -88,8 +88,8 @@ static int __must_check of_clk_bulk_get(struct device_node *np, int num_clks, clks[i].clk = of_clk_get(np, i); if (IS_ERR(clks[i].clk)) { ret = PTR_ERR(clks[i].clk); - pr_err("%pOF: Failed to get clk index: %d ret: %d\n", - np, i, ret); + pr_err("%s: Failed to get clk index: %d ret: %pe\n", + np->name, i, clks[i].clk); clks[i].clk = NULL; goto err; } diff --git a/drivers/clk/clk-fractional-divider.c b/drivers/clk/clk-fractional-divider.c index 3d96360025..d175921f64 100644 --- a/drivers/clk/clk-fractional-divider.c +++ b/drivers/clk/clk-fractional-divider.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2014 Intel Corporation * diff --git a/drivers/clk/clk-stm32mp1.c b/drivers/clk/clk-stm32mp1.c index 7ba71b4592..8f1ba96e63 100644 --- a/drivers/clk/clk-stm32mp1.c +++ b/drivers/clk/clk-stm32mp1.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) STMicroelectronics 2018 - All Rights Reserved * Author: Olivier Bideau <olivier.bideau@st.com> for STMicroelectronics. diff --git a/drivers/clk/imx/clk-composite-8m.c b/drivers/clk/imx/clk-composite-8m.c index 96fccc51d8..72534117f2 100644 --- a/drivers/clk/imx/clk-composite-8m.c +++ b/drivers/clk/imx/clk-composite-8m.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright 2018 NXP */ diff --git a/drivers/clk/imx/clk-imx8mm.c b/drivers/clk/imx/clk-imx8mm.c index 17cb0177f7..e6927f58f4 100644 --- a/drivers/clk/imx/clk-imx8mm.c +++ b/drivers/clk/imx/clk-imx8mm.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright 2017-2018 NXP. */ diff --git a/drivers/clk/imx/clk-imx8mn.c b/drivers/clk/imx/clk-imx8mn.c index ffce907781..a57bfffcb6 100644 --- a/drivers/clk/imx/clk-imx8mn.c +++ b/drivers/clk/imx/clk-imx8mn.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright 2018-2019 NXP. */ diff --git a/drivers/clk/imx/clk-imx8mp.c b/drivers/clk/imx/clk-imx8mp.c index 3299130aad..be395a6d55 100644 --- a/drivers/clk/imx/clk-imx8mp.c +++ b/drivers/clk/imx/clk-imx8mp.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright 2019 NXP. */ diff --git a/drivers/clk/imx/clk-imx8mq.c b/drivers/clk/imx/clk-imx8mq.c index 4072faacaf..2c21f75ea7 100644 --- a/drivers/clk/imx/clk-imx8mq.c +++ b/drivers/clk/imx/clk-imx8mq.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright 2018 NXP. * Copyright (C) 2017 Pengutronix, Lucas Stach <kernel@pengutronix.de> diff --git a/drivers/clk/imx/clk-pll14xx.c b/drivers/clk/imx/clk-pll14xx.c index bc837bd838..86286448e9 100644 --- a/drivers/clk/imx/clk-pll14xx.c +++ b/drivers/clk/imx/clk-pll14xx.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright 2017-2018 NXP. */ diff --git a/drivers/clk/loongson/Makefile b/drivers/clk/loongson/Makefile index e6d3c64300..bd452bad8f 100644 --- a/drivers/clk/loongson/Makefile +++ b/drivers/clk/loongson/Makefile @@ -1,3 +1,3 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_BOARD_LOONGSON_TECH_LS1B) += clk-ls1b200.o diff --git a/drivers/clk/rockchip/clk-rk3568.c b/drivers/clk/rockchip/clk-rk3568.c index 40ab7ee3d7..7f9c29316a 100644 --- a/drivers/clk/rockchip/clk-rk3568.c +++ b/drivers/clk/rockchip/clk-rk3568.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2021 Rockchip Electronics Co. Ltd. * Author: Elaine Zhang <zhangqing@rock-chips.com> diff --git a/drivers/clk/sifive/Kconfig b/drivers/clk/sifive/Kconfig index 6b3f4bc600..01343b305b 100644 --- a/drivers/clk/sifive/Kconfig +++ b/drivers/clk/sifive/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only menuconfig CLK_SIFIVE bool "SiFive SoC driver support" diff --git a/drivers/clk/sifive/fu540-prci.c b/drivers/clk/sifive/fu540-prci.c index e6379dfd6a..a7acd65b43 100644 --- a/drivers/clk/sifive/fu540-prci.c +++ b/drivers/clk/sifive/fu540-prci.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2018-2019 SiFive, Inc. * Copyright (C) 2018-2019 Wesley Terpstra diff --git a/drivers/clk/sifive/fu540-prci.h b/drivers/clk/sifive/fu540-prci.h index c220677dc0..b15ff494fd 100644 --- a/drivers/clk/sifive/fu540-prci.h +++ b/drivers/clk/sifive/fu540-prci.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright (C) 2020 SiFive, Inc. * Zong Li diff --git a/drivers/clk/sifive/fu740-prci.c b/drivers/clk/sifive/fu740-prci.c index 14df75f7f6..69afa68a5e 100644 --- a/drivers/clk/sifive/fu740-prci.c +++ b/drivers/clk/sifive/fu740-prci.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2020 SiFive, Inc. * Copyright (C) 2020 Zong Li diff --git a/drivers/clk/sifive/fu740-prci.h b/drivers/clk/sifive/fu740-prci.h index 13ef971f77..a459cca2da 100644 --- a/drivers/clk/sifive/fu740-prci.h +++ b/drivers/clk/sifive/fu740-prci.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright (C) 2020 SiFive, Inc. * Zong Li diff --git a/drivers/clk/sifive/sifive-prci.c b/drivers/clk/sifive/sifive-prci.c index fa0d1dc432..2ef10f9693 100644 --- a/drivers/clk/sifive/sifive-prci.c +++ b/drivers/clk/sifive/sifive-prci.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2020 SiFive, Inc. * Copyright (C) 2020 Zong Li diff --git a/drivers/clk/sifive/sifive-prci.h b/drivers/clk/sifive/sifive-prci.h index e7a04ae790..5ed6c0884b 100644 --- a/drivers/clk/sifive/sifive-prci.h +++ b/drivers/clk/sifive/sifive-prci.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright (C) 2018-2019 SiFive, Inc. * Wesley Terpstra diff --git a/drivers/clk/starfive/Makefile b/drivers/clk/starfive/Makefile index 4e9bf7f2ba..84abc31ca3 100644 --- a/drivers/clk/starfive/Makefile +++ b/drivers/clk/starfive/Makefile @@ -1,3 +1,3 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_SOC_STARFIVE_JH71XX) += jh7100-clkgen.o diff --git a/drivers/clk/starfive/clk.h b/drivers/clk/starfive/clk.h index cfbf116dcb..6a9993ee95 100644 --- a/drivers/clk/starfive/clk.h +++ b/drivers/clk/starfive/clk.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright 2021 Ahmad Fatoum, Pengutronix */ diff --git a/drivers/clk/starfive/jh7100-clkgen.c b/drivers/clk/starfive/jh7100-clkgen.c index df5353e8e6..36dc91991e 100644 --- a/drivers/clk/starfive/jh7100-clkgen.c +++ b/drivers/clk/starfive/jh7100-clkgen.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright 2021 Ahmad Fatoum, Pengutronix */ diff --git a/drivers/clk/zynqmp/clk-divider-zynqmp.c b/drivers/clk/zynqmp/clk-divider-zynqmp.c index b96cab615b..38c7baa0c6 100644 --- a/drivers/clk/zynqmp/clk-divider-zynqmp.c +++ b/drivers/clk/zynqmp/clk-divider-zynqmp.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Zynq UltraScale+ MPSoC Clock Divider * diff --git a/drivers/clk/zynqmp/clk-gate-zynqmp.c b/drivers/clk/zynqmp/clk-gate-zynqmp.c index 493c1dfeaa..7b5a432aa8 100644 --- a/drivers/clk/zynqmp/clk-gate-zynqmp.c +++ b/drivers/clk/zynqmp/clk-gate-zynqmp.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Zynq UltraScale+ MPSoC Clock Gate * diff --git a/drivers/clk/zynqmp/clk-mux-zynqmp.c b/drivers/clk/zynqmp/clk-mux-zynqmp.c index e7264375f5..29bd9e6ef0 100644 --- a/drivers/clk/zynqmp/clk-mux-zynqmp.c +++ b/drivers/clk/zynqmp/clk-mux-zynqmp.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Zynq UltraScale+ MPSoC Clock Multiplexer * diff --git a/drivers/clk/zynqmp/clk-pll-zynqmp.c b/drivers/clk/zynqmp/clk-pll-zynqmp.c index 2e24d9d01c..791f31a5a5 100644 --- a/drivers/clk/zynqmp/clk-pll-zynqmp.c +++ b/drivers/clk/zynqmp/clk-pll-zynqmp.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Zynq UltraScale+ MPSoC PLL Clock * diff --git a/drivers/clk/zynqmp/clk-zynqmp.h b/drivers/clk/zynqmp/clk-zynqmp.h index eeee9d2b5a..508660e7f0 100644 --- a/drivers/clk/zynqmp/clk-zynqmp.h +++ b/drivers/clk/zynqmp/clk-zynqmp.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright (C) 2016-2018 Xilinx */ diff --git a/drivers/clk/zynqmp/clkc.c b/drivers/clk/zynqmp/clkc.c index 86d85b6daa..d7ac0bdb36 100644 --- a/drivers/clk/zynqmp/clkc.c +++ b/drivers/clk/zynqmp/clkc.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Zynq UltraScale+ MPSoC Clock Controller * diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig index 951580a2e7..c6ca72d4e9 100644 --- a/drivers/clocksource/Kconfig +++ b/drivers/clocksource/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only menu "Clocksource" config ARCH_HAS_IMX_GPT diff --git a/drivers/clocksource/Makefile b/drivers/clocksource/Makefile index e0084e37a3..21fd83a093 100644 --- a/drivers/clocksource/Makefile +++ b/drivers/clocksource/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_AMBA_SP804) += amba-sp804.o obj-$(CONFIG_ARM_SMP_TWD) += arm_smp_twd.o obj-$(CONFIG_CLOCKSOURCE_BCM283X) += bcm2835.o diff --git a/drivers/clocksource/amba-sp804.c b/drivers/clocksource/amba-sp804.c index 475af64ded..a22e567301 100644 --- a/drivers/clocksource/amba-sp804.c +++ b/drivers/clocksource/amba-sp804.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnio@jcrosoft.com> */ diff --git a/drivers/clocksource/arm_global_timer.c b/drivers/clocksource/arm_global_timer.c index 78cd72d3eb..f18c6e4152 100644 --- a/drivers/clocksource/arm_global_timer.c +++ b/drivers/clocksource/arm_global_timer.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Clocksource driver for generic Cortex A9 timer block diff --git a/drivers/clocksource/arm_smp_twd.c b/drivers/clocksource/arm_smp_twd.c index 3fbc7fa3b3..bc0c4a00b2 100644 --- a/drivers/clocksource/arm_smp_twd.c +++ b/drivers/clocksource/arm_smp_twd.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnio@jcrosoft.com> */ diff --git a/drivers/clocksource/clps711x.c b/drivers/clocksource/clps711x.c index a99147f30c..cd09960478 100644 --- a/drivers/clocksource/clps711x.c +++ b/drivers/clocksource/clps711x.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later /* Author: Alexander Shiyan <shc_work@mail.ru> */ #include <common.h> diff --git a/drivers/clocksource/digic.c b/drivers/clocksource/digic.c index 1a1e6d86cd..1a335582b7 100644 --- a/drivers/clocksource/digic.c +++ b/drivers/clocksource/digic.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2013, 2014 Antony Pavlov <antonynpavlov@gmail.com> * diff --git a/drivers/clocksource/dw_apb_timer.c b/drivers/clocksource/dw_apb_timer.c index d4773dc2f1..aef4f16d14 100644 --- a/drivers/clocksource/dw_apb_timer.c +++ b/drivers/clocksource/dw_apb_timer.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * (C) Copyright 2009 Intel Corporation * Author: Jacob Pan (jacob.jun.pan@intel.com) diff --git a/drivers/clocksource/efi.c b/drivers/clocksource/efi.c index 924ab1c346..5c8c5fd46b 100644 --- a/drivers/clocksource/efi.c +++ b/drivers/clocksource/efi.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2017 Jean-Christophe PLAGNIOL-VILLARD <plagnio@jcrosoft.com> */ diff --git a/drivers/clocksource/efi_x86.c b/drivers/clocksource/efi_x86.c index 75163d6e47..c9b6c44a1e 100644 --- a/drivers/clocksource/efi_x86.c +++ b/drivers/clocksource/efi_x86.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <init.h> #include <driver.h> diff --git a/drivers/clocksource/nomadik.c b/drivers/clocksource/nomadik.c index 25888b757a..d71d9da6b8 100644 --- a/drivers/clocksource/nomadik.c +++ b/drivers/clocksource/nomadik.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * linux/arch/arm/mach-nomadik/timer.c * diff --git a/drivers/clocksource/timer-clint.c b/drivers/clocksource/timer-clint.c index 412ce3e1e9..d48b5bcba0 100644 --- a/drivers/clocksource/timer-clint.c +++ b/drivers/clocksource/timer-clint.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2020 Western Digital Corporation or its affiliates. * diff --git a/drivers/clocksource/timer-riscv.c b/drivers/clocksource/timer-riscv.c index 96637f988a..c7af54fc8f 100644 --- a/drivers/clocksource/timer-riscv.c +++ b/drivers/clocksource/timer-riscv.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2012 Regents of the University of California * Copyright (C) 2017 SiFive diff --git a/drivers/clocksource/uemd.c b/drivers/clocksource/uemd.c index fe7921a44d..342260c564 100644 --- a/drivers/clocksource/uemd.c +++ b/drivers/clocksource/uemd.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2014 Antony Pavlov <antonynpavlov@gmail.com> * diff --git a/drivers/crypto/Kconfig b/drivers/crypto/Kconfig index c6f6dc3ace..6b7966e5c2 100644 --- a/drivers/crypto/Kconfig +++ b/drivers/crypto/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only menuconfig CRYPTO_HW bool "Hardware crypto devices" diff --git a/drivers/crypto/Makefile b/drivers/crypto/Makefile index 167efe66de..475dcf2def 100644 --- a/drivers/crypto/Makefile +++ b/drivers/crypto/Makefile @@ -1,3 +1,3 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_CRYPTO_DEV_FSL_CAAM) += caam/ obj-$(CONFIG_CRYPTO_DEV_MXC_SCC) += imx-scc/ diff --git a/drivers/crypto/caam/Kconfig b/drivers/crypto/caam/Kconfig index e2e5c97931..0d2554e586 100644 --- a/drivers/crypto/caam/Kconfig +++ b/drivers/crypto/caam/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only config CRYPTO_DEV_FSL_CAAM bool "Freescale CAAM-Multicore driver backend" depends on ARCH_IMX6 || COMPILE_TEST diff --git a/drivers/crypto/caam/Makefile b/drivers/crypto/caam/Makefile index 8483562998..2d5079b4a5 100644 --- a/drivers/crypto/caam/Makefile +++ b/drivers/crypto/caam/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only # # Makefile for the CAAM backend and dependent components # diff --git a/drivers/crypto/caam/caam-blobgen.c b/drivers/crypto/caam/caam-blobgen.c index 7788a186cc..be4696f58c 100644 --- a/drivers/crypto/caam/caam-blobgen.c +++ b/drivers/crypto/caam/caam-blobgen.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2015 Pengutronix, Steffen Trumtrar <kernel@pengutronix.de> */ diff --git a/drivers/crypto/caam/caamrng.c b/drivers/crypto/caam/caamrng.c index ed50f0ea16..3283e5f321 100644 --- a/drivers/crypto/caam/caamrng.c +++ b/drivers/crypto/caam/caamrng.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * caam - Freescale FSL CAAM support for hw_random * diff --git a/drivers/crypto/caam/ctrl.c b/drivers/crypto/caam/ctrl.c index f4c8d05cf2..e271051575 100644 --- a/drivers/crypto/caam/ctrl.c +++ b/drivers/crypto/caam/ctrl.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * CAAM control-plane driver backend * Controller-level driver, kernel property detection, initialization diff --git a/drivers/crypto/caam/ctrl.h b/drivers/crypto/caam/ctrl.h index 5e75fa4741..4baf634688 100644 --- a/drivers/crypto/caam/ctrl.h +++ b/drivers/crypto/caam/ctrl.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /* * CAAM control-plane driver backend public-level include definitions * diff --git a/drivers/crypto/caam/desc.h b/drivers/crypto/caam/desc.h index 8796084dba..a7966a8781 100644 --- a/drivers/crypto/caam/desc.h +++ b/drivers/crypto/caam/desc.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /* * CAAM descriptor composition header * Definitions to support CAAM descriptor instruction generation diff --git a/drivers/crypto/caam/desc_constr.h b/drivers/crypto/caam/desc_constr.h index 48e02b0da6..b8f0c46326 100644 --- a/drivers/crypto/caam/desc_constr.h +++ b/drivers/crypto/caam/desc_constr.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /* * caam descriptor construction helper functions * diff --git a/drivers/crypto/caam/error.c b/drivers/crypto/caam/error.c index d1123a9095..b737e5b0a9 100644 --- a/drivers/crypto/caam/error.c +++ b/drivers/crypto/caam/error.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * CAAM Error Reporting * diff --git a/drivers/crypto/caam/error.h b/drivers/crypto/caam/error.h index a5541f2df2..faaf62aec8 100644 --- a/drivers/crypto/caam/error.h +++ b/drivers/crypto/caam/error.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /* * CAAM Error Reporting code header * diff --git a/drivers/crypto/caam/intern.h b/drivers/crypto/caam/intern.h index 8f8129a673..5064974ff3 100644 --- a/drivers/crypto/caam/intern.h +++ b/drivers/crypto/caam/intern.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /* * CAAM/SEC 4.x driver backend * Private/internal definitions between modules diff --git a/drivers/crypto/caam/jr.c b/drivers/crypto/caam/jr.c index d4fe26762b..70e016486a 100644 --- a/drivers/crypto/caam/jr.c +++ b/drivers/crypto/caam/jr.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * CAAM/SEC 4.x transport/backend driver * JobR backend functionality diff --git a/drivers/crypto/caam/jr.h b/drivers/crypto/caam/jr.h index 8c8164f307..684511affe 100644 --- a/drivers/crypto/caam/jr.h +++ b/drivers/crypto/caam/jr.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /* * CAAM public-level include definitions for the JobR backend * diff --git a/drivers/crypto/caam/regs.h b/drivers/crypto/caam/regs.h index 8fa4d633ca..f80ece94fd 100644 --- a/drivers/crypto/caam/regs.h +++ b/drivers/crypto/caam/regs.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /* * CAAM hardware register-level view * diff --git a/drivers/crypto/imx-scc/Kconfig b/drivers/crypto/imx-scc/Kconfig index 63af8242bd..c5b0ac2e83 100644 --- a/drivers/crypto/imx-scc/Kconfig +++ b/drivers/crypto/imx-scc/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only config CRYPTO_DEV_MXC_SCC tristate "Support for Freescale Security Controller (SCC)" depends on (ARCH_IMX25 || COMPILE_TEST) && OFTREE diff --git a/drivers/crypto/imx-scc/Makefile b/drivers/crypto/imx-scc/Makefile index c02ce5f33c..5331d7ba83 100644 --- a/drivers/crypto/imx-scc/Makefile +++ b/drivers/crypto/imx-scc/Makefile @@ -1,3 +1,3 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_CRYPTO_DEV_MXC_SCC) += scc.o obj-$(CONFIG_CRYPTO_DEV_MXC_SCC_BLOB_GEN) += scc-blobgen.o diff --git a/drivers/crypto/imx-scc/scc-blobgen.c b/drivers/crypto/imx-scc/scc-blobgen.c index 93010f2813..7554cbce37 100644 --- a/drivers/crypto/imx-scc/scc-blobgen.c +++ b/drivers/crypto/imx-scc/scc-blobgen.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2016 Pengutronix, Steffen Trumtrar <kernel@pengutronix.de> */ diff --git a/drivers/crypto/imx-scc/scc.c b/drivers/crypto/imx-scc/scc.c index 26df089ecd..f2c004f7fd 100644 --- a/drivers/crypto/imx-scc/scc.c +++ b/drivers/crypto/imx-scc/scc.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2016 Pengutronix, Steffen Trumtrar <kernel@pengutronix.de> * diff --git a/drivers/crypto/imx-scc/scc.h b/drivers/crypto/imx-scc/scc.h index 1b67c022a0..77161d25a4 100644 --- a/drivers/crypto/imx-scc/scc.h +++ b/drivers/crypto/imx-scc/scc.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright (C) 2016 Pengutronix, Steffen Trumtrar <kernel@pengutronix.de> */ diff --git a/drivers/ddr/Kconfig b/drivers/ddr/Kconfig index d3eeada1fc..17d01ab658 100644 --- a/drivers/ddr/Kconfig +++ b/drivers/ddr/Kconfig @@ -1,3 +1,3 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only source "drivers/ddr/fsl/Kconfig" source "drivers/ddr/imx8m/Kconfig" diff --git a/drivers/ddr/Makefile b/drivers/ddr/Makefile index c005ffc84d..0b5ac949a4 100644 --- a/drivers/ddr/Makefile +++ b/drivers/ddr/Makefile @@ -1,3 +1,3 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_DDR_FSL) += fsl/ obj-$(CONFIG_IMX8M_DRAM) += imx8m/ diff --git a/drivers/ddr/fsl/Kconfig b/drivers/ddr/fsl/Kconfig index 32f4b47a51..48f553b0c4 100644 --- a/drivers/ddr/fsl/Kconfig +++ b/drivers/ddr/fsl/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only config DDR_FSL bool "Freescale DDR support" depends on ARCH_LAYERSCAPE diff --git a/drivers/ddr/fsl/Makefile b/drivers/ddr/fsl/Makefile index 86ac4b820a..394ae55383 100644 --- a/drivers/ddr/fsl/Makefile +++ b/drivers/ddr/fsl/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only # # Copyright 2008-2014 Freescale Semiconductor, Inc. diff --git a/drivers/ddr/fsl/arm_ddr_gen3.c b/drivers/ddr/fsl/arm_ddr_gen3.c index c016917a3f..a8b96f1261 100644 --- a/drivers/ddr/fsl/arm_ddr_gen3.c +++ b/drivers/ddr/fsl/arm_ddr_gen3.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later /* * Copyright 2013 Freescale Semiconductor, Inc. * diff --git a/drivers/ddr/fsl/ctrl_regs.c b/drivers/ddr/fsl/ctrl_regs.c index eb99e0ea21..b0d98a929c 100644 --- a/drivers/ddr/fsl/ctrl_regs.c +++ b/drivers/ddr/fsl/ctrl_regs.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later /* * Copyright 2008-2016 Freescale Semiconductor, Inc. * Copyright 2017-2018 NXP Semiconductor diff --git a/drivers/ddr/fsl/ddr1_dimm_params.c b/drivers/ddr/fsl/ddr1_dimm_params.c index 268bf5bde4..f5f9067073 100644 --- a/drivers/ddr/fsl/ddr1_dimm_params.c +++ b/drivers/ddr/fsl/ddr1_dimm_params.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright 2008 Freescale Semiconductor, Inc. */ diff --git a/drivers/ddr/fsl/ddr2_dimm_params.c b/drivers/ddr/fsl/ddr2_dimm_params.c index 3f8b56330d..e33a8ded48 100644 --- a/drivers/ddr/fsl/ddr2_dimm_params.c +++ b/drivers/ddr/fsl/ddr2_dimm_params.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright 2008 Freescale Semiconductor, Inc. */ diff --git a/drivers/ddr/fsl/ddr3_dimm_params.c b/drivers/ddr/fsl/ddr3_dimm_params.c index 1665e792c3..92012a5af9 100644 --- a/drivers/ddr/fsl/ddr3_dimm_params.c +++ b/drivers/ddr/fsl/ddr3_dimm_params.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright 2008-2012 Freescale Semiconductor, Inc. * Dave Liu <daveliu@freescale.com> diff --git a/drivers/ddr/fsl/ddr4_dimm_params.c b/drivers/ddr/fsl/ddr4_dimm_params.c index f39b6e2853..0be2de8de6 100644 --- a/drivers/ddr/fsl/ddr4_dimm_params.c +++ b/drivers/ddr/fsl/ddr4_dimm_params.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later /* * Copyright 2014-2016 Freescale Semiconductor, Inc. * Copyright 2017-2018 NXP Semiconductor diff --git a/drivers/ddr/fsl/fsl_ddr.h b/drivers/ddr/fsl/fsl_ddr.h index ab991a5bf4..459a7ee8e8 100644 --- a/drivers/ddr/fsl/fsl_ddr.h +++ b/drivers/ddr/fsl/fsl_ddr.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright 2008-2016 Freescale Semiconductor, Inc. * Copyright 2017-2018 NXP Semiconductor diff --git a/drivers/ddr/fsl/fsl_ddr_gen4.c b/drivers/ddr/fsl/fsl_ddr_gen4.c index ac68e4ff03..147ff9916d 100644 --- a/drivers/ddr/fsl/fsl_ddr_gen4.c +++ b/drivers/ddr/fsl/fsl_ddr_gen4.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later /* * Copyright 2014-2015 Freescale Semiconductor, Inc. */ diff --git a/drivers/ddr/fsl/lc_common_dimm_params.c b/drivers/ddr/fsl/lc_common_dimm_params.c index 2de4cca9cc..0ed6b6e347 100644 --- a/drivers/ddr/fsl/lc_common_dimm_params.c +++ b/drivers/ddr/fsl/lc_common_dimm_params.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright 2008-2016 Freescale Semiconductor, Inc. * Copyright 2017-2018 NXP Semiconductor diff --git a/drivers/ddr/fsl/main.c b/drivers/ddr/fsl/main.c index b0df34c933..aa2f2e1aa1 100644 --- a/drivers/ddr/fsl/main.c +++ b/drivers/ddr/fsl/main.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright 2008-2014 Freescale Semiconductor, Inc. */ diff --git a/drivers/ddr/fsl/options.c b/drivers/ddr/fsl/options.c index 73e9ab044e..5bfeeab495 100644 --- a/drivers/ddr/fsl/options.c +++ b/drivers/ddr/fsl/options.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later /* * Copyright 2008, 2010-2016 Freescale Semiconductor, Inc. * Copyright 2017-2018 NXP Semiconductor diff --git a/drivers/ddr/fsl/util.c b/drivers/ddr/fsl/util.c index 1775b08be3..ca7bf3e81b 100644 --- a/drivers/ddr/fsl/util.c +++ b/drivers/ddr/fsl/util.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright 2008-2014 Freescale Semiconductor, Inc. */ diff --git a/drivers/ddr/imx8m/Kconfig b/drivers/ddr/imx8m/Kconfig index 47540b4782..720448f551 100644 --- a/drivers/ddr/imx8m/Kconfig +++ b/drivers/ddr/imx8m/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only menu "i.MX8M DDR controllers" depends on ARCH_IMX8MQ || ARCH_IMX8MM || ARCH_IMX8MN || ARCH_IMX8MP diff --git a/drivers/ddr/imx8m/ddr_init.c b/drivers/ddr/imx8m/ddr_init.c index 95ac76efcd..ae05b13622 100644 --- a/drivers/ddr/imx8m/ddr_init.c +++ b/drivers/ddr/imx8m/ddr_init.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later /* * Copyright 2018-2019 NXP */ diff --git a/drivers/ddr/imx8m/ddrphy_csr.c b/drivers/ddr/imx8m/ddrphy_csr.c index 2e08d111be..d1cbf8f880 100644 --- a/drivers/ddr/imx8m/ddrphy_csr.c +++ b/drivers/ddr/imx8m/ddrphy_csr.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later /* * Copyright 2018 NXP */ diff --git a/drivers/ddr/imx8m/ddrphy_train.c b/drivers/ddr/imx8m/ddrphy_train.c index d930a2fffe..9dc20a4762 100644 --- a/drivers/ddr/imx8m/ddrphy_train.c +++ b/drivers/ddr/imx8m/ddrphy_train.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later /* * Copyright 2018 NXP */ diff --git a/drivers/ddr/imx8m/ddrphy_utils.c b/drivers/ddr/imx8m/ddrphy_utils.c index 79bb76c35a..c5d94e3050 100644 --- a/drivers/ddr/imx8m/ddrphy_utils.c +++ b/drivers/ddr/imx8m/ddrphy_utils.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later /* * Copyright 2018 NXP */ diff --git a/drivers/ddr/imx8m/helper.c b/drivers/ddr/imx8m/helper.c index 209c55f552..94bbb81157 100644 --- a/drivers/ddr/imx8m/helper.c +++ b/drivers/ddr/imx8m/helper.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later /* * Copyright 2018 NXP */ diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig index 2528b544de..4802bf522d 100644 --- a/drivers/dma/Kconfig +++ b/drivers/dma/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only menu "DMA support" config MXS_APBH_DMA diff --git a/drivers/dma/Makefile b/drivers/dma/Makefile index 19020831e2..39829cab50 100644 --- a/drivers/dma/Makefile +++ b/drivers/dma/Makefile @@ -1,3 +1,3 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_MXS_APBH_DMA) += apbh_dma.o obj-$(CONFIG_HAS_DMA) += map.o diff --git a/drivers/eeprom/Kconfig b/drivers/eeprom/Kconfig index 9de46a8782..6ae4717c7e 100644 --- a/drivers/eeprom/Kconfig +++ b/drivers/eeprom/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only menu "EEPROM support" config EEPROM_AT25 diff --git a/drivers/eeprom/Makefile b/drivers/eeprom/Makefile index 0f21bda69a..18473733d3 100644 --- a/drivers/eeprom/Makefile +++ b/drivers/eeprom/Makefile @@ -1,3 +1,3 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_EEPROM_AT25) += at25.o obj-$(CONFIG_EEPROM_AT24) += at24.o diff --git a/drivers/efi/Makefile b/drivers/efi/Makefile index 3f0be5b5d9..bd8fadac42 100644 --- a/drivers/efi/Makefile +++ b/drivers/efi/Makefile @@ -1,2 +1,2 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-y += efi-device.o diff --git a/drivers/efi/efi-device.c b/drivers/efi/efi-device.c index 955899b2d0..39724ec2f4 100644 --- a/drivers/efi/efi-device.c +++ b/drivers/efi/efi-device.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * efi-device.c - barebox EFI payload support * diff --git a/drivers/firmware/Kconfig b/drivers/firmware/Kconfig index de3e70afc2..ffba7146f7 100644 --- a/drivers/firmware/Kconfig +++ b/drivers/firmware/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only menu "Firmware Drivers" config FIRMWARE_ALTERA_SERIAL diff --git a/drivers/firmware/Makefile b/drivers/firmware/Makefile index f38c146087..d16469cf72 100644 --- a/drivers/firmware/Makefile +++ b/drivers/firmware/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_FIRMWARE_ALTERA_SERIAL) += altera_serial.o obj-$(CONFIG_FIRMWARE_ALTERA_SOCFPGA) += socfpga.o socfpga_sdr.o obj-$(CONFIG_FIRMWARE_ZYNQMP_FPGA) += zynqmp-fpga.o diff --git a/drivers/firmware/altera_serial.c b/drivers/firmware/altera_serial.c index 2b368240f8..dcb49ad4dd 100644 --- a/drivers/firmware/altera_serial.c +++ b/drivers/firmware/altera_serial.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2013 Juergen Beisert <kernel@pengutronix.de>, Pengutronix */ diff --git a/drivers/firmware/socfpga_sdr.S b/drivers/firmware/socfpga_sdr.S index 06da307694..9b0c2a59d8 100644 --- a/drivers/firmware/socfpga_sdr.S +++ b/drivers/firmware/socfpga_sdr.S @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ #include <linux/linkage.h> .arch armv7-a diff --git a/drivers/firmware/zynqmp-fpga.c b/drivers/firmware/zynqmp-fpga.c index b76607f7ee..a76600d4c9 100644 --- a/drivers/firmware/zynqmp-fpga.c +++ b/drivers/firmware/zynqmp-fpga.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Xilinx Zynq MPSoC PL loading * diff --git a/drivers/fpga/Kconfig b/drivers/fpga/Kconfig index fc2bf4612d..d0ba7719bf 100644 --- a/drivers/fpga/Kconfig +++ b/drivers/fpga/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only # # FPGA framework configuration # diff --git a/drivers/fpga/Makefile b/drivers/fpga/Makefile index 06ca070edb..493548ae72 100644 --- a/drivers/fpga/Makefile +++ b/drivers/fpga/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only # # Makefile for the fpga framework and fpga manager drivers. # diff --git a/drivers/fpga/fpga-bridge.c b/drivers/fpga/fpga-bridge.c index b8e87333f9..dd52b4cb20 100644 --- a/drivers/fpga/fpga-bridge.c +++ b/drivers/fpga/fpga-bridge.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * FPGA Bridge Framework Driver * diff --git a/drivers/fpga/socfpga-fpga2sdram-bridge.c b/drivers/fpga/socfpga-fpga2sdram-bridge.c index a9d5a85605..0b4ec39ee3 100644 --- a/drivers/fpga/socfpga-fpga2sdram-bridge.c +++ b/drivers/fpga/socfpga-fpga2sdram-bridge.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * FPGA to SDRAM Bridge Driver for Altera SoCFPGA Devices * diff --git a/drivers/fpga/socfpga-hps2fpga-bridge.c b/drivers/fpga/socfpga-hps2fpga-bridge.c index ae6af5defe..b41db4512f 100644 --- a/drivers/fpga/socfpga-hps2fpga-bridge.c +++ b/drivers/fpga/socfpga-hps2fpga-bridge.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * FPGA to/from HPS Bridge Driver for Altera SoCFPGA Devices * diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig index 371d2fce36..ab75fe4ed9 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only config GPIOLIB bool select GENERIC_GPIO diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile index d77d819f99..fcb6a232e0 100644 --- a/drivers/gpio/Makefile +++ b/drivers/gpio/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_GPIOLIB) += gpiolib.o obj-$(CONFIG_GPIO_74164) += gpio-74164.o diff --git a/drivers/gpio/gpio-clps711x.c b/drivers/gpio/gpio-clps711x.c index 44f40c36e4..67bce79bc3 100644 --- a/drivers/gpio/gpio-clps711x.c +++ b/drivers/gpio/gpio-clps711x.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later /* Author: Alexander Shiyan <shc_work@mail.ru> */ #include <init.h> diff --git a/drivers/gpio/gpio-raspberrypi-exp.c b/drivers/gpio/gpio-raspberrypi-exp.c index 0713e3ca5f..b68f19bfd0 100644 --- a/drivers/gpio/gpio-raspberrypi-exp.c +++ b/drivers/gpio/gpio-raspberrypi-exp.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later /* * Raspberry Pi 3 expander GPIO driver * diff --git a/drivers/gpio/gpio-sifive.c b/drivers/gpio/gpio-sifive.c index 58ffd87788..4d0e12b0a8 100644 --- a/drivers/gpio/gpio-sifive.c +++ b/drivers/gpio/gpio-sifive.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2019 SiFive */ diff --git a/drivers/gpio/gpio-starfive-vic.c b/drivers/gpio/gpio-starfive-vic.c index 4f8c0c6cd7..a20fe0f346 100644 --- a/drivers/gpio/gpio-starfive-vic.c +++ b/drivers/gpio/gpio-starfive-vic.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * COPYRIGHT 2020 Shanghai StarFive Technology Co., Ltd. */ diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c index eb296802c7..f709d11f75 100644 --- a/drivers/gpio/gpiolib.c +++ b/drivers/gpio/gpiolib.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #define pr_fmt(fmt) "gpiolib: " fmt #include <init.h> diff --git a/drivers/hab/Makefile b/drivers/hab/Makefile index 3b5269d090..61ffa07e04 100644 --- a/drivers/hab/Makefile +++ b/drivers/hab/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_HABV4) += habv4.o obj-$(CONFIG_HABV3) += habv3.o obj-$(CONFIG_HAB) += hab.o diff --git a/drivers/hab/hab.c b/drivers/hab/hab.c index b400da65b0..2746f27a1e 100644 --- a/drivers/hab/hab.c +++ b/drivers/hab/hab.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #define pr_fmt(fmt) "HAB: " fmt #include <common.h> diff --git a/drivers/hab/habv3.c b/drivers/hab/habv3.c index a26fd63805..235db78c10 100644 --- a/drivers/hab/habv3.c +++ b/drivers/hab/habv3.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #define pr_fmt(fmt) "HABv3: " fmt #include <init.h> diff --git a/drivers/hw_random/Kconfig b/drivers/hw_random/Kconfig index af9837df84..4b4200b5db 100644 --- a/drivers/hw_random/Kconfig +++ b/drivers/hw_random/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only menuconfig HWRNG bool "HWRNG Support" help diff --git a/drivers/hw_random/Makefile b/drivers/hw_random/Makefile index 14193c2fb6..6fe21bb84c 100644 --- a/drivers/hw_random/Makefile +++ b/drivers/hw_random/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_HWRNG) += core.o obj-$(CONFIG_HWRNG_MXC_RNGC) += mxc-rngc.o obj-$(CONFIG_HWRNG_STM32) += stm32-rng.o diff --git a/drivers/hw_random/core.c b/drivers/hw_random/core.c index f487cb3864..f68ca070f5 100644 --- a/drivers/hw_random/core.c +++ b/drivers/hw_random/core.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2016 Pengutronix, Steffen Trumtrar <kernel@pengutronix.de> * diff --git a/drivers/hw_random/dev-random.c b/drivers/hw_random/dev-random.c index 2170db7437..d25cf681a4 100644 --- a/drivers/hw_random/dev-random.c +++ b/drivers/hw_random/dev-random.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2019 Ahmad Fatoum, Pengutronix */ diff --git a/drivers/hw_random/mxc-rngc.c b/drivers/hw_random/mxc-rngc.c index 1d17f00f67..9bc29de1c2 100644 --- a/drivers/hw_random/mxc-rngc.c +++ b/drivers/hw_random/mxc-rngc.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * RNG driver for Freescale RNGC * diff --git a/drivers/hw_random/starfive-vic-rng.c b/drivers/hw_random/starfive-vic-rng.c index f7b7585884..d90b495dd8 100644 --- a/drivers/hw_random/starfive-vic-rng.c +++ b/drivers/hw_random/starfive-vic-rng.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * COPYRIGHT 2020 Shanghai StarFive Technology Co., Ltd. */ diff --git a/drivers/i2c/Kconfig b/drivers/i2c/Kconfig index e7f3297ab9..a8c91e3db9 100644 --- a/drivers/i2c/Kconfig +++ b/drivers/i2c/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only menuconfig I2C bool "I2C drivers" diff --git a/drivers/i2c/Makefile b/drivers/i2c/Makefile index 76f16ce815..f8124bab2b 100644 --- a/drivers/i2c/Makefile +++ b/drivers/i2c/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-y += busses/ obj-$(CONFIG_I2C) += i2c.o i2c-smbus.o algos/ muxes/ obj-$(CONFIG_I2C_MUX) += i2c-mux.o diff --git a/drivers/i2c/algos/Kconfig b/drivers/i2c/algos/Kconfig index 27463e0524..0ebd8b7268 100644 --- a/drivers/i2c/algos/Kconfig +++ b/drivers/i2c/algos/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only # # I2C algorithm drivers configuration # diff --git a/drivers/i2c/algos/Makefile b/drivers/i2c/algos/Makefile index 05c6a10f83..65b4a0a339 100644 --- a/drivers/i2c/algos/Makefile +++ b/drivers/i2c/algos/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only # # Makefile for the i2c algorithms # diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig index df0aee1ec2..c1e76a0409 100644 --- a/drivers/i2c/busses/Kconfig +++ b/drivers/i2c/busses/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only # # Sensor device configuration # diff --git a/drivers/i2c/busses/Makefile b/drivers/i2c/busses/Makefile index 4198178ece..34a12fcbea 100644 --- a/drivers/i2c/busses/Makefile +++ b/drivers/i2c/busses/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_I2C_AT91) += i2c-at91.o obj-$(CONFIG_I2C_GPIO) += i2c-gpio.o obj-$(CONFIG_I2C_IMX) += i2c-imx.o diff --git a/drivers/i2c/busses/i2c-designware.c b/drivers/i2c/busses/i2c-designware.c index 6c5b07fe91..93b7af6623 100644 --- a/drivers/i2c/busses/i2c-designware.c +++ b/drivers/i2c/busses/i2c-designware.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Synopsys DesignWare I2C adapter driver (master only). * diff --git a/drivers/i2c/busses/i2c-gpio.c b/drivers/i2c/busses/i2c-gpio.c index 6ccd0cbaa3..ad0c4c8f82 100644 --- a/drivers/i2c/busses/i2c-gpio.c +++ b/drivers/i2c/busses/i2c-gpio.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Bitbanging I2C bus driver using the GPIO API * diff --git a/drivers/i2c/busses/i2c-imx.h b/drivers/i2c/busses/i2c-imx.h index 3b3ec483ce..f7157f48f2 100644 --- a/drivers/i2c/busses/i2c-imx.h +++ b/drivers/i2c/busses/i2c-imx.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ #ifndef I2C_IMX_H #define I2C_IMX_H diff --git a/drivers/i2c/busses/i2c-mv64xxx.c b/drivers/i2c/busses/i2c-mv64xxx.c index 0567d60ecb..765fc9926b 100644 --- a/drivers/i2c/busses/i2c-mv64xxx.c +++ b/drivers/i2c/busses/i2c-mv64xxx.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Driver for the i2c controller on the Marvell line of host bridges * (e.g, gt642[46]0, mv643[46]0, mv644[46]0, and Orion SoC family). diff --git a/drivers/i2c/busses/i2c-stm32.c b/drivers/i2c/busses/i2c-stm32.c index 971f2e68a4..d412630365 100644 --- a/drivers/i2c/busses/i2c-stm32.c +++ b/drivers/i2c/busses/i2c-stm32.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright 2017 STMicroelectronics * Copyright 2019 Ahmad Fatoum, Pengutronix diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c index 3fd019bc62..077b55e175 100644 --- a/drivers/i2c/busses/i2c-tegra.c +++ b/drivers/i2c/busses/i2c-tegra.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2014 Lucas Stach <l.stach@pengutronix.de> * diff --git a/drivers/i2c/i2c-mux.c b/drivers/i2c/i2c-mux.c index 68ca6c2f65..233d231525 100644 --- a/drivers/i2c/i2c-mux.c +++ b/drivers/i2c/i2c-mux.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Multiplexed I2C bus driver. * diff --git a/drivers/i2c/i2c-smbus.c b/drivers/i2c/i2c-smbus.c index 652d039cb0..ed90f76412 100644 --- a/drivers/i2c/i2c-smbus.c +++ b/drivers/i2c/i2c-smbus.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <errno.h> diff --git a/drivers/i2c/i2c.c b/drivers/i2c/i2c.c index 432d0e2333..b24fd88f5b 100644 --- a/drivers/i2c/i2c.c +++ b/drivers/i2c/i2c.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2009 Marc Kleine-Budde <mkl@pengutronix.de> * diff --git a/drivers/i2c/muxes/Kconfig b/drivers/i2c/muxes/Kconfig index 736195f596..035a58f757 100644 --- a/drivers/i2c/muxes/Kconfig +++ b/drivers/i2c/muxes/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only # # Multiplexer I2C chip drivers configuration # diff --git a/drivers/i2c/muxes/Makefile b/drivers/i2c/muxes/Makefile index a271c4fbcc..4266fd89f8 100644 --- a/drivers/i2c/muxes/Makefile +++ b/drivers/i2c/muxes/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only # # Makefile for multiplexer I2C chip drivers. diff --git a/drivers/i2c/muxes/i2c-mux-pca954x.c b/drivers/i2c/muxes/i2c-mux-pca954x.c index 5aec9fdd5f..f547527fed 100644 --- a/drivers/i2c/muxes/i2c-mux-pca954x.c +++ b/drivers/i2c/muxes/i2c-mux-pca954x.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * I2C multiplexer * diff --git a/drivers/input/Kconfig b/drivers/input/Kconfig index fe4c1413a0..52234c0ecc 100644 --- a/drivers/input/Kconfig +++ b/drivers/input/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only # # Input device configuration # diff --git a/drivers/input/Makefile b/drivers/input/Makefile index 608426cbde..703b78b972 100644 --- a/drivers/input/Makefile +++ b/drivers/input/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_INPUT) += input.o keymap.o obj-$(CONFIG_INPUT_MATRIXKMAP) += matrix-keymap.o obj-$(CONFIG_KEYBOARD_USB) += usb_kbd.o diff --git a/drivers/input/gpio_keys.c b/drivers/input/gpio_keys.c index f2491b563a..45b3c562f8 100644 --- a/drivers/input/gpio_keys.c +++ b/drivers/input/gpio_keys.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2011 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> */ diff --git a/drivers/input/imx_keypad.c b/drivers/input/imx_keypad.c index 1e67ea6099..9fac770421 100644 --- a/drivers/input/imx_keypad.c +++ b/drivers/input/imx_keypad.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Driver for the IMX keypad port. * Copyright (C) 2009 Alberto Panizzo <maramaopercheseimorto@gmail.com> diff --git a/drivers/input/input.c b/drivers/input/input.c index b853aa306a..deef5ddd22 100644 --- a/drivers/input/input.c +++ b/drivers/input/input.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <init.h> diff --git a/drivers/input/keymap.c b/drivers/input/keymap.c index 60d80164ad..a16e537a51 100644 --- a/drivers/input/keymap.c +++ b/drivers/input/keymap.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <linux/types.h> #include <input/keyboard.h> diff --git a/drivers/input/matrix-keymap.c b/drivers/input/matrix-keymap.c index 78493357d5..68dc5d2f06 100644 --- a/drivers/input/matrix-keymap.c +++ b/drivers/input/matrix-keymap.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <input/matrix_keypad.h> diff --git a/drivers/input/qt1070.c b/drivers/input/qt1070.c index 76a4d66255..120fec4841 100644 --- a/drivers/input/qt1070.c +++ b/drivers/input/qt1070.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> */ diff --git a/drivers/input/specialkeys.c b/drivers/input/specialkeys.c index a3f2bf4e4f..f9693dc383 100644 --- a/drivers/input/specialkeys.c +++ b/drivers/input/specialkeys.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only // Copyright (c) 2019 Ahmad Fatoum, Pengutronix #include <common.h> diff --git a/drivers/led/Kconfig b/drivers/led/Kconfig index 85999c3875..445393c101 100644 --- a/drivers/led/Kconfig +++ b/drivers/led/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only menuconfig LED bool "LED support" select POLLER diff --git a/drivers/led/Makefile b/drivers/led/Makefile index 9bc37d59a5..dfbcaf783b 100644 --- a/drivers/led/Makefile +++ b/drivers/led/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_LED) += core.o obj-$(CONFIG_LED_GPIO) += led-gpio.o obj-$(CONFIG_LED_PWM) += led-pwm.o diff --git a/drivers/mci/Kconfig b/drivers/mci/Kconfig index 4c38a41ad8..95a73a761c 100644 --- a/drivers/mci/Kconfig +++ b/drivers/mci/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only config MCI_SDHCI bool diff --git a/drivers/mci/Makefile b/drivers/mci/Makefile index 7a20e045a7..55ec97b3fe 100644 --- a/drivers/mci/Makefile +++ b/drivers/mci/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_MCI) += mci-core.o obj-$(CONFIG_MCI_ARASAN) += arasan-sdhci.o obj-$(CONFIG_MCI_ATMEL) += atmel_mci.o atmel_mci_common.o diff --git a/drivers/mci/bcm2835-sdhost.c b/drivers/mci/bcm2835-sdhost.c index f935ed5ea7..7e19c6eb1e 100644 --- a/drivers/mci/bcm2835-sdhost.c +++ b/drivers/mci/bcm2835-sdhost.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * This code is ported from U-Boot by Lucas Stach <l.stach@pengutronix.de> and * has the following contributors listed in the original license header: diff --git a/drivers/mci/imx-esdhc-common.c b/drivers/mci/imx-esdhc-common.c index 77d7e4d478..a12db43c88 100644 --- a/drivers/mci/imx-esdhc-common.c +++ b/drivers/mci/imx-esdhc-common.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <io.h> diff --git a/drivers/mci/mci-bcm2835.c b/drivers/mci/mci-bcm2835.c index 4913dc27f8..3380fa2afc 100644 --- a/drivers/mci/mci-bcm2835.c +++ b/drivers/mci/mci-bcm2835.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Raspberry PI MCI driver * @@ -10,8 +10,6 @@ * timing workarounds) obviously extracted from the Linux kernel at: * https://github.com/raspberrypi/linux.git rpi-3.6.y * - * The Linux kernel code has the following (c) - * * Author: Wilhelm Lundgren <wilhelm.lundgren@cybercom.com> */ @@ -352,10 +350,7 @@ static int bcm2835_mci_reset(struct mci_host *mci, struct device_d *mci_dev) sdhci_write32(&host->sdhci, SDHCI_INT_STATUS, 0xFFFFFFFF); - /*Now write command 0 and see if we get response*/ - sdhci_write32(&host->sdhci, SDHCI_ARGUMENT, 0x0); - sdhci_write32(&host->sdhci, SDHCI_TRANSFER_MODE__COMMAND, 0x0); - return bcm2835_mci_wait_command_done(host); + return 0; } static int bcm2835_mci_probe(struct device_d *hw_dev) diff --git a/drivers/mci/mci-bcm2835.h b/drivers/mci/mci-bcm2835.h index d59c91b506..608764c23d 100644 --- a/drivers/mci/mci-bcm2835.h +++ b/drivers/mci/mci-bcm2835.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ #define BCM2835_MCI_SLOTISR_VER 0xfc #define MIN_FREQ 400000 diff --git a/drivers/mci/sdhci.c b/drivers/mci/sdhci.c index 8b5520d682..8da32d57c2 100644 --- a/drivers/mci/sdhci.c +++ b/drivers/mci/sdhci.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <driver.h> diff --git a/drivers/mci/sdhci.h b/drivers/mci/sdhci.h index 2df73e3bec..c538385939 100644 --- a/drivers/mci/sdhci.h +++ b/drivers/mci/sdhci.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ #ifndef __MCI_SDHCI_H #define __MCI_SDHCI_H diff --git a/drivers/memory/Kconfig b/drivers/memory/Kconfig index 973931c770..e27695e981 100644 --- a/drivers/memory/Kconfig +++ b/drivers/memory/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only menu "Memory controller drivers" config MC_TEGRA124 diff --git a/drivers/memory/Makefile b/drivers/memory/Makefile index 498789bb58..39d1ba08ea 100644 --- a/drivers/memory/Makefile +++ b/drivers/memory/Makefile @@ -1,2 +1,2 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_MC_TEGRA124) += mc-tegra124.o diff --git a/drivers/memory/mc-tegra124.c b/drivers/memory/mc-tegra124.c index a9c546fc12..9a06fd03d8 100644 --- a/drivers/memory/mc-tegra124.c +++ b/drivers/memory/mc-tegra124.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * * Copyright (C) 2017 Lucas Stach <l.stach@pengutronix.de> */ diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig index c41f5dcd09..8468a2d1d1 100644 --- a/drivers/mfd/Kconfig +++ b/drivers/mfd/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only menu "Multifunction device drivers" config MFD_ACT8846 diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile index 508f22a5d7..2bcf90078a 100644 --- a/drivers/mfd/Makefile +++ b/drivers/mfd/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_MFD_ACT8846) += act8846.o obj-$(CONFIG_MFD_DA9053) += da9053.o obj-$(CONFIG_MFD_DA9063) += da9063.o diff --git a/drivers/mfd/fintek-superio.c b/drivers/mfd/fintek-superio.c index 60785bce27..3a036bf347 100644 --- a/drivers/mfd/fintek-superio.c +++ b/drivers/mfd/fintek-superio.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2019 Ahmad Fatoum, Pengutronix */ diff --git a/drivers/mfd/rave-sp.c b/drivers/mfd/rave-sp.c index ef569dd513..30d4bde5dc 100644 --- a/drivers/mfd/rave-sp.c +++ b/drivers/mfd/rave-sp.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later /* * Multifunction core driver for Zodiac Inflight Innovations RAVE diff --git a/drivers/mfd/smsc-superio.c b/drivers/mfd/smsc-superio.c index ff83aa1a44..d716fbae3f 100644 --- a/drivers/mfd/smsc-superio.c +++ b/drivers/mfd/smsc-superio.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2019 Ahmad Fatoum, Pengutronix */ diff --git a/drivers/mfd/stm32-timers.c b/drivers/mfd/stm32-timers.c index c53a25687e..4814c06a62 100644 --- a/drivers/mfd/stm32-timers.c +++ b/drivers/mfd/stm32-timers.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) STMicroelectronics 2016 * Author: Benjamin Gaignard <benjamin.gaignard@st.com> diff --git a/drivers/mfd/stpmic1.c b/drivers/mfd/stpmic1.c index 11154e742e..1de5afa2ef 100644 --- a/drivers/mfd/stpmic1.c +++ b/drivers/mfd/stpmic1.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2019 Ahmad Fatoum, Pengutronix */ diff --git a/drivers/mfd/superio.c b/drivers/mfd/superio.c index fff26968ea..bfb2f15dd2 100644 --- a/drivers/mfd/superio.c +++ b/drivers/mfd/superio.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2019 Ahmad Fatoum, Pengutronix */ diff --git a/drivers/mfd/twl-core.c b/drivers/mfd/twl-core.c index 4ecdac1ebe..8d809259e0 100644 --- a/drivers/mfd/twl-core.c +++ b/drivers/mfd/twl-core.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2011 Alexander Aring <a.aring@phytec.de> * diff --git a/drivers/mfd/twl4030.c b/drivers/mfd/twl4030.c index 11e520e61f..072a49cb62 100644 --- a/drivers/mfd/twl4030.c +++ b/drivers/mfd/twl4030.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2010 Michael Grzeschik <mgr@pengutronix.de> */ diff --git a/drivers/mfd/twl6030.c b/drivers/mfd/twl6030.c index 016d29c57c..1ed0e25c3a 100644 --- a/drivers/mfd/twl6030.c +++ b/drivers/mfd/twl6030.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2011 Alexander Aring <a.aring@phytec.de> */ diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig index bfdd6afc0d..5656914507 100644 --- a/drivers/misc/Kconfig +++ b/drivers/misc/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only # # Misc strange devices # diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile index 67c32bf74c..05da264a42 100644 --- a/drivers/misc/Makefile +++ b/drivers/misc/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only # # Makefile for misc devices that really don't fit anywhere else. # diff --git a/drivers/misc/acpi-test.c b/drivers/misc/acpi-test.c index 784c80cc5b..af20370fbc 100644 --- a/drivers/misc/acpi-test.c +++ b/drivers/misc/acpi-test.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2019 Ahmad Fatoum */ diff --git a/drivers/misc/mem.c b/drivers/misc/mem.c index 6dd7f687c9..1bf240c0a7 100644 --- a/drivers/misc/mem.c +++ b/drivers/misc/mem.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2011 Sascha Hauer <s.hauer@pengutronix.de>, Pengutronix */ diff --git a/drivers/misc/sram.c b/drivers/misc/sram.c index d45b5cb72f..f4a7551fc7 100644 --- a/drivers/misc/sram.c +++ b/drivers/misc/sram.c @@ -26,24 +26,17 @@ static int sram_probe(struct device_d *dev) { struct resource *iores; struct sram *sram; - struct resource *res; - void __iomem *base; int ret; iores = dev_request_mem_resource(dev, 0); if (IS_ERR(iores)) return PTR_ERR(iores); - base = IOMEM(iores->start); sram = xzalloc(sizeof(*sram)); sram->cdev.name = basprintf("sram%d", cdev_find_free_index("sram")); - res = dev_get_resource(dev, IORESOURCE_MEM, 0); - if (IS_ERR(res)) - return PTR_ERR(res); - - sram->cdev.size = (unsigned long)resource_size(res); + sram->cdev.size = (unsigned long)resource_size(iores); sram->cdev.ops = &memops; sram->cdev.dev = dev; diff --git a/drivers/misc/starfive-pwrseq.c b/drivers/misc/starfive-pwrseq.c index 6236547bc5..8527d12504 100644 --- a/drivers/misc/starfive-pwrseq.c +++ b/drivers/misc/starfive-pwrseq.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2021 Ahmad Fatoum, Pengutronix */ diff --git a/drivers/misc/state.c b/drivers/misc/state.c index 5da8e4ef91..cb0d9cf3ad 100644 --- a/drivers/misc/state.c +++ b/drivers/misc/state.c @@ -28,7 +28,9 @@ static int state_probe(struct device_d *dev) } ret = state_load(state); - if (ret) + if (ret == -ENOMEDIUM) + dev_info(dev, "Fresh state detected, continuing with defaults\n"); + else if (ret) dev_warn(dev, "Failed to load persistent state, continuing with defaults, %d\n", ret); diff --git a/drivers/misc/ubootvar.c b/drivers/misc/ubootvar.c index 27f2515e7d..d98a6ed9a7 100644 --- a/drivers/misc/ubootvar.c +++ b/drivers/misc/ubootvar.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later /* * U-Boot environment vriable blob driver diff --git a/drivers/mtd/Kconfig b/drivers/mtd/Kconfig index fae8e81317..781e82fce9 100644 --- a/drivers/mtd/Kconfig +++ b/drivers/mtd/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only menuconfig MTD bool "Memory Technology Device (MTD) support" diff --git a/drivers/mtd/Makefile b/drivers/mtd/Makefile index cbde2d983d..dc05793ca1 100644 --- a/drivers/mtd/Makefile +++ b/drivers/mtd/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_NAND) += nand/ obj-$(CONFIG_DRIVER_CFI) += nor/ obj-$(CONFIG_MTD_SPI_NOR) += spi-nor/ diff --git a/drivers/mtd/core.c b/drivers/mtd/core.c index f036118fb7..14a4f336c8 100644 --- a/drivers/mtd/core.c +++ b/drivers/mtd/core.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * (C) Copyright 2005 * 2N Telekomunikace, a.s. <www.2n.cz> diff --git a/drivers/mtd/devices/Kconfig b/drivers/mtd/devices/Kconfig index 7e046ef43d..447d478133 100644 --- a/drivers/mtd/devices/Kconfig +++ b/drivers/mtd/devices/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only menu "Self contained MTD devices" depends on MTD!=n diff --git a/drivers/mtd/devices/Makefile b/drivers/mtd/devices/Makefile index 8d7148eacd..5f93c11057 100644 --- a/drivers/mtd/devices/Makefile +++ b/drivers/mtd/devices/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only # # Makefile for the self containted memory technology device drivers. # diff --git a/drivers/mtd/devices/m25p80.c b/drivers/mtd/devices/m25p80.c index 99864610a6..5592f9597e 100644 --- a/drivers/mtd/devices/m25p80.c +++ b/drivers/mtd/devices/m25p80.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * MTD SPI driver for ST M25Pxx (and similar) serial flash chips * diff --git a/drivers/mtd/devices/mtdram.c b/drivers/mtd/devices/mtdram.c index 9562fea00c..ee1cbf792d 100644 --- a/drivers/mtd/devices/mtdram.c +++ b/drivers/mtd/devices/mtdram.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Author: Sebastian Block <basti@linux-source.de> * Copyright (c) 2014 diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig index 800025f295..3bdfabb439 100644 --- a/drivers/mtd/nand/Kconfig +++ b/drivers/mtd/nand/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only menuconfig NAND bool "NAND support" help diff --git a/drivers/mtd/nand/Makefile b/drivers/mtd/nand/Makefile index b2e5f1c5fa..1584e86694 100644 --- a/drivers/mtd/nand/Makefile +++ b/drivers/mtd/nand/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only # Generic NAND options obj-$(CONFIG_NAND) += nand_ecc.o diff --git a/drivers/mtd/nand/atmel_nand.c b/drivers/mtd/nand/atmel_nand.c index cbd03e581b..6a54add93b 100644 --- a/drivers/mtd/nand/atmel_nand.c +++ b/drivers/mtd/nand/atmel_nand.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2003 Rick Bronson * diff --git a/drivers/mtd/nand/bbt.c b/drivers/mtd/nand/bbt.c index 8a78f9046f..ad83f2fad3 100644 --- a/drivers/mtd/nand/bbt.c +++ b/drivers/mtd/nand/bbt.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2017 Free Electrons * diff --git a/drivers/mtd/nand/core.c b/drivers/mtd/nand/core.c index ba22662e2f..52036dd857 100644 --- a/drivers/mtd/nand/core.c +++ b/drivers/mtd/nand/core.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2017 Free Electrons * diff --git a/drivers/mtd/nand/denali.h b/drivers/mtd/nand/denali.h index f9c209d58d..7a721ffbbc 100644 --- a/drivers/mtd/nand/denali.h +++ b/drivers/mtd/nand/denali.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /* * NAND Flash Controller Device Driver * Copyright (c) 2009 - 2010, Intel Corporation and its suppliers. diff --git a/drivers/mtd/nand/internals.h b/drivers/mtd/nand/internals.h index 7716470a56..e6b2282f2c 100644 --- a/drivers/mtd/nand/internals.h +++ b/drivers/mtd/nand/internals.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright (c) 2018 - Bootlin * diff --git a/drivers/mtd/nand/nand-bb.c b/drivers/mtd/nand/nand-bb.c index e1a664b53b..56033022ff 100644 --- a/drivers/mtd/nand/nand-bb.c +++ b/drivers/mtd/nand/nand-bb.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2008 Sascha Hauer <s.hauer@pengutronix.de>, Pengutronix * diff --git a/drivers/mtd/nand/nand_denali.c b/drivers/mtd/nand/nand_denali.c index 1d7d1b62a8..f9896defc8 100644 --- a/drivers/mtd/nand/nand_denali.c +++ b/drivers/mtd/nand/nand_denali.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * NAND Flash Controller Device Driver * Copyright © 2009-2010, Intel Corporation and its suppliers. diff --git a/drivers/mtd/nand/nand_denali_dt.c b/drivers/mtd/nand/nand_denali_dt.c index cd58c7a9de..5cb62cd733 100644 --- a/drivers/mtd/nand/nand_denali_dt.c +++ b/drivers/mtd/nand/nand_denali_dt.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * NAND Flash Controller Device Driver for DT * diff --git a/drivers/mtd/nand/nand_esmt.c b/drivers/mtd/nand/nand_esmt.c index 3338c68aaa..2331eb174e 100644 --- a/drivers/mtd/nand/nand_esmt.c +++ b/drivers/mtd/nand/nand_esmt.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2018 Toradex AG * diff --git a/drivers/mtd/nand/nand_jedec.c b/drivers/mtd/nand/nand_jedec.c index 5632d2c73f..48997bd5f5 100644 --- a/drivers/mtd/nand/nand_jedec.c +++ b/drivers/mtd/nand/nand_jedec.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2000 Steven J. Hill (sjhill@realitydiluted.com) * 2002-2006 Thomas Gleixner (tglx@linutronix.de) diff --git a/drivers/mtd/nand/nand_legacy.c b/drivers/mtd/nand/nand_legacy.c index 0fcafe38f9..074a34e7f8 100644 --- a/drivers/mtd/nand/nand_legacy.c +++ b/drivers/mtd/nand/nand_legacy.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2000 Steven J. Hill (sjhill@realitydiluted.com) * 2002-2006 Thomas Gleixner (tglx@linutronix.de) diff --git a/drivers/mtd/nand/nand_mrvl_nfc.c b/drivers/mtd/nand/nand_mrvl_nfc.c index fcea1ceae4..064853b344 100644 --- a/drivers/mtd/nand/nand_mrvl_nfc.c +++ b/drivers/mtd/nand/nand_mrvl_nfc.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * drivers/mtd/nand/mrvl_nand.c * diff --git a/drivers/mtd/nand/nand_omap_bch_decoder.c b/drivers/mtd/nand/nand_omap_bch_decoder.c index 81537e8b56..eb51e608e4 100644 --- a/drivers/mtd/nand/nand_omap_bch_decoder.c +++ b/drivers/mtd/nand/nand_omap_bch_decoder.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * drivers/mtd/nand/omap_omap_bch_decoder.c * diff --git a/drivers/mtd/nand/nand_omap_bch_decoder.h b/drivers/mtd/nand/nand_omap_bch_decoder.h index cd4e5d5858..a8c71f77f8 100644 --- a/drivers/mtd/nand/nand_omap_bch_decoder.h +++ b/drivers/mtd/nand/nand_omap_bch_decoder.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ #ifndef MTD_OMAP_GPMC_DECODE_BCH_H #define MTD_OMAP_GPMC_DECODE_BCH_H diff --git a/drivers/mtd/nand/nand_omap_gpmc.c b/drivers/mtd/nand/nand_omap_gpmc.c index 8491ab4b68..9c4f267196 100644 --- a/drivers/mtd/nand/nand_omap_gpmc.c +++ b/drivers/mtd/nand/nand_omap_gpmc.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /** * @file * @brief Provide Generic GPMC NAND implementation for OMAP platforms diff --git a/drivers/mtd/nand/nand_onfi.c b/drivers/mtd/nand/nand_onfi.c index 5f4c5c3437..c6b187be02 100644 --- a/drivers/mtd/nand/nand_onfi.c +++ b/drivers/mtd/nand/nand_onfi.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2000 Steven J. Hill (sjhill@realitydiluted.com) * 2002-2006 Thomas Gleixner (tglx@linutronix.de) diff --git a/drivers/mtd/nand/nand_orion.c b/drivers/mtd/nand/nand_orion.c index 9ee09f9ff3..bb41b006e2 100644 --- a/drivers/mtd/nand/nand_orion.c +++ b/drivers/mtd/nand/nand_orion.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * (C) Copyright 2014, Ezequiel Garcia <ezequiel.garcia@free-electrons.com> * diff --git a/drivers/mtd/nor/Kconfig b/drivers/mtd/nor/Kconfig index a7591a4bf2..36ffdc39af 100644 --- a/drivers/mtd/nor/Kconfig +++ b/drivers/mtd/nor/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only menuconfig DRIVER_CFI bool "CFI NOR flash support" help diff --git a/drivers/mtd/nor/Makefile b/drivers/mtd/nor/Makefile index 7e073a1743..91fc09f782 100644 --- a/drivers/mtd/nor/Makefile +++ b/drivers/mtd/nor/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_DRIVER_CFI) += cfi_flash.o obj-$(CONFIG_DRIVER_CFI_INTEL) += cfi_flash_intel.o obj-$(CONFIG_DRIVER_CFI_AMD) += cfi_flash_amd.o diff --git a/drivers/mtd/nor/cfi_flash_amd.c b/drivers/mtd/nor/cfi_flash_amd.c index aee4553782..08cf499a49 100644 --- a/drivers/mtd/nor/cfi_flash_amd.c +++ b/drivers/mtd/nor/cfi_flash_amd.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <stdio.h> #include "cfi_flash.h" diff --git a/drivers/mtd/nor/cfi_flash_intel.c b/drivers/mtd/nor/cfi_flash_intel.c index ba2d02b796..2eacff6659 100644 --- a/drivers/mtd/nor/cfi_flash_intel.c +++ b/drivers/mtd/nor/cfi_flash_intel.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include "cfi_flash.h" diff --git a/drivers/mtd/partition.c b/drivers/mtd/partition.c index 0cad892011..4ebc5bba41 100644 --- a/drivers/mtd/partition.c +++ b/drivers/mtd/partition.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <errno.h> #include <malloc.h> diff --git a/drivers/mtd/peb.c b/drivers/mtd/peb.c index 230163dcc2..6c61e0734c 100644 --- a/drivers/mtd/peb.c +++ b/drivers/mtd/peb.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <malloc.h> diff --git a/drivers/mtd/spi-nor/Kconfig b/drivers/mtd/spi-nor/Kconfig index c66c326e7d..2beb26006e 100644 --- a/drivers/mtd/spi-nor/Kconfig +++ b/drivers/mtd/spi-nor/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only menuconfig MTD_SPI_NOR tristate "SPI-NOR device support" depends on MTD diff --git a/drivers/mtd/spi-nor/Makefile b/drivers/mtd/spi-nor/Makefile index 9781471b09..457a2f0488 100644 --- a/drivers/mtd/spi-nor/Makefile +++ b/drivers/mtd/spi-nor/Makefile @@ -1,3 +1,3 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_MTD_SPI_NOR) += spi-nor.o obj-$(CONFIG_SPI_CADENCE_QUADSPI) += cadence-quadspi.o diff --git a/drivers/mtd/spi-nor/cadence-quadspi.c b/drivers/mtd/spi-nor/cadence-quadspi.c index 1142342169..98b84cab1e 100644 --- a/drivers/mtd/spi-nor/cadence-quadspi.c +++ b/drivers/mtd/spi-nor/cadence-quadspi.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2015 Pengutronix, Steffen Trumtrar <s.trumtrar@pengutronix.de> * diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c index 41ce6b24c9..b3af3c4263 100644 --- a/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Based on m25p80.c, by Mike Lavender (mike@steroidmicros.com), with * influence from lart.c (Abraham Van Der Merwe) and mtd_dataflash.c diff --git a/drivers/mtd/ubi/Kconfig b/drivers/mtd/ubi/Kconfig index ec03b211a9..f6d939e916 100644 --- a/drivers/mtd/ubi/Kconfig +++ b/drivers/mtd/ubi/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only menuconfig MTD_UBI tristate "Enable UBI - Unsorted block images" select CRC32 diff --git a/drivers/mtd/ubi/Makefile b/drivers/mtd/ubi/Makefile index f7c5451d74..0a9eee1116 100644 --- a/drivers/mtd/ubi/Makefile +++ b/drivers/mtd/ubi/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_MTD_UBI) += ubi.o ubi-y += vtbl.o vmt.o upd.o build.o barebox.o kapi.o eba.o io.o wl.o attach.o diff --git a/drivers/mtd/ubi/barebox.c b/drivers/mtd/ubi/barebox.c index 4654ba3f44..7ae5b4c4b4 100644 --- a/drivers/mtd/ubi/barebox.c +++ b/drivers/mtd/ubi/barebox.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <fcntl.h> #include <fs.h> diff --git a/drivers/mtd/ubi/fastmap-wl.c b/drivers/mtd/ubi/fastmap-wl.c index 8e850fb466..33fae1a2f9 100644 --- a/drivers/mtd/ubi/fastmap-wl.c +++ b/drivers/mtd/ubi/fastmap-wl.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2012 Linutronix GmbH * Copyright (c) 2014 sigma star gmbh diff --git a/drivers/mtd/ubi/fastmap.c b/drivers/mtd/ubi/fastmap.c index 6ffd0fdc7f..31c90c3d71 100644 --- a/drivers/mtd/ubi/fastmap.c +++ b/drivers/mtd/ubi/fastmap.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2012 Linutronix GmbH * Author: Richard Weinberger <richard@nod.at> diff --git a/drivers/mtd/ubi/ubi-barebox.h b/drivers/mtd/ubi/ubi-barebox.h index 6061997757..60ad9014e1 100644 --- a/drivers/mtd/ubi/ubi-barebox.h +++ b/drivers/mtd/ubi/ubi-barebox.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /* * Header file for UBI support for U-Boot * diff --git a/drivers/mtd/ubi/wl.h b/drivers/mtd/ubi/wl.h index b590e3fc9f..4d34daf017 100644 --- a/drivers/mtd/ubi/wl.h +++ b/drivers/mtd/ubi/wl.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ #ifndef UBI_WL_H #define UBI_WL_H #ifdef CONFIG_MTD_UBI_FASTMAP diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig index c3acdfd64d..65c93bbe84 100644 --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only config ARCH_HAS_FEC_IMX bool diff --git a/drivers/net/Makefile b/drivers/net/Makefile index 39a94ca314..40045bab04 100644 --- a/drivers/net/Makefile +++ b/drivers/net/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_PHYLIB) += phy/ obj-$(CONFIG_NET_USB) += usb/ diff --git a/drivers/net/designware_eqos.c b/drivers/net/designware_eqos.c index 399b5fa9e7..8d2a21c220 100644 --- a/drivers/net/designware_eqos.c +++ b/drivers/net/designware_eqos.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2016, NVIDIA CORPORATION. * Copyright (c) 2019, Ahmad Fatoum, Pengutronix diff --git a/drivers/net/designware_eqos.h b/drivers/net/designware_eqos.h index 30f4f02579..be7bead09e 100644 --- a/drivers/net/designware_eqos.h +++ b/drivers/net/designware_eqos.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright (c) 2019 Ahmad Fatoum, Pengutronix */ diff --git a/drivers/net/designware_rockchip.c b/drivers/net/designware_rockchip.c index e4f74f646f..a4ada147b5 100644 --- a/drivers/net/designware_rockchip.c +++ b/drivers/net/designware_rockchip.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <init.h> diff --git a/drivers/net/designware_stm32.c b/drivers/net/designware_stm32.c index 2e2af8942d..0a5ced98f5 100644 --- a/drivers/net/designware_stm32.c +++ b/drivers/net/designware_stm32.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2016, NVIDIA CORPORATION. * Copyright (c) 2019, Ahmad Fatoum, Pengutronix diff --git a/drivers/net/designware_tegra186.c b/drivers/net/designware_tegra186.c index f3b37be3ce..0241b9ad16 100644 --- a/drivers/net/designware_tegra186.c +++ b/drivers/net/designware_tegra186.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2016, NVIDIA CORPORATION. * Copyright (c) 2019, Ahmad Fatoum, Pengutronix diff --git a/drivers/net/e1000/Makefile b/drivers/net/e1000/Makefile index 91ef11cbe3..4d10d84332 100644 --- a/drivers/net/e1000/Makefile +++ b/drivers/net/e1000/Makefile @@ -1,3 +1,3 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-y += regio.o main.o eeprom.o obj-$(CONFIG_MTD) += mtd.o diff --git a/drivers/net/e1000/eeprom.c b/drivers/net/e1000/eeprom.c index 31c1d6b008..1072bc54ef 100644 --- a/drivers/net/e1000/eeprom.c +++ b/drivers/net/e1000/eeprom.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <init.h> #include <malloc.h> diff --git a/drivers/net/e1000/mtd.c b/drivers/net/e1000/mtd.c index d785eee6f1..d472bd10a9 100644 --- a/drivers/net/e1000/mtd.c +++ b/drivers/net/e1000/mtd.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <init.h> #include <malloc.h> diff --git a/drivers/net/e1000/regio.c b/drivers/net/e1000/regio.c index b9f09abcbe..734c9a392e 100644 --- a/drivers/net/e1000/regio.c +++ b/drivers/net/e1000/regio.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include "e1000.h" diff --git a/drivers/net/enc28j60_hw.h b/drivers/net/enc28j60_hw.h index 24d9030a12..1cacecb3be 100644 --- a/drivers/net/enc28j60_hw.h +++ b/drivers/net/enc28j60_hw.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /* * enc28j60_hw.h: EDTP FrameThrower style enc28j60 registers */ diff --git a/drivers/net/fec_mpc5200.h b/drivers/net/fec_mpc5200.h index d0dd2a9360..cbc2fec9c6 100644 --- a/drivers/net/fec_mpc5200.h +++ b/drivers/net/fec_mpc5200.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /* * (C) Copyright 2003 * Wolfgang Denk, DENX Software Engineering, wd@denx.de. diff --git a/drivers/net/fsl-fman.c b/drivers/net/fsl-fman.c index 6d54fcc7c9..4d72933105 100644 --- a/drivers/net/fsl-fman.c +++ b/drivers/net/fsl-fman.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later /* * Copyright 2009-2012 Freescale Semiconductor, Inc. * Dave Liu <daveliu@freescale.com> diff --git a/drivers/net/liteeth.c b/drivers/net/liteeth.c index a952a1d924..771f57eead 100644 --- a/drivers/net/liteeth.c +++ b/drivers/net/liteeth.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * LiteX Liteeth Ethernet * diff --git a/drivers/net/phy/Kconfig b/drivers/net/phy/Kconfig index 49226eb59f..9f74335443 100644 --- a/drivers/net/phy/Kconfig +++ b/drivers/net/phy/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only # # PHY Layer Configuration # diff --git a/drivers/net/phy/Makefile b/drivers/net/phy/Makefile index fb0740bceb..54b83e06dd 100644 --- a/drivers/net/phy/Makefile +++ b/drivers/net/phy/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-y += phy.o mdio_bus.o phy-core.o obj-$(CONFIG_AR8327N_PHY) += ar8327.o obj-$(CONFIG_AT803X_PHY) += at803x.o diff --git a/drivers/net/phy/dp83867.c b/drivers/net/phy/dp83867.c index 05af83f076..2435df1b47 100644 --- a/drivers/net/phy/dp83867.c +++ b/drivers/net/phy/dp83867.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Driver for the Texas Instruments DP83867 PHY * diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c index 223ee096a9..d81632dfc7 100644 --- a/drivers/net/phy/marvell.c +++ b/drivers/net/phy/marvell.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * drivers/net/phy/marvell.c * diff --git a/drivers/net/phy/mv88e6xxx/Makefile b/drivers/net/phy/mv88e6xxx/Makefile index c5f2dcecb8..4f569509e5 100644 --- a/drivers/net/phy/mv88e6xxx/Makefile +++ b/drivers/net/phy/mv88e6xxx/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-y += mv88e6xxx.o mv88e6xxx-objs := chip.o diff --git a/drivers/net/phy/mv88e6xxx/chip.c b/drivers/net/phy/mv88e6xxx/chip.c index 6129cff4b4..ae59d134e7 100644 --- a/drivers/net/phy/mv88e6xxx/chip.c +++ b/drivers/net/phy/mv88e6xxx/chip.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <init.h> #include <linux/mii.h> diff --git a/drivers/net/phy/mv88e6xxx/chip.h b/drivers/net/phy/mv88e6xxx/chip.h index db3bf42ec8..12037ca95c 100644 --- a/drivers/net/phy/mv88e6xxx/chip.h +++ b/drivers/net/phy/mv88e6xxx/chip.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ #ifndef _MV88E6XXX_CHIP_H #define _MV88E6XXX_CHIP_H diff --git a/drivers/net/phy/mv88e6xxx/global2.c b/drivers/net/phy/mv88e6xxx/global2.c index 344e667d1b..2728a66eea 100644 --- a/drivers/net/phy/mv88e6xxx/global2.c +++ b/drivers/net/phy/mv88e6xxx/global2.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <linux/ethtool.h> #include <linux/bitfield.h> diff --git a/drivers/net/phy/mv88e6xxx/global2.h b/drivers/net/phy/mv88e6xxx/global2.h index 26e0796683..0f2dc53c29 100644 --- a/drivers/net/phy/mv88e6xxx/global2.h +++ b/drivers/net/phy/mv88e6xxx/global2.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ #ifndef _MV88E6XXX_GLOBAL2_H #define _MV88E6XXX_GLOBAL2_H diff --git a/drivers/net/phy/mv88e6xxx/port.c b/drivers/net/phy/mv88e6xxx/port.c index 027b09428f..ba2b03e18d 100644 --- a/drivers/net/phy/mv88e6xxx/port.c +++ b/drivers/net/phy/mv88e6xxx/port.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <init.h> diff --git a/drivers/net/phy/mv88e6xxx/port.h b/drivers/net/phy/mv88e6xxx/port.h index 7c81a0f50d..f47f392b87 100644 --- a/drivers/net/phy/mv88e6xxx/port.h +++ b/drivers/net/phy/mv88e6xxx/port.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ #ifndef _MV88E6XXX_PORT_H #define _MV88E6XXX_PORT_H diff --git a/drivers/net/phy/phy-core.c b/drivers/net/phy/phy-core.c index 08825ded1f..ab52de35b5 100644 --- a/drivers/net/phy/phy-core.c +++ b/drivers/net/phy/phy-core.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <linux/phy.h> diff --git a/drivers/net/rtl8139.c b/drivers/net/rtl8139.c index 95ccd52aaf..c133a542dc 100644 --- a/drivers/net/rtl8139.c +++ b/drivers/net/rtl8139.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <dma.h> #include <net.h> diff --git a/drivers/net/usb/Kconfig b/drivers/net/usb/Kconfig index e1f23729e9..870f24ca96 100644 --- a/drivers/net/usb/Kconfig +++ b/drivers/net/usb/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only menuconfig NET_USB depends on USB_HOST bool "USB network support" diff --git a/drivers/net/usb/Makefile b/drivers/net/usb/Makefile index ab1b8209df..d876438c3f 100644 --- a/drivers/net/usb/Makefile +++ b/drivers/net/usb/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_NET_USB) += usbnet.o obj-$(CONFIG_NET_USB_ASIX) += asix.o obj-$(CONFIG_USB_NET_AX88179_178A) += ax88179_178a.o diff --git a/drivers/net/usb/asix.c b/drivers/net/usb/asix.c index a7040b28c8..28a3534bcf 100644 --- a/drivers/net/usb/asix.c +++ b/drivers/net/usb/asix.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <init.h> #include <net.h> diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c index 3647be02c3..0928887784 100644 --- a/drivers/net/usb/r8152.c +++ b/drivers/net/usb/r8152.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* Copyright (c) 2015 Realtek Semiconductor Corp. All rights reserved. */ #include <common.h> diff --git a/drivers/net/usb/r8152.h b/drivers/net/usb/r8152.h index 696a414660..618ae5d169 100644 --- a/drivers/net/usb/r8152.h +++ b/drivers/net/usb/r8152.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /* Copyright (c) 2015 Realtek Semiconductor Corp. All rights reserved. */ #ifndef _RTL8152_ETH_H diff --git a/drivers/net/usb/r8152_fw.c b/drivers/net/usb/r8152_fw.c index 46f48d276b..ee5f7c48e4 100644 --- a/drivers/net/usb/r8152_fw.c +++ b/drivers/net/usb/r8152_fw.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* Copyright (c) 2015 Realtek Semiconductor Corp. All rights reserved. */ #include <common.h> diff --git a/drivers/net/usb/usbnet.c b/drivers/net/usb/usbnet.c index a94edb2434..4818079523 100644 --- a/drivers/net/usb/usbnet.c +++ b/drivers/net/usb/usbnet.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <usb/usb.h> #include <usb/usbnet.h> diff --git a/drivers/net/virtio.c b/drivers/net/virtio.c index ea4d552903..b40c948689 100644 --- a/drivers/net/virtio.c +++ b/drivers/net/virtio.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later /* * Copyright (C) 2018, Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi> * Copyright (C) 2018, Bin Meng <bmeng.cn@gmail.com> diff --git a/drivers/nvme/Kconfig b/drivers/nvme/Kconfig index 4e591387be..0d41f27308 100644 --- a/drivers/nvme/Kconfig +++ b/drivers/nvme/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only menu "NVME Support" source "drivers/nvme/host/Kconfig" diff --git a/drivers/nvme/Makefile b/drivers/nvme/Makefile index 0e5dc19115..23b95dce06 100644 --- a/drivers/nvme/Makefile +++ b/drivers/nvme/Makefile @@ -1,2 +1,2 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-y += host/ diff --git a/drivers/nvme/host/Kconfig b/drivers/nvme/host/Kconfig index a232135101..7171de9120 100644 --- a/drivers/nvme/host/Kconfig +++ b/drivers/nvme/host/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only config NVME_CORE bool diff --git a/drivers/nvme/host/Makefile b/drivers/nvme/host/Makefile index 9afbc0d2e1..e51995a909 100644 --- a/drivers/nvme/host/Makefile +++ b/drivers/nvme/host/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only ccflags-y += -I$(src) diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c index 65278c306f..4966fc199d 100644 --- a/drivers/nvme/host/core.c +++ b/drivers/nvme/host/core.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include "nvme.h" diff --git a/drivers/nvme/host/nvme.h b/drivers/nvme/host/nvme.h index 07aefa5f15..80c988632f 100644 --- a/drivers/nvme/host/nvme.h +++ b/drivers/nvme/host/nvme.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright (c) 2011-2014, Intel Corporation. */ diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c index 09e4a8fa8e..e513deff25 100644 --- a/drivers/nvme/host/pci.c +++ b/drivers/nvme/host/pci.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <init.h> diff --git a/drivers/nvmem/Kconfig b/drivers/nvmem/Kconfig index 07320101b8..7b1ebe1d68 100644 --- a/drivers/nvmem/Kconfig +++ b/drivers/nvmem/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only menuconfig NVMEM bool "NVMEM Support" help @@ -63,8 +63,18 @@ config STM32_BSEC depends on ARCH_STM32MP depends on OFDEVICE help - This adds support for the STM32 OTP controller. Reads and writes - to will go to the shadow RAM, not the OTP fuses themselvers. + This adds support for the STM32 OTP controller. + +config STM32_BSEC_WRITE + bool + prompt "Enable write support of STM32 CPUs OTP fuses" + depends on STM32_BSEC + help + This adds write support to STM32 On-Chip OTP registers. Example of set + MAC to 12:34:56:78:9A:BC: + bsec0.permanent_write_enable=1 + mw -l -d /dev/stm32-bsec 0x000000e4+4 0x78563412 + mw -l -d /dev/stm32-bsec 0x000000e8+4 0x0000bc9a config STARFIVE_OTP tristate "Starfive OTP Supprot" diff --git a/drivers/nvmem/Makefile b/drivers/nvmem/Makefile index cd970aaea1..5865919612 100644 --- a/drivers/nvmem/Makefile +++ b/drivers/nvmem/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only # # Makefile for nvmem drivers. # diff --git a/drivers/nvmem/bsec.c b/drivers/nvmem/bsec.c index a31eff7358..86b943a45d 100644 --- a/drivers/nvmem/bsec.c +++ b/drivers/nvmem/bsec.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2018, STMicroelectronics - All Rights Reserved * Copyright (c) 2019 Ahmad Fatoum, Pengutronix @@ -21,8 +21,10 @@ #define BSEC_OTP_SERIAL 13 struct bsec_priv { + struct device_d dev; u32 svc_id; struct regmap_config map_config; + int permanent_write_enable; }; struct stm32_bsec_data { @@ -59,13 +61,18 @@ static int stm32_bsec_read_shadow(void *ctx, unsigned reg, unsigned *val) return bsec_smc(ctx, BSEC_SMC_READ_SHADOW, reg, 0, val); } -static int stm32_bsec_reg_write_shadow(void *ctx, unsigned reg, unsigned val) +static int stm32_bsec_reg_write(void *ctx, unsigned reg, unsigned val) { - return bsec_smc(ctx, BSEC_SMC_WRITE_SHADOW, reg, val, NULL); + struct bsec_priv *priv = ctx; + + if (priv->permanent_write_enable) + return bsec_smc(ctx, BSEC_SMC_PROG_OTP, reg, val, NULL); + else + return bsec_smc(ctx, BSEC_SMC_WRITE_SHADOW, reg, val, NULL); } static struct regmap_bus stm32_bsec_regmap_bus = { - .reg_write = stm32_bsec_reg_write_shadow, + .reg_write = stm32_bsec_reg_write, .reg_read = stm32_bsec_read_shadow, }; @@ -150,6 +157,10 @@ static int stm32_bsec_probe(struct device_d *dev) priv->svc_id = data->svc_id; + dev_set_name(&priv->dev, "bsec"); + priv->dev.parent = dev; + register_device(&priv->dev); + priv->map_config.reg_bits = 32; priv->map_config.val_bits = 32; priv->map_config.reg_stride = 4; @@ -159,6 +170,11 @@ static int stm32_bsec_probe(struct device_d *dev) if (IS_ERR(map)) return PTR_ERR(map); + if (IS_ENABLED(CONFIG_STM32_BSEC_WRITE)) { + dev_add_param_bool(&priv->dev, "permanent_write_enable", + NULL, NULL, &priv->permanent_write_enable, NULL); + } + nvmem = nvmem_regmap_register(map, "stm32-bsec"); if (IS_ERR(nvmem)) return PTR_ERR(nvmem); diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c index c9d072f364..fed387c43a 100644 --- a/drivers/nvmem/core.c +++ b/drivers/nvmem/core.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * nvmem framework core. * diff --git a/drivers/nvmem/eeprom_93xx46.c b/drivers/nvmem/eeprom_93xx46.c index 73d775b53e..2f598fbc97 100644 --- a/drivers/nvmem/eeprom_93xx46.c +++ b/drivers/nvmem/eeprom_93xx46.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Driver for 93xx46 EEPROMs * diff --git a/drivers/nvmem/ocotp.c b/drivers/nvmem/ocotp.c index 9dba8a758a..1f99a8012f 100644 --- a/drivers/nvmem/ocotp.c +++ b/drivers/nvmem/ocotp.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * ocotp.c - i.MX6 ocotp fusebox driver * diff --git a/drivers/nvmem/partition.c b/drivers/nvmem/partition.c index 3f0bdc58de..a034c6c4d5 100644 --- a/drivers/nvmem/partition.c +++ b/drivers/nvmem/partition.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <driver.h> #include <malloc.h> diff --git a/drivers/nvmem/regmap.c b/drivers/nvmem/regmap.c index 641e6413ba..56611819a2 100644 --- a/drivers/nvmem/regmap.c +++ b/drivers/nvmem/regmap.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <driver.h> #include <malloc.h> diff --git a/drivers/nvmem/rmem.c b/drivers/nvmem/rmem.c index e103cec448..cd735e5ef3 100644 --- a/drivers/nvmem/rmem.c +++ b/drivers/nvmem/rmem.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later /* * Copyright (C) 2020 Nicolas Saenz Julienne <nsaenzjulienne@suse.de> */ diff --git a/drivers/nvmem/snvs_lpgpr.c b/drivers/nvmem/snvs_lpgpr.c index 88ca1a9dfd..ddfc15e147 100644 --- a/drivers/nvmem/snvs_lpgpr.c +++ b/drivers/nvmem/snvs_lpgpr.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2015 Pengutronix, Steffen Trumtrar <kernel@pengutronix.de> * Copyright (c) 2017 Pengutronix, Oleksij Rempel <kernel@pengutronix.de> diff --git a/drivers/nvmem/starfive-otp.c b/drivers/nvmem/starfive-otp.c index 8583be2178..52c5292839 100644 --- a/drivers/nvmem/starfive-otp.c +++ b/drivers/nvmem/starfive-otp.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright 2021 StarFive, Inc */ diff --git a/drivers/of/Kconfig b/drivers/of/Kconfig index 05eba1ec77..f3d2cc00cc 100644 --- a/drivers/of/Kconfig +++ b/drivers/of/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only config OFTREE select DTC bool diff --git a/drivers/of/Makefile b/drivers/of/Makefile index 784da4277e..ca8da71cb4 100644 --- a/drivers/of/Makefile +++ b/drivers/of/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-y += address.o base.o fdt.o platform.o of_path.o device.o obj-$(CONFIG_OFTREE_MEM_GENERIC) += mem_generic.o obj-$(CONFIG_OF_GPIO) += of_gpio.o diff --git a/drivers/of/address.c b/drivers/of/address.c index 4cfec0a45a..67e8062f5d 100644 --- a/drivers/of/address.c +++ b/drivers/of/address.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * address.c - address related devicetree functions * @@ -125,8 +125,10 @@ static unsigned int of_bus_pci_get_flags(const __be32 *addr) case 0x01: flags |= IORESOURCE_IO; break; - case 0x02: /* 32 bits */ case 0x03: /* 64 bits */ + flags |= IORESOURCE_MEM_64; + /* fallthrough */ + case 0x02: /* 32 bits */ flags |= IORESOURCE_MEM; break; } diff --git a/drivers/of/barebox.c b/drivers/of/barebox.c index 2ef5662016..f6e795e047 100644 --- a/drivers/of/barebox.c +++ b/drivers/of/barebox.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * barebox.c * diff --git a/drivers/of/base.c b/drivers/of/base.c index cc9c95aa1e..06e37b0fca 100644 --- a/drivers/of/base.c +++ b/drivers/of/base.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * base.c - basic devicetree functions * @@ -171,8 +171,7 @@ static int of_alias_id_parse(const char *start, int *len) * of_alias_scan - Scan all properties of 'aliases' node * * The function scans all the properties of 'aliases' node and populates - * the global lookup table with the properties. It returns the - * number of alias_prop found, or error code in error case. + * the global lookup table with the properties. */ void of_alias_scan(void) { @@ -1969,13 +1968,14 @@ int of_property_read_string_helper(const struct device_node *np, return i <= 0 ? -ENODATA : i; } -static void __of_print_nodes(struct device_node *node, int indent, const char *prefix) +static int __of_print_nodes(struct device_node *node, int indent, const char *prefix) { struct device_node *n; struct property *p; + int ret; if (!node) - return; + return 0; if (!prefix) prefix = ""; @@ -1991,11 +1991,17 @@ static void __of_print_nodes(struct device_node *node, int indent, const char *p printf(";\n"); } + if (ctrlc()) + return -EINTR; + list_for_each_entry(n, &node->children, parent_list) { - __of_print_nodes(n, indent + 1, prefix); + ret = __of_print_nodes(n, indent + 1, prefix); + if (ret) + return ret; } printf("%s%*s};\n", prefix, indent * 8, ""); + return 0; } void of_print_nodes(struct device_node *node, int indent) @@ -2005,12 +2011,7 @@ void of_print_nodes(struct device_node *node, int indent) static void __of_print_property(struct property *p, int indent) { - int i; - - for (i = 0; i < indent; i++) - printf("\t"); - - printf("%s", p->name); + printf("%*s%s", indent * 8, "", p->name); if (p->length) { printf(" = "); of_print_property(of_property_get_value(p), p->length); @@ -2028,17 +2029,14 @@ void of_print_properties(struct device_node *node) static int __of_print_parents(struct device_node *node) { - int indent, i; + int indent; if (!node->parent) return 0; indent = __of_print_parents(node->parent); - for (i = 0; i < indent; i++) - printf("\t"); - - printf("%s {\n", node->name); + printf("%*s%s {\n", indent * 8, "", node->name); return indent + 1; } @@ -2118,14 +2116,14 @@ void of_diff(struct device_node *a, struct device_node *b, int indent) of_diff(ca, cb, indent + 1); } else { of_print_parents(a, &printed); - __of_print_nodes(ca, indent, "-"); + __of_print_nodes(ca, indent, "- "); } } for_each_child_of_node(b, cb) { if (!of_get_child_by_name(a, cb->name)) { of_print_parents(a, &printed); - __of_print_nodes(cb, indent, "+"); + __of_print_nodes(cb, indent, "+ "); } } @@ -2370,9 +2368,12 @@ mem_initcall(of_probe_memory); static void of_platform_device_create_root(struct device_node *np) { - struct device_d *dev; + static struct device_d *dev; int ret; + if (dev) + return; + dev = xzalloc(sizeof(*dev)); dev->id = DEVICE_ID_SINGLE; dev->device_node = np; @@ -2388,6 +2389,13 @@ static const struct of_device_id reserved_mem_matches[] = { {} }; +/** + * of_probe - Probe unflattened device tree starting at of_get_root_node + * + * The function walks the device tree and creates devices as needed. + * With care, it can be called more than once, but if you really need that, + * consider first if deep probe would help instead. + */ int of_probe(void) { struct device_node *node; @@ -2761,8 +2769,6 @@ struct device_node *of_find_node_by_reproducible_name(struct device_node *from, * of_graph_parse_endpoint() - parse common endpoint node properties * @node: pointer to endpoint device_node * @endpoint: pointer to the OF endpoint data structure - * - * The caller should hold a reference to @node. */ int of_graph_parse_endpoint(const struct device_node *node, struct of_endpoint *endpoint) diff --git a/drivers/of/device.c b/drivers/of/device.c index 7e9dc95dd3..5cc288efbe 100644 --- a/drivers/of/device.c +++ b/drivers/of/device.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <of.h> #include <of_device.h> diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c index fb9c92d2f8..770126c78e 100644 --- a/drivers/of/fdt.c +++ b/drivers/of/fdt.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * fdt.c - flat devicetree functions * diff --git a/drivers/of/mem_generic.c b/drivers/of/mem_generic.c index 1b2f5f9de0..be618d51f5 100644 --- a/drivers/of/mem_generic.c +++ b/drivers/of/mem_generic.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <of.h> #include <memory.h> diff --git a/drivers/of/of_firmware.c b/drivers/of/of_firmware.c index 687e675302..80feb3b90d 100644 --- a/drivers/of/of_firmware.c +++ b/drivers/of/of_firmware.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2019 Pengutronix, Michael Tretter <m.tretter@pengutronix.de> */ diff --git a/drivers/of/of_gpio.c b/drivers/of/of_gpio.c index a906b39deb..42e0347529 100644 --- a/drivers/of/of_gpio.c +++ b/drivers/of/of_gpio.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <errno.h> diff --git a/drivers/of/of_mtd.c b/drivers/of/of_mtd.c index 5d4d6d6787..d28f5109b1 100644 --- a/drivers/of/of_mtd.c +++ b/drivers/of/of_mtd.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> * diff --git a/drivers/of/of_net.c b/drivers/of/of_net.c index 041a0ea918..e05f111de8 100644 --- a/drivers/of/of_net.c +++ b/drivers/of/of_net.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * OF helpers for network devices. * diff --git a/drivers/of/of_path.c b/drivers/of/of_path.c index b2e6d8dac0..40154bf5e9 100644 --- a/drivers/of/of_path.c +++ b/drivers/of/of_path.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * of_path.c * diff --git a/drivers/of/of_pci.c b/drivers/of/of_pci.c index f73c43ee2e..ebb5ba6df3 100644 --- a/drivers/of/of_pci.c +++ b/drivers/of/of_pci.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <errno.h> diff --git a/drivers/of/overlay.c b/drivers/of/overlay.c index 25140eed31..20a43f5170 100644 --- a/drivers/of/overlay.c +++ b/drivers/of/overlay.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Functions for working with device tree overlays * @@ -199,6 +199,10 @@ int of_overlay_apply_tree(struct device_node *root, pr_warn("failed to apply %s\n", fragment->name); } + /* We are patching the live tree, reload aliases */ + if (root == of_get_root_node()) + of_alias_scan(); + out_err: of_delete_node(resolved); diff --git a/drivers/of/partition.c b/drivers/of/partition.c index 5c5b9ef2f6..6c05e28ea9 100644 --- a/drivers/of/partition.c +++ b/drivers/of/partition.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * partition.c - devicetree partition parsing * diff --git a/drivers/of/platform.c b/drivers/of/platform.c index ca9b7d153a..14478e6e37 100644 --- a/drivers/of/platform.c +++ b/drivers/of/platform.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * platform.c - bus/device related devicetree functions * diff --git a/drivers/of/resolver.c b/drivers/of/resolver.c index 4f720cf860..242775099e 100644 --- a/drivers/of/resolver.c +++ b/drivers/of/resolver.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Functions for dealing with DT resolution * diff --git a/drivers/pci/Kconfig b/drivers/pci/Kconfig index 60e8e93a07..e7ce6a8c45 100644 --- a/drivers/pci/Kconfig +++ b/drivers/pci/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only config HW_HAS_PCI bool "Compile in PCI core" if COMPILE_TEST @@ -60,6 +60,14 @@ config PCI_EFI depends on EFI_BOOTUP select PCI +config PCI_ECAM_GENERIC + bool "Generic ECAM-based PCI host controller support" + select OF_PCI + select PCI + help + Say Y here if you want to enable support for generic ECAM-based + PCI host controllers, such as the one emulated by QEMU. + endmenu endif diff --git a/drivers/pci/Makefile b/drivers/pci/Makefile index 60e1439ec7..deed79601d 100644 --- a/drivers/pci/Makefile +++ b/drivers/pci/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only # # Makefile for the PCI bus specific drivers. # @@ -12,3 +12,4 @@ obj-$(CONFIG_PCIE_DW) += pcie-designware.o pcie-designware-host.o obj-$(CONFIG_PCI_IMX6) += pci-imx6.o obj-$(CONFIG_PCI_LAYERSCAPE) += pci-layerscape.o obj-$(CONFIG_PCI_EFI) += pci-efi.o +obj-$(CONFIG_PCI_ECAM_GENERIC) += pci-ecam-generic.o diff --git a/drivers/pci/bus.c b/drivers/pci/bus.c index 39f142fea5..e238b24c02 100644 --- a/drivers/pci/bus.c +++ b/drivers/pci/bus.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <init.h> #include <driver.h> diff --git a/drivers/pci/pci-ecam-generic.c b/drivers/pci/pci-ecam-generic.c new file mode 100644 index 0000000000..58c81ecbb6 --- /dev/null +++ b/drivers/pci/pci-ecam-generic.c @@ -0,0 +1,207 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Generic PCIE host provided by e.g. QEMU + * + * Heavily based on drivers/pci/pcie_xilinx.c + * + * Copyright (C) 2016 Imagination Technologies + */ + +#include <common.h> +#include <malloc.h> +#include <io.h> +#include <of.h> +#include <of_address.h> +#include <init.h> +#include <linux/pci.h> +#include <linux/sizes.h> + +struct generic_ecam_pcie { + struct pci_controller pci; + struct resource *cfg; + int first_busno; + struct resource io; + struct resource mem; + struct resource prefetch; +}; + +static inline struct generic_ecam_pcie *host_to_ecam(struct pci_controller *host) +{ + return container_of(host, struct generic_ecam_pcie, pci); +} + +static void __iomem *pci_generic_ecam_conf_address(const struct pci_bus *bus, + u32 devfn, int where) +{ + struct generic_ecam_pcie *ecam = host_to_ecam(bus->host); + void __iomem *addr; + + addr = IOMEM(ecam->cfg->start); + addr += (bus->number - ecam->first_busno) << 20; + addr += PCI_SLOT(devfn) << 15; + addr += PCI_FUNC(devfn) << 12; + addr += where; + + return addr; +} + +static bool pci_generic_ecam_addr_valid(const struct pci_bus *bus, u32 devfn) +{ + struct generic_ecam_pcie *ecam = host_to_ecam(bus->host); + int num_buses = DIV_ROUND_UP(resource_size(ecam->cfg), 1 << 16); + + return (bus->number >= ecam->first_busno && + bus->number < ecam->first_busno + num_buses); +} + +static int pci_generic_ecam_read_config(struct pci_bus *bus, + u32 devfn, int where, + int size, u32 *val) +{ + void __iomem *addr; + + if (!pci_generic_ecam_addr_valid(bus, devfn)) + return PCIBIOS_DEVICE_NOT_FOUND; + + addr = pci_generic_ecam_conf_address(bus, devfn, where); + + if (!IS_ALIGNED((uintptr_t)addr, size)) { + *val = 0; + return PCIBIOS_BAD_REGISTER_NUMBER; + } + + if (size == 4) { + *val = readl(addr); + } else if (size == 2) { + *val = readw(addr); + } else if (size == 1) { + *val = readb(addr); + } else { + *val = 0; + return PCIBIOS_BAD_REGISTER_NUMBER; + } + + return PCIBIOS_SUCCESSFUL; +} + +static int pci_generic_ecam_write_config(struct pci_bus *bus, u32 devfn, + int where, int size, u32 val) +{ + void __iomem *addr; + + if (!pci_generic_ecam_addr_valid(bus, devfn)) + return PCIBIOS_DEVICE_NOT_FOUND; + + addr = pci_generic_ecam_conf_address(bus, devfn, where); + + if (!IS_ALIGNED((uintptr_t)addr, size)) + return PCIBIOS_BAD_REGISTER_NUMBER; + + if (size == 4) + writel(val, addr); + else if (size == 2) + writew(val, addr); + else if (size == 1) + writeb(val, addr); + else + return PCIBIOS_BAD_REGISTER_NUMBER; + + return PCIBIOS_SUCCESSFUL; +} + +static void pcie_ecam_set_local_bus_nr(struct pci_controller *host, int busno) +{ + struct generic_ecam_pcie *ecam = host_to_ecam(host); + + ecam->first_busno = busno; +} + +static const struct pci_ops pci_generic_ecam_ops = { + .read = pci_generic_ecam_read_config, + .write = pci_generic_ecam_write_config, +}; + +static inline bool is_64bit(const struct resource *res) +{ + return res->flags & IORESOURCE_MEM_64; +} + +static int pcie_ecam_parse_dt(struct generic_ecam_pcie *ecam) +{ + struct device_d *dev = ecam->pci.parent; + struct device_node *np = dev->device_node; + struct of_pci_range_parser parser; + struct of_pci_range range; + struct resource res; + + if (of_pci_range_parser_init(&parser, np)) { + dev_err(dev, "missing \"ranges\" property\n"); + return -EINVAL; + } + + for_each_of_pci_range(&parser, &range) { + of_pci_range_to_resource(&range, np, &res); + + switch (res.flags & IORESOURCE_TYPE_BITS) { + case IORESOURCE_IO: + memcpy(&ecam->io, &res, sizeof(res)); + ecam->io.name = "I/O"; + break; + + case IORESOURCE_MEM: + if (res.flags & IORESOURCE_PREFETCH) { + memcpy(&ecam->prefetch, &res, sizeof(res)); + ecam->prefetch.name = "PREFETCH"; + } else { + /* Choose 32-bit mappings over 64-bit ones if possible */ + if (ecam->mem.name && !is_64bit(&ecam->mem) && is_64bit(&res)) + break; + + memcpy(&ecam->mem, &res, sizeof(res)); + ecam->mem.name = "MEM"; + } + break; + } + } + + return 0; +} + +static int pcie_ecam_probe(struct device_d *dev) +{ + struct generic_ecam_pcie *ecam; + struct resource *iores; + int ret; + + iores = dev_request_mem_resource(dev, 0); + if (IS_ERR(iores)) + return PTR_ERR(iores); + + ecam = xzalloc(sizeof(*ecam)); + ecam->cfg = iores; + ecam->pci.parent = dev; + ecam->pci.pci_ops = &pci_generic_ecam_ops; + ecam->pci.set_busno = pcie_ecam_set_local_bus_nr; + ecam->pci.mem_resource = &ecam->mem; + ecam->pci.io_resource = &ecam->io; + ecam->pci.mem_pref_resource = &ecam->prefetch; + + ret = pcie_ecam_parse_dt(ecam); + if (ret) + return ret; + + register_pci_controller(&ecam->pci); + return 0; +} + +static struct of_device_id pcie_ecam_dt_ids[] = { + { .compatible = "pci-host-ecam-generic" }, + { /* sentinel */ }, +}; + +static struct driver_d pcie_ecam_driver = { + .name = "pcie-generic-ecam", + .probe = pcie_ecam_probe, + .of_compatible = pcie_ecam_dt_ids, +}; +device_platform_driver(pcie_ecam_driver); diff --git a/drivers/pci/pci-efi.c b/drivers/pci/pci-efi.c index c0bcc10044..d107ff548d 100644 --- a/drivers/pci/pci-efi.c +++ b/drivers/pci/pci-efi.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2019 Ahmad Fatoum <a.fatoum@pengutronix.de> */ diff --git a/drivers/pci/pci-efi.h b/drivers/pci/pci-efi.h index 1943461cdf..1dba0b9906 100644 --- a/drivers/pci/pci-efi.h +++ b/drivers/pci/pci-efi.h @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #ifndef __PCI_EFI_H_ #define __PCI_EFI_H_ diff --git a/drivers/pci/pci-imx6.c b/drivers/pci/pci-imx6.c index 05df9c0f79..e7ea0ebb94 100644 --- a/drivers/pci/pci-imx6.c +++ b/drivers/pci/pci-imx6.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * PCIe host controller driver for Freescale i.MX6 SoCs * diff --git a/drivers/pci/pci-layerscape.c b/drivers/pci/pci-layerscape.c index d8f03fa599..b0a1ce8135 100644 --- a/drivers/pci/pci-layerscape.c +++ b/drivers/pci/pci-layerscape.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * PCIe host controller driver for Freescale Layerscape SoCs * diff --git a/drivers/pci/pci-mvebu-phy.c b/drivers/pci/pci-mvebu-phy.c index f1bfc99eef..c47a7e739f 100644 --- a/drivers/pci/pci-mvebu-phy.c +++ b/drivers/pci/pci-mvebu-phy.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * SoC specific PCIe PHY setup for Marvell MVEBU SoCs * diff --git a/drivers/pci/pci-mvebu.c b/drivers/pci/pci-mvebu.c index 0c5e34116c..41bccd2783 100644 --- a/drivers/pci/pci-mvebu.c +++ b/drivers/pci/pci-mvebu.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * PCIe driver for Marvell MVEBU SoCs * diff --git a/drivers/pci/pci-mvebu.h b/drivers/pci/pci-mvebu.h index 2797bc4c8b..2185f20b41 100644 --- a/drivers/pci/pci-mvebu.h +++ b/drivers/pci/pci-mvebu.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /* * PCIe include for Marvell MVEBU SoCs * diff --git a/drivers/pci/pci-tegra.c b/drivers/pci/pci-tegra.c index b534285c97..d3b8ab59b2 100644 --- a/drivers/pci/pci-tegra.c +++ b/drivers/pci/pci-tegra.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2014 Lucas Stach <l.stach@pengutronix.de> * diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index facd06bb5e..9b00a1c9eb 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #define pr_fmt(fmt) "pci: " fmt #include <common.h> diff --git a/drivers/pci/pci_iomap.c b/drivers/pci/pci_iomap.c index e00fcb5d28..61459ac669 100644 --- a/drivers/pci/pci_iomap.c +++ b/drivers/pci/pci_iomap.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Implement the default iomap interfaces * diff --git a/drivers/pci/pcie-designware-host.c b/drivers/pci/pcie-designware-host.c index b2d46d38f8..a8309653c6 100644 --- a/drivers/pci/pcie-designware-host.c +++ b/drivers/pci/pcie-designware-host.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Synopsys DesignWare PCIe host controller driver * diff --git a/drivers/pci/pcie-designware.c b/drivers/pci/pcie-designware.c index e2007dba6d..ecfd6d5fa6 100644 --- a/drivers/pci/pcie-designware.c +++ b/drivers/pci/pcie-designware.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Synopsys DesignWare PCIe host controller driver * diff --git a/drivers/pci/pcie-designware.h b/drivers/pci/pcie-designware.h index de20654e42..7a4516dd1b 100644 --- a/drivers/pci/pcie-designware.h +++ b/drivers/pci/pcie-designware.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /* * Synopsys DesignWare PCIe host controller driver * diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig index c0b9a61dc5..4df9bd0523 100644 --- a/drivers/phy/Kconfig +++ b/drivers/phy/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only # # PHY # diff --git a/drivers/phy/Makefile b/drivers/phy/Makefile index ef198b4723..37e5f32d6a 100644 --- a/drivers/phy/Makefile +++ b/drivers/phy/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only # # Makefile for the phy drivers. # diff --git a/drivers/phy/freescale/Kconfig b/drivers/phy/freescale/Kconfig index b5320b7ab9..4eb1f9a55c 100644 --- a/drivers/phy/freescale/Kconfig +++ b/drivers/phy/freescale/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only config PHY_FSL_IMX8MQ_USB bool "Freescale i.MX8M USB3 PHY" default ARCH_IMX8MQ diff --git a/drivers/phy/freescale/Makefile b/drivers/phy/freescale/Makefile index ec13ce4b67..a459a44f6e 100644 --- a/drivers/phy/freescale/Makefile +++ b/drivers/phy/freescale/Makefile @@ -1,2 +1,2 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_PHY_FSL_IMX8MQ_USB) += phy-fsl-imx8mq-usb.o diff --git a/drivers/phy/freescale/phy-fsl-imx8mq-usb.c b/drivers/phy/freescale/phy-fsl-imx8mq-usb.c index 6d60eacd7f..d3f9c1ba6e 100644 --- a/drivers/phy/freescale/phy-fsl-imx8mq-usb.c +++ b/drivers/phy/freescale/phy-fsl-imx8mq-usb.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later /* Copyright (c) 2017 NXP. */ #include <common.h> diff --git a/drivers/phy/phy-stm32-usbphyc.c b/drivers/phy/phy-stm32-usbphyc.c index a50eae94d4..4c1d7bfa48 100644 --- a/drivers/phy/phy-stm32-usbphyc.c +++ b/drivers/phy/phy-stm32-usbphyc.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * STMicroelectronics STM32 USB PHY Controller driver * diff --git a/drivers/phy/rockchip/Kconfig b/drivers/phy/rockchip/Kconfig index 3d56885f5f..e6cee372e7 100644 --- a/drivers/phy/rockchip/Kconfig +++ b/drivers/phy/rockchip/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only config PHY_ROCKCHIP_INNO_USB2 bool "Rockchip INNO USB2PHY Driver" depends on (ARCH_ROCKCHIP || COMPILE_TEST) && OFDEVICE diff --git a/drivers/phy/rockchip/Makefile b/drivers/phy/rockchip/Makefile index b69ca64b09..51ebf06aa1 100644 --- a/drivers/phy/rockchip/Makefile +++ b/drivers/phy/rockchip/Makefile @@ -1,3 +1,3 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_PHY_ROCKCHIP_INNO_USB2) += phy-rockchip-inno-usb2.o obj-$(CONFIG_PHY_ROCKCHIP_NANENG_COMBO_PHY) += phy-rockchip-naneng-combphy.o diff --git a/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c b/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c index af4340f90d..445703ecd8 100644 --- a/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c +++ b/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Rockchip PIPE USB3.0 PCIE SATA combphy driver * diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig index 460a538eed..d3d5c7be23 100644 --- a/drivers/pinctrl/Kconfig +++ b/drivers/pinctrl/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only menu "Pin controllers" config PINCTRL diff --git a/drivers/pinctrl/Makefile b/drivers/pinctrl/Makefile index 9073dba571..f1a5fa5715 100644 --- a/drivers/pinctrl/Makefile +++ b/drivers/pinctrl/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_PINCTRL) += pinctrl.o obj-$(CONFIG_PINCTRL_AT91) += pinctrl-at91.o obj-$(CONFIG_PINCTRL_AT91PIO4) += pinctrl-at91-pio4.o diff --git a/drivers/pinctrl/imx-iomux-v1.c b/drivers/pinctrl/imx-iomux-v1.c index e9350c115b..c82d716e1c 100644 --- a/drivers/pinctrl/imx-iomux-v1.c +++ b/drivers/pinctrl/imx-iomux-v1.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <io.h> #include <init.h> diff --git a/drivers/pinctrl/imx-iomux-v3.c b/drivers/pinctrl/imx-iomux-v3.c index 1ea1899c31..ecadff5e82 100644 --- a/drivers/pinctrl/imx-iomux-v3.c +++ b/drivers/pinctrl/imx-iomux-v3.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * imx-iomux-v3.c - i.MX iomux-v3 pinctrl support * diff --git a/drivers/pinctrl/mvebu/Makefile b/drivers/pinctrl/mvebu/Makefile index 7377d37927..c90b7fabb8 100644 --- a/drivers/pinctrl/mvebu/Makefile +++ b/drivers/pinctrl/mvebu/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-y += common.o obj-$(CONFIG_ARCH_ARMADA_370) += armada-370.o obj-$(CONFIG_ARCH_ARMADA_XP) += armada-xp.o diff --git a/drivers/pinctrl/pinctrl-at91-pio4.c b/drivers/pinctrl/pinctrl-at91-pio4.c index 40bc573e31..c1eb4518dc 100644 --- a/drivers/pinctrl/pinctrl-at91-pio4.c +++ b/drivers/pinctrl/pinctrl-at91-pio4.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * sama5d2 pin control and GPIO chip driver * Copyright (c) 2019 Ahmad Fatoum, Pengutronix diff --git a/drivers/pinctrl/pinctrl-mxs.c b/drivers/pinctrl/pinctrl-mxs.c index a340f9ac37..acee8178a5 100644 --- a/drivers/pinctrl/pinctrl-mxs.c +++ b/drivers/pinctrl/pinctrl-mxs.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * pinctrl-mxs.c - MXS pinctrl support * diff --git a/drivers/pinctrl/pinctrl-rockchip.c b/drivers/pinctrl/pinctrl-rockchip.c index 1fdb9a913a..5cf77c58b2 100644 --- a/drivers/pinctrl/pinctrl-rockchip.c +++ b/drivers/pinctrl/pinctrl-rockchip.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Rockchip pinctrl and gpio driver for Barebox * diff --git a/drivers/pinctrl/pinctrl-single.c b/drivers/pinctrl/pinctrl-single.c index 66e75bb01b..edf2d046f0 100644 --- a/drivers/pinctrl/pinctrl-single.c +++ b/drivers/pinctrl/pinctrl-single.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * pinctrl-single - Generic device tree based pinctrl driver for one * register per pin type pinmux controllers diff --git a/drivers/pinctrl/pinctrl-stm32.c b/drivers/pinctrl/pinctrl-stm32.c index 97a643a4da..9b5b04b6d6 100644 --- a/drivers/pinctrl/pinctrl-stm32.c +++ b/drivers/pinctrl/pinctrl-stm32.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2015 Maxime Coquelin * Copyright (C) 2017 STMicroelectronics diff --git a/drivers/pinctrl/pinctrl-tegra-xusb.c b/drivers/pinctrl/pinctrl-tegra-xusb.c index 6ec67297e0..b288689154 100644 --- a/drivers/pinctrl/pinctrl-tegra-xusb.c +++ b/drivers/pinctrl/pinctrl-tegra-xusb.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2014 Lucas Stach <l.stach@pengutronix.de> * diff --git a/drivers/pinctrl/pinctrl-tegra20.c b/drivers/pinctrl/pinctrl-tegra20.c index e6dee7533e..04431e3875 100644 --- a/drivers/pinctrl/pinctrl-tegra20.c +++ b/drivers/pinctrl/pinctrl-tegra20.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2013 Lucas Stach <l.stach@pengutronix.de> * diff --git a/drivers/pinctrl/pinctrl-tegra30.c b/drivers/pinctrl/pinctrl-tegra30.c index f687609551..78751f9f39 100644 --- a/drivers/pinctrl/pinctrl-tegra30.c +++ b/drivers/pinctrl/pinctrl-tegra30.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2014 Lucas Stach <l.stach@pengutronix.de> * diff --git a/drivers/pinctrl/pinctrl-vf610.c b/drivers/pinctrl/pinctrl-vf610.c index 4ca610f38c..28474ed278 100644 --- a/drivers/pinctrl/pinctrl-vf610.c +++ b/drivers/pinctrl/pinctrl-vf610.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2016 Zodiac Inflight Innovation * Author: Andrey Smirnov <andrew.smirnov@gmail.com> diff --git a/drivers/pinctrl/pinctrl.c b/drivers/pinctrl/pinctrl.c index caf15df448..423040ecf3 100644 --- a/drivers/pinctrl/pinctrl.c +++ b/drivers/pinctrl/pinctrl.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * pinctrl.c - barebox pinctrl support * diff --git a/drivers/power/reset/nvmem-reboot-mode.c b/drivers/power/reset/nvmem-reboot-mode.c index 2086e96400..c2233d0f3a 100644 --- a/drivers/power/reset/nvmem-reboot-mode.c +++ b/drivers/power/reset/nvmem-reboot-mode.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later /* * Copyright (c) Vaisala Oyj. All rights reserved. */ diff --git a/drivers/pwm/Kconfig b/drivers/pwm/Kconfig index 777762a854..8219c1eaff 100644 --- a/drivers/pwm/Kconfig +++ b/drivers/pwm/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only menuconfig PWM bool "PWM Support" help diff --git a/drivers/pwm/Makefile b/drivers/pwm/Makefile index b759d69d9b..9c3b10ae31 100644 --- a/drivers/pwm/Makefile +++ b/drivers/pwm/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_PWM) += core.o obj-$(CONFIG_PWM_PXA) += pxa_pwm.o obj-$(CONFIG_PWM_ATMEL) += pwm-atmel.o diff --git a/drivers/pwm/pwm-atmel.c b/drivers/pwm/pwm-atmel.c index 7b0e713710..7819d321d3 100644 --- a/drivers/pwm/pwm-atmel.c +++ b/drivers/pwm/pwm-atmel.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Driver for Atmel Pulse Width Modulation Controller * diff --git a/drivers/pwm/pwm-imx.c b/drivers/pwm/pwm-imx.c index 603a62a270..609765d895 100644 --- a/drivers/pwm/pwm-imx.c +++ b/drivers/pwm/pwm-imx.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * simple driver for PWM (Pulse Width Modulator) controller * diff --git a/drivers/pwm/pwm-stm32.c b/drivers/pwm/pwm-stm32.c index 061644e4d8..4e1a65207e 100644 --- a/drivers/pwm/pwm-stm32.c +++ b/drivers/pwm/pwm-stm32.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2016 STMicroelectronics 2016 * Copyright (C) 2020 Pengutronix diff --git a/drivers/regulator/Kconfig b/drivers/regulator/Kconfig index 4e05d8f488..02cea362eb 100644 --- a/drivers/regulator/Kconfig +++ b/drivers/regulator/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only menuconfig REGULATOR bool "voltage regulator support" diff --git a/drivers/regulator/Makefile b/drivers/regulator/Makefile index 9580bcb5ca..7b5d527cb1 100644 --- a/drivers/regulator/Makefile +++ b/drivers/regulator/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_REGULATOR) += core.o helpers.o obj-$(CONFIG_OFDEVICE) += of_regulator.o obj-$(CONFIG_REGULATOR_FIXED) += fixed.o diff --git a/drivers/regulator/bcm2835.c b/drivers/regulator/bcm2835.c index 3351e6d2f3..71a1d1a55d 100644 --- a/drivers/regulator/bcm2835.c +++ b/drivers/regulator/bcm2835.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * bcm2835 regulator support * diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c index 4cf6e34de8..d1d3a36dfc 100644 --- a/drivers/regulator/core.c +++ b/drivers/regulator/core.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * barebox regulator support * diff --git a/drivers/regulator/fixed.c b/drivers/regulator/fixed.c index e6a85c46f4..f068fded62 100644 --- a/drivers/regulator/fixed.c +++ b/drivers/regulator/fixed.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * fixed regulator support * diff --git a/drivers/regulator/helpers.c b/drivers/regulator/helpers.c index 06cccbeeca..fb689a6bfc 100644 --- a/drivers/regulator/helpers.c +++ b/drivers/regulator/helpers.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <regmap.h> #include <regulator.h> diff --git a/drivers/regulator/stm32-pwr.c b/drivers/regulator/stm32-pwr.c index 4cb46b081a..8cb0b0c12e 100644 --- a/drivers/regulator/stm32-pwr.c +++ b/drivers/regulator/stm32-pwr.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only // Copyright (C) STMicroelectronics 2019 // Authors: Gabriel Fernandez <gabriel.fernandez@st.com> // Pascal Paillet <p.paillet@st.com>. diff --git a/drivers/regulator/stpmic1_regulator.c b/drivers/regulator/stpmic1_regulator.c index 61227e0855..63ed4468ed 100644 --- a/drivers/regulator/stpmic1_regulator.c +++ b/drivers/regulator/stpmic1_regulator.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only // Copyright (C) STMicroelectronics 2018 // Author: Pascal Paillet <p.paillet@st.com> for STMicroelectronics. diff --git a/drivers/remoteproc/Makefile b/drivers/remoteproc/Makefile index 43658df5c6..185e12a7c0 100644 --- a/drivers/remoteproc/Makefile +++ b/drivers/remoteproc/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only # # Generic framework for controlling remote processors # diff --git a/drivers/remoteproc/imx_rproc.c b/drivers/remoteproc/imx_rproc.c index 58a2da74a6..ff74adb112 100644 --- a/drivers/remoteproc/imx_rproc.c +++ b/drivers/remoteproc/imx_rproc.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2017 Pengutronix, Oleksij Rempel <kernel@pengutronix.de> */ diff --git a/drivers/remoteproc/stm32_rproc.c b/drivers/remoteproc/stm32_rproc.c index bfd4d59768..d29b59bcdc 100644 --- a/drivers/remoteproc/stm32_rproc.c +++ b/drivers/remoteproc/stm32_rproc.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) STMicroelectronics 2018 - All Rights Reserved * Authors: Ludovic Barre <ludovic.barre@st.com> for STMicroelectronics. diff --git a/drivers/reset/Kconfig b/drivers/reset/Kconfig index c4c64720df..6c70c10269 100644 --- a/drivers/reset/Kconfig +++ b/drivers/reset/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only config ARCH_HAS_RESET_CONTROLLER bool diff --git a/drivers/reset/Makefile b/drivers/reset/Makefile index f3a66d63f5..d884a83aa3 100644 --- a/drivers/reset/Makefile +++ b/drivers/reset/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_RESET_CONTROLLER) += core.o obj-$(CONFIG_ARCH_SOCFPGA) += reset-socfpga.o obj-$(CONFIG_RESET_IMX7) += reset-imx7.o diff --git a/drivers/reset/reset-imx7.c b/drivers/reset/reset-imx7.c index 2fcd70a269..1591ace2cd 100644 --- a/drivers/reset/reset-imx7.c +++ b/drivers/reset/reset-imx7.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2017, Impinj, Inc. * diff --git a/drivers/reset/reset-starfive-vic.c b/drivers/reset/reset-starfive-vic.c index bcf615da0a..960e82e824 100644 --- a/drivers/reset/reset-starfive-vic.c +++ b/drivers/reset/reset-starfive-vic.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2021 Ahmad Fatoum, Pengutronix * diff --git a/drivers/reset/reset-stm32.c b/drivers/reset/reset-stm32.c index 2ef00859c4..703ba1f072 100644 --- a/drivers/reset/reset-stm32.c +++ b/drivers/reset/reset-stm32.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later /* * Copyright (C) 2017, STMicroelectronics - All Rights Reserved * Copyright (C) 2019, Ahmad Fatoum, Pengutronix diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig index e9374d0f2a..84c32c1dc8 100644 --- a/drivers/rtc/Kconfig +++ b/drivers/rtc/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only # # RTC class/drivers configuration # diff --git a/drivers/rtc/Makefile b/drivers/rtc/Makefile index c831198872..27ab43f91e 100644 --- a/drivers/rtc/Makefile +++ b/drivers/rtc/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only # # Makefile for RTC class/drivers. # diff --git a/drivers/rtc/rtc-abracon.c b/drivers/rtc/rtc-abracon.c index 7daeb9b9cb..6144fc0aa9 100644 --- a/drivers/rtc/rtc-abracon.c +++ b/drivers/rtc/rtc-abracon.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <driver.h> diff --git a/drivers/rtc/rtc-ds1307.c b/drivers/rtc/rtc-ds1307.c index 6544366989..314d794f11 100644 --- a/drivers/rtc/rtc-ds1307.c +++ b/drivers/rtc/rtc-ds1307.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * rtc-ds1307.c - RTC driver for some mostly-compatible I2C chips. * diff --git a/drivers/rtc/rtc-lib.c b/drivers/rtc/rtc-lib.c index c447d4ded9..3709d46cbe 100644 --- a/drivers/rtc/rtc-lib.c +++ b/drivers/rtc/rtc-lib.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * rtc and date/time utility functions * diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig index 94292c97fe..8bf9fcd07e 100644 --- a/drivers/serial/Kconfig +++ b/drivers/serial/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only menu "serial drivers" depends on !CONSOLE_NONE diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile index afd66280fd..4b2bfb0537 100644 --- a/drivers/serial/Makefile +++ b/drivers/serial/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_DRIVER_SERIAL_ARM_DCC) += arm_dcc.o obj-$(CONFIG_SERIAL_AMBA_PL011) += amba-pl011.o obj-$(CONFIG_DRIVER_SERIAL_AR933X) += serial_ar933x.o diff --git a/drivers/serial/efi-stdio.c b/drivers/serial/efi-stdio.c index 0e7acb4a7f..2e2aa57227 100644 --- a/drivers/serial/efi-stdio.c +++ b/drivers/serial/efi-stdio.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * efi_console.c - EFI console support * diff --git a/drivers/serial/linux_console.c b/drivers/serial/linux_console.c index ec41b24327..a8e9c52125 100644 --- a/drivers/serial/linux_console.c +++ b/drivers/serial/linux_console.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * linux_console.c - Use stdin/stdout as a console device * diff --git a/drivers/serial/serial_ar933x.h b/drivers/serial/serial_ar933x.h index 2d960bbdf1..d73e77a603 100644 --- a/drivers/serial/serial_ar933x.h +++ b/drivers/serial/serial_ar933x.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /* * Atheros AR933X UART defines * diff --git a/drivers/serial/serial_clps711x.c b/drivers/serial/serial_clps711x.c index 294c88b92f..7aac0970bf 100644 --- a/drivers/serial/serial_clps711x.c +++ b/drivers/serial/serial_clps711x.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later /* Author: Alexander Shiyan <shc_work@mail.ru> */ #include <common.h> diff --git a/drivers/serial/serial_digic.c b/drivers/serial/serial_digic.c index 1e789a9169..74c9c9c7e2 100644 --- a/drivers/serial/serial_digic.c +++ b/drivers/serial/serial_digic.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2013, 2014 Antony Pavlov <antonynpavlov@gmail.com> * diff --git a/drivers/serial/serial_efi.c b/drivers/serial/serial_efi.c index 24a53a9019..6ed068f159 100644 --- a/drivers/serial/serial_efi.c +++ b/drivers/serial/serial_efi.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2017 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> */ diff --git a/drivers/serial/serial_litex.c b/drivers/serial/serial_litex.c index 8562a45ecc..3643427ef4 100644 --- a/drivers/serial/serial_litex.c +++ b/drivers/serial/serial_litex.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2019 Antony Pavlov <antonynpavlov@gmail.com> * diff --git a/drivers/serial/serial_lpuart.c b/drivers/serial/serial_lpuart.c index 42e9657176..b1a5d60b41 100644 --- a/drivers/serial/serial_lpuart.c +++ b/drivers/serial/serial_lpuart.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2016 Zodiac Inflight Innovation * Author: Andrey Smirnov <andrew.smirnov@gmail.com> diff --git a/drivers/serial/serial_ns16550.h b/drivers/serial/serial_ns16550.h index e6a9b37cc1..56c639a134 100644 --- a/drivers/serial/serial_ns16550.h +++ b/drivers/serial/serial_ns16550.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /** * @file * @brief Serial NS16550 header diff --git a/drivers/serial/serial_ns16550_pci.c b/drivers/serial/serial_ns16550_pci.c index c29cfc5a75..fde8f718dd 100644 --- a/drivers/serial/serial_ns16550_pci.c +++ b/drivers/serial/serial_ns16550_pci.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Probe module for 8250/16550-type PCI serial ports. * diff --git a/drivers/serial/serial_sbi.c b/drivers/serial/serial_sbi.c index 2ea28fea5b..343fcda4dc 100644 --- a/drivers/serial/serial_sbi.c +++ b/drivers/serial/serial_sbi.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later /* * Copyright (C) 2021 Marcelo Politzer <marcelo.politzer@cartesi.io> */ diff --git a/drivers/serial/serial_sifive.c b/drivers/serial/serial_sifive.c index 45f7c2bc9a..931269f2e3 100644 --- a/drivers/serial/serial_sifive.c +++ b/drivers/serial/serial_sifive.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later /* * Copyright (C) 2018 Anup Patel <anup@brainfault.org> */ diff --git a/drivers/serial/serial_stm32.c b/drivers/serial/serial_stm32.c index 4bbfb1eef7..271897f174 100644 --- a/drivers/serial/serial_stm32.c +++ b/drivers/serial/serial_stm32.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later /* * Copyright (C) 2016, STMicroelectronics - All Rights Reserved * Author(s): Vikas Manocha, <vikas.manocha@st.com> for STMicroelectronics. diff --git a/drivers/serial/serial_stm32.h b/drivers/serial/serial_stm32.h index dd3e930c93..f519f2abac 100644 --- a/drivers/serial/serial_stm32.h +++ b/drivers/serial/serial_stm32.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0+ */ +/* SPDX-License-Identifier: GPL-2.0-or-later */ /* * Copyright (C) 2016, STMicroelectronics - All Rights Reserved * Author(s): Vikas Manocha, <vikas.manocha@st.com> for STMicroelectronics. diff --git a/drivers/soc/Makefile b/drivers/soc/Makefile index c3499c0c7f..c4efb8f02f 100644 --- a/drivers/soc/Makefile +++ b/drivers/soc/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-y += imx/ obj-$(CONFIG_CPU_SIFIVE) += sifive/ diff --git a/drivers/soc/imx/Kconfig b/drivers/soc/imx/Kconfig index 6f3974225f..742d13c4f5 100644 --- a/drivers/soc/imx/Kconfig +++ b/drivers/soc/imx/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only menu "i.MX SoC drivers" config IMX_GPCV2_PM_DOMAINS diff --git a/drivers/soc/imx/Makefile b/drivers/soc/imx/Makefile index 0579b552bc..3a8a8d0b00 100644 --- a/drivers/soc/imx/Makefile +++ b/drivers/soc/imx/Makefile @@ -1,2 +1,2 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_IMX_GPCV2_PM_DOMAINS) += gpcv2.o diff --git a/drivers/soc/imx/gpcv2.c b/drivers/soc/imx/gpcv2.c index bc373ecf40..565c86cb02 100644 --- a/drivers/soc/imx/gpcv2.c +++ b/drivers/soc/imx/gpcv2.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later /* * Copyright 2017 Impinj, Inc * Author: Andrey Smirnov <andrew.smirnov@gmail.com> diff --git a/drivers/soc/sifive/Makefile b/drivers/soc/sifive/Makefile index 97a9743b0b..b3470a1b56 100644 --- a/drivers/soc/sifive/Makefile +++ b/drivers/soc/sifive/Makefile @@ -1,2 +1,2 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_SIFIVE_L2) += sifive_l2_cache.o diff --git a/drivers/soc/sifive/sifive_l2_cache.c b/drivers/soc/sifive/sifive_l2_cache.c index c1b7fda9c8..74eab8df0a 100644 --- a/drivers/soc/sifive/sifive_l2_cache.c +++ b/drivers/soc/sifive/sifive_l2_cache.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * SiFive L2 cache controller Driver * diff --git a/drivers/soc/starfive/Makefile b/drivers/soc/starfive/Makefile index 287e021015..373029e703 100644 --- a/drivers/soc/starfive/Makefile +++ b/drivers/soc/starfive/Makefile @@ -1,2 +1,2 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_SOC_STARFIVE_JH7100) += jh7100_dma.o diff --git a/drivers/soc/starfive/jh7100_dma.c b/drivers/soc/starfive/jh7100_dma.c index a1dc48e73f..e3cfc8cf65 100644 --- a/drivers/soc/starfive/jh7100_dma.c +++ b/drivers/soc/starfive/jh7100_dma.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2021 Ahmad Fatoum, Pengutronix */ diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig index 7b0836ee70..b0137d21e0 100644 --- a/drivers/spi/Kconfig +++ b/drivers/spi/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only menu "SPI drivers" config SPI diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile index 4fa4733a70..39be9d41e4 100644 --- a/drivers/spi/Makefile +++ b/drivers/spi/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_SPI) += spi.o obj-$(CONFIG_SPI_MEM) += spi-mem.o obj-$(CONFIG_DRIVER_SPI_ATH79) += ath79_spi.o diff --git a/drivers/spi/atmel-quadspi.c b/drivers/spi/atmel-quadspi.c index af2191726f..bf6d17cc5c 100644 --- a/drivers/spi/atmel-quadspi.c +++ b/drivers/spi/atmel-quadspi.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Driver for Atmel QSPI Controller * diff --git a/drivers/spi/atmel_spi.h b/drivers/spi/atmel_spi.h index 0d77f3a541..1f8cce7068 100644 --- a/drivers/spi/atmel_spi.h +++ b/drivers/spi/atmel_spi.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /* * Register definitions for Atmel Serial Peripheral Interface (SPI) * diff --git a/drivers/spi/spi-bitbang-txrx.h b/drivers/spi/spi-bitbang-txrx.h index 038af421a9..7b75f2f862 100644 --- a/drivers/spi/spi-bitbang-txrx.h +++ b/drivers/spi/spi-bitbang-txrx.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /* * Mix this utility code with some glue code to get one of several types of * simple SPI master driver. Two do polled word-at-a-time I/O: diff --git a/drivers/spi/spi-fsl-dspi.c b/drivers/spi/spi-fsl-dspi.c index a7ceb854e9..21cf84233b 100644 --- a/drivers/spi/spi-fsl-dspi.c +++ b/drivers/spi/spi-fsl-dspi.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later // // Copyright 2013 Freescale Semiconductor, Inc. // diff --git a/drivers/spi/spi-fsl-qspi.c b/drivers/spi/spi-fsl-qspi.c index e22c3099fe..f9bf888603 100644 --- a/drivers/spi/spi-fsl-qspi.c +++ b/drivers/spi/spi-fsl-qspi.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later /* * Freescale QuadSPI driver. diff --git a/drivers/spi/spi-mem.c b/drivers/spi/spi-mem.c index b438ed3dcc..1e4120a2dc 100644 --- a/drivers/spi/spi-mem.c +++ b/drivers/spi/spi-mem.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later /* * Copyright (C) 2018 Exceet Electronics GmbH * Copyright (C) 2018 Bootlin diff --git a/drivers/spi/zynq_qspi.c b/drivers/spi/zynq_qspi.c index bd3418a3fb..f0edc41c37 100644 --- a/drivers/spi/zynq_qspi.c +++ b/drivers/spi/zynq_qspi.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later /* * Copyright (C) 2019 Xilinx, Inc. * diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig index e3daa49530..e43c28113f 100644 --- a/drivers/usb/Kconfig +++ b/drivers/usb/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only config USB bool diff --git a/drivers/usb/Makefile b/drivers/usb/Makefile index 407cf94cee..8f1557d5d4 100644 --- a/drivers/usb/Makefile +++ b/drivers/usb/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_USB) += core/ obj-$(CONFIG_USB_IMX_CHIPIDEA) += imx/ obj-$(CONFIG_USB_DWC2) += dwc2/ diff --git a/drivers/usb/core/Makefile b/drivers/usb/core/Makefile index f12e7fd71a..60e03caad7 100644 --- a/drivers/usb/core/Makefile +++ b/drivers/usb/core/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_USB_HOST) += usb.o hub.o obj-$(CONFIG_USB) += common.o obj-$(CONFIG_OFDEVICE) += of.o diff --git a/drivers/usb/core/common.c b/drivers/usb/core/common.c index c83a981a02..d562b963be 100644 --- a/drivers/usb/core/common.c +++ b/drivers/usb/core/common.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <usb/ch9.h> diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c index 7944a9031b..6fbe37fccf 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * hub.c - USB hub support * diff --git a/drivers/usb/core/of.c b/drivers/usb/core/of.c index a8d4452cc8..acf95320c0 100644 --- a/drivers/usb/core/of.c +++ b/drivers/usb/core/of.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * usb devicetree helper functions */ diff --git a/drivers/usb/core/usb.h b/drivers/usb/core/usb.h index 431b72fc26..0d4f80c21d 100644 --- a/drivers/usb/core/usb.h +++ b/drivers/usb/core/usb.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ #ifndef __CORE_USB_H #define __CORE_USB_H diff --git a/drivers/usb/dwc2/Kconfig b/drivers/usb/dwc2/Kconfig index 9e82b0b7ce..08bb11cc6a 100644 --- a/drivers/usb/dwc2/Kconfig +++ b/drivers/usb/dwc2/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only config USB_DWC2 bool depends on USB && HAS_DMA diff --git a/drivers/usb/dwc2/Makefile b/drivers/usb/dwc2/Makefile index 7f110d9374..1ca89e9b66 100644 --- a/drivers/usb/dwc2/Makefile +++ b/drivers/usb/dwc2/Makefile @@ -1,3 +1,3 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_USB_DWC2_HOST) += dwc2.o core.o host.o rhub.o obj-$(CONFIG_USB_DWC2_GADGET) += dwc2.o core.o gadget.o diff --git a/drivers/usb/dwc2/core.c b/drivers/usb/dwc2/core.c index d0af25f4b4..8be5c91f98 100644 --- a/drivers/usb/dwc2/core.c +++ b/drivers/usb/dwc2/core.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later #include "dwc2.h" /* Returns the controller's GHWCFG2.OTG_MODE. */ diff --git a/drivers/usb/dwc2/core.h b/drivers/usb/dwc2/core.h index c49672c85a..84cb698dc8 100644 --- a/drivers/usb/dwc2/core.h +++ b/drivers/usb/dwc2/core.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0+ */ +/* SPDX-License-Identifier: GPL-2.0-or-later */ /* Maximum number of Endpoints/HostChannels */ #define DWC2_MAX_EPS_CHANNELS 16 diff --git a/drivers/usb/dwc2/dwc2.c b/drivers/usb/dwc2/dwc2.c index 9893977b8e..1b5981c2d5 100644 --- a/drivers/usb/dwc2/dwc2.c +++ b/drivers/usb/dwc2/dwc2.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later /* * Copyright (C) 2012 Oleksandr Tymoshenko <gonzo@freebsd.org> * Copyright (C) 2014 Marek Vasut <marex@denx.de> diff --git a/drivers/usb/dwc2/dwc2.h b/drivers/usb/dwc2/dwc2.h index 31827d4c7a..3ecc359f8b 100644 --- a/drivers/usb/dwc2/dwc2.h +++ b/drivers/usb/dwc2/dwc2.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0+ */ +/* SPDX-License-Identifier: GPL-2.0-or-later */ #include <usb/usb.h> #include <usb/usb_defs.h> #include <usb/gadget.h> diff --git a/drivers/usb/dwc2/gadget.c b/drivers/usb/dwc2/gadget.c index 5a4fd9631e..7070485410 100644 --- a/drivers/usb/dwc2/gadget.c +++ b/drivers/usb/dwc2/gadget.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later #include <dma.h> #include <usb/gadget.h> #include "dwc2.h" diff --git a/drivers/usb/dwc2/host.c b/drivers/usb/dwc2/host.c index 6726ff60db..bf9366273d 100644 --- a/drivers/usb/dwc2/host.c +++ b/drivers/usb/dwc2/host.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later #include <dma.h> #include "dwc2.h" diff --git a/drivers/usb/dwc2/regs.h b/drivers/usb/dwc2/regs.h index 06fc8da822..4c74f95eb4 100644 --- a/drivers/usb/dwc2/regs.h +++ b/drivers/usb/dwc2/regs.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0+ */ +/* SPDX-License-Identifier: GPL-2.0-or-later */ /* * Copyright (C) 2014 Marek Vasut <marex@denx.de> */ diff --git a/drivers/usb/dwc2/rhub.c b/drivers/usb/dwc2/rhub.c index 3560714444..de4d2837ac 100644 --- a/drivers/usb/dwc2/rhub.c +++ b/drivers/usb/dwc2/rhub.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later #include "dwc2.h" static struct descriptor { diff --git a/drivers/usb/dwc3/Kconfig b/drivers/usb/dwc3/Kconfig index 026863f6fa..721c0dec63 100644 --- a/drivers/usb/dwc3/Kconfig +++ b/drivers/usb/dwc3/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only config USB_DWC3 tristate "DesignWare USB3 DRD Core Support" depends on USB && HAS_DMA diff --git a/drivers/usb/dwc3/Makefile b/drivers/usb/dwc3/Makefile index d0c812c883..6672913333 100644 --- a/drivers/usb/dwc3/Makefile +++ b/drivers/usb/dwc3/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_USB_DWC3) += dwc3.o diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c index fb3cae4de9..fd0ec754e0 100644 --- a/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /** * core.c - DesignWare USB3 DRD Controller Core file * diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h index 94cc594920..96e8d0d250 100644 --- a/drivers/usb/dwc3/core.h +++ b/drivers/usb/dwc3/core.h @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * core.h - DesignWare USB3 DRD Core Header * diff --git a/drivers/usb/dwc3/debug.h b/drivers/usb/dwc3/debug.h index 4f75ab3505..1494df261d 100644 --- a/drivers/usb/dwc3/debug.h +++ b/drivers/usb/dwc3/debug.h @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /** * debug.h - DesignWare USB3 DRD Controller Debug Header * diff --git a/drivers/usb/dwc3/dwc3-of-simple.c b/drivers/usb/dwc3/dwc3-of-simple.c index ac16d22624..1f42cde37f 100644 --- a/drivers/usb/dwc3/dwc3-of-simple.c +++ b/drivers/usb/dwc3/dwc3-of-simple.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /** * dwc3-of-simple.c - OF glue layer for simple integrations * diff --git a/drivers/usb/dwc3/ep0.c b/drivers/usb/dwc3/ep0.c index b757a57886..c0e316e14f 100644 --- a/drivers/usb/dwc3/ep0.c +++ b/drivers/usb/dwc3/ep0.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /** * ep0.c - DesignWare USB3 DRD Controller Endpoint 0 Handling * diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c index 49deaf4d98..e911bba85e 100644 --- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /** * gadget.c - DesignWare USB3 DRD Controller Gadget Framework Link * diff --git a/drivers/usb/dwc3/gadget.h b/drivers/usb/dwc3/gadget.h index 3ce748c0b4..47c2d5b955 100644 --- a/drivers/usb/dwc3/gadget.h +++ b/drivers/usb/dwc3/gadget.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /** * gadget.h - DesignWare USB3 DRD Gadget Header * diff --git a/drivers/usb/dwc3/host.c b/drivers/usb/dwc3/host.c index d5daa7f19e..0c5e1527b5 100644 --- a/drivers/usb/dwc3/host.c +++ b/drivers/usb/dwc3/host.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /** * host.c - DesignWare USB3 DRD Controller Host Glue * diff --git a/drivers/usb/dwc3/io.h b/drivers/usb/dwc3/io.h index f87b173e90..c76878a3a4 100644 --- a/drivers/usb/dwc3/io.h +++ b/drivers/usb/dwc3/io.h @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /** * io.h - DesignWare USB3 DRD IO Header * diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig index a0357c3628..10c713e833 100644 --- a/drivers/usb/gadget/Kconfig +++ b/drivers/usb/gadget/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only menuconfig USB_GADGET select USB select POLLER diff --git a/drivers/usb/gadget/Makefile b/drivers/usb/gadget/Makefile index 2802207f73..36d71f9b8e 100644 --- a/drivers/usb/gadget/Makefile +++ b/drivers/usb/gadget/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_USB_GADGET) += composite.o config.o usbstring.o epautoconf.o udc-core.o functions.o config.o multi.o obj-$(CONFIG_USB_GADGET_SERIAL) += u_serial.o serial.o f_serial.o f_acm.o diff --git a/drivers/usb/gadget/fsl_udc.c b/drivers/usb/gadget/fsl_udc.c index ebd9523aed..ec004f1939 100644 --- a/drivers/usb/gadget/fsl_udc.c +++ b/drivers/usb/gadget/fsl_udc.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <dma.h> #include <errno.h> diff --git a/drivers/usb/gadget/fsl_udc_pbl.c b/drivers/usb/gadget/fsl_udc_pbl.c index 978adf0667..0fbe941b12 100644 --- a/drivers/usb/gadget/fsl_udc_pbl.c +++ b/drivers/usb/gadget/fsl_udc_pbl.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <usb/ch9.h> diff --git a/drivers/usb/gadget/functions.c b/drivers/usb/gadget/functions.c index 38f04d3eb8..9b08938a33 100644 --- a/drivers/usb/gadget/functions.c +++ b/drivers/usb/gadget/functions.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <linux/err.h> diff --git a/drivers/usb/gadget/gadget_chips.h b/drivers/usb/gadget/gadget_chips.h index 572a037538..78e0601027 100644 --- a/drivers/usb/gadget/gadget_chips.h +++ b/drivers/usb/gadget/gadget_chips.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /* * USB device controllers have lots of quirks. Use these macros in * gadget drivers or other code that needs to deal with them, and which diff --git a/drivers/usb/gadget/storage_common.c b/drivers/usb/gadget/storage_common.c index 88cd745063..69fcd06565 100644 --- a/drivers/usb/gadget/storage_common.c +++ b/drivers/usb/gadget/storage_common.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later /* * storage_common.c -- Common definitions for mass storage functionality * diff --git a/drivers/usb/gadget/storage_common.h b/drivers/usb/gadget/storage_common.h index ce07a7dac7..61ed5b1ded 100644 --- a/drivers/usb/gadget/storage_common.h +++ b/drivers/usb/gadget/storage_common.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ #ifndef USB_STORAGE_COMMON_H #define USB_STORAGE_COMMON_H diff --git a/drivers/usb/gadget/udc-core.c b/drivers/usb/gadget/udc-core.c index de3135fa1f..e37a39977a 100644 --- a/drivers/usb/gadget/udc-core.c +++ b/drivers/usb/gadget/udc-core.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /** * udc.c - Core UDC Framework * diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig index bf5ba09f05..d38b4dcac4 100644 --- a/drivers/usb/host/Kconfig +++ b/drivers/usb/host/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only config USB_EHCI bool "EHCI driver" depends on HAS_DMA diff --git a/drivers/usb/host/Makefile b/drivers/usb/host/Makefile index 0cd6db0a5d..e55dff4580 100644 --- a/drivers/usb/host/Makefile +++ b/drivers/usb/host/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_USB_EHCI) += ehci-hcd.o obj-$(CONFIG_USB_EHCI_OMAP) += ehci-omap.o obj-$(CONFIG_USB_EHCI_ATMEL) += ehci-atmel.o diff --git a/drivers/usb/host/ehci-atmel.c b/drivers/usb/host/ehci-atmel.c index 398894347f..ba24709e13 100644 --- a/drivers/usb/host/ehci-atmel.c +++ b/drivers/usb/host/ehci-atmel.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * (C) Copyright 2010 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> */ diff --git a/drivers/usb/host/ehci-core.h b/drivers/usb/host/ehci-core.h index d419c35e5c..8f43783f7e 100644 --- a/drivers/usb/host/ehci-core.h +++ b/drivers/usb/host/ehci-core.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /*- * Copyright (c) 2007-2008, Juniper Networks, Inc. * Copyright (c) 2008, Excito Elektronik i Skåne AB diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c index 261d0043ea..facfb3a95b 100644 --- a/drivers/usb/host/ehci-hcd.c +++ b/drivers/usb/host/ehci-hcd.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /*- * Copyright (c) 2007-2008, Juniper Networks, Inc. * Copyright (c) 2008, Excito Elektronik i Skåne AB diff --git a/drivers/usb/host/ehci-omap.c b/drivers/usb/host/ehci-omap.c index aaf965df76..858dc55f32 100644 --- a/drivers/usb/host/ehci-omap.c +++ b/drivers/usb/host/ehci-omap.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2010 Michael Grzeschik <mgr@pengutronix.de> */ diff --git a/drivers/usb/host/ehci.h b/drivers/usb/host/ehci.h index 2dd4955923..49196bfc7d 100644 --- a/drivers/usb/host/ehci.h +++ b/drivers/usb/host/ehci.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /*- * Copyright (c) 2007-2008, Juniper Networks, Inc. * Copyright (c) 2008, Michael Trimarchi <trimarchimichael@yahoo.it> diff --git a/drivers/usb/host/ohci-at91.c b/drivers/usb/host/ohci-at91.c index e7a9b1a974..a77e2cae14 100644 --- a/drivers/usb/host/ohci-at91.c +++ b/drivers/usb/host/ohci-at91.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * (C) Copyright 2010 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> */ diff --git a/drivers/usb/host/ohci.h b/drivers/usb/host/ohci.h index d047bdd9bc..7d70bcb719 100644 --- a/drivers/usb/host/ohci.h +++ b/drivers/usb/host/ohci.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /* * URB OHCI HCD (Host Controller Driver) for USB. * diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c index f66dadef12..ae20560eb5 100644 --- a/drivers/usb/host/xhci-mem.c +++ b/drivers/usb/host/xhci-mem.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later /* * USB HOST XHCI Controller stack * diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c index 61b1b55a27..fe432952ec 100644 --- a/drivers/usb/host/xhci-ring.c +++ b/drivers/usb/host/xhci-ring.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later /* * USB HOST XHCI Controller stack * diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c index caab2400d8..7336a0911a 100644 --- a/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later /* * USB HOST XHCI Controller stack * diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h index 9ffbb103d5..401fa65637 100644 --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0+ */ +/* SPDX-License-Identifier: GPL-2.0-or-later */ /* * USB HOST XHCI Controller * diff --git a/drivers/usb/imx/Kconfig b/drivers/usb/imx/Kconfig index 72511ae91e..2b9ae607bc 100644 --- a/drivers/usb/imx/Kconfig +++ b/drivers/usb/imx/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only config USB_IMX_CHIPIDEA bool "i.MX USB support (read help)" diff --git a/drivers/usb/imx/Makefile b/drivers/usb/imx/Makefile index 548a8e0458..8a70fceb78 100644 --- a/drivers/usb/imx/Makefile +++ b/drivers/usb/imx/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_USB_IMX_CHIPIDEA) += chipidea-imx.o obj-$(CONFIG_USB_IMX_CHIPIDEA_USBMISC) += imx-usb-misc.o obj-$(CONFIG_USB_IMX_PHY) += imx-usb-phy.o diff --git a/drivers/usb/misc/Kconfig b/drivers/usb/misc/Kconfig index fc8fcf83b7..9799af4725 100644 --- a/drivers/usb/misc/Kconfig +++ b/drivers/usb/misc/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only # # USB Miscellaneous driver configuration # diff --git a/drivers/usb/misc/Makefile b/drivers/usb/misc/Makefile index fb69c454bd..be5c044f5a 100644 --- a/drivers/usb/misc/Makefile +++ b/drivers/usb/misc/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only # # Makefile for the rest of the USB drivers # (the ones that don't fit into any other categories) diff --git a/drivers/usb/misc/usb251xb.c b/drivers/usb/misc/usb251xb.c index e282988fb4..4871faf451 100644 --- a/drivers/usb/misc/usb251xb.c +++ b/drivers/usb/misc/usb251xb.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later /* * Driver for Microchip USB251xB USB 2.0 Hi-Speed Hub Controller * Configuration via SMBus. diff --git a/drivers/usb/musb/Kconfig b/drivers/usb/musb/Kconfig index 256226d633..f99e514790 100644 --- a/drivers/usb/musb/Kconfig +++ b/drivers/usb/musb/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only config USB_MUSB bool "MUSB support" diff --git a/drivers/usb/musb/Makefile b/drivers/usb/musb/Makefile index b95a8c37b6..f60c97004b 100644 --- a/drivers/usb/musb/Makefile +++ b/drivers/usb/musb/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only # # for USB OTG silicon based on Mentor Graphics INVENTRA designs # diff --git a/drivers/usb/musb/am35x-phy-control.h b/drivers/usb/musb/am35x-phy-control.h index 8e6edd6aff..c10d595a9e 100644 --- a/drivers/usb/musb/am35x-phy-control.h +++ b/drivers/usb/musb/am35x-phy-control.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ #ifndef _AM335x_PHY_CONTROL_H_ #define _AM335x_PHY_CONTROL_H_ diff --git a/drivers/usb/musb/musb_am335x.c b/drivers/usb/musb/musb_am335x.c index d25cd2d8f1..03f30d92aa 100644 --- a/drivers/usb/musb/musb_am335x.c +++ b/drivers/usb/musb/musb_am335x.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <init.h> #include <linux/clk.h> diff --git a/drivers/usb/musb/musb_barebox.c b/drivers/usb/musb/musb_barebox.c index eaad61ca67..357a8f4281 100644 --- a/drivers/usb/musb/musb_barebox.c +++ b/drivers/usb/musb/musb_barebox.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <init.h> #include <clock.h> diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c index 46a9bec355..ab825553b5 100644 --- a/drivers/usb/musb/musb_core.c +++ b/drivers/usb/musb/musb_core.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * MUSB OTG driver core code * diff --git a/drivers/usb/musb/musb_core.h b/drivers/usb/musb/musb_core.h index 1f9d6c8246..999ea5519f 100644 --- a/drivers/usb/musb/musb_core.h +++ b/drivers/usb/musb/musb_core.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /* * MUSB OTG driver defines * diff --git a/drivers/usb/musb/musb_dma.h b/drivers/usb/musb/musb_dma.h index 0bfd4294f3..75a0977bd1 100644 --- a/drivers/usb/musb/musb_dma.h +++ b/drivers/usb/musb/musb_dma.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /* * MUSB OTG driver DMA controller abstraction * diff --git a/drivers/usb/musb/musb_dsps.c b/drivers/usb/musb/musb_dsps.c index 696c296465..ee0215024a 100644 --- a/drivers/usb/musb/musb_dsps.c +++ b/drivers/usb/musb/musb_dsps.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Texas Instruments DSPS platforms "glue layer" * diff --git a/drivers/usb/musb/musb_gadget.c b/drivers/usb/musb/musb_gadget.c index b037f059c6..c28049c062 100644 --- a/drivers/usb/musb/musb_gadget.c +++ b/drivers/usb/musb/musb_gadget.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * MUSB OTG driver peripheral support * diff --git a/drivers/usb/musb/musb_gadget.h b/drivers/usb/musb/musb_gadget.h index e56069d7ed..af81f062e6 100644 --- a/drivers/usb/musb/musb_gadget.h +++ b/drivers/usb/musb/musb_gadget.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /* * MUSB OTG driver peripheral defines * diff --git a/drivers/usb/musb/musb_gadget_ep0.c b/drivers/usb/musb/musb_gadget_ep0.c index 677811d59a..eed02a8581 100644 --- a/drivers/usb/musb/musb_gadget_ep0.c +++ b/drivers/usb/musb/musb_gadget_ep0.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * MUSB OTG peripheral driver ep0 handling * diff --git a/drivers/usb/musb/musb_host.c b/drivers/usb/musb/musb_host.c index 0b3aa54034..8176accb4f 100644 --- a/drivers/usb/musb/musb_host.c +++ b/drivers/usb/musb/musb_host.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * MUSB OTG driver host support * diff --git a/drivers/usb/musb/musb_host.h b/drivers/usb/musb/musb_host.h index 0101eb0015..7a7c366521 100644 --- a/drivers/usb/musb/musb_host.h +++ b/drivers/usb/musb/musb_host.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /* * MUSB OTG driver host defines * diff --git a/drivers/usb/musb/musb_io.h b/drivers/usb/musb/musb_io.h index 42555f7b87..658bb146fd 100644 --- a/drivers/usb/musb/musb_io.h +++ b/drivers/usb/musb/musb_io.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /* * MUSB OTG driver register I/O * diff --git a/drivers/usb/musb/musb_regs.h b/drivers/usb/musb/musb_regs.h index d76b1970b3..e843e58b93 100644 --- a/drivers/usb/musb/musb_regs.h +++ b/drivers/usb/musb/musb_regs.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /* * MUSB OTG driver register defines * diff --git a/drivers/usb/musb/phy-am335x-control.c b/drivers/usb/musb/phy-am335x-control.c index 3a3d3e41fe..bc0f6b9485 100644 --- a/drivers/usb/musb/phy-am335x-control.c +++ b/drivers/usb/musb/phy-am335x-control.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <init.h> #include <io.h> diff --git a/drivers/usb/musb/phy-am335x.c b/drivers/usb/musb/phy-am335x.c index b2303d44e9..67787cfec3 100644 --- a/drivers/usb/musb/phy-am335x.c +++ b/drivers/usb/musb/phy-am335x.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <init.h> #include <io.h> diff --git a/drivers/usb/otg/Kconfig b/drivers/usb/otg/Kconfig index 869124f2a5..f8e592e89e 100644 --- a/drivers/usb/otg/Kconfig +++ b/drivers/usb/otg/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only config USB_ULPI bool "ULPI Transceiver support" help diff --git a/drivers/usb/otg/Makefile b/drivers/usb/otg/Makefile index 63fa9a1e1d..d6cac86cff 100644 --- a/drivers/usb/otg/Makefile +++ b/drivers/usb/otg/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_USB_ULPI) += ulpi.o obj-$(CONFIG_USB_TWL4030) += twl4030.o obj-$(CONFIG_USB_OTGDEV) += otgdev.o diff --git a/drivers/usb/otg/otgdev.c b/drivers/usb/otg/otgdev.c index c233315d91..129b1cf5e1 100644 --- a/drivers/usb/otg/otgdev.c +++ b/drivers/usb/otg/otgdev.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <driver.h> diff --git a/drivers/usb/storage/Kconfig b/drivers/usb/storage/Kconfig index 13df32c28d..efca9874d5 100644 --- a/drivers/usb/storage/Kconfig +++ b/drivers/usb/storage/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only config USB_STORAGE tristate "USB Mass Storage support" select DISK diff --git a/drivers/usb/storage/Makefile b/drivers/usb/storage/Makefile index 1e6f6dfa64..8c60f3a2e5 100644 --- a/drivers/usb/storage/Makefile +++ b/drivers/usb/storage/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_USB_STORAGE) += usb-storage.o usb-storage-objs := usb.o transport.o diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 6dc8769f2c..a87e8c0638 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only menuconfig VIDEO bool "Video drivers" help diff --git a/drivers/video/Makefile b/drivers/video/Makefile index a0e416db26..8344bdd2af 100644 --- a/drivers/video/Makefile +++ b/drivers/video/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_VIDEO) += fb.o obj-$(CONFIG_DRIVER_VIDEO_EDID) += edid.o obj-$(CONFIG_OFDEVICE) += of_display_timing.o diff --git a/drivers/video/atmel_lcdfb.h b/drivers/video/atmel_lcdfb.h index f383dccb5e..110c71bdb2 100644 --- a/drivers/video/atmel_lcdfb.h +++ b/drivers/video/atmel_lcdfb.h @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <fb.h> #include <video/atmel_lcdc.h> diff --git a/drivers/video/backlight.c b/drivers/video/backlight.c index 5dadb058af..6c00cc115e 100644 --- a/drivers/video/backlight.c +++ b/drivers/video/backlight.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <driver.h> #include <linux/list.h> diff --git a/drivers/video/edid.c b/drivers/video/edid.c index ac5fd18d24..96489f2a37 100644 --- a/drivers/video/edid.c +++ b/drivers/video/edid.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * drivers/video/edid.c * diff --git a/drivers/video/edid.h b/drivers/video/edid.h index 8b793aeb74..b4bd578c96 100644 --- a/drivers/video/edid.h +++ b/drivers/video/edid.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ /* * drivers/video/edid.h - EDID/DDC Header * diff --git a/drivers/video/efi_gop.c b/drivers/video/efi_gop.c index 45dc42fa3e..52387f30dc 100644 --- a/drivers/video/efi_gop.c +++ b/drivers/video/efi_gop.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright 2011 Intel Corporation; author Matt Fleming * Copyright (c) 2017 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> diff --git a/drivers/video/fb.c b/drivers/video/fb.c index 8e369f1c35..1c93dafbc9 100644 --- a/drivers/video/fb.c +++ b/drivers/video/fb.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <malloc.h> #include <fb.h> diff --git a/drivers/video/fbconsole.c b/drivers/video/fbconsole.c index 4623f7e3ae..070378aa23 100644 --- a/drivers/video/fbconsole.c +++ b/drivers/video/fbconsole.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only #include <common.h> #include <errno.h> #include <malloc.h> diff --git a/drivers/video/imx-ipu-v3/Kconfig b/drivers/video/imx-ipu-v3/Kconfig index 645c1b788e..4429e815cd 100644 --- a/drivers/video/imx-ipu-v3/Kconfig +++ b/drivers/video/imx-ipu-v3/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only config DRIVER_VIDEO_IMX_IPUV3 bool "i.MX IPUv3 driver" depends on ARCH_IMX diff --git a/drivers/video/imx-ipu-v3/Makefile b/drivers/video/imx-ipu-v3/Makefile index b92ba55ed1..709a9203a3 100644 --- a/drivers/video/imx-ipu-v3/Makefile +++ b/drivers/video/imx-ipu-v3/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_DRIVER_VIDEO_IMX_IPUV3) += ipu-common.o ipu-dmfc.o ipu-di.o obj-$(CONFIG_DRIVER_VIDEO_IMX_IPUV3) += ipu-dp.o ipuv3-plane.o ipufb.o obj-$(CONFIG_DRIVER_VIDEO_IMX_IPUV3) += ipu-dc.o diff --git a/drivers/video/imx-ipu-v3/ipufb.c b/drivers/video/imx-ipu-v3/ipufb.c index f0b95d0fbc..628f98d81a 100644 --- a/drivers/video/imx-ipu-v3/ipufb.c +++ b/drivers/video/imx-ipu-v3/ipufb.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Freescale i.MX Frame Buffer device driver * diff --git a/drivers/video/imx-ipu-v3/ipuv3-plane.h b/drivers/video/imx-ipu-v3/ipuv3-plane.h index 3c54643c4f..cade98e3e9 100644 --- a/drivers/video/imx-ipu-v3/ipuv3-plane.h +++ b/drivers/video/imx-ipu-v3/ipuv3-plane.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ #ifndef __IPUV3_PLANE_H__ #define __IPUV3_PLANE_H__ diff --git a/drivers/video/imx.c b/drivers/video/imx.c index dae3bdd9a8..612e06d45a 100644 --- a/drivers/video/imx.c +++ b/drivers/video/imx.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Freescale i.MX Frame Buffer device driver * diff --git a/drivers/video/of_display_timing.c b/drivers/video/of_display_timing.c index a7d391bc23..6fe1e1b08b 100644 --- a/drivers/video/of_display_timing.c +++ b/drivers/video/of_display_timing.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * OF helpers for parsing display timings * diff --git a/drivers/video/sdl.c b/drivers/video/sdl.c index 19a8b53623..28a41916eb 100644 --- a/drivers/video/sdl.c +++ b/drivers/video/sdl.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> */ diff --git a/drivers/virtio/Makefile b/drivers/virtio/Makefile index 44d35a1334..6c761c0faa 100644 --- a/drivers/virtio/Makefile +++ b/drivers/virtio/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_VIRTIO) += virtio.o virtio_ring.o obj-$(CONFIG_VIRTIO_MMIO) += virtio_mmio.o obj-$(CONFIG_VIRTIO_PCI) += virtio_pci.o diff --git a/drivers/virtio/virtio_pci_modern.c b/drivers/virtio/virtio_pci_modern.c index d828bee69e..f816baf18e 100644 --- a/drivers/virtio/virtio_pci_modern.c +++ b/drivers/virtio/virtio_pci_modern.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later /* * Copyright (C) 2018, Bin Meng <bmeng.cn@gmail.com> * diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c index 68180fe37d..326fd22d3f 100644 --- a/drivers/virtio/virtio_ring.c +++ b/drivers/virtio/virtio_ring.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later /* * Copyright (C) 2018, Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi> * Copyright (C) 2018, Bin Meng <bmeng.cn@gmail.com> diff --git a/drivers/w1/Kconfig b/drivers/w1/Kconfig index ac9b10adc8..9aa03adc6d 100644 --- a/drivers/w1/Kconfig +++ b/drivers/w1/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only menuconfig W1 bool "Dallas's 1-wire support" help diff --git a/drivers/w1/Makefile b/drivers/w1/Makefile index f1111155e8..a4f4079ee2 100644 --- a/drivers/w1/Makefile +++ b/drivers/w1/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Dallas's 1-wire bus. # diff --git a/drivers/w1/masters/Kconfig b/drivers/w1/masters/Kconfig index 2060b0e458..1f43bfab5b 100644 --- a/drivers/w1/masters/Kconfig +++ b/drivers/w1/masters/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only # # 1-wire bus master configuration # diff --git a/drivers/w1/masters/Makefile b/drivers/w1/masters/Makefile index 11370bae25..02f858143a 100644 --- a/drivers/w1/masters/Makefile +++ b/drivers/w1/masters/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only # # Makefile for 1-wire bus master drivers. # diff --git a/drivers/w1/slaves/Kconfig b/drivers/w1/slaves/Kconfig index 15a87f695d..db541a0c5c 100644 --- a/drivers/w1/slaves/Kconfig +++ b/drivers/w1/slaves/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only # # 1-wire slaves configuration # diff --git a/drivers/w1/slaves/Makefile b/drivers/w1/slaves/Makefile index 42d1501078..f9a6b75a22 100644 --- a/drivers/w1/slaves/Makefile +++ b/drivers/w1/slaves/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Dallas's 1-wire slaves. # diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig index f91a2571d9..d605e62c1e 100644 --- a/drivers/watchdog/Kconfig +++ b/drivers/watchdog/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only config WATCHDOG_IMX_RESET_SOURCE bool diff --git a/drivers/watchdog/Makefile b/drivers/watchdog/Makefile index 54a833447c..dbb76a5cb8 100644 --- a/drivers/watchdog/Makefile +++ b/drivers/watchdog/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_WATCHDOG) += wd_core.o obj-$(CONFIG_WATCHDOG_AR9344) += ar9344_wdt.o obj-$(CONFIG_WATCHDOG_AT91SAM9) += at91sam9_wdt.o diff --git a/drivers/watchdog/at91sam9_wdt.c b/drivers/watchdog/at91sam9_wdt.c index fe6f2e0408..1bad10ee53 100644 --- a/drivers/watchdog/at91sam9_wdt.c +++ b/drivers/watchdog/at91sam9_wdt.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2019 Pengutronix, Ahmad Fatoum <a.fatoum@pengutronix.de> */ diff --git a/drivers/watchdog/davinci_wdt.c b/drivers/watchdog/davinci_wdt.c index 94ab67d4a6..d632573ba7 100644 --- a/drivers/watchdog/davinci_wdt.c +++ b/drivers/watchdog/davinci_wdt.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * drivers/char/watchdog/davinci_wdt.c * diff --git a/drivers/watchdog/itco_wdt.c b/drivers/watchdog/itco_wdt.c index e7bd0fc99b..ca012c92dc 100644 --- a/drivers/watchdog/itco_wdt.c +++ b/drivers/watchdog/itco_wdt.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * EFI Boot Guard, iTCO support (Version 3 and later) * diff --git a/drivers/watchdog/omap_wdt.c b/drivers/watchdog/omap_wdt.c index 462beb4bfd..b61d77aaee 100644 --- a/drivers/watchdog/omap_wdt.c +++ b/drivers/watchdog/omap_wdt.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * omap_wdt.c * diff --git a/drivers/watchdog/orion_wdt.c b/drivers/watchdog/orion_wdt.c index f2c207fbf1..6b7614ef7c 100644 --- a/drivers/watchdog/orion_wdt.c +++ b/drivers/watchdog/orion_wdt.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * Watchdog driver for Marvell Armada XP. * diff --git a/drivers/watchdog/rave-sp-wdt.c b/drivers/watchdog/rave-sp-wdt.c index cad63e22f9..26540395cb 100644 --- a/drivers/watchdog/rave-sp-wdt.c +++ b/drivers/watchdog/rave-sp-wdt.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: GPL-2.0-or-later /* * Driver for watchdog aspect of for Zodiac Inflight Innovations RAVE diff --git a/images/Makefile.stm32mp b/images/Makefile.stm32mp index 3384f5014b..17f03908b0 100644 --- a/images/Makefile.stm32mp +++ b/images/Makefile.stm32mp @@ -23,6 +23,15 @@ FILE_barebox-stm32mp157c-lxa-mc1.img = start_stm32mp157c_lxa_mc1.pblb.stm32 OPTS_start_stm32mp157c_lxa_mc1.pblb.stm32 = $(STM32MP1_OPTS) image-$(CONFIG_MACH_LXA_MC1) += barebox-stm32mp157c-lxa-mc1.img +pblb-$(CONFIG_MACH_PROTONIC_STM32MP1) += start_prtt1a start_prtt1s start_prtt1c +FILE_barebox-prtt1a.img = start_prtt1a.pblb.stm32 +FILE_barebox-prtt1c.img = start_prtt1c.pblb.stm32 +FILE_barebox-prtt1s.img = start_prtt1s.pblb.stm32 +OPTS_start_prtt1a.pblb.stm32 = $(STM32MP1_OPTS) +OPTS_start_prtt1c.pblb.stm32 = $(STM32MP1_OPTS) +OPTS_start_prtt1s.pblb.stm32 = $(STM32MP1_OPTS) +image-$(CONFIG_MACH_PROTONIC_STM32MP1) += barebox-prtt1a.img barebox-prtt1s.img barebox-prtt1c.img + pblb-$(CONFIG_MACH_SEEED_ODYSSEY) += start_stm32mp157c_seeed_odyssey FILE_barebox-stm32mp157c-seeed-odyssey.img = start_stm32mp157c_seeed_odyssey.pblb.stm32 OPTS_start_stm32mp157c_seeed_odyssey.pblb.stm32 = $(STM32MP1_OPTS) diff --git a/include/crc.h b/include/crc.h index eb972705c2..a5204aaabb 100644 --- a/include/crc.h +++ b/include/crc.h @@ -36,6 +36,7 @@ static inline u16 crc_itu_t_byte(u16 crc, const u8 data) #endif uint32_t crc32(uint32_t, const void *, unsigned int); +uint32_t crc32_be(uint32_t, const void *, unsigned int); uint32_t crc32_no_comp(uint32_t, const void *, unsigned int); int file_crc(char *filename, unsigned long start, unsigned long size, unsigned long *crc, unsigned long *total); diff --git a/include/debug_ll/ns16550.h b/include/debug_ll/ns16550.h index 7e4dbeb453..373c917d86 100644 --- a/include/debug_ll/ns16550.h +++ b/include/debug_ll/ns16550.h @@ -43,7 +43,7 @@ static inline uint16_t debug_ll_ns16550_calc_divisor(unsigned long clk) static inline void debug_ll_ns16550_init(uint16_t divisor) { debug_ll_write_reg(NS16550_LCR, 0x0); /* select ier reg */ - debug_ll_write_reg(0x00, NS16550_IER); + debug_ll_write_reg(NS16550_IER, 0x0); /* disable interrupts */ debug_ll_write_reg(NS16550_LCR, NS16550_LCR_BKSE); debug_ll_write_reg(NS16550_DLL, divisor & 0xff); diff --git a/include/efi/efi-stdio.h b/include/efi/efi-stdio.h index 4086604e43..66fb0afc36 100644 --- a/include/efi/efi-stdio.h +++ b/include/efi/efi-stdio.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-2.0-only */ #ifndef EFI_STDIO_H_ #define EFI_STDIO_H_ diff --git a/include/linux/build_bug.h b/include/linux/build_bug.h index 43d1fd50d4..40cd504f63 100644 --- a/include/linux/build_bug.h +++ b/include/linux/build_bug.h @@ -80,4 +80,23 @@ #endif /* __CHECKER__ */ +/** + * static_assert - check integer constant expression at build time + * + * static_assert() is a wrapper for the C11 _Static_assert, with a + * little macro magic to make the message optional (defaulting to the + * stringification of the tested expression). + * + * Contrary to BUILD_BUG_ON(), static_assert() can be used at global + * scope, but requires the expression to be an integer constant + * expression (i.e., it is not enough that __builtin_constant_p() is + * true for expr). + * + * Also note that BUILD_BUG_ON() fails the build if the condition is + * true, while static_assert() fails the build if the expression is + * false. + */ +#define static_assert(expr, ...) __static_assert(expr, ##__VA_ARGS__, #expr) +#define __static_assert(expr, msg, ...) _Static_assert(expr, msg) + #endif /* _LINUX_BUILD_BUG_H */ diff --git a/include/linux/printk.h b/include/linux/printk.h index aab9c89639..39523b0572 100644 --- a/include/linux/printk.h +++ b/include/linux/printk.h @@ -75,6 +75,18 @@ static inline int pr_print(int level, const char *format, ...) #define dev_vdbg(dev, format, arg...) \ __dev_printf(8, (dev) , format , ## arg) +#if LOGLEVEL >= MSG_ERR +int dev_err_probe(const struct device_d *dev, int err, const char *fmt, ...) + __attribute__ ((format(__printf__, 3, 4))); +#elif !defined(dev_err_probe) +static int dev_err_probe(const struct device_d *dev, int err, const char *fmt, ...) + __attribute__ ((format(__printf__, 3, 4))); +static inline int dev_err_probe(const struct device_d *dev, int err, const char *fmt, ...) +{ + return err; +} +#endif + #define __pr_printk(level, format, args...) \ ({ \ (level) <= LOGLEVEL ? pr_print((level), (format), ##args) : 0; \ diff --git a/scripts/Kconfig b/scripts/Kconfig index 9b744deba9..96b0d26f88 100644 --- a/scripts/Kconfig +++ b/scripts/Kconfig @@ -7,7 +7,7 @@ config COMPILE_HOST_TOOLS on some config options. If you say yes here, the host tools that are not needed can be selected, too. - This is usefull for compile coverage testing and for packaging the + This is useful for compile coverage testing and for packaging the host tools. source "scripts/imx/Kconfig" diff --git a/scripts/kwboot.c b/scripts/kwboot.c index 60e8a69d18..1cbb456935 100644 --- a/scripts/kwboot.c +++ b/scripts/kwboot.c @@ -147,12 +147,11 @@ kwboot_tty_recv(int fd, void *buf, size_t len, int timeo) FD_ZERO(&rfds); FD_SET(fd, &rfds); - tv.tv_sec = 0; tv.tv_usec = timeo * 1000; - if (tv.tv_usec > 1000000) { - tv.tv_sec += tv.tv_usec / 1000000; - tv.tv_usec %= 1000000; - } + + /* normalize timeval */ + tv.tv_sec = tv.tv_usec / 1000000; + tv.tv_usec %= 1000000; do { nfds = select(fd + 1, &rfds, NULL, NULL, &tv); diff --git a/test/arm/qemu_virt64_defconfig.yaml b/test/arm/qemu_virt64_defconfig.yaml index ed308591da..5da5dfeb7e 100644 --- a/test/arm/qemu_virt64_defconfig.yaml +++ b/test/arm/qemu_virt64_defconfig.yaml @@ -3,7 +3,7 @@ targets: drivers: QEMUDriver: qemu_bin: qemu - machine: virt + machine: virt,highmem=off cpu: cortex-a57 memory: 1024M kernel: barebox-dt-2nd.img diff --git a/test/emulate.pl b/test/emulate.pl index 78c2815884..77b751a329 100755 --- a/test/emulate.pl +++ b/test/emulate.pl @@ -515,7 +515,7 @@ skipped. Applies test/kconfig/full.cfg on top of base.cfg. This enables as much as possible to avoid skipping tests for disabled functionality. -=item B<--kconfig_add>=%s, B<-K>=%s +=item B<--kconfig-add>=%s, B<-K>=%s Extra kconfig fragments, merged on top of the defconfig and Kconfig fragments described by the YAML. In tree configuration fragment |