History log of /freebsd/sys/dev/pwm/pwmbus.c (Results 1 – 22 of 22)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# cf416f56 02-Jan-2025 John Baldwin <jhb@FreeBSD.org>

Use the new bus_generic_detach directly in place of home-grown versions

Differential Revision: https://reviews.freebsd.org/D47960


# 18250ec6 06-Dec-2024 John Baldwin <jhb@FreeBSD.org>

Replace calls to bus_generic_attach with bus_attach_children

Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D47675


# 723da5d9 06-Dec-2024 John Baldwin <jhb@FreeBSD.org>

Replace calls to bus_generic_probe with bus_identify_children

Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D47674


Revision tags: release/14.2.0, release/13.4.0, release/14.1.0, release/13.3.0, release/14.0.0
# 685dc743 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

sys: Remove $FreeBSD$: one-line .c pattern

Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\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

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

show more ...


Revision tags: release/13.2.0, release/12.4.0, release/13.1.0
# 024d9473 09-May-2022 John Baldwin <jhb@FreeBSD.org>

pwm: Remove unused devclass arguments to DRIVER_MODULE.


Revision tags: release/12.3.0
# ddfc9c4c 23-Jun-2021 Warner Losh <imp@FreeBSD.org>

newbus: Move from bus_child_{pnpinfo,location}_src to bus_child_{pnpinfo,location} with sbuf

Now that the upper layers all go through a layer to tie into these
information functions that translates

newbus: Move from bus_child_{pnpinfo,location}_src to bus_child_{pnpinfo,location} with sbuf

Now that the upper layers all go through a layer to tie into these
information functions that translates an sbuf into char * and len. The
current interface suffers issues of what to do in cases of truncation,
etc. Instead, migrate all these functions to using struct sbuf and these
issues go away. The caller is also in charge of any memory allocation
and/or expansion that's needed during this process.

Create a bus_generic_child_{pnpinfo,location} and make it default. It
just returns success. This is for those busses that have no information
for these items. Migrate the now-empty routines to using this as
appropriate.

Document these new interfaces with man pages, and oversight from before.

Reviewed by: jhb, bcr
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D29937

show more ...


Revision tags: release/13.0.0, release/12.2.0, release/11.4.0
# 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.


Revision tags: release/12.1.0, release/11.3.0
# e532a999 20-Jun-2019 Alan Somers <asomers@FreeBSD.org>

MFHead @349234

Sponsored by: The FreeBSD Foundation


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

Add ofw_pwmbus to enumerate pwmbus devices on systems configured with fdt
data. Also, add fdt support to pwmc.


# 0af7a9a4 16-Jun-2019 Ian Lepore <ian@FreeBSD.org>

Rework pwmbus and pwmc so that each child will handle a single PWM channel.

Previously, there was a pwmc instance for each instance of pwm hardware
regardless of how many pwm channels that hardware

Rework pwmbus and pwmc so that each child will handle a single PWM channel.

Previously, there was a pwmc instance for each instance of pwm hardware
regardless of how many pwm channels that hardware supported. Now there
will be a pwmc instance for each channel when the hardware supports
multiple channels. With a separate instance for each channel, we can have
"named channels" in userland by making devfs alias entries in /dev/pwm.

These changes add support for ivars to pwmbus, and use an ivar to track the
channel number for each child. It also adds support for hinted children.

In pwmc, the driver checks for a label hint, and if present, it's used to
create an alias for the cdev in /dev/pwm. It's not anticipated that hints
will be heavily used, but it's easy to do and allows quick ad-hoc creation
of named channels from userland by using kenv to create hint.pwmc.N.label=
hints. Upcoming changes will add FDT support, and most labels will
probably be specified that way.

show more ...


# b9353973 16-Jun-2019 Ian Lepore <ian@FreeBSD.org>

Rename pwmbus.h to ofw_pwm.h, because after all the recent changes, there
is nothing left in the file that related to pwmbus at all. It just contains
prototypes for the functions implemented in dev/

Rename pwmbus.h to ofw_pwm.h, because after all the recent changes, there
is nothing left in the file that related to pwmbus at all. It just contains
prototypes for the functions implemented in dev/pwm.ofw_pwm.c, so name it
accordingly and fix the include protect wrappers to match.

A new pwmbus.h will be coming along in a future commit.

show more ...


# e3384e8c 16-Jun-2019 Ian Lepore <ian@FreeBSD.org>

This code no longer uses fdt/ofw stuff, no need to include ofw headers.


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

Make pwm channel numbers unsigned.


# f8f8d87c 16-Jun-2019 Ian Lepore <ian@FreeBSD.org>

Restructure the pwm device hirearchy and interfaces.

The pwm and pwmbus interfaces were nearly identical, this merges them into a
single pwmbus interface. The pwmbus driver now implements the pwmbu

Restructure the pwm device hirearchy and interfaces.

The pwm and pwmbus interfaces were nearly identical, this merges them into a
single pwmbus interface. The pwmbus driver now implements the pwmbus
interface by simply passing all calls through to its parent (the hardware
driver). The channel_count method moves from pwm to pwmbus, and the
get_bus method is deleted (just no longer needed).

The net effect is that the interface for doing pwm stuff is now the same
regardless of whether you're a child of pwmbus, or some random driver
elsewhere in the hierarchy that is bypassing the pwmbus layer and is talking
directly to the hardware driver via cross-hierarchy connections established
using fdt data.

The pwmc driver is now a child of pwmbus, instead of being its sibling
(that's why the get_bus method is no longer needed; pwmc now gets the
device_t of the bus using device_get_parent()).

show more ...


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

Rename the channel_max method to channel_count, because that's what it's
returning. (If the channel count is 2, then the max channel number is 1.)


# 59d8a61c 15-Jun-2019 Ian Lepore <ian@FreeBSD.org>

Spell unsigned int as u_int and channel as chan; eliminates the need to wrap
some long lines.


# 968e5efc 15-Jun-2019 Ian Lepore <ian@FreeBSD.org>

Make pwmbus driver and devclass vars static; they're not mentioned in any
header file, so they can't be used outside this file anyway.


# 1e76aee8 15-Jun-2019 Ian Lepore <ian@FreeBSD.org>

Use device_delete_children() instead of a locally-rolled copy of it that
leaks the device-list memory.


# 3cee44bc 15-Jun-2019 Ian Lepore <ian@FreeBSD.org>

Remove pwmbus_attach_bus(), it no longer has any callers. Also remove a
couple prototypes for functions that never existed (and never will).


# 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


# 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 fr

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

show more ...