Hello community, here is the log from the commit of package kernel-source for openSUSE:Factory checked in at 2020-12-05 20:35:51 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kernel-source (Old) and /work/SRC/openSUSE:Factory/.kernel-source.new.5913 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kernel-source" Sat Dec 5 20:35:51 2020 rev:566 rq:852571 version:5.9.12 Changes: -------- --- /work/SRC/openSUSE:Factory/kernel-source/dtb-aarch64.changes 2020-11-30 09:53:10.293739632 +0100 +++ /work/SRC/openSUSE:Factory/.kernel-source.new.5913/dtb-aarch64.changes 2020-12-05 20:36:03.250640067 +0100 @@ -1,0 +2,312 @@ +Wed Dec 2 10:24:35 CET 2020 - jsl...@suse.cz + +- Linux 5.9.12 (bsc#1012628). +- io_uring: get an active ref_node from files_data (bsc#1012628). +- io_uring: order refnode recycling (bsc#1012628). +- spi: bcm-qspi: Fix use-after-free on unbind (bsc#1012628). +- spi: bcm2835: Fix use-after-free on unbind (bsc#1012628). +- ipv4: use IS_ENABLED instead of ifdef (bsc#1012628). +- IB/hfi1: Ensure correct mm is used at all times (bsc#1012628). +- RDMA/i40iw: Address an mmap handler exploit in i40iw + (bsc#1012628). +- btrfs: fix missing delalloc new bit for new delalloc ranges + (bsc#1012628). +- btrfs: tree-checker: add missing return after error in root_item + (bsc#1012628). +- btrfs: tree-checker: add missing returns after data_ref + alignment checks (bsc#1012628). +- btrfs: don't access possibly stale fs_info data for printing + duplicate device (bsc#1012628). +- btrfs: fix lockdep splat when reading qgroup config on mount + (bsc#1012628). +- rtc: pcf2127: fix a bug when not specify interrupts property + (bsc#1012628). +- s390: fix fpu restore in entry.S (bsc#1012628). +- mm: fix VM_BUG_ON(PageTail) and BUG_ON(PageWriteback) + (bsc#1012628). +- smb3: Call cifs reconnect from demultiplex thread (bsc#1012628). +- smb3: Avoid Mid pending list corruption (bsc#1012628). +- smb3: Handle error case during offload read path (bsc#1012628). +- cifs: fix a memleak with modefromsid (bsc#1012628). +- powerpc/64s: Fix KVM system reset handling when + CONFIG_PPC_PSERIES=y (bsc#1012628). +- powerpc/64s/exception: KVM Fix for host DSI being taken in + HPT guest MMU context (bsc#1012628). +- KVM: PPC: Book3S HV: XIVE: Fix possible oops when accessing + ESB page (bsc#1012628). +- KVM: arm64: vgic-v3: Drop the reporting of GICR_TYPER.Last + for userspace (bsc#1012628). +- KVM: x86: handle !lapic_in_kernel case in kvm_cpu_*_extint + (bsc#1012628). +- KVM: x86: Fix split-irqchip vs interrupt injection window + request (bsc#1012628). +- iommu/vt-d: Don't read VCCAP register unless it exists + (bsc#1012628). +- firmware: xilinx: Use hash-table for api feature check + (bsc#1012628). +- drm/amdgpu: fix SI UVD firmware validate resume fail + (bsc#1012628). +- io_uring: fix ITER_BVEC check (bsc#1012628). +- trace: fix potenial dangerous pointer (bsc#1012628). +- arm64: tegra: Correct the UART for Jetson Xavier NX + (bsc#1012628). +- arm64: tegra: Fix USB_VBUS_EN0 regulator on Jetson TX1 + (bsc#1012628). +- arm64: pgtable: Fix pte_accessible() (bsc#1012628). +- arm64: pgtable: Ensure dirty bit is preserved across + pte_wrprotect() (bsc#1012628). +- drm/amdgpu: fix a page fault (bsc#1012628). +- drm/amdgpu: update golden setting for sienna_cichlid + (bsc#1012628). +- drm/amd/amdgpu: fix null pointer in runtime pm (bsc#1012628). +- drm/amd/display: Avoid HDCP initialization in devices without + output (bsc#1012628). +- HID: uclogic: Add ID for Trust Flex Design Tablet (bsc#1012628). +- HID: ite: Replace ABS_MISC 120/121 events with touchpad on/off + keypresses (bsc#1012628). +- HID: cypress: Support Varmilo Keyboards' media hotkeys + (bsc#1012628). +- HID: add support for Sega Saturn (bsc#1012628). +- Input: i8042 - allow insmod to succeed on devices without an + i8042 controller (bsc#1012628). +- HID: hid-sensor-hub: Fix issue with devices with no report ID + (bsc#1012628). +- staging: ralink-gdma: fix kconfig dependency bug for DMA_RALINK + (bsc#1012628). +- HID: add HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE for Gamevice + devices (bsc#1012628). +- dmaengine: xilinx_dma: use readl_poll_timeout_atomic variant + (bsc#1012628). +- x86/xen: don't unbind uninitialized lock_kicker_irq + (bsc#1012628). +- kunit: fix display of failed expectations for strings + (bsc#1012628). +- HID: logitech-hidpp: Add HIDPP_CONSUMER_VENDOR_KEYS quirk for + the Dinovo Edge (bsc#1012628). +- HID: Add Logitech Dinovo Edge battery quirk (bsc#1012628). +- proc: don't allow async path resolution of /proc/self components + (bsc#1012628). +- nvme: free sq/cq dbbuf pointers when dbbuf set fails + (bsc#1012628). +- io_uring: handle -EOPNOTSUPP on path resolution (bsc#1012628). +- net: stmmac: dwmac_lib: enlarge dma reset timeout (bsc#1012628). +- vdpasim: fix "mac_pton" undefined error (bsc#1012628). +- vhost: add helper to check if a vq has been setup (bsc#1012628). +- vhost scsi: alloc cmds per vq instead of session (bsc#1012628). +- vhost scsi: fix cmd completion race (bsc#1012628). +- cpuidle: tegra: Annotate tegra_pm_set_cpu_in_lp2() with + RCU_NONIDLE (bsc#1012628). +- dmaengine: pl330: _prep_dma_memcpy: Fix wrong burst size + (bsc#1012628). +- scsi: libiscsi: Fix NOP race condition (bsc#1012628). +- scsi: target: iscsi: Fix cmd abort fabric stop race + (bsc#1012628). +- lockdep: Put graph lock/unlock under lock_recursion protection + (bsc#1012628). +- perf/x86: fix sysfs type mismatches (bsc#1012628). +- xtensa: uaccess: Add missing __user to strncpy_from_user() + prototype (bsc#1012628). +- x86/dumpstack: Do not try to access user space code of other + tasks (bsc#1012628). +- net: dsa: mv88e6xxx: Wait for EEPROM done after HW reset + (bsc#1012628). +- bus: ti-sysc: Fix reset status check for modules with quirks + (bsc#1012628). +- bus: ti-sysc: Fix bogus resetdone warning on enable for cpsw + (bsc#1012628). +- ARM: OMAP2+: Manage MPU state properly for + omap_enter_idle_coupled() (bsc#1012628). +- phy: tegra: xusb: Fix dangling pointer on probe failure + (bsc#1012628). +- iwlwifi: mvm: use the HOT_SPOT_CMD to cancel an AUX ROC + (bsc#1012628). +- iwlwifi: mvm: properly cancel a session protection for P2P + (bsc#1012628). +- iwlwifi: mvm: write queue_sync_state only for sync + (bsc#1012628). +- KVM: s390: pv: Mark mm as protected after the set secure + parameters and improve cleanup (bsc#1012628). +- KVM: s390: remove diag318 reset code (bsc#1012628). +- batman-adv: set .owner to THIS_MODULE (bsc#1012628). +- usb: cdns3: gadget: fix some endian issues (bsc#1012628). +- usb: cdns3: gadget: calculate TD_SIZE based on TD (bsc#1012628). +- phy: qualcomm: usb: Fix SuperSpeed PHY OF dependency + (bsc#1012628). +- phy: qualcomm: Fix 28 nm Hi-Speed USB PHY OF dependency + (bsc#1012628). +- arch: pgtable: define MAX_POSSIBLE_PHYSMEM_BITS where needed + (bsc#1012628). +- bus: ti-sysc: suppress err msg for timers used as + clockevent/source (bsc#1012628). +- ARM: dts: dra76x: m_can: fix order of clocks (bsc#1012628). +- scsi: ufs: Fix race between shutdown and runtime resume flow + (bsc#1012628). +- bnxt_en: fix error return code in bnxt_init_one() (bsc#1012628). +- bnxt_en: fix error return code in bnxt_init_board() + (bsc#1012628). +- video: hyperv_fb: Fix the cache type when mapping the VRAM + (bsc#1012628). +- bnxt_en: Release PCI regions when DMA mask setup fails during + probe (bsc#1012628). +- block/keyslot-manager: prevent crash when num_slots=1 + (bsc#1012628). +- cxgb4: fix the panic caused by non smac rewrite (bsc#1012628). +- dpaa2-eth: select XGMAC_MDIO for MDIO bus support (bsc#1012628). +- s390/qeth: make af_iucv TX notification call more robust + (bsc#1012628). +- s390/qeth: fix af_iucv notification race (bsc#1012628). +- s390/qeth: fix tear down of async TX buffers (bsc#1012628). +- drm/mediatek: dsi: Modify horizontal front/back porch byte + formula (bsc#1012628). +- bonding: wait for sysfs kobject destruction before freeing + struct slave (bsc#1012628). +- ibmvnic: fix call_netdevice_notifiers in do_reset (bsc#1012628). +- ibmvnic: notify peers when failover and migration happen + (bsc#1012628). +- powerpc/64s: Fix allnoconfig build since uaccess flush + (bsc#1012628). +- iommu: Check return of __iommu_attach_device() (bsc#1012628). +- IB/mthca: fix return value of error branch in mthca_init_cq() + (bsc#1012628). +- i40e: Fix removing driver while bare-metal VFs pass traffic + (bsc#1012628). +- firmware: xilinx: Fix SD DLL node reset issue (bsc#1012628). +- spi: imx: fix the unbalanced spi runtime pm management + (bsc#1012628). +- io_uring: fix shift-out-of-bounds when round up cq size + (bsc#1012628). +- aquantia: Remove the build_skb path (bsc#1012628). +- nfc: s3fwrn5: use signed integer for parsing GPIO numbers + (bsc#1012628). +- net: ena: handle bad request id in ena_netdev (bsc#1012628). +- net: ena: set initial DMA width to avoid intel iommu issue + (bsc#1012628). +- net: ena: fix packet's addresses for rx_offset feature + (bsc#1012628). +- ibmvnic: fix NULL pointer dereference in reset_sub_crq_queues + (bsc#1012628). +- ibmvnic: fix NULL pointer dereference in ibmvic_reset_crq + (bsc#1012628). +- ibmvnic: enhance resetting status check during module exit + (bsc#1012628). +- optee: add writeback to valid memory type (bsc#1012628). +- x86/tboot: Don't disable swiotlb when iommu is forced on + (bsc#1012628). +- arm64: tegra: Wrong AON HSP reg property size (bsc#1012628). +- efi/efivars: Set generic ops before loading SSDT (bsc#1012628). +- efivarfs: revert "fix memory leak in efivarfs_create()" ++++ 124 more lines (skipped) ++++ between /work/SRC/openSUSE:Factory/kernel-source/dtb-aarch64.changes ++++ and /work/SRC/openSUSE:Factory/.kernel-source.new.5913/dtb-aarch64.changes dtb-armv6l.changes: same change dtb-armv7l.changes: same change dtb-riscv64.changes: same change kernel-64kb.changes: same change kernel-debug.changes: same change kernel-default.changes: same change kernel-docs.changes: same change kernel-kvmsmall.changes: same change kernel-lpae.changes: same change kernel-obs-build.changes: same change kernel-obs-qa.changes: same change kernel-pae.changes: same change kernel-source.changes: same change kernel-syms.changes: same change kernel-vanilla.changes: same change kernel-zfcpdump.changes: same change ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ dtb-aarch64.spec ++++++ --- /var/tmp/diff_new_pack.HPgyPM/_old 2020-12-05 20:36:19.818656883 +0100 +++ /var/tmp/diff_new_pack.HPgyPM/_new 2020-12-05 20:36:19.822656886 +0100 @@ -17,7 +17,7 @@ %define srcversion 5.9 -%define patchversion 5.9.11 +%define patchversion 5.9.12 %define variant %{nil} %include %_sourcedir/kernel-spec-macros @@ -29,9 +29,9 @@ %(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,klp-symbols,splitflist,mergedep,moddep,modflist,kernel-subpackage-build}) Name: dtb-aarch64 -Version: 5.9.11 +Version: 5.9.12 %if 0%{?is_kotd} -Release: <RELEASE>.g91426ef +Release: <RELEASE>.g46922da %else Release: 0 %endif dtb-armv6l.spec: same change dtb-armv7l.spec: same change dtb-riscv64.spec: same change ++++++ kernel-64kb.spec ++++++ --- /var/tmp/diff_new_pack.HPgyPM/_old 2020-12-05 20:36:19.906656972 +0100 +++ /var/tmp/diff_new_pack.HPgyPM/_new 2020-12-05 20:36:19.906656972 +0100 @@ -18,7 +18,7 @@ %define srcversion 5.9 -%define patchversion 5.9.11 +%define patchversion 5.9.12 %define variant %{nil} %define vanilla_only 0 %define compress_modules xz @@ -40,7 +40,7 @@ %define rpm_install_dir %buildroot%obj_install_dir %define kernel_build_dir %my_builddir/linux-%srcversion/linux-obj -%if 0%{?_project:1} && ( %(echo %_project | egrep -x -f %_sourcedir/release-projects | grep -v ^PTF | grep -vc openSUSE) || %(echo %_project | grep -Ec "^(Devel:)?Kernel:") ) +%if 0%{?_project:1} && ( %(echo %_project | grep -Ex -f %_sourcedir/release-projects | grep -v ^PTF | grep -vc openSUSE) || %(echo %_project | grep -Ec "^(Devel:)?Kernel:") ) %define klp_symbols 1 %endif @@ -68,9 +68,9 @@ Summary: Kernel with 64kb PAGE_SIZE License: GPL-2.0 Group: System/Kernel -Version: 5.9.11 +Version: 5.9.12 %if 0%{?is_kotd} -Release: <RELEASE>.g91426ef +Release: <RELEASE>.g46922da %else Release: 0 %endif @@ -179,10 +179,10 @@ Conflicts: libc.so.6()(64bit) %endif Provides: kernel = %version-%source_rel -Provides: kernel-%build_flavor-base-srchash-91426efa17c9d25b4e397766a6ed536b4093c8f3 -Provides: kernel-srchash-91426efa17c9d25b4e397766a6ed536b4093c8f3 +Provides: kernel-%build_flavor-base-srchash-46922da21ebc0021475dc0fa8ee5514f71ebce59 +Provides: kernel-srchash-46922da21ebc0021475dc0fa8ee5514f71ebce59 # END COMMON DEPS -Provides: %name-srchash-91426efa17c9d25b4e397766a6ed536b4093c8f3 +Provides: %name-srchash-46922da21ebc0021475dc0fa8ee5514f71ebce59 %obsolete_rebuilds %name Source0: http://www.kernel.org/pub/linux/kernel/v5.x/linux-%srcversion.tar.xz Source2: source-post.sh @@ -454,7 +454,7 @@ CONFIG_SUSE_KERNEL_RELEASED="--disable CONFIG_SUSE_KERNEL_RELEASED" %if 0%{?_project:1} -if echo %_project | egrep -qx -f %_sourcedir/release-projects; then +if echo %_project | grep -Eqx -f %_sourcedir/release-projects; then CONFIG_SUSE_KERNEL_RELEASED="--enable CONFIG_SUSE_KERNEL_RELEASED" fi %endif @@ -759,8 +759,6 @@ # keep this -suffix list in sync with post.sh and postun.sh suffix=-%build_flavor %endif -ln -s XX$image$suffix %buildroot/boot/$image$suffix -ln -s XXinitrd$suffix %buildroot/boot/initrd$suffix cp -p .config %buildroot/boot/config-%kernelrelease-%build_flavor sysctl_file=%buildroot/boot/sysctl.conf-%kernelrelease-%build_flavor @@ -794,7 +792,6 @@ if [ %CONFIG_MODULES = y ]; then mkdir -p %rpm_install_dir/%cpu_arch_flavor mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch - ln -s XX%build_flavor %buildroot/usr/src/linux-obj/%cpu_arch_flavor install -m 755 -D -t %rpm_install_dir/%cpu_arch_flavor/scripts/mod/ scripts/mod/ksym-provides gzip -n -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease-%build_flavor.gz ++++++ kernel-debug.spec ++++++ --- /var/tmp/diff_new_pack.HPgyPM/_old 2020-12-05 20:36:19.934657001 +0100 +++ /var/tmp/diff_new_pack.HPgyPM/_new 2020-12-05 20:36:19.938657004 +0100 @@ -18,7 +18,7 @@ %define srcversion 5.9 -%define patchversion 5.9.11 +%define patchversion 5.9.12 %define variant %{nil} %define vanilla_only 0 %define compress_modules xz @@ -40,7 +40,7 @@ %define rpm_install_dir %buildroot%obj_install_dir %define kernel_build_dir %my_builddir/linux-%srcversion/linux-obj -%if 0%{?_project:1} && ( %(echo %_project | egrep -x -f %_sourcedir/release-projects | grep -v ^PTF | grep -vc openSUSE) || %(echo %_project | grep -Ec "^(Devel:)?Kernel:") ) +%if 0%{?_project:1} && ( %(echo %_project | grep -Ex -f %_sourcedir/release-projects | grep -v ^PTF | grep -vc openSUSE) || %(echo %_project | grep -Ec "^(Devel:)?Kernel:") ) %define klp_symbols 1 %endif @@ -68,9 +68,9 @@ Summary: A Debug Version of the Kernel License: GPL-2.0 Group: System/Kernel -Version: 5.9.11 +Version: 5.9.12 %if 0%{?is_kotd} -Release: <RELEASE>.g91426ef +Release: <RELEASE>.g46922da %else Release: 0 %endif @@ -179,10 +179,10 @@ Conflicts: libc.so.6()(64bit) %endif Provides: kernel = %version-%source_rel -Provides: kernel-%build_flavor-base-srchash-91426efa17c9d25b4e397766a6ed536b4093c8f3 -Provides: kernel-srchash-91426efa17c9d25b4e397766a6ed536b4093c8f3 +Provides: kernel-%build_flavor-base-srchash-46922da21ebc0021475dc0fa8ee5514f71ebce59 +Provides: kernel-srchash-46922da21ebc0021475dc0fa8ee5514f71ebce59 # END COMMON DEPS -Provides: %name-srchash-91426efa17c9d25b4e397766a6ed536b4093c8f3 +Provides: %name-srchash-46922da21ebc0021475dc0fa8ee5514f71ebce59 %ifarch ppc64 Provides: kernel-kdump = 2.6.28 Obsoletes: kernel-kdump <= 2.6.28 @@ -460,7 +460,7 @@ CONFIG_SUSE_KERNEL_RELEASED="--disable CONFIG_SUSE_KERNEL_RELEASED" %if 0%{?_project:1} -if echo %_project | egrep -qx -f %_sourcedir/release-projects; then +if echo %_project | grep -Eqx -f %_sourcedir/release-projects; then CONFIG_SUSE_KERNEL_RELEASED="--enable CONFIG_SUSE_KERNEL_RELEASED" fi %endif @@ -765,8 +765,6 @@ # keep this -suffix list in sync with post.sh and postun.sh suffix=-%build_flavor %endif -ln -s XX$image$suffix %buildroot/boot/$image$suffix -ln -s XXinitrd$suffix %buildroot/boot/initrd$suffix cp -p .config %buildroot/boot/config-%kernelrelease-%build_flavor sysctl_file=%buildroot/boot/sysctl.conf-%kernelrelease-%build_flavor @@ -800,7 +798,6 @@ if [ %CONFIG_MODULES = y ]; then mkdir -p %rpm_install_dir/%cpu_arch_flavor mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch - ln -s XX%build_flavor %buildroot/usr/src/linux-obj/%cpu_arch_flavor install -m 755 -D -t %rpm_install_dir/%cpu_arch_flavor/scripts/mod/ scripts/mod/ksym-provides gzip -n -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease-%build_flavor.gz ++++++ kernel-default.spec ++++++ --- /var/tmp/diff_new_pack.HPgyPM/_old 2020-12-05 20:36:19.958657025 +0100 +++ /var/tmp/diff_new_pack.HPgyPM/_new 2020-12-05 20:36:19.962657029 +0100 @@ -18,7 +18,7 @@ %define srcversion 5.9 -%define patchversion 5.9.11 +%define patchversion 5.9.12 %define variant %{nil} %define vanilla_only 0 %define compress_modules xz @@ -40,7 +40,7 @@ %define rpm_install_dir %buildroot%obj_install_dir %define kernel_build_dir %my_builddir/linux-%srcversion/linux-obj -%if 0%{?_project:1} && ( %(echo %_project | egrep -x -f %_sourcedir/release-projects | grep -v ^PTF | grep -vc openSUSE) || %(echo %_project | grep -Ec "^(Devel:)?Kernel:") ) +%if 0%{?_project:1} && ( %(echo %_project | grep -Ex -f %_sourcedir/release-projects | grep -v ^PTF | grep -vc openSUSE) || %(echo %_project | grep -Ec "^(Devel:)?Kernel:") ) %define klp_symbols 1 %endif @@ -68,9 +68,9 @@ Summary: The Standard Kernel License: GPL-2.0 Group: System/Kernel -Version: 5.9.11 +Version: 5.9.12 %if 0%{?is_kotd} -Release: <RELEASE>.g91426ef +Release: <RELEASE>.g46922da %else Release: 0 %endif @@ -179,10 +179,10 @@ Conflicts: libc.so.6()(64bit) %endif Provides: kernel = %version-%source_rel -Provides: kernel-%build_flavor-base-srchash-91426efa17c9d25b4e397766a6ed536b4093c8f3 -Provides: kernel-srchash-91426efa17c9d25b4e397766a6ed536b4093c8f3 +Provides: kernel-%build_flavor-base-srchash-46922da21ebc0021475dc0fa8ee5514f71ebce59 +Provides: kernel-srchash-46922da21ebc0021475dc0fa8ee5514f71ebce59 # END COMMON DEPS -Provides: %name-srchash-91426efa17c9d25b4e397766a6ed536b4093c8f3 +Provides: %name-srchash-46922da21ebc0021475dc0fa8ee5514f71ebce59 %ifarch %ix86 Provides: kernel-smp = 2.6.17 Obsoletes: kernel-smp <= 2.6.17 @@ -503,7 +503,7 @@ CONFIG_SUSE_KERNEL_RELEASED="--disable CONFIG_SUSE_KERNEL_RELEASED" %if 0%{?_project:1} -if echo %_project | egrep -qx -f %_sourcedir/release-projects; then +if echo %_project | grep -Eqx -f %_sourcedir/release-projects; then CONFIG_SUSE_KERNEL_RELEASED="--enable CONFIG_SUSE_KERNEL_RELEASED" fi %endif @@ -808,8 +808,6 @@ # keep this -suffix list in sync with post.sh and postun.sh suffix=-%build_flavor %endif -ln -s XX$image$suffix %buildroot/boot/$image$suffix -ln -s XXinitrd$suffix %buildroot/boot/initrd$suffix cp -p .config %buildroot/boot/config-%kernelrelease-%build_flavor sysctl_file=%buildroot/boot/sysctl.conf-%kernelrelease-%build_flavor @@ -843,7 +841,6 @@ if [ %CONFIG_MODULES = y ]; then mkdir -p %rpm_install_dir/%cpu_arch_flavor mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch - ln -s XX%build_flavor %buildroot/usr/src/linux-obj/%cpu_arch_flavor install -m 755 -D -t %rpm_install_dir/%cpu_arch_flavor/scripts/mod/ scripts/mod/ksym-provides gzip -n -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease-%build_flavor.gz ++++++ kernel-docs.spec ++++++ --- /var/tmp/diff_new_pack.HPgyPM/_old 2020-12-05 20:36:19.982657049 +0100 +++ /var/tmp/diff_new_pack.HPgyPM/_new 2020-12-05 20:36:19.986657054 +0100 @@ -17,7 +17,7 @@ %define srcversion 5.9 -%define patchversion 5.9.11 +%define patchversion 5.9.12 %define variant %{nil} %include %_sourcedir/kernel-spec-macros @@ -31,9 +31,9 @@ Summary: Kernel Documentation License: GPL-2.0 Group: Documentation/Man -Version: 5.9.11 +Version: 5.9.12 %if 0%{?is_kotd} -Release: <RELEASE>.g91426ef +Release: <RELEASE>.g46922da %else Release: 0 %endif @@ -63,7 +63,7 @@ %endif Url: http://www.kernel.org/ Provides: %name = %version-%source_rel -Provides: %name-srchash-91426efa17c9d25b4e397766a6ed536b4093c8f3 +Provides: %name-srchash-46922da21ebc0021475dc0fa8ee5514f71ebce59 BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build Source0: http://www.kernel.org/pub/linux/kernel/v5.x/linux-%srcversion.tar.xz ++++++ kernel-kvmsmall.spec ++++++ --- /var/tmp/diff_new_pack.HPgyPM/_old 2020-12-05 20:36:20.006657073 +0100 +++ /var/tmp/diff_new_pack.HPgyPM/_new 2020-12-05 20:36:20.010657078 +0100 @@ -18,7 +18,7 @@ %define srcversion 5.9 -%define patchversion 5.9.11 +%define patchversion 5.9.12 %define variant %{nil} %define vanilla_only 0 %define compress_modules xz @@ -40,7 +40,7 @@ %define rpm_install_dir %buildroot%obj_install_dir %define kernel_build_dir %my_builddir/linux-%srcversion/linux-obj -%if 0%{?_project:1} && ( %(echo %_project | egrep -x -f %_sourcedir/release-projects | grep -v ^PTF | grep -vc openSUSE) || %(echo %_project | grep -Ec "^(Devel:)?Kernel:") ) +%if 0%{?_project:1} && ( %(echo %_project | grep -Ex -f %_sourcedir/release-projects | grep -v ^PTF | grep -vc openSUSE) || %(echo %_project | grep -Ec "^(Devel:)?Kernel:") ) %define klp_symbols 1 %endif @@ -68,9 +68,9 @@ Summary: The Small Developer Kernel for KVM License: GPL-2.0 Group: System/Kernel -Version: 5.9.11 +Version: 5.9.12 %if 0%{?is_kotd} -Release: <RELEASE>.g91426ef +Release: <RELEASE>.g46922da %else Release: 0 %endif @@ -179,10 +179,10 @@ Conflicts: libc.so.6()(64bit) %endif Provides: kernel = %version-%source_rel -Provides: kernel-%build_flavor-base-srchash-91426efa17c9d25b4e397766a6ed536b4093c8f3 -Provides: kernel-srchash-91426efa17c9d25b4e397766a6ed536b4093c8f3 +Provides: kernel-%build_flavor-base-srchash-46922da21ebc0021475dc0fa8ee5514f71ebce59 +Provides: kernel-srchash-46922da21ebc0021475dc0fa8ee5514f71ebce59 # END COMMON DEPS -Provides: %name-srchash-91426efa17c9d25b4e397766a6ed536b4093c8f3 +Provides: %name-srchash-46922da21ebc0021475dc0fa8ee5514f71ebce59 %obsolete_rebuilds %name Source0: http://www.kernel.org/pub/linux/kernel/v5.x/linux-%srcversion.tar.xz Source2: source-post.sh @@ -458,7 +458,7 @@ CONFIG_SUSE_KERNEL_RELEASED="--disable CONFIG_SUSE_KERNEL_RELEASED" %if 0%{?_project:1} -if echo %_project | egrep -qx -f %_sourcedir/release-projects; then +if echo %_project | grep -Eqx -f %_sourcedir/release-projects; then CONFIG_SUSE_KERNEL_RELEASED="--enable CONFIG_SUSE_KERNEL_RELEASED" fi %endif @@ -763,8 +763,6 @@ # keep this -suffix list in sync with post.sh and postun.sh suffix=-%build_flavor %endif -ln -s XX$image$suffix %buildroot/boot/$image$suffix -ln -s XXinitrd$suffix %buildroot/boot/initrd$suffix cp -p .config %buildroot/boot/config-%kernelrelease-%build_flavor sysctl_file=%buildroot/boot/sysctl.conf-%kernelrelease-%build_flavor @@ -798,7 +796,6 @@ if [ %CONFIG_MODULES = y ]; then mkdir -p %rpm_install_dir/%cpu_arch_flavor mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch - ln -s XX%build_flavor %buildroot/usr/src/linux-obj/%cpu_arch_flavor install -m 755 -D -t %rpm_install_dir/%cpu_arch_flavor/scripts/mod/ scripts/mod/ksym-provides gzip -n -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease-%build_flavor.gz kernel-lpae.spec: same change ++++++ kernel-obs-build.spec ++++++ --- /var/tmp/diff_new_pack.HPgyPM/_old 2020-12-05 20:36:20.050657119 +0100 +++ /var/tmp/diff_new_pack.HPgyPM/_new 2020-12-05 20:36:20.054657122 +0100 @@ -19,7 +19,7 @@ #!BuildIgnore: post-build-checks -%define patchversion 5.9.11 +%define patchversion 5.9.12 %define variant %{nil} %define vanilla_only 0 @@ -45,7 +45,7 @@ %endif %endif %endif -BuildRequires: kernel%kernel_flavor-srchash-91426efa17c9d25b4e397766a6ed536b4093c8f3 +BuildRequires: kernel%kernel_flavor-srchash-46922da21ebc0021475dc0fa8ee5514f71ebce59 %if 0%{?rhel_version} BuildRequires: kernel @@ -64,9 +64,9 @@ Summary: package kernel and initrd for OBS VM builds License: GPL-2.0 Group: SLES -Version: 5.9.11 +Version: 5.9.12 %if 0%{?is_kotd} -Release: <RELEASE>.g91426ef +Release: <RELEASE>.g46922da %else Release: 0 %endif ++++++ kernel-obs-qa.spec ++++++ --- /var/tmp/diff_new_pack.HPgyPM/_old 2020-12-05 20:36:20.070657138 +0100 +++ /var/tmp/diff_new_pack.HPgyPM/_new 2020-12-05 20:36:20.074657143 +0100 @@ -17,7 +17,7 @@ # needsrootforbuild -%define patchversion 5.9.11 +%define patchversion 5.9.12 %define variant %{nil} %include %_sourcedir/kernel-spec-macros @@ -36,9 +36,9 @@ Summary: Basic QA tests for the kernel License: GPL-2.0 Group: SLES -Version: 5.9.11 +Version: 5.9.12 %if 0%{?is_kotd} -Release: <RELEASE>.g91426ef +Release: <RELEASE>.g46922da %else Release: 0 %endif ++++++ kernel-pae.spec ++++++ --- /var/tmp/diff_new_pack.HPgyPM/_old 2020-12-05 20:36:20.094657163 +0100 +++ /var/tmp/diff_new_pack.HPgyPM/_new 2020-12-05 20:36:20.094657163 +0100 @@ -18,7 +18,7 @@ %define srcversion 5.9 -%define patchversion 5.9.11 +%define patchversion 5.9.12 %define variant %{nil} %define vanilla_only 0 %define compress_modules xz @@ -40,7 +40,7 @@ %define rpm_install_dir %buildroot%obj_install_dir %define kernel_build_dir %my_builddir/linux-%srcversion/linux-obj -%if 0%{?_project:1} && ( %(echo %_project | egrep -x -f %_sourcedir/release-projects | grep -v ^PTF | grep -vc openSUSE) || %(echo %_project | grep -Ec "^(Devel:)?Kernel:") ) +%if 0%{?_project:1} && ( %(echo %_project | grep -Ex -f %_sourcedir/release-projects | grep -v ^PTF | grep -vc openSUSE) || %(echo %_project | grep -Ec "^(Devel:)?Kernel:") ) %define klp_symbols 1 %endif @@ -68,9 +68,9 @@ Summary: Kernel with PAE Support License: GPL-2.0 Group: System/Kernel -Version: 5.9.11 +Version: 5.9.12 %if 0%{?is_kotd} -Release: <RELEASE>.g91426ef +Release: <RELEASE>.g46922da %else Release: 0 %endif @@ -179,10 +179,10 @@ Conflicts: libc.so.6()(64bit) %endif Provides: kernel = %version-%source_rel -Provides: kernel-%build_flavor-base-srchash-91426efa17c9d25b4e397766a6ed536b4093c8f3 -Provides: kernel-srchash-91426efa17c9d25b4e397766a6ed536b4093c8f3 +Provides: kernel-%build_flavor-base-srchash-46922da21ebc0021475dc0fa8ee5514f71ebce59 +Provides: kernel-srchash-46922da21ebc0021475dc0fa8ee5514f71ebce59 # END COMMON DEPS -Provides: %name-srchash-91426efa17c9d25b4e397766a6ed536b4093c8f3 +Provides: %name-srchash-46922da21ebc0021475dc0fa8ee5514f71ebce59 %ifarch %ix86 Provides: kernel-bigsmp = 2.6.17 Obsoletes: kernel-bigsmp <= 2.6.17 @@ -480,7 +480,7 @@ CONFIG_SUSE_KERNEL_RELEASED="--disable CONFIG_SUSE_KERNEL_RELEASED" %if 0%{?_project:1} -if echo %_project | egrep -qx -f %_sourcedir/release-projects; then +if echo %_project | grep -Eqx -f %_sourcedir/release-projects; then CONFIG_SUSE_KERNEL_RELEASED="--enable CONFIG_SUSE_KERNEL_RELEASED" fi %endif @@ -785,8 +785,6 @@ # keep this -suffix list in sync with post.sh and postun.sh suffix=-%build_flavor %endif -ln -s XX$image$suffix %buildroot/boot/$image$suffix -ln -s XXinitrd$suffix %buildroot/boot/initrd$suffix cp -p .config %buildroot/boot/config-%kernelrelease-%build_flavor sysctl_file=%buildroot/boot/sysctl.conf-%kernelrelease-%build_flavor @@ -820,7 +818,6 @@ if [ %CONFIG_MODULES = y ]; then mkdir -p %rpm_install_dir/%cpu_arch_flavor mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch - ln -s XX%build_flavor %buildroot/usr/src/linux-obj/%cpu_arch_flavor install -m 755 -D -t %rpm_install_dir/%cpu_arch_flavor/scripts/mod/ scripts/mod/ksym-provides gzip -n -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease-%build_flavor.gz ++++++ kernel-source.spec ++++++ --- /var/tmp/diff_new_pack.HPgyPM/_old 2020-12-05 20:36:20.114657183 +0100 +++ /var/tmp/diff_new_pack.HPgyPM/_new 2020-12-05 20:36:20.118657187 +0100 @@ -18,7 +18,7 @@ %define srcversion 5.9 -%define patchversion 5.9.11 +%define patchversion 5.9.12 %define variant %{nil} %define vanilla_only 0 @@ -30,9 +30,9 @@ Summary: The Linux Kernel Sources License: GPL-2.0 Group: Development/Sources -Version: 5.9.11 +Version: 5.9.12 %if 0%{?is_kotd} -Release: <RELEASE>.g91426ef +Release: <RELEASE>.g46922da %else Release: 0 %endif @@ -43,7 +43,7 @@ BuildRequires: sed Requires(post): coreutils sed Provides: %name = %version-%source_rel -Provides: %name-srchash-91426efa17c9d25b4e397766a6ed536b4093c8f3 +Provides: %name-srchash-46922da21ebc0021475dc0fa8ee5514f71ebce59 Provides: linux Provides: multiversion(kernel) Source0: http://www.kernel.org/pub/linux/kernel/v5.x/linux-%srcversion.tar.xz @@ -224,8 +224,6 @@ %endif %if ! %vanilla_only -ln -sf XXlinux%variant linux%variant # dummy symlink - cd linux-%kernelrelease%variant %_sourcedir/apply-patches %_sourcedir/series.conf %my_builddir %symbols rm -f $(find . -name ".gitignore") ++++++ kernel-syms.spec ++++++ --- /var/tmp/diff_new_pack.HPgyPM/_old 2020-12-05 20:36:20.142657212 +0100 +++ /var/tmp/diff_new_pack.HPgyPM/_new 2020-12-05 20:36:20.142657212 +0100 @@ -24,10 +24,10 @@ Summary: Kernel Symbol Versions (modversions) License: GPL-2.0 Group: Development/Sources -Version: 5.9.11 +Version: 5.9.12 %if %using_buildservice %if 0%{?is_kotd} -Release: <RELEASE>.g91426ef +Release: <RELEASE>.g46922da %else Release: 0 %endif @@ -52,7 +52,7 @@ %endif Requires: pesign-obs-integration Provides: %name = %version-%source_rel -Provides: %name-srchash-91426efa17c9d25b4e397766a6ed536b4093c8f3 +Provides: %name-srchash-46922da21ebc0021475dc0fa8ee5514f71ebce59 Provides: multiversion(kernel) Source: README.KSYMS Requires: kernel-devel%variant = %version-%source_rel ++++++ kernel-vanilla.spec ++++++ --- /var/tmp/diff_new_pack.HPgyPM/_old 2020-12-05 20:36:20.162657232 +0100 +++ /var/tmp/diff_new_pack.HPgyPM/_new 2020-12-05 20:36:20.166657236 +0100 @@ -18,7 +18,7 @@ %define srcversion 5.9 -%define patchversion 5.9.11 +%define patchversion 5.9.12 %define variant %{nil} %define vanilla_only 0 %define compress_modules xz @@ -40,7 +40,7 @@ %define rpm_install_dir %buildroot%obj_install_dir %define kernel_build_dir %my_builddir/linux-%srcversion/linux-obj -%if 0%{?_project:1} && ( %(echo %_project | egrep -x -f %_sourcedir/release-projects | grep -v ^PTF | grep -vc openSUSE) || %(echo %_project | grep -Ec "^(Devel:)?Kernel:") ) +%if 0%{?_project:1} && ( %(echo %_project | grep -Ex -f %_sourcedir/release-projects | grep -v ^PTF | grep -vc openSUSE) || %(echo %_project | grep -Ec "^(Devel:)?Kernel:") ) %define klp_symbols 1 %endif @@ -68,9 +68,9 @@ Summary: The Standard Kernel - without any SUSE patches License: GPL-2.0 Group: System/Kernel -Version: 5.9.11 +Version: 5.9.12 %if 0%{?is_kotd} -Release: <RELEASE>.g91426ef +Release: <RELEASE>.g46922da %else Release: 0 %endif @@ -179,10 +179,10 @@ Conflicts: libc.so.6()(64bit) %endif Provides: kernel = %version-%source_rel -Provides: kernel-%build_flavor-base-srchash-91426efa17c9d25b4e397766a6ed536b4093c8f3 -Provides: kernel-srchash-91426efa17c9d25b4e397766a6ed536b4093c8f3 +Provides: kernel-%build_flavor-base-srchash-46922da21ebc0021475dc0fa8ee5514f71ebce59 +Provides: kernel-srchash-46922da21ebc0021475dc0fa8ee5514f71ebce59 # END COMMON DEPS -Provides: %name-srchash-91426efa17c9d25b4e397766a6ed536b4093c8f3 +Provides: %name-srchash-46922da21ebc0021475dc0fa8ee5514f71ebce59 %obsolete_rebuilds %name Source0: http://www.kernel.org/pub/linux/kernel/v5.x/linux-%srcversion.tar.xz Source2: source-post.sh @@ -451,7 +451,7 @@ CONFIG_SUSE_KERNEL_RELEASED="--disable CONFIG_SUSE_KERNEL_RELEASED" %if 0%{?_project:1} -if echo %_project | egrep -qx -f %_sourcedir/release-projects; then +if echo %_project | grep -Eqx -f %_sourcedir/release-projects; then CONFIG_SUSE_KERNEL_RELEASED="--enable CONFIG_SUSE_KERNEL_RELEASED" fi %endif @@ -756,8 +756,6 @@ # keep this -suffix list in sync with post.sh and postun.sh suffix=-%build_flavor %endif -ln -s XX$image$suffix %buildroot/boot/$image$suffix -ln -s XXinitrd$suffix %buildroot/boot/initrd$suffix cp -p .config %buildroot/boot/config-%kernelrelease-%build_flavor sysctl_file=%buildroot/boot/sysctl.conf-%kernelrelease-%build_flavor @@ -791,7 +789,6 @@ if [ %CONFIG_MODULES = y ]; then mkdir -p %rpm_install_dir/%cpu_arch_flavor mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch - ln -s XX%build_flavor %buildroot/usr/src/linux-obj/%cpu_arch_flavor install -m 755 -D -t %rpm_install_dir/%cpu_arch_flavor/scripts/mod/ scripts/mod/ksym-provides gzip -n -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease-%build_flavor.gz kernel-zfcpdump.spec: same change ++++++ config.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/arm64/default new/config/arm64/default --- old/config/arm64/default 2020-11-25 06:49:21.000000000 +0100 +++ new/config/arm64/default 2020-12-01 09:43:02.000000000 +0100 @@ -9200,7 +9200,7 @@ CONFIG_RPMSG_VIRTIO=m # end of Rpmsg drivers -CONFIG_SOUNDWIRE=y +CONFIG_SOUNDWIRE=m # # SoundWire Devices @@ -9940,6 +9940,7 @@ CONFIG_PWM_MTK_DISP=m CONFIG_PWM_MEDIATEK=m # CONFIG_PWM_PCA9685 is not set +CONFIG_PWM_RASPBERRYPI_POE=m CONFIG_PWM_ROCKCHIP=m CONFIG_PWM_SAMSUNG=m CONFIG_PWM_SPRD=m diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/armv6hl/default new/config/armv6hl/default --- old/config/armv6hl/default 2020-11-25 06:49:21.000000000 +0100 +++ new/config/armv6hl/default 2020-12-01 09:43:02.000000000 +0100 @@ -6520,11 +6520,7 @@ # CONFIG_RPMSG_VIRTIO is not set # end of Rpmsg drivers -CONFIG_SOUNDWIRE=y - -# -# SoundWire Devices -# +# CONFIG_SOUNDWIRE is not set # # SOC (System On Chip) specific Drivers @@ -7154,6 +7150,7 @@ CONFIG_PWM_IMX_TPM=m CONFIG_PWM_IQS620A=m # CONFIG_PWM_PCA9685 is not set +CONFIG_PWM_RASPBERRYPI_POE=m # CONFIG_PWM_STMPE is not set CONFIG_PWM_TWL=m CONFIG_PWM_TWL_LED=m diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/armv7hl/default new/config/armv7hl/default --- old/config/armv7hl/default 2020-11-25 06:49:21.000000000 +0100 +++ new/config/armv7hl/default 2020-12-01 09:43:02.000000000 +0100 @@ -2335,7 +2335,6 @@ CONFIG_REGMAP_W1=m CONFIG_REGMAP_MMIO=y CONFIG_REGMAP_IRQ=y -CONFIG_REGMAP_SOUNDWIRE=m CONFIG_REGMAP_SCCB=m CONFIG_REGMAP_I3C=m CONFIG_DMA_SHARED_BUFFER=y @@ -7287,7 +7286,6 @@ CONFIG_SND_SOC_QDSP6_ASM_DAI=m CONFIG_SND_SOC_QDSP6=m # CONFIG_SND_SOC_MSM8996 is not set -# CONFIG_SND_SOC_SDM845 is not set CONFIG_SND_SOC_ROCKCHIP=m CONFIG_SND_SOC_ROCKCHIP_I2S=m CONFIG_SND_SOC_ROCKCHIP_PDM=m @@ -7465,7 +7463,6 @@ CONFIG_SND_SOC_MAX98927=m CONFIG_SND_SOC_MAX98373=m CONFIG_SND_SOC_MAX98373_I2C=m -CONFIG_SND_SOC_MAX98373_SDW=m CONFIG_SND_SOC_MAX98390=m CONFIG_SND_SOC_MAX9860=m # CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set @@ -7489,7 +7486,6 @@ CONFIG_SND_SOC_PCM512x_SPI=m # CONFIG_SND_SOC_RK3328 is not set CONFIG_SND_SOC_RL6231=m -CONFIG_SND_SOC_RT1308_SDW=m # CONFIG_SND_SOC_RT5514_SPI_BUILTIN is not set CONFIG_SND_SOC_RT5616=m CONFIG_SND_SOC_RT5631=m @@ -7497,14 +7493,6 @@ CONFIG_SND_SOC_RT5645=m CONFIG_SND_SOC_RT5677=m CONFIG_SND_SOC_RT5677_SPI=m -CONFIG_SND_SOC_RT5682=m -CONFIG_SND_SOC_RT5682_SDW=m -CONFIG_SND_SOC_RT700=m -CONFIG_SND_SOC_RT700_SDW=m -CONFIG_SND_SOC_RT711=m -CONFIG_SND_SOC_RT711_SDW=m -CONFIG_SND_SOC_RT715=m -CONFIG_SND_SOC_RT715_SDW=m CONFIG_SND_SOC_SGTL5000=m CONFIG_SND_SOC_SIGMADSP=m CONFIG_SND_SOC_SIGMADSP_I2C=m @@ -7572,7 +7560,6 @@ CONFIG_SND_SOC_WM8985=m CONFIG_SND_SOC_WM8994=m CONFIG_SND_SOC_WM9712=m -CONFIG_SND_SOC_WSA881X=m CONFIG_SND_SOC_ZL38060=m CONFIG_SND_SOC_ZX_AUD96P22=m CONFIG_SND_SOC_MAX9759=m @@ -9240,12 +9227,7 @@ CONFIG_RPMSG_VIRTIO=m # end of Rpmsg drivers -CONFIG_SOUNDWIRE=y - -# -# SoundWire Devices -# -# CONFIG_SOUNDWIRE_QCOM is not set +# CONFIG_SOUNDWIRE is not set # # SOC (System On Chip) specific Drivers @@ -10015,6 +9997,7 @@ CONFIG_PWM_MEDIATEK=m # CONFIG_PWM_OMAP_DMTIMER is not set # CONFIG_PWM_PCA9685 is not set +CONFIG_PWM_RASPBERRYPI_POE=m CONFIG_PWM_ROCKCHIP=m CONFIG_PWM_SAMSUNG=m CONFIG_PWM_SPEAR=m diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/armv7hl/lpae new/config/armv7hl/lpae --- old/config/armv7hl/lpae 2020-11-25 06:49:21.000000000 +0100 +++ new/config/armv7hl/lpae 2020-12-01 09:43:02.000000000 +0100 @@ -8870,7 +8870,7 @@ CONFIG_RPMSG_VIRTIO=m # end of Rpmsg drivers -CONFIG_SOUNDWIRE=y +CONFIG_SOUNDWIRE=m # # SoundWire Devices @@ -9623,6 +9623,7 @@ CONFIG_PWM_MEDIATEK=m # CONFIG_PWM_OMAP_DMTIMER is not set # CONFIG_PWM_PCA9685 is not set +CONFIG_PWM_RASPBERRYPI_POE=m CONFIG_PWM_ROCKCHIP=m CONFIG_PWM_SAMSUNG=m CONFIG_PWM_STMPE=y diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/i386/pae new/config/i386/pae --- old/config/i386/pae 2020-11-25 06:49:21.000000000 +0100 +++ new/config/i386/pae 2020-12-01 09:43:02.000000000 +0100 @@ -8274,7 +8274,7 @@ CONFIG_RPMSG_VIRTIO=m # end of Rpmsg drivers -CONFIG_SOUNDWIRE=y +CONFIG_SOUNDWIRE=m # # SoundWire Devices diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/ppc64/default new/config/ppc64/default --- old/config/ppc64/default 2020-11-25 06:49:21.000000000 +0100 +++ new/config/ppc64/default 2020-12-01 09:43:02.000000000 +0100 @@ -6856,11 +6856,7 @@ CONFIG_RPMSG_VIRTIO=m # end of Rpmsg drivers -CONFIG_SOUNDWIRE=y - -# -# SoundWire Devices -# +# CONFIG_SOUNDWIRE is not set # # SOC (System On Chip) specific Drivers diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/ppc64/kvmsmall new/config/ppc64/kvmsmall --- old/config/ppc64/kvmsmall 2020-11-25 06:49:21.000000000 +0100 +++ new/config/ppc64/kvmsmall 2020-12-01 09:43:02.000000000 +0100 @@ -328,7 +328,6 @@ # CONFIG_SERIO is not set # CONFIG_SMSC_PHY is not set # CONFIG_SOUND is not set -# CONFIG_SOUNDWIRE is not set # CONFIG_SPI is not set # CONFIG_SPMI is not set # CONFIG_SSB is not set diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/ppc64le/default new/config/ppc64le/default --- old/config/ppc64le/default 2020-11-25 06:49:21.000000000 +0100 +++ new/config/ppc64le/default 2020-12-01 09:43:02.000000000 +0100 @@ -6708,11 +6708,7 @@ CONFIG_RPMSG_VIRTIO=m # end of Rpmsg drivers -CONFIG_SOUNDWIRE=y - -# -# SoundWire Devices -# +# CONFIG_SOUNDWIRE is not set # # SOC (System On Chip) specific Drivers diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/ppc64le/kvmsmall new/config/ppc64le/kvmsmall --- old/config/ppc64le/kvmsmall 2020-11-25 06:49:21.000000000 +0100 +++ new/config/ppc64le/kvmsmall 2020-12-01 09:43:02.000000000 +0100 @@ -318,7 +318,6 @@ # CONFIG_SERIO is not set # CONFIG_SMSC_PHY is not set # CONFIG_SOUND is not set -# CONFIG_SOUNDWIRE is not set # CONFIG_SPI is not set # CONFIG_SPMI is not set # CONFIG_SSB is not set diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/riscv64/default new/config/riscv64/default --- old/config/riscv64/default 2020-11-25 06:49:21.000000000 +0100 +++ new/config/riscv64/default 2020-12-01 09:43:02.000000000 +0100 @@ -1696,7 +1696,6 @@ CONFIG_REGMAP_W1=m CONFIG_REGMAP_MMIO=y CONFIG_REGMAP_IRQ=y -CONFIG_REGMAP_SOUNDWIRE=m CONFIG_REGMAP_SCCB=m CONFIG_DMA_SHARED_BUFFER=y # CONFIG_DMA_FENCE_TRACE is not set @@ -5922,7 +5921,6 @@ CONFIG_SND_SOC_MAX98927=m CONFIG_SND_SOC_MAX98373=m CONFIG_SND_SOC_MAX98373_I2C=m -CONFIG_SND_SOC_MAX98373_SDW=m CONFIG_SND_SOC_MAX98390=m # CONFIG_SND_SOC_MAX9860 is not set # CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set @@ -5942,16 +5940,11 @@ # CONFIG_SND_SOC_PCM512x_SPI is not set # CONFIG_SND_SOC_RK3328 is not set CONFIG_SND_SOC_RL6231=m -# CONFIG_SND_SOC_RT1308_SDW is not set # CONFIG_SND_SOC_RT5514_SPI_BUILTIN is not set # CONFIG_SND_SOC_RT5616 is not set # CONFIG_SND_SOC_RT5631 is not set CONFIG_SND_SOC_RT5645=m # CONFIG_SND_SOC_RT5677_SPI is not set -# CONFIG_SND_SOC_RT5682_SDW is not set -# CONFIG_SND_SOC_RT700_SDW is not set -# CONFIG_SND_SOC_RT711_SDW is not set -# CONFIG_SND_SOC_RT715_SDW is not set CONFIG_SND_SOC_SGTL5000=m # CONFIG_SND_SOC_SIMPLE_AMPLIFIER is not set # CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set @@ -6006,7 +5999,6 @@ # CONFIG_SND_SOC_WM8974 is not set # CONFIG_SND_SOC_WM8978 is not set # CONFIG_SND_SOC_WM8985 is not set -# CONFIG_SND_SOC_WSA881X is not set # CONFIG_SND_SOC_ZL38060 is not set # CONFIG_SND_SOC_ZX_AUD96P22 is not set # CONFIG_SND_SOC_MAX9759 is not set @@ -7015,11 +7007,7 @@ CONFIG_RPMSG_VIRTIO=m # end of Rpmsg drivers -CONFIG_SOUNDWIRE=y - -# -# SoundWire Devices -# +# CONFIG_SOUNDWIRE is not set # # SOC (System On Chip) specific Drivers diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/x86_64/default new/config/x86_64/default --- old/config/x86_64/default 2020-11-25 06:49:21.000000000 +0100 +++ new/config/x86_64/default 2020-12-01 09:43:02.000000000 +0100 @@ -8096,7 +8096,7 @@ CONFIG_RPMSG_VIRTIO=m # end of Rpmsg drivers -CONFIG_SOUNDWIRE=y +CONFIG_SOUNDWIRE=m # # SoundWire Devices ++++++ kernel-binary.spec.in ++++++ --- /var/tmp/diff_new_pack.HPgyPM/_old 2020-12-05 20:36:20.698657776 +0100 +++ /var/tmp/diff_new_pack.HPgyPM/_new 2020-12-05 20:36:20.698657776 +0100 @@ -40,7 +40,7 @@ %define rpm_install_dir %buildroot%obj_install_dir %define kernel_build_dir %my_builddir/linux-%srcversion/linux-obj -%if 0%{?_project:1} && ( %(echo %_project | egrep -x -f %_sourcedir/release-projects | grep -v ^PTF | grep -vc openSUSE) || %(echo %_project | grep -Ec "^(Devel:)?Kernel:") ) +%if 0%{?_project:1} && ( %(echo %_project | grep -Ex -f %_sourcedir/release-projects | grep -v ^PTF | grep -vc openSUSE) || %(echo %_project | grep -Ec "^(Devel:)?Kernel:") ) %define klp_symbols 1 %endif @@ -309,7 +309,7 @@ CONFIG_SUSE_KERNEL_RELEASED="--disable CONFIG_SUSE_KERNEL_RELEASED" %if 0%{?_project:1} -if echo %_project | egrep -qx -f %_sourcedir/release-projects; then +if echo %_project | grep -Eqx -f %_sourcedir/release-projects; then CONFIG_SUSE_KERNEL_RELEASED="--enable CONFIG_SUSE_KERNEL_RELEASED" fi %endif @@ -614,8 +614,6 @@ # keep this -suffix list in sync with post.sh and postun.sh suffix=-%build_flavor %endif -ln -s XX$image$suffix %buildroot/boot/$image$suffix -ln -s XXinitrd$suffix %buildroot/boot/initrd$suffix cp -p .config %buildroot/boot/config-%kernelrelease-%build_flavor sysctl_file=%buildroot/boot/sysctl.conf-%kernelrelease-%build_flavor @@ -649,7 +647,6 @@ if [ %CONFIG_MODULES = y ]; then mkdir -p %rpm_install_dir/%cpu_arch_flavor mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch - ln -s XX%build_flavor %buildroot/usr/src/linux-obj/%cpu_arch_flavor install -m 755 -D -t %rpm_install_dir/%cpu_arch_flavor/scripts/mod/ scripts/mod/ksym-provides gzip -n -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease-%build_flavor.gz ++++++ kernel-source.spec.in ++++++ --- /var/tmp/diff_new_pack.HPgyPM/_old 2020-12-05 20:36:20.810657889 +0100 +++ /var/tmp/diff_new_pack.HPgyPM/_new 2020-12-05 20:36:20.810657889 +0100 @@ -224,8 +224,6 @@ %endif %if ! %vanilla_only -ln -sf XXlinux%variant linux%variant # dummy symlink - cd linux-%kernelrelease%variant %_sourcedir/apply-patches %_sourcedir/series.conf %my_builddir %symbols rm -f $(find . -name ".gitignore") ++++++ patches.kernel.org.tar.bz2 ++++++ ++++ 13834 lines of diff (skipped) ++++++ patches.suse.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/btrfs-qgroup-don-t-commit-transaction-when-we-have-a.patch new/patches.suse/btrfs-qgroup-don-t-commit-transaction-when-we-have-a.patch --- old/patches.suse/btrfs-qgroup-don-t-commit-transaction-when-we-have-a.patch 2020-11-25 06:49:27.000000000 +0100 +++ new/patches.suse/btrfs-qgroup-don-t-commit-transaction-when-we-have-a.patch 1970-01-01 01:00:00.000000000 +0100 @@ -1,128 +0,0 @@ -From: Qu Wenruo <w...@suse.com> -Date: Wed, 11 Nov 2020 19:38:18 +0800 -Subject: btrfs: qgroup: don't commit transaction when we already hold the - handle -Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git#for-next -Git-commit: 046e2776ff599d57810da90f52217cedb339e57a -Patch-mainline: Queued in subsystem maintainer repository -References: bsc#1178634 - -[BUG] -When running the following script, btrfs will trigger an ASSERT(): - - #/bin/bash - mkfs.btrfs -f $dev - mount $dev $mnt - xfs_io -f -c "pwrite 0 1G" $mnt/file - sync - btrfs quota enable $mnt - btrfs quota rescan -w $mnt - - # Manually set the limit below current usage - btrfs qgroup limit 512M $mnt $mnt - - # Crash happens - touch $mnt/file - -The dmesg looks like this: - - assertion failed: refcount_read(&trans->use_count) == 1, in fs/btrfs/transaction.c:2022 - ------------[ cut here ]------------ - kernel BUG at fs/btrfs/ctree.h:3230! - invalid opcode: 0000 [#1] SMP PTI - RIP: 0010:assertfail.constprop.0+0x18/0x1a [btrfs] - btrfs_commit_transaction.cold+0x11/0x5d [btrfs] - try_flush_qgroup+0x67/0x100 [btrfs] - __btrfs_qgroup_reserve_meta+0x3a/0x60 [btrfs] - btrfs_delayed_update_inode+0xaa/0x350 [btrfs] - btrfs_update_inode+0x9d/0x110 [btrfs] - btrfs_dirty_inode+0x5d/0xd0 [btrfs] - touch_atime+0xb5/0x100 - iterate_dir+0xf1/0x1b0 - __x64_sys_getdents64+0x78/0x110 - do_syscall_64+0x33/0x80 - entry_SYSCALL_64_after_hwframe+0x44/0xa9 - RIP: 0033:0x7fb5afe588db - -[CAUSE] -In try_flush_qgroup(), we assume we don't hold a transaction handle at -all. This is true for data reservation and mostly true for metadata. -Since data space reservation always happens before we start a -transaction, and for most metadata operation we reserve space in -start_transaction(). - -But there is an exception, btrfs_delayed_inode_reserve_metadata(). -It holds a transaction handle, while still trying to reserve extra -metadata space. - -When we hit EDQUOT inside btrfs_delayed_inode_reserve_metadata(), we -will join current transaction and commit, while we still have -transaction handle from qgroup code. - -[FIX] -Let's check current->journal before we join the transaction. - -If current->journal is unset or BTRFS_SEND_TRANS_STUB, it means -we are not holding a transaction, thus are able to join and then commit -transaction. - -If current->journal is a valid transaction handle, we avoid committing -transaction and just end it - -This is less effective than committing current transaction, as it won't -free metadata reserved space, but we may still free some data space -before new data writes. - -Bugzilla: https://bugzilla.suse.com/show_bug.cgi?id=1178634 -Fixes: c53e9653605d ("btrfs: qgroup: try to flush qgroup space when we get -EDQUOT") -Reviewed-by: Filipe Manana <fdman...@suse.com> -Signed-off-by: Qu Wenruo <w...@suse.com> -Signed-off-by: David Sterba <dste...@suse.com> -Signed-off-by: Jiri Slaby <jsl...@suse.cz> ---- - fs/btrfs/qgroup.c | 20 +++++++++++++++++++- - 1 file changed, 19 insertions(+), 1 deletion(-) - ---- a/fs/btrfs/qgroup.c -+++ b/fs/btrfs/qgroup.c -@@ -3516,6 +3516,7 @@ static int try_flush_qgroup(struct btrfs - { - struct btrfs_trans_handle *trans; - int ret; -+ bool can_commit = true; - - /* - * We don't want to run flush again and again, so if there is a running -@@ -3527,6 +3528,20 @@ static int try_flush_qgroup(struct btrfs - return 0; - } - -+ /* -+ * If current process holds a transaction, we shouldn't flush, as we -+ * assume all space reservation happens before a transaction handle is -+ * held. -+ * -+ * But there are cases like btrfs_delayed_item_reserve_metadata() where -+ * we try to reserve space with one transction handle already held. -+ * In that case we can't commit transaction, but at least try to end it -+ * and hope the started data writes can free some space. -+ */ -+ if (current->journal_info && -+ current->journal_info != BTRFS_SEND_TRANS_STUB) -+ can_commit = false; -+ - ret = btrfs_start_delalloc_snapshot(root); - if (ret < 0) - goto out; -@@ -3538,7 +3553,10 @@ static int try_flush_qgroup(struct btrfs - goto out; - } - -- ret = btrfs_commit_transaction(trans); -+ if (can_commit) -+ ret = btrfs_commit_transaction(trans); -+ else -+ ret = btrfs_end_transaction(trans); - out: - clear_bit(BTRFS_ROOT_QGROUP_FLUSHING, &root->state); - wake_up(&root->qgroup_flush_wait); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/clk-bcm-rpi-release-firmware-handle-on-unbind.patch new/patches.suse/clk-bcm-rpi-release-firmware-handle-on-unbind.patch --- old/patches.suse/clk-bcm-rpi-release-firmware-handle-on-unbind.patch 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.suse/clk-bcm-rpi-release-firmware-handle-on-unbind.patch 2020-12-02 10:24:35.000000000 +0100 @@ -0,0 +1,33 @@ +From: Nicolas Saenz Julienne <nsaenzjulie...@suse.de> +Date: Wed, 21 Oct 2020 18:21:33 +0200 +Subject: clk: bcm: rpi: Release firmware handle on unbind +Patch-mainline: Submitted, https://lore.kernel.org/linux-clk/20201123183833.18750-1-nsaenzjulie...@suse.de/ +References: jsc#SLE-16543 + +Use devm_rpi_firmware_get() so as to make sure we release RPi's firmware +interface when unbinding the device. + +Signed-off-by: Nicolas Saenz Julienne <nsaenzjulie...@suse.de> + +--- + +Changes since v2: + - Use devm_rpi_firmware_get(), instead of remove function +--- + drivers/clk/bcm/clk-raspberrypi.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/clk/bcm/clk-raspberrypi.c b/drivers/clk/bcm/clk-raspberrypi.c +index f89b9cfc4309..dd3b71eafabf 100644 +--- a/drivers/clk/bcm/clk-raspberrypi.c ++++ b/drivers/clk/bcm/clk-raspberrypi.c +@@ -314,7 +314,7 @@ static int raspberrypi_clk_probe(struct platform_device *pdev) + return -ENOENT; + } + +- firmware = rpi_firmware_get(firmware_node); ++ firmware = devm_rpi_firmware_get(&pdev->dev, firmware_node); + of_node_put(firmware_node); + if (!firmware) + return -EPROBE_DEFER; + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/dt-bindings-pwm-add-binding-for-rpi-firmware-pwm-bus.patch new/patches.suse/dt-bindings-pwm-add-binding-for-rpi-firmware-pwm-bus.patch --- old/patches.suse/dt-bindings-pwm-add-binding-for-rpi-firmware-pwm-bus.patch 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.suse/dt-bindings-pwm-add-binding-for-rpi-firmware-pwm-bus.patch 2020-12-02 10:24:35.000000000 +0100 @@ -0,0 +1,42 @@ +From: Nicolas Saenz Julienne <nsaenzjulie...@suse.de> +Date: Thu, 8 Oct 2020 18:49:52 +0200 +Subject: dt-bindings: pwm: Add binding for RPi firmware PWM bus +Patch-mainline: Submitted, https://lore.kernel.org/linux-clk/20201123183833.18750-1-nsaenzjulie...@suse.de/ +References: jsc#SLE-16543 + +The PWM bus controlling the fan in RPi's official PoE hat can only be +controlled by the board's co-processor. + +Signed-off-by: Nicolas Saenz Julienne <nsaenzjulie...@suse.de> +Reviewed-by: Rob Herring <r...@kernel.org> + +--- + +Changes since v4: + - Rename compatible to be more explicit with the bus' limitations + +Changes since v3: + - Fix example + +Changes since v1: + - Update bindings to use 2 #pwm-cells +--- + include/dt-bindings/pwm/raspberrypi,firmware-poe-pwm.h | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +--- /dev/null ++++ b/include/dt-bindings/pwm/raspberrypi,firmware-poe-pwm.h +@@ -0,0 +1,13 @@ ++/* SPDX-License-Identifier: GPL-2.0 */ ++/* ++ * Copyright (c) 2020 Nicolas Saenz Julienne ++ * Author: Nicolas Saenz Julienne <nsaenzjulie...@suse.de> ++ */ ++ ++#ifndef _DT_BINDINGS_RASPBERRYPI_FIRMWARE_PWM_H ++#define _DT_BINDINGS_RASPBERRYPI_FIRMWARE_PWM_H ++ ++#define RASPBERRYPI_FIRMWARE_PWM_POE 0 ++#define RASPBERRYPI_FIRMWARE_PWM_NUM 1 ++ ++#endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/firmware-raspberrypi-introduce-devm_rpi_firmware_get.patch new/patches.suse/firmware-raspberrypi-introduce-devm_rpi_firmware_get.patch --- old/patches.suse/firmware-raspberrypi-introduce-devm_rpi_firmware_get.patch 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.suse/firmware-raspberrypi-introduce-devm_rpi_firmware_get.patch 2020-12-02 10:24:35.000000000 +0100 @@ -0,0 +1,91 @@ +From: Nicolas Saenz Julienne <nsaenzjulie...@suse.de> +Date: Thu, 12 Nov 2020 17:19:13 +0100 +Subject: firmware: raspberrypi: Introduce devm_rpi_firmware_get() +Patch-mainline: Submitted, https://lore.kernel.org/linux-clk/20201123183833.18750-1-nsaenzjulie...@suse.de/ +References: jsc#SLE-16543 + +It'll simplify the firmware handling for most consumers. + +Suggested-by: Bartosz Golaszewski <bgolaszew...@baylibre.com> +Signed-off-by: Nicolas Saenz Julienne <nsaenzjulie...@suse.de> +--- + +Changes since v4: + - Rearrange function calls for clarity, same functionality + +Changes since v2: +- Create devm_rpi_firmware_get() +--- + drivers/firmware/raspberrypi.c | 29 +++++++++++++++++++++++++++++ + include/soc/bcm2835/raspberrypi-firmware.h | 8 ++++++++ + 2 files changed, 37 insertions(+) + +--- a/drivers/firmware/raspberrypi.c ++++ b/drivers/firmware/raspberrypi.c +@@ -229,6 +229,13 @@ static void rpi_register_clk_driver(stru + -1, NULL, 0); + } + ++static void devm_rpi_firmware_put(void *data) ++{ ++ struct rpi_firmware *fw = data; ++ ++ rpi_firmware_put(fw); ++} ++ + static int rpi_firmware_probe(struct platform_device *pdev) + { + struct device *dev = &pdev->dev; +@@ -358,6 +365,28 @@ exit: + } + EXPORT_SYMBOL_GPL(rpi_firmware_init_vl805); + ++/** ++ * devm_rpi_firmware_get - Get pointer to rpi_firmware structure. ++ * @firmware_node: Pointer to the firmware Device Tree node. ++ * ++ * Returns NULL is the firmware device is not ready. ++ */ ++struct rpi_firmware *devm_rpi_firmware_get(struct device *dev, ++ struct device_node *firmware_node) ++{ ++ struct rpi_firmware *fw; ++ ++ fw = rpi_firmware_get(firmware_node); ++ if (!fw) ++ return NULL; ++ ++ if (devm_add_action_or_reset(dev, devm_rpi_firmware_put, fw)) ++ return NULL; ++ ++ return fw; ++} ++EXPORT_SYMBOL_GPL(devm_rpi_firmware_get); ++ + static const struct of_device_id rpi_firmware_of_match[] = { + { .compatible = "raspberrypi,bcm2835-firmware", }, + {}, +--- a/include/soc/bcm2835/raspberrypi-firmware.h ++++ b/include/soc/bcm2835/raspberrypi-firmware.h +@@ -142,6 +142,8 @@ int rpi_firmware_property(struct rpi_fir + int rpi_firmware_property_list(struct rpi_firmware *fw, + void *data, size_t tag_size); + struct rpi_firmware *rpi_firmware_get(struct device_node *firmware_node); ++struct rpi_firmware *devm_rpi_firmware_get(struct device *dev, ++ struct device_node *firmware_node); + int rpi_firmware_init_vl805(struct pci_dev *pdev); + #else + static inline int rpi_firmware_property(struct rpi_firmware *fw, u32 tag, +@@ -165,6 +167,12 @@ static inline int rpi_firmware_init_vl80 + { + return 0; + } ++ ++static inline struct rpi_firmware *devm_rpi_firmware_get(struct device *dev, ++ struct device_node *firmware_node) ++{ ++ return NULL; ++} + #endif + + #endif /* __SOC_RASPBERRY_FIRMWARE_H__ */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/firmware-raspberrypi-keep-count-of-all-consumers.patch new/patches.suse/firmware-raspberrypi-keep-count-of-all-consumers.patch --- old/patches.suse/firmware-raspberrypi-keep-count-of-all-consumers.patch 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.suse/firmware-raspberrypi-keep-count-of-all-consumers.patch 2020-12-02 10:24:35.000000000 +0100 @@ -0,0 +1,141 @@ +From: Nicolas Saenz Julienne <nsaenzjulie...@suse.de> +Date: Thu, 12 Nov 2020 17:05:09 +0100 +Subject: firmware: raspberrypi: Keep count of all consumers +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +Patch-mainline: Submitted, https://lore.kernel.org/linux-clk/20201123183833.18750-1-nsaenzjulie...@suse.de/ +References: jsc#SLE-16543 + +When unbinding the firmware device we need to make sure it has no +consumers left. Otherwise we'd leave them with a firmware handle +pointing at freed memory. + +Keep a reference count of all consumers and introduce rpi_firmware_put() +which will permit automatically decrease the reference count upon +unbinding consumer drivers. + +Suggested-by: Uwe Kleine-König <u.kleine-koe...@pengutronix.de> +Signed-off-by: Nicolas Saenz Julienne <nsaenzjulie...@suse.de> +--- + +Changes since v3: +- Use kref instead of waiting on refcount +--- + drivers/firmware/raspberrypi.c | 37 +++++++++++++++++++++++++---- + include/soc/bcm2835/raspberrypi-firmware.h | 2 + + 2 files changed, 35 insertions(+), 4 deletions(-) + +--- a/drivers/firmware/raspberrypi.c ++++ b/drivers/firmware/raspberrypi.c +@@ -7,6 +7,7 @@ + */ + + #include <linux/dma-mapping.h> ++#include <linux/kref.h> + #include <linux/mailbox_client.h> + #include <linux/module.h> + #include <linux/of_platform.h> +@@ -27,6 +28,8 @@ struct rpi_firmware { + struct mbox_chan *chan; /* The property channel. */ + struct completion c; + u32 enabled; ++ ++ struct kref consumers; + }; + + static DEFINE_MUTEX(transaction_lock); +@@ -221,12 +224,27 @@ static void devm_rpi_firmware_put(void * + rpi_firmware_put(fw); + } + ++static void rpi_firmware_delete(struct kref *kref) ++{ ++ struct rpi_firmware *fw = container_of(kref, struct rpi_firmware, ++ consumers); ++ ++ mbox_free_channel(fw->chan); ++ kfree(fw); ++} ++ ++void rpi_firmware_put(struct rpi_firmware *fw) ++{ ++ kref_put(&fw->consumers, rpi_firmware_delete); ++} ++EXPORT_SYMBOL_GPL(rpi_firmware_put); ++ + static int rpi_firmware_probe(struct platform_device *pdev) + { + struct device *dev = &pdev->dev; + struct rpi_firmware *fw; + +- fw = devm_kzalloc(dev, sizeof(*fw), GFP_KERNEL); ++ fw = kzalloc(sizeof(*fw), GFP_KERNEL); + if (!fw) + return -ENOMEM; + +@@ -243,6 +261,7 @@ static int rpi_firmware_probe(struct pla + } + + init_completion(&fw->c); ++ kref_init(&fw->consumers); + + platform_set_drvdata(pdev, fw); + +@@ -271,25 +290,35 @@ static int rpi_firmware_remove(struct pl + rpi_hwmon = NULL; + platform_device_unregister(rpi_clk); + rpi_clk = NULL; +- mbox_free_channel(fw->chan); ++ ++ rpi_firmware_put(fw); + + return 0; + } + + /** +- * rpi_firmware_get - Get pointer to rpi_firmware structure. + * @firmware_node: Pointer to the firmware Device Tree node. + * ++ * The reference to rpi_firmware has to be released with rpi_firmware_put(). ++ * + * Returns NULL is the firmware device is not ready. + */ + struct rpi_firmware *rpi_firmware_get(struct device_node *firmware_node) + { + struct platform_device *pdev = of_find_device_by_node(firmware_node); ++ struct rpi_firmware *fw; + + if (!pdev) + return NULL; + +- return platform_get_drvdata(pdev); ++ fw = platform_get_drvdata(pdev); ++ if (!fw) ++ return NULL; ++ ++ if (!kref_get_unless_zero(&fw->consumers)) ++ return NULL; ++ ++ return fw; + } + EXPORT_SYMBOL_GPL(rpi_firmware_get); + +--- a/include/soc/bcm2835/raspberrypi-firmware.h ++++ b/include/soc/bcm2835/raspberrypi-firmware.h +@@ -140,6 +140,7 @@ int rpi_firmware_property(struct rpi_fir + u32 tag, void *data, size_t len); + int rpi_firmware_property_list(struct rpi_firmware *fw, + void *data, size_t tag_size); ++void rpi_firmware_put(struct rpi_firmware *fw); + struct rpi_firmware *rpi_firmware_get(struct device_node *firmware_node); + struct rpi_firmware *devm_rpi_firmware_get(struct device *dev, + struct device_node *firmware_node); +@@ -156,6 +157,7 @@ static inline int rpi_firmware_property_ + return -ENOSYS; + } + ++static inline void rpi_firmware_put(struct rpi_firmware *fw) { } + static inline struct rpi_firmware *rpi_firmware_get(struct device_node *firmware_node) + { + return NULL; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/gpio-raspberrypi-exp-release-firmware-handle-on-unbind.patch new/patches.suse/gpio-raspberrypi-exp-release-firmware-handle-on-unbind.patch --- old/patches.suse/gpio-raspberrypi-exp-release-firmware-handle-on-unbind.patch 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.suse/gpio-raspberrypi-exp-release-firmware-handle-on-unbind.patch 2020-12-02 10:24:35.000000000 +0100 @@ -0,0 +1,34 @@ +From: Nicolas Saenz Julienne <nsaenzjulie...@suse.de> +Date: Wed, 21 Oct 2020 18:34:21 +0200 +Subject: gpio: raspberrypi-exp: Release firmware handle on unbind +Patch-mainline: Submitted, https://lore.kernel.org/linux-clk/20201123183833.18750-1-nsaenzjulie...@suse.de/ +References: jsc#SLE-16543 + +Use devm_rpi_firmware_get() so as to make sure we release RPi's firmware +interface when unbinding the device. + +Signed-off-by: Nicolas Saenz Julienne <nsaenzjulie...@suse.de> +Acked-by: Bartosz Golaszewski <bgolaszew...@baylibre.com> + +--- + +Changes since v2: + - Use devm_rpi_firmware_get(), instead of remove function +--- + drivers/gpio/gpio-raspberrypi-exp.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/gpio/gpio-raspberrypi-exp.c b/drivers/gpio/gpio-raspberrypi-exp.c +index bb100e0124e6..64a552ecc2ad 100644 +--- a/drivers/gpio/gpio-raspberrypi-exp.c ++++ b/drivers/gpio/gpio-raspberrypi-exp.c +@@ -208,7 +208,7 @@ static int rpi_exp_gpio_probe(struct platform_device *pdev) + return -ENOENT; + } + +- fw = rpi_firmware_get(fw_node); ++ fw = devm_rpi_firmware_get(&pdev->dev, fw_node); + of_node_put(fw_node); + if (!fw) + return -EPROBE_DEFER; + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/input-raspberrypi-ts-release-firmware-handle-when-not-needed.patch new/patches.suse/input-raspberrypi-ts-release-firmware-handle-when-not-needed.patch --- old/patches.suse/input-raspberrypi-ts-release-firmware-handle-when-not-needed.patch 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.suse/input-raspberrypi-ts-release-firmware-handle-when-not-needed.patch 2020-12-02 10:24:35.000000000 +0100 @@ -0,0 +1,36 @@ +From: Nicolas Saenz Julienne <nsaenzjulie...@suse.de> +Date: Thu, 22 Oct 2020 16:06:21 +0200 +Subject: input: raspberrypi-ts: Release firmware handle when not needed +Patch-mainline: Submitted, https://lore.kernel.org/linux-clk/20201123183833.18750-1-nsaenzjulie...@suse.de/ +References: jsc#SLE-16543 + +Use devm_rpi_firmware_get() so as to make sure we release RPi's firmware +interface when unbinding the device. + +Signed-off-by: Nicolas Saenz Julienne <nsaenzjulie...@suse.de> + +--- + +Changes since v3: + - Release firmware handle in probe function + +Changes since v2: + - Use devm_rpi_firmware_get(), instead of remove function +--- + drivers/input/touchscreen/raspberrypi-ts.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/input/touchscreen/raspberrypi-ts.c b/drivers/input/touchscreen/raspberrypi-ts.c +index ef6aaed217cf..5000f5fd9ec3 100644 +--- a/drivers/input/touchscreen/raspberrypi-ts.c ++++ b/drivers/input/touchscreen/raspberrypi-ts.c +@@ -160,7 +160,7 @@ static int rpi_ts_probe(struct platform_device *pdev) + touchbuf = (u32)ts->fw_regs_phys; + error = rpi_firmware_property(fw, RPI_FIRMWARE_FRAMEBUFFER_SET_TOUCHBUF, + &touchbuf, sizeof(touchbuf)); +- ++ rpi_firmware_put(fw); + if (error || touchbuf != 0) { + dev_warn(dev, "Failed to set touchbuf, %d\n", error); + return error; + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/pwm-add-raspberry-pi-firmware-based-pwm-bus.patch new/patches.suse/pwm-add-raspberry-pi-firmware-based-pwm-bus.patch --- old/patches.suse/pwm-add-raspberry-pi-firmware-based-pwm-bus.patch 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.suse/pwm-add-raspberry-pi-firmware-based-pwm-bus.patch 2020-12-02 10:24:35.000000000 +0100 @@ -0,0 +1,282 @@ +From: Nicolas Saenz Julienne <nsaenzjulie...@suse.de> +Date: Thu, 8 Oct 2020 18:29:26 +0200 +Subject: pwm: Add Raspberry Pi Firmware based PWM bus +Patch-mainline: Submitted, https://lore.kernel.org/linux-clk/20201123183833.18750-1-nsaenzjulie...@suse.de/ +References: jsc#SLE-16543 + +Adds support to control the PWM bus available in official Raspberry Pi +PoE HAT. Only RPi's co-processor has access to it, so commands have to +be sent through RPi's firmware mailbox interface. + +Signed-off-by: Nicolas Saenz Julienne <nsaenzjulie...@suse.de> + +--- + +Changes since v3: + - Rename compatible string to be more explicit WRT to bus's limitations + +Changes since v2: + - Use devm_rpi_firmware_get() + - Rename driver + - Small cleanups + +Changes since v1: + - Use default pwm bindings and get rid of xlate() function + - Correct spelling errors + - Correct apply() function + - Round values + - Fix divisions in arm32 mode + - Small cleanups +--- + drivers/pwm/Kconfig | 9 + + drivers/pwm/Makefile | 1 + drivers/pwm/pwm-raspberrypi-poe.c | 216 ++++++++++++++++++++++++++++++++++++++ + 3 files changed, 226 insertions(+) + +--- a/drivers/pwm/Kconfig ++++ b/drivers/pwm/Kconfig +@@ -379,6 +379,15 @@ config PWM_PXA + To compile this driver as a module, choose M here: the module + will be called pwm-pxa. + ++config PWM_RASPBERRYPI_POE ++ tristate "Raspberry Pi Firwmware PoE Hat PWM support" ++ # Make sure not 'y' when RASPBERRYPI_FIRMWARE is 'm'. This can only ++ # happen when COMPILE_TEST=y, hence the added !RASPBERRYPI_FIRMWARE. ++ depends on RASPBERRYPI_FIRMWARE || (COMPILE_TEST && !RASPBERRYPI_FIRMWARE) ++ help ++ Enable Raspberry Pi firmware controller PWM bus used to control the ++ official RPI PoE hat ++ + config PWM_RCAR + tristate "Renesas R-Car PWM support" + depends on ARCH_RENESAS || COMPILE_TEST +--- a/drivers/pwm/Makefile ++++ b/drivers/pwm/Makefile +@@ -35,6 +35,7 @@ obj-$(CONFIG_PWM_MXS) += pwm-mxs.o + obj-$(CONFIG_PWM_OMAP_DMTIMER) += pwm-omap-dmtimer.o + obj-$(CONFIG_PWM_PCA9685) += pwm-pca9685.o + obj-$(CONFIG_PWM_PXA) += pwm-pxa.o ++obj-$(CONFIG_PWM_RASPBERRYPI_POE) += pwm-raspberrypi-poe.o + obj-$(CONFIG_PWM_RCAR) += pwm-rcar.o + obj-$(CONFIG_PWM_RENESAS_TPU) += pwm-renesas-tpu.o + obj-$(CONFIG_PWM_ROCKCHIP) += pwm-rockchip.o +--- /dev/null ++++ b/drivers/pwm/pwm-raspberrypi-poe.c +@@ -0,0 +1,216 @@ ++// SPDX-License-Identifier: GPL-2.0 ++/* ++ * Copyright 2020 Nicolas Saenz Julienne <nsaenzjulie...@suse.de> ++ * For more information on Raspberry Pi's PoE hat see: ++ * https://www.raspberrypi.org/products/poe-hat/ ++ * ++ * Limitations: ++ * - No disable bit, so a disabled PWM is simulated by duty_cycle 0 ++ * - Only normal polarity ++ * - Fixed 12.5 kHz period ++ * ++ * The current period is completed when HW is reconfigured. ++ */ ++ ++#include <linux/module.h> ++#include <linux/of.h> ++#include <linux/platform_device.h> ++#include <linux/pwm.h> ++ ++#include <soc/bcm2835/raspberrypi-firmware.h> ++#include <dt-bindings/pwm/raspberrypi,firmware-poe-pwm.h> ++ ++#define RPI_PWM_MAX_DUTY 255 ++#define RPI_PWM_PERIOD_NS 80000 /* 12.5 kHz */ ++ ++#define RPI_PWM_CUR_DUTY_REG 0x0 ++#define RPI_PWM_DEF_DUTY_REG 0x1 ++ ++struct raspberrypi_pwm { ++ struct rpi_firmware *firmware; ++ struct pwm_chip chip; ++ unsigned int duty_cycle; ++}; ++ ++struct raspberrypi_pwm_prop { ++ __le32 reg; ++ __le32 val; ++ __le32 ret; ++} __packed; ++ ++static inline struct raspberrypi_pwm *to_raspberrypi_pwm(struct pwm_chip *chip) ++{ ++ return container_of(chip, struct raspberrypi_pwm, chip); ++} ++ ++static int raspberrypi_pwm_set_property(struct rpi_firmware *firmware, ++ u32 reg, u32 val) ++{ ++ struct raspberrypi_pwm_prop msg = { ++ .reg = cpu_to_le32(reg), ++ .val = cpu_to_le32(val), ++ }; ++ int ret; ++ ++ ret = rpi_firmware_property(firmware, RPI_FIRMWARE_SET_POE_HAT_VAL, ++ &msg, sizeof(msg)); ++ if (ret) ++ return ret; ++ if (msg.ret) ++ return -EIO; ++ ++ return 0; ++} ++ ++static int raspberrypi_pwm_get_property(struct rpi_firmware *firmware, ++ u32 reg, u32 *val) ++{ ++ struct raspberrypi_pwm_prop msg = { ++ .reg = reg ++ }; ++ int ret; ++ ++ ret = rpi_firmware_property(firmware, RPI_FIRMWARE_GET_POE_HAT_VAL, ++ &msg, sizeof(msg)); ++ if (ret) ++ return ret; ++ if (msg.ret) ++ return -EIO; ++ ++ *val = le32_to_cpu(msg.val); ++ ++ return 0; ++} ++ ++static void raspberrypi_pwm_get_state(struct pwm_chip *chip, ++ struct pwm_device *pwm, ++ struct pwm_state *state) ++{ ++ struct raspberrypi_pwm *rpipwm = to_raspberrypi_pwm(chip); ++ ++ state->period = RPI_PWM_PERIOD_NS; ++ state->duty_cycle = DIV_ROUND_CLOSEST(rpipwm->duty_cycle * RPI_PWM_PERIOD_NS, ++ RPI_PWM_MAX_DUTY); ++ state->enabled = !!(rpipwm->duty_cycle); ++ state->polarity = PWM_POLARITY_NORMAL; ++} ++ ++static int raspberrypi_pwm_apply(struct pwm_chip *chip, struct pwm_device *pwm, ++ const struct pwm_state *state) ++{ ++ struct raspberrypi_pwm *rpipwm = to_raspberrypi_pwm(chip); ++ unsigned int duty_cycle; ++ int ret; ++ ++ if (state->period < RPI_PWM_PERIOD_NS || ++ state->polarity != PWM_POLARITY_NORMAL) ++ return -EINVAL; ++ ++ if (!state->enabled) ++ duty_cycle = 0; ++ else if (state->duty_cycle < RPI_PWM_PERIOD_NS) ++ duty_cycle = DIV_ROUND_CLOSEST_ULL(state->duty_cycle * RPI_PWM_MAX_DUTY, ++ RPI_PWM_PERIOD_NS); ++ else ++ duty_cycle = RPI_PWM_MAX_DUTY; ++ ++ if (duty_cycle == rpipwm->duty_cycle) ++ return 0; ++ ++ ret = raspberrypi_pwm_set_property(rpipwm->firmware, RPI_PWM_CUR_DUTY_REG, ++ duty_cycle); ++ if (ret) { ++ dev_err(chip->dev, "Failed to set duty cycle: %d\n", ret); ++ return ret; ++ } ++ ++ /* ++ * This sets the default duty cycle after resetting the board, we ++ * updated it every time to mimic Raspberry Pi's downstream's driver ++ * behaviour. ++ */ ++ ret = raspberrypi_pwm_set_property(rpipwm->firmware, RPI_PWM_DEF_DUTY_REG, ++ duty_cycle); ++ if (ret) { ++ dev_err(chip->dev, "Failed to set default duty cycle: %d\n", ret); ++ return ret; ++ } ++ ++ rpipwm->duty_cycle = duty_cycle; ++ ++ return 0; ++} ++ ++static const struct pwm_ops raspberrypi_pwm_ops = { ++ .get_state = raspberrypi_pwm_get_state, ++ .apply = raspberrypi_pwm_apply, ++ .owner = THIS_MODULE, ++}; ++ ++static int raspberrypi_pwm_probe(struct platform_device *pdev) ++{ ++ struct device_node *firmware_node; ++ struct device *dev = &pdev->dev; ++ struct rpi_firmware *firmware; ++ struct raspberrypi_pwm *rpipwm; ++ int ret; ++ ++ firmware_node = of_get_parent(dev->of_node); ++ if (!firmware_node) { ++ dev_err(dev, "Missing firmware node\n"); ++ return -ENOENT; ++ } ++ ++ firmware = devm_rpi_firmware_get(&pdev->dev, firmware_node); ++ of_node_put(firmware_node); ++ if (!firmware) ++ return -EPROBE_DEFER; ++ ++ rpipwm = devm_kzalloc(&pdev->dev, sizeof(*rpipwm), GFP_KERNEL); ++ if (!rpipwm) ++ return -ENOMEM; ++ ++ rpipwm->firmware = firmware; ++ rpipwm->chip.dev = dev; ++ rpipwm->chip.ops = &raspberrypi_pwm_ops; ++ rpipwm->chip.base = -1; ++ rpipwm->chip.npwm = RASPBERRYPI_FIRMWARE_PWM_NUM; ++ ++ platform_set_drvdata(pdev, rpipwm); ++ ++ ret = raspberrypi_pwm_get_property(rpipwm->firmware, RPI_PWM_CUR_DUTY_REG, ++ &rpipwm->duty_cycle); ++ if (ret) { ++ dev_err(dev, "Failed to get duty cycle: %d\n", ret); ++ return ret; ++ } ++ ++ return pwmchip_add(&rpipwm->chip); ++} ++ ++static int raspberrypi_pwm_remove(struct platform_device *pdev) ++{ ++ struct raspberrypi_pwm *rpipwm = platform_get_drvdata(pdev); ++ ++ return pwmchip_remove(&rpipwm->chip); ++} ++ ++static const struct of_device_id raspberrypi_pwm_of_match[] = { ++ { .compatible = "raspberrypi,firmware-poe-pwm", }, ++ { } ++}; ++MODULE_DEVICE_TABLE(of, raspberrypi_pwm_of_match); ++ ++static struct platform_driver raspberrypi_pwm_driver = { ++ .driver = { ++ .name = "raspberrypi-poe-pwm", ++ .of_match_table = raspberrypi_pwm_of_match, ++ }, ++ .probe = raspberrypi_pwm_probe, ++ .remove = raspberrypi_pwm_remove, ++}; ++module_platform_driver(raspberrypi_pwm_driver); ++ ++MODULE_AUTHOR("Nicolas Saenz Julienne <nsaenzjulie...@suse.de>"); ++MODULE_DESCRIPTION("Raspberry Pi Firwmare Based PWM Bus Driver"); ++MODULE_LICENSE("GPL v2"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/soc-bcm-raspberrypi-power-release-firmware-handle-on-unbind.patch new/patches.suse/soc-bcm-raspberrypi-power-release-firmware-handle-on-unbind.patch --- old/patches.suse/soc-bcm-raspberrypi-power-release-firmware-handle-on-unbind.patch 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.suse/soc-bcm-raspberrypi-power-release-firmware-handle-on-unbind.patch 2020-12-02 10:24:35.000000000 +0100 @@ -0,0 +1,33 @@ +From: Nicolas Saenz Julienne <nsaenzjulie...@suse.de> +Date: Wed, 21 Oct 2020 18:38:51 +0200 +Subject: soc: bcm: raspberrypi-power: Release firmware handle on unbind +Patch-mainline: Submitted, https://lore.kernel.org/linux-clk/20201123183833.18750-1-nsaenzjulie...@suse.de/ +References: jsc#SLE-16543 + +Use devm_rpi_firmware_get() so as to make sure we release RPi's firmware +interface when unbinding the device. + +Signed-off-by: Nicolas Saenz Julienne <nsaenzjulie...@suse.de> + +--- + +Changes since v2: + - Use devm_rpi_firmware_get(), instead of remove function +--- + drivers/soc/bcm/raspberrypi-power.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/soc/bcm/raspberrypi-power.c b/drivers/soc/bcm/raspberrypi-power.c +index 5d1aacdd84ef..068715d6e66d 100644 +--- a/drivers/soc/bcm/raspberrypi-power.c ++++ b/drivers/soc/bcm/raspberrypi-power.c +@@ -177,7 +177,7 @@ static int rpi_power_probe(struct platform_device *pdev) + return -ENODEV; + } + +- rpi_domains->fw = rpi_firmware_get(fw_np); ++ rpi_domains->fw = devm_rpi_firmware_get(&pdev->dev, fw_np); + of_node_put(fw_np); + if (!rpi_domains->fw) + return -EPROBE_DEFER; + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/spi-bcm2835aux-Restore-err-assignment-in-bcm2835aux_.patch new/patches.suse/spi-bcm2835aux-Restore-err-assignment-in-bcm2835aux_.patch --- old/patches.suse/spi-bcm2835aux-Restore-err-assignment-in-bcm2835aux_.patch 2020-11-25 06:49:27.000000000 +0100 +++ new/patches.suse/spi-bcm2835aux-Restore-err-assignment-in-bcm2835aux_.patch 1970-01-01 01:00:00.000000000 +0100 @@ -1,49 +0,0 @@ -From: Nathan Chancellor <natechancel...@gmail.com> -Date: Fri, 13 Nov 2020 11:07:02 -0700 -Subject: spi: bcm2835aux: Restore err assignment in bcm2835aux_spi_probe -Git-commit: d853b3406903a7dc5b14eb5bada3e8cd677f66a2 -Patch-mainline: 5.10-rc5 -References: git-fixes - -Clang warns: - -drivers/spi/spi-bcm2835aux.c:532:50: warning: variable 'err' is -uninitialized when used here [-Wuninitialized] - dev_err(&pdev->dev, "could not get clk: %d\n", err); - ^~~ -./include/linux/dev_printk.h:112:32: note: expanded from macro 'dev_err' - _dev_err(dev, dev_fmt(fmt), ##__VA_ARGS__) - ^~~~~~~~~~~ -drivers/spi/spi-bcm2835aux.c:495:9: note: initialize the variable 'err' -to silence this warning - int err; - ^ - = 0 -1 warning generated. - -Restore the assignment so that the error value can be used in the -dev_err statement and there is no uninitialized memory being leaked. - -Fixes: e13ee6cc4781 ("spi: bcm2835aux: Fix use-after-free on unbind") -Link: https://github.com/ClangBuiltLinux/linux/issues/1199 -Signed-off-by: Nathan Chancellor <natechancel...@gmail.com> -Link: https://lore.kernel.org/r/20201113180701.455541-1-natechancel...@gmail.com -Signed-off-by: Mark Brown <broo...@kernel.org> -Signed-off-by: Jiri Slaby <jsl...@suse.cz> ---- - drivers/spi/spi-bcm2835aux.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - ---- a/drivers/spi/spi-bcm2835aux.c -+++ b/drivers/spi/spi-bcm2835aux.c -@@ -529,8 +529,9 @@ static int bcm2835aux_spi_probe(struct p - - bs->clk = devm_clk_get(&pdev->dev, NULL); - if (IS_ERR(bs->clk)) { -+ err = PTR_ERR(bs->clk); - dev_err(&pdev->dev, "could not get clk: %d\n", err); -- return PTR_ERR(bs->clk); -+ return err; - } - - bs->irq = platform_get_irq(pdev, 0); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/vchiq-release-firmware-handle-on-unbind.patch new/patches.suse/vchiq-release-firmware-handle-on-unbind.patch --- old/patches.suse/vchiq-release-firmware-handle-on-unbind.patch 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.suse/vchiq-release-firmware-handle-on-unbind.patch 2020-12-02 10:24:35.000000000 +0100 @@ -0,0 +1,33 @@ +From: Nicolas Saenz Julienne <nsaenzjulie...@suse.de> +Date: Wed, 21 Oct 2020 18:39:42 +0200 +Subject: staging: vchiq: Release firmware handle on unbind +Patch-mainline: Submitted, https://lore.kernel.org/linux-clk/20201123183833.18750-1-nsaenzjulie...@suse.de/ +References: jsc#SLE-16543 + +Use devm_rpi_firmware_get() so as to make sure we release RPi's firmware +interface when unbinding the device. + +Signed-off-by: Nicolas Saenz Julienne <nsaenzjulie...@suse.de> + +--- + +Changes since v2: + - Use devm_rpi_firmware_get(), instead of remove function +--- + drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c +index f500a7043805..6c196cade4a0 100644 +--- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c ++++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c +@@ -2732,7 +2732,7 @@ static int vchiq_probe(struct platform_device *pdev) + return -ENOENT; + } + +- drvdata->fw = rpi_firmware_get(fw_node); ++ drvdata->fw = devm_rpi_firmware_get(&pdev->dev, fw_node); + of_node_put(fw_node); + if (!drvdata->fw) + return -EPROBE_DEFER; + ++++++ series.conf ++++++ --- /var/tmp/diff_new_pack.HPgyPM/_old 2020-12-05 20:36:21.962659058 +0100 +++ /var/tmp/diff_new_pack.HPgyPM/_new 2020-12-05 20:36:21.962659058 +0100 @@ -1932,6 +1932,159 @@ patches.kernel.org/5.9.11-251-mm-memcg-slab-fix-root-memcg-vmstats.patch patches.kernel.org/5.9.11-252-mm-userfaultfd-do-not-access-vma-vm_mm-after-c.patch patches.kernel.org/5.9.11-253-Linux-5.9.11.patch + patches.kernel.org/5.9.12-001-io_uring-get-an-active-ref_node-from-files_dat.patch + patches.kernel.org/5.9.12-002-io_uring-order-refnode-recycling.patch + patches.kernel.org/5.9.12-003-spi-bcm-qspi-Fix-use-after-free-on-unbind.patch + patches.kernel.org/5.9.12-004-spi-bcm2835-Fix-use-after-free-on-unbind.patch + patches.kernel.org/5.9.12-005-ipv4-use-IS_ENABLED-instead-of-ifdef.patch + patches.kernel.org/5.9.12-006-IB-hfi1-Ensure-correct-mm-is-used-at-all-times.patch + patches.kernel.org/5.9.12-007-RDMA-i40iw-Address-an-mmap-handler-exploit-in-.patch + patches.kernel.org/5.9.12-008-btrfs-fix-missing-delalloc-new-bit-for-new-del.patch + patches.kernel.org/5.9.12-009-btrfs-tree-checker-add-missing-return-after-er.patch + patches.kernel.org/5.9.12-010-btrfs-tree-checker-add-missing-returns-after-d.patch + patches.kernel.org/5.9.12-011-btrfs-don-t-access-possibly-stale-fs_info-data.patch + patches.kernel.org/5.9.12-012-btrfs-fix-lockdep-splat-when-reading-qgroup-co.patch + patches.kernel.org/5.9.12-013-rtc-pcf2127-fix-a-bug-when-not-specify-interru.patch + patches.kernel.org/5.9.12-014-s390-fix-fpu-restore-in-entry.S.patch + patches.kernel.org/5.9.12-015-mm-fix-VM_BUG_ON-PageTail-and-BUG_ON-PageWrite.patch + patches.kernel.org/5.9.12-016-smb3-Call-cifs-reconnect-from-demultiplex-thre.patch + patches.kernel.org/5.9.12-017-smb3-Avoid-Mid-pending-list-corruption.patch + patches.kernel.org/5.9.12-018-smb3-Handle-error-case-during-offload-read-pat.patch + patches.kernel.org/5.9.12-019-cifs-fix-a-memleak-with-modefromsid.patch + patches.kernel.org/5.9.12-020-powerpc-64s-Fix-KVM-system-reset-handling-when.patch + patches.kernel.org/5.9.12-021-powerpc-64s-exception-KVM-Fix-for-host-DSI-bei.patch + patches.kernel.org/5.9.12-022-KVM-PPC-Book3S-HV-XIVE-Fix-possible-oops-when-.patch + patches.kernel.org/5.9.12-023-KVM-arm64-vgic-v3-Drop-the-reporting-of-GICR_T.patch + patches.kernel.org/5.9.12-024-KVM-x86-handle-lapic_in_kernel-case-in-kvm_cpu.patch + patches.kernel.org/5.9.12-025-KVM-x86-Fix-split-irqchip-vs-interrupt-injecti.patch + patches.kernel.org/5.9.12-026-iommu-vt-d-Don-t-read-VCCAP-register-unless-it.patch + patches.kernel.org/5.9.12-027-firmware-xilinx-Use-hash-table-for-api-feature.patch + patches.kernel.org/5.9.12-028-drm-amdgpu-fix-SI-UVD-firmware-validate-resume.patch + patches.kernel.org/5.9.12-029-io_uring-fix-ITER_BVEC-check.patch + patches.kernel.org/5.9.12-030-trace-fix-potenial-dangerous-pointer.patch + patches.kernel.org/5.9.12-031-arm64-tegra-Correct-the-UART-for-Jetson-Xavier.patch + patches.kernel.org/5.9.12-032-arm64-tegra-Fix-USB_VBUS_EN0-regulator-on-Jets.patch + patches.kernel.org/5.9.12-033-arm64-pgtable-Fix-pte_accessible.patch + patches.kernel.org/5.9.12-034-arm64-pgtable-Ensure-dirty-bit-is-preserved-ac.patch + patches.kernel.org/5.9.12-035-drm-amdgpu-fix-a-page-fault.patch + patches.kernel.org/5.9.12-036-drm-amdgpu-update-golden-setting-for-sienna_ci.patch + patches.kernel.org/5.9.12-037-drm-amd-amdgpu-fix-null-pointer-in-runtime-pm.patch + patches.kernel.org/5.9.12-038-drm-amd-display-Avoid-HDCP-initialization-in-d.patch + patches.kernel.org/5.9.12-039-HID-uclogic-Add-ID-for-Trust-Flex-Design-Table.patch + patches.kernel.org/5.9.12-040-HID-ite-Replace-ABS_MISC-120-121-events-with-t.patch + patches.kernel.org/5.9.12-041-HID-cypress-Support-Varmilo-Keyboards-media-ho.patch + patches.kernel.org/5.9.12-042-HID-add-support-for-Sega-Saturn.patch + patches.kernel.org/5.9.12-043-Input-i8042-allow-insmod-to-succeed-on-devices.patch + patches.kernel.org/5.9.12-044-HID-hid-sensor-hub-Fix-issue-with-devices-with.patch + patches.kernel.org/5.9.12-045-staging-ralink-gdma-fix-kconfig-dependency-bug.patch + patches.kernel.org/5.9.12-046-HID-add-HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE.patch + patches.kernel.org/5.9.12-047-dmaengine-xilinx_dma-use-readl_poll_timeout_at.patch + patches.kernel.org/5.9.12-048-x86-xen-don-t-unbind-uninitialized-lock_kicker.patch + patches.kernel.org/5.9.12-049-kunit-fix-display-of-failed-expectations-for-s.patch + patches.kernel.org/5.9.12-050-HID-logitech-hidpp-Add-HIDPP_CONSUMER_VENDOR_K.patch + patches.kernel.org/5.9.12-051-HID-Add-Logitech-Dinovo-Edge-battery-quirk.patch + patches.kernel.org/5.9.12-052-proc-don-t-allow-async-path-resolution-of-proc.patch + patches.kernel.org/5.9.12-053-nvme-free-sq-cq-dbbuf-pointers-when-dbbuf-set-.patch + patches.kernel.org/5.9.12-054-io_uring-handle-EOPNOTSUPP-on-path-resolution.patch + patches.kernel.org/5.9.12-055-net-stmmac-dwmac_lib-enlarge-dma-reset-timeout.patch + patches.kernel.org/5.9.12-056-vdpasim-fix-mac_pton-undefined-error.patch + patches.kernel.org/5.9.12-057-vhost-add-helper-to-check-if-a-vq-has-been-set.patch + patches.kernel.org/5.9.12-058-vhost-scsi-alloc-cmds-per-vq-instead-of-sessio.patch + patches.kernel.org/5.9.12-059-vhost-scsi-fix-cmd-completion-race.patch + patches.kernel.org/5.9.12-060-cpuidle-tegra-Annotate-tegra_pm_set_cpu_in_lp2.patch + patches.kernel.org/5.9.12-061-dmaengine-pl330-_prep_dma_memcpy-Fix-wrong-bur.patch + patches.kernel.org/5.9.12-062-scsi-libiscsi-Fix-NOP-race-condition.patch + patches.kernel.org/5.9.12-063-scsi-target-iscsi-Fix-cmd-abort-fabric-stop-ra.patch + patches.kernel.org/5.9.12-064-lockdep-Put-graph-lock-unlock-under-lock_recur.patch + patches.kernel.org/5.9.12-065-perf-x86-fix-sysfs-type-mismatches.patch + patches.kernel.org/5.9.12-066-xtensa-uaccess-Add-missing-__user-to-strncpy_f.patch + patches.kernel.org/5.9.12-067-x86-dumpstack-Do-not-try-to-access-user-space-.patch + patches.kernel.org/5.9.12-068-net-dsa-mv88e6xxx-Wait-for-EEPROM-done-after-H.patch + patches.kernel.org/5.9.12-069-bus-ti-sysc-Fix-reset-status-check-for-modules.patch + patches.kernel.org/5.9.12-070-bus-ti-sysc-Fix-bogus-resetdone-warning-on-ena.patch + patches.kernel.org/5.9.12-071-ARM-OMAP2-Manage-MPU-state-properly-for-omap_e.patch + patches.kernel.org/5.9.12-072-phy-tegra-xusb-Fix-dangling-pointer-on-probe-f.patch + patches.kernel.org/5.9.12-073-iwlwifi-mvm-use-the-HOT_SPOT_CMD-to-cancel-an-.patch + patches.kernel.org/5.9.12-074-iwlwifi-mvm-properly-cancel-a-session-protecti.patch + patches.kernel.org/5.9.12-075-iwlwifi-mvm-write-queue_sync_state-only-for-sy.patch + patches.kernel.org/5.9.12-076-KVM-s390-pv-Mark-mm-as-protected-after-the-set.patch + patches.kernel.org/5.9.12-077-KVM-s390-remove-diag318-reset-code.patch + patches.kernel.org/5.9.12-078-btrfs-qgroup-don-t-commit-transaction-when-we-.patch + patches.kernel.org/5.9.12-079-batman-adv-set-.owner-to-THIS_MODULE.patch + patches.kernel.org/5.9.12-080-usb-cdns3-gadget-fix-some-endian-issues.patch + patches.kernel.org/5.9.12-081-usb-cdns3-gadget-calculate-TD_SIZE-based-on-TD.patch + patches.kernel.org/5.9.12-082-phy-qualcomm-usb-Fix-SuperSpeed-PHY-OF-depende.patch + patches.kernel.org/5.9.12-083-phy-qualcomm-Fix-28-nm-Hi-Speed-USB-PHY-OF-dep.patch + patches.kernel.org/5.9.12-084-arch-pgtable-define-MAX_POSSIBLE_PHYSMEM_BITS-.patch + patches.kernel.org/5.9.12-085-bus-ti-sysc-suppress-err-msg-for-timers-used-a.patch + patches.kernel.org/5.9.12-086-ARM-dts-dra76x-m_can-fix-order-of-clocks.patch + patches.kernel.org/5.9.12-087-scsi-ufs-Fix-race-between-shutdown-and-runtime.patch + patches.kernel.org/5.9.12-088-bnxt_en-fix-error-return-code-in-bnxt_init_one.patch + patches.kernel.org/5.9.12-089-bnxt_en-fix-error-return-code-in-bnxt_init_boa.patch + patches.kernel.org/5.9.12-090-video-hyperv_fb-Fix-the-cache-type-when-mappin.patch + patches.kernel.org/5.9.12-091-bnxt_en-Release-PCI-regions-when-DMA-mask-setu.patch + patches.kernel.org/5.9.12-092-block-keyslot-manager-prevent-crash-when-num_s.patch + patches.kernel.org/5.9.12-093-cxgb4-fix-the-panic-caused-by-non-smac-rewrite.patch + patches.kernel.org/5.9.12-094-dpaa2-eth-select-XGMAC_MDIO-for-MDIO-bus-suppo.patch + patches.kernel.org/5.9.12-095-s390-qeth-make-af_iucv-TX-notification-call-mo.patch + patches.kernel.org/5.9.12-096-s390-qeth-fix-af_iucv-notification-race.patch + patches.kernel.org/5.9.12-097-s390-qeth-fix-tear-down-of-async-TX-buffers.patch + patches.kernel.org/5.9.12-098-drm-mediatek-dsi-Modify-horizontal-front-back-.patch + patches.kernel.org/5.9.12-099-bonding-wait-for-sysfs-kobject-destruction-bef.patch + patches.kernel.org/5.9.12-100-ibmvnic-fix-call_netdevice_notifiers-in-do_res.patch + patches.kernel.org/5.9.12-101-ibmvnic-notify-peers-when-failover-and-migrati.patch + patches.kernel.org/5.9.12-102-powerpc-64s-Fix-allnoconfig-build-since-uacces.patch + patches.kernel.org/5.9.12-103-iommu-Check-return-of-__iommu_attach_device.patch + patches.kernel.org/5.9.12-104-IB-mthca-fix-return-value-of-error-branch-in-m.patch + patches.kernel.org/5.9.12-105-i40e-Fix-removing-driver-while-bare-metal-VFs-.patch + patches.kernel.org/5.9.12-106-firmware-xilinx-Fix-SD-DLL-node-reset-issue.patch + patches.kernel.org/5.9.12-107-spi-imx-fix-the-unbalanced-spi-runtime-pm-mana.patch + patches.kernel.org/5.9.12-108-io_uring-fix-shift-out-of-bounds-when-round-up.patch + patches.kernel.org/5.9.12-109-aquantia-Remove-the-build_skb-path.patch + patches.kernel.org/5.9.12-110-nfc-s3fwrn5-use-signed-integer-for-parsing-GPI.patch + patches.kernel.org/5.9.12-111-net-ena-handle-bad-request-id-in-ena_netdev.patch + patches.kernel.org/5.9.12-112-net-ena-set-initial-DMA-width-to-avoid-intel-i.patch + patches.kernel.org/5.9.12-113-net-ena-fix-packet-s-addresses-for-rx_offset-f.patch + patches.kernel.org/5.9.12-114-ibmvnic-fix-NULL-pointer-dereference-in-reset_.patch + patches.kernel.org/5.9.12-115-ibmvnic-fix-NULL-pointer-dereference-in-ibmvic.patch + patches.kernel.org/5.9.12-116-ibmvnic-enhance-resetting-status-check-during-.patch + patches.kernel.org/5.9.12-117-optee-add-writeback-to-valid-memory-type.patch + patches.kernel.org/5.9.12-118-x86-tboot-Don-t-disable-swiotlb-when-iommu-is-.patch + patches.kernel.org/5.9.12-119-arm64-tegra-Wrong-AON-HSP-reg-property-size.patch + patches.kernel.org/5.9.12-120-efi-efivars-Set-generic-ops-before-loading-SSD.patch + patches.kernel.org/5.9.12-121-efivarfs-revert-fix-memory-leak-in-efivarfs_cr.patch + patches.kernel.org/5.9.12-122-efi-EFI_EARLYCON-should-depend-on-EFI.patch + patches.kernel.org/5.9.12-123-riscv-Explicitly-specify-the-build-id-style-in.patch + patches.kernel.org/5.9.12-124-RISC-V-Add-missing-jump-label-initialization.patch + patches.kernel.org/5.9.12-125-RISC-V-fix-barrier-use-in-vdso-processor.h.patch + patches.kernel.org/5.9.12-126-net-stmmac-fix-incorrect-merge-of-patch-upstre.patch + patches.kernel.org/5.9.12-127-enetc-Let-the-hardware-auto-advance-the-taprio.patch + patches.kernel.org/5.9.12-128-ptp-clockmatrix-bug-fix-for-idtcm_strverscmp.patch + patches.kernel.org/5.9.12-129-drm-nouveau-fix-relocations-applying-logic-and.patch + patches.kernel.org/5.9.12-130-can-gs_usb-fix-endianess-problem-with-candleLi.patch + patches.kernel.org/5.9.12-131-platform-x86-thinkpad_acpi-Send-tablet-mode-sw.patch + patches.kernel.org/5.9.12-132-platform-x86-toshiba_acpi-Fix-the-wrong-variab.patch + patches.kernel.org/5.9.12-133-RDMA-hns-Fix-wrong-field-of-SRQ-number-the-dev.patch + patches.kernel.org/5.9.12-134-RDMA-hns-Fix-retry_cnt-and-rnr_cnt-when-queryi.patch + patches.kernel.org/5.9.12-135-RDMA-hns-Bugfix-for-memory-window-mtpt-configu.patch + patches.kernel.org/5.9.12-136-can-m_can-m_can_open-remove-IRQF_TRIGGER_FALLI.patch + patches.kernel.org/5.9.12-137-can-m_can-fix-nominal-bitiming-tseg2-min-for-v.patch + patches.kernel.org/5.9.12-138-perf-record-Synthesize-cgroup-events-only-if-n.patch + patches.kernel.org/5.9.12-139-perf-stat-Use-proper-cpu-for-shadow-stats.patch + patches.kernel.org/5.9.12-140-perf-probe-Fix-to-die_entrypc-returns-error-co.patch + patches.kernel.org/5.9.12-141-spi-bcm2835aux-Restore-err-assignment-in-bcm28.patch + patches.kernel.org/5.9.12-142-USB-core-Change-pK-for-__user-pointers-to-px.patch + patches.kernel.org/5.9.12-143-usb-gadget-f_midi-Fix-memleak-in-f_midi_alloc.patch + patches.kernel.org/5.9.12-144-USB-core-Fix-regression-in-Hercules-audio-card.patch + patches.kernel.org/5.9.12-145-USB-quirks-Add-USB_QUIRK_DISCONNECT_SUSPEND-qu.patch + patches.kernel.org/5.9.12-146-usb-gadget-Fix-memleak-in-gadgetfs_fill_super.patch + patches.kernel.org/5.9.12-147-irqchip-exiu-Fix-the-index-of-fwspec-for-IRQ-t.patch + patches.kernel.org/5.9.12-148-x86-mce-Do-not-overwrite-no_way_out-if-mce_end.patch + patches.kernel.org/5.9.12-149-x86-speculation-Fix-prctl-when-spectre_v2_user.patch + patches.kernel.org/5.9.12-150-x86-resctrl-Remove-superfluous-kernfs_get-call.patch + patches.kernel.org/5.9.12-151-x86-resctrl-Add-necessary-kernfs_put-calls-to-.patch + patches.kernel.org/5.9.12-152-drm-amdgpu-add-rlc-iram-and-dram-firmware-supp.patch + patches.kernel.org/5.9.12-153-Linux-5.9.12.patch ######################################################## # Build fixes that apply to the vanilla kernel too. @@ -1956,10 +2109,8 @@ # to area specific sections below. ######################################################## patches.suse/tipc-fix-a-deadlock-when-flushing-scheduled-work.patch - patches.suse/btrfs-qgroup-don-t-commit-transaction-when-we-have-a.patch patches.suse/arm64-kexec_file-Fix-sparse-warning.patch patches.suse/RDMA-srpt-Fix-typo-in-srpt_unregister_mad_agent-docs.patch - patches.suse/spi-bcm2835aux-Restore-err-assignment-in-bcm2835aux_.patch ######################################################## # kbuild/module infrastructure fixes @@ -2097,6 +2248,17 @@ ######################################################## # Other drivers ######################################################## + #RPi4 firmware based drivers + patches.suse/clk-bcm-rpi-release-firmware-handle-on-unbind.patch + patches.suse/firmware-raspberrypi-introduce-devm_rpi_firmware_get.patch + patches.suse/firmware-raspberrypi-keep-count-of-all-consumers.patch + patches.suse/gpio-raspberrypi-exp-release-firmware-handle-on-unbind.patch + patches.suse/input-raspberrypi-ts-release-firmware-handle-when-not-needed.patch + patches.suse/pwm-add-raspberry-pi-firmware-based-pwm-bus.patch + patches.suse/soc-bcm-raspberrypi-power-release-firmware-handle-on-unbind.patch + patches.suse/vchiq-release-firmware-handle-on-unbind.patch + patches.suse/dt-bindings-pwm-add-binding-for-rpi-firmware-pwm-bus.patch + ######################################################## # Debugging ++++++ source-timestamp ++++++ --- /var/tmp/diff_new_pack.HPgyPM/_old 2020-12-05 20:36:21.998659095 +0100 +++ /var/tmp/diff_new_pack.HPgyPM/_new 2020-12-05 20:36:22.002659100 +0100 @@ -1,3 +1,3 @@ -2020-11-25 05:49:27 +0000 -GIT Revision: 91426efa17c9d25b4e397766a6ed536b4093c8f3 +2020-12-02 09:24:35 +0000 +GIT Revision: 46922da21ebc0021475dc0fa8ee5514f71ebce59 GIT Branch: stable ++++++ supported.conf ++++++ --- /var/tmp/diff_new_pack.HPgyPM/_old 2020-12-05 20:36:22.038659136 +0100 +++ /var/tmp/diff_new_pack.HPgyPM/_new 2020-12-05 20:36:22.038659136 +0100 @@ -2577,6 +2577,7 @@ drivers/ptp/ptp_kvm drivers/ptp/ptp_qoriq drivers/pwm/pwm-bcm2835 + drivers/pwm/pwm-raspberrypi-poe - drivers/pwm/* - drivers/rapidio/* - drivers/regulator/88pg86x _______________________________________________ openSUSE Commits mailing list -- commit@lists.opensuse.org To unsubscribe, email commit-le...@lists.opensuse.org List Netiquette: https://en.opensuse.org/openSUSE:Mailing_list_netiquette List Archives: https://lists.opensuse.org/archives/list/commit@lists.opensuse.org