[PATCH v2 00/17] firewire: core/ohci: use guard macro for any type of lock primitives

Takashi Sakamoto posted 17 patches 1 year, 4 months ago
drivers/firewire/core-card.c        |  60 ++---
drivers/firewire/core-cdev.c        | 252 ++++++++----------
drivers/firewire/core-device.c      |  83 +++---
drivers/firewire/core-iso.c         |   5 +-
drivers/firewire/core-topology.c    |   5 +-
drivers/firewire/core-transaction.c | 146 ++++------
drivers/firewire/ohci.c             | 399 ++++++++++++----------------
7 files changed, 403 insertions(+), 547 deletions(-)
[PATCH v2 00/17] firewire: core/ohci: use guard macro for any type of lock primitives
Posted by Takashi Sakamoto 1 year, 4 months ago
Hi,

This patchset is a revised version of the previous one.

https://lore.kernel.org/lkml/20240804130225.243496-1-o-takashi@sakamocchi.jp/

The guard macro was firstly introduced in v6.5 kernel, and already
available for spin_lock, mutex, RCU, and R/W semaphore. It is useful to
ensure releasing lock in block.

This patchset includes changes to replace lock/release codes with the guard
macro.

* Changes in v2:
  * use scoped_guard() instead of guard() just after label so that
    statements are expanded there instead of declarations.

Takashi Sakamoto (17):
  firewire: core: use guard macro to maintain static packet data for phy
    configuration
  firewire: core: use guard macro to maintain the list of card
  firewire: core: use guard macro to maintain the list of cdev clients
  firewire: ohci: use guard macro to serialize accesses to phy registers
  firewire: core: use guard macro to maintain RCU scope for transaction
    address handler
  firewire: core: use guard macro to access to IDR for fw_device
  firewire: core: use guard macro to maintain the list of address
    handler for transaction
  firewire: core: use guard macro to disable local IRQ
  firewire: core: use guard macro to maintain list of events for
    userspace clients
  firewire: core: use guard macro to maintain IDR of isochronous
    resources for userspace clients
  firewire: core: use guard macro to maintain isochronous context for
    userspace client
  firewire: core: use guard macro to maintain list of receivers for phy
    configuration packets
  firewire: core: use guard macro to maintain list of asynchronous
    transaction
  firewire: core: use guard macro to maintain properties of fw_card
  firewire: ohci: use guard macro to maintain bus time
  firewire: ohci: use guard macro to maintain image of configuration ROM
  firewire: ohci: use guard macro to serialize operations for
    isochronous contexts

 drivers/firewire/core-card.c        |  60 ++---
 drivers/firewire/core-cdev.c        | 252 ++++++++----------
 drivers/firewire/core-device.c      |  83 +++---
 drivers/firewire/core-iso.c         |   5 +-
 drivers/firewire/core-topology.c    |   5 +-
 drivers/firewire/core-transaction.c | 146 ++++------
 drivers/firewire/ohci.c             | 399 ++++++++++++----------------
 7 files changed, 403 insertions(+), 547 deletions(-)

-- 
2.43.0
Re: [PATCH v2 00/17] firewire: core/ohci: use guard macro for any type of lock primitives
Posted by Takashi Sakamoto 1 year, 4 months ago
On Mon, Aug 05, 2024 at 05:53:51PM +0900, Takashi Sakamoto wrote:
> Hi,
> 
> This patchset is a revised version of the previous one.
> 
> https://lore.kernel.org/lkml/20240804130225.243496-1-o-takashi@sakamocchi.jp/
> 
> The guard macro was firstly introduced in v6.5 kernel, and already
> available for spin_lock, mutex, RCU, and R/W semaphore. It is useful to
> ensure releasing lock in block.
> 
> This patchset includes changes to replace lock/release codes with the guard
> macro.
> 
> * Changes in v2:
>   * use scoped_guard() instead of guard() just after label so that
>     statements are expanded there instead of declarations.
> 
> Takashi Sakamoto (17):
>   firewire: core: use guard macro to maintain static packet data for phy
>     configuration
>   firewire: core: use guard macro to maintain the list of card
>   firewire: core: use guard macro to maintain the list of cdev clients
>   firewire: ohci: use guard macro to serialize accesses to phy registers
>   firewire: core: use guard macro to maintain RCU scope for transaction
>     address handler
>   firewire: core: use guard macro to access to IDR for fw_device
>   firewire: core: use guard macro to maintain the list of address
>     handler for transaction
>   firewire: core: use guard macro to disable local IRQ
>   firewire: core: use guard macro to maintain list of events for
>     userspace clients
>   firewire: core: use guard macro to maintain IDR of isochronous
>     resources for userspace clients
>   firewire: core: use guard macro to maintain isochronous context for
>     userspace client
>   firewire: core: use guard macro to maintain list of receivers for phy
>     configuration packets
>   firewire: core: use guard macro to maintain list of asynchronous
>     transaction
>   firewire: core: use guard macro to maintain properties of fw_card
>   firewire: ohci: use guard macro to maintain bus time
>   firewire: ohci: use guard macro to maintain image of configuration ROM
>   firewire: ohci: use guard macro to serialize operations for
>     isochronous contexts
> 
>  drivers/firewire/core-card.c        |  60 ++---
>  drivers/firewire/core-cdev.c        | 252 ++++++++----------
>  drivers/firewire/core-device.c      |  83 +++---
>  drivers/firewire/core-iso.c         |   5 +-
>  drivers/firewire/core-topology.c    |   5 +-
>  drivers/firewire/core-transaction.c | 146 ++++------
>  drivers/firewire/ohci.c             | 399 ++++++++++++----------------
>  7 files changed, 403 insertions(+), 547 deletions(-)

Applied to for-next branch.


Regards

Takashi Sakamoto