On Mon, Jun 6, 2022 at 4:36 PM William Breathitt Gray <william.gray@xxxxxxxxxx> wrote: > > The PC104/ISA drivers were updated to use I/O memory accessor calls such > as ioread8()/iowrite8() in a previous patch series [1]. 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. I > hope to consolidate some of these code blocks in future patchsets. > > [1] https://lore.kernel.org/all/cover.1652201921.git.william.gray@xxxxxxxxxx/ > > William Breathitt Gray (5): > gpio: 104-dio-48e: Implement and utilize register structures > gpio: 104-idi-48: Implement and utilize register structures > gpio: 104-idio-16: Implement and utilize register structures > gpio: gpio-mm: Implement and utilize register structures > gpio: ws16c48: Implement and utilize register structures > > drivers/gpio/gpio-104-dio-48e.c | 157 +++++++++++++++++++++----------- > drivers/gpio/gpio-104-idi-48.c | 128 +++++++++++++------------- > drivers/gpio/gpio-104-idio-16.c | 58 ++++++++---- > drivers/gpio/gpio-gpio-mm.c | 116 ++++++++++++++--------- > drivers/gpio/gpio-ws16c48.c | 119 +++++++++++++++++------- > 5 files changed, 366 insertions(+), 212 deletions(-) > > > base-commit: f2906aa863381afb0015a9eb7fefad885d4e5a56 > -- > 2.36.1 > Hi William, Unlike the previous patches which were relatively simple, these seem like there's a lot of space for breakage (even though they're attempting to do a good thing). Have you tested the code on real hardware? Bart