mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-18 03:23:53 -04:00
Merge tag 'driver-core-6.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/driver-core/driver-core
Pull driver core updates from Danilo Krummrich:
"debugfs:
- Remove unneeded debugfs_file_{get,put}() instances
- Remove last remnants of debugfs_real_fops()
- Allow storing non-const void * in struct debugfs_inode_info::aux
sysfs:
- Switch back to attribute_group::bin_attrs (treewide)
- Switch back to bin_attribute::read()/write() (treewide)
- Constify internal references to 'struct bin_attribute'
Support cache-ids for device-tree systems:
- Add arch hook arch_compact_of_hwid()
- Use arch_compact_of_hwid() to compact MPIDR values on arm64
Rust:
- Device:
- Introduce CoreInternal device context (for bus internal methods)
- Provide generic drvdata accessors for bus devices
- Provide Driver::unbind() callbacks
- Use the infrastructure above for auxiliary, PCI and platform
- Implement Device::as_bound()
- Rename Device::as_ref() to Device::from_raw() (treewide)
- Implement fwnode and device property abstractions
- Implement example usage in the Rust platform sample driver
- Devres:
- Remove the inner reference count (Arc) and use pin-init instead
- Replace Devres::new_foreign_owned() with devres::register()
- Require T to be Send in Devres<T>
- Initialize the data kept inside a Devres last
- Provide an accessor for the Devres associated Device
- Device ID:
- Add support for ACPI device IDs and driver match tables
- Split up generic device ID infrastructure
- Use generic device ID infrastructure in net::phy
- DMA:
- Implement the dma::Device trait
- Add DMA mask accessors to dma::Device
- Implement dma::Device for PCI and platform devices
- Use DMA masks from the DMA sample module
- I/O:
- Implement abstraction for resource regions (struct resource)
- Implement resource-based ioremap() abstractions
- Provide platform device accessors for I/O (remap) requests
- Misc:
- Support fallible PinInit types in Revocable
- Implement Wrapper<T> for Opaque<T>
- Merge pin-init blanket dependencies (for Devres)
Misc:
- Fix OF node leak in auxiliary_device_create()
- Use util macros in device property iterators
- Improve kobject sample code
- Add device_link_test() for testing device link flags
- Fix typo in Documentation/ABI/testing/sysfs-kernel-address_bits
- Hint to prefer container_of_const() over container_of()"
* tag 'driver-core-6.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/driver-core/driver-core: (84 commits)
rust: io: fix broken intra-doc links to `platform::Device`
rust: io: fix broken intra-doc link to missing `flags` module
rust: io: mem: enable IoRequest doc-tests
rust: platform: add resource accessors
rust: io: mem: add a generic iomem abstraction
rust: io: add resource abstraction
rust: samples: dma: set DMA mask
rust: platform: implement the `dma::Device` trait
rust: pci: implement the `dma::Device` trait
rust: dma: add DMA addressing capabilities
rust: dma: implement `dma::Device` trait
rust: net::phy Change module_phy_driver macro to use module_device_table macro
rust: net::phy represent DeviceId as transparent wrapper over mdio_device_id
rust: device_id: split out index support into a separate trait
device: rust: rename Device::as_ref() to Device::from_raw()
arm64: cacheinfo: Provide helper to compress MPIDR value into u32
cacheinfo: Add arch hook to compress CPU h/w id into 32 bits for cache-id
cacheinfo: Set cache 'id' based on DT data
container_of: Document container_of() is not to be used in new code
driver core: auxiliary bus: fix OF node leak
...
This commit is contained in:
@@ -56,9 +56,9 @@ static void free_sect_attrs(struct module_sect_attrs *sect_attrs)
|
||||
{
|
||||
const struct bin_attribute *const *bin_attr;
|
||||
|
||||
for (bin_attr = sect_attrs->grp.bin_attrs_new; *bin_attr; bin_attr++)
|
||||
for (bin_attr = sect_attrs->grp.bin_attrs; *bin_attr; bin_attr++)
|
||||
kfree((*bin_attr)->attr.name);
|
||||
kfree(sect_attrs->grp.bin_attrs_new);
|
||||
kfree(sect_attrs->grp.bin_attrs);
|
||||
kfree(sect_attrs);
|
||||
}
|
||||
|
||||
@@ -86,7 +86,7 @@ static int add_sect_attrs(struct module *mod, const struct load_info *info)
|
||||
|
||||
/* Setup section attributes. */
|
||||
sect_attrs->grp.name = "sections";
|
||||
sect_attrs->grp.bin_attrs_new = gattr;
|
||||
sect_attrs->grp.bin_attrs = gattr;
|
||||
|
||||
sattr = §_attrs->attrs[0];
|
||||
for (i = 0; i < info->hdr->e_shnum; i++) {
|
||||
@@ -101,7 +101,7 @@ static int add_sect_attrs(struct module *mod, const struct load_info *info)
|
||||
ret = -ENOMEM;
|
||||
goto out;
|
||||
}
|
||||
sattr->read_new = module_sect_read;
|
||||
sattr->read = module_sect_read;
|
||||
sattr->private = (void *)sec->sh_addr;
|
||||
sattr->size = MODULE_SECT_READ_SIZE;
|
||||
sattr->attr.mode = 0400;
|
||||
@@ -144,7 +144,7 @@ struct module_notes_attrs {
|
||||
|
||||
static void free_notes_attrs(struct module_notes_attrs *notes_attrs)
|
||||
{
|
||||
kfree(notes_attrs->grp.bin_attrs_new);
|
||||
kfree(notes_attrs->grp.bin_attrs);
|
||||
kfree(notes_attrs);
|
||||
}
|
||||
|
||||
@@ -178,7 +178,7 @@ static int add_notes_attrs(struct module *mod, const struct load_info *info)
|
||||
}
|
||||
|
||||
notes_attrs->grp.name = "notes";
|
||||
notes_attrs->grp.bin_attrs_new = gattr;
|
||||
notes_attrs->grp.bin_attrs = gattr;
|
||||
|
||||
nattr = ¬es_attrs->attrs[0];
|
||||
for (loaded = i = 0; i < info->hdr->e_shnum; ++i) {
|
||||
@@ -190,7 +190,7 @@ static int add_notes_attrs(struct module *mod, const struct load_info *info)
|
||||
nattr->attr.mode = 0444;
|
||||
nattr->size = info->sechdrs[i].sh_size;
|
||||
nattr->private = (void *)info->sechdrs[i].sh_addr;
|
||||
nattr->read_new = sysfs_bin_attr_simple_read;
|
||||
nattr->read = sysfs_bin_attr_simple_read;
|
||||
*(gattr++) = nattr++;
|
||||
}
|
||||
++loaded;
|
||||
|
||||
Reference in New Issue
Block a user