From: Thomas Gleixner <tglx@linutronix.de>
To: LKML <linux-kernel@vger.kernel.org>
Cc: Richard Cochran <richardcochran@gmail.com>,
netdev@vger.kernel.org,
Vadim Fedorenko <vadim.fedorenko@linux.dev>,
Paolo Abeni <pabeni@redhat.com>, Jakub Kicinski <kuba@kernel.org>
Subject: [patch V2 00/13] ptp: Belated spring cleaning of the chardev driver
Date: Wed, 25 Jun 2025 13:52:23 +0200 (CEST) [thread overview]
Message-ID: <20250625114404.102196103@linutronix.de> (raw)
This is V2 of the series. V1 can be found here:
https://lore.kernel.org/all/20250620130144.351492917@linutronix.de
When looking into supporting auxiliary clocks in the PTP ioctl, the
inpenetrable ptp_ioctl() letter soup bothered me enough to clean it up.
The code (~400 lines!) is really hard to follow due to a gazillion of
local variables, which are only used in certain case scopes, and a
mixture of gotos, breaks and direct error return paths.
Clean it up by splitting out the IOCTL functionality into seperate
functions, which contain only the required local variables and are trivial
to follow. Complete the cleanup by converting the code to lock guards and
get rid of all gotos.
That reduces the code size by 48 lines and also the binary text size is
80 bytes smaller than the current maze.
The series is split up into one patch per IOCTL command group for easy
review.
Changes vs. V1:
- Picked up Reviewed tags as appropriate
- Dropped the pointless memset()s in GETFUNC/SETFUNC - Paolo
- Dropped the __free() in ptp_open/read() - Jakub
Applies against v6.16-rc1 and also cleanly against next. It's also
available from git:
git://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git timers/ptp/driver
Thanks,
tglx
---
ptp_chardev.c | 734 ++++++++++++++++++++++++++--------------------------------
1 file changed, 341 insertions(+), 393 deletions(-)
next reply other threads:[~2025-06-25 11:52 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-25 11:52 Thomas Gleixner [this message]
2025-06-25 11:52 ` [patch V2 01/13] ptp: Split out PTP_CLOCK_GETCAPS ioctl code Thomas Gleixner
2025-06-25 11:52 ` [patch V2 02/13] ptp: Split out PTP_EXTTS_REQUEST " Thomas Gleixner
2025-06-25 11:52 ` [patch V2 03/13] ptp: Split out PTP_PEROUT_REQUEST " Thomas Gleixner
2025-06-25 11:52 ` [patch V2 04/13] ptp: Split out PTP_ENABLE_PPS " Thomas Gleixner
2025-06-25 11:52 ` [patch V2 05/13] ptp: Split out PTP_SYS_OFFSET_PRECISE " Thomas Gleixner
2025-06-25 11:52 ` [patch V2 06/13] ptp: Split out PTP_SYS_OFFSET_EXTENDED " Thomas Gleixner
2025-06-25 11:52 ` [patch V2 07/13] ptp: Split out PTP_SYS_OFFSET " Thomas Gleixner
2025-06-25 11:52 ` [patch V2 08/13] ptp: Split out PTP_PIN_GETFUNC " Thomas Gleixner
2025-06-25 11:52 ` [patch V2 09/13] ptp: Split out PTP_PIN_SETFUNC " Thomas Gleixner
2025-06-25 11:52 ` [patch V2 10/13] ptp: Split out PTP_MASK_CLEAR_ALL " Thomas Gleixner
2025-06-25 11:52 ` [patch V2 11/13] ptp: Split out PTP_MASK_EN_SINGLE " Thomas Gleixner
2025-06-25 11:52 ` [patch V2 12/13] ptp: Convert chardev code to lock guards Thomas Gleixner
2025-06-25 11:52 ` [patch V2 13/13] ptp: Simplify ptp_read() Thomas Gleixner
2025-06-25 14:40 ` [patch V2 00/13] ptp: Belated spring cleaning of the chardev driver Richard Cochran
2025-06-25 16:05 ` Thomas Gleixner
2025-06-25 16:11 ` Richard Cochran
2025-06-27 1:00 ` patchwork-bot+netdevbpf
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=20250625114404.102196103@linutronix.de \
--to=tglx@linutronix.de \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=richardcochran@gmail.com \
--cc=vadim.fedorenko@linux.dev \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®