On 11/8/2017 11:49 AM, Timur Tabi wrote:
> On 11/08/2017 10:29 AM, Sinan Kaya wrote:
>> +#define HIDMA_MAX_DEV_MATCH 10
>> +
>> +struct hidma_cap {
>> +    const struct of_device_id of[HIDMA_MAX_DEV_MATCH];
>> +    const struct acpi_device_id acpi[HIDMA_MAX_DEV_MATCH];
>> +};
> 
> This seems wrong.  You're defining an array of size 10, but it only has three 
> elements.  And the third element is a sentinel, which is typically used to 
> avoid specifying the size of the array.
> 

It is true that I define an array of size 10. It is just some arbitrary number
with forward thinking. I don't really have to use it to the maximum today as 
long
as I satisfy the calling conventions.

What is important is that the of_device_match() and acpi_device_match() 
functions
will stop searching only if they find an empty element. The {} element.

That's the calling semantics of of_device_match() and acpi_device_match().

Besides, C compiler also won't let me put two arrays together like this.

struct my_struct {
        struct some_struct array1[]
        struct some_struct array2[]
}

-- 
Sinan Kaya
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm 
Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux 
Foundation Collaborative Project.

Reply via email to