[patch 02/37] device: Add device::msi_data pointer and struct msi_device_data
Jason Gunthorpe
jgg at nvidia.com
Sat Nov 27 16:14:06 PST 2021
On Sat, Nov 27, 2021 at 02:20:09AM +0100, Thomas Gleixner wrote:
> +/**
> + * msi_setup_device_data - Setup MSI device data
> + * @dev: Device for which MSI device data should be set up
> + *
> + * Return: 0 on success, appropriate error code otherwise
> + *
> + * This can be called more than once for @dev. If the MSI device data is
> + * already allocated the call succeeds. The allocated memory is
> + * automatically released when the device is destroyed.
I would say 'by devres when the driver is removed' rather than device
is destroyed - to me the latter implies it would happen at device_del
or perhaps during release..
> +int msi_setup_device_data(struct device *dev)
> +{
> + struct msi_device_data *md;
> +
> + if (dev->msi.data)
> + return 0;
> +
> + md = devres_alloc(msi_device_data_release, sizeof(*md), GFP_KERNEL);
> + if (!md)
> + return -ENOMEM;
> +
> + raw_spin_lock_init(&md->lock);
I also couldn't guess why this needed to be raw?
Jason
More information about the linux-arm-kernel
mailing list