[V3 PATCH 3/5] device property: Introduces device_dma_is_coherent()
santosh shilimkar
santosh.shilimkar at oracle.com
Fri May 8 13:36:06 PDT 2015
On 5/8/2015 1:58 PM, Rafael J. Wysocki wrote:
> On Friday, May 08, 2015 01:27:00 PM santosh shilimkar wrote:
>> On 5/8/2015 1:49 PM, Rafael J. Wysocki wrote:
>>> On Thursday, May 07, 2015 09:12:00 PM santosh.shilimkar at oracle.com wrote:
>>>> On 5/7/15 5:37 PM, Suravee Suthikulpanit wrote:
>>>>> Currently, device drivers, which support both OF and ACPI,
>>>>> need to call two separate APIs, of_dma_is_coherent() and
>>>>> acpi_dma_is_coherent()) to determine device coherency attribute.
>>>>>
>>>>> This patch simplifies this process by introducing a new device
>>>>> property API, device_dma_is_coherent(), which calls the appropriate
>>>>> interface based on the booting architecture.
>>>>>
>>>>> Signed-off-by: Suravee Suthikulpanit <Suravee.Suthikulpanit at amd.com>
>>>>> ---
>>>>> drivers/base/property.c | 12 ++++++++++++
>>>>> include/linux/property.h | 2 ++
>>>>> 2 files changed, 14 insertions(+)
>>>>>
>>>>> diff --git a/drivers/base/property.c b/drivers/base/property.c
>>>>> index 1d0b116..8123c6e 100644
>>>>> --- a/drivers/base/property.c
>>>>> +++ b/drivers/base/property.c
>>>>> @@ -14,6 +14,7 @@
>>>>> #include <linux/export.h>
>>>>> #include <linux/kernel.h>
>>>>> #include <linux/of.h>
>>>>> +#include <linux/of_address.h>
>>>>> #include <linux/property.h>
>>>>>
>>>>> /**
>>>>> @@ -519,3 +520,14 @@ unsigned int device_get_child_node_count(struct device *dev)
>>>>> return count;
>>>>> }
>>>>> EXPORT_SYMBOL_GPL(device_get_child_node_count);
>>>>> +
>>>>> +bool device_dma_is_coherent(struct device *dev)
>>>>> +{
>>>>> + if (IS_ENABLED(CONFIG_OF) && dev->of_node)
>>>>
>>>> Do you really need that IS_ENABLED(CONFIG_OF) ?
>>>> In other words, dev->of_node should be null for !CONFIG_OF
>>>
>>> Yes, but IS_ENABLED(CONFIG_OF) causes the check to be optimized away by the
>>> compiler if CONFIG_OF is not enabled.
>>>
>> Sure but my point was why you need it when just 'dev->of_node' check
>> is enough. May be I missed something.
>
> dev->of_node is present when CONFIG_OF is not enabled too. Without the
> IS_ENABLED(CONFIG_OF) this becomes a pointless pointer check that will
> always evaluate to 'false' on systems without CONFIG_OF, AFAICS.
>
Got it now. Thanks for expanding it.
Regards,
Santosh
More information about the linux-arm-kernel
mailing list