All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dmitry Osipenko <digetx@gmail.com>
To: "Thierry Reding" <thierry.reding@gmail.com>,
	"Jonathan Hunter" <jonathanh@nvidia.com>,
	"Laxman Dewangan" <ldewangan@nvidia.com>,
	"Wolfram Sang" <wsa@the-dreams.de>,
	"Michał Mirosław" <mirq-linux@rere.qmqm.pl>,
	"Andy Shevchenko" <andy.shevchenko@gmail.com>
Cc: linux-i2c@vger.kernel.org, linux-tegra@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v8 00/32] Improvements for Tegra I2C driver
Date: Wed, 23 Sep 2020 04:19:43 +0300	[thread overview]
Message-ID: <aee6c548-241d-2cc5-415e-9f0b60177d67@gmail.com> (raw)
In-Reply-To: <20200922225155.10798-1-digetx@gmail.com>

23.09.2020 01:51, Dmitry Osipenko пишет:
> Hello!
> 
> This series performs refactoring of the Tegra I2C driver code and hardens
> the atomic-transfer mode.
> 
> Changelog:
> 
> v8: - Dropped these patches:
> 
>         i2c: tegra: Don't fall back to PIO mode if DMA configuration fails
>         i2c: tegra: Consolidate error handling in tegra_i2c_xfer_msg()
> 
>     - The "Use clk-bulk helpers" patch now uses clk_bulk_get() instead of
>       clk_bulk_get_all().
> 
>     - Updated these patches:
> 
>         i2c: tegra: Improve formatting of variables
>         i2c: tegra: Clean up variable names
>         i2c: tegra: Clean up and improve comments
> 
>       All the changes are made in response to comments from Thierry Reding
>       that he gave to v7.
> 
>       I kept the "Check errors for both positive and negative values"
>       patch because me and Andy Shevchenko are thinking that it's a good
>       improvement.
> 
>     - Added t-b and r-b from Thierry Reding.
> 
> v7: - Reworked the "Clean up probe function" patch by moving out all
>       variable renamings into the "Clean up variable names" patch.
>       This results in a nicer diff, which was asked by Andy Shevchenko.
> 
>     - Squashed "Improve coding style of tegra_i2c_wait_for_config_load()"
>       patch into "Factor out register polling into separate function" in
>       order avoid unnecessary ping-pong changes, which was asked by
>       Andy Shevchenko.
> 
>     - Added more indentation improvements, it should be ideal now.
> 
>     - I haven't changed order of the "Clean up variable types" patch,
>       which was suggested by Andy Shevchenko, because I already moved
>       that patch multiple times and we decided to sort patches starting
>       with more important cleanups and down to less important. The type
>       changes are more important than shuffling code around, IMO.
> 
> v6: - Added new patch that adds missing RPM puts, thanks to Andy Shevchenko
>       for the suggestion.
> 
>     - Improved commit messages by extending them with more a more detailed
>       explanation of the changes.
> 
>     - Added clarifying comment to the "Use reset_control_reset()" change,
>       which was asked by Andy Shevchenko.
> 
>     - Refactored the "Clean up probe function" patch by moving the
>       dev_err_probe() change into the "Use clk-bulk helpers" patch,
>       which was suggested by Andy Shevchenko.
> 
>     - Improved ordering of the patches like it was suggested by
>       Andy Shevchenko.
> 
>     - Added Andy Shevchenko to suggested-by of the "Use clk-bulk helpers"
>       patch.
> 
>     - Improved "Remove i2c_dev.clk_divisor_non_hs_mode member" patch by
>       making the case-switch to use "fast plus mode" timing if clock rate
>       is out-of-range. Just to make it more consistent.
> 
>     - The "Improve tegra_i2c_dev structure" patch is squashed into
>      "Improve formatting of variables" and "Clean up types/names" patches.
> 
>     - All variable-renaming changes are squashed into a single "Clean up
>       variable names" patch.
> 
>     - Made extra minor improvement to various patches, like more comments
>       and indentations improved.
> 
> v5: - Dropped the "Factor out runtime PM and hardware initialization"
>       patch, like it was suggested by Michał Mirosław. Instead a less
>       invasive "Factor out hardware initialization into separate function"
>       patch added, it doesn't touch the RPM initialization.
> 
>     - The "Remove outdated barrier()" patch now removes outdated comments.
> 
>     - Updated commit description of the "Remove "dma" variable" patch,
>       saying that the transfer mode may be changed by a callee. This was
>       suggested by Michał Mirosław.
> 
>     - Reworked the "Clean up and improve comments" patch. Couple more
>       comments are corrected and reworded now.
> 
>     - Added r-b's from Michał Mirosław.
> 
>     - New patches:
> 
>         i2c: tegra: Mask interrupt in tegra_i2c_issue_bus_clear()
>         i2c: tegra: Remove redundant check in tegra_i2c_issue_bus_clear()
>         i2c: tegra: Don't fall back to PIO mode if DMA configuration fails
>         i2c: tegra: Clean up variable types
>         i2c: tegra: Improve tegra_i2c_dev structure
> 
> v4: - Reordered patches in the fixes/features/cleanups order like it was
>       suggested by Andy Shevchenko.
> 
>     - Now using clk-bulk API, which was suggested by Andy Shevchenko.
> 
>     - Reworked "Make tegra_i2c_flush_fifos() usable in atomic transfer"
>       patch to use iopoll API, which was suggested by Andy Shevchenko.
> 
>     - Separated "Clean up probe function" into several smaller patches.
> 
>     - Squashed "Add missing newline before returns" patch into
>       "Clean up whitespaces, newlines and indentation".
> 
>     - The "Drop '_timeout' from wait/poll function names" is renamed to
>       "Rename wait/poll functions".
> 
>     - The "Use reset_control_reset()" is changed to not fail tegra_i2c_init(),
>       but only emit warning. This should be more friendly behaviour in oppose
>       to having a non-bootable machine if reset-control fails.
> 
>     - New patches:
> 
>         i2c: tegra: Remove error message used for devm_request_irq() failure
>         i2c: tegra: Use devm_platform_get_and_ioremap_resource()
>         i2c: tegra: Use platform_get_irq()
>         i2c: tegra: Use clk-bulk helpers
>         i2c: tegra: Remove bogus barrier()
>         i2c: tegra: Factor out register polling into separate function
>         i2c: tegra: Consolidate error handling in tegra_i2c_xfer_msg()
>         i2c: tegra: Clean up and improve comments
>         i2c: tegra: Rename couple "ret" variables to "err"
> 
> v3: - Optimized "Make tegra_i2c_flush_fifos() usable in atomic transfer"
>       patch by pre-checking FIFO state before starting to poll using
>       ktime API, which may be expensive under some circumstances.
> 
>     - The "Clean up messages in the code" patch now makes all messages
>       to use proper capitalization of abbreviations. Thanks to Andy Shevchenko
>       and Michał Mirosław for the suggestion.
> 
>     - The "Remove unnecessary whitespaces and newlines" patch is transformed
>       into "Clean up whitespaces and newlines", it now also adds missing
>       newlines and spaces.
> 
>     - Reworked the "Clean up probe function" patch in accordance to
>       suggestion from Michał Mirosław by factoring out only parts of
>       the code that make error unwinding cleaner.
> 
>     - Added r-b from Michał Mirosław.
> 
>     - Added more patches:
> 
>         i2c: tegra: Reorder location of functions in the code
>         i2c: tegra: Factor out packet header setup from tegra_i2c_xfer_msg()
>         i2c: tegra: Remove "dma" variable
>         i2c: tegra: Initialization div-clk rate unconditionally
>         i2c: tegra: Remove i2c_dev.clk_divisor_non_hs_mode member
> 
> v2: - Cleaned more messages in the "Clean up messages in the code" patch.
> 
>     - The error code of reset_control_reset() is checked now.
> 
>     - Added these new patches to clean up couple more things:
> 
>         i2c: tegra: Check errors for both positive and negative values
>         i2c: tegra: Improve coding style of tegra_i2c_wait_for_config_load()
>         i2c: tegra: Remove unnecessary whitespaces and newlines
>         i2c: tegra: Rename variable in tegra_i2c_issue_bus_clear()
>         i2c: tegra: Improve driver module description
> 
> Dmitry Osipenko (32):
>   i2c: tegra: Make tegra_i2c_flush_fifos() usable in atomic transfer
>   i2c: tegra: Add missing pm_runtime_put()
>   i2c: tegra: Handle potential error of tegra_i2c_flush_fifos()
>   i2c: tegra: Mask interrupt in tegra_i2c_issue_bus_clear()
>   i2c: tegra: Initialize div-clk rate unconditionally
>   i2c: tegra: Remove i2c_dev.clk_divisor_non_hs_mode member
>   i2c: tegra: Runtime PM always available on Tegra
>   i2c: tegra: Remove error message used for devm_request_irq() failure
>   i2c: tegra: Use reset_control_reset()
>   i2c: tegra: Use devm_platform_get_and_ioremap_resource()
>   i2c: tegra: Use platform_get_irq()
>   i2c: tegra: Use clk-bulk helpers
>   i2c: tegra: Move out all device-tree parsing into tegra_i2c_parse_dt()
>   i2c: tegra: Clean up probe function
>   i2c: tegra: Reorder location of functions in the code
>   i2c: tegra: Clean up variable types
>   i2c: tegra: Remove outdated barrier()
>   i2c: tegra: Remove likely/unlikely from the code
>   i2c: tegra: Remove redundant check in tegra_i2c_issue_bus_clear()
>   i2c: tegra: Remove "dma" variable from tegra_i2c_xfer_msg()
>   i2c: tegra: Rename wait/poll functions
>   i2c: tegra: Factor out error recovery from tegra_i2c_xfer_msg()
>   i2c: tegra: Factor out packet header setup from tegra_i2c_xfer_msg()
>   i2c: tegra: Factor out register polling into separate function
>   i2c: tegra: Factor out hardware initialization into separate function
>   i2c: tegra: Check errors for both positive and negative values
>   i2c: tegra: Improve formatting of variables
>   i2c: tegra: Clean up variable names
>   i2c: tegra: Clean up printk messages
>   i2c: tegra: Clean up and improve comments
>   i2c: tegra: Clean up whitespaces, newlines and indentation
>   i2c: tegra: Improve driver module description
> 
>  drivers/i2c/busses/i2c-tegra.c | 1417 ++++++++++++++++----------------
>  1 file changed, 692 insertions(+), 725 deletions(-)
> 

Ahh, I missed to add Andy's r-b to all patches.

Hope it's okay if I'll add it here like this:

Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>

  parent reply	other threads:[~2020-09-23  1:19 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-22 22:51 [PATCH v8 00/32] Improvements for Tegra I2C driver Dmitry Osipenko
2020-09-22 22:51 ` [PATCH v8 01/32] i2c: tegra: Make tegra_i2c_flush_fifos() usable in atomic transfer Dmitry Osipenko
2020-09-22 22:51 ` [PATCH v8 02/32] i2c: tegra: Add missing pm_runtime_put() Dmitry Osipenko
2020-09-22 22:51 ` [PATCH v8 03/32] i2c: tegra: Handle potential error of tegra_i2c_flush_fifos() Dmitry Osipenko
2020-09-22 22:51 ` [PATCH v8 04/32] i2c: tegra: Mask interrupt in tegra_i2c_issue_bus_clear() Dmitry Osipenko
2020-09-22 22:51 ` [PATCH v8 05/32] i2c: tegra: Initialize div-clk rate unconditionally Dmitry Osipenko
2020-09-22 22:51 ` [PATCH v8 06/32] i2c: tegra: Remove i2c_dev.clk_divisor_non_hs_mode member Dmitry Osipenko
2020-09-22 22:51 ` [PATCH v8 07/32] i2c: tegra: Runtime PM always available on Tegra Dmitry Osipenko
2020-09-22 22:51 ` [PATCH v8 08/32] i2c: tegra: Remove error message used for devm_request_irq() failure Dmitry Osipenko
2020-09-22 22:51 ` [PATCH v8 09/32] i2c: tegra: Use reset_control_reset() Dmitry Osipenko
2020-09-22 22:51 ` [PATCH v8 10/32] i2c: tegra: Use devm_platform_get_and_ioremap_resource() Dmitry Osipenko
2020-09-22 22:51 ` [PATCH v8 11/32] i2c: tegra: Use platform_get_irq() Dmitry Osipenko
2020-09-22 22:51 ` [PATCH v8 12/32] i2c: tegra: Use clk-bulk helpers Dmitry Osipenko
2020-09-29 19:33   ` Wolfram Sang
2020-09-29 21:01     ` Dmitry Osipenko
2020-09-29 21:46       ` Wolfram Sang
2020-09-22 22:51 ` [PATCH v8 13/32] i2c: tegra: Move out all device-tree parsing into tegra_i2c_parse_dt() Dmitry Osipenko
2020-09-22 22:51 ` [PATCH v8 14/32] i2c: tegra: Clean up probe function Dmitry Osipenko
2020-09-22 22:51 ` [PATCH v8 15/32] i2c: tegra: Reorder location of functions in the code Dmitry Osipenko
2020-09-22 22:51 ` [PATCH v8 16/32] i2c: tegra: Clean up variable types Dmitry Osipenko
2020-09-22 22:51 ` [PATCH v8 17/32] i2c: tegra: Remove outdated barrier() Dmitry Osipenko
2020-09-22 22:51 ` [PATCH v8 18/32] i2c: tegra: Remove likely/unlikely from the code Dmitry Osipenko
2020-09-22 22:51 ` [PATCH v8 19/32] i2c: tegra: Remove redundant check in tegra_i2c_issue_bus_clear() Dmitry Osipenko
2020-09-22 22:51 ` [PATCH v8 20/32] i2c: tegra: Remove "dma" variable from tegra_i2c_xfer_msg() Dmitry Osipenko
2020-09-22 22:51 ` [PATCH v8 21/32] i2c: tegra: Rename wait/poll functions Dmitry Osipenko
2020-09-22 22:51 ` [PATCH v8 22/32] i2c: tegra: Factor out error recovery from tegra_i2c_xfer_msg() Dmitry Osipenko
2020-09-22 22:51 ` [PATCH v8 23/32] i2c: tegra: Factor out packet header setup " Dmitry Osipenko
2020-09-29 21:16   ` Dmitry Osipenko
2020-09-22 22:51 ` [PATCH v8 24/32] i2c: tegra: Factor out register polling into separate function Dmitry Osipenko
2020-09-22 22:51 ` [PATCH v8 25/32] i2c: tegra: Factor out hardware initialization " Dmitry Osipenko
2020-09-22 22:51 ` [PATCH v8 26/32] i2c: tegra: Check errors for both positive and negative values Dmitry Osipenko
2020-09-22 22:51 ` [PATCH v8 27/32] i2c: tegra: Improve formatting of variables Dmitry Osipenko
2020-09-22 22:51 ` [PATCH v8 28/32] i2c: tegra: Clean up variable names Dmitry Osipenko
2020-09-22 22:51 ` [PATCH v8 29/32] i2c: tegra: Clean up printk messages Dmitry Osipenko
2020-09-22 22:51 ` [PATCH v8 30/32] i2c: tegra: Clean up and improve comments Dmitry Osipenko
2020-09-22 22:51 ` [PATCH v8 31/32] i2c: tegra: Clean up whitespaces, newlines and indentation Dmitry Osipenko
2020-09-22 22:51 ` [PATCH v8 32/32] i2c: tegra: Improve driver module description Dmitry Osipenko
2020-09-23  1:19 ` Dmitry Osipenko [this message]
2020-09-23  7:01   ` [PATCH v8 00/32] Improvements for Tegra I2C driver Wolfram Sang
2020-09-23 16:10     ` Dmitry Osipenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aee6c548-241d-2cc5-415e-9f0b60177d67@gmail.com \
    --to=digetx@gmail.com \
    --cc=andy.shevchenko@gmail.com \
    --cc=jonathanh@nvidia.com \
    --cc=ldewangan@nvidia.com \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=mirq-linux@rere.qmqm.pl \
    --cc=thierry.reding@gmail.com \
    --cc=wsa@the-dreams.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.