Thread (29 messages) 29 messages, 6 authors, 2017-12-14

[PATCH V6 4/7] OF: properties: Implement get_match_data() callback

From: Lothar Waßmann <hidden>
Date: 2017-12-08 09:11:52
Also in: linux-acpi, linux-arm-msm, linux-devicetree, lkml

Hi,

On Thu, 7 Dec 2017 12:50:50 -0500 Sinan Kaya wrote:
On 12/7/2017 10:20 AM, Lothar Wa?mann wrote:
quoted
Hi,

On Thu, 7 Dec 2017 09:45:31 -0500 Sinan Kaya wrote:
quoted
On 12/7/2017 8:10 AM, Lothar Wa?mann wrote:
quoted
quoted
+void *of_fwnode_get_match_data(const struct fwnode_handle *fwnode,
+			       struct device *dev)
Shouldn't this be 'const void *of_fwnode_get_match_data
OF keeps the driver data as a (const void*) internally. ACPI keeps the
driver data as kernel_ulong_t in struct acpi_device_id.

I tried to find the middle ground here by converting output to void*
but not keeping const.
It should be no problem to cast a (const void *) to an unsigned long
data type (without const qualifier).
It is the other way around. If I change this API to return a a (const void*),
the device_get_match_data() function need to return a (const void *).

While implementing the ACPI piece, I have to convert an unsigned long to
(const void *) in ACPI code so that the APIs are compatible.
Just one more remark: Do you need write access to the data the pointer
returned by device_get_match_data() or of_fwnode_get_match_data()
points to?
If not, the return type of those functions should be 'const void *'.


Lothar Wa?mann
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help