| Date | Sat, 27 Nov 2021 20:14:06 -0400 | From | Jason Gunthorpe <> | Subject | Re: [patch 02/37] device: Add device::msi_data pointer and struct msi_device_data |
| |
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
|