History log of /linux-6.15/rust/kernel/ (Results 101 – 125 of 474)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
7871c61220-Dec-2024 Jimmy Ostler <[email protected]>

rust: error: import `kernel`'s `LayoutError` instead of `core`'s

Import the internal (`kernel::alloc`) version of `LayoutError` instead
of the `core::alloc` one.

In particular, this results in swit

rust: error: import `kernel`'s `LayoutError` instead of `core`'s

Import the internal (`kernel::alloc`) version of `LayoutError` instead
of the `core::alloc` one.

In particular, this results in switching the type in the existing
`From<LayoutError> for Error` implementation.

Acked-by: Danilo Krummrich <[email protected]>
Signed-off-by: Jimmy Ostler <[email protected]>
Link: https://lore.kernel.org/r/fe58a02189e8804a9eabdd01cb1927d4c491d79c.1734674670.git.jtostler1@gmail.com
[ Reworded commit. - Miguel ]
Signed-off-by: Miguel Ojeda <[email protected]>

show more ...

b6357e2623-Nov-2024 Daniel Sedlak <[email protected]>

rust: str: replace unwraps with question mark operators

Simplify the error handling by replacing unwraps with the question
mark operator. Furthermore, unwraps can convey a wrong impression that
unwr

rust: str: replace unwraps with question mark operators

Simplify the error handling by replacing unwraps with the question
mark operator. Furthermore, unwraps can convey a wrong impression that
unwrapping is fine in general, thus this patch removes this unwrapping.

Suggested-by: Miguel Ojeda <[email protected]>
Link: https://lore.kernel.org/rust-for-linux/CANiq72nsK1D4NuQ1U7NqMWoYjXkqQSj4QuUEL98OmFbq022Z9A@mail.gmail.com/
Reviewed-by: Alice Ryhl <[email protected]>
Signed-off-by: Daniel Sedlak <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
[ Slightly reworded commit. - Miguel ]
Signed-off-by: Miguel Ojeda <[email protected]>

show more ...

57c1ccc723-Nov-2024 Daniel Sedlak <[email protected]>

rust: page: remove unnecessary helper function from doctest

Doctests in `page.rs` contained a helper function `dox` which acted
as a wrapper for using the `?` operator. However, this is not needed
b

rust: page: remove unnecessary helper function from doctest

Doctests in `page.rs` contained a helper function `dox` which acted
as a wrapper for using the `?` operator. However, this is not needed
because doctests are implicitly wrapped in function see [1].

Link: https://doc.rust-lang.org/rustdoc/write-documentation/documentation-tests.html#using--in-doc-tests [1]
Suggested-by: Dirk Behme <[email protected]>
Suggested-by: Miguel Ojeda <[email protected]>
Link: https://lore.kernel.org/rust-for-linux/[email protected]/
Reviewed-by: Alice Ryhl <[email protected]>
Reviewed-by: Tamir Duberstein <[email protected]>
Signed-off-by: Daniel Sedlak <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
[ Fixed typo in SoB. Slightly reworded commit. - Miguel ]
Signed-off-by: Miguel Ojeda <[email protected]>

show more ...

3a51854423-Nov-2024 Daniel Sedlak <[email protected]>

rust: rbtree: remove unwrap in asserts

Remove `unwrap` in asserts and replace it with `Option::Some`
matching. By doing it this way, the examples are more
descriptive, so it disambiguates the return

rust: rbtree: remove unwrap in asserts

Remove `unwrap` in asserts and replace it with `Option::Some`
matching. By doing it this way, the examples are more
descriptive, so it disambiguates the return type of
the `get(...)` and `next(...)`, because the `unwrap(...)`
can also be called on `Result`.

Signed-off-by: Daniel Sedlak <[email protected]>
Reviewed-by: Alice Ryhl <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
[ Reworded title slightly. - Miguel ]
Signed-off-by: Miguel Ojeda <[email protected]>

show more ...

7eeb0e7a23-Nov-2024 Daniel Sedlak <[email protected]>

rust: init: replace unwraps with question mark operators

Use `?` operator in the doctests. Since it is in the examples,
using unwraps can convey a wrong impression that unwrapping is
fine in general

rust: init: replace unwraps with question mark operators

Use `?` operator in the doctests. Since it is in the examples,
using unwraps can convey a wrong impression that unwrapping is
fine in general, thus this patch removes this unwrapping.

Suggested-by: Miguel Ojeda <[email protected]>
Link: https://lore.kernel.org/rust-for-linux/CANiq72nsK1D4NuQ1U7NqMWoYjXkqQSj4QuUEL98OmFbq022Z9A@mail.gmail.com/
Signed-off-by: Daniel Sedlak <[email protected]>
Reviewed-by: Alice Ryhl <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
[ Reworded commit slightly. - Miguel ]
Signed-off-by: Miguel Ojeda <[email protected]>

show more ...

8ff6566407-Jan-2025 Danilo Krummrich <[email protected]>

rust: devres: remove action in `Devres::drop`

So far `DevresInner` is kept alive, even if `Devres` is dropped until
the devres callback is executed to avoid a WARN() when the action has
been release

rust: devres: remove action in `Devres::drop`

So far `DevresInner` is kept alive, even if `Devres` is dropped until
the devres callback is executed to avoid a WARN() when the action has
been released already.

With the introduction of devm_remove_action_nowarn() we can remove the
action in `Devres::drop`, handle the case where the action has been
released already and hence also free `DevresInner`.

Signed-off-by: Danilo Krummrich <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>

show more ...

bf2aa7df10-Jan-2025 Alice Ryhl <[email protected]>

miscdevice: rust: use build_error! macro instead of function

The function called build_error is an implementation detail of the macro
of the same name. Thus, update miscdevice to use the macro rathe

miscdevice: rust: use build_error! macro instead of function

The function called build_error is an implementation detail of the macro
of the same name. Thus, update miscdevice to use the macro rather than
the function. See [1] for more information on this.

These use the macro with the kernel:: prefix as it has not yet been
added to the prelude.

Reported-by: Stephen Rothwell <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Link: https://lore.kernel.org/all/[email protected]/ [1]
Signed-off-by: Alice Ryhl <[email protected]>
Acked-by: Miguel Ojeda <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>

show more ...

4401565f23-Nov-2024 Miguel Ojeda <[email protected]>

rust: add `build_error!` to the prelude

The sibling `build_assert!` is already in the prelude, it makes sense
that a "core"/"language" facility like this is part of the prelude and
users should not

rust: add `build_error!` to the prelude

The sibling `build_assert!` is already in the prelude, it makes sense
that a "core"/"language" facility like this is part of the prelude and
users should not be defining their own one (thus there should be no risk
of future name collisions and we would want to be aware of them anyway).

Thus add `build_error!` into the prelude.

Reviewed-by: Alice Ryhl <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
[ Applied the change to the new miscdevice cases. - Miguel ]
Signed-off-by: Miguel Ojeda <[email protected]>

show more ...

614724e723-Nov-2024 Miguel Ojeda <[email protected]>

rust: kernel: move `build_error` hidden function to prevent mistakes

Users were using the hidden exported `kernel::build_error` function
instead of the intended `kernel::build_error!` macro, e.g. se

rust: kernel: move `build_error` hidden function to prevent mistakes

Users were using the hidden exported `kernel::build_error` function
instead of the intended `kernel::build_error!` macro, e.g. see the
previous commit.

To force to use the macro, move it into the `build_assert` module,
thus making it a compilation error and avoiding a collision in the same
"namespace". Using the function now would require typing the module name
(which is hidden), not just a single character.

Now attempting to use the function will trigger this error with the
right suggestion by the compiler:

error[E0423]: expected function, found macro `kernel::build_error`
--> samples/rust/rust_minimal.rs:29:9
|
29 | kernel::build_error();
| ^^^^^^^^^^^^^^^^^^^ not a function
|
help: use `!` to invoke the macro
|
29 | kernel::build_error!();
| +

An alternative would be using an alias, but it would be more complex
and moving it into the module seems right since it belongs there and
reduces the amount of code at the crate root.

Keep the `#[doc(hidden)]` inside `build_assert` in case the module is
not hidden in the future.

Reviewed-by: Alice Ryhl <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Miguel Ojeda <[email protected]>

show more ...

15f2f93123-Nov-2024 Miguel Ojeda <[email protected]>

rust: use the `build_error!` macro, not the hidden function

Code and some examples were using the function, rather than the macro. The
macro is what is documented.

Thus move users to the macro.

Re

rust: use the `build_error!` macro, not the hidden function

Code and some examples were using the function, rather than the macro. The
macro is what is documented.

Thus move users to the macro.

Reviewed-by: Alice Ryhl <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
[ Applied the change to the new miscdevice cases. - Miguel ]
Signed-off-by: Miguel Ojeda <[email protected]>

show more ...

2a87f8b023-Nov-2024 Miguel Ojeda <[email protected]>

rust: kbuild: run Clippy for `rusttest` code

Running Clippy for `rusttest` code is useful to catch issues there too,
even if the code is not as critical. In the future, this code may also
run in ker

rust: kbuild: run Clippy for `rusttest` code

Running Clippy for `rusttest` code is useful to catch issues there too,
even if the code is not as critical. In the future, this code may also
run in kernelspace and could be copy-pasted. Thus it is useful to keep
it under the same standards. For instance, it will now make us add
`// SAFETY` comments.

It also makes everything more consistent.

Thus clean the few issues spotted by Clippy and start running it.

Reviewed-by: Alice Ryhl <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Miguel Ojeda <[email protected]>

show more ...

e1a51c2b03-Jan-2025 Danilo Krummrich <[email protected]>

rust: driver: address soundness issue in `RegistrationOps`

The `RegistrationOps` trait holds some obligations to the caller and
implementers. While being documented, the trait and the corresponding

rust: driver: address soundness issue in `RegistrationOps`

The `RegistrationOps` trait holds some obligations to the caller and
implementers. While being documented, the trait and the corresponding
functions haven't been marked as unsafe.

Hence, markt the trait and functions unsafe and add the corresponding
safety comments.

This patch does not include any fuctional changes.

Reported-by: Gary Guo <[email protected]>
Closes: https://lore.kernel.org/rust-for-linux/[email protected]/
Signed-off-by: Danilo Krummrich <[email protected]>
Reviewed-by: Gary Guo <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>

show more ...

9b88018903-Jan-2025 Danilo Krummrich <[email protected]>

rust: io: move module entry to its correct location

The module entry of `io` falsely ended up in the "use" block instead of
the "mod" block, hence move it to its correct location.

Signed-off-by: Da

rust: io: move module entry to its correct location

The module entry of `io` falsely ended up in the "use" block instead of
the "mod" block, hence move it to its correct location.

Signed-off-by: Danilo Krummrich <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>

show more ...

7e16820f03-Jan-2025 Danilo Krummrich <[email protected]>

rust: pci: do not depend on CONFIG_PCI_MSI

The PCI abstractions do not actually depend on CONFIG_PCI_MSI; it also
breaks drivers that only depend on CONFIG_PCI, hence drop it.

While at it, move the

rust: pci: do not depend on CONFIG_PCI_MSI

The PCI abstractions do not actually depend on CONFIG_PCI_MSI; it also
breaks drivers that only depend on CONFIG_PCI, hence drop it.

While at it, move the module entry to its correct location.

Reported-by: kernel test robot <[email protected]>
Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/
Fixes: 1bd8b6b2c5d3 ("rust: pci: add basic PCI device / driver abstractions")
Signed-off-by: Danilo Krummrich <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>

show more ...


/linux-6.15/MAINTAINERS
/linux-6.15/arch/sparc/kernel/vio.c
/linux-6.15/drivers/base/core.c
/linux-6.15/drivers/base/test/Kconfig
/linux-6.15/drivers/base/test/platform-device-test.c
/linux-6.15/drivers/block/sunvdc.c
/linux-6.15/drivers/bus/fsl-mc/dprc-driver.c
/linux-6.15/drivers/cxl/core/pci.c
/linux-6.15/drivers/cxl/core/pmem.c
/linux-6.15/drivers/cxl/core/region.c
/linux-6.15/drivers/cxl/cxl.h
/linux-6.15/drivers/firewire/core-device.c
/linux-6.15/drivers/firmware/arm_scmi/bus.c
/linux-6.15/drivers/firmware/efi/dev-path-parser.c
/linux-6.15/drivers/gpio/gpio-sim.c
/linux-6.15/drivers/gpu/drm/mediatek/mtk_drm_drv.c
/linux-6.15/drivers/hwmon/hwmon.c
/linux-6.15/drivers/media/pci/mgb4/mgb4_core.c
/linux-6.15/drivers/nvdimm/bus.c
/linux-6.15/drivers/nvdimm/claim.c
/linux-6.15/drivers/of/unittest-data/tests-platform.dtsi
/linux-6.15/drivers/pwm/core.c
/linux-6.15/drivers/rpmsg/rpmsg_core.c
/linux-6.15/drivers/scsi/qla4xxx/ql4_os.c
/linux-6.15/drivers/scsi/scsi_transport_iscsi.c
/linux-6.15/drivers/slimbus/core.c
/linux-6.15/drivers/thunderbolt/retimer.c
/linux-6.15/drivers/thunderbolt/xdomain.c
/linux-6.15/drivers/tty/serial/serial_core.c
/linux-6.15/drivers/usb/typec/class.c
/linux-6.15/include/kunit/platform_device.h
/linux-6.15/include/linux/device.h
/linux-6.15/include/linux/device/bus.h
/linux-6.15/include/scsi/scsi_transport_iscsi.h
/linux-6.15/kernel/kheaders.c
/linux-6.15/net/dsa/dsa.c
lib.rs
/linux-6.15/samples/rust/Kconfig
/linux-6.15/samples/rust/Makefile
/linux-6.15/samples/rust/rust_driver_platform.rs
/linux-6.15/tools/testing/cxl/test/cxl.c
31d813a320-Dec-2024 Andreas Hindborg <[email protected]>

rust: block: fix use of BLK_MQ_F_SHOULD_MERGE

BLK_MQ_F_SHOULD_MERGE has was removed [1] and is now in effect by default.
So remove the flag from tag sets of Rust block device drivers.

Link: https:/

rust: block: fix use of BLK_MQ_F_SHOULD_MERGE

BLK_MQ_F_SHOULD_MERGE has was removed [1] and is now in effect by default.
So remove the flag from tag sets of Rust block device drivers.

Link: https://lore.kernel.org/r/[email protected] [1]
Fixes: 9377b95cda73 ("block: remove BLK_MQ_F_SHOULD_MERGE")
Signed-off-by: Andreas Hindborg <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Jens Axboe <[email protected]>

show more ...


/linux-6.15/.mailmap
/linux-6.15/Documentation/admin-guide/pm/amd-pstate.rst
/linux-6.15/Documentation/devicetree/bindings/crypto/fsl,sec-v4.0.yaml
/linux-6.15/Documentation/devicetree/bindings/mtd/partitions/fixed-partitions.yaml
/linux-6.15/Documentation/devicetree/bindings/phy/fsl,imx8mq-usb-phy.yaml
/linux-6.15/Documentation/devicetree/bindings/regulator/qcom,qca6390-pmu.yaml
/linux-6.15/Documentation/devicetree/bindings/soc/fsl/fsl,qman-portal.yaml
/linux-6.15/Documentation/mm/process_addrs.rst
/linux-6.15/Documentation/power/runtime_pm.rst
/linux-6.15/MAINTAINERS
/linux-6.15/Makefile
/linux-6.15/arch/arc/Kconfig
/linux-6.15/arch/arc/Makefile
/linux-6.15/arch/arc/boot/dts/axc001.dtsi
/linux-6.15/arch/arc/boot/dts/axc003.dtsi
/linux-6.15/arch/arc/boot/dts/axc003_idu.dtsi
/linux-6.15/arch/arc/boot/dts/axs10x_mb.dtsi
/linux-6.15/arch/arc/boot/dts/hsdk.dts
/linux-6.15/arch/arc/include/asm/arcregs.h
/linux-6.15/arch/arc/include/asm/cachetype.h
/linux-6.15/arch/arc/include/asm/cmpxchg.h
/linux-6.15/arch/arc/include/asm/mmu-arcv2.h
/linux-6.15/arch/arc/net/bpf_jit_arcv2.c
/linux-6.15/arch/arm64/boot/dts/arm/fvp-base-revc.dts
/linux-6.15/arch/arm64/boot/dts/broadcom/bcm2712.dtsi
/linux-6.15/arch/arm64/include/asm/el2_setup.h
/linux-6.15/arch/arm64/kernel/hyp-stub.S
/linux-6.15/arch/arm64/kernel/signal.c
/linux-6.15/arch/arm64/kernel/stacktrace.c
/linux-6.15/arch/arm64/kvm/at.c
/linux-6.15/arch/arm64/kvm/hyp/nvhe/pkvm.c
/linux-6.15/arch/arm64/kvm/sys_regs.c
/linux-6.15/arch/arm64/kvm/vgic/vgic-its.c
/linux-6.15/arch/hexagon/Makefile
/linux-6.15/arch/openrisc/kernel/entry.S
/linux-6.15/arch/openrisc/kernel/head.S
/linux-6.15/arch/openrisc/kernel/vmlinux.lds.S
/linux-6.15/arch/powerpc/configs/pmac32_defconfig
/linux-6.15/arch/powerpc/configs/ppc6xx_defconfig
/linux-6.15/arch/riscv/include/asm/kfence.h
/linux-6.15/arch/riscv/kernel/jump_label.c
/linux-6.15/arch/riscv/kernel/setup.c
/linux-6.15/arch/riscv/kvm/aia.c
/linux-6.15/arch/riscv/mm/init.c
/linux-6.15/arch/s390/boot/startup.c
/linux-6.15/arch/s390/boot/vmem.c
/linux-6.15/arch/s390/kernel/ipl.c
/linux-6.15/arch/um/drivers/ubd_kern.c
/linux-6.15/arch/x86/include/asm/cpufeatures.h
/linux-6.15/arch/x86/include/asm/processor.h
/linux-6.15/arch/x86/include/asm/static_call.h
/linux-6.15/arch/x86/include/asm/sync_core.h
/linux-6.15/arch/x86/include/asm/xen/hypercall.h
/linux-6.15/arch/x86/kernel/callthunks.c
/linux-6.15/arch/x86/kernel/cpu/common.c
/linux-6.15/arch/x86/kernel/cpu/mshyperv.c
/linux-6.15/arch/x86/kernel/static_call.c
/linux-6.15/arch/x86/kernel/vmlinux.lds.S
/linux-6.15/arch/x86/kvm/cpuid.c
/linux-6.15/arch/x86/kvm/cpuid.h
/linux-6.15/arch/x86/kvm/mmu/mmu.c
/linux-6.15/arch/x86/kvm/mmu/spte.h
/linux-6.15/arch/x86/kvm/mmu/tdp_mmu.c
/linux-6.15/arch/x86/kvm/svm/avic.c
/linux-6.15/arch/x86/kvm/svm/svm.c
/linux-6.15/arch/x86/kvm/vmx/posted_intr.h
/linux-6.15/arch/x86/kvm/x86.c
/linux-6.15/arch/x86/xen/enlighten.c
/linux-6.15/arch/x86/xen/enlighten_hvm.c
/linux-6.15/arch/x86/xen/enlighten_pv.c
/linux-6.15/arch/x86/xen/enlighten_pvh.c
/linux-6.15/arch/x86/xen/xen-asm.S
/linux-6.15/arch/x86/xen/xen-head.S
/linux-6.15/arch/x86/xen/xen-ops.h
/linux-6.15/block/Makefile
/linux-6.15/block/bdev.c
/linux-6.15/block/bio.c
/linux-6.15/block/blk-cgroup.c
/linux-6.15/block/blk-iocost.c
/linux-6.15/block/blk-map.c
/linux-6.15/block/blk-mq-cpumap.c
/linux-6.15/block/blk-mq-debugfs.c
/linux-6.15/block/blk-mq-sched.c
/linux-6.15/block/blk-mq.c
/linux-6.15/block/blk-sysfs.c
/linux-6.15/block/blk-zoned.c
/linux-6.15/block/blk.h
/linux-6.15/block/elevator.c
/linux-6.15/block/genhd.c
/linux-6.15/block/mq-deadline.c
/linux-6.15/crypto/rsassa-pkcs1.c
/linux-6.15/drivers/accel/ivpu/ivpu_gem.c
/linux-6.15/drivers/accel/ivpu/ivpu_mmu_context.c
/linux-6.15/drivers/accel/ivpu/ivpu_pm.c
/linux-6.15/drivers/acpi/Kconfig
/linux-6.15/drivers/acpi/acpica/evxfregn.c
/linux-6.15/drivers/acpi/nfit/core.c
/linux-6.15/drivers/acpi/resource.c
/linux-6.15/drivers/ata/sata_highbank.c
/linux-6.15/drivers/auxdisplay/Kconfig
/linux-6.15/drivers/block/amiflop.c
/linux-6.15/drivers/block/aoe/aoeblk.c
/linux-6.15/drivers/block/ataflop.c
/linux-6.15/drivers/block/floppy.c
/linux-6.15/drivers/block/loop.c
/linux-6.15/drivers/block/mtip32xx/mtip32xx.c
/linux-6.15/drivers/block/nbd.c
/linux-6.15/drivers/block/null_blk/main.c
/linux-6.15/drivers/block/null_blk/null_blk.h
/linux-6.15/drivers/block/ps3disk.c
/linux-6.15/drivers/block/rbd.c
/linux-6.15/drivers/block/rnbd/rnbd-clt.c
/linux-6.15/drivers/block/rnbd/rnbd-srv.c
/linux-6.15/drivers/block/rnull.rs
/linux-6.15/drivers/block/sunvdc.c
/linux-6.15/drivers/block/swim.c
/linux-6.15/drivers/block/swim3.c
/linux-6.15/drivers/block/ublk_drv.c
/linux-6.15/drivers/block/virtio_blk.c
/linux-6.15/drivers/block/xen-blkfront.c
/linux-6.15/drivers/block/z2ram.c
/linux-6.15/drivers/block/zram/zram_drv.c
/linux-6.15/drivers/cdrom/gdrom.c
/linux-6.15/drivers/clocksource/hyperv_timer.c
/linux-6.15/drivers/cpufreq/amd-pstate.c
/linux-6.15/drivers/crypto/hisilicon/debugfs.c
/linux-6.15/drivers/cxl/core/region.c
/linux-6.15/drivers/cxl/pci.c
/linux-6.15/drivers/dma-buf/dma-buf.c
/linux-6.15/drivers/dma-buf/udmabuf.c
/linux-6.15/drivers/edac/amd64_edac.c
/linux-6.15/drivers/firmware/arm_ffa/bus.c
/linux-6.15/drivers/firmware/arm_ffa/driver.c
/linux-6.15/drivers/firmware/arm_scmi/vendors/imx/Kconfig
/linux-6.15/drivers/firmware/efi/Kconfig
/linux-6.15/drivers/firmware/efi/esrt.c
/linux-6.15/drivers/firmware/efi/libstub/Makefile.zboot
/linux-6.15/drivers/firmware/imx/Kconfig
/linux-6.15/drivers/firmware/microchip/mpfs-auto-update.c
/linux-6.15/drivers/gpio/Kconfig
/linux-6.15/drivers/gpio/gpio-graniterapids.c
/linux-6.15/drivers/gpio/gpio-idio-16.c
/linux-6.15/drivers/gpio/gpio-ljca.c
/linux-6.15/drivers/gpu/drm/Kconfig
/linux-6.15/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
/linux-6.15/drivers/gpu/drm/amd/amdgpu/amdgpu_dev_coredump.c
/linux-6.15/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
/linux-6.15/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
/linux-6.15/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
/linux-6.15/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
/linux-6.15/drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c
/linux-6.15/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c
/linux-6.15/drivers/gpu/drm/amd/amdgpu/mmhub_v4_1_0.c
/linux-6.15/drivers/gpu/drm/amd/amdgpu/nbio_v7_0.c
/linux-6.15/drivers/gpu/drm/amd/amdgpu/nbio_v7_11.c
/linux-6.15/drivers/gpu/drm/amd/amdgpu/nbio_v7_7.c
/linux-6.15/drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c
/linux-6.15/drivers/gpu/drm/amd/amdkfd/kfd_crat.c
/linux-6.15/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
/linux-6.15/drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
/linux-6.15/drivers/gpu/drm/amd/amdkfd/kfd_process.c
/linux-6.15/drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c
/linux-6.15/drivers/gpu/drm/amd/include/kgd_pp_interface.h
/linux-6.15/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
/linux-6.15/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c
/linux-6.15/drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0_2_ppt.c
/linux-6.15/drivers/gpu/drm/display/drm_dp_tunnel.c
/linux-6.15/drivers/gpu/drm/drm_modes.c
/linux-6.15/drivers/gpu/drm/drm_panic_qr.rs
/linux-6.15/drivers/gpu/drm/i915/display/intel_color.c
/linux-6.15/drivers/gpu/drm/i915/display/intel_dsb.c
/linux-6.15/drivers/gpu/drm/i915/display/intel_dsb.h
/linux-6.15/drivers/gpu/drm/i915/gt/intel_engine_types.h
/linux-6.15/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
/linux-6.15/drivers/gpu/drm/i915/i915_gpu_error.c
/linux-6.15/drivers/gpu/drm/i915/i915_scheduler.c
/linux-6.15/drivers/gpu/drm/panel/panel-himax-hx83102.c
/linux-6.15/drivers/gpu/drm/panel/panel-novatek-nt35950.c
/linux-6.15/drivers/gpu/drm/panel/panel-sitronix-st7701.c
/linux-6.15/drivers/gpu/drm/panel/panel-synaptics-r63353.c
/linux-6.15/drivers/gpu/drm/scheduler/sched_main.c
/linux-6.15/drivers/gpu/drm/xe/tests/xe_migrate.c
/linux-6.15/drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c
/linux-6.15/drivers/gpu/drm/xe/xe_gt_tlb_invalidation.h
/linux-6.15/drivers/gpu/drm/xe/xe_pt.c
/linux-6.15/drivers/gpu/drm/xe/xe_reg_sr.c
/linux-6.15/drivers/gpu/drm/xe/xe_reg_sr_types.h
/linux-6.15/drivers/hv/hv_balloon.c
/linux-6.15/drivers/hv/hv_kvp.c
/linux-6.15/drivers/hv/hv_snapshot.c
/linux-6.15/drivers/hv/hv_util.c
/linux-6.15/drivers/hv/hyperv_vmbus.h
/linux-6.15/drivers/hv/vmbus_drv.c
/linux-6.15/drivers/hwmon/tmp513.c
/linux-6.15/drivers/i2c/busses/i2c-nomadik.c
/linux-6.15/drivers/i2c/busses/i2c-pnx.c
/linux-6.15/drivers/i2c/busses/i2c-riic.c
/linux-6.15/drivers/iommu/amd/iommu.c
/linux-6.15/drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c
/linux-6.15/drivers/iommu/intel/cache.c
/linux-6.15/drivers/iommu/intel/iommu.c
/linux-6.15/drivers/iommu/intel/pasid.c
/linux-6.15/drivers/irqchip/irq-gic-v3.c
/linux-6.15/drivers/irqchip/irq-gic.c
/linux-6.15/drivers/macintosh/Kconfig
/linux-6.15/drivers/md/bcache/movinggc.c
/linux-6.15/drivers/md/bcache/writeback.c
/linux-6.15/drivers/md/dm-rq.c
/linux-6.15/drivers/md/dm-verity-fec.c
/linux-6.15/drivers/md/dm-verity-target.c
/linux-6.15/drivers/md/dm-zoned-reclaim.c
/linux-6.15/drivers/media/dvb-frontends/dib3000mb.c
/linux-6.15/drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp9_req_lat_if.c
/linux-6.15/drivers/memstick/core/ms_block.c
/linux-6.15/drivers/memstick/core/mspro_block.c
/linux-6.15/drivers/mmc/core/queue.c
/linux-6.15/drivers/mmc/host/mtk-sd.c
/linux-6.15/drivers/mmc/host/sdhci-tegra.c
/linux-6.15/drivers/mtd/mtd_blkdevs.c
/linux-6.15/drivers/mtd/ubi/block.c
/linux-6.15/drivers/net/can/m_can/m_can.c
/linux-6.15/drivers/net/can/m_can/m_can.h
/linux-6.15/drivers/net/can/m_can/m_can_pci.c
/linux-6.15/drivers/net/ethernet/broadcom/bgmac-platform.c
/linux-6.15/drivers/net/ethernet/intel/idpf/idpf_dev.c
/linux-6.15/drivers/net/ethernet/intel/idpf/idpf_txrx.c
/linux-6.15/drivers/net/ethernet/intel/idpf/idpf_txrx.h
/linux-6.15/drivers/net/ethernet/intel/idpf/idpf_vf_dev.c
/linux-6.15/drivers/net/ethernet/marvell/octeontx2/nic/rep.c
/linux-6.15/drivers/net/ethernet/oa_tc6.c
/linux-6.15/drivers/net/ethernet/qlogic/qed/qed_mcp.c
/linux-6.15/drivers/net/mdio/fwnode_mdio.c
/linux-6.15/drivers/net/netdevsim/netdev.c
/linux-6.15/drivers/net/phy/aquantia/aquantia_leds.c
/linux-6.15/drivers/net/phy/intel-xway.c
/linux-6.15/drivers/net/phy/mxl-gpy.c
/linux-6.15/drivers/net/usb/qmi_wwan.c
/linux-6.15/drivers/net/xen-netfront.c
/linux-6.15/drivers/nvme/host/apple.c
/linux-6.15/drivers/nvme/host/core.c
/linux-6.15/drivers/nvme/host/fc.c
/linux-6.15/drivers/nvme/host/pci.c
/linux-6.15/drivers/of/address.c
/linux-6.15/drivers/of/base.c
/linux-6.15/drivers/of/empty_root.dts
/linux-6.15/drivers/of/irq.c
/linux-6.15/drivers/of/property.c
/linux-6.15/drivers/of/unittest-data/tests-address.dtsi
/linux-6.15/drivers/of/unittest.c
/linux-6.15/drivers/pci/pci-driver.c
/linux-6.15/drivers/pci/pci.c
/linux-6.15/drivers/pci/pcie/portdrv.c
/linux-6.15/drivers/platform/loongarch/Kconfig
/linux-6.15/drivers/platform/x86/dell/alienware-wmi.c
/linux-6.15/drivers/platform/x86/intel/ifs/core.c
/linux-6.15/drivers/platform/x86/intel/vsec.c
/linux-6.15/drivers/platform/x86/p2sb.c
/linux-6.15/drivers/platform/x86/touchscreen_dmi.c
/linux-6.15/drivers/pwm/pwm-stm32.c
/linux-6.15/drivers/regulator/axp20x-regulator.c
/linux-6.15/drivers/regulator/of_regulator.c
/linux-6.15/drivers/s390/block/dasd_genhd.c
/linux-6.15/drivers/s390/block/scm_blk.c
/linux-6.15/drivers/scsi/fnic/fnic_main.c
/linux-6.15/drivers/scsi/hisi_sas/hisi_sas.h
/linux-6.15/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
/linux-6.15/drivers/scsi/megaraid/megaraid_sas_base.c
/linux-6.15/drivers/scsi/mpi3mr/mpi3mr.h
/linux-6.15/drivers/scsi/mpi3mr/mpi3mr_os.c
/linux-6.15/drivers/scsi/mpt3sas/mpt3sas_scsih.c
/linux-6.15/drivers/scsi/pm8001/pm8001_init.c
/linux-6.15/drivers/scsi/pm8001/pm8001_sas.h
/linux-6.15/drivers/scsi/qla2xxx/qla_nvme.c
/linux-6.15/drivers/scsi/qla2xxx/qla_os.c
/linux-6.15/drivers/scsi/scsi_lib.c
/linux-6.15/drivers/scsi/smartpqi/smartpqi_init.c
/linux-6.15/drivers/scsi/virtio_scsi.c
/linux-6.15/drivers/spi/spi-aspeed-smc.c
/linux-6.15/drivers/spi/spi-cadence-quadspi.c
/linux-6.15/drivers/spi/spi-rockchip-sfc.c
/linux-6.15/drivers/spi/spi-rockchip.c
/linux-6.15/drivers/staging/fbtft/Kconfig
/linux-6.15/drivers/staging/gpib/Kconfig
/linux-6.15/drivers/staging/gpib/common/Makefile
/linux-6.15/drivers/staging/gpib/lpvo_usb_gpib/lpvo_usb_gpib.c
/linux-6.15/drivers/staging/gpib/nec7210/Makefile
/linux-6.15/drivers/thermal/thermal_thresholds.c
/linux-6.15/drivers/thunderbolt/nhi.c
/linux-6.15/drivers/thunderbolt/nhi.h
/linux-6.15/drivers/thunderbolt/retimer.c
/linux-6.15/drivers/thunderbolt/tb.c
/linux-6.15/drivers/tty/serial/8250/8250_port.c
/linux-6.15/drivers/tty/serial/sh-sci.c
/linux-6.15/drivers/ufs/core/ufshcd.c
/linux-6.15/drivers/usb/core/hcd.c
/linux-6.15/drivers/usb/dwc2/hcd.c
/linux-6.15/drivers/usb/dwc3/dwc3-imx8mp.c
/linux-6.15/drivers/usb/dwc3/dwc3-xilinx.c
/linux-6.15/drivers/usb/gadget/function/f_midi2.c
/linux-6.15/drivers/usb/gadget/function/u_serial.c
/linux-6.15/drivers/usb/host/ehci-sh.c
/linux-6.15/drivers/usb/host/max3421-hcd.c
/linux-6.15/drivers/usb/host/xhci-mem.c
/linux-6.15/drivers/usb/host/xhci-ring.c
/linux-6.15/drivers/usb/misc/onboard_usb_dev.c
/linux-6.15/drivers/usb/serial/option.c
/linux-6.15/drivers/usb/typec/anx7411.c
/linux-6.15/drivers/usb/typec/ucsi/ucsi.c
/linux-6.15/drivers/video/fbdev/Kconfig
/linux-6.15/drivers/video/fbdev/core/Kconfig
/linux-6.15/drivers/virtio/virtio.c
/linux-6.15/fs/bcachefs/move.c
/linux-6.15/fs/btrfs/bio.c
/linux-6.15/fs/btrfs/ctree.h
/linux-6.15/fs/btrfs/extent-tree.c
/linux-6.15/fs/btrfs/tree-checker.c
/linux-6.15/fs/ceph/file.c
/linux-6.15/fs/ceph/mds_client.c
/linux-6.15/fs/ceph/super.c
/linux-6.15/fs/efivarfs/inode.c
/linux-6.15/fs/efivarfs/internal.h
/linux-6.15/fs/efivarfs/super.c
/linux-6.15/fs/erofs/data.c
/linux-6.15/fs/erofs/fileio.c
/linux-6.15/fs/erofs/fscache.c
/linux-6.15/fs/erofs/internal.h
/linux-6.15/fs/erofs/super.c
/linux-6.15/fs/erofs/zdata.c
/linux-6.15/fs/erofs/zutil.c
/linux-6.15/fs/hugetlbfs/inode.c
/linux-6.15/fs/nfs/pnfs.c
/linux-6.15/fs/nfs/super.c
/linux-6.15/fs/nilfs2/btnode.c
/linux-6.15/fs/nilfs2/gcinode.c
/linux-6.15/fs/nilfs2/inode.c
/linux-6.15/fs/nilfs2/namei.c
/linux-6.15/fs/nilfs2/nilfs.h
/linux-6.15/fs/ocfs2/localalloc.c
/linux-6.15/fs/smb/client/Kconfig
/linux-6.15/fs/smb/client/cifsfs.c
/linux-6.15/fs/smb/client/connect.c
/linux-6.15/fs/smb/client/inode.c
/linux-6.15/fs/smb/client/reparse.c
/linux-6.15/fs/smb/client/sess.c
/linux-6.15/fs/smb/client/smb2pdu.c
/linux-6.15/fs/smb/server/auth.c
/linux-6.15/fs/smb/server/connection.c
/linux-6.15/fs/smb/server/connection.h
/linux-6.15/fs/smb/server/mgmt/user_session.c
/linux-6.15/fs/smb/server/server.c
/linux-6.15/fs/smb/server/server.h
/linux-6.15/fs/smb/server/smb2pdu.c
/linux-6.15/fs/smb/server/transport_ipc.c
/linux-6.15/fs/smb/server/vfs.h
/linux-6.15/fs/xfs/libxfs/xfs_btree.c
/linux-6.15/fs/xfs/libxfs/xfs_btree.h
/linux-6.15/fs/xfs/libxfs/xfs_ialloc_btree.c
/linux-6.15/fs/xfs/libxfs/xfs_rtgroup.c
/linux-6.15/fs/xfs/libxfs/xfs_sb.c
/linux-6.15/fs/xfs/libxfs/xfs_symlink_remote.c
/linux-6.15/fs/xfs/scrub/agheader.c
/linux-6.15/fs/xfs/scrub/agheader_repair.c
/linux-6.15/fs/xfs/scrub/fscounters.c
/linux-6.15/fs/xfs/scrub/health.c
/linux-6.15/fs/xfs/scrub/ialloc.c
/linux-6.15/fs/xfs/scrub/metapath.c
/linux-6.15/fs/xfs/scrub/refcount.c
/linux-6.15/fs/xfs/scrub/scrub.h
/linux-6.15/fs/xfs/scrub/symlink_repair.c
/linux-6.15/fs/xfs/scrub/tempfile.c
/linux-6.15/fs/xfs/scrub/trace.h
/linux-6.15/fs/xfs/xfs_bmap_util.c
/linux-6.15/fs/xfs/xfs_dquot.c
/linux-6.15/fs/xfs/xfs_dquot.h
/linux-6.15/fs/xfs/xfs_dquot_item.c
/linux-6.15/fs/xfs/xfs_dquot_item.h
/linux-6.15/fs/xfs/xfs_exchrange.c
/linux-6.15/fs/xfs/xfs_file.c
/linux-6.15/fs/xfs/xfs_fsmap.c
/linux-6.15/fs/xfs/xfs_inode.h
/linux-6.15/fs/xfs/xfs_qm.c
/linux-6.15/fs/xfs/xfs_qm.h
/linux-6.15/fs/xfs/xfs_quota.h
/linux-6.15/fs/xfs/xfs_rtalloc.c
/linux-6.15/fs/xfs/xfs_trans.c
/linux-6.15/fs/xfs/xfs_trans_ail.c
/linux-6.15/fs/xfs/xfs_trans_dquot.c
/linux-6.15/include/clocksource/hyperv_timer.h
/linux-6.15/include/linux/alloc_tag.h
/linux-6.15/include/linux/arm_ffa.h
/linux-6.15/include/linux/bio.h
/linux-6.15/include/linux/blk-mq.h
/linux-6.15/include/linux/blkdev.h
/linux-6.15/include/linux/bpf.h
/linux-6.15/include/linux/bpf_verifier.h
/linux-6.15/include/linux/cacheinfo.h
/linux-6.15/include/linux/compiler.h
/linux-6.15/include/linux/device/bus.h
/linux-6.15/include/linux/filter.h
/linux-6.15/include/linux/fortify-string.h
/linux-6.15/include/linux/highmem.h
/linux-6.15/include/linux/hyperv.h
/linux-6.15/include/linux/io_uring.h
/linux-6.15/include/linux/io_uring_types.h
/linux-6.15/include/linux/mm.h
/linux-6.15/include/linux/page-flags.h
/linux-6.15/include/linux/sched.h
/linux-6.15/include/linux/skmsg.h
/linux-6.15/include/linux/static_call.h
/linux-6.15/include/linux/trace_events.h
/linux-6.15/include/linux/vmstat.h
/linux-6.15/include/net/sock.h
/linux-6.15/include/soc/arc/arc_aux.h
/linux-6.15/include/soc/arc/mcip.h
/linux-6.15/include/soc/arc/timers.h
/linux-6.15/include/sound/cs35l56.h
/linux-6.15/include/uapi/linux/thermal.h
/linux-6.15/io_uring/io_uring.c
/linux-6.15/io_uring/register.c
/linux-6.15/io_uring/rsrc.c
/linux-6.15/io_uring/timeout.c
/linux-6.15/kernel/bpf/Makefile
/linux-6.15/kernel/bpf/btf.c
/linux-6.15/kernel/bpf/core.c
/linux-6.15/kernel/bpf/verifier.c
/linux-6.15/kernel/fork.c
/linux-6.15/kernel/sched/core.c
/linux-6.15/kernel/sched/deadline.c
/linux-6.15/kernel/sched/debug.c
/linux-6.15/kernel/sched/fair.c
/linux-6.15/kernel/sched/pelt.c
/linux-6.15/kernel/sched/sched.h
/linux-6.15/kernel/static_call_inline.c
/linux-6.15/kernel/trace/blktrace.c
/linux-6.15/kernel/trace/bpf_trace.c
/linux-6.15/kernel/trace/fgraph.c
/linux-6.15/kernel/trace/ring_buffer.c
/linux-6.15/kernel/trace/trace.c
/linux-6.15/kernel/trace/trace.h
/linux-6.15/kernel/trace/trace_events.c
/linux-6.15/kernel/trace/trace_functions.c
/linux-6.15/kernel/trace/trace_output.c
/linux-6.15/kernel/trace/trace_uprobe.c
/linux-6.15/lib/alloc_tag.c
/linux-6.15/mm/huge_memory.c
/linux-6.15/mm/hugetlb.c
/linux-6.15/mm/internal.h
/linux-6.15/mm/memory.c
/linux-6.15/mm/page_alloc.c
/linux-6.15/mm/pgtable-generic.c
/linux-6.15/mm/shmem.c
/linux-6.15/mm/slub.c
/linux-6.15/mm/vma.c
/linux-6.15/mm/vmalloc.c
/linux-6.15/net/ceph/osd_client.c
/linux-6.15/net/core/filter.c
/linux-6.15/net/core/netdev-genl.c
/linux-6.15/net/core/rtnetlink.c
/linux-6.15/net/core/skmsg.c
/linux-6.15/net/core/sock_map.c
/linux-6.15/net/dsa/tag.h
/linux-6.15/net/ipv4/tcp_bpf.c
/linux-6.15/net/mctp/route.c
/linux-6.15/net/mctp/test/route-test.c
/linux-6.15/net/netfilter/ipset/ip_set_list_set.c
/linux-6.15/net/netfilter/ipvs/ip_vs_conn.c
/linux-6.15/net/psample/psample.c
/linux-6.15/rust/Makefile
block/mq/tag_set.rs
/linux-6.15/scripts/head-object-list.txt
/linux-6.15/scripts/kernel-doc
/linux-6.15/scripts/mod/modpost.c
/linux-6.15/scripts/mod/modpost.h
/linux-6.15/scripts/package/builddeb
/linux-6.15/scripts/package/mkdebian
/linux-6.15/security/selinux/ss/services.c
/linux-6.15/sound/core/control_led.c
/linux-6.15/sound/pci/hda/cs35l56_hda.c
/linux-6.15/sound/pci/hda/patch_ca0132.c
/linux-6.15/sound/pci/hda/patch_realtek.c
/linux-6.15/sound/soc/amd/yc/acp6x-mach.c
/linux-6.15/sound/soc/codecs/tas2781-i2c.c
/linux-6.15/sound/soc/fsl/Kconfig
/linux-6.15/sound/soc/fsl/fsl_spdif.c
/linux-6.15/sound/soc/fsl/fsl_xcvr.c
/linux-6.15/sound/soc/generic/audio-graph-card2.c
/linux-6.15/sound/soc/intel/boards/sof_sdw.c
/linux-6.15/sound/usb/format.c
/linux-6.15/sound/usb/quirks.c
/linux-6.15/tools/arch/arm64/include/uapi/asm/kvm.h
/linux-6.15/tools/arch/x86/include/asm/cpufeatures.h
/linux-6.15/tools/arch/x86/include/uapi/asm/kvm.h
/linux-6.15/tools/hv/.gitignore
/linux-6.15/tools/hv/hv_fcopy_uio_daemon.c
/linux-6.15/tools/hv/hv_get_dns_info.sh
/linux-6.15/tools/hv/hv_kvp_daemon.c
/linux-6.15/tools/hv/hv_set_ifconfig.sh
/linux-6.15/tools/include/uapi/asm-generic/mman.h
/linux-6.15/tools/include/uapi/asm-generic/unistd.h
/linux-6.15/tools/include/uapi/drm/drm.h
/linux-6.15/tools/include/uapi/linux/kvm.h
/linux-6.15/tools/include/uapi/linux/perf_event.h
/linux-6.15/tools/lib/perf/evlist.c
/linux-6.15/tools/objtool/check.c
/linux-6.15/tools/perf/arch/mips/entry/syscalls/syscall_n64.tbl
/linux-6.15/tools/perf/arch/powerpc/entry/syscalls/syscall.tbl
/linux-6.15/tools/perf/arch/s390/entry/syscalls/syscall.tbl
/linux-6.15/tools/perf/arch/x86/entry/syscalls/syscall_32.tbl
/linux-6.15/tools/perf/arch/x86/entry/syscalls/syscall_64.tbl
/linux-6.15/tools/perf/builtin-ftrace.c
/linux-6.15/tools/perf/tests/builtin-test.c
/linux-6.15/tools/perf/tests/expr.c
/linux-6.15/tools/perf/tests/hwmon_pmu.c
/linux-6.15/tools/perf/trace/beauty/fs_at_flags.sh
/linux-6.15/tools/perf/trace/beauty/include/uapi/linux/fcntl.h
/linux-6.15/tools/perf/trace/beauty/include/uapi/linux/mount.h
/linux-6.15/tools/perf/trace/beauty/include/uapi/linux/prctl.h
/linux-6.15/tools/perf/util/build-id.c
/linux-6.15/tools/perf/util/evsel.c
/linux-6.15/tools/perf/util/hwmon_pmu.c
/linux-6.15/tools/perf/util/machine.c
/linux-6.15/tools/perf/util/probe-event.c
/linux-6.15/tools/testing/selftests/arm64/abi/syscall-abi-asm.S
/linux-6.15/tools/testing/selftests/bpf/prog_tests/changes_pkt_data.c
/linux-6.15/tools/testing/selftests/bpf/prog_tests/raw_tp_null.c
/linux-6.15/tools/testing/selftests/bpf/prog_tests/socket_helpers.h
/linux-6.15/tools/testing/selftests/bpf/prog_tests/sockmap_basic.c
/linux-6.15/tools/testing/selftests/bpf/prog_tests/sockmap_helpers.h
/linux-6.15/tools/testing/selftests/bpf/prog_tests/tc_change_tail.c
/linux-6.15/tools/testing/selftests/bpf/progs/changes_pkt_data.c
/linux-6.15/tools/testing/selftests/bpf/progs/changes_pkt_data_freplace.c
/linux-6.15/tools/testing/selftests/bpf/progs/raw_tp_null.c
/linux-6.15/tools/testing/selftests/bpf/progs/raw_tp_null_fail.c
/linux-6.15/tools/testing/selftests/bpf/progs/tc_bpf2bpf.c
/linux-6.15/tools/testing/selftests/bpf/progs/test_sockmap_change_tail.c
/linux-6.15/tools/testing/selftests/bpf/progs/test_tc_change_tail.c
/linux-6.15/tools/testing/selftests/bpf/progs/test_tp_btf_nullable.c
/linux-6.15/tools/testing/selftests/bpf/progs/verifier_btf_ctx_access.c
/linux-6.15/tools/testing/selftests/bpf/progs/verifier_d_path.c
/linux-6.15/tools/testing/selftests/bpf/progs/verifier_sock.c
/linux-6.15/tools/testing/selftests/bpf/sdt.h
/linux-6.15/tools/testing/selftests/bpf/trace_helpers.c
/linux-6.15/tools/testing/selftests/memfd/memfd_test.c
/linux-6.15/tools/testing/selftests/net/openvswitch/openvswitch.sh
/linux-6.15/usr/include/Makefile
/linux-6.15/usr/include/headers_check.pl
683a63be19-Dec-2024 Danilo Krummrich <[email protected]>

rust: platform: add basic platform device / driver abstractions

Implement the basic platform bus abstractions required to write a basic
platform driver. This includes the following data structures:

rust: platform: add basic platform device / driver abstractions

Implement the basic platform bus abstractions required to write a basic
platform driver. This includes the following data structures:

The `platform::Driver` trait represents the interface to the driver and
provides `platform::Driver::probe` for the driver to implement.

The `platform::Device` abstraction represents a `struct platform_device`.

In order to provide the platform bus specific parts to a generic
`driver::Registration` the `driver::RegistrationOps` trait is implemented
by `platform::Adapter`.

Reviewed-by: Rob Herring (Arm) <[email protected]>
Signed-off-by: Danilo Krummrich <[email protected]>
Tested-by: Dirk Behme <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>

show more ...

7a718a1f19-Dec-2024 Danilo Krummrich <[email protected]>

rust: driver: implement `Adapter`

In order to not duplicate code in bus specific implementations (e.g.
platform), implement a generic `driver::Adapter` to represent the
connection of matched drivers

rust: driver: implement `Adapter`

In order to not duplicate code in bus specific implementations (e.g.
platform), implement a generic `driver::Adapter` to represent the
connection of matched drivers and devices.

Bus specific `Adapter` implementations can simply implement this trait
to inherit generic functionality, such as matching OF or ACPI device IDs
and ID table entries.

Suggested-by: Rob Herring (Arm) <[email protected]>
Signed-off-by: Danilo Krummrich <[email protected]>
Tested-by: Dirk Behme <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>

show more ...

bbe3b4d119-Dec-2024 Danilo Krummrich <[email protected]>

rust: of: add `of::DeviceId` abstraction

`of::DeviceId` is an abstraction around `struct of_device_id`.

This is used by subsequent patches, in particular the platform bus
abstractions, to create OF

rust: of: add `of::DeviceId` abstraction

`of::DeviceId` is an abstraction around `struct of_device_id`.

This is used by subsequent patches, in particular the platform bus
abstractions, to create OF device ID tables.

Reviewed-by: Rob Herring (Arm) <[email protected]>
Signed-off-by: Danilo Krummrich <[email protected]>
Tested-by: Dirk Behme <[email protected]>
Tested-by: Fabien Parent <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>

show more ...

bf9651f819-Dec-2024 Danilo Krummrich <[email protected]>

rust: pci: implement I/O mappable `pci::Bar`

Implement `pci::Bar`, `pci::Device::iomap_region` and
`pci::Device::iomap_region_sized` to allow for I/O mappings of PCI BARs.

To ensure that a `pci::Ba

rust: pci: implement I/O mappable `pci::Bar`

Implement `pci::Bar`, `pci::Device::iomap_region` and
`pci::Device::iomap_region_sized` to allow for I/O mappings of PCI BARs.

To ensure that a `pci::Bar`, and hence the I/O memory mapping, can't
out-live the PCI device, the `pci::Bar` type is always embedded into a
`Devres` container, such that the `pci::Bar` is revoked once the device
is unbound and hence the I/O mapped memory is unmapped.

A `pci::Bar` can be requested with (`pci::Device::iomap_region_sized`) or
without (`pci::Device::iomap_region`) a const generic representing the
minimal requested size of the I/O mapped memory region. In case of the
latter only runtime checked I/O reads / writes are possible.

Co-developed-by: Philipp Stanner <[email protected]>
Signed-off-by: Philipp Stanner <[email protected]>
Signed-off-by: Danilo Krummrich <[email protected]>
Tested-by: Dirk Behme <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>

show more ...

1bd8b6b219-Dec-2024 Danilo Krummrich <[email protected]>

rust: pci: add basic PCI device / driver abstractions

Implement the basic PCI abstractions required to write a basic PCI
driver. This includes the following data structures:

The `pci::Driver` trait

rust: pci: add basic PCI device / driver abstractions

Implement the basic PCI abstractions required to write a basic PCI
driver. This includes the following data structures:

The `pci::Driver` trait represents the interface to the driver and
provides `pci::Driver::probe` for the driver to implement.

The `pci::Device` abstraction represents a `struct pci_dev` and provides
abstractions for common functions, such as `pci::Device::set_master`.

In order to provide the PCI specific parts to a generic
`driver::Registration` the `driver::RegistrationOps` trait is implemented
by `pci::Adapter`.

`pci::DeviceId` implements PCI device IDs based on the generic
`device_id::RawDevceId` abstraction.

Co-developed-by: FUJITA Tomonori <[email protected]>
Signed-off-by: FUJITA Tomonori <[email protected]>
Signed-off-by: Danilo Krummrich <[email protected]>
Tested-by: Dirk Behme <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>

show more ...

76c01ded19-Dec-2024 Danilo Krummrich <[email protected]>

rust: add devres abstraction

Add a Rust abstraction for the kernel's devres (device resource
management) implementation.

The Devres type acts as a container to manage the lifetime and
accessibility

rust: add devres abstraction

Add a Rust abstraction for the kernel's devres (device resource
management) implementation.

The Devres type acts as a container to manage the lifetime and
accessibility of device bound resources. Therefore it registers a
devres callback and revokes access to the resource on invocation.

Users of the Devres abstraction can simply free the corresponding
resources in their Drop implementation, which is invoked when either the
Devres instance goes out of scope or the devres callback leads to the
resource being revoked, which implies a call to drop_in_place().

Signed-off-by: Danilo Krummrich <[email protected]>
Tested-by: Dirk Behme <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>

show more ...

ce30d94e19-Dec-2024 Danilo Krummrich <[email protected]>

rust: add `io::{Io, IoRaw}` base types

I/O memory is typically either mapped through direct calls to ioremap()
or subsystem / bus specific ones such as pci_iomap().

Even though subsystem / bus spec

rust: add `io::{Io, IoRaw}` base types

I/O memory is typically either mapped through direct calls to ioremap()
or subsystem / bus specific ones such as pci_iomap().

Even though subsystem / bus specific functions to map I/O memory are
based on ioremap() / iounmap() it is not desirable to re-implement them
in Rust.

Instead, implement a base type for I/O mapped memory, which generically
provides the corresponding accessors, such as `Io::readb` or
`Io:try_readb`.

`Io` supports an optional const generic, such that a driver can indicate
the minimal expected and required size of the mapping at compile time.
Correspondingly, calls to the 'non-try' accessors, support compile time
checks of the I/O memory offset to read / write, while the 'try'
accessors, provide boundary checks on runtime.

`IoRaw` is meant to be embedded into a structure (e.g. pci::Bar or
io::IoMem) which creates the actual I/O memory mapping and initializes
`IoRaw` accordingly.

To ensure that I/O mapped memory can't out-live the device it may be
bound to, subsystems must embed the corresponding I/O memory type (e.g.
pci::Bar) into a `Devres` container, such that it gets revoked once the
device is unbound.

Reviewed-by: Alice Ryhl <[email protected]>
Tested-by: Daniel Almeida <[email protected]>
Reviewed-by: Daniel Almeida <[email protected]>
Signed-off-by: Danilo Krummrich <[email protected]>
Tested-by: Dirk Behme <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>

show more ...

0494d9c819-Dec-2024 Wedson Almeida Filho <[email protected]>

rust: add `Revocable` type

Revocable allows access to objects to be safely revoked at run time.

This is useful, for example, for resources allocated during device probe;
when the device is removed,

rust: add `Revocable` type

Revocable allows access to objects to be safely revoked at run time.

This is useful, for example, for resources allocated during device probe;
when the device is removed, the driver should stop accessing the device
resources even if another state is kept in memory due to existing
references (i.e., device context data is ref-counted and has a non-zero
refcount after removal of the device).

Signed-off-by: Wedson Almeida Filho <[email protected]>
Co-developed-by: Danilo Krummrich <[email protected]>
Signed-off-by: Danilo Krummrich <[email protected]>
Tested-by: Dirk Behme <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>

show more ...

2d3bf6ff19-Dec-2024 Danilo Krummrich <[email protected]>

rust: types: add `Opaque::pin_init`

Analogous to `Opaque::new` add `Opaque::pin_init`, which instead of a
value `T` takes a `PinInit<T>` and returns a `PinInit<Opaque<T>>`.

Reviewed-by: Alice Ryhl

rust: types: add `Opaque::pin_init`

Analogous to `Opaque::new` add `Opaque::pin_init`, which instead of a
value `T` takes a `PinInit<T>` and returns a `PinInit<Opaque<T>>`.

Reviewed-by: Alice Ryhl <[email protected]>
Suggested-by: Alice Ryhl <[email protected]>
Signed-off-by: Danilo Krummrich <[email protected]>
Tested-by: Dirk Behme <[email protected]>
Tested-by: Fabien Parent <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>

show more ...

5115820719-Dec-2024 Wedson Almeida Filho <[email protected]>

rust: add rcu abstraction

Add a simple abstraction to guard critical code sections with an rcu
read lock.

Reviewed-by: Boqun Feng <[email protected]>
Signed-off-by: Wedson Almeida Filho <wedsona

rust: add rcu abstraction

Add a simple abstraction to guard critical code sections with an rcu
read lock.

Reviewed-by: Boqun Feng <[email protected]>
Signed-off-by: Wedson Almeida Filho <[email protected]>
Co-developed-by: Danilo Krummrich <[email protected]>
Signed-off-by: Danilo Krummrich <[email protected]>
Tested-by: Dirk Behme <[email protected]>
Tested-by: Fabien Parent <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>

show more ...

12345678910>>...19