On 6/16/2021 11:46 AM, Greg KH wrote: > [CAUTION: External Email] > > On Wed, Jun 16, 2021 at 10:24:52AM +0530, Sanjay R Mehta wrote: >> >> >> On 6/16/2021 9:45 AM, Vinod Koul wrote: >>> [CAUTION: External Email] >>> >>> On 15-06-21, 16:50, Sanjay R Mehta wrote: >>> >>>>>> +static struct pt_device *pt_alloc_struct(struct device *dev) >>>>>> +{ >>>>>> + struct pt_device *pt; >>>>>> + >>>>>> + pt = devm_kzalloc(dev, sizeof(*pt), GFP_KERNEL); >>>>>> + >>>>>> + if (!pt) >>>>>> + return NULL; >>>>>> + pt->dev = dev; >>>>>> + pt->ord = atomic_inc_return(&pt_ordinal); >>>>> >>>>> What is the use of this number? >>>>> >>>> >>>> There are eight similar instances of this DMA engine on AMD SOC. >>>> It is to differentiate each of these instances. >>> >>> Are they individual device objects? >>> >> >> Yes, they are individual device objects. > > Then what is "ord" for? Why are you using an atomic variable for this? > What does this field do? Why doesn't the normal way of naming a device > come into play here instead? > Hi Greg, The value of "ord" is incremented for each device instance and then it is used to store different name for each device as shown in below snippet. pt->ord = atomic_inc_return(&pt_ordinal); snprintf(pt->name, MAX_PT_NAME_LEN, "pt-%u", pt->ord); - Sanjay