Thread (13 messages) 13 messages, 2 authors, 2018-02-26

[PATCH v2 2/2] i2c: add support for Socionext SynQuacer I2C controller

From: Andy Shevchenko <hidden>
Date: 2018-02-26 17:06:02
Also in: linux-devicetree, linux-i2c, lkml

On Mon, Feb 26, 2018 at 4:58 PM, Ard Biesheuvel
[off-list ref] wrote:
On 26 February 2018 at 11:35, Andy Shevchenko [off-list ref] wrote:
quoted
On Mon, Feb 26, 2018 at 11:59 AM, Ard Biesheuvel
[off-list ref] wrote:
quoted
On 23 February 2018 at 13:12, Andy Shevchenko [off-list ref] wrote:
quoted
On Fri, Feb 23, 2018 at 2:40 PM, Ard Biesheuvel
[off-list ref] wrote:
quoted
quoted
quoted
Replace 'baudclk' with 'pclk' and p->uartclk with i2c->clkrate in
above and you are almost done.
quoted
quoted
I don't think this is better.
It's a pattern over ACPI vs. clk cases at least for now.
But hold on. We have already an example of dealing with ACPI /
non-ACPI cases for I2C controllers ? i2c-designware-platdrv.c.
Check how it's done there.

I actually totally forgot about ACPI slaves described in the table. We
need to take into account the ones with lowest bus speed.
Wow, that code is absolutely terrible.
To some degree I may say yes it is.
So even while _DSD device properties require vendor prefixes, which
are lacking in this case,
What kind? clock-frequency? Does it require prefix?
and the fact that the ACPI flavor of the
Designware I2C controller now provides two different ways to get the
timing parameters (using device properties or using SSCN/FMCN/etc ACPI
methods), you think this is a shining example of how this should be
implemented?
No, those methods because of windows driver and existed ACPI tables at
that time.
You are not supposed to uglify your case.
Also, I still think implementing a clock device using rate X just to
interrogate it for its rate (returning X) is absolutely pointless.
OTOH the deviation in the driver is what I absolutely against of.
Driver must not know the resource provider (ideally at all).
So what I can do is invent an ACPI method that returns the PCLK rate.
Would that work for you?
Again, looking into existing examples (UART, I2C, etc) we better to
create a generic helper in clock framework that would provide us a
clock based on property value.
But doing different paths for different resource providers is not what
we are looking for.

P.S. To move this somehow forward I may propose to submit an OF
driver, and discuss ACPI part after.

-- 
With Best Regards,
Andy Shevchenko
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help