<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/source/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in serdev.c</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>59e6295fac26b8e85c1ea859cdd89fa1e47519d7 - Merge tag &apos;driver-core-7.3-rc1&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/driver-core/driver-core</title>
        <link>http://kernelsources.org:8080/source/history/linux/rust/helpers/serdev.c#59e6295fac26b8e85c1ea859cdd89fa1e47519d7</link>
        <description>Merge tag &apos;driver-core-7.3-rc1&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/driver-core/driver-corePull driver core updates from Danilo Krummrich: &quot;container_of:   - Apply typeof_member(), remove the local __mptr variable to     eliminate variable shadowing warnings on nested container_of()     calls, and remove unnecessary parentheses  core:   - Add driver name to probe debug print for initcall_debug   - Avoid repeatedly printing the same &apos;Fixed dependency cycle&apos; log   - Unwind device_add() on attribute creation failure in     attribute_container_add_class_device()   - Remove statistics group if encryption group creation fails in     transport_add_class_device()  debugfs:   - Fix lockdown check for mmap_prepare()   - Warn if file creation failed due to uninitialized debugfs  device property:   - Implement fw_devlink support for software nodes by adding     software_node_add_links(), which creates fwnode links from     DEV_PROP_REF properties to enable automatic probe ordering. Add     kunit-managed fwnode helpers and test coverage   - Fix infinite loop in fwnode_for_each_child_node() when the     secondary fwnode has more than one child. Add test cases   - Fix out-of-bounds access in software_node_get_reference_args() when     called with index -1 (UINT_MAX)   - Refactor to use RAII approach with __free()   - Add Bartosz Golaszewski as software node reviewer  firmware loader:   - Fix race where a sysfs fallback request can complete before being     queued as pending, leading to a use-after-free on the next fallback     request   - Reject 0-size built-in firmware and fail the build on empty     firmware files in CONFIG_EXTRA_FIRMWARE  kobject:   - Provide __KOBJ_ATTR() and __KOBJ_ATTR_RO/WO() initialization macros     and allow the constification of kobject attributes, enabling them     to reside in read-only memory  platform:   - Provide platform_device_set_of_node(), platform_device_set_fwnode(),     and platform_device_set_of_node_from_dev() helpers that encapsulate     firmware node reference counting for dynamically allocated platform     devices     Convert all in-tree users that manually assigned dev.of_node or     dev.fwnode, fixing a pre-existing refcount bug in powermac. Switch     to counting references of all firmware node types, not only OF     nodes   - Unify the release path for dynamically allocated platform devices     by removing platform_device_release_full(). Amend the fwnode setter     API contract to warn if a primary software node is overwritten. Add     KUnit tests for correct software node removal on device     unregistration  Rust:   - Auxiliary:       - Add registration_data_with() closure-based API for invariant         ForLt types   - Debugfs:       - Migrate BinaryWriter and BinaryReaderMut trait requirements         from kernel::transmute traits to zerocopy traits   - Device:       - Add BoundInternal device context and InternalBoundContext trait         for bus abstractions that need internal access to a bound         device.       - Make the lifetime on Core and CoreInternal invariant to prevent         coercion to shorter lifetimes   - Devres:       - Fix race between concurrent revokers where the losing revoker         could return before the winning revoker finished dropping the         inner data, causing use-after-free.       - Ensure revocation is complete before the device finishes         unbinding by making the synchronization bidirectional.       - Add DevresLt&lt;F: ForLt&gt;, a wrapper around Devres that shortens         &apos;static back to the caller&apos;s borrow scope. Implement ForLt and         CovariantForLt for Bar, IoMem, and ExclusiveIoMem   - Driver:       - Switch from index-based to pointer-based device ID info lookup,         storing static references in driver_data. Centralize device ID         handling in device_id.rs, removing the open-coded ACPI/OF         matching logic and duplicate ID table from driver.rs   - I/O:       - Make I/O regions typed (with a dynamically-sized Region type         for the existing untyped case), create view types representing         subregions of a mapped I/O region, and add io_project!() for         safely creating subviews.       - Split Io into a base trait (IoBase) and an extension trait (Io)         with a blanket implementation, preventing implementers from         overriding provided methods that unsafe code relies on.       - Add a SysMem backend for shared system memory with volatile         access, and make Coherent implement Io via an I/O view type.         Add IoSysMap as sum type of Mmio and SysMem. Add copying         methods (memcpy_{from,to}io()) and read_val()/write_val() for         typed access.       - Replace dma_read!()/dma_write!() with io_read!()/io_write!()         for primitives and copying methods for aggregates; drop the old         macros. Convert nova-core to use I/O projection.       - Fix internal shortcut rule dispatch in the register!() macro,         remove unused rule arguments, and use path fragments for alias         destinations   - IRQ:       - Make irq::Registration compatible with lifetime-bound drivers         by removing the &apos;static bound on Handler/ThreadedHandler and         replacing Devres&lt;RegistrationInner&gt; with direct         request_irq()/free_irq() calls. Handlers can now directly own         lifetime-bound device resources   - PCI:       - Convert IrqVectorRegistration to a lifetime-annotated owning         type, giving drivers explicit control over the allocation         lifetime. IrqVector embeds a resolved IrqRequest, making the         conversion infallible. Remove the redundant         request_irq()/request_threaded_irq() wrappers from pci::Device.       - Add pci_irq_type() C helper and expose it via irq_type() on         IrqVectorRegistration and IrqVector, returning PCI_IRQ_MSIX,         PCI_IRQ_MSI, or PCI_IRQ_INTX.       - Mark pci::Device refcount methods inline   - Serdev:       - Add Rust abstractions for the serial device bus, including         serdev::Driver trait, serdev::Device wrapping struct         serdev_device, and serdev::Adapter implementing         RegistrationOps. Includes a sample driver. Markus Probst takes         over as serdev maintainer for both C and Rust code   - Misc:       - Split ForLt into a base trait (providing the Of&lt;&apos;a&gt; GAT) and an         unsafe CovariantForLt subtrait guaranteeing covariance,         enabling invariant types (e.g. those containing Mutex&lt;&amp;&apos;bound T&gt;)         to participate in the ForLt abstraction.       - Fix Coherent read past EOF returning -ERANGE instead of zero.       - Fix firmware example UB by avoiding null-pointer ARef  misc:   - Avoid iattr allocation in kernfs listxattr by using     kernfs_iattrs_noalloc().   - Unregister SoC bus on early device registration failure.   - Remove unused DMA_FENCE_TRACE Kconfig symbol.   - Fix /sys/module path in comment.   - Refactor ISA bus init to remove nested blocks.   - Remove redundant nodemask clears in numa_init().   - Add kernel-doc for fwnode_operations and sys_soc.h, mark     internal property data as private for kernel-doc, and add     property.h/fwnode.h to driver-api infrastructure docs.   - Add MAINTAINERS entry for sys_soc.h&quot;* tag &apos;driver-core-7.3-rc1&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/driver-core/driver-core: (129 commits)  rust: pci: expose the allocated interrupt type  PCI: Add pci_irq_type() to query the allocated interrupt type  rust: pci: remove request_irq() and request_threaded_irq() from Device  rust: pci: resolve IRQ in index() and embed IrqRequest in IrqVector  rust: pci: convert IrqVectorRegistration to a lifetime-managed owning type  kernfs: avoid iattr allocation in listxattr  rust: serdev: use ThisModule::as_ptr() instead of field access  ACPI/IORT: use platform_device_set_fwnode()  ACPI/APMT: use platform_device_set_fwnode()  firmware_loader: do not queue completed sysfs fallback requests  rust: pci: Mark Device refcount methods inline  rust: irq: make Registration compatible with lifetime-bound drivers  rust: net/phy: remove expansion from doc  rust: dma: return zero for Coherent reads past EOF  rust: io: register: use path fragment for alias destination  rust: io: register: remove unused rule arguments  rust: io: register: dispatch shortcut rules internally  MAINTAINERS: add sys_soc.h to DRIVER CORE  rust: debugfs: remove unsafe blocks from traits impl for Vec  rust: debugfs: migrate debugfs traits requirements to zerocopy  ...

            List of files:
            /linux/rust/helpers/serdev.c</description>
        <pubDate>Wed, 19 Aug 2026 19:42:18 +0200</pubDate>
        <dc:creator>Linus Torvalds &lt;torvalds@linux-foundation.org&gt;</dc:creator>
    </item>
<item>
        <title>99f59aa82341c8491a1b94c5dd9c666fe979a479 - rust: add basic serial device bus abstractions</title>
        <link>http://kernelsources.org:8080/source/history/linux/rust/helpers/serdev.c#99f59aa82341c8491a1b94c5dd9c666fe979a479</link>
        <description>rust: add basic serial device bus abstractionsImplement the basic serial device bus abstractions required to write aserial device bus device driver with or without the need for initial devicedata. This includes the following data structures:The `serdev::Driver` trait represents the interface to the driver.The `serdev::Device` abstraction represents a `struct serdev_device`.In order to provide the Serdev specific parts to a generic`driver::Registration` the `driver::RegistrationOps` trait isimplemented by `serdev::Adapter`.Acked-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;Signed-off-by: Markus Probst &lt;markus.probst@posteo.de&gt;Link: https://patch.msgid.link/20260718-rust_serdev-v16-1-5809384d2e1b@posteo.deSigned-off-by: Danilo Krummrich &lt;dakr@kernel.org&gt;

            List of files:
            /linux/rust/helpers/serdev.c</description>
        <pubDate>Sat, 18 Jul 2026 17:33:11 +0200</pubDate>
        <dc:creator>Markus Probst &lt;markus.probst@posteo.de&gt;</dc:creator>
    </item>
</channel>
</rss>
