while working on an extension for the pwm framework, I noticed that some
drivers and even the core only nearly consistently named all variables
and struct members holding a pointer to a struct pwm_chip "chip":
$ git grep -Pho 'struct pwm_chip \**[a-z0-9_]+(*nla:[\(a-z0-9_])' v6.5-rc1 | sort | uniq -c | sort -n
1 struct pwm_chip *pwm
1 struct pwm_chip pwm
1 struct pwm_chip pwm_chip
2 struct pwm_chip *_chip
4 struct pwm_chip *c
8 struct pwm_chip *pc
57 struct pwm_chip chip
358 struct pwm_chip *chip
With this series applied these are all called "chip" with one exception:
The led driver drivers/leds/rgb/leds-qcom-lpg.c uses "pwm". Maybe
"pwmchip" would be a better name, but I'm not sure that using "chip" was
an improvement there as this isn't a pure pwm driver. I'm not touching
that one.
The first offenders I found were the core and the atmel-hlcdc driver.
After I found these I optimistically assumed these were the only ones
with the unusual names and send patches for these out individually
before checking systematically.
The atmel-hlcdc patch is included here unchanged, the core patch now
also adapted the declaration of the changed functions in <linux/pwm.h>.
I marked these two as "superseded" in patchwork already.
All patches in this series are pairwise independent of each other. I
don't know if the staging patch should better go in via the greybus tree
or via pwm. Both is possible without needing coordination.
Best regards
Uwe
Uwe Kleine-König (10):
pwm: Use a consistent name for pwm_chip pointers in the core
pwm: atmel-hlcdc: Use consistent variable naming
pwm: bcm-kona: Consistenly name pwm_chip variables "chip"
pwm: crc: Consistenly name pwm_chip variables "chip"
pwm: cros-ec: Consistenly name pwm_chip variables "chip"
pwm: lp3943: Consistenly name pwm_chip variables "chip"
pwm: rockchip: Consistenly name pwm_chip variables "chip"
pwm: sifive: Consistenly name pwm_chip variables "chip"
pwm: sl28cpld: Consistenly name pwm_chip variables "chip"
staging: greybus: pwm: Consistenly name pwm_chip variables "chip"
drivers/pwm/core.c | 28 +++++++--------
drivers/pwm/pwm-atmel-hlcdc.c | 64 +++++++++++++++++------------------
drivers/pwm/pwm-bcm-kona.c | 4 +--
drivers/pwm/pwm-crc.c | 4 +--
drivers/pwm/pwm-cros-ec.c | 10 +++---
drivers/pwm/pwm-lp3943.c | 4 +--
drivers/pwm/pwm-rockchip.c | 4 +--
drivers/pwm/pwm-sifive.c | 4 +--
drivers/pwm/pwm-sl28cpld.c | 10 +++---
drivers/staging/greybus/pwm.c | 12 +++----
include/linux/pwm.h | 6 ++--
11 files changed, 75 insertions(+), 75 deletions(-)
base-commit: 06c2afb862f9da8dc5efa4b6076a0e48c3fbaaa5
--
2.39.2
This driver can be used in any Greybus setup where SVC and Linux Host
are connected over UART.
This driver has been tested on BeaglePlay by BeagleBoard.org. It
communicates with BeaglePlay CC1352 co-processor which serves as Greybus
SVC. This replaces the old setup with bcfserial, wpanusb and GBridge. This
driver also contains async HDLC code since communication with SVC take
place over UART using HDLC.
This patchset also introduces a compatible property for the UART that is
connected to CC1352 in BeaglePlay. I am not quite sure if it needs its
own DT Schema file under `Documentation/devicetree/bindings/serial`.
This driver has been created as a part of my Google Summer of Code 2023.
For more information, take a look at my blog.
This patchset has been tested over `next-20230825`.
My GSoC23 Blog: https://programmershideaway.xyz/tags/gsoc23/
Zephyr App: https://git.beagleboard.org/gsoc/greybus/cc1352-firmware
GitHub Branch: https://github.com/Ayush1325/linux/tree/gb-beagleplay
Video Demo: https://youtu.be/GVuIB7i5pjk
This the v3 of this patch
v2 -> v3:
- Move gb-beagleplay out of staging
v1 -> v2:
- Combine the driver into a single file
- Remove redundant code
- Fix Checkpatch complaints
- Other suggested changes
Ayush Singh (2):
dts: Add beaglecc1352 to devicetree
greybus: Add BeaglePlay Linux Driver
MAINTAINERS | 5 +
.../arm64/boot/dts/ti/k3-am625-beagleplay.dts | 4 +
drivers/greybus/Kconfig | 10 +
drivers/greybus/Makefile | 3 +-
drivers/greybus/gb-beagleplay.c | 494 ++++++++++++++++++
5 files changed, 515 insertions(+), 1 deletion(-)
create mode 100644 drivers/greybus/gb-beagleplay.c
--
2.41.0
This driver can be used in any Greybus setup where SVC and Linux Host
are connected over UART.
This driver has been tested on BeaglePlay by BeagleBoard.org. It communicates
with BeaglePlay CC1352 co-processor which serves as Greybus SVC. This
replaces the old setup with bcfserial, wpanusb and GBridge. This driver also
contains async HDLC code since communication with SVC take place over UART
using HDLC.
This patchset also introduces a compatible property for the UART that is
connected to CC1352 in BeaglePlay. I am not quite sure if it needs its
own DT Schema file under `Documentation/devicetree/bindings/serial`.
This driver has been created as a part of my Google Summer of Code 2023.
For more information, take a look at my blog.
I have made most of the changes requested in the first version of this
patch and simplified the code as well.
This patchset has been tested over `next-20230825`.
My GSoC23 Blog: https://programmershideaway.xyz/tags/gsoc23/
Zephyr Application: https://git.beagleboard.org/gsoc/greybus/cc1352-firmware
GitHub Branch: https://github.com/Ayush1325/linux/tree/gb-beagleplay
Video Demo: https://youtu.be/GVuIB7i5pjk
Ayush Singh (2):
dts: Add beaglecc1352 to devicetree
staging/greybus: Add BeaglePlay Linux Driver
MAINTAINERS | 5 +
.../arm64/boot/dts/ti/k3-am625-beagleplay.dts | 4 +
drivers/staging/greybus/Kconfig | 9 +
drivers/staging/greybus/Makefile | 3 +
drivers/staging/greybus/gb-beagleplay.c | 493 ++++++++++++++++++
5 files changed, 514 insertions(+)
create mode 100644 drivers/staging/greybus/gb-beagleplay.c
--
2.41.0
This driver is for BeaglePlay by BeagleBoard.org. It communicates with
BeaglePlay CC1352 co-processor which serves as Greybus SVC [1]. This
replaces the old setup with bcfserial, wpanusb and GBridge.
This driver also contains async HDLC code since communication with
CC1352 take place over UART using HDLC.
Since this is my first driver, I expect there to be some mistakes, so
feel free to give feedback and point out things I might have missed or
might not be aware of.
This driver has been created as a part of my Google Summer of Code 2023.
For more information, take a look at my blog [2]
[1]: https://git.beagleboard.org/gsoc/greybus/cc1352-firmware
[2]: https://programmershideaway.xyz/tags/gsoc23/
Ayush Singh (4):
Add beagleplaygreybus to devicetree
Add beagleplay greybus driver
Add HDLC helper for beagleplay driver
Allow building beagleplay greybus driver
.../arm64/boot/dts/ti/k3-am625-beagleplay.dts | 4 +
drivers/staging/greybus/Kconfig | 9 +
drivers/staging/greybus/Makefile | 5 +
.../greybus/beagleplay-greybus-driver.c | 264 ++++++++++++++++++
.../greybus/beagleplay-greybus-driver.h | 28 ++
drivers/staging/greybus/hdlc.c | 229 +++++++++++++++
drivers/staging/greybus/hdlc.h | 137 +++++++++
7 files changed, 676 insertions(+)
create mode 100644 drivers/staging/greybus/beagleplay-greybus-driver.c
create mode 100644 drivers/staging/greybus/beagleplay-greybus-driver.h
create mode 100644 drivers/staging/greybus/hdlc.c
create mode 100644 drivers/staging/greybus/hdlc.h
--
2.41.0