lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMRc=MeoZ9tp_AJPqD8DWGa_HJojwSrwfZMbTv_6uRq-dSMz9w@mail.gmail.com>
Date:   Tue, 19 Jul 2022 10:09:33 +0200
From:   Bartosz Golaszewski <brgl@...ev.pl>
To:     William Breathitt Gray <william.gray@...aro.org>
Cc:     Linus Walleij <linus.walleij@...aro.org>,
        "open list:GPIO SUBSYSTEM" <linux-gpio@...r.kernel.org>,
        Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
        John Hentges <jhentges@...esio.com>,
        Jay Dolan <jay.dolan@...esio.com>,
        Fred Eckert <Frede@...laser.com>,
        Paul Demetrotion <pdemetrotion@...systems.com>,
        techsupport@...systems.com,
        Andy Shevchenko <andy.shevchenko@...il.com>
Subject: Re: [PATCH v3 0/6] gpio: Implement and utilize register structures
 for ISA drivers

On Mon, Jul 18, 2022 at 10:56 PM William Breathitt Gray
<william.gray@...aro.org> wrote:
>
> Changes in v3:
>  - Updated contact information in MAINTAINERS
>  - Added help text for GPIO_I8255 Kconfig option
>  - Move include/linux/gpio/i8255.h to drivers/gpio/gpio-i8255.h
>  - Include "gpio-i8255.h" instead of <linux/gpio/i8255.h>
>  - Include linux/types.h instead of linux/compiler_types.h
>  - Add underscores for *PORTC_LOWER* and *PORTC_UPPER* defines
>  - Move (offset % 8) expression to a port_offset const above the io_port
>    const in i8255_direction_mask(); this should help optimize assembly
>    instructions on some architectures
>  - Implement an opaque i8255_state struct to organize and access i8255
>    device states; this replaces the control_state array passed to
>    various i8255 library functions in previous patchsets
>  - Implement and provide a i8255_state_init() function to initialize the
>    i8255_state struct for a consumer
>  - Use a spinlock within i8255 library functions to protect access to
>    i8255 states and synchronize I/O operations; a spinlock is used so
>    that these functions may be used within an interrupt context
>  - Export the i8255 library symbols within a new I8255 namespace
>  - Update the 104-dio-48e, 104-idi-48, gpio-mm drivers to use the new
>    i8255_state struct and I8255 namespace
>
> The PC104/ISA drivers were updated to use I/O memory accessor calls such
> as ioread8()/iowrite8() in a previous patch series [0]. This
> patchset is a continuation of the effort to improve the code readability
> and reduce magic numbers by implementing and utilizing named register
> data structures.
>
> One of the benefits is that we can now observe more easily similarities
> in devices that share similar interfaces; such as the i8255 interfaces
> used by the 104-DIO-48E, 104-IDI-48, and GPIO-MM drivers -- as well as
> the similar interface used by the 104-IDIO-16 and PCI-IDIO-16 drivers.
>
> A new module supporting the Intel 8255 interface is introduced to
> consolidate the common code found among the 104-DIO-48E, 104-IDI-48, and
> GPIO-MM drivers.
>
> [0] https://lore.kernel.org/all/cover.1652201921.git.william.gray@linaro.org/
>
> William Breathitt Gray (6):
>   gpio: ws16c48: Implement and utilize register structures
>   gpio: 104-idio-16: Implement and utilize register structures
>   gpio: i8255: Introduce the Intel 8255 interface library module
>   gpio: 104-dio-48e: Implement and utilize register structures
>   gpio: 104-idi-48: Implement and utilize register structures
>   gpio: gpio-mm: Implement and utilize register structures
>

Hey William!

Are you planning to submit a fourth version anytime soon? I am willing
to take it for the next merge window if it arrives soon - like
tomorrow at the latest.

Bart

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ