Re: [PATCH V4 Resend 1/2] i2c/adapter: Add bus recovery infrastructure

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Uwe,

On 28 September 2012 12:57, Uwe Kleine-König
<u.kleine-koenig@xxxxxxxxxxxxxx> wrote:
> On Fri, Sep 28, 2012 at 09:11:34AM +0530, viresh kumar wrote:

>> This was done, because few platforms may not have configuration bits to read
>> status of sda line.. For them skip_sda_polling was required.
>>
>> Whereas, others would need this to see if we can return early.

> What is the upside of returning early? I'd say, just don't do it.

Save time. Why give additional clocks when you don't actually need them?
Can use likely/unlikely to make it more efficient for 9 clock pulse
scenario though.

>> >> + * @put_gpio: called after recover_bus() to get padmux configured for scl line
>> >> + *   as scl. Only required if is_gpio_recovery == true.
>> >> + * @scl_gpio: gpio number of the scl line. Only required if is_gpio_recovery ==
>> >> + *   true.
>> >> + * @sda_gpio: gpio number of the sda line. Only required if is_gpio_recovery ==
>> >> + *   true and skip_sda_polling == false.
>> >> + * @scl_gpio_flags: flag for gpio_request_one of scl_gpio. 0 implies
>> >> + *   GPIOF_OUT_INIT_LOW.
>> > IMHO you should not make this configurable but use
>> >
>> >         GPIOF_OUT_INIT_HIGH | GPIOF_OPEN_DRAIN
>>
>> Discussed here:
>> http://www.spinics.net/lists/linux-i2c/msg07325.html

> Why do you default to GPIOF_OUT_INIT_LOW? The idle state of scl is high.
> Using low here introduces an additional clk pulse.

We aren't giving any clock pulses to scl line. Are you talking about sda?

--
viresh
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux