Re: [PATCH v5 6/7] i2c: designware: enable SLAVE in platform module
From: Luis Oliveira
Date: Wed Dec 28 2016 - 11:42:17 EST
On 28-Dec-16 16:31, Andy Shevchenko wrote:
> On Wed, 2016-12-28 at 15:53 +0000, Luis Oliveira wrote:
>> On 28-Dec-16 15:44, Andy Shevchenko wrote:
>>> On Wed, 2016-12-28 at 14:43 +0000, Luis Oliveira wrote:
>>>> - Slave mode selected in platform module (devicetree support only)
>>>> - Check for ACPI - not supported in SLAVE mode:
>>>> - Changed the ifndef style to the use of ACPI_HANDLE that
>>>> returns
>>>> NULL
>>>> if the device was not enumerated from ACPI namespace.
>>>
>>> I'm not sure what is wrong with ACPI?
>>
>> I dont have a way to test it. Just that.
>
> Okay, can you provide an excerpt to see how it will look like in DTS?
Yes, it looks like this now:
i2c@0x2000 {
compatible = "snps,designware-i2c";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x2000 0x100>;
clock-frequency = <400000>;
clocks = <&i2cclk>;
interrupts = <0>;
eeprom@64 {
compatible = "linux,slave-24c02";
reg = <0x40000064>;
};
};
>
>
>>>> - dev->functionality = I2C_FUNC_10BIT_ADDR |
>>>> DW_IC_DEFAULT_FUNCTIONALITY;
>>>> -
>>>> - i2c_dw_configure_master(pdev);
>>>> + if (ACPI_HANDLE(&pdev->dev) == NULL) {
>>>
>>> I don't think you need this at all.
>>
>> This is to avoid the use of the "ifdef" style I used before.
>
> My point is to drop it completely.
>
>>>
>>>> + device_for_each_child_node(&pdev->dev, child) {
>>>
>>> This is resource agnostic.
>>>
>>>> + fwnode_property_read_u32(child, "reg",
>>>> ®);
>>>
>>> This is as well.
>>
>> Are you suggesting I use of_ functions?
>
> Nope. See above.
>
>