History log of /freebsd-current/usr.sbin/pwm/pwm.c
Revision Date Author Comments
# b3e76948 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: two-line .h pattern

Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/


# 4d846d26 10-May-2023 Warner Losh <imp@FreeBSD.org>

spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD

The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch
up to that fact and revert to their recommended match of BSD-2-Clause.

Discussed with: pfg
MFC After: 3 days
Sponsored by: Netflix


# 17b14d8f 11-Mar-2021 Oskar Holmund <oskar.holmlund@ohdata.se>

usr.sbin/pwm/pwm add support for flags

The pwm utility cant set the only flag defined (PWM_POLARITY_INVERTED) so this
patch add the option -I (capital letter i) to send it to the drivers.

None of existing PWM driver have implemented support for flags.
But soon:ish I will put up an review of a pwm driver using TI OMAP DMTimer.

Differential Revision: https://reviews.freebsd.org/D29137
MFC after: 2 weeks


# a4f28d42 25-Sep-2020 Andriy Gapon <avg@FreeBSD.org>

pwm(8): fix potential duty overflow, use unsigneds for period and duty

For a long period value and the duty specified as a percentage,
there could be an overflow.
Using unsigned integers aligns the code with struct pwm_state and allows
to safely use periods up to 4 seconds where supported by drivers.

MFC after: 2 weeks


# 31b0753d 25-Sep-2020 Andriy Gapon <avg@FreeBSD.org>

pwm(8): do not exit with failure after successfully reading configuration

MFC after: 1 week


# e213223c 03-Dec-2019 Emmanuel Vadot <manu@FreeBSD.org>

Remove "all rights reserved" from copyright for the file I own.
Some of the files have both me and Jared McNeill and he gave me
permission to remove it from his files too.


# 26f3ca61 17-Jun-2019 Ian Lepore <ian@FreeBSD.org>

Rearrange the argument checking and processing so that enable and disable
can be combined with configuring the period and duty cycle (the same ioctl
sets all 3 values at once, so there's no reason to require the user to run
the program twice to get all 3 things set).


# 780c3de8 17-Jun-2019 Ian Lepore <ian@FreeBSD.org>

Remove everything related to channels from the pwmc public interface, now
that there is a pwmc(4) instance per channel and the channel number is
maintained as a driver ivar rather than being passed in from userland.


# 7d763870 17-Jun-2019 Ian Lepore <ian@FreeBSD.org>

Follow changes in the pwmc(4) driver in relation to device filenames.

The driver now names its cdev nodes pwmcX.Y where X is unit number and
Y is the channel within that unit. Change the default device name from
pwmc0 to pwmc0.0. The driver now puts cdev files and label aliases in
the /dev/pwm directory, so allow the user to provide unqualified names
with -f and automatically prepend the /dev/pwm part for them.

Update the examples in the manpage to show the new device name format
and location within /dev/pwm.


# 6cdbe2bf 15-Jun-2019 Ian Lepore <ian@FreeBSD.org>

Make pwm channel numbers unsigned.


# 71fb3739 15-Jun-2019 Ian Lepore <ian@FreeBSD.org>

Move/rename the sys/pwm.h header file to dev/pwm/pwmc.h. The file contains
ioctl definitions and related datatypes that allow userland control of pwm
hardware via the pwmc device. The new name and location better reflects its
assocation with a single device driver.


# 50a123aa 14-Dec-2018 Emmanuel Vadot <manu@FreeBSD.org>

pwm(8): Add percentage value support for duty cycle


# 6a9997ed 14-Dec-2018 Emmanuel Vadot <manu@FreeBSD.org>

pwm: Convert period and duty to unsigned int

We don't need a 64 bits value to store nanoseconds

Discused with: ian, jhibbits


# d9848bd2 12-Dec-2018 Emmanuel Vadot <manu@FreeBSD.org>

pwm: Fix some arches by using %ju and casting to uintmax_t

Reported by: ci.freebsd.org


# 9312900f 12-Dec-2018 Emmanuel Vadot <manu@FreeBSD.org>

Add a pwm subsystem so we can configure pwm controller from kernel and userland.

The pwm subsystem consist of API for PWM controllers, pwmbus to register them
and a pwm(8) utility to talk to them from userland.

Reviewed by: oshgobo (capsicum), bcr (manpage), 0mp (manpage)
Differential Revision: https://reviews.freebsd.org/D17938