Hi Chris,
On Fri, Sep 29, 2017 at 5:32 PM, Chris Brandt <[email protected]> wrote:
> Most systems with this i2c are going to have a clock of either 33.3MHz or
> 32MHz. That 4% difference is not reason enough to warrant that the driver
> to completely fail.
>
> Signed-off-by: Chris Brandt <[email protected]>
> ---
> drivers/i2c/busses/i2c-riic.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/i2c/busses/i2c-riic.c b/drivers/i2c/busses/i2c-riic.c
> index c811af4c8d81..0a61beeb384a 100644
> --- a/drivers/i2c/busses/i2c-riic.c
> +++ b/drivers/i2c/busses/i2c-riic.c
> @@ -299,12 +299,13 @@ static int riic_init_hw(struct riic_dev *riic, u32 spd)
>
> /*
> * TODO: Implement formula to calculate the timing values depending on
> - * variable parent clock rate and arbitrary bus speed
> + * variable parent clock rate and arbitrary bus speed.
> + * For now, just use calculations based on a 33325000Hz clock.
> */
> rate = clk_get_rate(riic->clk);
> - if (rate != 33325000) {
> + if (!rate) {
> dev_err(&riic->adapter.dev,
> - "invalid parent clk (%lu). Must be 33325000Hz\n",
> rate);
> + "invalid parent clk (%lu)\n", rate);
The printed rate is always zero here.
> clk_disable_unprepare(riic->clk);
> return -EINVAL;
> }
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds